From fd6c388a35ca4036ada46ceb39870571290d1620 Mon Sep 17 00:00:00 2001 From: thisconnect Date: Sun, 31 Dec 2023 09:58:46 +0100 Subject: [PATCH 01/11] frontend: do not print node and npm version This was useful for debugging, but is not needed anymore. --- Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Makefile b/Makefile index aed66df7e6..ad4cb21f89 100644 --- a/Makefile +++ b/Makefile @@ -48,8 +48,6 @@ servewallet-prodservers: servewallet-mainnet-prodservers: go run -mod=vendor ./cmd/servewallet -mainnet -devservers=false buildweb: - node --version - npm --version rm -rf ${WEBROOT}/build cd ${WEBROOT} && npm ci cd ${WEBROOT} && npm run build From ab476af993d96df3c5148e9da4de3893829f0025 Mon Sep 17 00:00:00 2001 From: thisconnect Date: Sun, 31 Dec 2023 10:01:02 +0100 Subject: [PATCH 02/11] frontend: temp unignore frontend build files (js css only) This commit temporarly adds frontend/web/build files to git, this way we can inspect the different results. --- frontends/web/.gitignore | 4 +- frontends/web/build/assets/index-b913d093.js | 1345 +++++++++++++++++ frontends/web/build/assets/index-d1f7113c.css | 1 + .../web/build/assets/index.es-439fa429.js | 1 + .../web/build/assets/index.es-df41910f.js | 13 + .../assets/qr-scanner-worker.min-5f44a019.js | 98 ++ frontends/web/build/index.html | 15 + 7 files changed, 1476 insertions(+), 1 deletion(-) create mode 100644 frontends/web/build/assets/index-b913d093.js create mode 100644 frontends/web/build/assets/index-d1f7113c.css create mode 100644 frontends/web/build/assets/index.es-439fa429.js create mode 100644 frontends/web/build/assets/index.es-df41910f.js create mode 100644 frontends/web/build/assets/qr-scanner-worker.min-5f44a019.js create mode 100644 frontends/web/build/index.html diff --git a/frontends/web/.gitignore b/frontends/web/.gitignore index 5f7a7e1c5d..121df11bef 100644 --- a/frontends/web/.gitignore +++ b/frontends/web/.gitignore @@ -1,5 +1,7 @@ /.eslintcache -/build/ +/build/**/*.svg +/build/**/*.png +/build/**/*.webm /coverage/ /node_modules/ **/*/output.log diff --git a/frontends/web/build/assets/index-b913d093.js b/frontends/web/build/assets/index-b913d093.js new file mode 100644 index 0000000000..a74a1f978c --- /dev/null +++ b/frontends/web/build/assets/index-b913d093.js @@ -0,0 +1,1345 @@ +var MS=Object.defineProperty;var OS=(t,e,n)=>e in t?MS(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var M=(t,e,n)=>(OS(t,typeof e!="symbol"?e+"":e,n),n);function RS(t,e){for(var n=0;na[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var zwe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function FS(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function $y(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function a(){return this instanceof a?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(a){var i=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,i.get?i:{enumerable:!0,get:function(){return t[a]}})}),n}var My={exports:{}},rd={},Oy={exports:{}},fe={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Sl=Symbol.for("react.element"),VS=Symbol.for("react.portal"),WS=Symbol.for("react.fragment"),US=Symbol.for("react.strict_mode"),qS=Symbol.for("react.profiler"),HS=Symbol.for("react.provider"),KS=Symbol.for("react.context"),GS=Symbol.for("react.forward_ref"),QS=Symbol.for("react.suspense"),YS=Symbol.for("react.memo"),ZS=Symbol.for("react.lazy"),gv=Symbol.iterator;function JS(t){return t===null||typeof t!="object"?null:(t=gv&&t[gv]||t["@@iterator"],typeof t=="function"?t:null)}var Ry={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Fy=Object.assign,Vy={};function Yr(t,e,n){this.props=t,this.context=e,this.refs=Vy,this.updater=n||Ry}Yr.prototype.isReactComponent={};Yr.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Yr.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Wy(){}Wy.prototype=Yr.prototype;function ff(t,e,n){this.props=t,this.context=e,this.refs=Vy,this.updater=n||Ry}var gf=ff.prototype=new Wy;gf.constructor=ff;Fy(gf,Yr.prototype);gf.isPureReactComponent=!0;var vv=Array.isArray,Uy=Object.prototype.hasOwnProperty,vf={current:null},qy={key:!0,ref:!0,__self:!0,__source:!0};function Hy(t,e,n){var a,i={},o=null,s=null;if(e!=null)for(a in e.ref!==void 0&&(s=e.ref),e.key!==void 0&&(o=""+e.key),e)Uy.call(e,a)&&!qy.hasOwnProperty(a)&&(i[a]=e[a]);var l=arguments.length-2;if(l===1)i.children=n;else if(1>>1,K=T[Q];if(0>>1;Qi(ee,N))Xi(oe,ee)?(T[Q]=oe,T[X]=N,Q=X):(T[Q]=ee,T[G]=N,Q=G);else if(Xi(oe,N))T[Q]=oe,T[X]=N,Q=X;else break e}}return F}function i(T,F){var N=T.sortIndex-F.sortIndex;return N!==0?N:T.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,h=3,m=!1,g=!1,v=!1,y=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(T){for(var F=n(u);F!==null;){if(F.callback===null)a(u);else if(F.startTime<=T)a(u),F.sortIndex=F.expirationTime,e(c,F);else break;F=n(u)}}function j(T){if(v=!1,w(T),!g)if(n(c)!==null)g=!0,U(z);else{var F=n(u);F!==null&&$(j,F.startTime-T)}}function z(T,F){g=!1,v&&(v=!1,b(B),B=-1),m=!0;var N=h;try{for(w(F),p=n(c);p!==null&&(!(p.expirationTime>F)||T&&!P());){var Q=p.callback;if(typeof Q=="function"){p.callback=null,h=p.priorityLevel;var K=Q(p.expirationTime<=F);F=t.unstable_now(),typeof K=="function"?p.callback=K:p===n(c)&&a(c),w(F)}else a(c);p=n(c)}if(p!==null)var V=!0;else{var G=n(u);G!==null&&$(j,G.startTime-F),V=!1}return V}finally{p=null,h=N,m=!1}}var S=!1,f=null,B=-1,D=5,C=-1;function P(){return!(t.unstable_now()-CT||125Q?(T.sortIndex=N,e(u,T),n(c)===null&&T===n(u)&&(v?(b(B),B=-1):v=!0,$(j,N-Q))):(T.sortIndex=K,e(c,T),g||m||(g=!0,U(z))),T},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(T){var F=h;return function(){var N=h;h=F;try{return T.apply(this,arguments)}finally{h=N}}}})(Yy);Qy.exports=Yy;var cz=Qy.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Zy=x,zn=cz;function R(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Mh=Object.prototype.hasOwnProperty,uz=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,kv={},xv={};function dz(t){return Mh.call(xv,t)?!0:Mh.call(kv,t)?!1:uz.test(t)?xv[t]=!0:(kv[t]=!0,!1)}function pz(t,e,n,a){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function hz(t,e,n,a){if(e===null||typeof e>"u"||pz(t,e,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function sn(t,e,n,a,i,o,s){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=a,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=o,this.removeEmptyString=s}var jt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){jt[t]=new sn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];jt[e]=new sn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){jt[t]=new sn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){jt[t]=new sn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){jt[t]=new sn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){jt[t]=new sn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){jt[t]=new sn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){jt[t]=new sn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){jt[t]=new sn(t,5,!1,t.toLowerCase(),null,!1,!1)});var kf=/[\-:]([a-z])/g;function xf(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(kf,xf);jt[e]=new sn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(kf,xf);jt[e]=new sn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(kf,xf);jt[e]=new sn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){jt[t]=new sn(t,1,!1,t.toLowerCase(),null,!1,!1)});jt.xlinkHref=new sn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){jt[t]=new sn(t,1,!1,t.toLowerCase(),null,!0,!0)});function yf(t,e,n,a){var i=jt.hasOwnProperty(e)?jt[e]:null;(i!==null?i.type!==0:a||!(2l||i[s]!==o[l]){var c=` +`+i[s].replace(" at new "," at ");return t.displayName&&c.includes("")&&(c=c.replace("",t.displayName)),c}while(1<=s&&0<=l);break}}}finally{kp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Ds(t):""}function mz(t){switch(t.tag){case 5:return Ds(t.type);case 16:return Ds("Lazy");case 13:return Ds("Suspense");case 19:return Ds("SuspenseList");case 0:case 2:case 15:return t=xp(t.type,!1),t;case 11:return t=xp(t.type.render,!1),t;case 1:return t=xp(t.type,!0),t;default:return""}}function Vh(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case hr:return"Fragment";case pr:return"Portal";case Oh:return"Profiler";case wf:return"StrictMode";case Rh:return"Suspense";case Fh:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case ew:return(t.displayName||"Context")+".Consumer";case Xy:return(t._context.displayName||"Context")+".Provider";case jf:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Bf:return e=t.displayName||null,e!==null?e:Vh(t.type)||"Memo";case _i:e=t._payload,t=t._init;try{return Vh(t(e))}catch{}}return null}function fz(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Vh(e);case 8:return e===wf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Yi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function nw(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function gz(t){var e=nw(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),a=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(s){a=""+s,o.call(this,s)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(s){a=""+s},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Yl(t){t._valueTracker||(t._valueTracker=gz(t))}function aw(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),a="";return t&&(a=nw(t)?t.checked?"true":"false":t.value),t=a,t!==n?(e.setValue(t),!0):!1}function du(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Wh(t,e){var n=e.checked;return Ue({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function wv(t,e){var n=e.defaultValue==null?"":e.defaultValue,a=e.checked!=null?e.checked:e.defaultChecked;n=Yi(e.value!=null?e.value:n),t._wrapperState={initialChecked:a,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function iw(t,e){e=e.checked,e!=null&&yf(t,"checked",e,!1)}function Uh(t,e){iw(t,e);var n=Yi(e.value),a=e.type;if(n!=null)a==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(a==="submit"||a==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?qh(t,e.type,n):e.hasOwnProperty("defaultValue")&&qh(t,e.type,Yi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function jv(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var a=e.type;if(!(a!=="submit"&&a!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function qh(t,e,n){(e!=="number"||du(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var As=Array.isArray;function zr(t,e,n,a){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Zl.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Zs(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Ls={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},vz=["Webkit","ms","Moz","O"];Object.keys(Ls).forEach(function(t){vz.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Ls[e]=Ls[t]})});function lw(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Ls.hasOwnProperty(t)&&Ls[t]?(""+e).trim():e+"px"}function cw(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var a=n.indexOf("--")===0,i=lw(n,e[n],a);n==="float"&&(n="cssFloat"),a?t.setProperty(n,i):t[n]=i}}var bz=Ue({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Gh(t,e){if(e){if(bz[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(R(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(R(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(R(61))}if(e.style!=null&&typeof e.style!="object")throw Error(R(62))}}function Qh(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Yh=null;function Sf(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Zh=null,Cr=null,Dr=null;function zv(t){if(t=Dl(t)){if(typeof Zh!="function")throw Error(R(280));var e=t.stateNode;e&&(e=dd(e),Zh(t.stateNode,t.type,e))}}function uw(t){Cr?Dr?Dr.push(t):Dr=[t]:Cr=t}function dw(){if(Cr){var t=Cr,e=Dr;if(Dr=Cr=null,zv(t),e)for(t=0;t>>=0,t===0?32:31-(Az(t)/_z|0)|0}var Jl=64,Xl=4194304;function _s(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function fu(t,e){var n=t.pendingLanes;if(n===0)return 0;var a=0,i=t.suspendedLanes,o=t.pingedLanes,s=n&268435455;if(s!==0){var l=s&~i;l!==0?a=_s(l):(o&=s,o!==0&&(a=_s(o)))}else s=n&~i,s!==0?a=_s(s):o!==0&&(a=_s(o));if(a===0)return 0;if(e!==0&&e!==a&&!(e&i)&&(i=a&-a,o=e&-e,i>=o||i===16&&(o&4194240)!==0))return e;if(a&4&&(a|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=a;0n;n++)e.push(t);return e}function zl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-la(e),t[e]=n}function Nz(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var a=t.eventTimes;for(t=t.expirationTimes;0=$s),Lv=String.fromCharCode(32),Iv=!1;function Tw(t,e){switch(t){case"keyup":return l2.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ew(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var mr=!1;function u2(t,e){switch(t){case"compositionend":return Ew(e);case"keypress":return e.which!==32?null:(Iv=!0,Lv);case"textInput":return t=e.data,t===Lv&&Iv?null:t;default:return null}}function d2(t,e){if(mr)return t==="compositionend"||!Pf&&Tw(t,e)?(t=Aw(),Uc=_f=Li=null,mr=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Rv(n)}}function Iw(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Iw(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function $w(){for(var t=window,e=du();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=du(t.document)}return e}function Nf(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function x2(t){var e=$w(),n=t.focusedElem,a=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&Iw(n.ownerDocument.documentElement,n)){if(a!==null&&Nf(n)){if(e=a.start,t=a.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,o=Math.min(a.start,i);a=a.end===void 0?o:Math.min(a.end,i),!t.extend&&o>a&&(i=a,a=o,o=i),i=Fv(n,o);var s=Fv(n,a);i&&s&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==s.node||t.focusOffset!==s.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),o>a?(t.addRange(e),t.extend(s.node,s.offset)):(e.setEnd(s.node,s.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,fr=null,am=null,Os=null,im=!1;function Vv(t,e,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;im||fr==null||fr!==du(a)||(a=fr,"selectionStart"in a&&Nf(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Os&&al(Os,a)||(Os=a,a=bu(am,"onSelect"),0br||(t.current=um[br],um[br]=null,br--)}function Ee(t,e){br++,um[br]=t.current,t.current=e}var Zi={},Qt=ao(Zi),hn=ao(!1),No=Zi;function Mr(t,e){var n=t.type.contextTypes;if(!n)return Zi;var a=t.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===e)return a.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=e[o];return a&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function mn(t){return t=t.childContextTypes,t!=null}function xu(){Le(hn),Le(Qt)}function Qv(t,e,n){if(Qt.current!==Zi)throw Error(R(168));Ee(Qt,e),Ee(hn,n)}function Hw(t,e,n){var a=t.stateNode;if(e=e.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var i in a)if(!(i in e))throw Error(R(108,fz(t)||"Unknown",i));return Ue({},n,a)}function yu(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Zi,No=Qt.current,Ee(Qt,t),Ee(hn,hn.current),!0}function Yv(t,e,n){var a=t.stateNode;if(!a)throw Error(R(169));n?(t=Hw(t,e,No),a.__reactInternalMemoizedMergedChildContext=t,Le(hn),Le(Qt),Ee(Qt,t)):Le(hn),Ee(hn,n)}var Ha=null,pd=!1,Np=!1;function Kw(t){Ha===null?Ha=[t]:Ha.push(t)}function E2(t){pd=!0,Kw(t)}function io(){if(!Np&&Ha!==null){Np=!0;var t=0,e=Ce;try{var n=Ha;for(Ce=1;t>=s,i-=s,Ga=1<<32-la(e)+i|n<B?(D=f,f=null):D=f.sibling;var C=h(b,f,w[B],j);if(C===null){f===null&&(f=D);break}t&&f&&C.alternate===null&&e(b,f),k=o(C,k,B),S===null?z=C:S.sibling=C,S=C,f=D}if(B===w.length)return n(b,f),$e&&ko(b,B),z;if(f===null){for(;BB?(D=f,f=null):D=f.sibling;var P=h(b,f,C.value,j);if(P===null){f===null&&(f=D);break}t&&f&&P.alternate===null&&e(b,f),k=o(P,k,B),S===null?z=P:S.sibling=P,S=P,f=D}if(C.done)return n(b,f),$e&&ko(b,B),z;if(f===null){for(;!C.done;B++,C=w.next())C=p(b,C.value,j),C!==null&&(k=o(C,k,B),S===null?z=C:S.sibling=C,S=C);return $e&&ko(b,B),z}for(f=a(b,f);!C.done;B++,C=w.next())C=m(f,b,B,C.value,j),C!==null&&(t&&C.alternate!==null&&f.delete(C.key===null?B:C.key),k=o(C,k,B),S===null?z=C:S.sibling=C,S=C);return t&&f.forEach(function(I){return e(b,I)}),$e&&ko(b,B),z}function y(b,k,w,j){if(typeof w=="object"&&w!==null&&w.type===hr&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Ql:e:{for(var z=w.key,S=k;S!==null;){if(S.key===z){if(z=w.type,z===hr){if(S.tag===7){n(b,S.sibling),k=i(S,w.props.children),k.return=b,b=k;break e}}else if(S.elementType===z||typeof z=="object"&&z!==null&&z.$$typeof===_i&&ab(z)===S.type){n(b,S.sibling),k=i(S,w.props),k.ref=hs(b,S,w),k.return=b,b=k;break e}n(b,S);break}else e(b,S);S=S.sibling}w.type===hr?(k=Ao(w.props.children,b.mode,j,w.key),k.return=b,b=k):(j=Jc(w.type,w.key,w.props,null,b.mode,j),j.ref=hs(b,k,w),j.return=b,b=j)}return s(b);case pr:e:{for(S=w.key;k!==null;){if(k.key===S)if(k.tag===4&&k.stateNode.containerInfo===w.containerInfo&&k.stateNode.implementation===w.implementation){n(b,k.sibling),k=i(k,w.children||[]),k.return=b,b=k;break e}else{n(b,k);break}else e(b,k);k=k.sibling}k=Vp(w,b.mode,j),k.return=b,b=k}return s(b);case _i:return S=w._init,y(b,k,S(w._payload),j)}if(As(w))return g(b,k,w,j);if(ls(w))return v(b,k,w,j);rc(b,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,k!==null&&k.tag===6?(n(b,k.sibling),k=i(k,w),k.return=b,b=k):(n(b,k),k=Fp(w,b.mode,j),k.return=b,b=k),s(b)):n(b,k)}return y}var Rr=t0(!0),n0=t0(!1),Al={},Pa=ao(Al),sl=ao(Al),ll=ao(Al);function Bo(t){if(t===Al)throw Error(R(174));return t}function Wf(t,e){switch(Ee(ll,e),Ee(sl,t),Ee(Pa,Al),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Kh(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Kh(e,t)}Le(Pa),Ee(Pa,e)}function Fr(){Le(Pa),Le(sl),Le(ll)}function a0(t){Bo(ll.current);var e=Bo(Pa.current),n=Kh(e,t.type);e!==n&&(Ee(sl,t),Ee(Pa,n))}function Uf(t){sl.current===t&&(Le(Pa),Le(sl))}var Re=ao(0);function Cu(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Lp=[];function qf(){for(var t=0;tn?n:4,t(!0);var a=Ip.transition;Ip.transition={};try{t(!1),e()}finally{Ce=n,Ip.transition=a}}function k0(){return Vn().memoizedState}function I2(t,e,n){var a=Hi(t);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},x0(t))y0(e,n);else if(n=Zw(t,e,n,a),n!==null){var i=tn();ca(n,t,a,i),w0(n,e,a)}}function $2(t,e,n){var a=Hi(t),i={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(x0(t))y0(e,i);else{var o=t.alternate;if(t.lanes===0&&(o===null||o.lanes===0)&&(o=e.lastRenderedReducer,o!==null))try{var s=e.lastRenderedState,l=o(s,n);if(i.hasEagerState=!0,i.eagerState=l,pa(l,s)){var c=e.interleaved;c===null?(i.next=i,Ff(e)):(i.next=c.next,c.next=i),e.interleaved=i;return}}catch{}finally{}n=Zw(t,e,i,a),n!==null&&(i=tn(),ca(n,t,a,i),w0(n,e,a))}}function x0(t){var e=t.alternate;return t===We||e!==null&&e===We}function y0(t,e){Rs=Du=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function w0(t,e,n){if(n&4194240){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,Cf(t,n)}}var Au={readContext:Fn,useCallback:Vt,useContext:Vt,useEffect:Vt,useImperativeHandle:Vt,useInsertionEffect:Vt,useLayoutEffect:Vt,useMemo:Vt,useReducer:Vt,useRef:Vt,useState:Vt,useDebugValue:Vt,useDeferredValue:Vt,useTransition:Vt,useMutableSource:Vt,useSyncExternalStore:Vt,useId:Vt,unstable_isNewReconciler:!1},M2={readContext:Fn,useCallback:function(t,e){return Ba().memoizedState=[t,e===void 0?null:e],t},useContext:Fn,useEffect:ob,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Gc(4194308,4,m0.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Gc(4194308,4,t,e)},useInsertionEffect:function(t,e){return Gc(4,2,t,e)},useMemo:function(t,e){var n=Ba();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var a=Ba();return e=n!==void 0?n(e):e,a.memoizedState=a.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},a.queue=t,t=t.dispatch=I2.bind(null,We,t),[a.memoizedState,t]},useRef:function(t){var e=Ba();return t={current:t},e.memoizedState=t},useState:ib,useDebugValue:Yf,useDeferredValue:function(t){return Ba().memoizedState=t},useTransition:function(){var t=ib(!1),e=t[0];return t=L2.bind(null,t[1]),Ba().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var a=We,i=Ba();if($e){if(n===void 0)throw Error(R(407));n=n()}else{if(n=e(),ut===null)throw Error(R(349));Io&30||r0(a,e,n)}i.memoizedState=n;var o={value:n,getSnapshot:e};return i.queue=o,ob(l0.bind(null,a,o,t),[t]),a.flags|=2048,dl(9,s0.bind(null,a,o,n,e),void 0,null),n},useId:function(){var t=Ba(),e=ut.identifierPrefix;if($e){var n=Qa,a=Ga;n=(a&~(1<<32-la(a)-1)).toString(32)+n,e=":"+e+"R"+n,n=cl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof a.is=="string"?t=s.createElement(n,{is:a.is}):(t=s.createElement(n),n==="select"&&(s=t,a.multiple?s.multiple=!0:a.size&&(s.size=a.size))):t=s.createElementNS(t,n),t[Da]=e,t[rl]=a,T0(t,e,!1,!1),e.stateNode=t;e:{switch(s=Qh(n,a),n){case"dialog":Pe("cancel",t),Pe("close",t),i=a;break;case"iframe":case"object":case"embed":Pe("load",t),i=a;break;case"video":case"audio":for(i=0;iWr&&(e.flags|=128,a=!0,ms(o,!1),e.lanes=4194304)}else{if(!a)if(t=Cu(s),t!==null){if(e.flags|=128,a=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),ms(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!$e)return Wt(e),null}else 2*Xe()-o.renderingStartTime>Wr&&n!==1073741824&&(e.flags|=128,a=!0,ms(o,!1),e.lanes=4194304);o.isBackwards?(s.sibling=e.child,e.child=s):(n=o.last,n!==null?n.sibling=s:e.child=s,o.last=s)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=Xe(),e.sibling=null,n=Re.current,Ee(Re,a?n&1|2:n&1),e):(Wt(e),null);case 22:case 23:return ng(),a=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==a&&(e.flags|=8192),a&&e.mode&1?yn&1073741824&&(Wt(e),e.subtreeFlags&6&&(e.flags|=8192)):Wt(e),null;case 24:return null;case 25:return null}throw Error(R(156,e.tag))}function H2(t,e){switch(If(e),e.tag){case 1:return mn(e.type)&&xu(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fr(),Le(hn),Le(Qt),qf(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Uf(e),null;case 13:if(Le(Re),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(R(340));Or()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Le(Re),null;case 4:return Fr(),null;case 10:return Rf(e.type._context),null;case 22:case 23:return ng(),null;case 24:return null;default:return null}}var lc=!1,Gt=!1,K2=typeof WeakSet=="function"?WeakSet:Set,Y=null;function wr(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){Ge(t,e,a)}else n.current=null}function wm(t,e,n){try{n()}catch(a){Ge(t,e,a)}}var mb=!1;function G2(t,e){if(om=gu,t=$w(),Nf(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var i=a.anchorOffset,o=a.focusNode;a=a.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=t,h=null;t:for(;;){for(var m;p!==n||i!==0&&p.nodeType!==3||(l=s+i),p!==o||a!==0&&p.nodeType!==3||(c=s+a),p.nodeType===3&&(s+=p.nodeValue.length),(m=p.firstChild)!==null;)h=p,p=m;for(;;){if(p===t)break t;if(h===n&&++u===i&&(l=s),h===o&&++d===a&&(c=s),(m=p.nextSibling)!==null)break;p=h,h=p.parentNode}p=m}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(rm={focusedElem:t,selectionRange:n},gu=!1,Y=e;Y!==null;)if(e=Y,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Y=t;else for(;Y!==null;){e=Y;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var v=g.memoizedProps,y=g.memoizedState,b=e.stateNode,k=b.getSnapshotBeforeUpdate(e.elementType===e.type?v:ea(e.type,v),y);b.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var w=e.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(R(163))}}catch(j){Ge(e,e.return,j)}if(t=e.sibling,t!==null){t.return=e.return,Y=t;break}Y=e.return}return g=mb,mb=!1,g}function Fs(t,e,n){var a=e.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var i=a=a.next;do{if((i.tag&t)===t){var o=i.destroy;i.destroy=void 0,o!==void 0&&wm(e,n,o)}i=i.next}while(i!==a)}}function fd(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var a=n.create;n.destroy=a()}n=n.next}while(n!==e)}}function jm(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function N0(t){var e=t.alternate;e!==null&&(t.alternate=null,N0(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Da],delete e[rl],delete e[cm],delete e[_2],delete e[T2])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function L0(t){return t.tag===5||t.tag===3||t.tag===4}function fb(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||L0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Bm(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=ku));else if(a!==4&&(t=t.child,t!==null))for(Bm(t,e,n),t=t.sibling;t!==null;)Bm(t,e,n),t=t.sibling}function Sm(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(a!==4&&(t=t.child,t!==null))for(Sm(t,e,n),t=t.sibling;t!==null;)Sm(t,e,n),t=t.sibling}var gt=null,aa=!1;function ki(t,e,n){for(n=n.child;n!==null;)I0(t,e,n),n=n.sibling}function I0(t,e,n){if(Ea&&typeof Ea.onCommitFiberUnmount=="function")try{Ea.onCommitFiberUnmount(sd,n)}catch{}switch(n.tag){case 5:Gt||wr(n,e);case 6:var a=gt,i=aa;gt=null,ki(t,e,n),gt=a,aa=i,gt!==null&&(aa?(t=gt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):gt.removeChild(n.stateNode));break;case 18:gt!==null&&(aa?(t=gt,n=n.stateNode,t.nodeType===8?Pp(t.parentNode,n):t.nodeType===1&&Pp(t,n),tl(t)):Pp(gt,n.stateNode));break;case 4:a=gt,i=aa,gt=n.stateNode.containerInfo,aa=!0,ki(t,e,n),gt=a,aa=i;break;case 0:case 11:case 14:case 15:if(!Gt&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){i=a=a.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&wm(n,e,s),i=i.next}while(i!==a)}ki(t,e,n);break;case 1:if(!Gt&&(wr(n,e),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(l){Ge(n,e,l)}ki(t,e,n);break;case 21:ki(t,e,n);break;case 22:n.mode&1?(Gt=(a=Gt)||n.memoizedState!==null,ki(t,e,n),Gt=a):ki(t,e,n);break;default:ki(t,e,n)}}function gb(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new K2),e.forEach(function(a){var i=aC.bind(null,t,a);n.has(a)||(n.add(a),a.then(i,i))})}}function Yn(t,e){var n=e.deletions;if(n!==null)for(var a=0;ai&&(i=s),a&=~o}if(a=i,a=Xe()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*Y2(a/1960))-a,10t?16:t,Ii===null)var a=!1;else{if(t=Ii,Ii=null,Eu=0,ke&6)throw Error(R(331));var i=ke;for(ke|=4,Y=t.current;Y!==null;){var o=Y,s=o.child;if(Y.flags&16){var l=o.deletions;if(l!==null){for(var c=0;cXe()-eg?Do(t,0):Xf|=n),fn(t,e)}function U0(t,e){e===0&&(t.mode&1?(e=Xl,Xl<<=1,!(Xl&130023424)&&(Xl=4194304)):e=1);var n=tn();t=ri(t,e),t!==null&&(zl(t,e,n),fn(t,n))}function nC(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),U0(t,n)}function aC(t,e){var n=0;switch(t.tag){case 13:var a=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:a=t.stateNode;break;default:throw Error(R(314))}a!==null&&a.delete(e),U0(t,n)}var q0;q0=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||hn.current)pn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return pn=!1,U2(t,e,n);pn=!!(t.flags&131072)}else pn=!1,$e&&e.flags&1048576&&Gw(e,ju,e.index);switch(e.lanes=0,e.tag){case 2:var a=e.type;Qc(t,e),t=e.pendingProps;var i=Mr(e,Qt.current);_r(e,n),i=Kf(null,e,a,t,i,n);var o=Gf();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,mn(a)?(o=!0,yu(e)):o=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Vf(e),i.updater=hd,e.stateNode=i,i._reactInternals=e,fm(e,a,t,n),e=bm(null,e,a,!0,o,n)):(e.tag=0,$e&&o&&Lf(e),Xt(null,e,i,n),e=e.child),e;case 16:a=e.elementType;e:{switch(Qc(t,e),t=e.pendingProps,i=a._init,a=i(a._payload),e.type=a,i=e.tag=oC(a),t=ea(a,t),i){case 0:e=vm(null,e,a,t,n);break e;case 1:e=db(null,e,a,t,n);break e;case 11:e=cb(null,e,a,t,n);break e;case 14:e=ub(null,e,a,ea(a.type,t),n);break e}throw Error(R(306,a,""))}return e;case 0:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),vm(t,e,a,i,n);case 1:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),db(t,e,a,i,n);case 3:e:{if(D0(e),t===null)throw Error(R(387));a=e.pendingProps,o=e.memoizedState,i=o.element,Jw(t,e),zu(e,a,null,n);var s=e.memoizedState;if(a=s.element,o.isDehydrated)if(o={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},e.updateQueue.baseState=o,e.memoizedState=o,e.flags&256){i=Vr(Error(R(423)),e),e=pb(t,e,a,n,i);break e}else if(a!==i){i=Vr(Error(R(424)),e),e=pb(t,e,a,n,i);break e}else for(wn=Wi(e.stateNode.containerInfo.firstChild),Bn=e,$e=!0,ra=null,n=n0(e,null,a,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Or(),a===i){e=si(t,e,n);break e}Xt(t,e,a,n)}e=e.child}return e;case 5:return a0(e),t===null&&pm(e),a=e.type,i=e.pendingProps,o=t!==null?t.memoizedProps:null,s=i.children,sm(a,i)?s=null:o!==null&&sm(a,o)&&(e.flags|=32),C0(t,e),Xt(t,e,s,n),e.child;case 6:return t===null&&pm(e),null;case 13:return A0(t,e,n);case 4:return Wf(e,e.stateNode.containerInfo),a=e.pendingProps,t===null?e.child=Rr(e,null,a,n):Xt(t,e,a,n),e.child;case 11:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),cb(t,e,a,i,n);case 7:return Xt(t,e,e.pendingProps,n),e.child;case 8:return Xt(t,e,e.pendingProps.children,n),e.child;case 12:return Xt(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(a=e.type._context,i=e.pendingProps,o=e.memoizedProps,s=i.value,Ee(Bu,a._currentValue),a._currentValue=s,o!==null)if(pa(o.value,s)){if(o.children===i.children&&!hn.current){e=si(t,e,n);break e}}else for(o=e.child,o!==null&&(o.return=e);o!==null;){var l=o.dependencies;if(l!==null){s=o.child;for(var c=l.firstContext;c!==null;){if(c.context===a){if(o.tag===1){c=ni(-1,n&-n),c.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),hm(o.return,n,e),l.lanes|=n;break}c=c.next}}else if(o.tag===10)s=o.type===e.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(R(341));s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),hm(s,n,e),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===e){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Xt(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,a=e.pendingProps.children,_r(e,n),i=Fn(i),a=a(i),e.flags|=1,Xt(t,e,a,n),e.child;case 14:return a=e.type,i=ea(a,e.pendingProps),i=ea(a.type,i),ub(t,e,a,i,n);case 15:return S0(t,e,e.type,e.pendingProps,n);case 17:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),Qc(t,e),e.tag=1,mn(a)?(t=!0,yu(e)):t=!1,_r(e,n),e0(e,a,i),fm(e,a,i,n),bm(null,e,a,!0,t,n);case 19:return _0(t,e,n);case 22:return z0(t,e,n)}throw Error(R(156,e.tag))};function H0(t,e){return bw(t,e)}function iC(t,e,n,a){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $n(t,e,n,a){return new iC(t,e,n,a)}function ig(t){return t=t.prototype,!(!t||!t.isReactComponent)}function oC(t){if(typeof t=="function")return ig(t)?1:0;if(t!=null){if(t=t.$$typeof,t===jf)return 11;if(t===Bf)return 14}return 2}function Ki(t,e){var n=t.alternate;return n===null?(n=$n(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function Jc(t,e,n,a,i,o){var s=2;if(a=t,typeof t=="function")ig(t)&&(s=1);else if(typeof t=="string")s=5;else e:switch(t){case hr:return Ao(n.children,i,o,e);case wf:s=8,i|=8;break;case Oh:return t=$n(12,n,e,i|2),t.elementType=Oh,t.lanes=o,t;case Rh:return t=$n(13,n,e,i),t.elementType=Rh,t.lanes=o,t;case Fh:return t=$n(19,n,e,i),t.elementType=Fh,t.lanes=o,t;case tw:return vd(n,i,o,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Xy:s=10;break e;case ew:s=9;break e;case jf:s=11;break e;case Bf:s=14;break e;case _i:s=16,a=null;break e}throw Error(R(130,t==null?t:typeof t,""))}return e=$n(s,n,e,i),e.elementType=t,e.type=a,e.lanes=o,e}function Ao(t,e,n,a){return t=$n(7,t,a,e),t.lanes=n,t}function vd(t,e,n,a){return t=$n(22,t,a,e),t.elementType=tw,t.lanes=n,t.stateNode={isHidden:!1},t}function Fp(t,e,n){return t=$n(6,t,null,e),t.lanes=n,t}function Vp(t,e,n){return e=$n(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function rC(t,e,n,a,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=wp(0),this.expirationTimes=wp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=wp(0),this.identifierPrefix=a,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function og(t,e,n,a,i,o,s,l,c){return t=new rC(t,e,n,l,c),e===1?(e=1,o===!0&&(e|=8)):e=0,o=$n(3,null,null,e),t.current=o,o.stateNode=t,o.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Vf(o),t}function sC(t,e,n){var a=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Y0)}catch(t){console.error(t)}}Y0(),Gy.exports=An;var Z0=Gy.exports,J0,Bb=Z0;J0=Bb.createRoot,Bb.hydrateRoot;function pC(t,e){if(t==null)return{};var n={},a=Object.keys(t),i,o;for(o=0;o=0)&&(n[i]=t[i]);return n}function $a(t,e){if(t==null)return{};var n=pC(t,e),a,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}function Rn(t){"@babel/helpers - typeof";return Rn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rn(t)}function hC(t,e){if(Rn(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var a=n.call(t,e||"default");if(Rn(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function X0(t){var e=hC(t,"string");return Rn(e)=="symbol"?e:String(e)}function en(t,e,n){return e=X0(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function qn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Sb(t,e){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:{},a=e.languages[0],i=e.options?e.options.fallbackLng:!1,o=e.languages[e.languages.length-1];if(a.toLowerCase()==="cimode")return!0;var s=function(c,u){var d=e.services.backendConnector.state["".concat(c,"|").concat(u)];return d===-1||d===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!s(e.isLanguageChangingTo,t)?!1:!!(e.hasResourceBundle(a,t)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||s(a,t)&&(!i||s(o,t)))}function yC(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!e.languages||!e.languages.length)return _m("i18n.languages were undefined or empty",e.languages),!0;var a=e.options.ignoreJSONStructure!==void 0;return a?e.hasLoadedNamespace(t,{precheck:function(o,s){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!s(o.isLanguageChangingTo,t))return!1}}):xC(t,e,n)}function wC(t){return t.displayName||t.name||(typeof t=="string"&&t.length>0?t:"Unknown")}function tj(t){if(Array.isArray(t))return t}function jC(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var a,i,o,s,l=[],c=!0,u=!1;try{if(o=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==e);c=!0);}catch(d){u=!0,i=d}finally{try{if(!c&&n.return!=null&&(s=n.return(),Object(s)!==s))return}finally{if(u)throw i}}return l}}function Tm(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:{},n=e.i18n,a=x.useContext(ej)||{},i=a.i18n,o=a.defaultNS,s=n||i||bC();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new vC),!s){_m("You will need to pass in an i18next instance by using initReactI18next");var l=function(f){return Array.isArray(f)?f[f.length-1]:f},c=[l,{},!1];return c.t=l,c.i18n={},c.ready=!1,c}s.options.react&&s.options.react.wait!==void 0&&_m("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=Wp(Wp(Wp({},gC()),s.options.react),e),d=u.useSuspense,p=u.keyPrefix,h=t||o||s.options&&s.options.defaultNS;h=typeof h=="string"?[h]:h||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(h);var m=(s.isInitialized||s.initializedStoreOnce)&&h.every(function(S){return yC(S,s,u)});function g(){return s.getFixedT(null,u.nsMode==="fallback"?h:h[0],p)}var v=x.useState(g),y=ua(v,2),b=y[0],k=y[1],w=x.useRef(!0);x.useEffect(function(){var S=u.bindI18n,f=u.bindI18nStore;w.current=!0,!m&&!d&&Cb(s,h,function(){w.current&&k(g)});function B(){w.current&&k(g)}return S&&s&&s.on(S,B),f&&s&&s.store.on(f,B),function(){w.current=!1,S&&s&&S.split(" ").forEach(function(D){return s.off(D,B)}),f&&s&&f.split(" ").forEach(function(D){return s.store.off(D,B)})}},[s,h.join()]);var j=x.useRef(!0);x.useEffect(function(){w.current&&!j.current&&k(g),j.current=!1},[s]);var z=[b,s,m];if(z.t=b,z.i18n=s,z.ready=m,m||!m&&!d)return z;throw new Promise(function(S){Cb(s,h,function(){S()})})}var BC=["forwardedRef"];function Ab(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function _b(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{};return function(a){function i(s){var l=s.forwardedRef,c=$a(s,BC),u=A(t,c),d=ua(u,3),p=d[0],h=d[1],m=d[2],g=_b(_b({},c),{},{t:p,i18n:h,tReady:m});return e.withRef&&l?g.ref=l:!e.withRef&&l&&(g.forwardedRef=l),Mn.createElement(a,g)}i.displayName="withI18nextTranslation(".concat(wC(a),")"),i.WrappedComponent=a;var o=function(l,c){return Mn.createElement(i,Object.assign({},l,{forwardedRef:c}))};return e.withRef?Mn.forwardRef(o):i}}function SC(t){var e=t.i18n,n=t.defaultNS,a=t.children,i=x.useMemo(function(){return{i18n:e,defaultNS:n}},[e,n]);return x.createElement(ej.Provider,{value:i},a)}/** + * @remix-run/router v1.0.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function hl(){return hl=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0&&(e.hash=t.substr(n),t=t.substr(0,n));let a=t.indexOf("?");a>=0&&(e.search=t.substr(a),t=t.substr(0,a)),t&&(e.pathname=t)}return e}function DC(t){let e=typeof window<"u"&&typeof window.location<"u"&&window.location.origin!=="null"?window.location.origin:"unknown://unknown",n=typeof t=="string"?t:ml(t);return new URL(n,e)}function AC(t,e,n,a){a===void 0&&(a={});let{window:i=document.defaultView,v5Compat:o=!1}=a,s=i.history,l=$i.Pop,c=null;function u(){l=$i.Pop,c&&c({action:l,location:h.location})}function d(m,g){l=$i.Push;let v=Em(h.location,m,g);n&&n(v,m);let y=Eb(v),b=h.createHref(v);try{s.pushState(y,"",b)}catch{i.location.assign(b)}o&&c&&c({action:l,location:h.location})}function p(m,g){l=$i.Replace;let v=Em(h.location,m,g);n&&n(v,m);let y=Eb(v),b=h.createHref(v);s.replaceState(y,"",b),o&&c&&c({action:l,location:h.location})}let h={get action(){return l},get location(){return t(i,s)},listen(m){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(Tb,u),c=m,()=>{i.removeEventListener(Tb,u),c=null}},createHref(m){return e(i,m)},encodeLocation(m){let g=DC(ml(m));return hl({},m,{pathname:g.pathname,search:g.search,hash:g.hash})},push:d,replace:p,go(m){return s.go(m)}};return h}var Pb;(function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"})(Pb||(Pb={}));function _C(t,e,n){n===void 0&&(n="/");let a=typeof e=="string"?Xr(e):e,i=ij(a.pathname||"/",n);if(i==null)return null;let o=aj(t);TC(o);let s=null;for(let l=0;s==null&&l{let s={relativePath:i.path||"",caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};s.relativePath.startsWith("/")&&(dt(s.relativePath.startsWith(a),'Absolute route path "'+s.relativePath+'" nested under path '+('"'+a+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),s.relativePath=s.relativePath.slice(a.length));let l=Gi([a,s.relativePath]),c=n.concat(s);i.children&&i.children.length>0&&(dt(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+l+'".')),aj(i.children,e,c,l)),!(i.path==null&&!i.index)&&e.push({path:l,score:MC(l,i.index),routesMeta:c})}),e}function TC(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:OC(e.routesMeta.map(a=>a.childrenIndex),n.routesMeta.map(a=>a.childrenIndex)))}const EC=/^:\w+$/,PC=3,NC=2,LC=1,IC=10,$C=-2,Nb=t=>t==="*";function MC(t,e){let n=t.split("/"),a=n.length;return n.some(Nb)&&(a+=$C),e&&(a+=NC),n.filter(i=>!Nb(i)).reduce((i,o)=>i+(EC.test(o)?PC:o===""?LC:IC),a)}function OC(t,e){return t.length===e.length&&t.slice(0,-1).every((a,i)=>a===e[i])?t[t.length-1]-e[e.length-1]:0}function RC(t,e){let{routesMeta:n}=t,a={},i="/",o=[];for(let s=0;s{if(d==="*"){let h=l[p]||"";s=o.slice(0,o.length-h.length).replace(/(.)\/+$/,"$1")}return u[d]=UC(l[p]||"",d),u},{}),pathname:o,pathnameBase:s,pattern:t}}function VC(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!0),ug(t==="*"||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".'));let a=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/:(\w+)/g,(s,l)=>(a.push(l),"([^\\/]+)"));return t.endsWith("*")?(a.push("*"),i+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":t!==""&&t!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),a]}function WC(t){try{return decodeURI(t)}catch(e){return ug(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),t}}function UC(t,e){try{return decodeURIComponent(t)}catch(n){return ug(!1,'The value for the URL param "'+e+'" will not be decoded because'+(' the string "'+t+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),t}}function ij(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,a=t.charAt(n);return a&&a!=="/"?null:t.slice(n)||"/"}function dt(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function ug(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function qC(t,e){e===void 0&&(e="/");let{pathname:n,search:a="",hash:i=""}=typeof t=="string"?Xr(t):t;return{pathname:n?n.startsWith("/")?n:HC(n,e):e,search:GC(a),hash:QC(i)}}function HC(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function Up(t,e,n,a){return"Cannot include a '"+t+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(a)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function oj(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function rj(t,e,n,a){a===void 0&&(a=!1);let i;typeof t=="string"?i=Xr(t):(i=hl({},t),dt(!i.pathname||!i.pathname.includes("?"),Up("?","pathname","search",i)),dt(!i.pathname||!i.pathname.includes("#"),Up("#","pathname","hash",i)),dt(!i.search||!i.search.includes("#"),Up("#","search","hash",i)));let o=t===""||i.pathname==="",s=o?"/":i.pathname,l;if(a||s==null)l=n;else{let p=e.length-1;if(s.startsWith("..")){let h=s.split("/");for(;h[0]==="..";)h.shift(),p-=1;i.pathname=h.join("/")}l=p>=0?e[p]:"/"}let c=qC(i,l),u=s&&s!=="/"&&s.endsWith("/"),d=(o||s===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(u||d)&&(c.pathname+="/"),c}const Gi=t=>t.join("/").replace(/\/\/+/g,"/"),KC=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),GC=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,QC=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;class YC{constructor(e,n,a){this.status=e,this.statusText=n||"",this.data=a}}function ZC(t){return t instanceof YC}const JC=new Set(["POST","PUT","PATCH","DELETE"]);[...JC];/** + * React Router v6.4.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Pm(){return Pm=Object.assign?Object.assign.bind():function(t){for(var e=1;e{i.value=a,i.getSnapshot=e,qp(i)&&o({inst:i})},[t,a,e]),nD(()=>(qp(i)&&o({inst:i}),t(()=>{qp(i)&&o({inst:i})})),[t]),iD(a),a}function qp(t){const e=t.getSnapshot,n=t.value;try{const a=e();return!eD(n,a)}catch{return!0}}function rD(t,e,n){return e()}const sD=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",lD=!sD,cD=lD?rD:oD;"useSyncExternalStore"in Qs&&(t=>t.useSyncExternalStore)(Qs);const uD=x.createContext(null),dD=x.createContext(null),dg=x.createContext(null),pg=x.createContext(null),wd=x.createContext(null),es=x.createContext({outlet:null,matches:[]}),sj=x.createContext(null);function pD(t,e){let{relative:n}=e===void 0?{}:e;_l()||dt(!1);let{basename:a,navigator:i}=x.useContext(pg),{hash:o,pathname:s,search:l}=mg(t,{relative:n}),c=s;return a!=="/"&&(c=s==="/"?a:Gi([a,s])),i.createHref({pathname:c,search:l,hash:o})}function _l(){return x.useContext(wd)!=null}function Go(){return _l()||dt(!1),x.useContext(wd).location}function hg(){_l()||dt(!1);let{basename:t,navigator:e}=x.useContext(pg),{matches:n}=x.useContext(es),{pathname:a}=Go(),i=JSON.stringify(oj(n).map(l=>l.pathnameBase)),o=x.useRef(!1);return x.useEffect(()=>{o.current=!0}),x.useCallback(function(l,c){if(c===void 0&&(c={}),!o.current)return;if(typeof l=="number"){e.go(l);return}let u=rj(l,JSON.parse(i),a,c.relative==="path");t!=="/"&&(u.pathname=u.pathname==="/"?t:Gi([t,u.pathname])),(c.replace?e.replace:e.push)(u,c.state,c)},[t,e,i,a])}function hD(){let{matches:t}=x.useContext(es),e=t[t.length-1];return e?e.params:{}}function mg(t,e){let{relative:n}=e===void 0?{}:e,{matches:a}=x.useContext(es),{pathname:i}=Go(),o=JSON.stringify(oj(a).map(s=>s.pathnameBase));return x.useMemo(()=>rj(t,JSON.parse(o),i,n==="path"),[t,o,i,n])}function mD(t,e){_l()||dt(!1);let n=x.useContext(dg),{matches:a}=x.useContext(es),i=a[a.length-1],o=i?i.params:{};i&&i.pathname;let s=i?i.pathnameBase:"/";i&&i.route;let l=Go(),c;if(e){var u;let g=typeof e=="string"?Xr(e):e;s==="/"||(u=g.pathname)!=null&&u.startsWith(s)||dt(!1),c=g}else c=l;let d=c.pathname||"/",p=s==="/"?d:d.slice(s.length)||"/",h=_C(t,{pathname:p}),m=bD(h&&h.map(g=>Object.assign({},g,{params:Object.assign({},o,g.params),pathname:Gi([s,g.pathname]),pathnameBase:g.pathnameBase==="/"?s:Gi([s,g.pathnameBase])})),a,n||void 0);return e&&m?x.createElement(wd.Provider,{value:{location:Pm({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:$i.Pop}},m):m}function fD(){let t=xD(),e=ZC(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,a="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:a},o={padding:"2px 4px",backgroundColor:a};return x.createElement(x.Fragment,null,x.createElement("h2",null,"Unhandled Thrown Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},e),n?x.createElement("pre",{style:i},n):null,x.createElement("p",null,"💿 Hey developer 👋"),x.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",x.createElement("code",{style:o},"errorElement")," props on ",x.createElement("code",{style:o},"")))}class gD extends x.Component{constructor(e){super(e),this.state={location:e.location,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,n){return n.location!==e.location?{error:e.error,location:e.location}:{error:e.error||n.error,location:n.location}}componentDidCatch(e,n){console.error("React Router caught the following error during render",e,n)}render(){return this.state.error?x.createElement(sj.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}function vD(t){let{routeContext:e,match:n,children:a}=t,i=x.useContext(uD);return i&&n.route.errorElement&&(i._deepestRenderedBoundaryId=n.route.id),x.createElement(es.Provider,{value:e},a)}function bD(t,e,n){if(e===void 0&&(e=[]),t==null)if(n!=null&&n.errors)t=n.matches;else return null;let a=t,i=n==null?void 0:n.errors;if(i!=null){let o=a.findIndex(s=>s.route.id&&(i==null?void 0:i[s.route.id]));o>=0||dt(!1),a=a.slice(0,Math.min(a.length,o+1))}return a.reduceRight((o,s,l)=>{let c=s.route.id?i==null?void 0:i[s.route.id]:null,u=n?s.route.errorElement||x.createElement(fD,null):null,d=()=>x.createElement(vD,{match:s,routeContext:{outlet:o,matches:e.concat(a.slice(0,l+1))}},c?u:s.route.element!==void 0?s.route.element:o);return n&&(s.route.errorElement||l===0)?x.createElement(gD,{location:n.location,component:u,error:c,children:d()}):d()},null)}var Lb;(function(t){t.UseRevalidator="useRevalidator"})(Lb||(Lb={}));var Nm;(function(t){t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator"})(Nm||(Nm={}));function kD(t){let e=x.useContext(dg);return e||dt(!1),e}function xD(){var t;let e=x.useContext(sj),n=kD(Nm.UseRouteError),a=x.useContext(es),i=a.matches[a.matches.length-1];return e||(a||dt(!1),i.route.id||dt(!1),(t=n.errors)==null?void 0:t[i.route.id])}function Se(t){dt(!1)}function yD(t){let{basename:e="/",children:n=null,location:a,navigationType:i=$i.Pop,navigator:o,static:s=!1}=t;_l()&&dt(!1);let l=e.replace(/^\/*/,"/"),c=x.useMemo(()=>({basename:l,navigator:o,static:s}),[l,o,s]);typeof a=="string"&&(a=Xr(a));let{pathname:u="/",search:d="",hash:p="",state:h=null,key:m="default"}=a,g=x.useMemo(()=>{let v=ij(u,l);return v==null?null:{pathname:v,search:d,hash:p,state:h,key:m}},[l,u,d,p,h,m]);return g==null?null:x.createElement(pg.Provider,{value:c},x.createElement(wd.Provider,{children:n,value:{location:g,navigationType:i}}))}function wD(t){let{children:e,location:n}=t,a=x.useContext(dD),i=a&&!e?a.router.routes:Lm(e);return mD(i,n)}var Ib;(function(t){t[t.pending=0]="pending",t[t.success=1]="success",t[t.error=2]="error"})(Ib||(Ib={}));new Promise(()=>{});function Lm(t,e){e===void 0&&(e=[]);let n=[];return x.Children.forEach(t,(a,i)=>{if(!x.isValidElement(a))return;if(a.type===x.Fragment){n.push.apply(n,Lm(a.props.children,e));return}a.type!==Se&&dt(!1),!a.props.index||!a.props.children||dt(!1);let o=[...e,i],s={id:a.props.id||o.join("-"),caseSensitive:a.props.caseSensitive,element:a.props.element,index:a.props.index,path:a.props.path,loader:a.props.loader,action:a.props.action,errorElement:a.props.errorElement,hasErrorBoundary:a.props.errorElement!=null,shouldRevalidate:a.props.shouldRevalidate,handle:a.props.handle};a.props.children&&(s.children=Lm(a.props.children,o)),n.push(s)}),n}/** + * React Router DOM v6.4.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Lu(){return Lu=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}function jD(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function BD(t,e){return t.button===0&&(!e||e==="_self")&&!jD(t)}const SD=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],zD=["aria-current","caseSensitive","className","end","style","to","children"];function CD(t){let{basename:e,children:n,window:a}=t,i=x.useRef();i.current==null&&(i.current=zC({window:a,v5Compat:!0}));let o=i.current,[s,l]=x.useState({action:o.action,location:o.location});return x.useLayoutEffect(()=>o.listen(l),[o]),x.createElement(yD,{basename:e,children:n,location:s.location,navigationType:s.action,navigator:o})}const Ya=x.forwardRef(function(e,n){let{onClick:a,relative:i,reloadDocument:o,replace:s,state:l,target:c,to:u,preventScrollReset:d}=e,p=lj(e,SD),h=pD(u,{relative:i}),m=DD(u,{replace:s,state:l,target:c,preventScrollReset:d,relative:i});function g(v){a&&a(v),v.defaultPrevented||m(v)}return x.createElement("a",Lu({},p,{href:h,onClick:o?a:g,ref:n,target:c}))}),Xc=x.forwardRef(function(e,n){let{"aria-current":a="page",caseSensitive:i=!1,className:o="",end:s=!1,style:l,to:c,children:u}=e,d=lj(e,zD),p=mg(c,{relative:d.relative}),h=Go(),m=x.useContext(dg),g=p.pathname,v=h.pathname,y=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;i||(v=v.toLowerCase(),y=y?y.toLowerCase():null,g=g.toLowerCase());let b=v===g||!s&&v.startsWith(g)&&v.charAt(g.length)==="/",k=y!=null&&(y===g||!s&&y.startsWith(g)&&y.charAt(g.length)==="/"),w=b?a:void 0,j;typeof o=="function"?j=o({isActive:b,isPending:k}):j=[o,b?"active":null,k?"pending":null].filter(Boolean).join(" ");let z=typeof l=="function"?l({isActive:b,isPending:k}):l;return x.createElement(Ya,Lu({},d,{"aria-current":w,className:j,ref:n,style:z,to:c}),typeof u=="function"?u({isActive:b,isPending:k}):u)});var $b;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmitImpl="useSubmitImpl",t.UseFetcher="useFetcher"})($b||($b={}));var Mb;(function(t){t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"})(Mb||(Mb={}));function DD(t,e){let{target:n,replace:a,state:i,preventScrollReset:o,relative:s}=e===void 0?{}:e,l=hg(),c=Go(),u=mg(t,{relative:s});return x.useCallback(d=>{if(BD(d,n)){d.preventDefault();let p=a!==void 0?a:ml(c)===ml(u);l(t,{replace:p,state:i,preventScrollReset:o,relative:s})}},[c,l,u,a,i,n,t,o,s])}function Qi(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Im(t,e){return Im=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,i){return a.__proto__=i,a},Im(t,e)}function Tl(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Im(t,e)}function ts(t,e){if(e&&(Rn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Qi(t)}function Wn(t){return Wn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Wn(t)}function cj(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function AD(t){return tj(t)||cj(t)||cg(t)||nj()}function Ob(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function Rb(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{};qn(this,t),this.init(e,n)}return Hn(t,[{key:"init",value:function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=a.prefix||"i18next:",this.logger=n||_D,this.options=a,this.debug=a.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,a=new Array(n),i=0;i1?a-1:0),o=1;o-1?l.replace(/###/g,"."):l}function i(){return!t||typeof t=="string"}for(var o=typeof e!="string"?[].concat(e):e.split(".");o.length>1;){if(i())return{};var s=a(o.shift());!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={}}return i()?{}:{obj:t,k:a(o.shift())}}function Vb(t,e,n){var a=fg(t,e,Object),i=a.obj,o=a.k;i[o]=n}function PD(t,e,n,a){var i=fg(t,e,Object),o=i.obj,s=i.k;o[s]=o[s]||[],a&&(o[s]=o[s].concat(n)),a||o[s].push(n)}function Iu(t,e){var n=fg(t,e),a=n.obj,i=n.k;if(a)return a[i]}function Wb(t,e,n){var a=Iu(t,n);return a!==void 0?a:Iu(e,n)}function uj(t,e,n){for(var a in e)a!=="__proto__"&&a!=="constructor"&&(a in t?typeof t[a]=="string"||t[a]instanceof String||typeof e[a]=="string"||e[a]instanceof String?n&&(t[a]=e[a]):uj(t[a],e[a],n):t[a]=e[a]);return t}function tr(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var ND={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function LD(t){return typeof t=="string"?t.replace(/[&<>"'\/]/g,function(e){return ND[e]}):t}var jd=typeof window<"u"&&window.navigator&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,ID=[" ",",","?","!",";"];function $D(t,e,n){e=e||"",n=n||"";var a=ID.filter(function(l){return e.indexOf(l)<0&&n.indexOf(l)<0});if(a.length===0)return!0;var i=new RegExp("(".concat(a.map(function(l){return l==="?"?"\\?":l}).join("|"),")")),o=!i.test(t);if(!o){var s=t.indexOf(n);s>0&&!i.test(t.substring(0,s))&&(o=!0)}return o}function Ub(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function dc(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function dj(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(t){if(t[e])return t[e];for(var a=e.split(n),i=t,o=0;oo+s;)s++,l=a.slice(o,o+s).join(n),c=i[l];if(c===void 0)return;if(e.endsWith(l)){if(typeof c=="string")return c;if(l&&typeof c[l]=="string")return c[l]}var u=a.slice(o+s).join(n);return u?dj(c,u,n):void 0}i=i[a[o]]}return i}}var RD=function(t){Tl(n,t);var e=MD(n);function n(a){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return qn(this,n),i=e.call(this),jd&&Ji.call(Qi(i)),i.data=a||{},i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return Hn(n,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var o=this.options.ns.indexOf(i);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(i,o,s){var l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},c=l.keySeparator!==void 0?l.keySeparator:this.options.keySeparator,u=l.ignoreJSONStructure!==void 0?l.ignoreJSONStructure:this.options.ignoreJSONStructure,d=[i,o];s&&typeof s!="string"&&(d=d.concat(s)),s&&typeof s=="string"&&(d=d.concat(c?s.split(c):s)),i.indexOf(".")>-1&&(d=i.split("."));var p=Iu(this.data,d);return p||!u||typeof s!="string"?p:dj(this.data&&this.data[i]&&this.data[i][o],s,c)}},{key:"addResource",value:function(i,o,s,l){var c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var d=[i,o];s&&(d=d.concat(u?s.split(u):s)),i.indexOf(".")>-1&&(d=i.split("."),l=o,o=d[1]),this.addNamespaces(o),Vb(this.data,d,l),c.silent||this.emit("added",i,o,s,l)}},{key:"addResources",value:function(i,o,s){var l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var c in s)(typeof s[c]=="string"||Object.prototype.toString.apply(s[c])==="[object Array]")&&this.addResource(i,o,c,s[c],{silent:!0});l.silent||this.emit("added",i,o,s)}},{key:"addResourceBundle",value:function(i,o,s,l,c){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},d=[i,o];i.indexOf(".")>-1&&(d=i.split("."),l=s,s=o,o=d[1]),this.addNamespaces(o);var p=Iu(this.data,d)||{};l?uj(p,s,c):p=dc(dc({},p),s),Vb(this.data,d,p),u.silent||this.emit("added",i,o,s)}},{key:"removeResourceBundle",value:function(i,o){this.hasResourceBundle(i,o)&&delete this.data[i][o],this.removeNamespaces(o),this.emit("removed",i,o)}},{key:"hasResourceBundle",value:function(i,o){return this.getResource(i,o)!==void 0}},{key:"getResourceBundle",value:function(i,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?dc(dc({},{}),this.getResource(i,o)):this.getResource(i,o)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var o=this.getDataByLanguage(i),s=o&&Object.keys(o)||[];return!!s.find(function(l){return o[l]&&Object.keys(o[l]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(Ji),pj={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,n,a,i,o){var s=this;return e.forEach(function(l){s.processors[l]&&(n=s.processors[l].process(n,a,i,o))}),n}};function qb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function Zt(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Hb={},Kb=function(t){Tl(n,t);var e=FD(n);function n(a){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return qn(this,n),i=e.call(this),jd&&Ji.call(Qi(i)),ED(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],a,Qi(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=_a.create("translator"),i}return Hn(n,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var s=this.resolve(i,o);return s&&s.res!==void 0}},{key:"extractFromKey",value:function(i,o){var s=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;s===void 0&&(s=":");var l=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,c=o.ns||this.options.defaultNS||[],u=s&&i.indexOf(s)>-1,d=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!$D(i,s,l);if(u&&!d){var p=i.match(this.interpolator.nestingRegexp);if(p&&p.length>0)return{key:i,namespaces:c};var h=i.split(s);(s!==l||s===l&&this.options.ns.indexOf(h[0])>-1)&&(c=h.shift()),i=h.join(l)}return typeof c=="string"&&(c=[c]),{key:i,namespaces:c}}},{key:"translate",value:function(i,o,s){var l=this;if(Rn(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var c=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,u=this.extractFromKey(i[i.length-1],o),d=u.key,p=u.namespaces,h=p[p.length-1],m=o.lng||this.language,g=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(m&&m.toLowerCase()==="cimode"){if(g){var v=o.nsSeparator||this.options.nsSeparator;return h+v+d}return d}var y=this.resolve(i,o),b=y&&y.res,k=y&&y.usedKey||d,w=y&&y.exactUsedKey||d,j=Object.prototype.toString.apply(b),z=["[object Number]","[object Function]","[object RegExp]"],S=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,f=!this.i18nFormat||this.i18nFormat.handleAsObject,B=typeof b!="string"&&typeof b!="boolean"&&typeof b!="number";if(f&&b&&B&&z.indexOf(j)<0&&!(typeof S=="string"&&j==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects)return this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(k,b,Zt(Zt({},o),{},{ns:p})):"key '".concat(d," (").concat(this.language,")' returned an object instead of string.");if(c){var D=j==="[object Array]",C=D?[]:{},P=D?w:k;for(var I in b)if(Object.prototype.hasOwnProperty.call(b,I)){var E="".concat(P).concat(c).concat(I);C[I]=this.translate(E,Zt(Zt({},o),{joinArrays:!1,ns:p})),C[I]===E&&(C[I]=b[I])}b=C}}else if(f&&typeof S=="string"&&j==="[object Array]")b=b.join(S),b&&(b=this.extendTranslation(b,i,o,s));else{var L=!1,q=!1,U=o.count!==void 0&&typeof o.count!="string",$=n.hasDefaultValue(o),T=U?this.pluralResolver.getSuffix(m,o.count,o):"",F=o["defaultValue".concat(T)]||o.defaultValue;!this.isValidLookup(b)&&$&&(L=!0,b=F),this.isValidLookup(b)||(q=!0,b=d);var N=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,Q=N&&q?void 0:b,K=$&&F!==b&&this.options.updateMissing;if(q||L||K){if(this.logger.log(K?"updateKey":"missingKey",m,h,d,K?F:b),c){var V=this.resolve(d,Zt(Zt({},o),{},{keySeparator:!1}));V&&V.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var G=[],ee=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ee&&ee[0])for(var X=0;X1&&arguments[1]!==void 0?arguments[1]:{},l,c,u,d,p;return typeof i=="string"&&(i=[i]),i.forEach(function(h){if(!o.isValidLookup(l)){var m=o.extractFromKey(h,s),g=m.key;c=g;var v=m.namespaces;o.options.fallbackNS&&(v=v.concat(o.options.fallbackNS));var y=s.count!==void 0&&typeof s.count!="string",b=y&&!s.ordinal&&s.count===0&&o.pluralResolver.shouldUseIntlApi(),k=s.context!==void 0&&(typeof s.context=="string"||typeof s.context=="number")&&s.context!=="",w=s.lngs?s.lngs:o.languageUtils.toResolveHierarchy(s.lng||o.language,s.fallbackLng);v.forEach(function(j){o.isValidLookup(l)||(p=j,!Hb["".concat(w[0],"-").concat(j)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(p)&&(Hb["".concat(w[0],"-").concat(j)]=!0,o.logger.warn('key "'.concat(c,'" for languages "').concat(w.join(", "),`" won't get resolved as namespace "`).concat(p,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),w.forEach(function(z){if(!o.isValidLookup(l)){d=z;var S=[g];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(S,g,z,j,s);else{var f;y&&(f=o.pluralResolver.getSuffix(z,s.count,s));var B="_zero";if(y&&(S.push(g+f),b&&S.push(g+B)),k){var D="".concat(g).concat(o.options.contextSeparator).concat(s.context);S.push(D),y&&(S.push(D+f),b&&S.push(D+B))}}for(var C;C=S.pop();)o.isValidLookup(l)||(u=C,l=o.getResource(z,j,C,s))}}))})}}),{res:l,usedKey:c,exactUsedKey:u,usedLng:d,usedNS:p}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,s){var l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,s,l):this.resourceStore.getResource(i,o,s,l)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)&&o===s.substring(0,o.length)&&i[s]!==void 0)return!0;return!1}}]),n}(Ji);function Hp(t){return t.charAt(0).toUpperCase()+t.slice(1)}var WD=function(){function t(e){qn(this,t),this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=_a.create("languageUtils")}return Hn(t,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var a=n.split("-");return a.length===2||(a.pop(),a[a.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(a.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var a=n.split("-");return this.formatLanguageCode(a[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var a=["hans","hant","latn","cyrl","cans","mong","arab"],i=n.split("-");return this.options.lowerCaseLng?i=i.map(function(o){return o.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),a.indexOf(i[1].toLowerCase())>-1&&(i[1]=Hp(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),a.indexOf(i[1].toLowerCase())>-1&&(i[1]=Hp(i[1].toLowerCase())),a.indexOf(i[2].toLowerCase())>-1&&(i[2]=Hp(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var a=this;if(!n)return null;var i;return n.forEach(function(o){if(!i){var s=a.formatLanguageCode(o);(!a.options.supportedLngs||a.isSupportedCode(s))&&(i=s)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var s=a.getLanguagePartFromCode(o);if(a.isSupportedCode(s))return i=s;i=a.options.supportedLngs.find(function(l){if(l.indexOf(s)===0)return l})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(n,a){if(!n)return[];if(typeof n=="function"&&(n=n(a)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!a)return n.default||[];var i=n[a];return i||(i=n[this.getScriptPartFromCode(a)]),i||(i=n[this.formatLanguageCode(a)]),i||(i=n[this.getLanguagePartFromCode(a)]),i||(i=n.default),i||[]}},{key:"toResolveHierarchy",value:function(n,a){var i=this,o=this.getFallbackCodes(a||this.options.fallbackLng||[],n),s=[],l=function(u){u&&(i.isSupportedCode(u)?s.push(u):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(u)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&l(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&l(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&l(this.getLanguagePartFromCode(n))):typeof n=="string"&&l(this.formatLanguageCode(n)),o.forEach(function(c){s.indexOf(c)<0&&l(i.formatLanguageCode(c))}),s}}]),t}(),UD=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],qD={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}},HD=["v1","v2","v3"],Gb={zero:0,one:1,two:2,few:3,many:4,other:5};function KD(){var t={};return UD.forEach(function(e){e.lngs.forEach(function(n){t[n]={numbers:e.nr,plurals:qD[e.fc]}})}),t}var GD=function(){function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};qn(this,t),this.languageUtils=e,this.options=n,this.logger=_a.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=KD()}return Hn(t,[{key:"addRule",value:function(n,a){this.rules[n]=a}},{key:"getRule",value:function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:a.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,a);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,a){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,i).map(function(o){return"".concat(a).concat(o)})}},{key:"getSuffixes",value:function(n){var a=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(function(s,l){return Gb[s]-Gb[l]}).map(function(s){return"".concat(a.options.prepend).concat(s)}):o.numbers.map(function(s){return a.getSuffix(n,s,i)}):[]}},{key:"getSuffix",value:function(n,a){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(a)):this.getSuffixRetroCompatible(o,a):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,a){var i=this,o=n.noAbs?n.plurals(a):n.plurals(Math.abs(a)),s=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(s===2?s="plural":s===1&&(s=""));var l=function(){return i.options.prepend&&s.toString()?i.options.prepend+s.toString():s.toString()};return this.options.compatibilityJSON==="v1"?s===1?"":typeof s=="number"?"_plural_".concat(s.toString()):l():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?l():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!HD.includes(this.options.compatibilityJSON)}}]),t}();function Qb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function Zn(t){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{};qn(this,t),this.logger=_a.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||function(n){return n},this.init(e)}return Hn(t,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var a=n.interpolation;this.escape=a.escape!==void 0?a.escape:LD,this.escapeValue=a.escapeValue!==void 0?a.escapeValue:!0,this.useRawValueToEscape=a.useRawValueToEscape!==void 0?a.useRawValueToEscape:!1,this.prefix=a.prefix?tr(a.prefix):a.prefixEscaped||"{{",this.suffix=a.suffix?tr(a.suffix):a.suffixEscaped||"}}",this.formatSeparator=a.formatSeparator?a.formatSeparator:a.formatSeparator||",",this.unescapePrefix=a.unescapeSuffix?"":a.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":a.unescapeSuffix||"",this.nestingPrefix=a.nestingPrefix?tr(a.nestingPrefix):a.nestingPrefixEscaped||tr("$t("),this.nestingSuffix=a.nestingSuffix?tr(a.nestingSuffix):a.nestingSuffixEscaped||tr(")"),this.nestingOptionsSeparator=a.nestingOptionsSeparator?a.nestingOptionsSeparator:a.nestingOptionsSeparator||",",this.maxReplaces=a.maxReplaces?a.maxReplaces:1e3,this.alwaysFormat=a.alwaysFormat!==void 0?a.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var a="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(a,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(n,a,i,o){var s=this,l,c,u,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function p(y){return y.replace(/\$/g,"$$$$")}var h=function(b){if(b.indexOf(s.formatSeparator)<0){var k=Wb(a,d,b);return s.alwaysFormat?s.format(k,void 0,i,Zn(Zn(Zn({},o),a),{},{interpolationkey:b})):k}var w=b.split(s.formatSeparator),j=w.shift().trim(),z=w.join(s.formatSeparator).trim();return s.format(Wb(a,d,j),z,i,Zn(Zn(Zn({},o),a),{},{interpolationkey:j}))};this.resetRegExp();var m=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,g=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,v=[{regex:this.regexpUnescape,safeValue:function(b){return p(b)}},{regex:this.regexp,safeValue:function(b){return s.escapeValue?p(s.escape(b)):p(b)}}];return v.forEach(function(y){for(u=0;l=y.regex.exec(n);){var b=l[1].trim();if(c=h(b),c===void 0)if(typeof m=="function"){var k=m(n,l,o);c=typeof k=="string"?k:""}else if(o&&o.hasOwnProperty(b))c="";else if(g){c=l[0];continue}else s.logger.warn("missed to pass in variable ".concat(b," for interpolating ").concat(n)),c="";else typeof c!="string"&&!s.useRawValueToEscape&&(c=Fb(c));var w=y.safeValue(c);if(n=n.replace(l[0],w),g?(y.regex.lastIndex+=w.length,y.regex.lastIndex-=l[0].length):y.regex.lastIndex=0,u++,u>=s.maxReplaces)break}}),n}},{key:"nest",value:function(n,a){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s,l,c=Zn({},o);c.applyPostProcessor=!1,delete c.defaultValue;function u(m,g){var v=this.nestingOptionsSeparator;if(m.indexOf(v)<0)return m;var y=m.split(new RegExp("".concat(v,"[ ]*{"))),b="{".concat(y[1]);m=y[0],b=this.interpolate(b,c),b=b.replace(/'/g,'"');try{c=JSON.parse(b),g&&(c=Zn(Zn({},g),c))}catch(k){return this.logger.warn("failed parsing options string in nesting for key ".concat(m),k),"".concat(m).concat(v).concat(b)}return delete c.defaultValue,m}for(;s=this.nestingRegexp.exec(n);){var d=[],p=!1;if(s[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(s[1])){var h=s[1].split(this.formatSeparator).map(function(m){return m.trim()});s[1]=h.shift(),d=h,p=!0}if(l=a(u.call(this,s[1].trim(),c),c),l&&s[0]===n&&typeof l!="string")return l;typeof l!="string"&&(l=Fb(l)),l||(this.logger.warn("missed to resolve ".concat(s[1]," for nesting ").concat(n)),l=""),p&&(l=d.reduce(function(m,g){return i.format(m,g,o.lng,Zn(Zn({},o),{},{interpolationkey:s[1].trim()}))},l.trim())),n=n.replace(s[0],l),this.regexp.lastIndex=0}return n}}]),t}();function Yb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function xi(t){for(var e=1;e-1){var a=t.split("(");e=a[0].toLowerCase().trim();var i=a[1].substring(0,a[1].length-1);if(e==="currency"&&i.indexOf(":")<0)n.currency||(n.currency=i.trim());else if(e==="relativetime"&&i.indexOf(":")<0)n.range||(n.range=i.trim());else{var o=i.split(";");o.forEach(function(s){if(s){var l=s.split(":"),c=AD(l),u=c[0],d=c.slice(1),p=d.join(":");n[u.trim()]||(n[u.trim()]=p.trim()),p.trim()==="false"&&(n[u.trim()]=!1),p.trim()==="true"&&(n[u.trim()]=!0),isNaN(p.trim())||(n[u.trim()]=parseInt(p.trim(),10))}})}}return{formatName:e,formatOptions:n}}var ZD=function(){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};qn(this,t),this.logger=_a.create("formatter"),this.options=e,this.formats={number:function(a,i,o){return new Intl.NumberFormat(i,o).format(a)},currency:function(a,i,o){return new Intl.NumberFormat(i,xi(xi({},o),{},{style:"currency"})).format(a)},datetime:function(a,i,o){return new Intl.DateTimeFormat(i,xi({},o)).format(a)},relativetime:function(a,i,o){return new Intl.RelativeTimeFormat(i,xi({},o)).format(a,o.range||"day")},list:function(a,i,o){return new Intl.ListFormat(i,xi({},o)).format(a)}},this.init(e)}return Hn(t,[{key:"init",value:function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=a.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(n,a){this.formats[n.toLowerCase().trim()]=a}},{key:"format",value:function(n,a,i,o){var s=this,l=a.split(this.formatSeparator),c=l.reduce(function(u,d){var p=YD(d),h=p.formatName,m=p.formatOptions;if(s.formats[h]){var g=u;try{var v=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},y=v.locale||v.lng||o.locale||o.lng||i;g=s.formats[h](u,y,xi(xi(xi({},m),o),v))}catch(b){s.logger.warn(b)}return g}else s.logger.warn("there was no format function for ".concat(h));return u},n);return c}}]),t}();function Zb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function Jb(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function eA(t,e){for(var n=t.indexOf(e);n!==-1;)t.splice(n,1),n=t.indexOf(e)}var tA=function(t){Tl(n,t);var e=JD(n);function n(a,i,o){var s,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return qn(this,n),s=e.call(this),jd&&Ji.call(Qi(s)),s.backend=a,s.store=i,s.services=o,s.languageUtils=o.languageUtils,s.options=l,s.logger=_a.create("backendConnector"),s.state={},s.queue=[],s.backend&&s.backend.init&&s.backend.init(o,l.backend,l),s}return Hn(n,[{key:"queueLoad",value:function(i,o,s,l){var c=this,u=[],d=[],p=[],h=[];return i.forEach(function(m){var g=!0;o.forEach(function(v){var y="".concat(m,"|").concat(v);!s.reload&&c.store.hasResourceBundle(m,v)?c.state[y]=2:c.state[y]<0||(c.state[y]===1?d.indexOf(y)<0&&d.push(y):(c.state[y]=1,g=!1,d.indexOf(y)<0&&d.push(y),u.indexOf(y)<0&&u.push(y),h.indexOf(v)<0&&h.push(v)))}),g||p.push(m)}),(u.length||d.length)&&this.queue.push({pending:d,loaded:{},errors:[],callback:l}),{toLoad:u,pending:d,toLoadLanguages:p,toLoadNamespaces:h}}},{key:"loaded",value:function(i,o,s){var l=i.split("|"),c=l[0],u=l[1];o&&this.emit("failedLoading",c,u,o),s&&this.store.addResourceBundle(c,u,s),this.state[i]=o?-1:2;var d={};this.queue.forEach(function(p){PD(p.loaded,[c],u),eA(p.pending,i),o&&p.errors.push(o),p.pending.length===0&&!p.done&&(Object.keys(p.loaded).forEach(function(h){d[h]||(d[h]=[]),p.loaded[h].length&&p.loaded[h].forEach(function(m){d[h].indexOf(m)<0&&d[h].push(m)})}),p.done=!0,p.errors.length?p.callback(p.errors):p.callback())}),this.emit("loaded",d),this.queue=this.queue.filter(function(p){return!p.done})}},{key:"read",value:function(i,o,s){var l=this,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:350,d=arguments.length>5?arguments[5]:void 0;return i.length?this.backend[s](i,o,function(p,h){if(p&&h&&c<5){setTimeout(function(){l.read.call(l,i,o,s,c+1,u*2,d)},u);return}d(p,h)}):d(null,{})}},{key:"prepareLoading",value:function(i,o){var s=this,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},c=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),c&&c();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof o=="string"&&(o=[o]);var u=this.queueLoad(i,o,l,c);if(!u.toLoad.length)return u.pending.length||c(),null;u.toLoad.forEach(function(d){s.loadOne(d)})}},{key:"load",value:function(i,o,s){this.prepareLoading(i,o,{},s)}},{key:"reload",value:function(i,o,s){this.prepareLoading(i,o,{reload:!0},s)}},{key:"loadOne",value:function(i){var o=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",l=i.split("|"),c=l[0],u=l[1];this.read(c,u,"read",void 0,void 0,function(d,p){d&&o.logger.warn("".concat(s,"loading namespace ").concat(u," for language ").concat(c," failed"),d),!d&&p&&o.logger.log("".concat(s,"loaded namespace ").concat(u," for language ").concat(c),p),o.loaded(i,d,p)})}},{key:"saveMissing",value:function(i,o,s,l,c){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(s,'" as the namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}s==null||s===""||(this.backend&&this.backend.create&&this.backend.create(i,o,s,l,null,Jb(Jb({},u),{},{isUpdate:c})),!(!i||!i[0])&&this.store.addResource(i[0],o,s,l))}}]),n}(Ji);function nA(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var n={};if(Rn(e[1])==="object"&&(n=e[1]),typeof e[1]=="string"&&(n.defaultValue=e[1]),typeof e[2]=="string"&&(n.tDescription=e[2]),Rn(e[2])==="object"||Rn(e[3])==="object"){var a=e[3]||e[2];Object.keys(a).forEach(function(i){n[i]=a[i]})}return n},interpolation:{escapeValue:!0,format:function(e,n,a,i){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Xb(t){return typeof t.ns=="string"&&(t.ns=[t.ns]),typeof t.fallbackLng=="string"&&(t.fallbackLng=[t.fallbackLng]),typeof t.fallbackNS=="string"&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&t.supportedLngs.indexOf("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t}function ek(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function ka(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function pc(){}function oA(t){var e=Object.getOwnPropertyNames(Object.getPrototypeOf(t));e.forEach(function(n){typeof t[n]=="function"&&(t[n]=t[n].bind(t))})}var $u=function(t){Tl(n,t);var e=aA(n);function n(){var a,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(qn(this,n),a=e.call(this),jd&&Ji.call(Qi(a)),a.options=Xb(i),a.services={},a.logger=_a,a.modules={external:[]},oA(Qi(a)),o&&!a.isInitialized&&!i.isClone){if(!a.options.initImmediate)return a.init(i,o),ts(a,Qi(a));setTimeout(function(){a.init(i,o)},0)}return a}return Hn(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(s=o,o={}),!o.defaultNS&&o.ns&&(typeof o.ns=="string"?o.defaultNS=o.ns:o.ns.indexOf("translation")<0&&(o.defaultNS=o.ns[0]));var l=nA();this.options=ka(ka(ka({},l),this.options),Xb(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=ka(ka({},l.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function c(b){return b?typeof b=="function"?new b:b:null}if(!this.options.isClone){this.modules.logger?_a.init(c(this.modules.logger),this.options):_a.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=ZD);var d=new WD(this.options);this.store=new RD(this.options.resources,this.options);var p=this.services;p.logger=_a,p.resourceStore=this.store,p.languageUtils=d,p.pluralResolver=new GD(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===l.interpolation.format)&&(p.formatter=c(u),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new QD(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new tA(c(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(b){for(var k=arguments.length,w=new Array(k>1?k-1:0),j=1;j1?k-1:0),j=1;j0&&h[0]!=="dev"&&(this.options.lng=h[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var m=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];m.forEach(function(b){i[b]=function(){var k;return(k=i.store)[b].apply(k,arguments)}});var g=["addResource","addResources","addResourceBundle","removeResourceBundle"];g.forEach(function(b){i[b]=function(){var k;return(k=i.store)[b].apply(k,arguments),i}});var v=gs(),y=function(){var k=function(j,z){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),v.resolve(z),s(j,z)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return k(null,i.t.bind(i));i.changeLanguage(i.options.lng,k)};return this.options.resources||!this.options.initImmediate?y():setTimeout(y,0),v}},{key:"loadResources",value:function(i){var o=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pc,l=s,c=typeof i=="string"?i:this.language;if(typeof i=="function"&&(l=i),!this.options.resources||this.options.partialBundledLanguages){if(c&&c.toLowerCase()==="cimode")return l();var u=[],d=function(m){if(m){var g=o.services.languageUtils.toResolveHierarchy(m);g.forEach(function(v){u.indexOf(v)<0&&u.push(v)})}};if(c)d(c);else{var p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.forEach(function(h){return d(h)})}this.options.preload&&this.options.preload.forEach(function(h){return d(h)}),this.services.backendConnector.load(u,this.options.ns,function(h){!h&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),l(h)})}else l(null)}},{key:"reloadResources",value:function(i,o,s){var l=gs();return i||(i=this.languages),o||(o=this.options.ns),s||(s=pc),this.services.backendConnector.reload(i,o,function(c){l.resolve(),s(c)}),l}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&pj.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var o=0;o-1)&&this.store.hasLanguageSomeTranslations(s)){this.resolvedLanguage=s;break}}}},{key:"changeLanguage",value:function(i,o){var s=this;this.isLanguageChangingTo=i;var l=gs();this.emit("languageChanging",i);var c=function(h){s.language=h,s.languages=s.services.languageUtils.toResolveHierarchy(h),s.resolvedLanguage=void 0,s.setResolvedLanguage(h)},u=function(h,m){m?(c(m),s.translator.changeLanguage(m),s.isLanguageChangingTo=void 0,s.emit("languageChanged",m),s.logger.log("languageChanged",m)):s.isLanguageChangingTo=void 0,l.resolve(function(){return s.t.apply(s,arguments)}),o&&o(h,function(){return s.t.apply(s,arguments)})},d=function(h){!i&&!h&&s.services.languageDetector&&(h=[]);var m=typeof h=="string"?h:s.services.languageUtils.getBestMatchFromCodes(h);m&&(s.language||c(m),s.translator.language||s.translator.changeLanguage(m),s.services.languageDetector&&s.services.languageDetector.cacheUserLanguage(m)),s.loadResources(m,function(g){u(g,m)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?d(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(d):d(i),l}},{key:"getFixedT",value:function(i,o,s){var l=this,c=function u(d,p){var h;if(Rn(p)!=="object"){for(var m=arguments.length,g=new Array(m>2?m-2:0),v=2;v1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var l=this.resolvedLanguage||this.languages[0],c=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(l.toLowerCase()==="cimode")return!0;var d=function(m,g){var v=o.services.backendConnector.state["".concat(m,"|").concat(g)];return v===-1||v===2};if(s.precheck){var p=s.precheck(this,d);if(p!==void 0)return p}return!!(this.hasResourceBundle(l,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||d(l,i)&&(!c||d(u,i)))}},{key:"loadNamespaces",value:function(i,o){var s=this,l=gs();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(c){s.options.ns.indexOf(c)<0&&s.options.ns.push(c)}),this.loadResources(function(c){l.resolve(),o&&o(c)}),l):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var s=gs();typeof i=="string"&&(i=[i]);var l=this.options.preload||[],c=i.filter(function(u){return l.indexOf(u)<0});return c.length?(this.options.preload=l.concat(c),this.loadResources(function(u){s.resolve(),o&&o(u)}),s):(o&&o(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var o=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"];return o.indexOf(this.services.languageUtils.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pc,l=ka(ka(ka({},this.options),o),{isClone:!0}),c=new n(l),u=["store","services","language"];return u.forEach(function(d){c[d]=i[d]}),c.services=ka({},this.services),c.services.utils={hasLoadedNamespace:c.hasLoadedNamespace.bind(c)},c.translator=new Kb(c.services,c.options),c.translator.on("*",function(d){for(var p=arguments.length,h=new Array(p>1?p-1:0),m=1;m0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;return new $u(t,e)});var se=$u.createInstance();se.createInstance=$u.createInstance;se.createInstance;se.init;se.loadResources;se.reloadResources;se.use;se.changeLanguage;se.getFixedT;var Oo=se.t;se.exists;se.setDefaultNamespace;se.hasLoadedNamespace;se.loadNamespaces;se.loadLanguages;const hj=()=>Z("native-locale"),rA={disconnect:"انقطع الاتصال. جاري اعادة المحاولة...",export:"تصدير",exportTransactions:"تصدير التداولات الى مجلد الداونلود على شكل ملف CSV",fatalError:"حدث خطأ غير متوقع",incoming:"قادمة الآن",initializing:"جلب البيانات من البلوكشين...",maybeProxyError:"تم تفعيل بروكسي تور. يرجى التأكد من ان بروكسي تور يعمل بشكل صحيح او قم بايقاف اعدادات البروكسي",reconnecting:"انقطع الاتصال, جاري محاولة اعادة الاتصال...",syncedAddressesCount:"تم فحص {{count}} عنوان"},sA={address:"عنوان",buyCTA:{buy:"شراء {{unit}}",buyCrypto:"شراء كريبتو",information:{looksEmpty:"يبدو ان هذه المحفظة فارغة",start:"إبدأ عن طريق ايداع بعض العملات في المحفظة او شراء العملات مباشرةً في تطبيق BitBoxApp"}},extendedPublicKey:"المفتاح العام المتشعب",label:"معلومات الحساب",scriptType:"نوع النص البرمجي",title:"معلومات الحساب",verify:"قم بالتأكيد عن طريق الجهاز",xpubTypeChangeBtn:{p2pkh:"عرض المفتاح العام المتشعب عن طريق P2PKH القديم",p2tr:"عرض تابروت",p2wpkh:"عرض Segwit الاصلي","p2wpkh-p2sh":"عرض المفتاح العام المتشعب عن طريق Segwit القديم"},xpubTypeInfo:"الآن يتم عرض {{scriptType}} للمفتاح العلني المتشعب ({{current}} من {{numberOfXPubs}})"},lA={availableBalance:"الرصيد المتبقي",balance:"الرصيد",exportSummary:"قم بتصدير خلاصة الحسابات الى مجلد الداونلود على شكل ملف CSV",fiatBalance:"رصيد العملة النقدية",name:"اسم الحساب",noAccount:"لا توجد حسابات للعرض",subtotalWithCoinName:"مجموع ({{coinName}})",title:"بورتفوليو حسابي",total:"المجموع",transactionHistory:"تاريخ التداولات"},cA={chooseName:{nextButton:"اضافة حساب",step:"تسمية الحساب",title:"قم بتسمية الحساب"},selectCoin:{nextButton:"التالي",step:"اختر عملة",title:"اختر عملة كريبتو"},success:{message:"تمت اضافة {{accountName}} الى حساباتك",nextButton:"اكتمل",step:"انتهى",title:"تم اضافة الحساب"},title:"اضافة حساب"},uA={addressRequest:"الـ{{host}} يطلب عنوان استلام",addressRequestWithLogo:"يطلب عنوان استلام",banner:"جاري طلب عنوان",errorTitle:"حدث خطأ اثناء عملية طلب العنوان",labelAddress:"عنوان",labelMessage:"رسالة",reverifyInfoText:"تأكيد العنوان",signing:"للاستمرار, قم بتوقيع الرسالة على جهاز BitBox02",success:{message:"استمر على {{host}}",title:"تم ارسال العنوان بنجاح"},syncing:"يتم الآن عمل مزامنة للحساب, يرجى الانتظار",title:"طلب عنوان"},dA={upgrade:"تتوفر الآن نسخة جديدة لهذا التطبيق. يرجى التحديث من {{current}} الى {{version}}"},pA={check:{checking:"التحقق من النسخة الاحتياطية...",confirmTitle:"قم بالتحقق من النسخة الاحتياطية",notOK:"النسخة الاحتياطية لا تطابق المحفظة",ok:"النسخة الاحتياطية تطابق المحفظة",password:{label:"استعادة كلمة المرور",placeholder:"استعادة كلمة المرور",showLabel:"استعادة كلمة المرور"},success:"تم التأكد بنجاح من النسخة الاحتياطية",title:"قم بالتحقق من النسخة الاحتياطية"},create:{alreadyExists:"يوجد لديك نسخة احتياطية صالحة, هل تريد انشاء نسخة جديدة؟",fail:"فشلت عملية انشاء نسخة احتياطية",info:"يرجى ادخال كلمة استعادة المرور لهذه المحفظة من اجل التحقق",name:{label:"اسم النسخة الاحتياطية",placeholder:"يرجى تسمية النسخة الاحتياطية"},password:{label:"استعادة كلمة المرور",placeholder:"يرجى ادخال كلمة استعادة المرور"},title:"قم بانشاء نسخة الاحتياطية",verificationFailed:"كلمة استعادة المرور لا تطابق هذه المحفظة. تم انشاء النسخة الاحتياطية. يرجى استخدام ‘التحقق من النسخة الاحتياطية‘ لتأكيد كلمة استعادة المرور مرة ثانية"},description:"اخترملف النسخة الاحتياطية للمحفظة",insert:"قم بادخال شريحة microSD لإدارة النسخ الاحتياطية",insertButton:"لقد قمت بإدخال شريحة microSD",list:"هذه النسخ الاحتياطية في شريحة microSD الخاصة بك",noBackups:"لا توجد نسخ احتياطية في هذه الشريحة microSD",restore:{confirmTitle:"استرجاع النسخة الاحتياطية",error:{e200:"لا توجد شريحة microSD",general:"حدث خطأ عند عملية استرجاع النسخة الاحتياطية"},password:{label:"كلمة استعادة المرور او كلمة استعادة المرور المخفية",placeholder:"كلمة استعادة المرور",repeatPlaceholder:"تكرار كلمة استعادة المرور",showLabel:"كلمة استعادة المرور"},restoring:"استرجاع النسخة الاحتياطية...",selectedBackup:"{{backupName}} تم انشاءها في {{createdDateTime}} سيتم استرجاعها",title:"استرجاع",understand:"انا افهم ان ادخال كلمة استعادة مرور خاطئة يعني انشاء محفظة مختلفة"},showMnemonic:{description:`سيتم إظهار ٢٤ كلمة استرجاع لك, و هذه الكلمات تمثل النسخة الاحتياطية لمحفظتك. قم بكتابة هذه الكلمات على الورق + لا تقم بخزن الكلمات بشكل رقمي و لا تأخذ صورة للكلمات + لا تقم بالنطق الشفوي بصوت مسموع للكلمات +هذه النسخة الاحتياطية ليست محمية بكلمة مرور +بعد ذلك سيتم سؤالك لتأكيد كل كلمة`,title:"اظهار كلمات الاسترجاع"},title:"ادارة النسخ الاحتياطية"},hA={abort:"لا تقم بالتحديث - اود الرجوع",abort_noUpgrade:"اريد الرجوع",advanced:{label:"اعدادات متقدمة",toggleShowFirmwareHash:`قم بإظهار هاش البرنامج المثبت عند كل تشغيل للتطبيق +`},flipscreen:"قلب الشاشة",orientation:"هل تم وضع الجهاز في الاتجاه الخاطئ؟",success:"التحديث تم بنجاح! سيتم الاستمرار خلال {{rebootSeconds}} ثانية...",success_install:"التثبيت تم بنجاح! سيتم الاستمرار خلال {{rebootSeconds}} ثانية..."},mA={error:{e10000:"كلمة المرور الحالية للجهاز خاطئة",e10001:"فشلت محاولة استبدال كلمة المرور للجهاز",e102:"يجب ان تحتوي كلمة المرور على ٤ رموز على الاقل",e112:"لا يمكن لكلمة المرور المخفية للجهاز ان تكون نفس كلمة المرور الرئيسية للجهاز"}},fA={confirmDate:"قم بتأكيد تاريخ اليوم في جهازك BitBox02",confirmDateText:"سيتم استخدام هذا التاريخ لإنشاء النسخة الاحتياطية",confirmName:"قم بتأكيد الاسم في جهاز BitBox02",followInstructions:"يرجى اتباع التعليمات في جهاز BitBox02",followInstructionsMnemonic:"قم بإتباع التعليمات في جهازك BitBox02 من اجل ادخال كلمات الاسترجاع من النسخة الاحتياطية و استعادة محفظتك",followInstructionsMnemonicTitle:"قم بالاستعادة من خلال كلمات الاسترجاع"},gA={deviceName:{current:"اسم الجهاز الحالي",input:"اسم الـBitBox02",placeholder:"اسم جهاز جديد",title:"قم باختيار اسم BitBox02"},gotoStartupSettings:{description:"هذا الشي سيقوم بإعادة تشغيل جهاز BitBox02 و الدخول الى اعدادات بدء التشغيل",title:"إذهب الى اعدادات بدء التشغيل"}},vA={attestationFailed:"التحقق الاصلي قد فشل, مما قد يكون بسبب اعادة تشغيل التطبيق اثناء انتظار الجهاز لإدخال البيانات من المستخدم. يرجى اعادة الربط و المحاولة مجدداً. يرجى الاتصال عن طريق support@shiftcrypto.ch اذا تكررت المشكلة باستمرار",backup:{point1:"قم باختيار نسخة احتياطية من شريحة microSD",point2:"قم باختيار كلمة مرور لجهازك",restoreText:"حسناً لنبدأ باستعادة نسخة احتياطية",text1:"ممتاز, تم تثبيت كلمة المرور لجهازك BitBox02 و صنع المحفظة. الآن حان وقت انشاء اول نسخة احتياطية. يرجى التأكد من ادخال شريحة microSD في جهازك BitBox02 و الاستمرار",text2:"يرجى اتباع التعليمات التي تظهر على الشاشة على جهازك لإنشاء نسخة احتياطية",text3:"بعد إنشاء النسخة الاحتياطية، يرجى إزالة شريحة microSD خزنها في مكان آمن. محتويات شريحة microSD ليست محمية بكلمة مرور. لا تقم ابداً بإدخال الشريحة في اي جهاز آخر غير BitBox02 الخاص بك.",userConfirmation1:"يجب أن أقوم بتخزين النسخة الاحتياطية الخاصة بي في مكان آمن",userConfirmation2:"النسخة الاحتياطية الخاصة بي ليست محمية بكلمة مرور. يمكن لأي شخص قادر على الحصول على النسخة الاحتياطية من الدخول الى محفظتي",userConfirmation3:"إذا اضعت أو أتلفت جهاز BitBox02 فإن الطريقة الوحيدة لاسترداد أموالي هي عن طريق الاستعادة من النسخة الاحتياطية الخاصة بي",userConfirmation4:"إذا اضعت أو أتلفت كلاً من النسخة الاحتياطية و جهاز BitBox02 الخاصة بي فسأفقد أموالي",userConfirmation5:"يجب أن لا أقوم بإدخال النسخة الاحتياطية لشريحة microSD في جهاز كمبيوتر أو هاتف أو طابعة أو أي جهاز آخر غير BitBox02"},create:{button:"قم بتسمية الجهاز ثم الاستمرار",info:"فيما يلي الخطوات الأساسية التي ستتبعها من اجل إعداد BitBox الخاص بك: ",inputTitle:"اسم المحفظة",point1:"قم بتسمية جهازك",point2:"قم بتعيين كلمة مرور لجهازك",point3:"قم بإنشاء نسخة احتياطية",text:"حسنًا ، لنقم بإنشاء محفظة جديدة"},createBackupFailed:"فشل إنشاء نسخة احتياطية ، حاول مرة أخرى",initialize:{passwordText:"لنقم الآن بتعيين كلمة مرور لجهازك. استخدم ازرار التحكم في BitBox لإدخال كلمة مرور",passwordTitle:"قم بتعيين كلمة مرور لـ BitBox الخاص بك",text:"تم بنجاح ربط جهازك BitBox02 الخاص بك! لنبدأ الآن في تهيئة جهازك. ابدأ باختيار إنشاء محفظة جديدة، أو استعادة محفظة من نسخة احتياطية موجودة. يرجى التأكد من إدخال شريحة microSD في BitBox02 الخاص بك",tip:"نوصي بالاستمرار في مكان آمن",title:"قم بتهيئة BitBox الخاص بك"},insertSDCard:"يرجى التأكد من إدخال شريحة microSD في BitBox02 الخاص بك.",noPasswordMatch:"كلمات المرور غير متطابقة. حاول مرة اخرى",pairing:{failed:"لم يتم تأكيد الربط. يرجى إعادة توصيل BitBox02 الخاص بك",paired:"لقد قمت بالتأكيد على جهازك أن الرمز مطابق. إذا كان هذا صحيحًا يمكنك المتابعة بالكبس على الزر أدناه",title:"قم بتأكيد رمز الربط",unpaired:"تم اكتشاف BitBox02 جديد. يرجى التحقق من أن الكود التالي يطابق ما هو معروض على شاشة جهازك. قم بالكبس باللمس أسفل علامة الاختيار الموجودة على BitBox02 الخاص بك إذا تطابق الرمز، ثم اكبس فوق الزر أدناه للاستمرار"},restoreFromMnemonic:{failed:"فشلت الاستعادة من كلمات الاسترداد ، يرجى المحاولة مرة أخرى"},stepBackup:{beforeProceed:"قبل الاستمرار، يرجى قراءة هذه الاعتبارات الأمنية الهامة:",createBackup:"ستقوم الآن بإنشاء نسخة احتياطية على شريحة microSD الخاصة بك"},stepBackupSuccess:{fundsSafe:"للحفاظ على أموالك آمنة، يجب التذكير بما يلي:",title:"تمت استعادة النسخة الاحتياطية بنجاح"},stepConnected:{unlock:"أدخل كلمة مرور BitBox02 من اجل الدخول"},stepCreate:{description:"يتم استخدام هذا الاسم للجهاز و ايضاً للنسخة الاحتياطية",nameLabel:"اسم جهاز الـBitBox02",namePlaceholder:"جهازي الـBitBox02",title:"قم باختيار اسم لجهاز BitBox02",toastMicroSD:"يرجى التأكد من إدخال شريحة microSD في BitBox02 الخاص بك"},stepCreateSuccess:{removeMicroSD:"يرجى إزالة شريحة microSD من BitBox02 وتخزينها في مكان آمن",success:"لقد نجحت في إنشاء نسختك الاحتياطية"},stepInsertSD:{insertSDCard:"الرجاء إدخال شريحة microSD في BitBox02 للاستمرار",insertSDcardTitle:"قم بإدخال شريحة microSD"},stepPassword:{title:"قم باختيار كلمة مرور BitBox02",useControls:"استخدم ازرار التحكم في جهاز BitBox02 لاختيار كلمة مرور"},stepUninitialized:{create:"أرغب في إعداد BitBox02 جديد",restore:"أريد استعادة محفظتي من نسخة احتياطية",restoreMicroSD:"الاستعادة من شريحة microSD",restoreMnemonic:"استعادة من كلمات الاسترجاع",title:"قم بإعداد BitBox02 الخاص بك"},success:{text:`ممتاز! أصبح BitBox02 جاهزًا للاستخدام الآن + +لمزيد من المعلومات حول كيفية استخدام تطبيق BitBox ، يرجى استخدام دليل التطبيق عن طريق الكبس فوق علامة الاستفهام في الزاوية اليمنى في الاعلى`,title:"انت جاهز الآن"}},bA={button:"رمش"},kA={button:"قم بتحديث البرنامج الثابت الآن",button_install:"قم بتثبيت البرنامج الثابت الآن",progress:"التحديث: {{progress}}٪",progress_install:"التثبيت: {{progress}}٪",success:"تم التحديث بنجاح! يرجى إعادة توصيل الجهاز. و هذه المرة، لا تلمس الزر"},xA={abort:"الايقاف",back:"العودة",buy:"الشراء",changepin:"قم بتغيير كلمة مرور الجهاز",check:"قم بالتحقق من النسخة الاحتياطية",continue:"الاستمرار",copy:"النسخ",create:"الانشاء",dismiss:"رفض",done:"اكتمل",download:"تحميل",hiddenwallet:"إنشاء محفظة مخفية",next:"التالي",ok:"حسناً",previous:"سابق",receive:"استلام",restore:"استرجاع",select:"اختر",send:"إرسال",unlock:"فتح القفل",update:"تحديث",upgrade:"تحديث النسخة"},yA={info:{continue:"الموافقة و الاستمرار",crypto:"كريبتو",disclaimer:{intro:["لدينا شراكة مع MoonPay لنقدم لك طريقة سلسة لشراء {{name}} مباشرة داخل تطبيق BitBox. العملية تستغرق خطوات قليلة","منصة MoonPay تجعل شراء {{name}} سهلاً وسريعًا في أكثر من 160 دولة"],payment:{details:"يمكنك شراء {{name}} على الفور عبر MoonPay باستخدام طرق الدفع التالية. بطاقات الائتمان فورية و سهلة، ولكنها أكثر تكلفة بسبب زيادة مخاطر رد المبالغ المدفوعة. نوصي باستخدام خيار التحويل المصرفي لمبالغ أكبر. الحد الأدنى للرسوم هو 4 دولارات أمريكية / او يورو بما يعادلها",footnote:"يرجى ملاحظة أن أسعار صرف MoonPay يمكن أن تختلف عن تلك المستخدمة في BitBoxApp ، مما ينتج عنه مبالغ مختلفة قليلاً",table:{"1_description":"الرسوم الارخص تستغرق مدة قد تصل الى 3 أيام عمل","1_method":"التحويلات المصرفية (SEPA)","2_description":"رسوم أعلى ولكن سريعة وفورية","2_method":"بطاقات الائتمان والخصم",description:"الوصف",fee:"العمولة",method:"طريقة"},title:"طرق الدفع والرسوم"},privacyPolicy:"سياسة الخصوصية لـ MoonPay",protection:{description:"لا يقوم BitBoxApp بجمع أي بيانات عند شراء {{name}} و يتم التعامل مع الأموال الواردة معاملة عادية. يحتاج MoonPay إلى جمع بعض البيانات الشخصية للعمل. توضح سياسة الخصوصية الخاصة بهم بالتفصيل كيفية التعامل مع هذه البيانات",title:"حماية البيانات"},security:{description:"عند شراء {{name}} عبر MoonPay ، أنت تستخدم خدمة خارجية. هذه الخدمة خارج نطاق نظام حماية التهديد الامني في BitBox02 وتعتمد على سلامة وأمن البيئة التي يعمل بها برنامج BitBoxApp",link:"نظام الحماية للتهديد الأمني",title:"نظام الامن"},title:"مرحبًا بكم في متجرك الوحيد لشراء {{name}}"},next:"التالي",selectLabel:"اختر حسابك",selectPlaceholder:"اختر عملة",skip:"لا تظهر مرة أخرى",title:"شراء {{name}}"},title:"شراء {{name}}"},wA={newTitle:"كلمة مرور جديدة للجهاز",oldLabel:"كلمة مرور الجهاز الحالية"},jA={dataMissing:"جمع البيانات التاريخية ... يرجى الانتظار",dataUpdating:"تحديث البيانات...",filter:{all:"الكل",month:"شهر",week:"أسبوع",year:"سنة"}},BA="التحقق من شريحة microSD",SA="اكبس هنا",zA={abortInfo:"اضغط من اجل",abortInfoRedText:"الغاء",approveInfo:"استمر في الضغط لمدة 4 ثواني من اجل ",approveInfoGreenText:"التأكيد",info:"استمر في جهاز BitBox الخاص بك",infoWhenPaired:"أولاً على الهاتف المحمول المربوط ثم جهاز BitBox الخاص بك"},CA="يرجى التأكيد على جهازك",DA={appUpradeRequired:"جهاز BitBox الخاص بك غير متوافق مع تطبيق الكومبيوتر هذا. يرجى تنزيل وتثبيت أحدث إصدار"},AA={button:"تمكين المصادقة الثنائية (2FA)",condition1:"هل لديك نسخة احتياطية؟",condition2:"هل تعمل آلية التحقق من تطبيق الجوال؟",condition3:"المصادقة الثنائية 2FA تعطل النسخ الاحتياطية و الربط بتطبيقات الهاتف المحمول. يجب إعادة ضبط الجهاز للخروج من خاصية 2FA!",confirm:"تفعيل خاصية المصادقة الثنائية (2FA)",title:"تفعيل خاصية المصادقة الثنائية (2FA)"},_A={firmware:{newVersion:{label:"الإصدار المتوفر"},title:"البرنامج الثابت",upToDate:"تم تحديث جهازك",version:{label:"إصدار"}},hardware:{attestation:{false:"فشل التحقق من التصديق",label:"التحقق من التصديق",true:"جهاز BitBox02 الخاص بك موثوق"},sdcard:{false:"لم يتم الادخال",label:"شريحة microSD",true:"تم إدخالها"},securechip:"شريحة آمنة",title:"المعدات"},loading:"جاري استلام معلومات الجهاز ...",pairing:{lock:{false:"عاطل",label:"نظام المصادقة الثنائية (2FA)",true:"مفعلة"},mobile:{false:"مغلق",label:"تطبيق موبايل",true:"مفتوح"},status:{false:"غير مرتبط",label:"الحالة",true:"مرتبط"},title:"جاري الارتباط"},secrets:{manageBackups:"ادارة النسخ الاحتياطية",title:"أسرار"}},TA="هل تم تزويد BitBox الخاص بك بكلمة مرور للاسترداد؟ إذا كان الأمر كذلك، فأوقف عملية الإعداد واتصل بالدعم على الفور. لن تمنحك شركة Shift أبدًا محفظة باعدادات جاهزة و لن تقدم لك توصيات بكلمة مرور",EA={cancel:"الغاء",confirm:"تأكيد",confirmTitle:"تأكيد"},PA={accountAlreadyExists:"الحساب موجود مسبقاً",accountLimitReached:"لا يمكن إضافة حساب. تم الوصول إلى الحد الأقصى لعدد الحسابات لهذه العملة",aoppCallback:"حدث خطأ في ايصال العنوان إلى {{host}}",aoppInvalidRequest:"طلب غير صالح",aoppNoAccounts:"لا توجد حسابات متاحة",aoppSigningAborted:"تم إلغاء طلب ملكية العنوان",aoppUnknown:"حدث خطأ غير معروف",aoppUnsupportedAsset:"العملة غير مدعومة",aoppUnsupportedFormat:"لا توجد حسابات متوفرة تدعم صياغة العنوان المطلوب",aoppUnsupportedKeystore:"لا يمكن للجهاز المتصل توقيع رسائل لهذه العملة",aoppVersion:"نسخة غير معروفة"},NA={default:"الخيار الاصلي",setDefault:"تعيين {{code}} كخيار اصلي",title:"العملات"},LA={appVersion:"نسخة التطبيق:"},IA={enabled_false:"عاطل",enabled_true:"مفعلة"},$A="حدث خطأ. إذا لاحظت حصول أي مشاكل فيرجى إعادة تشغيل التطبيق",MA={buttons:{create:"أنشئ محفظة جديدة",restore:"استعادة محفظة من نسخة احتياطية"},paragraph:"الرجاء اختيار واحد من الخيارات التالية:",step:{1:{title:"حماية المعلومات"},2:{description:"قم بتعيين كلمة مرور للجهاز",title:"جهاز"},"3-create":{description:"أنشئ محفظة جديدة",title:"محفظة"},"3-restore":{description:"من نسخة احتياطية",title:"استرجاع"},"4-create":{title:"خلاصة"},"4-restore":{title:"خلاصة"}}},OA={accountDescription:{text:'خاصية النظرة العامة لحسابك ستظهر رصيدك وكذلك المعاملات الواردة والصادرة. يحتوي دليلنا في "الإعدادات" على مزيد من المعلومات حول كل نوع من الحسابات',title:"ما الذي يظهر لي في هذه الصفحة؟"},accountFiat:{text:"نعم. اكبس فوق أي شريط للاختيار من قائمة العملات التقليدية. يمكنك تغيير قائمة العملات في الإعدادات",title:"هل يمكنني عرض أسعار التحويل الأخرى؟"},accountIncomingBalance:{text:"مبلغ الوارد هو مجموع المبالغ المرسلة لحسابك ولكن لم يتم تأكيدها على الشبكة بعد",title:"ماذا يعني المبلغ الوارد؟"},accountInfo:{multipleXPubs:{text:`يرتبط كل ملف xpub بـ"النوع" المعروض: إما "Segwit (bech32) على الجهاز" أو "Segwit مبطن" أو "Taproot" (للبتكوين فقط). هذه هي أنواع البرامج النصية المستخدمة من قبل {{coinName}}. يقوم BitBoxApp بدمجها ، و ايضاً دعم أنواع نصوص متعددة في نفس الحساب. نظرًا لأن كل نوع نص برمجي يعطي xpub مختلف، فهناك عدة xpub لكل حساب. + +إذا كنت تستلم تحويلات مستمرة على العنوان الافتراضي (Native Segwit) ، فأنت تحتاج فقط إلى xpub "bech32". ومع ذلك ، إذا استلمت أيضًا أموالًا إلى "Wrapped Segwit" أو "Taproot" ، فستحتاج أيضًا إلى استخدام المفتاحين العلنيين الموسعين "Wrapped Segwit" و "Taproot" `,title:"لماذا يوجد العديد من ملفات xpub؟"},privacy:{text:`يكشف المفتاح العلني الموسع لهذا الحساب بالتحديد التاريخ المالي بالكامل ورصيد حسابك وجميع المعاملات المستقبلية. لكن xpub لا يسمح لأي شخص بإنفاق عملاتك + +إذا أعطيت xpub لشخص ما ، فيجب أن تدرك أن هذا الشخص أو الشركة يمكنها رؤية جميع المعاملات الأخرى لنفس الحساب. لذلك، ننصح باستخدام هذا الحساب لهذا الغرض فقط والاحتفاظ بأموال أخرى في حسابات مختلفة`,title:"هل أحتاج إلى الاحتفاظ بسرية xpub؟"},verify:{text:"نعم ، من الأفضل دائمًا إعادة التحقق من xpub الخاص بك. فهذا مهم بشكل خاص إذا قام شخص آخر بإنشاء عناوين استلام من xpub هذا لإرسال الأموال إليك. تحتاج إلى التحقق من ذلك على الجهاز للتأكد من أن xpub هذا ملك لك. خلاف ذلك فيمكن أن تذهب جميع الأموال إلى عناوين خاطئة.",title:"هل أحتاج إلى التحقق من xpub على الجهاز؟"},xpub:{text:`المفتاح العلني الموسع (xpub) هو مفتاح جذر تُشتق منه جميع عناوين الاستلام الخاصة بالحساب. + +يتم توفيرها هنا للاستخدام المتقدم وقابلية التشغيل البيني مع محفظات المراقبة فقط ، مثل Electrum أو Sentinel. إذا تلقيت أنواع عناوين مختلفة ، فيرجى استيراد جميع تنسيقات xpub المختلفة إلى محفظة المراقبة فقط لمتابعة جميع عملاتك. + +يرجى ملاحظة أن محافظ الطرف الثالث قد لا دعم Taproot xpubs حتى الآن`,title:"ما هو المفتاح العلني الموسع؟"}},accountRates:{text:"نقوم بتحديث أسعار الصرف كل دقيقة من CoinGecko",title:"ما هي أسعار الصرف المعتمدة؟"},accountReload:{text:"ليس هناك حاجة. يتم تحديث معلومات معاملاتك تلقائيًا",title:"هل يمكنني إعادة تحميل سجل المعاملات؟"},accountSendDisabled:{text:'يتم تنشيط الزر "إرسال" عندما يكون رصيدك أكثر من صفر',title:"لماذا لا يمكنني إرسال أي {{unit}}؟"},accountSummaryAmount:{text:`المبلغ الإجمالي هو مجموع جميع حسابات الكريبتو الخاصة بك. يتم الحصول على أسعار الصرف من موقع coingecko.com + +ملاحظة: إذا كنت تستخدم محفظة MyEtherWallet للتوكينات الغير مدعومة في BitBoxApp ، فلن يتم تضمينها في المبلغ المعروض`,title:"كيف يتم حساب المبلغ الإجمالي؟"},accountSummaryDescription:{text:"هنا يمكنك مشاهدة أداء محفظتك مع مرور الوقت. يتم عرض ملخص لحساباتك الكريبتو تحت الشارت",title:"ما الذي يظهر لي في هذه الصفحة؟"},accountTransactionAttributesBTC:{text:`الحجم الافتراضي: يحدد رسوم الشبكة. لقد نجحت في التوفير اذا كانت الرسوم اقل من حجم المعاملة. +الحجم: الحجم الفعلي للمعاملة بالبايت عند إجراء تسلسل وفقًا للبلوكشين الأساسية. +الوزن: مقياس جديد تم تقديمه مع Segwit لتقييم أحجام المعاملات والكتل. يتم احتساب كل بايت في Segwit كواحد ، وكل شيء آخر كأربع وحدات وزن. بدلاً من واحد ميغا بايت بالحجم الفعلي ، أصبح حد حجم الكتلة الآن أربعة ملايين وحدة وزن`,title:"ماذا عن تفاصيل المعاملات الخاصة ببيتكوين؟"},accountTransactionAttributesGeneric:{text:`التأكيدات: لا يتم تأكيد بث معاملتك حتى يقوم احد المعدنين بإدراجه عشوائياً في كتلة، وبعد ذلك يحصل تأكيد واحد للمعاملة. تضيف كل كتلة يتم بثها على الشبكة تأكيدًا آخر لمعاملتك. بشكل عام ، يقوم المتداولون والجهات الفاعلة الأخرى في الشبكة بتسوية المعاملات خلال ما بين ثلاثة إلى ستة تأكيدات فقط. +معرف المعاملة: رقم تعريف فريد يسمح لك بالبحث عن معاملة في مستكشف البلوكشين. +الرسوم: يتم دفع رسوم للمعدنين على المعاملات كحافز لتضمين المعاملات في الكتل التي يقومون بتعدينها. لمعرفة المزيد ، اكبس على زر الإرسال.`,title:"ما هي المعلومات الواردة في تفاصيل المعاملة؟"},accountTransactionConfirmation:{text:"تم بث معاملة على الشبكة ولكن لم يتم تأكيدها بعد",title:"ما هي المعاملة المعلقة؟"},accountTransactionLabel:{text:"إنه العنوان الذي تلقيت منه عملات أو أرسلت إليه عملات",title:"ما هو العنوان الذي يتم عرضه لكل معاملة؟"},accountTransactionTime:{text:"وقت تأكيد المعاملة على البلوكشين",title:"ما هو الوقت المعروض؟"},accounts:{howManyAccounts:{text:"يمكن أن يكون لكل عملة خمسة حسابات بحد أقصى",title:"كم عدد الحسابات التي يمكنني إنشاؤها؟"},howtoAddTokens:{text:'ترتبط العملات التي تستخدم بروتوكول ERC20 مرتبطة بحساب Ethereum معين. لتمكين أو تعطيل عملة معينة، افتح شاشة "إدارة الحسابات" ، وقم بتوسيع حساب Ethereum الخاص بك وقم بتشغيل العملة المطلوبة أو إيقاف تشغيلها',title:"كيف يمكنني إضافة عملات إضافية؟"},moveFunds:{text:"نعم. ولكن نظرًا لأن الحسابات مستقلة، فأنت بحاجة إلى إرسال أموالك باستخدام معاملة عادية",title:"هل يمكنني نقل الأموال بين الحسابات؟"},recoverAccounts:{text:"نعم. يقوم تطبيق BitBoxApp بإنشاء حسابات باستخدام معايير راسخة متوافقة مع معظم محافظ التشفير الأخرى",title:"هل يمكنني استعادة حساباتي بمحفظات أخرى؟"},whatAreAccounts:{text:"يمكن لمحفظتك إدارة حسابات متعددة لنفس العملة. الحسابات مفيدة عندما تريد فصل الاحتفاظ بالأموال عن بعضها",title:"ما هي الحسابات؟"},whyIsThisUseful:{text:'الحسابات ممتازة لإدارة الأموال لأشخاص أو أغراض مختلفة لأنها منفصلة. يمكنك أيضًا مشاركة "المفتاح العلني الموسع" لحساب ما دون الكشف عن أي شيء عن حساباتك الأخرى. يتيح لك ذلك تلقي الأموال بشكل متكرر دون إعادة استخدام العناوين، مثل تلقي راتبك أو شراء العملات المشفرة بانتظام',title:"لماذا هذا مفيد؟"}},appendix:{link:"اتصل بنا!",text:"سؤال آخر؟"},backups:{check:{text:'يسمح لك "التحقق من النسخة الاحتياطية" بالتحقق من أن لديك نسخة احتياطية صالحة للعمل تتوافق مع محفظتك الحالية. يمكن استخدامها أيضًا للتحقق من أنه لا يزال لديك كلمة مرور الاسترداد الصحيحة. يمكنك التحقق من كلمة مرور الاسترداد الرئيسية أو كلمة مرور الاسترداد المخفية',title:'ما هو "فحص النسخة الاحتياطية"؟'},encrypt:{text:"لا ، ولكن كلمة مرور الاسترداد مطلوبة لاشتقاق المحفظة من المفاتيح السرية المخزنة",title:"هل يمكنني تشفير النسخة الاحتياطية؟"},howOften:{text:`يتم إنشاء النسخة الاحتياطية تلقائيًا عند إنشاء محفظة جديدة. ما عليك سوى عمل نسخة احتياطية جديدة في حالة فقدان شريحة microSD أو تلفها ، أو إذا كنت تريد استخدام عدة شرائح microSD كنسخ احتياطية. +لا تحتاج إلى إنشاء نسخة احتياطية جديدة بعد اكتمال المعاملة. يمكن إعادة إنشاء جميع بيانات المعاملات الخاصة بك عن طريق النسخة الاحتياطية الفردية التي تم إنشاؤها تلقائيًا لك`,title:"كم مرة يجب علي عمل نسخة احتياطية؟"},whatIsABackup:{text:"إنها نسخة من المفاتيح السرية الموجودة على شريحة microSD. تنشئ المفاتيح مع كلمة مرور الاسترداد محفظتك",title:"ما هي النسخة الاحتياطية؟"}},backupsBB02:{check:{text:'يسمح لك "التحقق من النسخة الاحتياطية" بالتحقق من أن لديك نسخة احتياطية صالحة للعمل تتوافق مع محفظتك الحالية',title:'ما هو "فحص النسخة الاحتياطية"؟'},encrypt:{text:'لا. يرجى الحفاظ على شريحة microSD في مكان آمن ، لأنها تحتوي على المفاتيح غير المشفرة لاستعادة محفظتك. إذا كنت ترغب في حماية المفاتيح بكلمة مرور ، فيمكنك تمكين عبارة مرور اختيارية في الإعدادات المتقدمة ضمن "إدارة الجهاز"',title:"هل يمكنني تشفير النسخة الاحتياطية؟"},whatIsABackup:{text:"إنها نسخة من المفاتيح السرية الموجودة على شريحة microSD",title:"ما هي النسخة الاحتياطية؟"}},bitbox:{"2FA":{text:`عند تمكين المصادقة الثنائية (2FA) ، يجب الموافقة على جميع المعاملات على الهاتف المحمول المقترن من أجل إنفاق العملات. عند التعمق اكثر، يتم إرسال رقم مشفر للاستخدام الفردي إلى تطبيق الهاتف المحمول ، ويتم فك تشفيره هناك ، وإعادته إلى BitBox عند الضغط على زر القبول. يتم إجراء هذا الاتصال بالجهاز عبر القناة بين الهاتف المحمول وتطبيق سطح المكتب هذا الذي تم إنشاؤه أثناء الاقتران + +تأكد من عمل نسخة احتياطية من محفظتك وإقران تطبيق الهاتف المحمول قبل تمكين 2FA. بمجرد التمكين ، يتم تعطيل فتحة microSD وإقران تطبيق الهاتف المحمول. يمكن إعادة تمكينها عن طريق إعادة تعيين BitBox ، مما يمحي الجهاز`,title:"كيف يعمل المصادقة الثنائية (2FA)؟"},disable2FA:{text:'لتعطيل المصادقة الثنائية (2FA) ، تحتاج إلى إعادة تعيين BitBox الخاص بك ثم استعادة المحفظة من النسخة الاحتياطية الخاصة بها. تأكد من أنه لا يزال لديك شريحة microSD مع النسخة الاحتياطية وأنك ما زلت تتذكر كلمة مرور الاسترداد. ثم اضغط على "إعادة تعيين الجهاز". قم بتعيين كلمة مرور جديدة للجهاز واختر "أو استعادة نسخة احتياطية". حدد النسخة الاحتياطية التي قمت بإنشائها من المحفظة ، وانقر فوق "استعادة" وأدخل كلمة مرور الاسترداد التي استخدمتها عند إنشاء المحفظة',title:"كيف يمكنني تعطيل المصادقة الثنائية (2FA)؟"},ejectBitbox:{text:"يمكنك فصل BitBox في أي وقت دون الحاجة إلى ازالتها أولاً",title:"كيف يمكنني ازالة BitBox؟"},ejectSD:{text:"يمكنك إزالة بطاقة microSD من BitBox في أي وقت طالما أنك لست بصدد إنشاء نسخة احتياطية أو استعادتها",title:"كيف يمكنني إخراج شريحة microSD؟"},hiddenWallet:{text:"إنها محفظة ثانية على نفس الجهاز محمية بكلمة مرور مختلفة للجهاز وكلمة مرور استرداد ، والتي يمكنك استخدامها للإنكار القانوني المقبول. يتم استخدام نفس المفاتيح الاحتياطية لكل من محفظتك العادية والمخفية ، لذلك لا يلزم نسخة احتياطية إضافية",title:"ما هي المحفظة المخفية؟"},legacyHiddenWallet:{text:"أولاً ، إكبس فوق الزر أدناه (متاح إذا تم إلغاء تأمين BitBox باستخدام كلمة مرور الجهاز الرئيسية وتعطيل 2FA) ، ثم أعد توصيل Bitbox الخاص بك وقم بإلغاء قفله بكلمة مرور جهازك المخفية",title:"كيف يمكنني الوصول إلى المحفظة المخفية القديمة؟"},pairing:{text:"بعد تنزيل تطبيق الهاتف المحمول الخاص بنا لنظام التشغيل iOS أو Android ، تقوم بمسح رمز الاستجابة السريعة المعروض ، والذي ينشئ قناة آمنة بين تطبيق الهاتف المحمول وهذا التطبيق. بمجرد المسح ، اتبع التعليمات الموجودة في تطبيق الهاتف",title:"كيفية الربط بأمان مع هاتفك"}},cointracking:{text:'اكبس فوق الزر "تصدير" وافتح مجلد التنزيلات حيث ستجد تصدير ملف CSV. ثم اكبس فوق الرابط أدناه ، وقم بتحميل ملف BitBox CSV الخاص بك واستورد البيانات من أجل استخدامها لإدارة بورتفوليو خاص بك في CoinTracking ولإنشاء تقاريرك الضريبية',title:"كيف أستورد معاملاتي إلى CoinTracking؟"},device:{attestation:{link:{text:"اقرأ المزيد عن مسألة التحقق من المصداقية"},text:"يقوم تطبيق BitBoxApp بإجراء فحص المصادقة على جهاز BitBox02 للتحقق مما إذا كان الجهاز أصليًا. يتم الفحص محليًا ولا يتصل بأي سيرفيرات",title:"كيف يعمل نظام التحقق من المصداقية؟"},name:{text:"هذا هو اسم محفظتك والنسخة الاحتياطية. يستخدم الاسم للنسخة الاحتياطية المستقبلية ويمكن استخدامه للمساعدة في التمييز بين المحفظات المختلفة. يمكن تغييره في أي وقت ولكن لاحظ أن النسخة الاحتياطية التي تم إجراؤها قبل التغيير ستظل تستخدم الاسم السابق",title:"ما هو اسم جهاز BitBox02 المستخدم؟"},"secure-chip":{link:{text:"اقرأ المزيد عن الشريحة الآمنة"},text:"توضح هذه المعلومات رقم طراز الشريحة الآمنة. والشريحة الأحدث هي ATECC608B مع ميزات أمان محسّنة مقارنة بالطرازات القديمة",title:"لماذا يظهر نموذج الشريحة الآمنة؟"}},receive:{address:{text:"يمكنك إعطاء العنوان للآخرين لإرسال بعض العملات إليك. فقط تأكد من أنك ترسل إلى العنوان الصحيح",title:"ماذا أفعل بالعنوان؟"},addressChange:{text:"بمجرد إجراء المعاملة ، يتم إضافة عنوان جديد تلقائيًا إلى القائمة، لذلك هناك دائمًا 20 عنوان جديد متاح لم تستلم أي عملات مطلقًا",title:"متى تتغير العناوين؟"},addressFormats:{text:"في الاعدادت الاساسية، يكون نوع العنوان هو Native Segwit. يتم اعتماد هذا النوع من العناوين على نطاق واسع من قبل مختلف المحفظات و المنصات الاخرى ويمنحك أفضل معدلات الرسوم للمعاملات اليومية. ومع ذلك ، يمكنك أيضًا اختيار الإرسال إلى عنوان نوع Taproot (للبتكوين فقط) ، وهو أحدث نوع من العناوين، ولكن قد لا يكون مدعومًا على نطاق واسع حتى الآن. بدلاً من ذلك ، إذا كنت تواجه مشكلات في الإرسال إلى Native Segwit (النوع الاساسي) ، فيمكنك محاولة التبديل إلى نوع عنوان Segwit مبطن و هو النوع الأقدم الذي قد يكون متوافقًا مع اغلبية انواع المحفظات و المنصات.",title:'متى يجب ان أستخدم خاصية "تغيير نوع العنوان"؟'},howVerify:{text:`بالنسبة إلى جهاز BitBox01 ، اكبس فوق رمز BitBox في الشريط الجانبي على اليسار و سترى قسم الاقتران (الربط). سيتم تحديث الدليل ويمكنك الاستمرار في متابعة التعليمات من هناك. +بالنسبة إلى جهاز BitBox02 ، يمكنك التحقق من العناوين مباشرة على الجهاز أثناء عملية الإرسال و الاستلام`,title:"كيف يمكنني التحقق من العنوان بأمان؟"},plugout:{text:"لا ، بمجرد إرسال العملات إلى عنوان BitBox الخاص بك ، لن تحتاج إلى ترك BitBox الخاص بك متصلاً. أنت حر في فصل جهاز BitBox الخاص بك",title:"هل أحتاج إلى ترك جهاز BitBox الخاص بي متصلاً أثناء الاستلام؟"},why20:{text:'أثناء بدء التشغيل ، يُنشئ التطبيق عناوين مشتقة من مفاتيحك (١٢ او ٢٤ كلمة) لمعرفة ما إذا كانوا قد تلقوا أموالاً في الماضي. نظرًا لأن التطبيق يمكنه إنشاء عدد لا نهائي تقريبًا من العناوين ، فقد يقضي سنوات في تحديد الرصيد. للحد من هذا البحث ، يتوقف هذا البحث بعد أن يرى 20 عنوانًا لم تتلق أموالًا مطلقًا. هذا هو "حد الفجوة" و 20 هو معيار واقعي على الرغم من أن الرقم عشوائي. هذه هي 20 عنوانًا يمكنك الاختيار من بينها',title:"لماذا يوجد 20 عنوان فقط؟"},whyMany:{text:"للحفاظ على الخصوصية والأمان ، لا تقم أبدًا بإعطاء نفس العنوان مرتين. إذا كنت قد استخدمت عنوانًا ، فقم بالكبس فوق السهم الأيمن للحصول على عنوان جديد. يمكنك إنشاء ما يصل إلى 20 عنوانًا في المرة الواحدة. فكر في العناوين مثل أرقام الوصولات. جميع العناوين مشتقة من المفاتيح نسخة احتياطية واحدة.",title:"لماذا توجد الكثير من العناوين؟"},whyVerify:{text:"يجب أن لا تثق في جهاز الكمبيوتر الخاص بك لإنشاء وعرض عناوين أصلية. الكومبيوتر ساحة هجوم كبيرة و مستهدفة و يجعلها أكثر عرضة للخطر بشكل ملحوظ و هي اضعف من اجهزة المحفظات الباردة. بالنسبة لجهاز BitBox01 ، يرسل الزر للتحقق من العنوان بشكل آمن العنوان إلى هاتف محمول مقترن بالمحفظة ، حيث يمكنك أيضًا مسح رمز الاستجابة السريعة والتحقق منه. بالنسبة لـ BitBox02 ، يمكن التحقق من العنوان مباشرة على شاشة BitBox02 نفسها",title:"لماذا يجب علي التحقق من العنوان بأمان؟"}},send:{change:{text:"سيتم إرجاع التغيير إلى عنوان Taproot إذا كان لديك Taproot UTXO واحدة على الأقل. إذا كنت تستخدم خاصية التحكم في العملة Coin Control، فسيتم إرجاع التغيير إلى عنوان Taproot إذا كان هناك على الأقل Taproot UTXO واحدة بين UTXOs المحددة. في جميع الحالات الأخرى ، يتم إرجاع التغيير إلى عنوان Segwit الأصلي.",title:"كيف يتم تحديد ناتج التغيير؟"},fee:{text:`تعتمد الرسوم على حجم بيانات المعاملة وليس قيمتها. يتم حساب أهداف الرسوم بواسطة خوارزمية تقدير الرسوم في كود او برمجة Bitcoin Core لكل أولوية شبكة انت تختارها. يتم عرضها إذا كانت لها قيمة مختلفة عن الهدف أدناه. +الخيار التوفيري: التأكيد خلال 24 كتلة (حوالي 4 ساعات للبيتكوين ، وساعة واحدة للايتكوين) +منخفض: التأكيد خلال 12 كتلة (حوالي ساعتين للبيتكوين ، و 30 دقيقة للايتكوين) +عادي: التأكيد خلال 6 كتل (حوالي ساعة واحدة للبيتكوين ، و 15 دقيقة للايتكوين) +مرتفع: التأكيد خلال كتلتان (حوالي 20 دقيقة للبيتكوين ، و 5 دقائق للايتكوين) +(تستغرق الكتلة في المتوسط عشر دقائق للبيتكوين (2.5 دقيقة في للايتكوين) وقد يختلف الزخم على الشبكة بشكل كبير في الفترات المذكورة أعلاه)`,title:"كيف يتم تحديد الرسوم؟"},plugout:{text:"لا ، بمجرد إجراء معاملة ، لن تحتاج إلى ترك BitBox الخاص بك متصلاً. ولك مطلق الحرية في فصل BitBox الخاص بك",title:"هل أحتاج إلى ترك BitBox الخاص بي متصلاً أثناء الإرسال؟"},priority:{text:"كلما زادت الرسوم التي ترغب في دفعها ، زادت سرعة تأكيد معاملتك على الشبكة",title:"ما هي أولوية الشبكة؟"},revert:{text:`بمجرد توقيع المعاملة وإرسالها (أي بثها إلى الشبكة) ، لم يعد من الممكن التراجع عنها. تحقق من المعاملات (بما في ذلك الرسوم) بشكل صحيح قبل التوقيع! +إذا كنت تعرف المستلم وكان مستعدًا لإرسال نفس المبلغ (مطروحًا منه رسوم المعاملة) إليك ، فيمكنك إرسال عنوان استلام جديد له`,title:"هل يمكنني التراجع عن معاملة (ارسال او تداول)؟"},whyFee:{text:`تتنافس المعاملات على أن يؤكدها المعدنين. يختار المعدنون المعاملات ليتم تضمينها في البلوكشين بناءً على رسومهم. +يصوت المعدنين على تاريخ المعاملات. نظرًا لعدم وجود طرف ثالث موثوق به لفرض صوت واحد لكل شخص (وهذا هو الهدف الكامل من تقنية البلوكشين) ، يصوت المعدنون على المعاملات من خلال التضحية بمورد مكلف مثل قوة الحوسبة (صعوبة التعدين). كمكافأة على عملهم (اثبات الجهد)، يمكنهم المطالبة بالعملات التي تم إنشاؤها حديثًا ورسوم جميع المعاملات التي تضمنتها`,title:"لماذا توجد رسوم على الشبكة؟"}},"settings-electrum":{connection:{text:`إذا كنت تنوي الاتصال بالنود الخاصة بك فقط عندما تكون على نفس الشبكة (على سبيل المثال على انرنت wifi المنزلي الخاص بك) ، فإن استخدام اتصال الشبكة المنتظم كافي. +في هذه الحالة ، من المستحسن أن يوفر سيرفير Electrum الخاص بك شهادة TLS لتشفير الاتصال. +إذا كنت تنوي الاتصال بالنود الخاصة بك من أي مكان آخر، فإن استخدام Tor هو الخيار الأفضل. لا يلزم وجود شهادة TLS في هذه الحالة.`,title:"هل يجب أن أستخدم انترنت مفتوح TCP أو TLS أو Tor؟"},instructions:{link:{text:"الدليل لتوصيل النود الخاصة بك"},text:"للحصول على برنامج تعليمي كامل، يرجى زيارة دليلنا:",title:"كيف أقوم بتوصيل تطبيق BitBox الخاص بي بالنود الخاصة بي؟"},options:{text:`هناك العديد من الخيارات لتشغيل النود الخاصة بك ، مثل شراء جهاز مكتمل ، أو بناء Bitcoin Core الخاص بك أو تشغيله. +إذا كنت ترغب في توصيل تطبيق BitBoxApp بالنود الخاصة بك ، فتأكد من انها تشغل سيرفير Electrum و هو برنامج مخصص يسمح لتطبيق المحفظة بالاتصال بالنود الكاملة. +تشمل الخيارات المدعومة Electrs أو Electrum Personal Server (EPS) أو Bitcoin Wallet Tracker (BTW).`,title:"ما هي الخيارات المتاحة لتشغيل النود؟"},tor:{text:`يرمز Tor إلى "The Onion Router" ، وهو برنامج مجاني ومفتوح المصدر يوفر الكثير من مزايا الخصوصية وهو مفيد بشكل خاص عند استخدام Bitcoin. +إذا كنت تنوي الاتصال بالنود الخاصة بك عبر Tor ، فتأكد من تثبيت Tor على جهاز الكمبيوتر الخاص بك ثم قم بتمكين Tor Proxy في إعدادات BitBoxApp. +في معظم أنظمة التشغيل ، توجد طريقتان لتشغيل Tor: +1. عن طريق متصفح Tor: قم بتنزيل متصفح Tor من الانترنت وافتحه. سيسمح هذا لتطبيق BitBoxApp بالاتصال بشبكة Tor عن طريق ضبط المنفذ الالكتروني رقم 9150 في إعدادات Tor Proxy . +2. خدمة Tor التي تعمل في الخلفية: قم بتثبيت Tor daemon ، والتي تعمل دائمًا في الخلفية. يمكن لتطبيق BitBoxApp الاتصال عن طريق ضبط المنفذ الالكتروني رقم 9050 في إعدادات Tor Proxy.`,title:"ما هو Tor و Tor proxy وأي منفذ الكتروني يجب أن أستخدمه؟"},what:{text:"من الممكن تشغيل محفظتك عن طريق النود الخاصة بك بدلاً من استخدام سيرفيرات شركة Shift",title:"ما هذا؟"},why:{text:`تشغيل النود الخاصة بك ليس ضروريًا ولكنه يرفع درجة الخصوصية ويقلل من الحاجة إلى الثقة بالآخرين. +أولاً ، هذا يعني أنك تستخدم Bitcoin بشكل أكثر خصوصية لأن تطبيق BitBox لن يتصل بالسيرفرات لجلب سجل معاملاتك ؛ بدلاً من ذلك ، سيتم جلب هذه المعلومات من النود الخاصة بك. +ثانيًا ، تشغيل النود الخاصة بك يعني أن النود الخاصة بك تتحقق من جميع المعاملات نفسها ، مع التأكد من تطبيق قواعد الإجماع.`,title:"لماذا يجب علي تشغيل النود الخاصة بي؟"}},settings:{sats:{text:"ساتوشي ('sat' للاختصار) هي أصغر وحدة من البيتكوين. ساتوشي واحد يعادل مائة مليون من البيتكوين (0.00000001 BTC). تم تسميته على اسم مبتكر البيتكوين، ساتوشي ناكاموتو",title:"ما هو الساتوشي؟"},servers:{text:`يتواصل هذا التطبيق مع سيرفيرات Shift Crypto للتحقق من التحديثات وتحميل المعاملات وإرسال المعلومات إلى تطبيقات الهواتف المحمولة المقترنة. +يسترجع التطبيق أيضًا أحدث أسعار الصرف من CoinGecko. يتم حساب جميع التحويلات محليًا مما يعني أنه لا يتم إرسال أي بيانات حول حجم معاملتك على الإطلاق. +ملاحظة: بالنسبة لرموز Ethereum و توكينات ERC20 ، نستخدم واجهات برمجة تطبيقات من Etherscan.io.`,title:"مع أي سيرفيرات يتحدث هذا التطبيق؟"}},title:"الدليل",toggle:{close:"اغلاق الدليل",open:"الدليل"},trackingModePortfolioChart:{text:"على كومبيوتر سطح المكتب، مرر سهم الماوس فوق الشارت. على الهاتف المحمول، ضع إصبعك على الشارت واسحب أفقيًا",title:"كيف يمكنني ان ارى القيم التاريخية على الشارت؟"},unlock:{forgotDevicePassword:{text:"يجب عليك إعادة ضبط الجهاز واستعادة المحفظة من نسخة احتياطية باستخدام كلمة مرور الاسترداد",title:"ماذا أفعل إذا نسيت كلمة مرور الجهاز؟"},reset:{text:"أدخل كلمة مرور خاطئة للجهاز 15 مرة. تتطلب المحاولات القليلة الأخيرة لمسة طويلة على الجهاز",title:"كيف يمكنني إعادة ضبط الجهاز؟"}},waiting:{deviceNotRecognized:{text:`يجب أن يومض الجهاز مرة واحدة عند إدخاله. تأكد من إدخاله بالطريقة الصحيحة. إذا كنت تواجه مشكلة ، يرجى الاتصال بنا من خلال الرابط أدناه. + +BitBox01 غير مدعوم على الهاتف المحمول. يرجى استخدام تطبيق BitBox على سطح المكتب لتوصيل BitBox01 الخاص بك`,title:"لم يتم التعرف على جهاز BitBox01 الخاص بي"},getDevice:{link:{text:"شراء BitBox"},text:"يمكنك شراء جهاز BitBox من متجرنا على موقعنا في الإنترنت:",title:"كيف يمكنني الحصول على جهاز؟"},internet:{text:"نعم ، يلزم الاتصال بالإنترنت لمزامنة المحفظة وإرسال المعاملات واسترداد أحدث أسعار الصرف",title:"هل يحتاج هذا التطبيق اتصالاً بالإنترنت؟"},lostDevice:{link:{text:"مركز النسخة الاحتياطية"},text:"يمكنك استرداد حساباتك على جهاز BitBox جديد أو من خلال مركز النسخة الاحتياطية الخاص بنا",title:"لقد فقدت جهازي. ماذا افعل الآن؟"},useWithoutDevice:{text:"للأسف هذا غير ممكن في الوقت الحالي",title:"هل يمكنني استخدام التطبيق بدون جهاز؟"},welcome:{text:"شكرًا لاستخدام هذا التطبيق الذي صممته شركة Shift Crypto في سويسرا. نحن نقدر أي اقتراح لديك لمشاركته معنا. يرجى تقديم الملاحظات باستخدام الرابط في الأسفل",title:"مرحبًا بك في تطبيق BitBoxApp!"}}},RA={blocksSynced:"{{blocks}} عدد البلوكات التي تم مطابقتها"},FA={info1HTML:"لأغراض الإنكار القانوني ، يمكن إنشاء محفظة مخفية بناءاً على اختلاف كلمة مرور الجهاز + كلمة مرور الاسترداد",info2HTML:"حدد كلمة مرور الجهاز وكلمة مرور الاسترداد التي تريد ربطها بمحفظتك المخفية أدناه. يجب أن تكون كلمة مرور الجهاز وكلمة مرور الاسترداد مختلفة من تلك التي حددتها لمحفظتك الأساسية",passwordLabel:"كلمة مرور استرداد المحفظة المخفية",passwordPlaceholder:"يرجى تأكيد كلمة مرور استرداد المحفظة المخفية",pinLabel:"كلمة مرور جهاز المحفظة المخفية",pinRepeatLabel:"كرر كلمة مرور جهاز المحفظة المخفية",pinRepeatPlaceholder:"يرجى تأكيد كلمة مرور جهاز المحفظة المخفية",success:"تم إنشاء المحفظة المخفية بنجاح. أعد توصيل BitBox للدخول للمحفظة"},VA={create:"تعيين كلمة مرور الجهاز",creating:"جاري تعيين كلمة مرور الجهاز ...",error:{e102:"يجب أن تتكون كلمة مرور الجهاز من 4 أحرف على الأقل"},info:{description1:"اختر كلمة مرور جهازك. سيتم استخدامها للدخول الى جهاز BitBox الخاص بك",description2:"يمكنك استخدام الأرقام والحروف والرموز. توفر كلمات المرور الأطول مستوى أمن أعلى",description3:"إذا فقدت كلمة مرور الجهاز ، فسيتعين عليك إعادة ضبط جهازك واستعادة النسخة الاحتياطية من محفظتك",subtitle:"الآن ستقوم بتعيين كلمة مرور جهازك",title:"جاري تهيئة جهازك"},input:{label:"كلمه مرور الجهاز",labelRepeat:"كرر كلمة مرور الجهاز",placeholderRepeat:"يرجى تأكيد كلمة مرور الجهاز"}},WA="صيغة غير صالحة",UA={title:"اختر اللغة"},qA={disable:"تعطيل خاصية المحفظة القديمة المخفية ",enable:"تفعيل خاصية المحفظة القديمة المخفية ",successDisable:"تم تعطيل خاصية المحفظة القديمة المخفية",successEnable:"تم تفعيل المحفظة القديمة المخفية. أعد توصيل BitBox وأدخل كلمة مرور الجهاز المخفية للوصول إلى المحفظة المخفية القديمة"},HA="جاري التحميل…",KA={editAccount:"تعديل",editAccountNameTitle:"تعديل اسم الحساب",noAccounts:"لم يتم العثور على حسابات",settings:{hideTokens:"إخفاء العملات",showTokens:"إظهار العملات ({{activeTokenCount}})"},settingsButtonDescription:"إضافة وإظهار او إخفاء الحسابات",title:"إدارة الحسابات"},GA={usingMobileDataWarning:"استخدام بيانات الهاتف المحمول: قد يقوم هذا التطبيق بتنزيل ما يصل إلى بضع مئات من الميجابايت من بيانات تعريفية للبلوكشين بعد فتح الحساب. يرجى الاتصال بالانترنت Wi-Fi لتجنب الضغط على انترنت الجوال. لن تظهر هذه الرسالة لك مرة أخرى بعد هذه المرة"},QA={input:{description:"(اختياري)",placeholder:"اضف ملاحظة…"},title:"ملاحظة"},YA={newTxs_one:"معاملة جديدة في: {{accountName}}",newTxs_other:"{{count}} معاملات جديدة في: {{accountName}}"},ZA={aborted:{text:"تم إلغاء الاقتران من تطبيق الهاتف المحمول",title:"تم الايقاف"},button:"إقران تطبيق الهاتف المحمول",confirm:"هل أنت متأكد أنك تريد إقران BitBox الخاص بك؟ يرجى ملاحظة انك ستحتاج الهاتف المحمول لتنفيذ اي تداول بعد إقران الهاتف",connectOnly:{button:"ربط تطبيق الهاتف المحمول",title:'امسح باستخدام تطبيق الهاتف المحمول الخاص بالجهاز عن طريق تحديد الخيار من القائمة "الاتصال بتطبيق سطح المكتب الجديد"'},error:{text:"حدث خطأ ما. يرجى البدء مرة أخرى",title:"خطأ"},pullFailed:{text:"فشلت محاولة جلب الرسالة من هاتفك المحمول عبر سيرفير التوصيل. قد يكون سيرفير التوصيل غير متصل بالإنترنت، يرجى الاتصال بالدعم",title:"فشل الجلب"},reconnectOnly:{button:"أعد توصيل تطبيق الهاتف المحمول"},scanningFailed:{text:"لم يستطع الهاتف المحمول من مسح الرسالة بنجاح. حاول مرة اخرى",title:"فشل المسح"},start:{hideAppQRCode:"إخفاء رمز الاستجابة السريعة QR",revealAppQRCode:"إظهار رمز الاستجابة السريعة QR",step1:"إذا لم يكن لديك تطبيق الهاتف المحمول، فيمكنك مسح رمز الاستجابة السريعة QR لـ Apple App Store أو Google Play Store اعتمادًا على نوع الهاتف الذي لديك",step2:'قم بالمسح باستخدام تطبيق الهاتف المحمول الخاص بنا، والذي يمكنك العثور عليه تحت اسم "Digital Bitbox 2FA" في متاجر التطبيقات لنظامي التشغيل iOS و Android:'},started:{text:"الآن يرجى اتباع التعليمات الموجودة في تطبيق الهاتف المحمول",title:"رائع"},success:{text:"مبروك، لقد نجحت في إقران (ربط) جهاز BitBox الخاص بك بتطبيق الهاتف المحمول!",title:"نجاح"},timeout:{text:"انتهت مهلة الاقتران (الربط) بعد دقيقتين. ابدأ مرة أخرى إذا كنت لا تزال تريد إقران تطبيق الهاتف المحمول",title:"نفاذ الوقت"},title:"ربط الهاتف المحمول"},JA={considerations:{button:"اعتبارات النسخة الاحتياطية",message:`تضيف كلمة المرور طبقة من الحماية إلى النسخة الاحتياطية من محفظتك (شريحة microSD أو 24 كلمة). إذا كان لدى شخص ما حق الوصول إلى نسختك الاحتياطية ، فسيحتاج أيضًا إلى كلمة المرور للوصول إلى محفظتك. + +ومع ذلك ، هذا يعني أنك ستحتاج كلا من عبارة المرور + النسخة الاحتياطية للمحفظة لاستعادة محفظتك التي تدعم كلمة المرور ، في حالة فقدان او عطل BitBox02. إذا نسيت أو فقدت كلمة مرورك ، فستفقد إمكانية الوصول إلى جميع العملات الموجودة في تلك المحفظة. + +عند تخزين كلمة مرورك ، ضع في اعتبارك وضعها في مكان منفصل عن النسخة الاحتياطية. بهذه الطريقة ، إذا وجد شخص ما النسخة الاحتياطية الخاصة بك ، فلن يجد كلمة مرورك أيضًا.`,title:"اعتبارات النسخة الاحتياطية"},disable:"تعطيل كلمة المرور",disableInfo:{button:"تعطيل",message:`بعد تعطيل خاصية طلب كلمة المرور ، لن يتم الطلب منك لإدخال كلمة مرور بعد إلغاء القفل BitBox02. لذلك ، سوف تدخل محفظتك الافتراضية. + +ستظل جميع العملات في المحفظة ذات كلمة المرور كما هي في المحفظة ، ولكن لن تتمكن من الوصول إليها لأنه بعد فتح BitBox02 ، ستفتح محفظتك الاساسية الاولى. + +للوصول إلى المحفظة ذات كلمة المرور الخاصة بك مرة أخرى ، ما عليك سوى إعادة تمكين ميزة كلمة المرور وإدخال كلمة المرور الخاصة بها بعد إلغاء قفل BitBox02. + +نصيحة: لا يزال بإمكانك دخول محفظتك الأصلية عن طريق ترك كلمة المرور فارغة.`},enable:"تفعيل كلمة المرور",error:{e104:"تم إيقاف تغيير إعداد كلمة المرور"},how:{button:"كيف تظهر",message:`لا تعمل كلمة المرور مثل كلمة المرور التي اعتدت عليها. إذا أخطأت في كتابة كلمة مرورك ، فلن يتم تنبيهك. هذا بسبب كل كلمة مرور تنشئ محفظة مختلفة ولكنها صالحة. هذا يعني أنه يمكنك استخدام كلمات مرور متعددة لأي عدد تريده من المحفظات. ولكن لا يمكن الوصول إلى كل محفظة إلا عند كتابة كلمة المرور المقابلة. + +عند توصيل BitBox02 ، ستتم مطالبتك بكلمة مرور الجهاز كالمعتاد. بعد ذلك ، سيُطلب منك إدخال كلمة مرور على الجهاز. + +بعد إدخال كلمة المرور ، ستظهر لك كلمة المرور التي أدخلتها. هذا حتى تتمكن من تأكيد أنك أدخلته بشكل صحيح.`,title:"كيف تعمل"},intro:{message:`توفر كلمة المرور طبقة إضافية من الأمان على محفظتك. +دعونا نتعلم كيف تعمل`,title:"إعداد كلمة المرور"},progressDisable:{message:"قم بتأكيد الاختيار على جهاز المحفظة لايقاف تفعيل كلمة المرور الاختيارية",title:"قم بالتأكيد على الجهاز"},progressEnable:{message:"قم بتأكيد الاختيار على جهاز المحفظة لتفعيل كلمة المرور الاختيارية",title:"قم بالتأكيد على الجهاز"},successDisabled:{message:`تم التفعيل بنجاح لكلمة المرور الاختيارية! +سيبدأ طلب كلمة مرور منك من الآن فصاعدًا.`,messageEnd:"يرجى إعادة توصيل BitBox02 الآن",title:"تم تفعيل خاصية كلمة المرور"},successEnabled:{message:`تم ايقاف التفعيل بنجاح لكلمة المرور الاختيارية! + +لن يتم طلب كلمة مرور منك بعد الآن.`,messageEnd:"يرجى إعادة توصيل BitBox02 الخاص بك الآن",tips:"نصائح",tipsList:["نقترح إرسال مبلغ صغير إلى المحفظة التي فيها كلمة المرور أولاً. ثم افصل جهاز BitBox02 وأعد توصيله وأدخل كلمة السر وكلمة المرور الخاصة بك. إذا أدخلت كلمة المرور بشكل صحيح فستجد العملات في محفظتك","إذا كنت تريد الدخول الى محفظتك الأصلية بدون كلمة مرور ، فلا يزال بإمكانك القيام بذلك عن طريق عدم إدخال أي شيء عند مطالبتك بإدخال كلمة المرور. أو يمكنك تعطيل ميزة كلمة المرور"],title:"الغاء تفعيل كلمة المرور"},summary:{button:"تفعيل كلمة المرور",title:"خلاصة",understand:"انا أفهم كيف تعمل كلمة المرور والمخاطر المرتبطة بها",understandList:["كلمة المرور هي طبقة أمان إضافةً الى النسخة الاحتياطية","سيؤدي إدخال كلمة مرور مختلفة إلى إنشاء محفظة مختلفة","لاستعادة محفظتك تحتاج كل من كلمة المرور والنسخة الاحتياطية","إذا نسيت كلمة مرورك ، فلن يكون بإمكانك الوصول إلى عملاتك"]},what:{button:"تعلم كيف يعمل هذا الشي",message:`يتم إنشاء (اشتقاق) المحفظة من رقم عشوائي كبير جدًا ، يُعرف أيضًا باسم المفاتيح. يتم إنشاء هذه المفاتيح عند إعداد BitBox02 لأول مرة ويتم نسخها احتياطيًا باستخدام شريحة microSD أو 24 كلمة. أي شخص لديه حق الوصول إلى البذور لديه سيطرة كاملة على الأموال الموجودة في تلك المحفظة. + +عبارة المرور هي ملف سر اختياري، يضاف إلى المفاتيح (الكلمات السرية). عند استخدام كلمة مرور ، تُنشئ كل كلمة مرور محفظة جديدة بناءاً على المفاتيح + كلمة المرور (سر اختياري). يمكن أن تكون كلمة المرور أي شيء: أحرف أو كلمات أو أحرف خاصة أو يمكن أن تكون فارغة. المحفظة الاصلية مشتقة في الواقع من المفاتيح + كلمة مرور فارغة. + +تعد كلمة المرور جزءًا من معيار BIP39 ، مما يعني أنها متوافقة مع جميع المحفظات التي تدعم نفس المعيار`,title:"ما هي كلمة المرور؟"},why:{button:"لماذا استخدام كلمة المرور",message:`يحمي BitBox02 المفاتيح من الاستخراج من الجهاز نفسه ، لكن النسخة الاحتياطية (شريحة microSD أو 24 كلمة) تتيح الوصول الكامل إلى المحفظة. لهذا يجب تخزينها في مكان آمن! + +نظرًا لأن كلمة المرور تنشئ محفظة جديدة باستخدام مفاتيحك الحالية ، فإن محفظة كلمة المرور تتطلب كلاً من ملف النسخة الاحتياطية و كلمة المرور للاستعادة. وتتمثل فائدة ذلك في أنه إذا وجد شخص ما النسخة الاحتياطية الخاصة بك ، فسيظل بحاجة إلى كلمة المرور للوصول إلى المحفظة المحمية بكلمة المرور. + +بالإضافة إلى ذلك ، تتيح لك ميزة كلمة المرور إنشاء محفظات متعددة على نفس الجهاز ، أو "محفظات مخفية" بالإضافة إلى المحفظة الافتراضية.`,title:"لماذا استخدام كلمة المرور؟"}},XA={show:"عرض {{label}}",warning:{caps:"تحذير: تم تمكين caps lock (⇪)",paste:'للصق النص، قم بتمكين "إظهار {{label}}"'}},e_={button:"صناعة رقم عشوائي",description:"أنشأ BitBox الخاص بك الرقم العشوائي {{bits}}-بت التالي:"},t_={changeScriptType:"تغيير نوع العنوان",label:"عنوانك",onlyThisCoin:{description:"لتلقي العملات الأخرى ، قم بتمكينها في الإعدادات. إذا قمت بإيداع عملات مختلفة ، فقد يتعذر الوصول إليها",warning:"تأكد من أنك تستلم {{coinName}} فقط على هذا العنوان"},scriptType:{p2tr:"Taproot (أحدث صيغة)",p2wpkh:"Native Segwit (اصلي)","p2wpkh-p2sh":"الـ Segwit المبطن (صيغة متوافقة)"},showFull:"إظهار العنوان الكامل على الجهاز والتحقق منه",taprootWarning:"ملاحظة: Taproot هي ميزة بروتوكول جديدة من بتكوين ولم يتم اعتمادها على نطاق واسع بعد. قد لا تظهر الأموال المستلمة على عناوين Taproot في محفظات المراقبة فقط التابعة لجهات خارجية. العديد من المحفظات والتبادلات ليست قادرة بعد على الإرسال إلى عناوين Taproot",title:"استلم {{accountName}}",verify:"تحقق من العنوان بشكل آمن",verifyBitBox01:"تحقق من العنوان على تطبيق الهاتف المحمول",verifyBitBox02:"تحقق من العنوان على BitBox02",verifyInstruction:"يرجى التحقق من أن العنوان التالي يطابق العنوان المعروض على جهازك",warning:{secureOutput:'يرجى إقران BitBox بجهازك المحمول لتمكين التحقق من العنوان الآمن. انتقل إلى "إدارة الجهاز" في الشريط الجانبي'}},n_={description:"سيتم حذف جميع البيانات الموجودة على الجهاز. بما يتضمن مفتاحك الخاص!",notReset:"لم يتم إعادة ضبط الجهاز",title:"جهاز إعادة ضبط المصنع",understand:"لدي نسخة احتياطية وأعرف كلمة مرور الاسترداد الخاصة بي",understandBB02:"لدي نسخة احتياطية صالحة"},a_={create:{description1:"نوصيك بإعداد جهازك في مكان آمن، مما يعني أنك بعيد عن الأشخاص الآخرين الذين يمكنهم رؤية كلمة المرور التي تختارها",description2:"سيُطلب منك إنشاء كلمتين من كلمات المرور",description3:"الأول هو كلمه مرور الجهاز الذي يفتح جهاز BitBox الخاص بك ويمكن تغييره لاحقاً",description4:"والثاني هو استعادة كلمة المرور الذي يفتح محفظتك. لا يمكن تغيير كلمة المرور هذه لاحقاً",description5:"سيتم نسخ المحفظة التي تقوم بإنشائها احتياطيًا في ملف موجود على شريحة microSD المتوفرة. يمكن استخدام هذا في حالات الطوارئ لاسترداد أموالك باستخدام استعادة كلمة المرور.",title:"بيانات امنية"},restore:{description1:"سيُطلب منك إدخال شريحة microSD التي استخدمتها لتخزين النسخة الاحتياطية",description2:"لاستعادة جهازك ، ستحتاج إلى كلمة مرور الاسترداد الخاصة بك",description3:"يرجى توخي الحذر عند إدخال كلمة مرور الاسترداد. أي كلمة مرور تدخلها ستنشئ محفظة صالحة. إذا أدخلت كلمة مرور خاطئة ، فقد يظهر لك رصيد خاطئ في المحفظة",title:"بيانات امنية"}},i_={agreements:{"funds-access":"لن أتمكن من الوصول إلى أموالي إذا نسيت كلمة مرور الاسترداد الخاصة بي","password-change":"لا يمكنني تغيير كلمة مرور الاسترداد لاحقاً","password-required":"كلمة مرور الاسترداد مطلوبة لاستعادة المحفظة من نسخة احتياطية"},create:"صنع المحفظة",creating:"إنشاء المحفظة",description:"انا افهم التالي:",error:{e102:"يجب ان تحتوي كلمة المرور على 4 رموز على الاقل",e200:"تحتاج إلى إدخال شريحة microSD في BitBox الخاص بك من أجل إنشاء محفظة، بحيث يمكن إنشاء نسخة احتياطية تلقائيًا"},info:{button:"قم بتعيين كلمة مرور الاسترداد الآن",description1:"أدخل شريحة microSD في BitBox",description2:'اختر كلمة مرور استرداد للمحفظة و حدد "تعيين كلمة مرور الاسترداد الآن"',description3:"النسخة الاحتياطة لشريحة microSD وكلمة مرور الاسترداد هي الطريقة الوحيدة لاسترداد أموالك في حالة فقدان جهاز BitBox أو سرقته",description4:"لا يمكنك تغيير كلمة مرور الاسترداد الخاصة بك لاحقًا دون تحويل أموالك",title:"أنشئ محفظة جديدة"},password:{label:"استعادة كلمة المرور",repeatPlaceholder:"تكرار كلمة استعادة المرور"},walletName:{label:"اسم المحفظة"}},o_={error:{e200:"تتطلب عملية استعادة محفظة من نسخة احتياطية وجود شريحة microSD"},info:{description1:'أدخل شريحة microSD في BitBox و اكبس على "استمرار"',description2:'اختر نسخة احتياطية و اكبس على "استعادة"',description3:"أدخل كلمة مرور الاسترداد",description4:"تحتاج إلى التأكيد لفهم أن كلمة المرور غير الصحيحة ستؤدي إلى إنشاء محفظة مختلفة",title:"كيفية استعادة محفظة من نسخة احتياطية"}},r_={abort:"تم إيقاف المعاملة",address:{label:"عنوان المستلم",placeholder:"أدخل العنوان"},amount:{label:"المبلغ",placeholder:"أدخل المبلغ"},availableBalance:"الرصيد المتبقي",button:"إعادة التدقيق",coincontrol:{address:"عنوان",outpoint:"نقطة الخروج",title:"أرسل من الإخراج"},confirm:{"selected-coins":"عملات مختارة",title:"تأكيد و إرسال المعاملة",total:"المجموع"},error:{erc20InsufficientGasFunds:"يبدو أنه ليس لديك ما يكفي من الاثيريوم للدفع مقابل معاملة ERC20 هذه. يرجى التأكد من أن لديك ما يكفي من الاثيريوم في محفظتك",feeTooLow:"رسوم منخفضة للغاية",feesNotAvailable:"لا يمكن تقييم الرسوم",insufficientFunds:"رصيد غير كافي",invalidAddress:"عنوان خاطئ",invalidAmount:"مبلغ غير صحيح",invalidData:"بيانات غير صالحة"},fee:{customPlaceholder:"أدخل المبلغ",label:"رسوم الشبكة",placeholder:"غير متوفر"},feeTarget:{customLabel:"معدل الرسوم",customLabel_eth:"سعر عمولة الجاز",description:{economy:"4 ساعات (24 بلوك)",economy_eth:"30 دقيقة أو أقل",economy_ltc:"ساعة واحدة (24 بلوك)",high:"20 دقيقة (بلوكين)",high_eth:"30 ثانية أو أقل",high_ltc:"5 دقائق (بلوكين)",low:"ساعتان (12 بلوك)",low_eth:"5 دقائق أو أقل",low_ltc:"30 دقيقة (12 بلوك)",normal:"1 ساعة (6 بلوكات)",normal_eth:"دقيقتان أو أقل",normal_ltc:"15 دقيقة (6 بلوكات)"},estimate:"تقدير مدة التأكيد:",label:{custom:"معدلة",economy:"توفيري",high:"عالية",low:"منخفضة",normal:"عادي"},placeholder:"جاري حساب الرسوم ..."},maximum:"أرسل كل شيء",maximumSelectedCoins:"أرسل العملات المختارة",priority:"أولوية",scanQR:"مسح رمز الاستجابة السريعة QR",signprogress:{description:"هذه معاملة تحتوي على الكثير من البيانات. لتوقيع المعاملة بالكامل ، سيُطلب منك التأكيد {{steps}} مرات",label:"تقدم"},success:"تم توقيع المعاملة وإرسالها",title:"إرسال {{accountName}}",toggleCoinControl:"تبديل خاصية التحكم في العملة coin control",transactionDetails:"تفاصيل المعاملة"},s_={electrum:{add:"أضف السيرفير","add-server":"اضافة",check:"تأكد",checkFailed:"فشلت المحاولة",checkSuccess:"تم بنجاح إنشاء اتصال بـ {{host}}",checking:"التأكد","download-cert":"قم بتنزيل الشهادة عن بعد","remove-server":"حذف",removeConfirm:"حذف {{server}}؟",reset:"إعادة الحالة إلى الحالة الاصلية",resetConfirm:"هل تريد إزالة جميع السيرفيرات وتثبيت السيرفيرات الافتراضية؟",servers:"سيرفيرات",step1:"1","step1-text":"قم بإدخال نقطة النهاية",step2:"2","step2-text":"أدخل شهادة من سلسلة شهادات السيرفير. أو بدلاً من ذلك ، قم بتنزيل الشهادة عن بُعد ومقارنتها بصريًا","step2-text-tcp":"يمكنك تخطي هذه الخطوة إذا كنت لا تريد استخدام TLS",step3:"3","step3-text":"تحقق من الاتصال وأضف السيرفير",step4:"4","step4-text":"أعد تشغيل المحفظة. إذا لم تقم بإزالة السيرفيرات الاولية، فستتم إضافة النود الخاصة بك كاحتياط","title-btc":"سيرفيرات Electrum لعملة بتكوين ","title-ltc":"سيرفيرات Electrum لعملة لايتكوين ","title-tbtc":"سيرفيرات Electrum للشبكة التجريبية لعملة بتكوين ","title-tltc":"سيرفيرات Electrum للشبكة التجريبية لعملة لايتكوين "},expert:{coinControl:"تفعيل خاصية التحكم في العملة coin control",electrum:{title:"قم بتوصيل النود الخاصة بك"},fee:"تفعيل الرسوم القابلة للتعديل",setProxyAddress:"تعيين عنوان بروكسي",title:"الإعدادات المتقدمة",useProxy:"تفعيل tor proxy",useSats:"عرض قيم البتكوين بوحدة Satoshi"},header:{home:"الواجهة الرئيسية"},info:{"out-of-date":"هنالك تحديث جديد",title:"معلومات","up-to-date":"تطبيقك فيه آخر تحديث",version:"نسخة التطبيق"},restart:"يرجى إعادة تشغيل تطبيق BitBox من اجل تفعيل التغييرات",services:{title:"الخدمات"},success:"يرجى فصل BitBox وإعادة توصيله من اجل تفعيل التغييرات",title:"الإعدادات"},l_="إعداد الجهاز",c_={buy:"شراء العملات المشفرة",device:"إدارة الجهاز",leave:"الخروج",settings:"إعدادات"},u_={create:{info1:"تم نسخ محفظتك احتياطيًا بشكل آمن إلى شريحة microSD. قم بإزالته واحتفظ به بشكل آمن في مكان آمن",info2:"لقد أنشأت كلمة مرور آمنة للجهاز لفتح قفل BitBox",info3:"لقد أنشأت كلمة مرور آمنة لاسترداد محفظتك و الدخول الى أموالك و استعادة نسختك الاحتياطية",summary:"هنا ملخص لما قمت به",title:"نجاح"},getstarted:"البدء",restore:{summary:"لقد نجحت في استعادة محفظة من نسختك الاحتياطية",title:"النجاح"}},d_={confirmation:"التأكيدات",details:{activity:"النشاط",address:"عنوان",amount:"المبلغ",date:"التاريخ",fiat:"العملة التقليدية (فيات)",fiatAmount:"كمية مبلغ العملة التقليدية",fiatAtTime:"العملة التقليدية في وقت التداول",status:"الحالة",type:"النوع"},explorer:"رقم المعاملة",explorerTitle:"فتح في مستكشف البلوكشين",fee:"العمولة",fiatHistorical:"تاريخي",gas:"عمولة الجاز",note:{edit:"تعديل مذكرة",save:"احفظ المذكرة"},pending:"عملية تداول معلقة",size:"حجم",status:{complete:"اكتملت",failed:"فشلت المحاولة",pending:"قيد الانتظار"},tx:{received:"تم الاستلام الى",sent:"تم الارسال الى"},vsize:"الحجم الافتراضي",weight:"وزن"},p_={placeholder:"لا توجد معاملات حتى الآن"},h_="حدث خطأ غير معروف: {{errorMessage}}",m_={description:"أدخل كلمة مرور جهازك لفتح قفل جهازك",error:{e109_normal:"كلمة مرور الجهاز خاطئة. {{remainingAttempts}} محاولات متبقية قبل إعادة ضبط الجهاز",e109_touch:"$t(unlock.error.e109_normal) يتطلب تسجيل الدخول التالي الضغط على زر اللمس",e113:"نظرًا لمحاولات تسجيل الدخول العديدة ، يتطلب في محاولة تسجيل الدخول التالية ان تضغط على زر اللمس لمدة 4 ثواني"},input:{label:"كلمه مرور الجهاز",placeholder:"أدخل كلمة مرور جهازك لفتح قفل الجهاز"},unlocking:"جاري فتح القفل ..."},f_={button:"تحديث البرنامج الثابت",description:"هل تريد ترقية البرنامج الثابت من الإصدار {{currentVersion}} إلى {{newVersion}}؟",label:"يتطلب جهازك BitBox تحديث البرنامج الثابت",locked:"للتحديث من {{currentVersion}} إلى {{newVersion}}، من فضلك قم بلمسة طويلة",title:"تحديث البرنامج الثابت",unlocked:"محمل التشغيل للبرنامج مفتوح. للاستمرار، يرجى:",unlocked1:"افصل وأعد توصيل Bitbox",unlocked2:"سيضيء LED عند توصيل BitBox مرة أخرى",unlocked3:"اضغط على زر اللمس عندما يضيء ضوء LED"},g_={receivePairing:'يرجى ربط BitBox لتمكين التحقق من العنوان الآمن. انتقل إلى "إدارة الجهاز" في الشريط الجانبي',sdcard:"احتفظ بشريحة microSD المخزونة منفصلة عن BitBox ، إلا إذا كنت تريد إدارة النسخة الاحتياطية",sendPairing:"يرجى ربط جهاز BitBox من اجل التأكد من تفاصيل التداولات بشكل آمن. إذهب الى ‘لتحكم بالجهاز‘ في القائمة الجانبية"},v_={getStarted:"لنبدأ بتثبيت نظام تشغيل جهاز محفظة BitBox02",insertBitBox02:"يرجى الكبس على جهاز المحفظة للاستمرار في محفظة BitBox02 ",insertDevice:"يرجى ربط جهازك للبدء",title:"مرحباً"},b_={account:rA,accountInfo:sA,accountSummary:lA,addAccount:cA,aopp:uA,app:dA,backup:pA,bb02Bootloader:hA,bitbox:mA,bitbox02Interact:fA,bitbox02Settings:gA,bitbox02Wizard:vA,blink:bA,bootloader:kA,button:xA,buy:yA,changePin:wA,chart:jA,checkSDcard:BA,clickHere:SA,confirm:zA,confirmOnDevice:CA,device:DA,deviceLock:AA,deviceSettings:_A,deviceTampered:TA,dialog:EA,error:PA,fiat:NA,footer:LA,generic:IA,genericError:$A,goal:MA,guide:OA,headerssync:RA,hiddenWallet:FA,initialize:VA,invalidFormat:WA,language:UA,legacyhiddenwallet:qA,loading:HA,manageAccounts:KA,mobile:GA,note:QA,notification:YA,pairing:ZA,passphrase:JA,password:XA,random:e_,receive:t_,reset:n_,securityInformation:a_,seed:i_,seedRestore:o_,send:r_,settings:s_,setup:l_,sidebar:c_,success:u_,transaction:d_,transactions:p_,unknownError:h_,unlock:m_,upgradeFirmware:f_,warning:g_,welcome:v_},k_={disconnect:"Ztráta spojení. Pokus o opětovné připojení...",export:"Export",exportTransactions:"Export transakcí do složky ke stažení jako soubor CSV",fatalError:"Došlo k neočekávané chybě.",incoming:"Přicházející",initializing:"Získávání informací z blockchainu...",maybeProxyError:"Tor proxy aktivní. Ujistěte se, že proxy server Tor běží správně, nebo nastavení proxy serveru deaktivujte.",reconnecting:"Ztráta spojení. Pokus o opětovné připojení...",syncedAddressesCount:"Naskenováno {{count}} adres"},x_={address:"Adresa",buyCTA:{buy:"Koupit {{unit}}",buyCrypto:"Koupit Krypto",information:{looksEmpty:"Zdá se, že tato peněženka je prázdná.",start:"Začněte vkladem do peněženky, nebo nákupem přímo v BitBoxApp."}},extendedPublicKey:"Veřejný klíč",label:"Detaily účtu",scriptType:"Typ účtu",title:"Detaily účtu",verify:"Ověřte na zařízení",xpubTypeChangeBtn:{p2pkh:"Zobrazit legacy P2PKH veřejný klíč",p2tr:"Zobrazit Taproot",p2wpkh:"Zobrazit nativní Segwit","p2wpkh-p2sh":"Zobrazit starší Segwit veřejný klíč"},xpubTypeInfo:"Aktuálně se zobrazuje {{scriptType}} veřejný klíč ({{current}} z {{numberOfXPubs}})"},y_={availableBalance:"Dostupný zůstatek",balance:"Zůstatek",exportSummary:"Exportovat přehled účtů do složky ke stažení jako soubor CSV",fiatBalance:"Fiat zůstatek",name:"Název účtu",noAccount:"Žádné účty k zobrazení.",subtotalWithCoinName:"Celkem ({{coinName}})",title:"Moje portfolio",total:"Celkem",transactionHistory:"Transakční historie"},w_={chooseName:{nextButton:"Přidat účet",step:"Pojmenujte účet",title:"Pojmenujte svůj účet"},selectCoin:{nextButton:"Další",step:"Vybrat kryptoměnu",title:"Vybrat kryptoměnu"},success:{addAnotherAccount:"Přidat další účet",message:"{{accountName}} byl nyní přidán k vašim účtům.",nextButton:"Hotovo",step:"Dokončeno",title:"Účet přidán"},title:"Přidat účet"},j_={addressRequest:"{{host}} požaduje přijímací adresu.",addressRequestWithLogo:"požaduje přijímací adresu.",banner:"Probíhá žádost o adresu.",errorTitle:"Chyba při požadavku na adresu ",labelAddress:"Adresa",labelMessage:"Zpráva",reverifyInfoText:"Ověřit adresu",signing:"Chcete-li pokračovat, podepište zprávu na svém BitBoxu",success:{message:"Pokračovat na {{host}}",title:"Adresa byla úspěšně odeslána"},syncing:"Synchronizace účtu, vyčkejte prosím.",title:"Požadavek na adresu"},B_={upgrade:"K dispozici je nová verze této aplikace! Aktualizuje prosím z {{current}} na {{version}}."},S_={authButton:"Ověřit",title:"Chcete-li pokračovat, proveďte ověření"},z_={check:{checking:"Kontrola zálohy...",confirmTitle:"Zkontrolovat zálohu",notOK:"Záloha NEODPOVÍDÁ peněžence.",ok:"Záloha odpovídá peněžence.",password:{label:"Heslo pro obnovení",placeholder:"Heslo pro obnovení",showLabel:"heslo pro obnovení"},success:"Záloha byla úspěšně ověřena:",title:"Zkontrolovat zálohu"},create:{alreadyExists:"Již máte platnou zálohu. Chcete ji znovu vytvořit?",fail:"Vytvoření zálohy SELHALO!",info:"Pro ověření zadejte heslo pro obnovení aktuální peněženky.",name:{label:"Název zálohy",placeholder:"Pojmenujte prosím zálohu"},password:{label:"Heslo pro obnovení",placeholder:"Zadejte prosím heslo pro obnovení"},title:"Vytvořit zálohu",verificationFailed:'Heslo pro obnovení se NESHODUJE s aktuální peněženkou. Záloha byla vytvořena. Pro opětovné ověření hesla pro obnovení použijte funkci "Zkontrolovat zálohu".'},description:"Vyberte soubor zálohy peněženky",insert:"Pro správu záloh prosím vložte microSD kartu.",insertButton:"Vložil jsem microSD kartu.",list:"Vaše zálohy na microSD kartě",noBackups:"Na této microSD kartě nejsou žádné zálohy.",restore:{confirmTitle:"Obnovit ze zálohy",error:{e200:"Karta microSD nenalezena",general:"Chyba při obnově ze zálohy"},password:{label:"Heslo pro obnovení nebo skryté heslo pro obnovení",placeholder:"Heslo pro obnovení",repeatPlaceholder:"Zopakujte heslo pro obnovení",showLabel:"Heslo pro obnovení"},restoring:"Obnova ze zálohy...",selectedBackup:"{{backupName}} vytvořena {{createdDateTime}} bude obnovena.",title:"Obnovit",understand:"Rozumím, že nesprávné heslo pro obnovení vytvoří jinou peněženku."},showMnemonic:{description:`Zobrazí se vám slova pro obnovení - obnovovací seed, ten tvoří zálohu vaší peněženky. Napište si je na papír. + +Neukládejte je digitálně ani je nefoťte. + +Neříkejte tato slova nahlas. + +Tato záloha není chráněna heslem. + +Poté budete vyzváni k potvrzení každého slova. +`,title:"Zobrazit slova pro obnovení",warning:" Nikdy nikomu nesdělujte svá slova pro obnovení. Vaše slova pro obnovení poskytují plný přístup k vaší peněžence. Pokud vás někdo žádá o vaše slova pro obnovení, jedná se o podvodníka, nesdílejte je!"},title:"Spravovat zálohy"},C_={abort:"Neaktualizovat - zpět",abort_noUpgrade:"Zpět",advanced:{label:"Rozšířená nastavení",toggleShowFirmwareHash:"Zobrazit hash firmwaru při každém spuštění"},flipscreen:"Otoč obrazovku",orientation:"Špatná orientace zařízení?",success:"Aktualizace úspěšná! Pokračování za {{rebootSeconds}} sekund...",success_install:"Instalace proběhla úspěšně! Pokračování za {{rebootSeconds}} sekund..."},D_={error:{e10000:"Heslo pro aktuální zařízení není správné.",e10001:"Nepodařilo se nahradit heslo zařízení",e102:"Heslo musí obsahovat alespoň 4 znaky.",e112:"Skryté heslo zařízení nemůže být stejné jako heslo hlavního zařízení."}},A_={confirmDate:"Potvrďte dnešní datum na svém BitBox02",confirmDateText:"Toto datum se použije pro vytvoření zálohy.",confirmName:"Potvrďte název na BitBox02",confirmWords:"Zapište si {{amount}} slov pro obnovení z vašeho BitBox02",confirmWordsText:"Poté vás BitBox02 požádá o potvrzení každého slova, aby se ověřilo, že záloha je správná.",followInstructions:"Postupujte podle pokynů na vašem BitBox02.",followInstructionsMnemonic:"Postupujte dle pokynů na Vašem BitBox02 – zadejte slova pro obnovení z vaší zálohy a obnovte peněženku.",followInstructionsMnemonicTitle:"Obnovit ze slov pro obnovení"},__={deviceName:{current:"Aktuální název zařízení",error:"Název zařízení se nepodařilo nastavit",error_104:"Potvrzení názvu zařízení bylo na zařízení zrušeno.",input:"Název BitBox02",placeholder:"Nový název zařízení",title:"Nastavit název pro BitBox02"},gotoStartupSettings:{description:"Tím se zařízení BitBox02 restartuje a vstoupí do nastavení při spuštění.",title:"Přejít do nastavení při spuštění"}},T_={advanced:{button:"Pokročilé nastavení",outOfDate:"Firmware je pro tuto funkci zastaralý",seed12WordInfo:"Upozorňujeme, že počet slov nelze po vytvoření peněženky změnit.",seed12WordLabel:"Vytvořit 12slovný namísto 24slovného seed",seed12WordText:"Ve výchozím nastavení používá BitBox02 seed s 24 slovy. Obě délky seedů jsou v praxi bezpečné proti brute force útoku. Někteří uživatelé mohou místo toho upřednostnit 12slovný seed.",skipSDCardLabel:"Přeskočte zálohování na microSD kartu a místo toho si zapište slova pro obnovení.",skipSDCardText:"Po nastavení máte vždy možnost vytvořit zálohu karty microSD nebo zapsat slova pro obnovení. To lze provést z nastavení.",title:"Pokročilé možnosti zálohování"},attestationFailed:"Kontrola originality selhala, což mohlo být způsobeno restartováním aplikace v době, kdy zařízení čekalo na vstup uživatele. Znovu se připojte a zkuste to znovu. Pokud tento problém přetrvává, obraťte se prosím na support@bitbox.swiss.",backup:{point1:"Vyberte zálohu na microSD kartě",point2:"Nastavit heslo pro zařízení",restoreText:"Ok, obnovíme ze zálohy!",text1:"Skvělé, vaše heslo pro BitBox02 je nyní nastaveno a peněženka vytvořena. Nyní je čas vytvořit první zálohu. Ujistěte se, že je vaše microSD karta vložena do vašeho BitBox02 a pokračujte.",text2:"Vytvořte zálohu podle pokynů na obrazovce zařízení.",text3:"Po vytvoření zálohy vyjměte microSD kartu a uložte ji na bezpečné místo. Obsah microSD karty není chráněn heslem. Nikdy jej nevkládejte do jiného zařízení než do vašeho BitBox02.",userConfirmation1:"Zálohu bych měl uložit na bezpečném místě.",userConfirmation2:"Moje záloha není chráněna heslem. Kdokoli, kdo k ní má přístup, má přístup k mé peněžence.",userConfirmation3:"Pokud ztratím nebo poškodím svůj BitBox02, jediný způsob, jak získat zpět své prostředky, je obnovit peněženku ze zálohy.",userConfirmation4:"Pokud ztratím nebo poškodím zálohu i BitBox02, přijdu o své prostředky.",userConfirmation5:"MicroSD kartu s mou zálohou bych neměl vkládat do počítače, telefonu, tiskárny nebo jiného zařízení než BitBox02.",userConfirmation5mnemonic:"Neměl bych vkládat slova pro obnovení do počítače, telefonu, tiskárny nebo jiného zařízení, než je BitBox02."},create:{button:"Pojmenujte zařízení a pokračujte",info:"Zde jsou základní kroky, které je třeba udělat pro nastavení vašeho BitBoxu: ",inputTitle:"Název peněženky",point1:"Pojmenujte své zařízení",point2:"Nastavte heslo pro své zařízení",point3:"Vytvořit zálohu",text:"Ok, pojďme vytvořit novou peněženku!"},createBackupAborted:"Vytváření zálohy bylo zrušeno.",createBackupFailed:"Vytvoření zálohy se nezdařilo, zkuste to znovu.",initialize:{passwordText:"Nyní nastavíme heslo pro vaše zařízení. K zadání a výběru hesla použijte ovládací prvky na BitBoxu.",passwordTitle:"Nastavte heslo pro svůj BitBox",text:"Váš BitBox02 byl úspěšně spárován! Nyní inicializujeme vaše zařízení. Začněte výběrem vytvořit novou peněženku nebo obnovit peněženku ze zálohy. Ujistěte se, že je v Bitboxu vložena microSD karta",tip:"Doporučujeme, abyste pokračovali na bezpečném místě.",title:"Inicializujte svůj BitBox"},insertSDCard:"Ujistěte se, že je ve vašem BitBoxu vložena microSD karta.",noPasswordMatch:"Hesla se neshodují, zkuste to prosím znovu.",pairing:{failed:"Spárování nepotvrzeno. Znovu připojte svůj BitBox02.",paired:"Na svém zařízení jste potvrdili následující kód. Prosím pokračujte.",title:"Ověřte párovací kód",unpaired:"Byl zjištěn nespárovaný BitBox02. Prosím ověřte, že párovací kód odpovídá tomu, co je zobrazeno na vašem BitBoxu."},restoreFromMnemonic:{e104:"Obnovení ze slov pro obnovení bylo zrušeno.",failed:"Obnovení ze slov pro obnovení se nezdařilo, zkuste to prosím znovu."},stepBackup:{beforeProceed:"Než budete pokračovat, přečtěte si tato důležitá bezpečnostní opatření:",createBackup:"Nyní vytvoříte zálohu na microSD kartě.",createBackupMnemonic:"Nyní si zapíšete slova pro obnovení."},stepBackupSuccess:{fundsSafe:"Aby byly vaše prostředky v bezpečí, mějte na paměti následující:",title:"Záloha obnovena!"},stepConnected:{unlock:"Pro odemknutí zadejte heslo."},stepCreate:{description:"Tento název se používá jako název zařízení a pro zálohu.",nameLabel:"Název BitBox02",namePlaceholder:"Můj BitBox02",title:"Vyberte název pro BitBox02",toastMicroSD:"Vložte prosím svou microSD kartu do vašeho BitBox02, která bude použita k uložení zálohy peněženky."},stepCreateSuccess:{removeMicroSD:"Vyjměte microSD kartu z vašeho BitBox02 a uložte ji na bezpečné místo.",storeMnemonic:"Uložte svá slova pro obnovení na bezpečném místě",success:"Vaše záloha byla úspěšně vytvořena."},stepInsertSD:{insertSDCard:"Chcete-li pokračovat, vložte do svého BitBox02 microSD kartu.",insertSDcardTitle:"Vložte microSD kartu"},stepPassword:{e104:"Nastavení hesla bylo zrušeno.",title:"Nastavte heslo pro váš Bitbox02",useControls:"K nastavení hesla použijte ovládací prvky na vašem BitBox02."},stepUninitialized:{create:"Chci nastavit nový BitBox02.",restore:"Chci obnovit svou peněženku ze zálohy.",restoreMicroSD:"Obnovit z microSD karty",restoreMnemonic:"Obnovit ze slov pro obnovení",title:"Nastavte svůj BitBox02"},success:{text:`Hurá! Váš BitBox02 je nyní připraven k použití. + +Chcete-li získat další informace o tom, jak používat BitBoxApp, použijte průvodce v aplikaci kliknutím na otazník v pravém horním rohu.`,title:"Jste připraveni!"}},E_={button:"Blik"},P_={button:"Nyní aktualizujte firmware",button_install:"Nyní nainstalujte firmware",progress:"Aktualizace: {{progress}}%",progress_install:"Instalace: {{progress}}%",success:"Aktualizace proběhla úspěšně! Zařízení znovu zapojte. Tentokrát se tlačítka nedotýkejte."},N_={abort:"Zrušit",back:"Zpět",buy:"Koupit",changepin:"Změňit heslo zařízení",check:"Zkontrolovat zálohu",continue:"Pokračovat",copy:"Kopírovat",create:"Vytvořit",dismiss:"Odmítnout",done:"Hotovo",download:"Stáhnout",hiddenwallet:"Vytvořit skrytou peněženku",next:"Další",ok:"OK",previous:"Předchozí",receive:"Přijmout",restore:"Obnovit",select:"Vybrat",send:"Poslat",unlock:"Odemknout",update:"Aktualizovat",upgrade:"Aktualizovat"},L_={exchange:{bankTransfer:"Bankovní převod",bestDeal:"Nejvýhodnější nabídka",creditCard:"Kreditní karta",fast:"Rychle",fee:"poplatek",infoContent:{moonpay:{fees:{bankTransfer:"Bankovní převod: {{fee}}%",creditDebitCard:"Kreditní / Debetní karta: {{fee}}%",learnMore:"Zjistěte více o Moonpay",title:"Poplatky"},fullCurrenciesList:"Kompletní seznam měn naleznete zde",payment:{asteriskText:"* Není k dispozici pro rezidenty USA",bankTransfer:"Bankovní převod*",bankTransferDetails:{pix:"PIX (transakce BR pouze v Brazílii)",sepa:"SEPA a SEPA Instant (transakce v EUR pouze v zemích SEPA)",uk:"Faster Payments - Spojené království (transakce v GBP pouze ve Spojeném království)"},creditDebitCard:"Kreditní / Debetní karta",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa a Maestro"},learnMore:"Další podrobnosti o způsobech platby",title:"Platební metody"},supportedCurrencies:"Podpora všech hlavních fiat měn: USD, EUR, CHF a další."},pocket:{fees:{info:"Bankovní převod: {{fee}}%",title:"Poplatky"},learnMore:"Zjistěte více o službě Pocket",payment:{bankTransfer:"Bankovní převod",bankTransferDetails:{sepa:"SEPA a SEPA Instant (transakce v EUR pouze v zemích SEPA)",sic:"Swiss Interbank Clearing (transakce v CHF pouze v CH/LI)",uk:"Faster Payments - Spojené království (transakce v GBP pouze ve Spojeném království)"},bankTransferReccuring:"Jak nastavit opakované nákupy pomocí trvalého příkazu?",title:"Platební metody"},supportedCurrencies:"Podpora evropských měn: EUR, GBP a CHF.",verification:{info:"Vyžaduje ověření identity pouze pokud jsou překročeny denní a roční limity.",link:"Aktuální limity zde",title:"Ověření identity"}},region:{title:"Vyberte oblast, ve které je váš bankovní účet registrován, a zjistěte, které možnosti máte k dispozici."}},noExchanges:"Je nám líto, ale v této oblasti nejsou k dispozici žádné burzy.",region:"Oblast",selectRegion:"Není uvedeno",title:"Koupit {{name}}"},info:{continue:"Souhlasím, pokračovat",crypto:"krypto",disclaimer:{intro:["Spolupracujeme s MoonPay, abychom vám nabídli bezproblémový způsob nákupu {{name}} přímo v BitBoxApp. Je to jen pár kliknutí.","MoonPay je platforma, která usnadňuje a urychluje nákup {{name}} ve více než 160 zemích."],payment:{details:"{{name}} si můžete okamžitě zakoupit přes MoonPay pomocí následujících platebních metod. Nákupy kreditní nebo debetní kartou jsou okamžité a pohodlné, ale dražší kvůli zvýšenému riziku chargebacku. Pro větší částky doporučujeme použít možnost bankovního převodu. Minimální poplatek je 4 USD/EUR nebo ekvivalentní částka.",footnote:"Vezměte prosím na vědomí, že směnné kurzy MoonPay se mohou lišit od kurzů používaných v BitBoxApp, což vede k mírně odlišným částkám.",table:{"1_description":"Nejnižší poplatky, může trvat až tři pracovní dny","1_method":"Bankovní převody (SEPA)","2_description":"Vyšší poplatky, ale rychlé a okamžité","2_method":"Kreditní a debetní karty",description:"Popis",fee:"Poplatek",method:"Metoda"},title:"Platební metody a poplatky"},privacyPolicy:"Zásady ochrany osobních údajů MoonPay",protection:{description:"BitBoxApp při nákupu {{name}} neshromažďuje žádné údaje, s příchozími prostředky se zachází jako s běžnou transakcí. MoonPay potřebuje ke své činnosti shromažďovat některé osobní údaje. Jejich Zásady ochrany osobních údajů podrobně vysvětlují, jak je s těmito údaji nakládáno.",descriptionGeneric:"BitBoxApp při nákupu {{name}} neshromažďuje žádné údaje, s příchozími prostředky se zachází jako s běžnou transakcí. Partnerské burzy však ke svému fungování potřebují shromažďovat určité informace. Podrobnější informace o tom, jak je s daty nakládáno, naleznete v jejich zásadách ochrany osobních údajů.",title:"Ochrana dat"},security:{description:"Při nákupu {{name}} přes MoonPay využíváte externí službu. Tato služba je mimo oblast působnosti modelu bezpečnostních hrozeb BitBox02 a spoléhá se na bezpečnost a zabezpečení prostředí, ve kterém je spuštena BitBoxApp.",descriptionGeneric:"Při nákupu {{name}} prostřednictvím partnerské burzy využíváte externí službu. Tato služba je mimo oblast působnosti modelu bezpečnostních hrozeb BitBox02 a spoléhá se na bezpečnost a zabezpečení prostředí, ve kterém je spuštena BitBoxApp.",link:"Model bezpečnostních hrozeb",title:"Bezpečnostní model"},title:"Vítejte ve vašem obchodě pro nákup {{name}}"},next:"Další",selectLabel:"Vyberte svůj účet",selectPlaceholder:"Vyberte měnu",skip:"Znovu nezobrazovat",title:"Koupit {{name}}"},pocket:{data:{link:"Zásady ochrany osobních údajů Pocket",p1:"BitBoxApp při nákupu bitcoinů neshromažďuje žádné údaje, s příchozími prostředky se zachází jako s běžnou transakcí. Pocket potřebuje ke svému fungování shromažďovat některé osobní údaje. Jejich zásady ochrany osobních údajů podrobně vysvětlují, jak se s těmito údaji nakládá.",title:"Ochrana dat"},kyc:{link:"Přečtěte si Pocket FAQ",p1:"Pocket se snaží omezit KYC na minimum. U nákupů do 950 EUR (1000 CHF) denně nejsou vyžadovány žádné další dokumenty. Při nákupech nad tuto částku si budete muset s Pocket domluvit hovor, abyste mohli dokončit potřebný proces KYC/AML.",title:"KYC/AML"},payment:{p1:"Bitcoin si můžete koupit okamžitě pomocí služby Pocket bankovním převodem SEPA. Poplatek činí 1,5 % a bitcoiny jsou poslány do vašeho BitBoxu ihned poté, co Pocket obdrží bankovní převod (obvykle během téhož dne).",p2:"Upozorňujeme, že směnné kurzy v aplikaci Pocket se mohou lišit od kurzů používaných v aplikaci BitBoxApp, což vede k mírně odlišným částkám.",title:"Platební metody a poplatky"},previousTransactions:"Historie transakcí tohoto účtu není prázdná. Sdílením tohoto účtu se všechny jeho minulé a budoucí transakce stanou viditelnými pro Pocket. Pokračovat?",security:{link:"Model bezpečnostních hrozeb BitBox02",p1:"Při nákupu bitcoinů přes Pocket používáte externí službu. Tato služba je mimo oblast působnosti modelu bezpečnostních hrozeb BitBox02 a spoléhá se na bezpečnost a zabezpečení prostředí, ve kterém je spuštěn BitBoxApp. Společně pracujeme na zvýšení bezpečnosti pomocí dvoufaktorového ověřovacího mechanismu, který ověřuje adresu, na kterou přijímáte.",title:"Bezpečnostní model"},usedAddress:"Adresa {{address}} již byla použita, začněte prosím znovu s novou adresou.",verifyBitBox02:"Zkontrolujte, zda adresa, kterou jste obdrželi e-mailem, odpovídá adrese zobrazené na vašem Bitboxu. Pokud je to možné, měli byste e-mail otevřít na druhém zařízení kvůli lepšímu zabezpečení.",welcome:{p1:"Spolupracujeme se společností Pocket, abychom vám nabídli bezproblémový způsob nákupu bitcoinů přímo v BitBoxApp. Je to jen pár kliknutí.",p2:"Pocket je švýcarská platforma, která umožňuje rychlý a snadný nákup bitcoinů ve většině Evropy (kdekoli, kde jsou podporovány bankovní převody SEPA).",p3:"S Pocket můžete také provádět pravidelné nákupy prostřednictvím trvalých bankovních příkazů, takže můžete snadno zprůměrovat své náklady (DCA - dollar-cost averaging).",title:"Vítejte ve svém obchodě pro nákup bitcoinů"}},title:"Koupit {{name}}"},I_={newTitle:"Nové heslo zařízení",oldLabel:"Aktuální heslo zařízení"},$_={dataMissing:"Sbíráme historická data... zůstaňte s námi.",dataOldTimestamp:"Aktualizace historických směnných kurzů. V grafu se nezobrazují data po {{time}}.",dataUpdating:"aktualizace dat...",filter:{all:"Všechny",month:"Měsíc",week:"Týden",year:"Rok"}},M_="kontrola microSD karty",O_="Klikněte zde.",R_={abortInfo:"Klepněte na ",abortInfoRedText:"zrušit",approveInfo:"Podržte 4 a více sekund ",approveInfoGreenText:"potvrdit",info:"Pokračujte na svém BitBoxu. ",infoWhenPaired:"Nejprve na spárovaném mobilu a poté na vašem BitBoxu"},F_="Potvrďte na svém zařízení.",V_={promptNoName:"Chcete-li pokračovat, připojte svůj BitBox02",promptWithName:'Chcete-li pokračovat, připojte prosím svůj BitBox02 s názvem "{{name}}" '},W_={toggle:"Tmavý režim"},U_={appUpradeRequired:"Váš BitBox není kompatibilní s touto aplikací. Stáhněte si a nainstalujte nejnovější verzi."},q_={button:"Aktivovat dvoufaktorovou autorizaci (2FA)",condition1:"Máte zálohu?",condition2:"Funguje ověření mobilní aplikace?",condition3:"2FA ZABRÁNÍ zálohování a párování s mobilní aplikaci. Pro ukončení 2FA je nutné zařízení RESETOVAT!",confirm:"Aktivovat dvoufaktorovou autorizaci (2FA)",title:"Aktivovat dvoufaktorovou autorizaci (2FA)"},H_={backups:{manageBackups:{description:"Vytvořte nebo ověřte zálohu na microSD kartě."},showRecoveryWords:{description:"Zobrazit a ověřit slova pro obnovení."},title:"Zálohy"},deviceInformation:{attestation:{description:"BitBoxApp kontroluje, zda je vaše zařízení pravé."},deviceName:{description:"Změňte název zařízení."},rootFingerprint:{description:"Otisk je jedinečný identifikátor právě používané peněženky. Může vám pomoci rozlišit různé peněženky, pokud používáte přístupové fráze."},securechip:{description:"Model bezpečného čipu."},title:"Informace o zařízení"},expert:{factoryReset:{description:"Obnovte zařízení do továrního nastavení. Tím se smaže peněženka z vašeho BitBox02!",title:"Obnovit do továrního nastavení"},goToStartupSettings:{description:"Vstoupit do bootloaderu BitBox02. Zde můžete povolit hash firmwaru."},passphrase:{description:"Aktivovat nebo deaktivovat funkci přístupové fráze.",title:"Přístupová fráze"}},firmware:{firmwareVersion:"Verze firmwaru",newVersion:{label:"Dostupná verze"},title:"Firmware",upToDate:"Vaše zařízení je aktuální",upgradeAvailable:"K dispozici je nová aktualizace",version:{label:"Verze"}},hardware:{attestation:{false:"Kontrola pravosti se nezdařila",label:"Kontrola pravosti",true:"Váš BitBox02 je autentický"},sdcard:{false:"Není vložena",label:"microSD karta",true:"Vložena"},securechip:"Bezpečný čip",title:"Hardware"},loading:"Načítání informací o zařízení…",pairing:{lock:{false:"Vypnuto",label:"Dvoufaktorová autorizace (2FA)",true:"Zapnuto"},mobile:{false:"Zavřeno",label:"Mobilní aplikace",true:"Otevřeno"},status:{false:"Nespárováno",label:"Stav",true:"Spárováno"},title:"Párování"},secrets:{manageBackups:"Spravovat zálohy",title:"Secrets"}},K_="Bylo k vašemu BitBoxu dodáno heslo pro obnovení? Pokud ano, zastavte proces nastavení a okamžitě kontaktujte podporu. Společnost Shift vám nikdy neposkytne hotovou peněženku ani vám nedá doporučení ohledně hesla.",G_={cancel:"Zrušit",confirm:"Potvrdit",confirmTitle:"Potvrzení"},Q_={accountAlreadyExists:"Účet již existuje.",accountLimitReached:"Nelze přidat účet. Maximální počet účtů pro tuto měnu byl dosažen.",aoppCallback:"Při doručování adresy na {{host}} došlo k chybě.",aoppInvalidRequest:"Neplatný požadavek.",aoppNoAccounts:"Nejsou k dispozici žádné účty.",aoppSigningAborted:"Žádost o potvrzení vlastnictví adresy zrušena.",aoppUnknown:"Nastala neznámá chyba.",aoppUnsupportedAsset:"Toto aktivum není podporováno.",aoppUnsupportedFormat:"Nejsou k dispozici žádné účty, které by podporovaly požadovaný formát adresy.",aoppUnsupportedKeystore:"Připojené zařízení nemůže podepisovat zprávy pro toto aktivum.",aoppVersion:"Neznámá verze.",wrongKeystore:"Byla připojena špatná peněženka. Ujistěte se, že jste vložili správné zařízení odpovídající tomuto účtu.",wrongKeystore2:" Pokud používáte přístupovou frázi, zkontrolujte, zda jste zadali správnou přístupovou frázi pro tento účet."},Y_={default:"výchozí",setDefault:"Nastavit {{code}} jako výchozí",title:"Měny"},Z_={appVersion:"Verze aplikace:"},J_={enabled_false:"Vypnuto",enabled_true:"Zapnuto"},X_="Došlo k chybě. Pokud zaznamenáte nějaké problémy, restartujte prosím aplikaci.",eT={buttons:{create:"Vytvořit novou peněženku",restore:"Obnovte peněženku ze zálohy"},paragraph:"Vyberte prosím jednu z následujících možností:",step:{1:{title:"Informace o zabezpečení"},2:{description:"Nastavit heslo zařízení",title:"Zařízení"},"3-create":{description:"Vytvořit novou peněženku",title:"Peněženka"},"3-restore":{description:"ze zálohy",title:"Obnovit"},"4-create":{title:"Přehled"},"4-restore":{title:"Přehled"}}},tT={accountDescription:{text:'V přehledu účtu se zobrazuje disponibilní zůstatek a příchozí a odchozí transakce. Více informací o jednotlivých typech účtů najdete v našem průvodci v části "Nastavení". ',title:"Co se mi na této stránce zobrazuje?"},accountFiat:{text:"Ano. Kliknutím na libovolný ticker můžete volit mezi fiat měnami. Seznam měn můžete změnit v nastavení.",title:"Mohu zobrazit jiné směnné kurzy?"},accountIncomingBalance:{text:"Přicházející transakce zahrnují částky, které vám byly převedeny, ale ještě nebyly potvrzeny sítí.",title:"Co znamená přicházející transakce?"},accountInfo:{multipleXPubs:{text:`Každý xpub je svázán se zobrazeným typem: buď "Native Segwit (bech32)", "Wrapped Segwit" nebo "Taproot" (pouze u Bitcoinu). Jedná se o typy skriptů, které používá {{coinName}}. BitBoxApp je kombinuje a podporuje více typů skriptů v rámci jednoho účtu. Protože každý typ skriptu dává jiný xpub, existuje více xpubů pro jeden účet. + +Pokud soustavně přijímáte na výchozí adrese (Native Segwit), potřebujete pouze "bech32" xpub. Pokud však přijímáte prostředky také na "Wrapped Segwit" nebo "Taproot", musíte používat také další veřejné klíče "Wrapped Segwit", xpub respektive "Taproot" xpub.`,title:"Proč existuje více xpubů?"},privacy:{text:`U tohoto konkrétního účtu odhaluje xpub veřejný klíč celou finanční historii, zůstatek na účtu a všechny budoucí transakce. Xpub však nikomu neumožňuje utrácet vaše prostředky. + +Pokud xpub někomu předáte, měli byste si být vědomi toho, že tato osoba nebo společnost může vidět všechny ostatní transakce tohoto účtu. Proto je dobré používat tento účet pouze k tomuto účelu a ostatní prostředky držet na jiných účtech.`,title:"Musím svůj xpub držet v tajnosti?"},verify:{text:"Ano, vždy je dobré si xpub překontrolovat. Pokud z tohoto xpubu bude někdo jiný generovat adresy a posílat vám peníze, je to obzvlášť důležité. Musíte ho ověřit na zařízení, abyste se ujistili, že tento xpub patří vám; jinak by všechny prostředky mohly jít na nesprávné adresy.",title:"Musím ověřit xpub na zařízení?"},xpub:{text:`Veřejný klíč (xpub) je základní klíč, z něhož jsou odvozeny všechny adresy účtu. + +Je zde uveden pro pokročilé používání a interoperabilitu s peněženkami určenými pouze pro sledování (watch-only wallets), jako je Electrum nebo Sentinel. Pokud jste přijímali na různé typy adres, importujte prosím všechny různé formáty xpubů do watch-only peněženky, abyste viděli všechny své prostředky. + +Upozorňujeme, že peněženky třetích stran nemusí zatím podporovat Taproot xpub.`,title:"Co je veřejný klíč (xpub)?"}},accountRates:{text:"Směnné kurzy aktualizujeme každou minutu z CoinGecko.",title:"Jaké směnné kurzy platí?"},accountReload:{text:"To není potřeba. Informace o transakci se aktualizují automaticky.",title:"Mohu znovu načíst historii transakcí?"},accountSendDisabled:{text:"Tlačítko „Odeslat“ se aktivuje, když je váš zůstatek vyšší než nula.",title:"Proč nemůžu poslat žádný {{unit}}?"},accountSummaryAmount:{text:`Celková částka je součtem všech vašich účtů. Směnné kurzy jsou získávány z coingecko.com. + +Poznámka: Pokud používáte MyEtherWallet pro tokeny, které nejsou podporovány v aplikaci BitBoxApp, nebudou do zobrazené částky zahrnuty.`,title:"Jak se vypočítá celková částka?"},accountSummaryDescription:{text:"Zde můžete sledovat výkonnost svého portfolia v průběhu času. Pod grafem se zobrazuje přehled vašich jednotlivých účtů.",title:"Co se mi na této stránce zobrazuje?"},accountTransactionAttributesBTC:{text:`Virtuální velikost: Určuje síťový poplatek. Úspěšně jste ušetřili na poplatcích, pokud je menší než velikost transakce. +Velikost: Skutečná velikost transakce v bajtech při serializaci podle příslušného blockchainu. +Váha: Nová metrika zavedená se Segwitem pro vyhodnocování velikosti transakcí a bloků. Každý byte segregovaného svědka {segregated witness) se počítá jako jedna, vše ostatní jako čtyři jednotky váhy. Místo jednoho megabajtu ve skutečné velikosti je nyní limit velikosti bloku čtyři miliony váhových jednotek.`,title:"A co podrobnosti transakce specifické pro bitcoiny?"},accountTransactionAttributesGeneric:{text:`Potvrzení: Vaše první transakce je nepotvrzená, dokud ji těžař nezařadí do bloku, poté má jedno potvrzení. Každý další blok v síti přidává k vaší transakci další potvrzení. Obecně platí, že obchodníci a další účastníci sítě akceptují transakce jako vypořádané s minimem tří až šesti potvrzení. +ID transakce: Jedinečné identifikační číslo, které umožňuje vyhledat transakci v blok exploreru. +Poplatek: Těžařům se platí transakční poplatek jako pobídka k zahrnutí transakcí do bloků, které vytěží. Chcete-li se dozvědět více, klikněte na tlačítko odeslat.`,title:"Jaké jsou informace v detailech transakce?"},accountTransactionConfirmation:{text:"Transakce odeslaná do sítě, ale dosud nepotvrzená.",title:"Co je to čekající transakce?"},accountTransactionLabel:{text:"Je to adresa, ze které jste obdrželi prostředky nebo na kterou jste je odeslali.",title:"Jaká adresa se zobrazuje u každé transakce?"},accountTransactionTime:{text:"Doba potvrzení transakce v blockchainu.",title:"Jaký čas se zobrazuje?"},accounts:{howManyAccounts:{text:`Bitcoin a Litecoin mohou mít libovolné množství účtů. Po pěti účtech můžete přidat další účet pouze v případě, že předchozí účet byl použit. +Ostatní měny mohou mít maximálně pět účtů.`,title:"Kolik účtů mohu vytvořit?"},howtoAddTokens:{text:'Tokeny využívající standard ERC20 jsou vázány na konkrétní účet Etherea. Chcete-li aktivovat nebo deaktivovat konkrétní token, otevřete obrazovku "Správa účtů", rozbalte svůj účet Ethereum a zapněte nebo vypněte požadovaný token.',title:"Jak mohu přidat další tokeny?"},moveFunds:{text:"Ano, ale protože jsou účty nezávislé, musíte své prostředky poslat pomocí běžné transakce.",title:"Mohu přesouvat prostředky mezi účty?"},recoverAccounts:{text:"Ano, BitBoxApp vytváří účty pomocí zavedených standardů kompatibilních s většinou ostatních kryptopeněženek.",title:"Mohu obnovit své účty v jiných peněženkách?"},whatAreAccounts:{text:"Vaše peněženka umí spravovat více účtů jedné měny. Účty jsou užitečné, když chcete mít prostředky oddělené.",title:"Co jsou účty?"},whyIsThisUseful:{text:"Účty jsou skvělé pro správu prostředků pro různé osoby nebo účely, protože jsou oddělené. Můžete také sdílet veřejný klíč (xpub) účtu, aniž byste prozradili cokoli o svých ostatních účtech. To vám umožňuje opakovaně přijímat finanční prostředky bez opakovaného používání adres, například při pobírání mzdy nebo pravidelném nákupu kryptoměn.",title:"Proč je to užitečné?"}},appendix:{link:"Kontaktujte nás!",text:"Další otázka?"},backups:{check:{text:'"Zkontrolovat zálohu" umožňuje ověřit, zda máte funkční zálohu odpovídající vaší aktuální peněžence. Lze ji také použít k ověření, zda máte stále správné heslo pro obnovení. Můžete zkontrolovat hlavní heslo pro obnovení nebo skryté heslo pro obnovení.',title:"Co je to „Zkontrolovat zálohu“?"},encrypt:{text:"Ne, ale k získání peněženky z uloženého seedu {slov pro obnovení) je nutné vaše heslo pro obnovení.",title:"Mohu zálohu zaheslovat?"},howOften:{text:`Záloha se generuje automaticky při vytvoření nové peněženky. Novou zálohu musíte vytvořit pouze v případě, že microSD kartu ztratíte nebo poškodíte, nebo pokud chcete jako zálohu použít více microSD karet. +Po uskutečnění transakcí nemusíte vytvářet nové zálohy. Všechna data transakcí lze znovu vytvořit pomocí jediné zálohy, která byla pro vás automaticky vytvořena.`,title:"Jak často musím vytvářet zálohu?"},whatIsABackup:{text:"Jedná se o kopii obnovovacího seedu na microSD kartě. Seed {slova pro obnovení) spolu s heslem pro obnovení vytváří vaši peněženku.",title:"Co je záloha?"}},backupsBB02:{check:{text:"„Zkontrolovat zálohu“ vám umožňuje ověřit, že máte funkční zálohu odpovídající vaší aktuální peněžence.",title:"Co je to „Zkontrolovat zálohu“?"},encrypt:{text:'Ne. microSD kartu uchovávejte v bezpečí, protože obsahuje nezašifrovaný obnovovací seed k obnovení peněženky. Pokud si přejete chránit seed heslem, můžete aktivovat volitelnou přístupovou frázi v expertním nastavení v části "Správa zařízení".',title:"Mohu zálohu zašifrovat?"},whatIsABackup:{text:"Jedná se o kopii obnovovacího seedu na microSD kartě.",title:"Co je záloha?"}},bitbox:{"2FA":{text:`Když je aktivní funkce 2FA, musí být všechny transakce schváleny na spárovaném mobilním telefonu, aby bylo možné utrácet prostředky. Do mobilní aplikace je odesláno zašifrované jednorázové číslo, které je tam dešifrováno a po stisknutí tlačítka Přijmout je odesláno zpět do BitBoxu. Tato komunikace se zařízením probíhá prostřednictvím kanálu mezi mobilním telefonem a touto desktopovou aplikací vytvořeného během párování. + +Před zapnutím funkce 2FA nezapomeňte zálohovat peněženku a spárovat mobilní aplikaci. Po aktivování jsou microSD slot a párování s mobilní aplikací vypnuty. Lze je znovu aktivovat resetováním BitBoxu, čímž se zařízení vymaže.`,title:"Jak funguje dvoufaktorová autorizace (2FA)?"},disable2FA:{text:`Chcete-li 2FA deaktivovat, musíte resetovat BitBox a poté obnovit peněženku ze zálohy. Ujistěte se, že stále máte microSD kartu se zálohou a že si stále pamatujete heslo pro obnovení. Poté stiskněte tlačítko "Resetovat zařízení". Nastavte nové heslo zařízení a zvolte 'Nebo obnovit ze zálohy'. Vyberte zálohu peněženky, klikněte na 'Obnovit' a zadejte heslo pro obnovení, které jste použili při vytváření peněženky.`,title:"Jak mohu deaktivovat dvoufaktorovou autorizaci (2FA)?"},ejectBitbox:{text:"BitBox můžete kdykoli odpojit, aniž byste jej museli nejprve vysunout.",title:"Jak mohu vysunout BitBox?"},ejectSD:{text:"MicroSD kartu můžete z BitBoxu kdykoli vyjmout, pokud právě nevytváříte nebo neobnovujete zálohu.",title:"Jak mohu microSD kartu vysunout?"},hiddenWallet:{text:"Jedná se o druhou peněženku na stejném zařízení chráněnou jiným heslem zařízení a heslem pro obnovení, které můžete použít pro hodnověrné popření (plausible deniability). Pro normální i skrytou peněženku se používá stejný seed, takže není třeba žádné další zálohování.",title:"Co je to skrytá peněženka?"},legacyHiddenWallet:{text:"Nejprve klikněte na níže uvedené tlačítko (je k dispozici, pokud je BitBox odemčen hlavním heslem zařízení a funkce 2FA je vypnutá), poté Bitbox znovu připojte a odemkněte jej skrytým heslem.",title:"Jak se dostanu k legacy skryté peněžence?"},pairing:{text:"Po stažení naší mobilní aplikace pro iOS nebo Android naskenujete zobrazený QR kód, čímž se vytvoří zabezpečený kanál mezi mobilní aplikací a touto aplikací. Po naskenování postupujte podle pokynů v mobilní aplikaci.",title:"Jak bezpečně spárovat s telefonem"}},cointracking:{text:'Klikněte na tlačítko "Export" a otevřete složku se staženými soubory, kde najdete export CSV. Poté klikněte na níže uvedený odkaz, nahrajte svůj BitBox CSV soubor a importujte data, abyste je mohli použít pro správce portfolia CoinTracking a pro vytváření daňových výkazů.',title:"Jak importovat mé transakce do služby CoinTracking?"},device:{attestation:{link:{text:"Přečtěte si více o kontrole pravosti"},text:"BitBoxApp provede atestační kontrolu BitBox02, aby ověřila, zda je zařízení pravé. Kontrola se provádí lokálně a nepřipojuje se k žádným serverům.",title:"Jak probíhá kontrola pravosti?"},name:{text:"Jedná se o název vaší peněženky a zálohy. Název se používá pro budoucí zálohy a může sloužit k rozlišení různých peněženek. Lze jej kdykoli změnit, ale mějte na paměti, že zálohy vytvořené před změnou budou stále používat předchozí název.",title:"K čemu slouží název BitBoxu?"},"secure-chip":{link:{text:"Další informace o bezpečném čipu"},text:"Tato informace zobrazuje číslo modelu zabezpečeného čipu, nejnovější čip je ATECC608B s vylepšenými bezpečnostními funkcemi ve srovnání se staršími modely.",title:"Proč zobrazovat model bezpečného čipu?"}},receive:{address:{text:"Adresu můžete dát ostatním, aby vám poslali nějaké prostředky. Jen se ujistěte, že je posílají na správnou adresu.",title:"Co mohu dělat s adresou?"},addressChange:{text:"Jakmile provedete transakci, do seznamu se automaticky přidá nová adresa, takže je vždy k dispozici 20 adres, které nikdy neobdržely žádné prostředky.",title:"Kdy se adresy mění?"},addressFormats:{text:"Ve výchozím nastavení je typ adresy Native Segwit. Tento typ adresy je široce rozšířený mezi ostatními peněženkami/burzami poskytuje nejlepší sazby poplatků za každodenní transakce. Můžete si však také zvolit odesílání na Taproot (jen pro Bitcoin), což je nejnovější typ adresy, který však ještě nemusí být všude podporován. Případně, pokud máte problémy s odesíláním na Native Segwit (výchozí typ), můžete zkusit přejít na starší typ adresy Wrapped Segwit, který může být kompatibilní s více peněženkami/burzami.",title:'Kdy mám použít "Změnit typ adresy"?'},howVerify:{text:`V případě BitBox01 klikněte na ikonu BitBox v postranním panelu vlevo a podívejte se do části Párování. Průvodce se aktualizuje a vy můžete pokračovat podle pokynů odtud. +U BitBox02 můžete adresy ověřit přímo v zařízení během procesu odesílání/přijímání.`,title:"Jak mohu bezpečně ověřit adresu?"},plugout:{text:"Ne, po odeslání prostředků na adresu BitBoxu nemusíte nechávat BitBox připojený. Svůj BitBox můžete kdykoli odpojit.",title:"Musím nechat svůj BitBox během přijímání zapojený?"},why20:{text:'Během spuštění aplikace generuje adresy odvozené z vašeho seedu a zjišťuje, zda obdržely prostředky. Protože aplikace může generovat téměř nekonečné množství adres, mohla by zjišťováním zůstatku strávit roky. Aby se toto hledání omezilo, zastaví se, jakmile uvidí 20 adres, které nikdy neobdržely žádné prostředky. To je "gap limit" a 20 je de facto standard, i když toto číslo je libovolné. Z těchto 20 adres si můžete vybrat.',title:"Proč jenom 20 adres?"},whyMany:{text:"V zájmu zachování soukromí a bezpečnosti nikdy pro přijímaní nepoužívejte stejnou adresu dvakrát. Pokud jste adresu použili, klikněte na šipku vpravo pro novou adresu. Najednou můžete vygenerovat až 20 adres. Představte si adresy jako čísla faktur. Všechny adresy jsou odvozeny z vašeho jediného obnovovacího seedu.",title:"Proč tolik adres?"},whyVerify:{text:"Neměli byste věřit, že váš počítač generuje a zobrazuje autentické adresy. Jeho útočná plocha (attack surface) jej činí podstatně zranitelnějším než hardwarovou peněženku. U BitBox01 Tlačítko pro ověření adresy bezpečně odešle adresu do spárovaného mobilního telefonu, ze kterého můžete také naskenovat a ověřit kód QR. U BitBox02 lze adresu ověřit přímo na displeji BitBoxu.",title:"Proč bych měl adresu bezpečně ověřit?"}},send:{change:{text:"Zůstatek bude vrácen na adresu Taproot, pokud máte alespoň jedno Taproot UTXO. Pokud použijete coin control, bude zůstatek vrácen na adresu Taproot, pokud je mezi vybranými UTXO alespoň jedno Taproot UTXO. Ve všech ostatních případech se změna vrátí na nativní adresu Segwit.",title:"Jak se určuje change output (hodnota zůstatku)?"},fee:{text:`Poplatek se odvíjí od velikosti dat transakce, nikoli od její výše. Cílové hodnoty poplatků jsou vypočítávány algoritmem pro odhad poplatků v Bitcoin Core pro každou vámi zvolenou prioritu sítě. Jsou zobrazeny, pokud mají jinou hodnotu než cíl uvedený níže. +Úsporné: 24 bloků (přibližně 4 hodiny u Bitcoinu, 1 hodina u Litecoinu). +Nízké: 12 bloků (přibližně 2 hodiny pro Bitcoin, 30 minut pro Litecoin). +Normální: 6 bloků (přibližně 1 hodina pro Bitcoin, 15 minut pro Litecoin). +Vysoké: 2 bloky (přibližně 20 minut pro Bitcoin, 5 minut pro Litecoin) +(Vytěžení jednoho bloku trvá u Bitcoinu v průměru deset minut (u Litecoinu 2,5 minuty) a zatížení sítě se může ve výše uvedených obdobích značně lišit).`,title:"Jak se určuje poplatek?"},plugout:{text:"Ne, jakmile provedete transakci, nemusíte nechávat svůj BitBox připojený. Můžete svůj BitBox kdykoli odpojit.",title:"Musím nechat svůj BitBox během odesílání připojený?"},priority:{text:"Čím vyšší poplatek jste ochotni zaplatit, tím rychleji je obvykle vaše transakce potvrzena sítí.",title:"Co je to priorita sítě (network priority)?"},revert:{text:`Jakmile je transakce podepsána a odeslána (tj. vyslána do sítě), nelze ji již vrátit zpět. Před podpisem transakce (včetně poplatku) ji pořádně ověřte! +Pokud příjemce znáte a je ochoten vám poslat stejnou částku (po odečtení transakčních poplatků) zpět, můžete mu poslat novou přijímací adresu.`,title:"Mohu transakci vrátit zpět?"},whyFee:{text:`Transakce soutěží o jejich potvrzení těžařem. Těžaři vybírají transakce, které mají být zařazeny do blockchainu, na základě jejich poplatků. +Těžaři hlasují o historii transakcí. Protože neexistuje důvěryhodná třetí strana, která by vynucovala jeden hlas na osobu (což je celý smysl blockchainů), hlasují těžaři o transakcích tak, že obětují nákladný zdroj, jako je výpočetní výkon. Jako odměnu za svou práci si mohou nárokovat nově vytvořené mince a poplatek za všechny zahrnuté transakce.`,title:"Proč se platí síťový poplatek?"}},"settings-electrum":{connection:{text:`Pokud se k uzlu hodláte připojit pouze tehdy, když jste ve stejné síti (např. domácí wifi), pak vám postačí běžná síťová komunikace. +V takovém případě je vhodné, aby váš Electrum server poskytoval certifikát TLS pro šifrování komunikace. +Pokud se hodláte k uzlu připojit odkudkoli, je lepší volbou použití sítě Tor. V takovém případě není certifikát TLS nutný.`,title:"Mám použít clearnet TCP, TLS nebo Tor?"},instructions:{link:{text:"Průvodce pro připojení uzlu"},text:"Úplný návod naleznete v našem průvodci:",title:"Jak připojím BitBoxApp k vlastnímu uzlu?"},options:{text:`Existuje více možností, jak provozovat vlastní uzel, například zakoupit hotové zařízení, postavit si vlastní nebo používat Bitcoin Core. +Pokud chcete k uzlu připojit BitBoxApp, ujistěte se, že na něm běží server Electrum. Jedná se o specializovaný program, který umožňuje peněžence komunikovat s vaším uzlem. +Mezi podporované možnosti patří Electrs, Electrum Personal Server (EPS) nebo Bitcoin Wallet Tracker (BTW).`,title:"Jaké jsou možnosti provozování uzlu?"},tor:{text:`Tor je zkratka pro "The Onion Router", což je bezplatný software s open source kódem, který nabízí mnoho výhod v oblasti ochrany soukromí a je užitečný zejména při používání Bitcoinu. +Pokud se hodláte připojit k uzlu prostřednictvím Toru, ujistěte se, že je Tor na vašem počítači nainstalován, a poté aktivujte Tor Proxy v nastavení BitBoxApp. +U většiny operačních systémů existují dva způsoby, jak Tor spustit: +1. Prohlížeč Tor: Stáhněte si a otevřete prohlížeč Tor Browser. To umožní aplikaci BitBoxApp připojit se k síti Tor nastavením portu 9150 v nastavení proxy serveru Tor. +2. Služba Tor na pozadí: nainstalujte Tor daemon, který vždy běží na pozadí. BitBoxApp se pak může připojit nastavením portu 9050 v nastavení proxy serveru Tor.`,title:"Co je Tor, Tor proxy a jaký port mám použít?"},what:{text:"Peněženku je možné provozovat s vlastním uzlem namísto serverů Shift.",title:"Co to je?"},why:{text:`Provozování vlastního uzlu není nutné, ale zlepšuje soukromí a snižuje potřebu důvěřovat někomu jinému. +Zaprvé to znamená, že používáte Bitcoin soukroměji, protože BitBoxApp se nebude připojovat k našim serverům, aby získala historii vašich transakcí; místo toho bude tyto informace získávat z vašeho vlastního uzlu. +Za druhé, spuštění vlastního uzlu znamená, že váš uzel sám ověřuje všechny transakce a zajišťuje tak dodržování pravidel konsensu (consensus rules).`,title:"Proč bych měl provozovat vlastní uzel?"}},settings:{sats:{text:'Satoshi (zkráceně "sat") je nejmenší jednotka bitcoinu. Jeden satoshi je jedna stamiliontina bitcoinu (0,00000001 BTC). Je pojmenována po tvůrci bitcoinu Satoshi Nakamotovi.',title:"Co je to Satoshi?"},servers:{text:`Tato aplikace komunikuje se servery Shift Crypto a kontroluje aktualizace, načítá transakce a odesílá informace spárovaným mobilním aplikacím. +Aplikace také načítá nejnovější směnné kurzy z CoinGecko. Všechny konverze se počítají lokálně, což znamená, že se nikdy neodesílají žádné údaje o výši vaší transakce. +Poznámka: Pro tokeny Ethereum a ERC20 používáme Etherscan.io API.`,title:"S kterými servery tato aplikace komunikuje?"}},title:"Průvodce",toggle:{close:"Zavřít průvodce",open:"Průvodce"},trackingModePortfolioChart:{text:"Na počítači najeďte kurzorem na graf. Na mobilním telefonu podržte prst na grafu a potáhněte vodorovně.",title:"Jak zobrazit historické hodnoty na grafu?"},unlock:{forgotDevicePassword:{text:"Musíte zařízení resetovat a obnovit peněženku ze zálohy pomocí hesla pro obnovení.",title:"Co mám dělat, když jsem zapomněl heslo k zařízení?"},reset:{text:"Zadejte 15krát špatné heslo zařízení. Několik posledních pokusů vyžaduje dlouhý dotyk na zařízení.",title:"Jak resetuji zařízení?"}},waiting:{deviceNotRecognized:{text:`Zařízení by mělo po připojení jednou bliknout. Ujistěte se, že je zapojeno správnou stranou. Pokud máte potíže, kontaktujte nás prostřednictvím níže uvedeného odkazu. + +Zařízení BitBox01 není podporováno v mobilních zařízeních. K připojení zařízení BitBox01 použijte aplikaci BitBoxApp na stolním počítači.`,title:"Můj BitBox01 nebyl rozpoznán"},getDevice:{link:{text:"Objednejte si BitBox"},text:"BitBox si můžete zakoupit v našem internetovém obchodě:",title:"Jak si mohu zařízení pořídit?"},internet:{text:"Ano, k synchronizaci peněženky, odesílání transakcí a načítání nejnovějších směnných kurzů je nutné připojení k internetu.",title:"Vyžaduje tato aplikace připojení k internetu?"},lostDevice:{link:{text:"Centrum zálohování"},text:"Své účty můžete obnovit na novém BitBoxu nebo v našem centru zálohování.",title:"Ztratil jsem zařízení. Co teď?"},useWithoutDevice:{text:"V současné době to bohužel není možné.",title:"Mohu aplikaci používat i bez zařízení?"},welcome:{text:"Děkujeme za používání této aplikace vytvořené společností Shift Crypto ve Švýcarsku. Jsme rádi za jakýkoli příspěvek, o který se s námi podělíte. Poskytněte prosím zpětnou vazbu pomocí odkazu v dolní části.",title:"Vítejte v BitBoxApp!"}},walletConnect:{noPreviousConnections:{text:"Pokud používáte nový telefon/počítač s BitBoxApp, budete se muset k dapps připojit znovu. Poté opět uvidíte své prostředky v dapp jako obvykle.",title:"Nevidím svá předchozí spojení."},supportedNetworks:{text:"V současné době je pomocí WalletConnect v BitBoxApp podporován pouze Ethereum mainnet . Chcete-li používat jiné sítě kompatibilní s EVM, použijte prosím peněženku z rozšíření prohlížeče Rabby.",title:"Které sítě jsou podporovány?"},whatIsWalletConnect:{text:"WalletConnect je komunikační protokol pro aplikace web3. Umožňuje pohodlné připojení k DApps a webovým peněženkám založeným na Ethereu bez použití aplikace třetí strany, což je užitečné zejména pro uživatele BitBoxApp pro Android.",title:"Co je WalletConnect?"}}},nT={blocksSynced:"{{blocks}} bloků zesynchronizováno"},aT={info1HTML:"Pro účely hodnověrného popření (plausible deniability) lze skrytou peněženku vytvořit na základě kombinace odlišného hesla zařízení + hesla pro obnovení.",info2HTML:"Níže definujte heslo zařízení a heslo pro obnovení, které chcete přiřadit ke své skryté peněžence. Heslo zařízení a heslo pro obnovení musí být odlišné od těch, které jste definovali pro svou primární peněženku.",passwordLabel:"Skryté heslo pro obnovení",passwordPlaceholder:"Potvrďte prosím skryté heslo pro obnovení",pinLabel:"Heslo pro skryté zařízení",pinRepeatLabel:"Zopakujte heslo pro skryté zařízení",pinRepeatPlaceholder:"Potvrďte prosím heslo pro skryté zařízení",success:"Skrytá peněženka byla úspěšně vytvořena. Znovu připojte svůj BitBox, abyste jej odemkli."},iT={create:"Nastavit heslo zařízení",creating:"Nastavování hesla zařízení…",error:{e102:"Heslo zařízení musí obsahovat alespoň 4 znaky."},info:{description1:"Zvolte heslo zařízení. To bude použito k odemknutí vašeho BitBoxu.",description2:"Můžete používat čísla, písmena a symboly. Delší hesla poskytují vyšší bezpečnost.",description3:"Pokud heslo k zařízení ztratíte, budete muset zařízení resetovat a obnovit ze zálohy.",subtitle:"Nyní nastavíte heslo svého zařízení",title:"Inicializace zařízení"},input:{label:"Heslo zařízení",labelRepeat:"Opakujte heslo zařízení",placeholderRepeat:"Potvrďte heslo zařízení"}},oT="Nesprávný formát",rT={title:"Zvolte jazyk"},sT={disable:"Deaktivovat legacy skrytou peněženku",enable:"Aktivovat legacy skrytou peněženku",successDisable:"Úspěšně deaktivována legacy skrytá peněženka.",successEnable:"Starší legacy peněženka byla úspěšně aktivována. Znovu zapojte svůj BitBox a zadejte heslo skrytého zařízení pro přístup k legacy skryté peněžence."},lT="načítání…",cT={accountHidden:"Tento účet byl skryt z vašich watch-only účtů. Chcete-li jej znovu zobrazit, připojte prosím svůj BitBox02.",editAccount:"Upravit",editAccountNameTitle:"Upravit název účtu",noAccounts:"nebyly nalezeny žádné účty",settings:{hideTokens:"Skrýt tokeny",showTokens:"Zobrazit tokeny ({{activeTokenCount}})"},settingsButtonDescription:"Přidat a zobrazit/skrýt účty",title:"Spravovat účty",watchAccount:"Sledovat účet",watchAccountDescription:"Tento účet je součástí watch-only účtů. Můžete jej skrýt ze svých watch-only účtů pomocí přepínače."},uT={usingMobileDataWarning:"Využití mobilních dat: tato aplikace může po odemčení účtu stáhnout až několik set megabajtů dat z blockchainu. Abyste se vyhnuli používání mobilních dat, připojte se k Wi-Fi. Po jejím zavření se tato zpráva již nebude zobrazovat."},dT={about:{appVersion:{title:"Verze aplikace"}},advancedSettings:{authentication:{description:"Uzamčení přístupu k aplikaci pomocí zámku obrazovky/otisku prstu.",title:"Uzamčení obrazovky"},coinControl:{description:"Vyberte, které UTXO jsou součástí transakce, abyste zlepšili soukromí."},customFees:{description:"Umožňuje zadat vlastní poplatek při odesílání."},torProxy:{description:"Připojte se přes Tor pro lepší soukromí."}},appearance:{activeCurrencies:{description:"Tyto další měny můžete přepínat na stránce svého účtu.",title:"Aktivní měny"},darkmode:{description:"Podívejte se na BitBoxApp v tmavém režimu."},defaultCurrency:{description:"Vyberte výchozí měnu",title:"Výchozí měna"},hideAmounts:{description:"Zobrazuje přepínač pro skrytí zůstatku a částek pro ochranu soukromí při používání aplikace na veřejnosti.",hideAmounts:"Skrýt částky",showAmounts:"Zobrazit částky",title:"Povolit skrytí částek"},language:{description:"Jaký jazyk chcete v BitBoxApp používat.",title:"Jazyk"},toggleSats:{description:"Aktivovat nebo deaktivovat Satoshi."}}},pT={input:{description:"(volitelný)",placeholder:"Přidat poznámku…"},title:"Poznámka"},hT={newTxs_one:"Nová transakce v: {{accountName}}",newTxs_other:"{{count}} nové transakce v: {{accountName}}"},mT={aborted:{text:"Párování bylo z mobilní aplikace zrušeno.",title:"Zrušeno"},button:"Spárovat mobilní aplikaci",confirm:"Jste si jisti, že chcete spárovat svůj BitBox? Pamatujte, že poté je k provedení transakce vyžadován mobilní telefon.",connectOnly:{button:"Připojte mobilní aplikaci",title:'Naskenujte pomocí naší mobilní aplikace výběrem položky "Připojit k nové aplikaci".'},error:{text:"Něco se pokazilo. Začněte prosím znovu.",title:"Chyba"},pullFailed:{text:"Nepodařilo se stáhnout zprávu z mobilního telefonu prostřednictvím serveru. Server může být offline, kontaktujte prosím podporu.",title:"Vytažení se nezdařilo"},reconnectOnly:{button:"Znovu připojte mobilní aplikaci"},scanningFailed:{text:"Mobilní telefon nebyl schopen zprávu úspěšně naskenovat. Zkuste to prosím znovu.",title:"Skenování se nezdařilo "},start:{hideAppQRCode:"Skrýt QR kód",revealAppQRCode:"Zobrazit QR kód",step1:"Pokud mobilní aplikaci nemáte, můžete naskenovat QR kód pro Apple App Store nebo Google Play Store podle toho, který telefon máte.",step2:'Naskenujte pomocí naší mobilní aplikace, kterou najdete pod názvem "Digital Bitbox 2FA" v obchodech s aplikacemi pro iOS a Android:'},started:{text:"Nyní postupujte podle pokynů v mobilní aplikaci.",title:"Skvělý"},success:{text:"Gratulujeme, úspěšně jste spárovali svůj BitBox s mobilní aplikací!",title:"Hotovo"},timeout:{text:"Párování se po dvou minutách přerušilo. Pokud chcete ještě spárovat mobilní aplikaci, spusťte ji znovu.",title:"Timeout"},title:"Párování mobilního telefonu"},fT={considerations:{button:"Úvahy ohledně zálohování",message:`Přístupová fráze přidává vrstvu ochrany k vaší záloze peněženky (záloha na microSD kartě nebo obnovovací slova). Pokud má někdo přístup k vaší záloze, bude k přístupu do peněženky potřebovat také přístupovou frázi. + +To však znamená, že v případě ztráty nebo rozbití vašeho BitBoxu budete potřebovat i přístupovou frázi i zálohu peněženky pro obnovení vaší peněženky s přístupovou frází. Pokud zapomenete nebo ztratíte svou přístupovou frázi, ztratíte přístup ke všem prostředkům v této peněžence. + +Při ukládání přístupové fráze zvažte její umístění na jiné místo než kde máte zálohu. Pokud někdo najde vaši zálohu, nenajde tak vaši přístupovou frázi.`,title:"Úvahy ohledně zálohování"},disable:"Deaktivovat přístupovou frázi",disableInfo:{button:"Deaktivovat",message:`Po vypnutí přístupové fráze již nebudete po odemknutí BitBoxu vyzváni k zadání přístupové fráze. Proto vstoupíte do své výchozí peněženky. + +Veškeré prostředky ve vaší peněžence s přístupovou frází budou stále v této peněžence, avšak nebudete k nim mít přístup, protože po odemknutí vašeho BitBoxu otevřete svou výchozí peněženku. + +Pro opětovný přístup k vašim peněženkám s přístupovou frází jednoduše znovu zapněte funkci přístupové fráze a po odemknutí BitBoxu zadejte příslušnou přístupovou frázi. + +Tip: Do své výchozí peněženky můžete přistoupit i ponecháním prázdné přístupové fráze, když ji máte aktivovanou.`},enable:"Aktivovat přístupovou frázi",error:{e104:"Změna nastavení přístupové fráze byla zrušena."},how:{button:"Jak to vypadá",message:`A přístupová fráze nefunguje jako heslo, na které jste zvyklí. Pokud heslo zadáte chybně, nebudete na to upozorněni. Je to proto, že každá přístupová fráze vytváří jinou, avšak platnou peněženku. To znamená, že můžete používat více přístupových frází pro libovolný počet peněženek. Každá peněženka je však přístupná pouze po zadání příslušné přístupové fráze. + +Po připojení BitBoxu budete jako obvykle vyzváni k zadání hesla zařízení. Poté budete vyzváni k zadání přístupové fráze. + +Po zadání přístupové fráze se zobrazí vámi zadaná přístupová fráze. To proto, abyste mohli potvrdit, že jste ji zadali správně.`,title:"Jak to funguje"},intro:{message:`Přístupová fráze poskytuje další vrstvu zabezpečení nad vaší peněženkou. +Pojďme se naučit, jak to funguje.`,title:"Nastavení přístupové fráze"},progressDisable:{message:"Potvrďte na svém BitBoxu, že chcete deaktivovat volitelnou přístupovou frázi.",title:"Potvrďte na zařízení"},progressEnable:{message:"Potvrďte na svém BitBoxu, že chcete aktivovat volitelnou přístupovou frázi.",title:"Potvrďte na zařízení"},successDisabled:{message:`Volitelná přístupová fráze byla úspěšně aktivována! +Od této chvíle budete vyzváni k zadání přístupové fráze.`,messageEnd:"Nyní znovu připojte BitBox02.",title:"Přístupová fráze aktivní"},successEnabled:{message:`Volitelná přístupová fráze byla úspěšně deaktivována! + +Již nebudete vyzváni k zadání přístupové fráze.`,messageEnd:"Nyní znovu připojte svůj BitBox02.",tips:"Tipy",tipsList:["Doporučujeme nejprve odeslat malou částku do peněženky s přístupovou frází. Poté odpojte a znovu zapojte BitBox02 a zadejte heslo a přístupovou frázi. Pokud jste zadali přístupovou frázi správně, měli byste prostředky vidět ve své peněžence.","Pokud chcete vstoupit do své původní peněženky bez přístupové fráze, můžete to provést tak, že po výzvě k zadání přístupové fráze nezadáte nic. Nebo můžete funkci přístupové fráze vypnout."],title:"Přístupová fráze deaktivována"},summary:{button:"Aktivovat přístupovou frázi",title:"Přehled",understand:"Rozumím fungování přístupové fráze a rizikům s tím spojeným.",understandList:["Přístupová fráze představuje další vrstvu zabezpečení nad vaší zálohou.","Zadáním jiné přístupové fráze se vždy vygeneruje jiná peněženka.","K obnovení peněženky potřebujete přístupovou frázi i zálohu.","Pokud zapomenete přístupovou frázi, ztratíte přístup ke svým prostředkům."]},what:{button:"Přečtěte si, jak to funguje",message:`Peněženka je vytvořena (odvozena) z velmi velkého náhodného čísla, známého také jako seed. Tento seed, nebo slova pro obnovení, je vytvořen při prvním nastavení BitBoxu a je zálohován pomocí microSD karty anebo prostřednictvím jiné zálohy (papír, steelwallet apod.). Každý, kdo má přístup k seedu, má plnou kontrolu nad prostředky v této peněžence. + +Přístupová fráze je volitelné tajemství, které se přidává k seedu. Při použití přístupové fráze se při každém použití vytvoří nová peněženka na základě seedu + přístupové fráze (nepovinného tajemství). Passphrase může být jakákoli: písmena, slova, speciální znaky nebo může být i prázdná. Výchozí peněženka je ve skutečnosti odvozena od seedu + prázdné přístupové fráze. + +Přístupová fráze je součástí standardu BIP39, což znamená, že je kompatibilní se všemi peněženkami, které tento standard podporují.`,title:"Co je přístupová fráze?"},why:{button:"Proč používat přístupovou frázi",message:`BitBox02 chrání seed před stažením ze samotného zařízení, ale záloha (uložena na microSD kartě nebo obnovovací slova zapsaná na papíře) umožňuje plný přístup k peněžence. Proto by měla být uložena na bezpečném místě! + +Vzhledem k tomu, že přístupová fráze vytváří novou peněženku pomocí vašeho stávajícího seedu, vyžaduje peněženka s přístupovou frází k obnovení zálohu i přístupovou frázi. Výhodou je, že pokud někdo najde vaši zálohu, bude k přístupu do peněženky s přístupovou frází stále potřebovat přístupovou frázi. + +Funkce přístupové fráze navíc umožňuje vytvořit na stejném zařízení více peněženek nebo "skrytých peněženek" kromě té výchozí.`,title:"Proč používat přístupovou frázi?"}},gT={show:"Zobrazit {{label}}",warning:{caps:"VAROVÁNÍ: Caps Lock (⇪) je zapnutý",paste:'pro vložení textu povolte "ZOBRAZIT {{label}}"'}},vT={button:"Vygenerujovat náhodné číslo",description:"Váš BitBox vygeneroval následující {{bits}}-bit náhodné číslo:"},bT={changeScriptType:"Změňit typ adresy",label:"Vaše adresa",onlyThisCoin:{description:"Chcete-li přijímat další tokeny, aktivujte je v nastavení. Pokud vložíte jiné tokeny, nemusí být přístupné.",warning:"Ujistěte se, že přijímáte pouze {{coinName}} na této adrese."},scriptType:{p2tr:"Taproot (nejnovější formát)",p2wpkh:"Nativní Segwit (výchozí)","p2wpkh-p2sh":"Wrapped Segwit (kompatibilní formát)"},selectAccount:"Vybrat účet",showFull:"Zobrazit a ověřit celou adresu na zařízení",taprootWarning:"Poznámka: Taproot je nová funkce Bitcoinu a zatím není široce používána. Prostředky přijaté na adresy Taproot nemusí být viditelné v peněženkách třetích stran, které jsou určeny pouze pro sledování (watch-only wallets). Mnoho peněženek a burz zatím není schopno posílat na adresy Taproot.",title:"Přijmout {{accountName}}",verify:"Bezpečně ověřit adresu",verifyBitBox01:"Ověřit adresu v mobilní aplikaci",verifyBitBox02:"Ověřit adresu na BitBox02",verifyInstruction:"Zkontrolujte, zda se následující adresa shoduje s adresou zobrazenou na vašem zařízení.",warning:{secureOutput:'Spárujte prosím svůj BitBox s mobilním zařízením, abyste mohli bezpečně ověřit adresu. Přejděte na "Spravovat zařízení" v postranním panelu.'}},kT={description:"Všechna data v zařízení budou smazána. Včetně vašeho soukromého klíče!",notReset:"Zařízení nebylo resetováno",title:"Resetovat zařízení do továrního nastavení",understand:"Mám zálohu a znám heslo pro obnovení",understandBB02:"Mám platnou zálohu"},xT={create:{description1:"Doporučujeme nastavovat zařízení v bezpečném prostředí, to znamená mimo dosah dalších osob, které by mohly vidět vámi zvolené heslo.",description2:"Budete vyzváni k vytvoření dvou hesel.",description3:"První je heslo zařízení, které odemkne váš BitBox a které lze později změnit.",description4:"Druhým je heslo pro obnovení, které odemkne vaši peněženku. Toto heslo nelze později změnit.",description5:"Peněženka, kterou vytvoříte, bude zálohována do souboru na dodané microSD kartě. Ten můžete v případě nouze použít k obnovení svých prostředků pomocí hesla pro obnovení.",title:"Informace o zabezpečení"},restore:{description1:"Budete vyzváni k vložení microSD karty, kterou jste použili k uložení zálohy.",description2:"K obnovení zařízení budete potřebovat heslo pro obnovení. ",description3:"Při zadávání hesla pro obnovení buďte opatrní. Jakékoli zadané heslo vytvoří platnou peněženku. Pokud zadáte špatné heslo, může se vám zobrazit zůstatek peněženky, který neočekáváte.",title:"Informace o zabezpečení"}},yT={agreements:{"funds-access":"Pokud zapomenu heslo pro obnovení, ZTRATÍM přístup ke svým finančním prostředkům.","password-change":"Heslo pro obnovení NEMŮŽU později změnit","password-required":"Heslo pro obnovení je nutné pro obnovení peněženky ze zálohy."},create:"Vytvořit peněženku",creating:"Vytváření peněženky",description:"Rozumím, že:",error:{e102:"Heslo musí obsahovat alespoň 4 znaky.",e200:"Pro vytvoření peněženky je třeba do BitBoxu vložit microSD kartu, aby se mohla automaticky vytvořit záloha."},info:{button:"Nastavit heslo pro obnovení",description1:"Vložte microSD kartu do zařízení BitBox",description2:'Zvolte heslo pro obnovení peněženky a vyberte možnost "Nastavit heslo pro obnovení".',description3:"Zálohování na microSD kartu a heslo pro obnovení je jedinou metodou, jak obnovit své prostředky v případě ztráty nebo krádeže BitBoxu.",description4:"Heslo pro obnovení nelze později změnit bez převodu finančních prostředků.",title:"Vytvořit novou peněženku"},password:{label:"Heslo pro obnovení",repeatPlaceholder:"Zopakujte heslo pro obnovení"},walletName:{label:"Název peněženky"}},wT={error:{e200:"Obnovení peněženky ze zálohy vyžaduje microSD kartu."},info:{description1:'Vložte microSD kartu do BitBoxu a klikněte na tlačítko "Pokračovat".',description2:'Vyberte zálohu a klikněte na tlačítko "Obnovit".',description3:"Zadejte heslo pro obnovení",description4:"Je zapotřebí potvrdit, abyste si uvědomili, že nesprávné heslo vytvoří jinou peněženku.",title:"Jak obnovit peněženku ze zálohy"}},jT={abort:"Transakce byla zrušena.",address:{label:"Adresa přijemce",placeholder:"Zadejte adresu"},amount:{label:"Částka",placeholder:"Zadejte částku"},availableBalance:"Dostupný zůstatek",button:"Překontrolování",coincontrol:{address:"Adresa",outpoint:"Outpoint",title:"Odeslat z outputu"},confirm:{"selected-coins":"Vybrané mince",title:"Potvrďte a odešlete transakci",total:"Celkem"},error:{erc20InsufficientGasFunds:"Zdá se, že nemáte dostatek etherů na zaplacení této ERC20 transakce. Ujistěte se prosím, že máte v peněžence dostatek etherů.",feeTooLow:"poplatek příliš nízký",feesNotAvailable:"Nelze odhadnout poplatky",insufficientFunds:"nedostatek finančních prostředků",invalidAddress:"neplatná adresa",invalidAmount:"neplatná částka",invalidData:"neplatná data"},fee:{customPlaceholder:"Zadejte částku",label:"Síťový poplatek",placeholder:"Není dostupný"},feeTarget:{customLabel:"Výše poplatku",customLabel_eth:"Gas cena",description:{economy:"4 hodiny (24 bloků)",economy_eth:"30 minut nebo méně",economy_ltc:"1 hodina (24 bloků)",high:"20 minut (2 bloky)",high_eth:"30 sekund nebo méně",high_ltc:"5 minut (2 bloky)",low:"2 hodiny (12 bloků)",low_eth:"5 minut nebo méně",low_ltc:"30 minut (12 bloků)",normal:"1 hodina (6 bloků)",normal_eth:"2 minuty nebo méně",normal_ltc:"15 minut (6 bloků)"},estimate:"Odhadovaný čas potvrzení:",label:{custom:"Vlastní",economy:"Úsporný",high:"Vysoký",low:"Nízký",normal:"Normální"},placeholder:"Výpočet poplatku…"},maximum:"Poslat vše",maximumSelectedCoins:"Poslat vybrané mince",noFeeTargets:"Odhady výše poplatků nejsou v současné době k dispozici. Zkuste to prosím později nebo zadejte vlastní poplatek.",priority:"Priorita",scanQR:"Naskenujte QR kód",signprogress:{description:"Jedná se o transakci obsahující velké množství dat. Chcete-li transakci plně podepsat, budete vyzváni k potvrzení {{steps}}krát.",label:"Průběh"},success:"Transakce byla podepsána a odeslána.",title:"Poslat {{accountName}}",toggleCoinControl:"Přepnout na coin control",transactionDetails:"Detaily transakce"},BT={about:"O aplikaci",accounts:"Účty",advancedSettings:"Pokročilé nastavení",appearance:"Vzhled",electrum:{add:"Přidat server","add-server":"Přidat",check:"Kontrola",checkFailed:"Kontrola selhala",checkSuccess:"Úspěšně navázáno spojení s {{host}}",checking:"Kontroluji","download-cert":"Stáhnout vzdálený certifikát","remove-server":"Odstranit",removeConfirm:"Odstranit {{server}}?",reset:"Obnovit do základního nastavení",resetConfirm:"Chcete odebrat všechny servery a nainstalovat výchozí servery?",servers:"Servery",step1:"1","step1-text":"Zadejte endpoint.",step2:"2","step2-text":"Zadejte certifikát řetězce certifikátů serveru. Případně stáhněte vzdálený certifikát a vizuálně jej porovnejte.","step2-text-tcp":"Pokud nechcete používat TLS, můžete tento krok přeskočit.",step3:"3","step3-text":"Zkontrolujte připojení a přidejte server.",step4:"4","step4-text":"Restartujte peněženku. Pokud neodstraníte výchozí servery, bude váš vlastní uzel přidán jako nadbytečný.","title-btc":"Bitcoinové Electrum servery","title-ltc":"Litecoin Electrum servery","title-tbtc":"Bitcoin Testnet Electrum servery","title-tltc":"Litecoin Testnet Electrum servery"},expert:{coinControl:"Aktivovat coin control",electrum:{description:"Můžete se připojit ke svému vlastnímu Electrum uzlu (full node).",title:"Připojte svůj vlastní uzel (full node)"},fee:"Aktivovat vlastní poplatky",setProxyAddress:"Nastavit adresu proxy",title:"Expertní nastavení",useProxy:"Aktivovat tor proxy",useSats:"Zobrazit hodnoty BTC v satoshi"},header:{home:"Domů"},info:{"out-of-date":"K dispozici je nová aktualizace",title:"Info","up-to-date":"Vaše aplikace je aktuální",version:"Verze aplikace"},restart:"Restartujte BitBoxApp, aby se změny projevily.",services:{title:"Služby"},success:"Aby se změny projevily, odpojte a znovu připojte BitBox.",title:"Nastavení"},ST="Nastavení zařízení",zT={buy:"Koupit krypto",device:"Spravovat zařízení",leave:"Odejít",settings:"Nastavení"},CT={create:{info1:"Vaše peněženka byla bezpečně zálohována na microSD kartu. Vyjměte ji a uschovejte v bezpečí.",info2:"Vytvořili jste bezpečné heslo zařízení, které odemyká BitBox.",info3:"Pro svou peněženku jste si vytvořili bezpečné heslo pro obnovení, které odemkne vaše prostředky a obnoví vaše zálohy.",summary:"Zde je shrnutí toho, co jste udělali",title:"Hotovo"},getstarted:"Začněte",restore:{summary:"Úspěšně jste obnovili peněženku ze zálohy.",title:"Hotovo"}},DT={confirmation:"Konfirmace",details:{activity:"Přehled aktivit",address:"Adresa",amount:"Částka",date:"Datum",fiat:"Fiat",fiatAmount:"Částka ve fiatu",fiatAtTime:"Fiat v době transakce",status:"Stav",type:"Typ"},explorer:"ID transakce",explorerTitle:"Otevřít v externím block exploreru",fee:"Poplatek",fiatHistorical:"Historický",gas:"Gas",note:{edit:"Upravit poznámku",save:"Uložit poznámku"},pending:"Čekající transakce",size:"Velikost",status:{complete:"Dokončená",failed:"Neúspěšná",pending:"Čekající"},tx:{received:"Přijata na",sent:"Odeslána na"},vsize:"Virtuální velikost",weight:"Váha"},AT={errorLoadTransactions:"Při načítání transakcí došlo k chybě",placeholder:"Zatím žádné transakce."},_T="Nastala neznámá chyba: {{errorMessage}}",TT={description:"Pro odemknutí zadejte heslo zařízení.",error:{e109_normal:"Nesprávné heslo. Zbývá ještě {{remainingAttempts}} pokusů, než bude zařízení resetováno.",e109_touch:"$t(unlock.error.e109_normal) Další přihlášení vyžaduje podržení dotykového tlačítka.",e113:"Vzhledem k mnoha pokusům o přihlášení vyžaduje další přihlášení podržení dotykového tlačítka po dobu 4 sekund."},input:{label:"Heslo zařízení",placeholder:"Zadejte heslo zařízení pro odemknutí"},unlocking:"Odemykání..."},ET={button:"Aktualizovat firmware",description:"Chcete aktualizovat firmware z {{currentVersion}} verze na {{newVersion}}?",label:"Váš BitBox vyžaduje upgrade firmwaru.",locked:"Chcete-li provést upgrade z {{currentVersion}} na {{newVersion}}, proveďte dlouhý dotyk.",title:"Upgradovat firmware",unlocked:"Bootloader je odemčený. Chcete-li pokračovat, prosím:",unlocked1:"Odpojte a znovu zapojte váš Bitbox",unlocked2:"Po opětovném zapojení vašeho BitBoxu se rozsvítí LED dioda.",unlocked3:"Když se rozsvítí LED dioda, klepněte na dotykové tlačítko"},PT={connect:{button:"Připojit",dappLabel:"Zadejte URI adresu dapp",invalidPairingUri:"Neplatné párování uri"},dashboard:{allSessions:"Všechny relace",disclaimer:"Walletconnect je protokol pro připojení k Dapps založeným na Ethereu. Tyto dapps jsou provozovány službami třetích stran, takže se připojujte pouze k dapps, kterým důvěřujete, a vždy se ujistěte, že víte, co podepisujete při provádění transakce.",newConnection:"Nové připojení",noConnectedSessions:"V této chvíli nejsou k dapps připojeny žádné účty."},invalidPairingChain:"Chyba při schvalování párování. Ujistěte se, že používáte jednu z podporovaných sítí: {{chains}}",pairingRequest:{approve:"Schválit připojení",reject:"Odmítnout",title:"Nový požadavek na připojení od"},pairingSuccess:"Dapp se úspěšně připojil. Pokračovat můžete na dapp webu",signingRequest:{account:"Účet",chain:"Síť",dapp:"Dapp",data:"Data",dataParsingError:"Nepodařilo se zpracovat data",decodeError:"Zprávu se nepodařilo dekódova",method:{sendTransaction:"Podepište a odešlete transakci",signMessage:"Podepsat zprávu",signTransaction:"Podepsat transakci",signTypedData:"Podepište zadaná data"},successfullySigned:"Žádost byla úspěšně podepsána",walletConnectRequest:"Žádost o připojení k WalletConnect"},useNewUri:"Tento URI již byl použit k pokusu o připojení. Použijte prosím nový URI.",walletConnect:"WalletConnect"},NT={receivePairing:'Spárujte BitBox, abyste mohli bezpečně ověřit adresu. Přejděte na "Spravovat zařízení" v postranním panelu.',sdcard:"MicroSD kartu mějte uloženou odděleně od BitBoxu, pokud ovšem nechcete spravovat zálohy.",sendPairing:'Spárujte prosím BitBox a bezpečně ověřte údaje o transakci. Přejděte na "Spravovat zařízení" v postranním panelu.'},LT={connect:"Připojte BitBox02",getStarted:"Začněme instalací firmwaru na váš BitBox02.",insertBitBox02:"Pro BitBox02 klepněte na zařízení a pokračujte.",insertDevice:"Připojte své zařízení a začněte",title:"Vítejte"},IT={account:k_,accountInfo:x_,accountSummary:y_,addAccount:w_,aopp:j_,app:B_,auth:S_,backup:z_,bb02Bootloader:C_,bitbox:D_,bitbox02Interact:A_,bitbox02Settings:__,bitbox02Wizard:T_,blink:E_,bootloader:P_,button:N_,buy:L_,changePin:I_,chart:$_,checkSDcard:M_,clickHere:O_,confirm:R_,confirmOnDevice:F_,connectKeystore:V_,darkmode:W_,device:U_,deviceLock:q_,deviceSettings:H_,deviceTampered:K_,dialog:G_,error:Q_,fiat:Y_,footer:Z_,generic:J_,genericError:X_,goal:eT,guide:tT,headerssync:nT,hiddenWallet:aT,initialize:iT,invalidFormat:oT,language:rT,legacyhiddenwallet:sT,loading:lT,manageAccounts:cT,mobile:uT,newSettings:dT,note:pT,notification:hT,pairing:mT,passphrase:fT,password:gT,random:vT,receive:bT,reset:kT,securityInformation:xT,seed:yT,seedRestore:wT,send:jT,settings:BT,setup:ST,sidebar:zT,success:CT,transaction:DT,transactions:AT,unknownError:_T,unlock:TT,upgradeFirmware:ET,walletConnect:PT,warning:NT,welcome:LT},$T={disconnect:"Verbindung unterbrochen. Erneut verbinden... ",export:"Export",exportTransactions:"Exportiere Transaktionen im Download Ordner als CSV Datei",fatalError:"Ein unerwarteter Fehler ist aufgetreten.",incoming:"Eingehend",initializing:"Informationen werden von der Blockchain geladen…",maybeProxyError:"Tor-Proxy aktiviert. Stelle sicher, dass Tor-Proxy ordnungsgemäß ausgeführt wird, oder deaktiviere die Proxy-Einstellung.",reconnecting:"Verbindung abgebrochen, neue Verbindung wird aufgebaut…",syncedAddressesCount:"{{count}} Adressen gescannt"},MT={address:"Adresse",buyCTA:{buy:"{{unit}} kaufen",buyCrypto:"Krypto kaufen",information:{looksEmpty:"Sieht so aus, als wäre dieses Wallet leer.",start:"Lege los, indem du einige Coins auf das Wallet einzahlst oder direkt in der BitBoxApp kaufst."}},extendedPublicKey:"Erweiterter Public Key",label:"Konto Informationen",scriptType:"Script-Typ",title:"Konto Informationen",verify:"Auf Gerät bestätigen",xpubTypeChangeBtn:{p2pkh:"Legacy-P2PKH erweiterten Public Key anzeigen",p2tr:"Taproot anzeigen",p2wpkh:"Native Segwit anzeigen","p2wpkh-p2sh":"Älteren Segwit erweiterten öffentlichen Schlüssel anzeigen"},xpubTypeInfo:"Derzeit wird der {{scriptType}} erweiterte Public Key angezeigt ({{current}} von {{numberOfXPubs}})"},OT={availableBalance:"Kontostand",balance:"Saldo",exportSummary:"Kontozusammenfassung als CSV Datei zum Download Ordner exportieren",fiatBalance:"Fiat Kontostand",name:"Konto Name",noAccount:"Keine Konten verfügbar",subtotalWithCoinName:"Summe ({{coinName}})",title:"Kontenübersicht",total:"Gesamt",transactionHistory:"Transaktionsübersicht"},RT={chooseName:{nextButton:"Konto hinzufügen",step:"Konto benennen",title:"Benenne dein Konto"},selectCoin:{nextButton:"Weiter",step:"Coin wählen",title:"Kryptowährung wählen"},success:{addAnotherAccount:"Neues Konto hinzufügen",message:"{{accountName}} wurde zu deinen Konten hinzugefügt.",nextButton:"Fertig",step:"Erledigt",title:"Konto hinzugefügt"},title:"Konto hinzufügen"},FT={addressRequest:"{{host}} fordert eine Empfangsadresse an.",addressRequestWithLogo:"fordert eine Empfangsadresse an",banner:"Adressanfrage in Bearbeitung. Bitte verbinde dein Gerät um fortzufahren.",errorTitle:"Fehler während Adressanfrage",labelAddress:"Adresse",labelMessage:"Nachricht",reverifyInfoText:"Adresse überprüfen",signing:"Signiere die Nachricht auf deiner BitBox um fortzufahren",success:{message:"Weiter auf {{host}}",title:"Adresse erfolgreich übermittelt"},syncing:"Konto wird synchronisiert, bitte warten.",title:"Adressanfrage"},VT={upgrade:"Eine neue Version der App ist verfügbar! Bitte aktualisiere von {{current}} auf {{version}}."},WT={authButton:"Authentifizieren",title:"Bitte authentifiziere dich, um fortzufahren"},UT={check:{checking:"Backup wird geprüft…",confirmTitle:"Backup überprüfen",notOK:"Dein Backup entspricht NICHT deiner aktuellen Wallet.",ok:"Erfolg! Dein Backup entspricht deiner aktuellen Wallet.",password:{label:"Wiederherstellungspasswort",placeholder:"Wiederherstellungspasswort",showLabel:"Wiederherstellungspasswort"},success:"Backup erfolgreich überprüft:",title:"Backup überprüfen"},create:{alreadyExists:"Du hast schon ein gültiges Backup. Willst du trotzdem ein weiteres Backup erstellen?",fail:"Erstellung des Backups FEHLGESCHLAGEN!",info:"Bitte gib dein Wiederherstellungspasswort ein, um deine aktuelle Wallet zu verifizieren.",name:{label:"Backup Name",placeholder:"Bitte benenne dein Backup."},password:{label:"Wiederherstellungspasswort",placeholder:"Bitte gib dein Wiederherstellungspasswort ein."},title:"Backup erstellen",verificationFailed:"Das Wiederherstellungspasswort entspricht NICHT der aktuellen Wallet. Das Backup wurde erstellt. Bitte nutze „Backup prüfen“ um dein Wiederherstellungspasswort erneut zu überprüfen. "},description:"Wähle eine Wallet Backup Datei aus.",insert:"Bitte stecke die Micro-SD-Karte ein um deine Backups zu verwalten.",insertButton:"Ich habe die Mikro-SD-Karte eingesteckt.",list:"Deine Backups auf der microSD Karte",noBackups:"Es befinden sich keine Backups auf der microSD Karte.",restore:{confirmTitle:"Von Backup wiederherstellen",error:{e200:"microSD Karte nicht gefunden",general:"Fehler beim Wiederherstellen von Backup"},password:{label:"Wiederherstellungspasswort oder verstecktes Wiederherstellungspasswort. ",placeholder:"Wiederherstellungspasswort",repeatPlaceholder:"Wiederherstellungspasswort erneut eingeben",showLabel:"Wiederherstellungspasswort"},restoring:"Wiederherstellen des Backups…",selectedBackup:"{{backupName}}, erstellt am {{createdDateTime}}, wird wiederhergestellt.",title:"Wiederherstellen",understand:"Ich habe verstanden, dass ein falsches Wiederherstellungspasswort eine neue/andere Wallet erstellt."},showMnemonic:{description:`Dir werden Wiederherstellungswörter angezeigt, die ein Backup deiner Wallet sind. Schreibe diese auf ein Stück Papier. + +Bewahre diese Wörter nicht digital auf und mache kein Foto von ihnen. + +Sprich die Wörter nicht laut aus. + +Dieses Backup ist nicht Passwort geschützt. + +Nachdem du die Wörter aufgeschrieben hast wirst du gefragt werden sie nochmals zu bestätigen. +`,title:"Recovery-Wörter anzeigen",warning:"Teile deine Wiederherstellungswörter niemals mit irgendjemandem. Deine Wiederherstellungswörter ermöglichen vollen Zugriff zu deinem Wallet . Wenn dich jemand nach deinen Wiederherstellungswörtern fragt, handelt es sich um einen Betrüger. Gebe diese nicht weiter!"},title:"Backups verwalten"},qT={abort:"Nicht upgraden - Zurück!",abort_noUpgrade:"Zurück",advanced:{label:"Erweiterte Einstellungen",toggleShowFirmwareHash:"Zeig mir den Hash der Firmware bei jedem Anstecken der BitBox"},flipscreen:"Bildschirm spiegeln",orientation:"Ist der Bildschirm kopfüber?",success:"Upgrade erfolgreich. In {{rebootSeconds}} geht es weiter....",success_install:"Installation erfolgreich! Es geht weiter in {{rebootSeconds}} Sekunden..."},HT={error:{e10000:"Aktuelles Gerätepasswort ist falsch.",e10001:"Fehler beim Ändern des Gerätepassworts",e102:"Das Passwort muss aus 4 Zeichen bestehen.",e112:"Das versteckte Gerätepasswort und das normale Gerätepasswort können nicht identisch sein."}},KT={confirmDate:"Bestätige das heutige Datum auf deiner BitBox02",confirmDateText:"Dieses Datum wird mit deinem Backup gespeichert. ",confirmName:"Bestätige den Namen auf deiner BitBox02",confirmWords:"Notiere die {{amount}} Wiederherstellungswörter von deiner BitBox02",confirmWordsText:"Danach fordert dich die BitBox02 auf, jedes Wort zu bestätigen, um zu überprüfen, ob dein Backup korrekt ist.",followInstructions:"Bitte folge den Anweisungen auf deiner BitBox02.",followInstructionsMnemonic:"Bitte folge den Anweisungen auf deiner BitBox02 um deine Wallet mit deinen Wiederherstellungswörtern wieder herzustellen.",followInstructionsMnemonicTitle:"Mit Wiederherstellungs-Wörtern wiederherstellen"},GT={deviceName:{current:"Aktueller Gerätename",error:"Gerätename konnte nicht festgelegt werden",error_104:"Die Bestätigung des Gerätenamens wurde auf dem Gerät abgebrochen.",input:"BitBox02 Name",placeholder:"Neuer Gerätename",title:"BitBox02 Namen einstellen"},gotoStartupSettings:{description:"Dadurch wird deine BitBox02 neu gestartet und die Starteinstellungen angezeigt.",title:"Gehe zu den Starteinstellungen"}},QT={advanced:{button:"Erweiterte Optionen",outOfDate:"Die Firmware ist für diese Funktion zu veraltet",seed12WordInfo:"Bitte beachte, dass die Anzahl der Wörter nach dem Erstellen des Wallets nicht mehr geändert werden kann.",seed12WordLabel:"Erstelle einen Seed mit 12 Wörtern statt mit 24 Wörtern",seed12WordText:"Standardmäßig verwendet die BitBox02 einen 24-Wörter-Seed. Beide Seed-Längen sind in der Praxis sicher gegen Brute-Forcing. Einige Benutzer bevorzugen möglicherweise die Bequemlichkeit eines 12-Wörter-Seeds.",skipSDCardLabel:"Überspringe die Sicherung auf der MicroSD-Karte und notiere stattdessen die Wiederherstellungswörter",skipSDCardText:"Du hast jederzeit die Möglichkeit, nach der Einrichtung ein Backup auf der MicroSD-Karte zu erstellen und deine Wiederherstellungswörter aufzuschreiben. Dies kannst über die Einstellungen tun.",title:"Erweiterte Backup-Optionen"},attestationFailed:"Echtheitsprüfung fehlgeschlagen. Bitte stecke die BitBox aus und wieder ein. Bitte kontaktiere support@bitbox.swiss, falls dieses Problem weiterhin besteht.",backup:{point1:"Wähle ein Backup von der microSD Karte aus",point2:"Setze ein Passwort für dein Gerät",restoreText:"Ok, lass uns deine Wallet von deinem Backup wiederherstellen!",text1:"Perfekt, dein BitBox02 Passwort ist jetzt festgelegt und deine Wallet wurde erstellt. Jetzt ist es Zeit ein Backup der Wallet zu erstellen. Bitte stelle dazu sicher, dass die microSD Karte eingesteckt ist. ",text2:'Sobald du "Backup erstellen" geklickt hast folge bitte den Anweisungen auf deiner BitBox um ein Backup zu erstellen. ',text3:"Nachdem das Backup erstellt wurde, bewahre die microSD-Karte bitte an einem sicheren Ort auf und stecke die microSD-Karte niemals in ein anderes Gerät, das nicht eine BitBox ist. Das Backup auf der microSD-Karte ist nicht Passwort-geschützt!",userConfirmation1:"Ich muss mein Backup an einem sicheren Ort aufbewahren.",userConfirmation2:"Mein Backup ist nicht passwortgeschützt. Jeder, der Zugriff darauf hat, kann auf meine Wallet zugreifen.",userConfirmation3:"Wenn ich meine BitBox02 verliere oder beschädige, ist die Wiederherstellung von meinem Backup der einzige Weg wieder Zugriff auf mein Guthaben zu bekommen. ",userConfirmation4:"Sollte ich sowohl meine BitBox02 als auch mein Backup verlieren oder zerstören ist der Zugang zu meinen Coins für immer verloren. ",userConfirmation5:"Ich darf meine microSD Karte nicht in einen Computer, Handy, Drucker oder anderes (nicht BitBox02) Gerät stecken. ",userConfirmation5mnemonic:"Ich sollte meine Wiederherstellungswörter nicht in einen Computer, ein Telefon, einen Drucker oder irgendein anderes Gerät als eine BitBox02 stecken."},create:{button:"Gerät bennenen & weiter",info:"Hier sind die Schritte, die wir dazu durchlaufen werden:",inputTitle:"Wallet Name ",point1:"Gerät benennen",point2:"Gerätepasswort einstellen",point3:"Backup erstellen",text:"Ok, lass uns eine neue Wallet erstellen!"},createBackupAborted:"Backup-Erstellung abgebrochen.",createBackupFailed:"Erstellung des Backups fehlgeschlagen, erneut versuchen.",initialize:{passwordText:"Lass uns nun ein Passwort für deine BitBox festlegen. Schaue dir die Animation unten an und benutze dann die Touch Slider auf den Seiten deiner BitBox, um ein Passwort einzugeben. ",passwordTitle:"Setze ein Passwort für deine BitBox",text:"BitBox02 erfolgreich gekoppelt. Jetzt initialisieren wir deine BitBox02. Wähle zuerst aus, ob du eine neue Wallet erstellen oder von einem Backup wieder herstellen möchtest. Wenn du von einem Backup wieder herstellen möchtest, stelle sicher, dass deine microSD Karte in deiner BitBox02 eingesteckt ist.",tip:"Bitte fahre in einer sichern Umgebung fort. ",title:"Initialisiere deine BitBox"},insertSDCard:"Bitte stelle sicher, dass du die microSD Karte in der BitBox02 eingesteckt hast.",noPasswordMatch:"Passwörter stimmen nicht überein. Bitte versuche es erneut.",pairing:{failed:"Kopplungscode nicht bestätigt. Bitte BitBox02 aus und wieder ein stecken.",paired:"Kopplungscode bestätigt. Bitte fahre fort.",title:"Kopplungscode bestätigen",unpaired:"Eine nicht gekoppelte BitBox02 wurde erkannt. Bitte bestätige, dass der Kopplungscode mit dem auf der BitBox02 übereinstimmt. "},restoreFromMnemonic:{e104:"Die Wiederherstellung durch Wiederherstellungswörter wurde abgebrochen.",failed:"Wiederherstellung von Wiederherstellungswörtern fehlgeschlagen. Bitte versuche es erneut."},stepBackup:{beforeProceed:"Bevor du fortfährst, lies bitte die folgenden wichtigen Sicherheitsaspekte:",createBackup:"Du erstellst jetzt ein Backup auf deiner microSD-Karte.",createBackupMnemonic:"Du wirst nun die Wiederherstellungswörter notieren."},stepBackupSuccess:{fundsSafe:"Beachte bitte Folgendes, um deine Coins zu schützen:",title:"Backup wiederhergestellt!"},stepConnected:{unlock:"BitBox02 Passwort eingeben "},stepCreate:{description:"Dieser Name wird als Gerätename und für das Backup verwendet.",nameLabel:"BitBox02 Name",namePlaceholder:"Meine BitBox02",title:"Wähle BitBox02 Name",toastMicroSD:"Bitte stelle sicher, dass deine microSD Karte in die BitBox02 eingesteckt ist. "},stepCreateSuccess:{removeMicroSD:"Bitte entnehme deine microSD Karte und bewahre diese an einem sicheren Ort auf.",storeMnemonic:"Bitte bewahre deine Wiederherstellungs-Wörter an einem sicheren Ort auf.",success:"Dein Backup wurde erfolgreich erstellt."},stepInsertSD:{insertSDCard:"Bitte stecke die microSD Karte in deine BitBox02 um fortzufahren",insertSDcardTitle:"MicroSD Karte einstecken"},stepPassword:{e104:"Das Festlegen des Passworts wurde abgebrochen.",title:"BitBox02 Passwort wählen",useControls:"Verwende die Touch Sensoren an den Seiten deiner BitBox02 um ein Passwort zu wählen."},stepUninitialized:{create:"Ich möchte eine neue BitBox02 einrichten.",restore:"Ich möchte meine Wallet von einem Backup wiederherstellen.",restoreMicroSD:"Von microSD Karte wiederherstellen",restoreMnemonic:"Von Wiederherstellungswörtern wiederherstellen",title:"BitBox02 einrichten"},success:{text:`Hurra! Deine BitBox02 ist bereit. + +Für weitere Informationen klicke auf das Fragezeichen Symbol in der oberen rechten Ecke. `,title:"Es kann los gehen!"}},YT={button:"Blinken"},ZT={button:"Firmware jetzt aktualisieren",button_install:"Firmware jetzt installieren",progress:"Aktualisiere: {{progress}}%",progress_install:"Installation: {{progress}}%",success:"Aktualisierung erfolgreich! Bitte ziehe das Gerät ab und stecke es dann wieder ein. Dieses mal brauchst du den Knopf nicht zu berühren. "},JT={abort:"Abbrechen",back:"Zurück",buy:"Kaufen",changepin:"Gerätepasswort ändern",check:"Backup überprüfen",continue:"Weiter",copy:"Kopieren",create:"Erstellen",dismiss:"Ausblenden",done:"Fertig",download:"Herunterladen",hiddenwallet:"Versteckte Wallet erstellen",next:"Weiter",ok:"OK",previous:"Zurück",receive:"Erhalten",restore:"Wiederherstellen",select:"Auswählen",send:"Senden",unlock:"Entsperren",update:"Update",upgrade:"Aktualisieren"},XT={exchange:{bankTransfer:"Überweisung",bestDeal:"Bestes Angebot",creditCard:"Kreditkarte",fast:"Schnell",fee:"Gebühr",infoContent:{moonpay:{fees:{bankTransfer:"Banküberweisung: {{fee}}%",creditDebitCard:"Kredit-/Debitkarte: {{fee}}%",learnMore:"Erfahre mehr über Moonpay",title:"Gebühren"},fullCurrenciesList:"Eine vollständige Liste der Währungen findest du hier",payment:{asteriskText:"* Nicht verfügbar für Einwohner der USA",bankTransfer:"Banküberweisung*",bankTransferDetails:{pix:"PIX (BR-Transaktionen nur in Brasilien)",sepa:"SEPA und SEPA Instant (EUR-Transaktionen nur in SEPA-Ländern)",uk:"UK Faster Payments (GBP-Transaktionen nur in Großbritannien)"},creditDebitCard:"Kredit-/Debitkarte",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa und Maestro"},learnMore:"Weitere Details zu den Zahlungsmethoden findest du hier",title:"Zahlungsmethoden"},supportedCurrencies:"Unterstützt alle gängigen Fiat-Währungen: USD, EUR, CHF und mehr."},pocket:{fees:{info:"Banküberweisung: {{fee}}%",title:"Gebühren"},learnMore:"Erfahre mehr über Pocket",payment:{bankTransfer:"Banküberweisung",bankTransferDetails:{sepa:"SEPA und SEPA Echtzeit (EUR-Transaktionen nur in SEPA-Ländern)",sic:"Swiss Interbank Clearing (CHF-Transaktionen nur in CH/LI)",uk:"UK Faster Payments (GBP-Transaktionen nur in Großbritannien)"},bankTransferReccuring:"Wie richte ich wiederkehrende Käufe mit einem Dauerauftrag ein?",title:"Zahlungsmethoden"},supportedCurrencies:"Unterstützt europäische Währungen: EUR, GBP und CHF.",verification:{info:"Identitätsprüfung nur bei Überschreitung der täglichen und jährlichen Schwellenwerte nötig.",link:"Aktuelle Schwellenwerte hier einsehen",title:"Identitätsprüfung"}},region:{title:"Wähle die Region aus, in der dein Bankkonto registriert ist, um zu sehen, welche Optionen dir zur Verfügung stehen."}},noExchanges:"Leider sind in dieser Region keine Börsen verfügbar.",region:"Region",selectRegion:"Nicht angegeben",title:"{{name}} kaufen "},info:{continue:"Zustimmen und fortfahren",crypto:"Krypto",disclaimer:{intro:["Wir arbeiten mit MoonPay zusammen, damit du mit nur ein paar Klicks ganz einfach {{name}} direkt in der BitBoxApp kaufen kannst. ","MoonPay ist eine vollständig regulierte Finanzdienstleistungsplattform, die den Kauf von {{name}} in über 160 Ländern einfach und schnell macht."],payment:{details:"Du kannst {{name}} über MoonPay mit den folgenden Zahlungsmethoden kaufen. Mit Kredit- oder Debitkarten geht es sofort und bequem, ist aber aufgrund des erhöhten Rückbuchungsrisikos teurer. Wir empfehlen die Verwendung der Überweisungsoption für größere Beträge. Die Mindestgebühr beträgt 4 USD / EUR oder gleichwertig.",footnote:"Bitte beachte, dass die Wechselkurse von MoonPay von den in der BitBoxApp verwendeten abweichen können, was zu geringfügig unterschiedlichen Beträgen führen kann.",table:{"1_description":"Niedrigste Gebühren, kann bis zu 3 Werktage dauern","1_method":"Banküberweisungen (SEPA)","2_description":"Höhere Gebühren, aber schnell und sofort","2_method":"Kredit & Debitkarten",description:"Beschreibung",fee:"Gebühr",method:"Methode"},title:"Zahlungsmethoden und Gebühren"},privacyPolicy:"MoonPay-Datenschutzrichtlinie",protection:{description:"Die BitBoxApp sammelt beim Kauf von {{name}} keine Daten. Die eingehenden Transaktionen werden wie reguläre Transaktion behandelt. MoonPay muss einige persönliche Daten sammeln, um funktionieren zu können. In deren Datenschutzbestimmungen wird ausführlich erläutert, wie mit diesen Daten umgegangen wird.",descriptionGeneric:"Die BitBoxApp erhebt beim Kauf von {{name}} keinerlei Daten, die eingehenden Gelder werden wie eine normale Transaktion behandelt. Partnerbörsen müssen jedoch einige Informationen sammeln, um zu funktionieren. Einzelheiten zum Umgang mit Daten kannst du der jeweiligen Datenschutzerklärung entnehmen.",title:"Datenschutz"},security:{description:"Wenn du {{name}} über MoonPay kaufst, dann nutzt du einen externen Dienst. Dieser Dienst liegt außerhalb des Anwendungsbereichs des BitBox02 Sicherheitsbedrohungsmodells und verlässt sich auf die Sicherheit des Geräts, auf dem die BitBoxApp Software läuft.",descriptionGeneric:"Wenn du {{name}} über eine Partnerbörse kaufst, nutzt du einen externen Dienst. Dieser Dienst liegt außerhalb des Geltungsbereichs des BitBox02-Sicherheitsbedrohungsmodells und hängt von der Sicherheit der Umgebung ab, in der die BitBoxApp-Software ausgeführt wird.",link:"Sicherheitsbedrohungsmodells",title:"Sicherheitsmodell"},title:"Willkommen in deinem One-Stop-Shop zum Kauf von {{name}}"},next:"Weiter",selectLabel:"Konto wählen",selectPlaceholder:"Wähle einen Coin",skip:"Nicht mehr anzeigen",title:"{{name}} kaufen "},pocket:{data:{link:"Pocket-Datenschutzrichtlinie",p1:"Die BitBoxApp sammelt beim Kauf von Bitcoin keine Daten. Die eingehenden Gelder werden wie eine reguläre Transaktion behandelt. Pocket muss einige personenbezogene Daten sammeln, um zu agieren. Ihre Datenschutzrichtlinie erklärt im Detail, wie diese Daten verwendet werden.",title:"Datenschutz"},kyc:{link:"Pocket-FAQ lesen",p1:"Pocket versucht, KYC auf ein Minimum zu beschränken. Für Einkäufe unter 950 EUR (1000 CHF) pro Tag sind keine zusätzlichen Dokumente erforderlich. Für Käufe über diesem Betrag musst du einen Anruf bei Pocket vereinbaren, um den erforderlichen KYC/AML-Prozess abzuschließen.",title:"KYC/AML"},payment:{p1:"Du kannst Bitcoin sofort mit Pocket per SEPA-Überweisung kaufen. Die Gebühr beträgt 1,5 % und die Bitcoin werden so schnell wie möglich nach Eingang der Banküberweisung bei Pocket (normalerweise am selben Tag) auf deiner BitBox hinterlegt.",p2:"Bitte beachte, dass die Wechselkurse von Pocket von denen in der BitBoxApp abweichen können, was zu leicht unterschiedlichen Beträgen führen kann.",title:"Zahlungsmethoden und Gebühren"},previousTransactions:"Der Transaktionsverlauf dieses Kontos ist nicht leer. Durch die gemeinsame Nutzung dieses Kontos werden alle vergangenen und zukünftigen Transaktionen für Pocket sichtbar. Dennoch fortfahren?",security:{link:"BitBox02 Bedrohungsmodell",p1:"Wenn du Bitcoin über Pocket kaufst, verwendest du einen externen Dienst. Dieser Dienst liegt außerhalb des Geltungsbereichs des BitBox02-Sicherheitsbedrohungsmodells und hängt von der Sicherheit der Umgebung ab, in der die BitBoxApp-Software ausgeführt wird. Wir arbeiten jedoch zusammen, um die Sicherheit zu verbessern, indem wir einen Zwei-Faktor-Authentifizierungsmechanismus verwenden, um deine Empfangs-Adresse zu überprüfen.",title:"Sicherheitsmodell"},usedAddress:"Die Adresse {{address}} wurde bereits verwendet. Bitte beginne erneut mit einer neuen Adresse.",verifyBitBox02:"Bitte vergewissere dich, dass die Adresse, die du per E-Mail erhalten hast, mit der auf deiner Bitbox angezeigten übereinstimmt. Wenn möglich, solltest du die E-Mail zur besseren Sicherheit auf einem zweiten Gerät öffnen.",welcome:{p1:"Wir arbeiten mit Pocket zusammen, um dir eine nahtlose Möglichkeit zu bieten, Bitcoins direkt in der BitBoxApp zu kaufen. Es sind nur ein paar Klicks.",p2:"Pocket ist eine schweizer Plattform, mit der man fast in ganz Europa schnell und einfach Bitcoin kaufen kann (überall dort, wo SEPA-Banküberweisungen unterstützt werden).",p3:"Mit Pocket kannst du auch Sparpläne über Daueraufträge betreiben, sodass du mit Leichtigkeit DCA (Dollar-Cost-Average) durchführen kannst.",title:"Willkommen in deinem One-Stop-Shop für den Kauf von Bitcoin"}},title:"{{name}} kaufen"},eE={newTitle:"Neues Gerätepasswort",oldLabel:"Aktuelles Gerätepasswort"},tE={dataMissing:"Historische Daten werden gesammelt... gleich fertig.",dataOldTimestamp:"Historische Wechselkurse werden aktualisiert. Das Diagramm zeigt nach {{time}} keine Daten mehr an.",dataUpdating:"Daten aktualisieren…",filter:{all:"Alles",month:"Monat",week:"Woche",year:"Jahr"}},nE="Micro-SD-Karte wird überprüft",aE="Hier klicken.",iE={abortInfo:"Tippe zum ",abortInfoRedText:"abbrechen",approveInfo:"4 Sekunden lang halten um zu ",approveInfoGreenText:"bestätigen",info:"Fahre auf deiner BitBox fort.",infoWhenPaired:"Zuerst auf deinem gepaarten Mobiltelefon und dann auf deiner BitBox"},oE="Bitte bestätige auf deinem Gerät.",rE={promptNoName:"Bitte verbinde deine BitBox02 um fortzufahren",promptWithName:'Bitte verbinde deine BitBox02 mit dem Namen „{{name}}" um fortzufahren'},sE={toggle:"Dark mode"},lE={appUpradeRequired:"Deine BitBox ist mit dieser Desktopanwendung nicht kompatibel. Bitte lade die neueste Version herunter und installiere diese..",keystoreConnected:"Verbundenes Wallet"},cE={button:"Zwei-Faktor-Autorisierung (2FA) aktivieren",condition1:"Hast du ein Backup?",condition2:"Funktioniert die Verifikation auf deinem Smartphone?",condition3:'Wenn du 2FA aktivierst wird "Backups verwalten", "Versteckte Wallet erstellen" und "Mit Smartphone App" koppeln deaktiviert. Um 2FA zu deaktivieren muss das Gerät auf Werkseinstellungen zurück gesetzt werden. ',confirm:`Zwei-Faktor Authentifizierung (2FA) aktivieren +`,title:"Zwei-Faktor-Autorisierung (2FA) aktivieren"},uE={backups:{manageBackups:{description:"Erstelle oder überprüfe das MicroSD-Karten-Backup."},showRecoveryWords:{description:"Zeige und überprüfe die Wiederherstellungswörter."},title:"Backups"},deviceInformation:{attestation:{description:"Die BitBoxApp prüft, ob dein Gerät authentisch ist."},deviceName:{description:"Ändere den Namen deines Geräts."},rootFingerprint:{description:"Der Root-Fingerabdruck ist eine eindeutige Kennung für das aktuell verwendete Wallet. Es kann dir helfen, zwischen verschiedenen Wallets zu unterscheiden, falls du Passphrasen verwendest."},securechip:{description:"Das Modell des Secure-Chips."},title:"Geräteinformationen"},expert:{factoryReset:{description:"Setze dein Gerät auf die Werkseinstellungen zurück. Dadurch wird das Wallet auf deiner BitBox02 gelöscht!",title:"Auf Werkseinstellungen zurücksetzen"},goToStartupSettings:{description:"Den Bootloader der BitBox02 starten. Dort kannst du den Firmware-Hash aktivieren."},passphrase:{description:"Aktiviere oder deaktiviere die Passphrasen-Funktion.",title:"Passphrase"}},firmware:{firmwareVersion:"Firmware Version",newVersion:{label:"Verfügbare Version"},title:"Firmware",upToDate:"Dein Gerät ist auf dem aktuellen Stand ",upgradeAvailable:"Neues Upgrade verfügbar",version:{label:"Version"}},hardware:{attestation:{false:"Echtheitscheck fehlgeschlagen",label:"Echtheitsprüfung",true:"Deine BitBox02 ist echt"},sdcard:{false:"Nicht eingesteckt",label:"microSD Karte",true:"Eingesteckt"},securechip:"Secure chip",title:"Hardware"},loading:`Geräteinformationen werden abgerufen... + +`,pairing:{lock:{false:"Deaktiviert",label:"Zwei-Faktor Autorisierung (2FA)",true:"Eingeschaltet"},mobile:{false:"Geschlossen",label:"Smartphone App",true:"Offen"},status:{false:"Nicht gekoppelt",label:"Status",true:"Gekoppelt"},title:"Zwei-Faktor Autorisierung (2FA)"},secrets:{manageBackups:"Backups verwalten",title:"Sicherheit"}},dE=`Falls deine BitBox mit einem Wiederherstellungspasswort geliefert wurde, beende das Setup SOFORT und kontaktiere den Support. +SHIFT versendet niemals BitBoxen, die schon ein Passwort haben und wird nie Passwortempfehlungen aussprechen. +Benutze diese BitBox auf keinen Fall !`,pE={cancel:"Abbrechen",confirm:"Bestätigen",confirmTitle:"Bestätigung"},hE={accountAlreadyExists:"Dieses Konto existiert bereits.",accountLimitReached:"Konto kann nicht hinzugefügt werden. Die maximale Kontenanzahl für diese Währung wurde erreicht.",aoppCallback:"Beim Übermitteln der Adresse an {{host}} ist ein Fehler aufgetreten.",aoppInvalidRequest:"Ungültige Anfrage.",aoppNoAccounts:"Es sind keine Konten verfügbar.",aoppSigningAborted:"Adressinhaberanfrage wurde abgebrochen.",aoppUnknown:"Ein unbekannter Fehler ist aufgetreten.",aoppUnsupportedAsset:"Diese Kryptowährung wird nicht unterstützt.",aoppUnsupportedFormat:"Es sind keine Konten verfügbar, die das angeforderte Adressformat unterstützen.",aoppUnsupportedKeystore:"Das verbundene Gerät kann keine Nachrichten für diese Kryptowährung signieren.",aoppVersion:"Unbekannte Version.",wrongKeystore:"Falsches Wallet verbunden. Bitte verbinde das richtige Gerät, zu dem diese Konto gehört.",wrongKeystore2:"Falls du ein optionale Passphrase nutzt, stelle sicher, dass du die richtige Passphrase für dieses Konto eingegeben hast."},mE={default:"Standard",setDefault:`{{code}} als Standard speichern +`,title:"Währungen"},fE={appVersion:"App Version:"},gE={enabled_false:"Deaktiviert",enabled_true:"Aktiviert"},vE="Ein Fehler ist aufgetreten. Falls du Probleme bemerkst, starte die Applikation bitte neu.",bE={buttons:{create:"Neue Wallet erstellen",restore:"Wallet von Backup wiederherstellen "},paragraph:"Bitte wähle eine der folgenden Optionen:",step:{1:{title:"Sicherheitsinformationen"},2:{description:"Passwort",title:"Gerät"},"3-create":{description:"Neue Wallet erstellen",title:"Wallet"},"3-restore":{description:"von einem Backup",title:"Wiederherstellen"},"4-create":{title:"Zusammenfassung"},"4-restore":{title:"Zusammenfassung"}}},kE={accountDescription:{text:"Deine Kontoübersicht zeigt deinen Kontostand und deine Transaktionen an. Stöbere durch diesen Guide um mehr über die verschiedenen Kontoarten zu erfahren. ",title:"Was wird mir auf dieser Seite angezeigt?"},accountFiat:{text:"Ja, du kannst auf das Währungssymbol klicken, um zwischen den verschiedenen Währungen zu wechseln. Die verfügbaren Währungen kannst du in den Einstellungen anpassen.",title:"Können auch andere Wechselkurse angezeigt werden?"},accountIncomingBalance:{text:"Eingehend summiert alle eingehenden Transaktionen, die noch nicht bestätigt sind. ",title:'Was bedeutet "Eingehend"?'},accountInfo:{multipleXPubs:{text:`Jeder xpub ist an den angezeigten "Typ" gebunden: Entweder "Native SegWit (bech32)", "Wrapped segwit" oder "Taproot". Dies sind Skripttypen, die von {{coinName}} verwendet werden. Die BitBoxApp kombiniert sie und unterstützt mehrere Skripttypen im selben Konto. Da jeder Skripttyp einen anderen xpub verwendet, gibt es mehrere xpubs pro Konto. + +Wenn du nur auf den Standardadressen empfängst, benötigst du nur den "bech32" xpub. Wenn du jedoch auch Coins auf "kompatible Adresse" erhältst, werden diese auf dem xpub "wrapped SegWit" angezeigt.`,title:"Warum gibt es mehrere xpubs?"},privacy:{text:`Für dieses Konto zeigt der erweiterte öffentliche Schlüssel die gesamte Transaktionshistorie, deinen Kontostand und alle zukünftigen Transaktionen an. Aber der xpub erlaubt niemandem, deine Coins auszugeben. + +Wenn du jemandem ein xpub gibst, solltest du dir bewusst sein, dass diese Person oder Firma alle anderen Transaktionen desselben Kontos sehen kann. Daher ist es eine gute Idee, dieses Konto nur für diesen Zweck zu verwenden und andere Coins in anderen Konten zu halten.`,title:"Muss ich mein xpub geheim halten?"},verify:{text:"Ja, es ist immer eine gute Idee, deinen xpub zu überprüfen. Wenn jemand anderes Empfangsadressen von diesem xpub generiert, um dir Coins zu senden, ist dies besonders wichtig. Du musst ihn auf deiner BitBox überprüfen, um sicherzustellen, dass dieser xpub dir gehört. Andernfalls könnten alle Coins an die falschen Adressen gehen.",title:"Muss ich den xpub auf dem Gerät überprüfen?"},xpub:{text:`Ein erweiterter öffentlicher Schlüssel (xpub) ist ein Stammschlüssel, von dem alle Empfängeradressen eines Kontos abgeleitet werden. + +Er wird hier für die erweiterte Nutzung und die Interoperabilität mit Watch-Only-Wallets wie Electrum oder Sentinel bereitgestellt. Wenn du auf verschiedene Adresstypen empfängst, importiere bitte alle verschiedenen xpub-Formate in die Watch-only-Wallet, damit du alle deine Coins sehen kannst. + +Bitte beachte, dass Wallets von Drittanbietern Taproot xpubs möglicherweise noch nicht unterstützen. +`,title:"Was ist ein erweiterter Public Key?"}},accountRates:{text:"Die Wechselkurse werden minütlich von CoinGecko aktualisiert.",title:"Welche Wechselkurse werden benutzt?"},accountReload:{text:"Das ist nicht nötig. Alle Transaktionsinformationen werden automatisch aktualisiert. ",title:"Wie kann ich die Transaktionshistorie erneut laden?"},accountSendDisabled:{text:'Der "Senden" Knopf wird aktiviert, wenn dein Guthaben größer als Null ist.',title:"Warum kann ich keine {{unit}} senden?"},accountSummaryAmount:{text:`Der Gesamtbetrag ist die Summe aller deiner Kryptokonten. Die Wechselkurse werden von coingecko.com abgerufen. + +Hinweis: Wenn du MyEtherWallet für Token verwendest, die in der BitBoxApp nicht unterstützt werden, dann sind diese nicht in dem angezeigten Gesamtbetrag einberechnet.`,title:"Wie berechnet sich der Gesamtbetrag?"},accountSummaryDescription:{text:"Hier kannst du die Entwicklung deines Portfolios im Laufe der Zeit sehen. Eine Übersicht über deine einzelnen Krypto-Konten wird unter dem Diagramm angezeigt.",title:"Was kann ich auf dieser Seite sehen?"},accountTransactionAttributesBTC:{text:`Virtuelle Größe: Wird zur Ermittlung der Netzwerkgebühr verwendet. Du hast erfolgreich Gebühren gespart, wenn sie kleiner als die Transaktion sind. +Größe: Aktuelle Transaktionsgröße in Bytes nach der Serialisierung gemäß der zugrunde liegenden Blockchain. +Gewicht: Mit Segwit eingeführt, ist dies eine neue Metrik zur Bewertung von Transaktions- und Blockgrößen. Jedes Segwit Byte zählt als eins, alles andere als vier "Gewichtseinheiten". Statt eines Megabytes, beträgt die Blockgrößenbegrenzung nun vier Millionen "Gewichtseinheiten".`,title:"Was hat es mit den Bitcoin-spezifischen Transaktionsdetails auf sich?"},accountTransactionAttributesGeneric:{text:`Bestätigungen: Nachdem du deine Transaktion gesendet hast ist diese zuerst unbestätigt. Du musst warten, bis sie von einem Miner in einen Block aufgenommen wird. Dann hat deine Transaktion die erste Bestätigung. Jeder nachfolgende Block fügt deiner Transaktion eine weitere Bestätigung hinzu. Meist sehen Händler und andere Netzwerkakteure Transaktionen erst mit 3 bis 6 Bestätigungen als erledigt. +Transaktions-ID: Eine eindeutige Identifikationsnummer, die zum Nachschlagen einer Transaktion in einem Blockexplorer verwendet werden kann. +Gebühr: Miner erhalten eine Transaktionsgebühr als Anreiz, Transaktionen in die von ihnen erzeugten Blöcke aufzunehmen. Um mehr zu erfahren, klicke auf "Senden".`,title:"Welche Informationen werden in den Transaktionsdetails angezeigt?"},accountTransactionConfirmation:{text:"Dies ist eine Transaktionen die ins Netzwerk geschickt wurde und darauf wartet bestätigt zu werden.",title:"Was ist eine ausstehende Transaktion?"},accountTransactionLabel:{text:"Es ist die Adresse an die du Coins erhalten oder geschickt hast.",title:"Welche Adresse wird bei jeder Transaktion angezeigt?"},accountTransactionTime:{text:"Der Zeitpunkt, zu dem die Transaktion in der Blockchain bestätigt wurde.",title:"Welche Zeit wird angezeigt?"},accounts:{howManyAccounts:{text:`Bitcoin und Litecoin können eine beliebige Anzahl an Konten haben. Nach fünf Konten kannst du nur dann ein weiteres Konto hinzufügen, wenn das vorherige Konto verwendet wurde. +Andere Coins können maximal fünf Konten haben.`,title:"Wie viele Konten kann ich erstellen?"},howtoAddTokens:{text:'ERC-20 Token sind an ein bestimmtes Ethereum-Konto gebunden. Um einen Token zu aktivieren oder zu deaktivieren, gehe zu "Konten verwalten", klicke auf das Ethereum-Konto und schalte den gewünschten Token ein oder aus.',title:"Wie kann ich zusätzliche Token hinzufügen?"},moveFunds:{text:"Ja. Da Konten jedoch eigenständig sind, müssen Coins mit einer reguläre Transaktion zwischen den Konten verschoben werden.",title:"Kann ich Geld zwischen Konten verschieben?"},recoverAccounts:{text:"Ja. Die BitBoxApp erstellt Konten nach bewährten Standards, die mit den meisten Krypto-Wallets kompatibel sind.",title:"Kann ich meine Konten in anderen Wallets wiederherstellen?"},whatAreAccounts:{text:"Deine Wallet kann mehrere Konten derselben Währung verwalten. Konten machen es einfach, Coins separiert zu halten.",title:"Was sind Konten?"},whatIsRememberWallet:{text:`Durch die Aktivierung von „Wallet merken“ kannst du die Konten von diesem Wallet in der BitBoxApp sehen, auch wenn die BitBox02 nicht verbunden ist. So kannst du deinen Kontostand und dein Portfolio jederzeit überprüfen. Zum Senden oder Empfangen von Coins muss die BitBox02 jedoch eingesteckt und entsperrt werden. + +Wenn du „Wallet merken“ deaktivierst, musst du die BitBox02 (oder Passphrase-Wallet) verbinden, um diese Konten in der BitBoxApp zu sehen.`,title:"Was passiert, wenn ich „Wallet merken“ aktiviere/deaktiviere?"},whyIsThisUseful:{text:'Separate Konten eignen sich hervorragend für die Verwaltung von Coins für verschiedene Personen oder Zwecke. Du kannst auch den "erweiterten öffentlichen Schlüssel" (extended public key) eines Kontos freigeben, ohne etwas über deine anderen Konten preiszugeben. Auf diese Weise kannst du wiederholt Geld erhalten, ohne Adressen wiederzuverwenden, z. B. um deinen Lohn zu erhalten oder um regelmäßig Krypto zu kaufen.',title:"Warum ist das nützlich?"}},appendix:{link:"Kontaktiere uns!",text:"Du hast Fragen?"},backups:{check:{text:'Mit "Check Backup" kannst du überprüfen, ob du über ein gültiges Backup für deine aktuelle Wallet verfügst. Es kann auch verwendet werden, um zu überprüfen, ob du das korrekte Wiederherstellungspasswort kennst.',title:'Was bedeutet "Check Backup"?'},encrypt:{text:"Nein, aber dein Wiederherstellungspasswort wird benötigt, um deine Wallet aus dem gespeicherten Seed zu erzeugen.",title:"Kann ich mein Backup verschlüsseln?"},howOften:{text:`Das Backup wird automatisch erstellt, wenn eine neue Wallet erstellt wird. Du musst nur dann ein neues Backup erstellen, wenn deine microSD-Karte verloren ist, beschädigt wurde oder wenn du dein Backup auf mehreren microSD Karten speichern willst. +Du musst nach der Transaktionsaktivität keine neuen Backups erstellen. Alle deine Transaktionsdaten können durch ein einzelnes Backup, das automatisch für dich erstellt wurde, wiederhergestellt werden.`,title:"Wie oft muss ich ein Backup erstellen?"},whatIsABackup:{text:"Es ist eine Kopie des Seed auf einer microSD-Karte. Der Seed zusammen mit deinem Wiederherstellungspasswort stellen dein Wallet wieder her.",title:"Was ist ein Backup?"}},backupsBB02:{check:{text:'"Backup überprüfen" checkt, dass sich auf deiner microSD Karte ein gütiges Backup zu deiner aktuell verwendeten Wallet befindet.',title:'Was bedeutet "Backup überprüfen"?'},encrypt:{text:'Nein. Bitte bewahre deine microSD-Karte sicher auf, da sie den unverschlüsseltes Seed enthält, der zur Wiederherstellung deiner Wallet benötigt wird. Falls du dein Backup mit einem Passwort schützen willst, aktiviere die "Optionale Passphrase" in den Geräteeinstellungen.',title:"Kann ich das Backup verschlüsseln?"},whatIsABackup:{text:"Es ist eine Kopie deines Seeds auf deiner microSD Karte.",title:"Was ist das Backup?"}},bitbox:{"2FA":{text:`Wenn 2FA aktiviert ist, müssen alle Transaktionen auf dem gekoppelten Mobiltelefon genehmigt werden, um Coins zu versenden. Unter der Haube: Eine verschlüsselte einmalige Nummer wird an die App gesendet, dort wird sie entschlüsselt und beim Drücken der Schaltfläche "Akzeptieren" zur BitBox zurückgegeben. Diese Kommunikation mit der BitBox erfolgt über den Kanal zwischen dem Mobiltelefon und dieser Desktop-App, der während des Pairings eingerichtet wurde. + +Stelle sicher, dass du ein Backup deiner Wallet erstellst und die App verbindest, bevor du 2FA aktivierst. Nach der Aktivierung werden der Mikro-SD Kartenslot und das Mobile-App-Pairing deaktiviert. Du kannst es nur erneut aktivieren, indem du die BitBox zurücksetzt, wodurch das Gerät gelöscht wird.`,title:"Wie funktioniert die Zwei-Faktor-Autorisierung (2FA)?"},disable2FA:{text:`Um 2FA zu deaktivieren, musst du deine BitBox zurücksetzen und anschließend deine Wallet von deinem Backup wiederherstellen. Stelle sicher, dass du deine MicroSD-Karte mit deinem Backup hast und du das Wiederherstellungspasswort kennst. Dann drücke 'Reset Device'. Lege ein neues Gerätekennwort fest und wähle "Backup wiederherstellen". Wähle Backup aus und klicke auf "Wiederherstellen". Dann gib dein Wiederherstellungskennwort ein, das du beim Erstellen der Wallet verwendet hast.`,title:"Wie schalte ich die Zwei-Faktor-Autorisierung (2FA) aus?"},ejectBitbox:{text:"Du kannst deine BitBox einfach aus dem Computer ziehen ohne sie vorher auszuwerfen.",title:"Wie werfe ich meine BitBox aus?"},ejectSD:{text:"Du kannst die Micro SD Karte jederzeit aus der BitBox entfernen, solange du nicht dabei bist, ein Backup zu erstellen oder zu überprüfen",title:"Wie kann ich die Micro-SD-Karte auswerfen?"},hiddenWallet:{text:"Es ist eine sekundäre Wallet, auf der selben BitBox, das mit einem anderen Passwort geschützt ist. Dies erlaubt dir, einem Erpresser ein anderes Wallet zu öffnen, in welchem sich nur eine geringe Menge Coins befindet. Info: Für beide Wallets, normal und versteckt, wird der selbe Seed verwendet, somit muss kein weiteres Backup erzeugt werden",title:"Was ist eine versteckte Wallet?"},legacyHiddenWallet:{text:"Klicke zunächst auf den Knopf unten (dazu muss die BitBox mit dem Hauptgerätekennwort entsperrt sein und 2FA deaktiviert sein), schließe dann deine Bitbox an und entsperre diese mit deinem versteckten Gerätekennwort.",title:"Wie greife ich auf die versteckte Wallet des Legacy Kontos zu?"},pairing:{text:"Nachdem du unsere mobile App für iOS oder Android heruntergeladen hast, scanne den angezeigten QR-Code. Dadurch wird ein sicherer Kanal zwischen der mobilen App und dieser Anwendung eingerichtet. Befolge nach dem Scannen die Anweisungen in der Smartphone App.",title:"So, koppelst du dein Telefon sicher mit der BitBox"}},cointracking:{text:'Klicke auf "Exportieren" und öffne den Download-Ordner. Dort findest du die exportierte CSV Datei. Klicke dann auf den untenstehenden Link, lade deine BitBox-CSV-Datei hoch und importiere die Daten, um sie für deinen CoinTracking-Portfoliomanager zu verwenden und deine Steuerberichte zu erstellen.',title:"Wie importiere ich meine Transaktionen in CoinTracking?"},device:{attestation:{link:{text:"Lese mehr über den Echtheitscheck"},text:"Die BitBoxApp führt eine Überprüfung der BitBox02 durch, um festzustellen, ob das Gerät echt ist. Die Prüfung wird lokal durchgeführt und stellt keine Verbindung zu unseren Servern her.",title:"Wie funktioniert die Echtheitsprüfung?"},name:{text:"Dies ist der Name deiner Wallet und deines Backups. Der Name wird für zukünftige Backups verwendet und kann dazu dienen, verschiedene Wallets zu unterscheiden. Er kann jederzeit geändert werden, aber beachte, dass Backups, die vor der Änderung erstellt wurden, weiterhin den vorherigen Namen verwenden.",title:"Wofür wird der BitBox02-Name verwendet?"},"secure-chip":{link:{text:"Lese mehr über den Secure-Chip"},text:"Diese Information zeigt die Modellnummer des Sicherheitschips. Der aktuellste Chip ist der ATECC608B mit verbesserten Sicherheitsfunktionen im Vergleich zu älteren Modellen.",title:"Warum das Modell des Secure-Chips anzeigen?"}},receive:{address:{text:"Du kannst die Adresse an andere weitergeben, damit sie dir Coins schicken können. Achte darauf, dass sie an die richtige Adresse schicken.",title:"Was mache ich mit einer Adresse?"},addressChange:{text:"Sobald eine Adresse für eine Transaktion benutzt wurde, wird eine neue Adresse zu der Liste hinzugefügt um die Alte zu ersetzen. Es werden immer 20 ungenutzte Adressen angezeigt. ",title:"Wann ändern sich die Adressen?"},addressFormats:{text:"Standardmäßig ist der Adresstyp Native Segwit. Dieser Adresstyp wird von vielen anderen Wallets/Börsen akzeptiert und bietet dir die besten Gebührensätze für alltägliche Transaktionen. Du kannst aber auch an Taproot (nur Bitcoin) senden, den neuesten Adresstyp, der aber noch nicht überall unterstützt wird. Wenn du Probleme hast, an Native Segwit (den Standard-Adresstyp) zu senden, kannst du auch auf den älteren Wrapped Segwit-Adresstyp umsteigen, der möglicherweise mit mehr Wallets/Börsen kompatibel ist.",title:"Wann sollte ich den Adresstyp ändern?"},howVerify:{text:`BitBox01: Klicke auf das BitBox-Symbol in der Seitenleiste links und siehe dir den Abschnitt "Zwei-Faktor Autorisierung" an. Die Anleitung wird aktualisiert und du kannst von dort aus den Anweisungen folgen. + +BitBox02: Dank des eingebauten Displays kannst du die Adresse direkt auf dem Gerät während des Send-/Empfangsprozesses verifizieren. `,title:"Wie kann ich die Adresse sicher verifizieren?"},plugout:{text:"Nein, sobald du die Adresse auf dem Display bestätigt und kopiert hast, musst du deine BitBox nicht mehr eingesteckt haben. Du kannst die BitBox problemlos vom Computer trennen.",title:"Muss ich meine BitBox während des Empfangs eingesteckt lassen?"},why20:{text:'Die BitBoxApp generiert automatisch eine gewisse Anzahl an Adressen, die von deinem Seed abgeleitet werden. Sie überprüft dann, ob diese Adressen schon Coins erhalten haben. Die App kann theoretisch eine nahezu unbegrenzte Anzahl von Adressen generieren, wodurch es Jahre dauern würde, bis dein Kontostand ermittelt ist. Um diese Suche einzuschränken stoppt die App diesen Prozess, nachdem sie 20 Adressen generiert hat, die noch nie Coins erhalten haben. Dies wird "gap-limit" genannt und 20 ist ein der de-facto-Standard. Deswegen siehst du immer nur 20 Adressen, aus denen du auswählen kannst. ',title:"Warum werden nur 20 Adressen angezeigt?"},whyMany:{text:"Aus Gründen des Datenschutzes und der Sicherheit solltest du niemals dieselbe Empfangsadresse zweimal verwenden. Klicke auf 'Weiter', um eine neue Adresse zu erhalten. Du kannst bis zu 20 Adressen gleichzeitig generieren. Alle Adressen werden von deinem Backup abgeleitet. (Stell dir Adressen wie Rechnungsnummern vor.)",title:"Warum gibt es mehrere Adressen?"},whyVerify:{text:`Einer der Gründe für den Kauf einer Hardwarewallet, ist dass du deinem Computer aufgrund der großen Angriffsfläche nicht vertrauen solltest. Daher solltest du nicht darauf vertrauen, dass dein Computer authentische Adressen generiert und anzeigt. +Bitbox01: Mit dem Knopf zur sicheren Überprüfung der Adresse sendet die BitBox01 die Adresse an ein gekoppeltes Mobiltelefon, auf welchem du die Adresse überprüfen kannst. +BitBox02: Die BitBox02 hat ein eingebautes Display, auf dem die Adresse sicher angezeigt werden kann. `,title:"Warum sollte ich die Adresse verifizieren?"}},send:{change:{text:"Der Change wird an eine Taproot-Adresse gesendet, wenn du mindestens eine Taproot UTXO besitzt. Wenn du Coin-Control verwendest, wird der Change an eine Taproot-Adresse gesendet, wenn mindestens eine der ausgewählten UTXOs eine Taproot-UTXO ist. In allen anderen Fällen wird der Change an eine Native-Segwit-Adresse gesendet. ",title:"Wie wird der Change-Output bestimmt?"},fee:{text:`Die Gebühr basiert auf der Transaktionsdatengröße und nicht auf dem Transaktionsbetrag. Die Gebühren werden durch den Gebührenschätzungsalgorithmus von Bitcoin Core für jede von dir gewählte Netzwerkpriorität berechnet. Sie werden explizit angezeigt, wenn du einen anderen Wert als die unten stehenden Ziele haben. +Economy: 24 Blöcke (ca. 4 Stunden für Bitcoin, 1 Stunde für Litecoin) +Niedrig: 12 Blöcke (etwa 2 Stunden für Bitcoin, 30 Minuten für Litecoin) +Normal: 6 Blöcke (ca. 1 Stunde für Bitcoin, 15 Minuten für Litecoin) +Hoch: 2 Blöcke (ca. 20 Minuten für Bitcoin, 5 Minuten für Litecoin) +(Ein Block benötigt durchschnittlich zehn Minuten für Bitcoin (2,5 Minuten für Litecoin)), und die Netzwerklast kann in den oben genannten Zeiträumen erheblich variieren.)`,title:"Wie wird die Gebühr ermittelt?"},plugout:{text:"Nein, nachdem du eine Transaktion durchgeführt hast, musst du deine BitBox nicht eingesteckt lassen. Du kannst die BitBox problemlos vom Computer trennen.",title:"Muss ich meine BitBox beim Senden eingesteckt lassen?"},priority:{text:"Je höher die Gebühr ist, die du bereit bist zu zahlen, desto schneller wird deine Transaktion vom Netzwerk bestätigt. ",title:"Was ist Netzwerk Priorität?"},revert:{text:`Sobald eine Transaktion signiert und gesendet (d.h. An das Netzwerk gesendet) wurde, kann sie nicht mehr rückgängig gemacht werden. Überprüfe die Transaktionen (einschließlich der Gebühr) deswegen, bevor du die Transaktion bestätigst! +Wenn du den Empfänger kennst und dieser bereit ist, denselben Betrag (abzüglich der Transaktionsgebühren) an dich zurückzuschicken, kannst du ihm eine neue Empfängeradresse senden.`,title:"Kann ich eine Transaktion rückgängig machen?"},whyFee:{text:`Transaktionen stehen im Wettbewerb, um von einem Miner bestätigt zu werden. Die Miner wählen Transaktionen, die in die Blockchain aufgenommen werden sollen, basierend auf ihrer Gebühr aus. Miner bevorzugen Transaktionen mit höheren Gebühren. Deswegen wird eine Transaktion die bereit ist, eine höhere Gebühr zu bezahlen auch schneller in einem Block aufgenommen. +Da es keinen Mittelsmann gibt, der eine Regelung, wie eine Stimme pro Person erzwingen kann, stimmen die Miner über Transaktionen ab, indem sie eine kostspielige Ressource, wie Rechenleistung opfern. Als Belohnung dafür erhalten sie neu erstellte Coins und die Gebühren der Transaktionen in dem von ihnen "gemineten" Block (english: to mine a Block) .`,title:"Warum gibt es eine Netzwerk Gebühr?"}},"settings-electrum":{connection:{text:`Wenn du nur dann eine Verbindung zu deinem Full Node herstellen möchtest, wenn du dich im selben Netzwerk befindest (z. B. in deinem Heim-WLAN), ist die Verwendung einer regulären Netzwerkkommunikation ausreichend. +In diesem Fall ist es ratsam, dass dein Electrum-Server ein TLS-Zertifikat zum Verschlüsseln der Kommunikation bereitstellt. +Wenn du von überall aus eine Verbindung zu deinem Full Node herstellen möchtest, ist die Verwendung von Tor die bessere Option. In diesem Fall ist kein TLS-Zertifikat erforderlich.`,title:"Soll ich Clearnet TCP, TLS oder Tor verwenden?"},instructions:{link:{text:"Anleitung zum Verbinden deines Full Nodes"},text:"Für eine vollständiges Anleitung, besuche bitte unseren Guide:",title:"Wie verbinde ich meine BitBoxApp mit meinem Full Node?"},options:{text:`Es gibt mehrere Möglichkeiten, einen eigenen Full Node zu betreiben, z. B. ein fertiges Gerät zu kaufen, einen eigenen zu bauen oder Bitcoin Core auszuführen. +Wenn du deine BitBoxApp mit deinem Full Node verbinden möchtest, stelle sicher, dass dieser einen Electrum-Server bereitstellt. Dies ist ein spezielles Programm, mit dem eine Wallet-App mit deinem Full Node kommunizieren kann. +Unterstützte Optionen sind Electrs, Electrum Personal Server (EPS) oder Bitcoin Wallet Tracker (BTW).`,title:"Welche Optionen gibt es, um einen Full Node zu betreiben?"},tor:{text:`Tor steht für "The Onion Router", eine kostenlose Open-Source-Software, die viele Datenschutzvorteile bietet und besonders bei der Verwendung von Bitcoin nützlich ist. +Wenn du über Tor eine Verbindung zu deinem Full Node herstellen möchtest, stelle sicher, dass Tor auf deinem Computer installiert ist, und aktiviere dann den Tor-Proxy in den BitBoxApp-Einstellungen. +Auf den meisten Betriebssystemen gibt es zwei Möglichkeiten, Tor auszuführen: +1. Tor Browser: Lade den Tor Browser herunter und öffne ihn. Dadurch kann die BitBoxApp eine Verbindung zum Tor-Netzwerk herstellen, indem Port 9150 in den Tor-Proxy-Einstellungen festgelegt wird. +2. Tor-Hintergrunddienst: Installiere den Tor-Daemon, der immer im Hintergrund ausgeführt wird. Die BitBoxApp kann dann eine Verbindung herstellen, indem Port 9050 in den Tor-Proxy-Einstellungen festgelegt wird.`,title:"Was ist Tor, Tor-Proxy und welchen Port soll ich verwenden?"},what:{text:"Es ist möglich, deine Wallet mit einem eigenen Fullnode zu betreiben, anstatt den Shift-Server zu verwenden.",title:"Was ist das?"},why:{text:`Einen eigenen Full Node zu betreiben ist nicht erforderlich. Er verbessert jedoch deine Privatsphäre und verringert die Notwendigkeit, anderen Netzwerkteilnehmern zu vertrauen. +Zum einen erlaubt er dir Bitcoin privater verwenden, da die BitBoxApp dann keine Verbindung zu unseren Servern herstellt, um deinen Transaktionsverlauf abzurufen. Stattdessen werden diese Informationen von deinem eigenen Full Node abgerufen. +Des Weiteren, verifiziert dein Full Node alle Transaktionen selbst, wodurch sichergestellt wird, dass die Konsensregeln eingehalten werden. `,title:"Warum sollte ich meinen eigenen Full Node betreiben?"}},settings:{sats:{text:'Ein Satoshi (kurz "sat") ist die kleinste Einheit eines Bitcoins. Ein Satoshi ist ein Hundertmillionstel eines Bitcoins (0,00000001 BTC). Benannt ist er nach dem Erfinder von Bitcoin, Satoshi Nakamoto.',title:"Was ist ein Satoshi?"},servers:{text:`Diese App kommuniziert mit Servern von Shift Crypto, um nach Updates zu suchen, Transaktionen zu laden und Informationen an verbundene Smartphone Apps zu senden. +Außerdem werden die neuesten Wechselkurse von CoinGecko abgerufen. (Die Conversions werden lokal berechnet, es werden keine Beträge von dir übertragen.) +Info: Für Ethereum und ERC-20 tokens verwenden wir die Etherscan.io APIs.`,title:"Mit welchen Servern kommuniziert die Applikation?"}},title:"Guide",toggle:{close:"Guide schließen",open:"Guide"},trackingModePortfolioChart:{text:"Bewege auf dem Desktop den Mauszeiger über das Diagramm. Halte auf Mobilgeräten deinen Finger auf dem Diagramm und ziehe ihn horizontal.",title:"Wie kann man historische Werte auf dem Chart sehen?"},unlock:{forgotDevicePassword:{text:"Du musst das Gerät zurücksetzen und die Wallet mithilfe des Wiederherstellungskennworts aus deinem Backup wiederherstellen.",title:"Was mache ich, wenn ich mein Passwort vergessen habe?"},reset:{text:"Gib 15 Mal ein falsches Gerätekennwort ein. Die letzten Versuche erfordern eine lange Berührung des Geräts.",title:"Wie stelle ich mein Gerät wieder her?"}},waiting:{deviceNotRecognized:{text:"Das Gerät sollte beim Einstecken einmal blinken. Stelle sicher, dass es richtig herum eingesetzt ist. Bei Problemen kontaktiere uns bitte über den untenstehenden Link.",title:"Meine BitBox01 wurde nicht erkannt"},getDevice:{link:{text:"Bestellen einer BitBox"},text:"Du kannst eine BitBox in unserem Online Shop bestellen:",title:"Wie bekomme ich ein Gerät?"},internet:{text:"Ja, eine Internetverbindung ist erforderlich, um die Wallet zu synchronisieren, Transaktionen zu senden und die neuesten Wechselkurse abzurufen.",title:"Braucht diese Applikation eine Internet Verbindung?"},lostDevice:{link:{text:"Backup center"},text:"Du kannst deine Konten auf einer neuen BitBox oder in unserem Backup-center wiederherstellen.",title:"Ich habe mein Gerät verloren. Was nun?"},useWithoutDevice:{text:"Leider ist dies zum aktuellen Zeitpunkt nicht möglich. ",title:"Kann ich die App auch ohne Gerät benutzen?"},welcome:{text:"Vielen Dank, dass du diese App benutzt. Sie wird von Shift Crypto in der Schweiz entwickelt. Wir freuen uns über Anregungen und Fragen. Zögere nicht, uns zu kontaktieren.",title:"Willkommen in der BitBoxApp!"}},walletConnect:{noPreviousConnections:{text:"Wenn du ein neues Telefon/Computer mit der BitBoxApp verwendest, musst du dich erneut mit den DApps verbinden. Anschließend siehst du deine Coins wieder wie gewohnt auf der DApp.",title:"Ich sehe meine vorherigen Verbindungen nicht."},supportedNetworks:{text:"Derzeit wird nur das Ethereum-Mainnet mit WalletConnect in der BitBoxApp unterstützt. Um andere EVM-kompatible Netzwerke zu verwenden, verwende bitte das Rabby Browser-Extension Wallet.",title:"Welche Netzwerke werden unterstützt?"},whatIsWalletConnect:{text:"WalletConnect ist ein Kommunikationsprotokoll für Web3-Anwendungen. Damit kannst du bequem eine Verbindung zu Ethereum basierten DApps und Web-Wallets herstellen, ohne eine Drittanbieter-App zu verwenden. Dies ist besonders nützlich für Android Nutzer der BitBoxApp.",title:"Was ist WalletConnect?"}}},xE={blocksSynced:`{{blocks}} Blöcke synchronisiert +`},yE={info1HTML:"Zur glaubhaften Abstreitbarkeit kann eine versteckte Wallet erstellt werden, das auf einer anderen Geräte- und Wiederherstellungspasswort Kombination basiert.",info2HTML:"Gib das Gerätepasswort und das Wiederherstellungspasswort ein, die du für deine versteckte Wallet verwenden möchtest. Das Gerätepasswort und das Wiederherstellungspasswort müssen sich von denen unterscheiden , die du für dein primäres Wallet verwendest.",passwordLabel:"Versteckte Wallet Passwort",passwordPlaceholder:"Bitte bestätige das versteckte Wiederherstellungspasswort",pinLabel:"Verstecktes Gerätepasswort",pinRepeatLabel:"Wiederhole das versteckte Gerätepasswort",pinRepeatPlaceholder:"Bitte bestätige das versteckte Gerätepasswort",success:"Versteckte Wallet erfolgreich erstellt. Stecke die BitBox erneut ein und gib das versteckete Gerätepasswort ein, um diese zu entsperren."},wE={create:"Gerätepasswort speichern",creating:"Gerätekennwort wird eingestellt...",error:{e102:"Das Gerätekennwort muss aus mindestens 4 Zeichen bestehen."},info:{description1:"Wähle dein Gerätekennwort. Dieses wird zum Entsperren deiner BitBox verwendet.",description2:"Du kannst Zahlen und Buchstaben verwenden. Längere Passwörter sind in der Regel sicherer.",description3:"Wenn du das Gerätepasswort vergisst, musst du dein Gerät zurücksetzen und deine Wallet von deinem Backup wiederherstellen.",subtitle:"Jetzt legst du dein Gerätepasswort fest",title:"Initialisierung deines Gerätes"},input:{label:"Gerätepasswort",labelRepeat:"Wiederhole das Gerätepasswort",placeholderRepeat:"Bitte bestätige das Gerätepasswort"}},jE="Ungültiges Format",BE={title:"Sprache auswählen"},SE={disable:"Versteckte Legacy Wallet deaktivieren",enable:"Versteckte Legacy Wallet aktivieren",successDisable:"Versteckte Legacy Wallet erfolgreich deaktiviert",successEnable:"Die versteckte legacy Wallet wurde erfolgreich aktiviert. Stecke deine BitBox erneut ein und gib das versteckte Gerätepasswort ein, um auf die versteckte Wallet zuzugreifen."},zE="laden...",CE={accountHidden:"Dieses Konto wurde aus deinen watch-only Konten ausgeblendet. Verbinde deine BitBox02 um es wieder anzuzeigen.",editAccount:"Bearbeiten",editAccountNameTitle:"Kontonamen bearbeiten",noAccounts:"Keine Konten gefunden",settings:{hideTokens:"Token ausblenden",showTokens:"Token anzeigen ({{activeTokenCount}})"},settingsButtonDescription:"Konten hinzufügen und aktivieren / deaktivieren",title:"Konten verwalten",watchAccount:"Konto merken",watchAccountDescription:"Dieses Konto ist Teil deines watch-only Kontos. Du kannst es mit diesem Schalter vor den watch-only Konten verstecken."},DE={usingMobileDataWarning:"Mobile Datennutzung: Diese App downloaded ein paar hundert Megabytes an Blockchain Daten nachdem ein Konto geöffnet wurde. Bitte verbinde dein Handy für diesen einmaligen Download mit deinem Wifi. "},AE={about:{appVersion:{title:"App-Version"}},advancedSettings:{authentication:{description:"Sperre den Zugriff zur App mit Displaysperre/Fingerabdruck.",title:"Displaysperre"},coinControl:{description:"Wähle aus, welche UTXOs Teil einer Transaktion sind, um die Privatsphäre zu verbessern."},customFees:{description:"Ermöglicht es dir, beim Senden deine eigene Gebühr festzulegen."},torProxy:{description:"Stelle für mehr Privatsphäre eine Verbindung über Tor her."}},appearance:{activeCurrencies:{description:"Diese zusätzlichen Währungen können auf Ihrer Kontoseite eingeschaltet werden.",title:"Aktive Währungen"},darkmode:{description:"Aktiviere den dunklen Modus der BitBoxApp."},defaultCurrency:{description:"Wähle deine Standardwährung aus",title:"Standardwährung"},enableWallet:{description:"Wenn du dein Konto deaktivierst, wird es weder in der Seitenleiste noch im Portfolio angezeigt. Du kannst es hier jederzeit wieder aktivieren. Coins auf diesem Konto werden nicht beeinflusst und bleiben sicher.",title:"Wallet aktivieren/deaktivieren"},hideAmounts:{description:"Zeigt einen Schalter zum Ausblenden deines Guthabens und Beträgen an, um deine Privatsphäre zu verbessern, wenn du die App in der Öffentlichkeit nutzt.",hideAmounts:"Beträge ausblenden",showAmounts:"Beträge anzeigen",title:"Ausblenden von Beträgen zulassen"},language:{description:"Welche Sprache die BitBoxApp verwenden soll.",title:"Sprache"},remebmerWallet:{name:"Wallet merken",warning:"Dies wird dein gemerktes Wallet entfernen. Um es wieder zu sehen musst du die BitBox02 für dieses Wallet verbinden. Alle Coins auf diesem Wallet werden nicht beeinflusst. Möchtest du fortfahren?",warningTitle:'Deaktiviere "Wallet merken"'},toggleSats:{description:"Aktiviere oder deaktiviere Satoshis."}}},_E={input:{description:"(optional)",placeholder:"Notiz hinzufügen..."},title:"Notiz"},TE={newTxs_one:"Neue Transaktion in: {{accountName}}",newTxs_other:"{{count}} neue Transaktionen in: {{accountName}}"},EE={aborted:{text:"Der Kopplungsprozess wurde von der Smartphone App abgebrochen.",title:"Abgebrochen"},button:"Mit Smartphone App koppeln",confirm:"Möchtest du deine BitBox wirklich koppeln? Danach wird dein Mobiltelefon zur Durchführung einer Transaktion unbedingt erforderlich sein.",connectOnly:{button:"Smartphone App verbinden",title:"Scanne den Code mit der Smartphone App. "},error:{text:"Etwas ist schief gelaufen. Bitte fang erneut an.",title:"Fehler"},pullFailed:{text:"Fehler beim Abrufen einer Nachricht von deinem Mobiltelefon über den Relay-Server. Der Relay-Server ist möglicherweise offline. Wende dich an den Support.",title:"Laden fehlgeschlagen"},reconnectOnly:{button:"Smartphone App erneut verbinden"},scanningFailed:{text:"Das Handy konnte die Nachricht nicht scannen. Bitte versuche es erneut.",title:"Scannen fehlgeschlagen"},start:{hideAppQRCode:"QR Code ausblenden",revealAppQRCode:"QR Code anzeigen",step1:"Wenn du nicht über die Smartphone App verfügst, kannst du den QR-Code für den Apple App Store oder den Google Play Store scannen.",step2:"Scanne den Code mit der Smartphone App, die du im App Stores für iOS und Android findst, wenn du nach 'Digital Bitbox 2FA' suchst."},started:{text:"Folge nun den Anweisungen in der mobilen App.",title:"Gut gemacht!"},success:{text:"Herzlichen Glückwunsch, du hast deine BitBox erfolgreich mit der mobilen App gekoppelt!",title:"Erfolg"},timeout:{text:"Der Kopplungsprozess ist nach 2 Minuten abgelaufen. Bitte versuche es erneut.",title:"Zeitüberschreitung"},title:"Smartphone Kopplung"},PE={considerations:{button:"Backup-Hinweise",message:`Die Passphrase bietet zusätzlichen Schutz für dein Wallet-Backup (MicroSD oder 24 Wörter). Falls jemand Zugriff auf dein Backup hat, benötigt er zusätzlich die Passphrase, um auf dein Wallet zuzugreifen. + +Dies bedeutet jedoch, dass du sowohl die Passphrase als auch das Wallet Backup benötigst, um dein Passphrase-Wallet wiederherzustellen, falls deine BitBox02 verloren oder kaputt geht. Falls du die Passphrase verlierst, verlierst du auch Zugriff auf alle Coins in diesem Wallet. + +Erwäge, deine Passphrase an einem anderen Ort als dein Backup zu sichern. Falls jemand dein Backup findet, fehlt ihm immer noch die Passphrase. `,title:"Backup-Hinweise"},disable:"Passphrase deaktivieren",disableInfo:{button:"Deaktivieren",message:`Nachdem du die Passphrase deaktiviert hast, wirst du nach dem Entsperren deiner BitBox02 nicht mehr aufgefordert, eine Passphrase einzugeben. Daher wirst du deine Standard-Wallet aufrufen. + +Alle Coins in deiner Passphrase-Wallet befinden sich weiterhin in dieser Wallet, aber du kannst nicht darauf zugreifen, weil du nach dem Entsperren deiner BitBox02 deine Standard-Wallet öffnest. + +Um wieder auf deine Passphrase-Wallet zuzugreifen, aktiviere einfach wieder die Passphrase-Funktion und gib die entsprechende Passphrase ein, nachdem du die BitBox02 entsperrt hast. + +Tipp: Du kannst deine ursprüngliche Wallet immer noch öffnen, indem du die Passphrase leer lässt.`},enable:"Passphrase aktivieren",error:{e104:"Änderung der Passphrase-Einstellung wurde abgebrochen. "},how:{button:"So sieht es aus",message:`Eine Passphrase funktioniert nicht wie ein Passwort, wie du es kennst. Wenn du deine Passphrase falsch eingibst, wirst du nicht benachrichtigt. Das liegt daran, dass jede Passphrase eine andere, aber gültige Wallet erstellt. Das heißt, du kannst mehrere Passphrasen für so viele Wallets verwenden, wie du willst. Auf jede Wallet kannst du aber nur zugreifen, wenn du die entsprechende Passphrase eingibst. + +Wenn du deine BitBox02 einsteckst, wirst du wie üblich nach dem Gerätepasswort gefragt. Danach wirst du aufgefordert, eine Passphrase auf dem Gerät einzugeben. + +Nachdem du die Passphrase eingegeben hast, wird dir die eingegebene Passphrase angezeigt. So kannst du bestätigen, dass du sie richtig eingegeben hast.`,title:"Wie funktioniert die Passphrase?"},intro:{message:`Eine Passphrase bietet zusätzliche Sicherheit für deine Wallet. +Hier erfährst du, wie sie funktioniert.`,title:"Passphrase einrichten"},progressDisable:{message:"Bestätige auf deiner BitBox, dass du die optionale Passphrase deaktivieren möchtest.",title:"Bestätige am Gerät"},progressEnable:{message:"Bestätige auf deiner BitBox, dass du die optionale Passphrase aktivieren möchtest.",title:"Bestätige am Gerät"},successDisabled:{message:`Optionale Passphrase erfolgreich aktiviert! +Von nun an wirst du dazu aufgefordert, eine Passphrase anzugeben.`,messageEnd:"Bitte stecke die BitBox02 jetzt wieder ein.",title:"Passphrase aktiviert"},successEnabled:{message:`Optionale Passphrase erfolgreich deaktiviert! +Von nun an wirst du nicht mehr dazu aufgefordert, eine Passphrase anzugeben.`,messageEnd:"Bitte stecke deine BitBox02 jetzt wieder ein.",tips:"Tipps",tipsList:["Wir empfehlen, zuerst einen kleinen Betrag in die Passphrase-Wallet zu senden. Dann musst du die BitBox02 aus- und wieder einstecken und dein Passwort und deine Passphrase eingeben. Wenn du die Passphrase richtig eingegeben hast, solltest du die Coins in deinem Wallet sehen.","Wenn du deine ursprüngliche Wallet ohne Passphrase betreten willst, kannst du das immer noch tun, indem du nichts eingibst, wenn du zur Eingabe der Passphrase aufgefordert wirst. Oder du kannst die Passphrase-Funktion deaktivieren."],title:"Passphrase deaktiviert"},summary:{button:"Passphrase aktivieren",title:"Übersicht",understand:"Ich verstehe, wie die Passphrase funktioniert und welche Risiken damit verbunden sind.",understandList:["Die Passphrase ist eine zusätzliche Sicherheitsmaßnahme für mein Backup.","Wenn ich eine andere Passphrase eingebe, wird immer ein anderes Wallet erstellt.","Um mein Wallet wiederherzustellen benötige ich sowohl die Passphrase als auch das Backup.","Wenn ich meine Passphrase vergesse, habe ich keinen Zugriff mehr auf meine Coins."]},what:{button:"Verstehe, wie es funktioniert",message:`Eine Wallet wird aus einer sehr großen Zufallszahl erstellt (abgeleitet), die auch als Seed bezeichnet wird. Dieser Seed wird erstellt, wenn du deine BitBox02 zum ersten Mal einrichtest, und mit der microSD-Karte oder 24 Wörtern gesichert. Jeder, der Zugriff auf den Seed hat, hat die volle Kontrolle über das Geld auf dieser Wallet. + +Eine Passphrase ist ein optionales Geheimnis, das zum Seed hinzugefügt wird. Wenn du eine Passphrase verwendest, erstellt jede Passphrase eine neue Wallet, die auf dem Seed + Passphrase (optionales Geheimnis) basiert. Eine Passphrase kann alles sein: Buchstaben, Wörter, Sonderzeichen oder auch leer. Die Standard-Wallet wird aus dem Seed und der leeren Passphrase erstellt. + +Die Passphrase ist Teil des BIP39-Standards, was bedeutet, dass sie mit allen Wallets kompatibel ist, die denselben Standard unterstützen.`,title:"Was ist eine Passphrase?"},why:{button:"Warum sollte man eine Passphrase benutzen?",message:`Die BitBox02 schützt den Seed vor der Extraktion aus dem Gerät selbst, doch das Backup (microSD-Karte oder 24 Wörter) gibt vollen Zugriff auf die Wallet. Deshalb sollte es an einem sicheren Ort aufbewahrt werden! + +Da eine Passphrase eine neue Wallet mit deinem bestehenden Seed erstellt, benötigt die Passphrase-Wallet sowohl dein Backup als auch deine Passphrase zur Wiederherstellung. Das hat den Vorteil, dass jemand, der dein Backup findet, trotzdem die Passphrase braucht, um auf die Passphrase-Wallet zuzugreifen. + +Außerdem kannst du mit der Passphrase-Funktion mehrere Wallets auf demselben Gerät erstellen, also "versteckte Wallets" zusätzlich zur Standard-Wallet.`,title:"Warum sollte man eine Passphrase benutzen?"}},NE={show:"{{label}} anzeigen",warning:{caps:"WARNUNG: Feststelltaste (⇪) ist aktiviert",paste:'Um Text einzufügen, aktiviere "Anzeigen" {{label}}".'}},LE={button:"Zufallszahl generieren",description:"Deine BitBox hat die folgende {{bits}}-Bit-Zufallszahl generiert:"},IE={changeScriptType:"Adresstyp ändern",label:"Meine Adresse",onlyThisCoin:{description:"Um andere Token empfangen zu können, aktiviere diese in den Einstellungen. Solltest du Token empfangen, welche die BitBoxApp nicht unterstützt, hast du möglicherweise keinen Zugang mehr zu diesen. ",warning:"Stelle sicher, dass du nur {{coinName}} auf diese Adresse sendest."},scriptType:{p2tr:"Taproot (neuestes Format)",p2wpkh:"Native-Segwit (standard)","p2wpkh-p2sh":"Wrapped-Segwit (kompatibles Format)"},selectAccount:"Konto auswählen",showFull:"Adresse auf BitBox bestätigen",taprootWarning:"Hinweis: Taproot ist ein neues Adressformat und noch nicht weit verbreitet. Gelder, die über Taproot-Adressen eingehen, sind möglicherweise nicht in Watch-Only-Wallets von Drittanbietern sichtbar. Viele Wallets und Börsen sind noch nicht in der Lage, an Taproot-Adressen zu senden.",title:"{{accountName}} empfangen",verify:"Adresse sicher verifizieren",verifyBitBox01:"Adresse auf Smartphone überprüfen",verifyBitBox02:"Adresse auf BitBox02 überprüfen",verifyInstruction:"Bitte bestätige, dass die folgende Adresse mit der Adresse auf deinem Gerät übereinstimmt.",warning:{secureOutput:'Bitte koppele deine BitBox mit deinem Smartphone, um eine sichere Adressüberprüfung zu ermöglichen. Klicke in der Seitenleiste auf "Gerät verwalten".'}},$E={description:"Alle Daten auf dem Gerät werden gelöscht. Inklusive deiner Private-Keys!",notReset:"Gerät NICHT zurück gesetzt.",title:"Gerät in Werkszustand zurücksetzen",understand:"Ich habe ein Backup und kenne mein Wiederherstellungskennwort",understandBB02:"Ich habe ein valides Backup"},ME={create:{description1:"Bitte richte dein Gerät in einer sicheren Umgebung ein, sodass niemand sehen kann, welches Passwort du wählst.",description2:"Während der Einrichtung wirst du aufgefordert, zwei verschiendene Passworter zu erstellen. ",description3:"Das erste Passwort ist das Gerätepasswort , welches deine BitBox entsperrt und später geändert werden kann.",description4:"Das zweite ist das Wiederherstellungspasswort , mit dem dein Wallet gesichert wird. Dieses Passwort kann später nicht geändert werden",description5:"Die von dir erstellte Wallet wird in einer Datei auf der mitgelieferten microSD Karte gespeichert. Dieses Backup kann im Notfall verwendet werden, um den Zugriff auf deine Coins mithilfe deines Wiederherstellungskennworts wieder herzustellen.",title:"Sicherheitsinformationen"},restore:{description1:"Du wirst aufgefordert, die Micro-SD-Karte einzustecken, die du zum Speichern deines Backups verwendet hast.",description2:"Um dein Gerät wiederherzustellen, benötigst du dein Wiederherstellungskennwort.",description3:"Bitte sei bei der Eingabe des Wiederherstellungskennworts aufmerksam. Jedes von dir eingegebene Passwort erstellt eine gültige Wallet, welche dann aber leer sind. Gibst du also ein falsches Kennwort ein, wird dir nicht die erwartete Wallet, sondern eine andere Wallet angezeigt.",title:"Sicherheitsinformationen"}},OE={agreements:{"funds-access":"Ich kann NICHT auf mein Geld zugreifen, wenn ich mein Wiederherstellungspasswort vergessen habe.","password-change":"Ich kann das Wiederherstellungspasswort später NICHT ändern.","password-required":"Ich brauche mein Wiederherstellungspasswort, um meine Wallet von meinem Backup wiederherzustellen."},create:"Neue Wallet erstellen",creating:"Wallet wird erstellt",description:"Ich bestätige, dass ich folgendes zu Kenntnis genommen habe:",error:{e102:"Das Passwort muss aus mindestens 4 Zeichen bestehen.",e200:"Du musst eine microSD Karte in deine BitBox einsetzen, damit ein Backup deiner Wallet erstellt und auf der Micro-SD Karte gespeichert werden kann."},info:{button:" Wiederherstellungspasswort festlegen",description1:"Steck die microSD Karte in die BitBox ein.",description2:'Wähle ein Wiederherstellungspasswort für die Wallet und klicke "Wiederherstellungspasswort speichern".',description3:"Das Backup auf der microSD Karte, zusammen mit deinem Wiederherstellungspasswort, ist die einzige Methode, wie deine Wallet (= der Zugang zu deinen Coins) wieder hergestellt werden kann, falls deine BitBox gestohlen wird oder du dein Gerätepasswort vergisst!",description4:"Das Wiederherstellungspasswort lässt sich später nicht ohne Weiteres ändern. Dazu müsstest du dein Coins auf ein neues Konto transferieren. Deswegen solltest du von Anfang an ein gutes Passwort wählen.",title:"Neue Wallet erstellen "},password:{label:"Wiederherstellungspasswort",repeatPlaceholder:"Wiederhestellungspasswort wiederholen"},walletName:{label:"Wallet Name"}},RE={error:{e200:"Um eine Wallet von einem Backup wieder herzustellen wird deine microSD Karte benötigt."},info:{description1:'Stecke die microSD-Karte in die BitBox ein und klicke auf "Weiter".',description2:'Wähle ein Backup aus und klicke "Wiederherstellen"',description3:"Gib das Wiederherstellungspasswort ein",description4:"Du musst bestätigen, dass du zu Kenntnis genommen hast, dass ein falsches Passwort eine andere Wallet erstellt/öffnet.",title:"Wie wird eine Wallet von einem Backup wieder hergestellt?"}},FE={abort:"Die Transaktion wurde abgebrochen",address:{label:"Empfangsadresse",placeholder:"Adresse eingeben oder scannen"},amount:{label:"Betrag",placeholder:"Betrag eingeben"},availableBalance:"Kontostand",button:"Prüfen",coincontrol:{address:"Adresse",outpoint:"ID",title:"Outputs wählen"},confirm:{"selected-coins":"Ausgewählte Coins",title:"Bestätige und sende die Transaktion",total:"Gesamt"},error:{erc20InsufficientGasFunds:"Es scheint, als hättest du nicht genug Ether, um für diese ERC20-Transaktion zu bezahlen. Bitte vergewissere dich, dass du genug Ether in deiner Wallet hast.",feeTooLow:"Gebühr zu niedrig",feesNotAvailable:"Gebühren konnten nicht geschätzt werden",insufficientFunds:"Unzureichende Mittel",invalidAddress:"ungültige Adresse",invalidAmount:"ungültige Menge",invalidData:"ungültige Daten"},fee:{customPlaceholder:"Betrag eingeben",label:"Netzwerk Gebühr",placeholder:"Nicht verfügbar"},feeTarget:{customLabel:"Gebühren-Rate",customLabel_eth:"Gas-Preis",description:{economy:"4 Stunden (24 Blöcke)",economy_eth:"30 Minuten oder weniger",economy_ltc:"1 Stunde (24 Blöcke)",high:"20 Minuten (2 Blöcke)",high_eth:"30 Sekunden oder weniger",high_ltc:"5 Minuten (2 Blöcke)",low:"2 Stunden (12 Blöcke)",low_eth:"5 Minuten oder weniger",low_ltc:"30 Minuten (12 Blöcke)",normal:"1 Stunde (6 Blöcke)",normal_eth:"2 Minuten oder weniger",normal_ltc:"15 Minuten (6 Blöcke)"},estimate:"Geschätzte Wartezeit:",label:{custom:"Eigene Gebühr",economy:"Sehr niedrig",high:"Hoch",low:"Niedrig",normal:"Normal"},placeholder:"Gebühr wird berechnet...."},maximum:"Alles senden",maximumSelectedCoins:"Ausgewählte Coins senden",noFeeTargets:"Gebührenschätzungen sind derzeit nicht verfügbar. Bitte versuche es später erneut oder gib eine benutzerdefinierte Gebühr ein.",priority:"Priorität",scanQR:"QR Code scannen",signprogress:{description:"Dies ist eine Transaktion, die viele Daten enthält. Um die Transaktion vollständig zu signieren, wirst du aufgefordert, {{steps}} mal auf der BitBox zu bestätigen.",label:"Fortschritt"},success:"Die Transaktion wurde signiert und versendet.",title:"{{accountName}} senden",toggleCoinControl:"Coin Control",transactionDetails:"Transaktionsdetails"},VE={about:"Über die App",accounts:"Konten",advancedSettings:"Erweiterte Einstellungen",appearance:"Ansicht",electrum:{add:"Server hinzufügen","add-server":"Hinzufügen",check:"Überprüfen",checkFailed:"Fehlgeschlagen",checkSuccess:"Verbindung zu {{host}} wurde erfolgreich hergestellt",checking:"Überprüfen","download-cert":"Remote-Zertifikat herunterladen","remove-server":"Entfernen",removeConfirm:"Entfernen {{server}}?",reset:"In Werkszustand zurücksetzen",resetConfirm:"Möchtest du alle Server entfernen und die Standardserver installieren?",servers:"Servers",step1:"1","step1-text":"Gib den Endpunkt ein",step2:"2","step2-text":"Gib ein Zertifikat der Zertifikatskette des Servers ein. Lade alternativ das Remote-Zertifikat herunter und vergleiche es visuell.","step2-text-tcp":"Überspringe diesen Schritt, wenn du kein TLS verwenden möchtest.",step3:"3","step3-text":"Überprüfe die Verbindung und füge den Server hinzu.",step4:"4","step4-text":"Starte die BitBoxApp neu. Wenn du die Standardserver nicht entfernst, wird dein eigener Node als Redundanz hinzugefügt.","title-btc":"Bitcoin Electrum Server","title-ltc":"Litecoin Electrum Server","title-tbtc":"Bitcoin Testnet Electrum Server","title-tltc":"Litecoin Testnet Electrum Server"},expert:{coinControl:"Coin Control aktivieren",electrum:{description:"Du kannst dich mit deinem eigenen Electrum-Fullnode verbinden.",title:"Eigenen Full Node verbinden"},fee:"Eigene Gebühr aktivieren",setProxyAddress:"Proxy Adresse eingeben",title:"Erweiterte Einstellungen",useProxy:"Tor Proxy aktivieren",useSats:"BTC-Werte in Satoshis anzeigen"},header:{home:"Home"},info:{"out-of-date":"Neues Update verfügbar",title:"Info","up-to-date":"Deine App ist auf dem neuesten Stand",version:"App-Version"},restart:"Bitte starte die BitBoxApp neu, damit die Änderungen wirksam werden.",services:{title:"Dienste"},success:"Bitte trenne die BitBox und stecke sie wieder ein, damit die Änderungen wirksam werden.",title:"Einstellungen"},WE="Gerätepasswort festlegen",UE={buy:"Krypto kaufen",device:"Gerät verwalten",leave:"Verlassen",settings:"Einstellungen"},qE={create:{info1:"Ein Backup deiner Wallet wurde sicher auf der microSD Karte gesichert. Entferne die Karte und bewahre diese an einem sicheren Ort auf.",info2:"Du hast ein Gerätepasswort erstellt, mit dem die BitBox entsperrt wird.",info3:"Du hast ein Wiederherstellungspasswort für deine Wallet erstellt, das deine Coins freigibt und dein Backup wiederherstellt.",summary:"Hier ist eine Zusammenfassung von dem, was du getan hast:",title:"Erfolg"},getstarted:"Loslegen",restore:{summary:"Du hast erfolgreich deine Wallet aus einem Backup wiederhergestellt.",title:"Erfolg"}},HE={confirmation:"Bestätigungen",details:{activity:"Aktivität",address:"Adresse",amount:"Betrag",date:"Datum",fiat:"Fiat",fiatAmount:"Fiatbetrag",fiatAtTime:"Fiat zur Transaktionszeit",status:"Status",type:"Typ"},explorer:"Transaktions ID",explorerTitle:"In externem Block Explorer öffnen.",fee:"Gebühr",fiatHistorical:"Historisch",gas:"Gas",note:{edit:"Notiz bearbeiten",save:"Notiz speichern"},pending:"Ausstehende Transaktion",size:"Größe",status:{complete:"Bestätigt",failed:"Fehlgeschlagen",pending:"Ausstehend"},tx:{received:"Empfangen an",sent:"Gesendet an"},vsize:"Virtuelle Größe",weight:"Gewicht"},KE={errorLoadTransactions:"Beim Laden der Transaktionen ist ein Fehler aufgetreten",placeholder:"Noch keine Transaktionen."},GE=`Ein unbekannter Fehler ist aufgetreten {{errorMessage}} + +`,QE={description:"Gib dein Gerätepasswort ein um dein Gerät zu entsperren.",error:{e109_normal:"Gerätepasswort inkorrekt. {{remainingAttempts}} Versuche verbleibend, bevor sich das Gerät in den Werkszustand zurücksetzt. ",e109_touch:"$t(unlock.error.e109_normal) Beim nächsten Loginversuch musst du die LED lange halten.",e113:"Aufgrund zu vieler Loginversuche musst du beim nächsten Versuch die LED 4 Sekunden lang drücken."},input:{label:"Gerätepasswort",placeholder:"Gib dein Gerätepasswort ein um das Gerät zu entsperren."},unlocking:"Entsperren..."},YE={button:"Firmware aktualisieren",description:"Möchtest du von Version {{currentVersion}} zu Version {{newVersion}} upgraden?",label:"Deine BitBox benötigt eine Firmware Aktualisierung.",locked:"Um von Version {{currentVersion}} zu Version {{newVersion}} upzugraden, drücke die LED bitte lange. ",title:"Firmware upgraden",unlocked:"Der Bootloader ist gesperrt. Um fortzufahren:",unlocked1:"Steck deine BitBox aus und dann wieder ein.",unlocked2:"Die LED wird aufleuchten, wenn deine BitBox wieder eingesteckt ist.",unlocked3:"Tippe auf die LED, wenn diese aufleuchtet."},ZE={connect:{button:"Verbinden",dappLabel:"Gebe die URI-Adresse der Dapp ein",invalidPairingUri:"Ungültige Pairing-URI"},dashboard:{allSessions:"Alle Sitzungen",disclaimer:"Walletconnect ist ein Protokoll zur Verbindung mit Ethereum basierten Dapps. Diese Dapps werden von Drittanbieterdiensten betrieben. Stelle daher nur eine Verbindung zu Dapps her, denen du vertraust, und stelle sicher, dass du bei einer Transaktion immer weißt, was du signierst.",newConnection:"Neue Verbindung",noConnectedSessions:"Derzeit sind keine Konten mit Dapps verbunden."},invalidPairingChain:"Fehler beim Genehmigen des Pairing. Bitte stelle sicher, dass du eines der unterstützten Netzwerke verwendest: {{chains}}",pairingRequest:{approve:"Verbindung erlauben",reject:"Ablehnen",title:"Neue Verbindungsanfrage von"},pairingSuccess:"Dapp erfolgreich verbunden. Du kannst auf der Dapp-Website fortfahren.",signingRequest:{account:"Konto",chain:"Netzwerk",dapp:"Dapp",data:"Daten",dataParsingError:"Parsen der Daten fehlgeschlagen",decodeError:"Nachricht konnte nicht dekodiert werden",method:{sendTransaction:"Transaktion signieren und senden",signMessage:"Nachricht signieren",signTransaction:"Transaktion signieren",signTypedData:"Signiere eingegebene Daten"},successfullySigned:"Anfrage erfolgreich signiert",walletConnectRequest:"WalletConnect Anfrage"},useNewUri:"Dieser URI wurde bereits für den Verbindungsversuch verwendet. Bitte verwende eine neue URI.",walletConnect:"WalletConnect"},JE={receivePairing:'Bitte aktiviere 2FA, um Adressen sicher zu verifizieren. Klicke dazu auf "Geräte verwalten" im Menü auf der linken Seite.',sdcard:"Bewahre deine microSD Karte separat von deiner BitBox auf. Die microSD Karte wird nur benötigt, wenn du deine Backups verwalten willst. Für den normalen Betrieb ist sie nicht erforderlich.",sendPairing:'Bitte koppele deine BitBox mit einem Smartphone um Transaktionen sicher verifizieren zu können. Klicke dazu auf "Geräte verwalten" im Menü auf der linken Seite.'},XE={connect:"Verbinde eine BitBox02",getStarted:"Beginnen wir mit der Installation der Firmware auf deiner BitBox02.",insertBitBox02:"Tippe dann auf die BitBox02 zum weiter machen. ",insertDevice:"Bitte verbinde dein Gerät, um loszulegen",title:"Willkommen"},eP={account:$T,accountInfo:MT,accountSummary:OT,addAccount:RT,aopp:FT,app:VT,auth:WT,backup:UT,bb02Bootloader:qT,bitbox:HT,bitbox02Interact:KT,bitbox02Settings:GT,bitbox02Wizard:QT,blink:YT,bootloader:ZT,button:JT,buy:XT,changePin:eE,chart:tE,checkSDcard:nE,clickHere:aE,confirm:iE,confirmOnDevice:oE,connectKeystore:rE,darkmode:sE,device:lE,deviceLock:cE,deviceSettings:uE,deviceTampered:dE,dialog:pE,error:hE,fiat:mE,footer:fE,generic:gE,genericError:vE,goal:bE,guide:kE,headerssync:xE,hiddenWallet:yE,initialize:wE,invalidFormat:jE,language:BE,legacyhiddenwallet:SE,loading:zE,manageAccounts:CE,mobile:DE,newSettings:AE,note:_E,notification:TE,pairing:EE,passphrase:PE,password:NE,random:LE,receive:IE,reset:$E,securityInformation:ME,seed:OE,seedRestore:RE,send:FE,settings:VE,setup:WE,sidebar:UE,success:qE,transaction:HE,transactions:KE,unknownError:GE,unlock:QE,upgradeFirmware:YE,walletConnect:ZE,warning:JE,welcome:XE},tP={disconnect:"Connection lost. Retrying…",export:"Export",exportTransactions:"Export transactions to downloads folder as CSV file",fatalError:"There was an unexpected error.",incoming:"Incoming",initializing:"Getting information from the blockchain…",maybeProxyError:"Tor proxy enabled. Ensure that your Tor proxy is running properly, or disable the proxy setting.",reconnecting:"Lost connection, trying to reconnect…",syncedAddressesCount:"Scanned {{count}} addresses"},nP={address:"Address",buyCTA:{buy:"Buy {{unit}}",buyCrypto:"Buy Crypto",information:{looksEmpty:"Looks like this wallet is empty.",start:"Get started by depositing some coins to the wallet or buying directly in the BitBoxApp."}},extendedPublicKey:"Extended public key",label:"Account info",scriptType:"Script type",title:"Account information",verify:"Verify on device",xpubTypeChangeBtn:{p2pkh:"View legacy P2PKH extended public key",p2tr:"View Taproot",p2wpkh:"View Native Segwit","p2wpkh-p2sh":"View older Segwit extended public key"},xpubTypeInfo:"Currently displaying {{scriptType}} extended public key ({{current}} of {{numberOfXPubs}})"},aP={availableBalance:"Available balance",balance:"Balance",exportSummary:"Export accounts summary to downloads folder as CSV file",fiatBalance:"Fiat balance",name:"Account name",noAccount:"There are no accounts to show.",subtotalWithCoinName:"Total ({{coinName}})",title:"My portfolio",total:"Total",transactionHistory:"Transaction history"},iP={chooseName:{nextButton:"Add account",step:"Name account",title:"Name your account"},selectCoin:{nextButton:"Next",step:"Select coin",title:"Select cryptocurrency"},success:{addAnotherAccount:"Add another account",message:"{{accountName}} has now been added to your accounts.",nextButton:"Done",step:"Finished",title:"Account added"},title:"Add account"},oP={addressRequest:"{{host}} is requesting a receiving address.",addressRequestWithLogo:"is requesting a receiving address",banner:"Address request in progress. Please connect your device to continue.",errorTitle:"Error during address request ",labelAddress:"Address",labelMessage:"Message",reverifyInfoText:"Verify address",signing:"To proceed, sign message on your BitBox02",success:{message:"Proceed on {{host}}",title:"Address successfully sent"},syncing:"Syncing the account, please wait.",title:"Address request"},rP={upgrade:"A new version of this app is available! Please upgrade from {{current}} to {{version}}."},sP={authButton:"Authenticate",title:"Please authenticate to continue"},lP={check:{checking:"Checking backup…",confirmTitle:"Check backup",notOK:"Backup does NOT match the wallet.",ok:"Backup matches the wallet.",password:{label:"Recovery password",placeholder:"Recovery password",showLabel:"recovery password"},success:"Successfully verified backup:",title:"Check backup"},create:{alreadyExists:"You already have a valid backup. Do you wish to re-create it?",fail:"Creating the backup FAILED!",info:"Please enter the recovery password of the current wallet for verification.",name:{label:"Backup name",placeholder:"Please name the backup"},password:{label:"Recovery password",placeholder:"Please enter your recovery password"},title:"Create backup",verificationFailed:"The recovery password does NOT MATCH the current wallet. The backup has been created. Please use 'Check backup' to verify your recovery password again."},description:"Select wallet backup file",insert:"Please insert the microSD card to manage backups.",insertButton:"I have inserted the microSD card",list:"Your microSD card backups",noBackups:"There are no backups on this microSD card.",restore:{confirmTitle:"Restore backup",error:{e200:"microSD card not found",general:"Error restoring the backup"},password:{label:"Recovery password or hidden recovery password",placeholder:"Recovery password",repeatPlaceholder:"Repeat recovery password",showLabel:"Recovery password"},restoring:"Restoring backup…",selectedBackup:"{{backupName}} created on {{createdDateTime}} will be restored.",title:"Restore",understand:"I understand that an incorrect recovery password will create a different wallet"},showMnemonic:{description:`You will be presented with your recovery words, which form a backup of your wallet. Write them down on paper. + +Do not store them digitally or take pictures of it. + +Do not say the words out loud. + +This backup is not password-protected. + +Afterwards, you will be asked to confirm each word.`,title:"Show recovery words",warning:"Never share your recovery words with anyone. Your recovery words give full access to your wallet. If someone is asking you for your recovery words, it's a scammer, do not share them!"},title:"Manage backups"},cP={abort:"Don't upgrade – take me back",abort_noUpgrade:"Take me back",advanced:{label:"Advanced settings",toggleShowFirmwareHash:"Show the firmware hash every time on startup"},flipscreen:"Flip screen",orientation:"Device oriented the wrong way?",success:"Upgrade successful! Continuing in {{rebootSeconds}} seconds...",success_install:"Installation successful! Continuing in {{rebootSeconds}} seconds..."},uP={error:{e10000:"Current device password incorrect.",e10001:"Failed to replace device password",e102:"The password must consist of at least 4 characters.",e112:"Hidden device password cannot be the same as the main device password."}},dP={confirmDate:"Confirm today's date on your BitBox02",confirmDateText:"This date will be used to create your backup.",confirmName:"Confirm name on BitBox02",confirmWords:"Write down the {{amount}} recovery words from your BitBox02",confirmWordsText:"After that the BitBox02 asks you to confirm each word to verify that the backup is correct.",followInstructions:"Please follow the instructions on your BitBox02.",followInstructionsMnemonic:"Follow the instructions on your BitBox02 to enter the recovery words from your backup and restore your wallet.",followInstructionsMnemonicTitle:"Restore from recovery words"},pP={deviceName:{current:"Current device name",error:"Device name could not be set",error_104:"Confirming device name was aborted on device.",input:"BitBox02 name",placeholder:"New device name",title:"Set BitBox02 name"},gotoStartupSettings:{description:"This will reboot your BitBox02 and enter the startup settings.",title:"Go to startup settings"}},hP={advanced:{button:"Advanced options",outOfDate:"Firmware out of date for this feature",seed12WordInfo:"Please note that the number of words cannot be changed after creating the wallet.",seed12WordLabel:"Create 12-word instead of 24-word seed",seed12WordText:"By default the BitBox02 uses a 24-word seed. Both seed lengths are secure against brute forcing in practice. Some users may prefer the convenience of the 12-word seed instead.",skipSDCardLabel:"Skip microSD card backup and write down recovery words instead",skipSDCardText:"You always have the option to create a microSD card backup or write your recovery words after setup. This can be done from settings.",title:"Advanced backup options"},attestationFailed:"Genuine check failed, which could be due to restarting the app while the device was waiting for user input. Please reconnect and try again. Please contact support@bitbox.swiss if this persists.",backup:{point1:"Select a backup on the microSD card",point2:"Set a password for your device",restoreText:"Ok, let's restore a backup!",text1:"Great, your BitBox02 password is now set and wallet created. Now it's time to create your first backup. Please make sure your microSD card is inserted into your BitBox02 and continue.",text2:"Please follow the on-screen instruction on your device to create a backup.",text3:"After your backup is created, please remove the microSD card and store it in a secure location. The contents of the microSD card is not password-protected. Never insert it into any other device but your BitBox02.",userConfirmation1:"I should store my backup in a secure location.",userConfirmation2:"My backup is not password protected. Anyone with access to it can access my wallet.",userConfirmation3:"If I lose or damage my BitBox02, the only way to recover my funds is to restore from my backup.",userConfirmation4:"If I lose or damage both my backup and my BitBox02 then my funds will be lost.",userConfirmation5:"I should not insert my microSD card backup into a computer, phone, printer or any device other than a BitBox02.",userConfirmation5mnemonic:"I should not put my recovery words in a computer, phone, printer or any device other than a BitBox02."},create:{button:"Name device & continue",info:"Here are the basics steps you will be taking to set up your BitBox: ",inputTitle:"Wallet name",point1:"Name your device",point2:"Set a password for your device",point3:"Create a backup",text:"Ok, let's create a new wallet!"},createBackupAborted:"Creating backup aborted.",createBackupFailed:"Creating backup failed, try again.",initialize:{passwordText:"Now let's set a password for your device. Use the controls on your BitBox to enter and choose a password.",passwordTitle:"Set a password for your BitBox",text:"Successfully paired your BitBox02! Now let's initialize your device. Get started by choosing to create a new wallet, or to restore a wallet from an existing backup. Please make sure you have a microSD card inserted in your BitBox02",tip:"We recommend that you proceed in a secure location.",title:"Initialize your BitBox"},insertSDCard:"Please make sure you have a microSD card inserted in your BitBox02.",noPasswordMatch:"Passwords did not match, please try again.",pairing:{failed:"Unconfirmed pairing. Please replug your BitBox02.",paired:"You have confirmed the following code on your device. Please continue.",title:"Verify pairing code",unpaired:"An unpaired BitBox02 has been detected. Please verify the pairing code matches what is shown on your BitBox02."},restoreFromMnemonic:{e104:"Restoring from recovery words was canceled.",failed:"Restoring from recovery words failed, please try again."},stepBackup:{beforeProceed:"Before proceeding, please read these important security considerations:",createBackup:"You will now create a backup on your microSD card.",createBackupMnemonic:"You will now write down the recovery words."},stepBackupSuccess:{fundsSafe:"To keep your funds safe, please remember the following:",title:"Backup Restored!"},stepConnected:{unlock:"Enter BitBox02 password to unlock."},stepCreate:{description:"This name is used as the device name and for the backup.",nameLabel:"BitBox02 name",namePlaceholder:"My BitBox02",title:"Choose BitBox02 name",toastMicroSD:"Please insert your microSD card into your BitBox02 which will be used to store a backup of the wallet."},stepCreateSuccess:{removeMicroSD:"Please remove the microSD card from your BitBox02 and store it in a secure location.",storeMnemonic:"Please store your recovery words in a secure location",success:"You’ve successfully created your backup."},stepInsertSD:{insertSDCard:"Please insert a microSD card into your BitBox02 to continue.",insertSDcardTitle:"Insert microSD card"},stepPassword:{e104:"Setting password was canceled.",title:"Set BitBox02 password",useControls:"Use the controls on your BitBox02 to set a password."},stepUninitialized:{create:"I want to setup a new BitBox02.",restore:"I want to restore my wallet from a backup.",restoreMicroSD:"Restore from microSD card",restoreMnemonic:"Restore from recovery words",title:"Setup your BitBox02"},success:{text:`Hooray! Your BitBox02 is now ready to use. + +For further information on how to use the BitBoxApp, please use the in-app guide by clicking the question mark on the top right corner.`,title:"You're ready to go!"}},mP={button:"Blink"},fP={button:"Upgrade firmware now",button_install:"Install firmware now",progress:"Upgrading: {{progress}}%",progress_install:"Installing: {{progress}}%",success:"Upgrade successful! Please replug the device. This time, do not touch the button."},gP={abort:"Abort",back:"Back",buy:"Buy",changepin:"Change device password",check:"Check backup",continue:"Continue",copy:"Copy",create:"Create",dismiss:"Dismiss",done:"Done",download:"Download",hiddenwallet:"Create hidden wallet",next:"Next",ok:"OK",previous:"Previous",receive:"Receive",restore:"Restore",select:"Select",send:"Send",unlock:"Unlock",update:"Update",upgrade:"Upgrade"},vP={exchange:{bankTransfer:"Bank transfer",bestDeal:"Best deal",creditCard:"Credit card",fast:"Fast",fee:"fee",infoContent:{moonpay:{fees:{bankTransfer:"Bank Transfer: {{fee}}%",creditDebitCard:"Credit/debit card: {{fee}}%",learnMore:"Learn more about Moonpay",title:"Fees"},fullCurrenciesList:"See full list of currencies here",payment:{asteriskText:"* Not available for US residents",bankTransfer:"Bank transfer*",bankTransferDetails:{pix:"PIX (BR transactions in Brazil only)",sepa:"SEPA and SEPA Instant (EUR transactions in SEPA countries only)",uk:"UK Faster Payments (GBP transactions in the UK only)"},creditDebitCard:"Credit/debit Card",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa and Maestro"},learnMore:"See more details about payment methods",title:"Payment methods"},supportedCurrencies:"Supports all major fiat currencies: USD, EUR, CHF, and more."},pocket:{fees:{info:"Bank transfer: {{fee}}%",title:"Fees"},learnMore:"Learn more about Pocket",payment:{bankTransfer:"Bank transfer",bankTransferDetails:{sepa:"SEPA and SEPA Instant (EUR transactions in SEPA countries only)",sic:"Swiss Interbank Clearing (CHF transactions in CH/LI only)",uk:"UK Faster Payments (GBP transactions in the UK only)"},bankTransferReccuring:"How to set up recurring purchases with a standing order?",title:"Payment methods"},supportedCurrencies:"Supports European currencies: EUR, GBP, and CHF.",verification:{info:"Only requires identity verification above daily and annual thresholds.",link:"Find current thresholds here",title:"Identity verification"}},region:{title:"Select the region your bank account is registered in to see which options are available to you."}},noExchanges:"Sorry, there are no available exchanges in this region.",region:"Region",selectRegion:"Not specified",title:"Buy {{name}}"},info:{continue:"Agree and continue",crypto:"crypto",disclaimer:{intro:["We partner with MoonPay to offer you a seamless way to buy {{name}} directly within the BitBoxApp. It's just a few clicks.","MoonPay is a platform that makes it easy and quick to buy {{name}} in over 160+ countries."],payment:{details:"You can buy {{name}} instantly via MoonPay with the following payment methods. Credit or debit card orders are instant and convenient, but more expensive due to increased chargeback risk. We recommend using the bank transfer option for larger amounts. The minimum fee is 4 USD/EUR or equivalent.",footnote:"Please note that MoonPay's exchange rates can differ from the ones used in the BitBoxApp, resulting in slightly different amounts.",table:{"1_description":"Lowest fees, can take up to 3 working days","1_method":"Bank transfers (SEPA)","2_description":"Higher fees but quick and instant","2_method":"Credit & debit cards",description:"Description",fee:"Fee",method:"Method"},title:"Payment methods and fees"},privacyPolicy:"MoonPay privacy policy",protection:{description:"The BitBoxApp does not collect any data when buying {{name}}, the incoming funds are treated like a regular transaction. MoonPay needs to collect some personal data to operate. Their Privacy Policy explains in detail how that data is handled.",descriptionGeneric:"The BitBoxApp does not collect any data when buying {{name}}, the incoming funds are treated like a regular transaction. However partner exchanges need to collect some information to operate. Please refer to their respective privacy policies to see in more detail how the data is handled.",title:"Data protection"},security:{description:"When you buy {{name}} via MoonPay, you are using an external service. This service is out of scope of the BitBox02 security threat model and relies on the safety and security of the environment which the BitBoxApp software is running in.",descriptionGeneric:"When you buy {{name}} via a partner exchange, you are using an external service. This service is out of scope of the BitBox02 security threat model and relies on the safety and security of the environment which the BitBoxApp software is running in.",link:"Security threat model",title:"Security model"},title:"Welcome to your one stop shop for buying {{name}}"},next:"Next",selectLabel:"Choose your account",selectPlaceholder:"Select a coin",skip:"Do not show again",title:"Buy {{name}}"},pocket:{data:{link:"Pocket privacy policy",p1:"The BitBoxApp does not collect any data when buying bitcoin, the incoming funds are treated like a regular transaction. Pocket needs to collect some personal data to operate. Their Privacy Policy explains in detail how that data is handled.",title:"Data protection"},kyc:{link:"Read Pocket FAQs",p1:"Pocket tries to keep KYC to a minimum. For purchases under 950 EUR (1000 CHF) a day, no additional documents are required. For purchases over this amount, you will need to schedule a call with Pocket to complete the necessary KYC/AML process.",title:"KYC/AML"},payment:{p1:"You can buy bitcoin instantly with Pocket via SEPA bank transfer. The fee is 1.5% and the bitcoin is deposited to your BitBox as soon as possible after Pocket receives the bank transfer (usually within the same day).",p2:"Please note that Pocket’s exchange rates can differ from the ones used in the BitBoxApp, resulting in slightly different amounts.",title:"Payment methods and fees"},previousTransactions:"The transaction history of this account is not empty. Sharing this account will make all its past and future transactions visible for Pocket. Proceed anyway?",security:{link:"BitBox02 security threat model",p1:"When you buy bitcoin via Pocket, you are using an external service. This service is out of scope of the BitBox02 Security Threat model and relies on the safety and security of the environment which the BitBoxApp software is running in. However we work together to improve security by using a two factor authentication mechanism to verify the address you are receiving to.",title:"Security model"},usedAddress:"The address {{address}} has been already used, please start again with a new address.",verifyBitBox02:"Please verify that the address you received via email matches the one displayed on your Bitbox. If possible, you should open the email on a second device for better security.",welcome:{p1:"We partner with Pocket to offer you a seamless way to buy bitcoin directly within the BitBoxApp. It's just a few clicks.",p2:"Pocket is a Swiss platform that makes it quick and easy to buy bitcoin in most of Europe (anywhere where SEPA bank transfers are supported).",p3:"With Pocket, you can also do regular buys through standing bank orders, so you can DCA (dollar-cost averaging) with ease.",title:"Welcome to your one stop shop for buying bitcoin"}},title:"Buy {{name}}"},bP={newTitle:"New device password",oldLabel:"Current device password"},kP={dataMissing:"Gathering historical data... stay tuned.",dataOldTimestamp:"Historical exchange rates updating. The chart is not displaying data after {{time}}.",dataUpdating:"updating data…",filter:{all:"All",month:"Month",week:"Week",year:"Year"}},xP="checking microSD card",yP="Click here.",wP={abortInfo:"Tap to ",abortInfoRedText:"abort",approveInfo:"Hold 4+ secs to ",approveInfoGreenText:"confirm",info:"Continue on your BitBox. ",infoWhenPaired:"First on the paired mobile and then your BitBox"},jP="Please confirm on your device.",BP={promptNoName:"Please connect your BitBox02 to continue",promptWithName:'Please connect your BitBox02 named "{{name}}" to continue'},SP={toggle:"Dark mode"},zP={appUpradeRequired:"Your BitBox is not compatible with this desktop application. Please download and install the latest version.",keystoreConnected:"Connected wallet"},CP={button:"Enable two factor authorization (2FA)",condition1:"Do you have a backup?",condition2:"Is mobile app verification working?",condition3:"2FA DISABLES backups and mobile app pairing. The device must be RESET to exit 2FA!",confirm:"Enable two factor authorization (2FA)",title:"Enable two factor authorization (2FA)"},DP={backups:{manageBackups:{description:"Create or verify your microSD card backup."},showRecoveryWords:{description:"Show and verify recovery words."},title:"Backups"},deviceInformation:{attestation:{description:"The BitBoxApp checks if your device is authentic."},deviceName:{description:"Change the name of your device."},rootFingerprint:{description:"The root fingerprint is a unique identifier for the wallet currently in use. It can help you distinguish between different wallets if you use passphrases."},securechip:{description:"The model of the secure chip."},title:"Device information"},expert:{factoryReset:{description:"Reset your device to factory settings. This deletes the wallet from your BitBox02!",title:"Factory reset"},goToStartupSettings:{description:"Enter the bootloader of the BitBox02. You can enable the firmware hash from here."},passphrase:{description:"Enable or disable the passphrase feature.",title:"Passphrase"}},firmware:{firmwareVersion:"Firmware Version",newVersion:{label:"Available version"},title:"Firmware",upToDate:"Your device is up to date",upgradeAvailable:"New upgrade available",version:{label:"Version"}},hardware:{attestation:{false:"Authenticity check failed",label:"Authenticity check",true:"Your BitBox02 is authentic"},sdcard:{false:"Not inserted",label:"microSD card",true:"Inserted"},securechip:"Secure chip",title:"Hardware"},loading:"Retrieving device info…",pairing:{lock:{false:"Disabled",label:"Two factor authorization (2FA)",true:"Enabled"},mobile:{false:"Closed",label:"Mobile app",true:"Open"},status:{false:"Not paired",label:"Status",true:"Paired"},title:"Pairing"},secrets:{manageBackups:"Manage backups",title:"Secrets"}},AP="Has your BitBox been supplied with a recovery password? If so, stop the setup process and contact support immediately. Shift will never give you a ready made wallet or make password recommendations.",_P={cancel:"Cancel",confirm:"Confirm",confirmTitle:"Confirmation"},TP={accountAlreadyExists:"The account already exists.",accountLimitReached:"Cannot add account. The maximum number of accounts for this coin has been reached.",aoppCallback:"There was an error delivering the address to {{host}}.",aoppInvalidRequest:"Invalid request.",aoppNoAccounts:"There are no available accounts.",aoppSigningAborted:"Address ownership request cancelled.",aoppUnknown:"An unknown error occurred.",aoppUnsupportedAsset:"The asset is not supported.",aoppUnsupportedFormat:"There are no available accounts that support the requested address format.",aoppUnsupportedKeystore:"The connected device cannot sign messages for this asset.",aoppVersion:"Unknown version.",wrongKeystore:"Wrong wallet connected. Please make sure to insert the correct device matching this account.",wrongKeystore2:" If you are using the optional passphrase, make sure you have entered the correct passphrase for the account."},EP={default:"default",setDefault:"Set {{code}} as default",title:"Currencies"},PP={appVersion:"App version:"},NP={enabled_false:"Disabled",enabled_true:"Enabled"},LP="An error occurred. If you notice any issues, please restart the application.",IP={buttons:{create:"Create a new wallet",restore:"Restore a wallet from a backup"},paragraph:"Please select one of the following options:",step:{1:{title:"Security information"},2:{description:"Set a device password",title:"Device"},"3-create":{description:"Create a new wallet",title:"Wallet"},"3-restore":{description:"from a backup",title:"Restore"},"4-create":{title:"Summary"},"4-restore":{title:"Summary"}}},$P={accountDescription:{text:"Your account overview shows your available balance as well as incoming and outgoing transactions. Our guide in ‘Settings’ has more information about each account type. ",title:"What does this page show me?"},accountFiat:{text:"Yes. Click on any ticker to rotate through fiat currencies. You can change the list of currencies in the settings.",title:"Can I display other conversion rates?"},accountIncomingBalance:{text:"Incoming sums up the amounts transferred to you but not yet confirmed by the network.",title:"What does incoming mean?"},accountInfo:{multipleXPubs:{text:`Each xpub is tied to the "Type" shown: either "Native Segwit (bech32)", "Wrapped Segwit" or “Taproot” (Bitcoin only). These are script types used by {{coinName}}. The BitBoxApp combines them, supporting multiple script types in the same account. Because each script type gives a different xpub, there are multiple xpubs per account. + +If you consistently receive on the default address (Native Segwit), you only need the "bech32" xpub. However, if you also receive funds to "Wrapped Segwit" or “Taproot”, you also need to use the "Wrapped Segwit" and “Taproot” extended public keys respectively.`,title:"Why are there multiple xpubs?"},privacy:{text:`For this specific account, the extended public key reveals the entire financial history, your account balance, and all future transactions. But the xpub does not allow anyone to spend your coins. + +If you give an xpub to someone, you should be aware that this person or company can see all other transactions of the same account. Therefore, it’s a good idea to use that account only for this purpose and keep other funds in different accounts.`,title:"Do I need to keep my xpub secret?"},verify:{text:"Yes, it’s always a good idea to double-check your xpub. If someone else will generate receive addresses from this xpub to send you money, this is especially important. You need to verify it on the device to ensure that this xpub belongs to you; otherwise, all funds could go to the wrong addresses.",title:"Do I need to verify the xpub on the device?"},xpub:{text:`An extended public key (xpub) is a root key from which all receiving addresses of an account are derived. + +It is provided here for advanced use and interoperability with watch-only wallets, such as Electrum or Sentinel. If you received to different address types, please import all the different xpub formats into the watch-only wallet in order to see all your coins. + +Please note, third party wallets may not support Taproot xpubs yet.`,title:"What is an extended public key?"}},accountRates:{text:"We update exchange rates every minute from CoinGecko.",title:"Which exchange rates apply?"},accountReload:{text:"There’s no need. Your transaction information is updated automatically.",title:"Can I reload the transaction history?"},accountSendDisabled:{text:"The ‘Send’ button is activated when your balance is more than zero.",title:"Why can't I send any {{unit}}?"},accountSummaryAmount:{text:`The total amount is the sum of all your crypto accounts. Exchange rates are obtained from coingecko.com. + +Note: If you use MyEtherWallet for tokens not supported in the BitBoxApp, they will not be included in the amount displayed.`,title:"How is the total amount calculated?"},accountSummaryDescription:{text:"Here you can see the performance of your portfolio over time. A summary of your individual crypto accounts is displayed under the chart.",title:"What does this page show me?"},accountTransactionAttributesBTC:{text:`Virtual size: Determines the network fee. You successfully saved on fees if it is smaller than the transaction size. +Size: Actual transaction size in bytes when serialized according to the underlying blockchain. +Weight: A new metric introduced with Segwit to evaluate transaction and block sizes. Each segregated witness byte counts as one, everything else as four weight units. Instead of one megabyte in actual size, the block size limit is now four million weight units.`,title:"What about the Bitcoin-specific transaction details?"},accountTransactionAttributesGeneric:{text:`Confirmations: Your first transaction broadcast is unconfirmed until a miner includes it in a block, after which it has one confirmation. Each block broadcast on the network adds another confirmation to your transaction. Generally merchants and other network actors will only settle transactions with between three to six confirmations. +Transaction ID: A unique identification number that allows you to look up a transaction in a block explorer. +Fee: Miners are paid a transaction fee as an incentive to include transactions in the blocks they mine. To learn more, click on the send button.`,title:"What’s the information in the transaction details?"},accountTransactionConfirmation:{text:"A transaction broadcast to the network but not yet confirmed.",title:"What is a pending transaction?"},accountTransactionLabel:{text:"It’s the address you received coins from or sent coins to.",title:"Which address is displayed for each transaction?"},accountTransactionTime:{text:"The blockchain transaction confirmation time.",title:"What time is displayed?"},accounts:{howManyAccounts:{text:`Bitcoin and Litecoin can have an arbitrary amount of accounts. After five accounts, you can only add another account if the previous account has been used. +Other coins can have a maximum of five accounts.`,title:"How many accounts can I create?"},howtoAddTokens:{text:'Tokens using the ERC20 standard are tied to a specific Ethereum account. To enable or disable a particular token, open the "Manage accounts" screen, expand your Ethereum account and switch the desired token on or off.',title:"How can I add additional tokens?"},moveFunds:{text:"Yes. But because accounts are independent, you need to send your funds using a regular transaction.",title:"Can I move funds between accounts?"},recoverAccounts:{text:"Yes. The BitBoxApp creates accounts using well-established standards compatible with most other crypto wallets.",title:"Can I recover my accounts with other wallets?"},whatAreAccounts:{text:"Your wallet can manage multiple accounts of the same coin. Accounts are helpful when you want to keep funds separate.",title:"What are accounts?"},whatIsRememberWallet:{text:`Enabling “Remember wallet” lets you see the accounts for this wallet in the BitBoxApp even when the BitBox02 is not plugged in. This allows you to check your balance and portfolio whenever you want. The BitBox02 still needs to be plugged in and unlocked to send or receive coins. + +Disabling “Remember wallet” requires you to plug in the respective BitBox02 (or passphrase wallet) to see those accounts in the BitBoxApp.`,title:"What happens when I enable/disable “Remember wallet”?"},whyIsThisUseful:{text:'Accounts are great for managing funds for different people or purposes because they are separated. You can also share the "extended public key" of an account without revealing anything about your other accounts. This allows you to repeatedly receive funds without reusing addresses, such as receiving your wage or regularly buying crypto.',title:"Why is this useful?"}},appendix:{link:"Contact us!",text:"Another question?"},backups:{check:{text:"'Check backup' allows you to verify that you have a working backup corresponding to your current wallet. It can also be used to verify that you still have the correct recovery password. You can check your main recovery password or your hidden recovery password.",title:"What is 'Check backup'?"},encrypt:{text:"No but your recovery password is required to derive the wallet from the stored seed.",title:"Can I encrypt the backup?"},howOften:{text:`The backup is automatically generated when a new wallet is created. You only have to make a new backup if your microSD card is lost or damaged, or if you want to use multiple microSD cards as backups. +You do not need to create new backups after transaction activity. All your transaction data can be recreated by your single backup that was automatically generated for you.`,title:"How often do I have to make a backup?"},whatIsABackup:{text:"It is a copy of the seed on an microSD card. The seed together with your recovery password generates your wallet.",title:"What is a backup?"}},backupsBB02:{check:{text:"'Check backup' allows you to verify that you have a working backup corresponding to your current wallet.",title:"What is 'Check backup'?"},encrypt:{text:'No. Please keep the microSD card safe, as it contains the unencrypted seed to recover your wallet. If you wish to password-protect your seed, you can enable an optional passphrase in the expert settings under "Manage device".',title:"Can I encrypt the backup?"},whatIsABackup:{text:"It is a copy of the seed on an microSD card.",title:"What is a backup?"}},bitbox:{"2FA":{text:`When 2FA is enabled, all transactions have to be approved on the paired mobile phone in order to spend coins. Under the hood, an encrypted single-use number is sent to the mobile app, decrypted there, and returned to the BitBox when pressing the Accept button. This communication with the device is done via the channel between the mobile phone and this desktop app established during pairing. + +Be sure to backup your wallet and pair the mobile app before enabling 2FA. Once enabled, the micro SD slot and mobile app pairing are disabled. They can be re-enabled by resetting the BitBox, which erases the device.`,title:"How does Two factor authorization (2FA) work?"},disable2FA:{text:"In order to disable 2FA, you need to reset your BitBox and then restore the wallet from its backup. Make sure that you still have the microSD card with the backup and that you still remember the recovery password. Then press 'Reset device'. Set a new device password and choose 'Or restore a backup'. Select the backup you have made from the wallet, click 'Restore' and enter the recovery password you used when creating the wallet.",title:"How can I disable two factor authorization (2FA)?"},ejectBitbox:{text:"You can unplug the BitBox at any time without having to eject it first.",title:"How can I eject the BitBox?"},ejectSD:{text:"You can remove the microSD card from the BitBox at any time as long as you are not in the process of creating or restoring a backup.",title:"How can I eject the microSD card?"},hiddenWallet:{text:"It is a second wallet on the same device protected by a different device password and recovery password, which you can use for plausible deniability. The same backup seed is used for both your normal and hidden wallet, so no additional backup is required.",title:"What is a hidden wallet?"},legacyHiddenWallet:{text:"First click the button below (available if the BitBox is unlocked with the main device password and 2FA is disabled), then replug your Bitbox and unlock it with your hidden device password.",title:"How do I access the legacy hidden wallet?"},pairing:{text:"After having downloaded our mobile app for either iOS or Android, you scan the displayed QR code, which sets up a secure channel between the mobile app and this application. Once scanned, follow the instructions in the mobile app.",title:"How to securely pair with your phone"}},cointracking:{text:'Click the "Export" button and open the downloads folder where you will find the CSV export. Then click the link below, upload your BitBox CSV file and import the data in order to use it for your CoinTracking portfolio manager and to create your tax reports.',title:"How to import my transactions into CoinTracking?"},device:{attestation:{link:{text:"Read more about the authenticity check"},text:"The BitBoxApp performs an attestation check on the BitBox02 to verify if the device is genuine. The check is done locally and does not connect to any servers.",title:"How does the authenticity check work?"},name:{text:"This is the name of your wallet and backup. The name is used for future backups and can be used to help distinguish between different wallets. It can be changed at any time but note that backups made before the change will still use the previous name.",title:"What is the BitBox02 name used for?"},"secure-chip":{link:{text:"Read more about the secure chip"},text:"This information shows the model number of the secure chip, the most up to date chip is ATECC608B with improved security features compared to older models.",title:"Why show the secure chip model?"}},receive:{address:{text:"You can give the address to others to send you some coins. Just make sure they are sending to the correct address.",title:"What do I do with an address?"},addressChange:{text:"As soon as you transact, a new address is automatically added to the list so there are always 20 addresses available which have never received any coins.",title:"When do the addresses change?"},addressFormats:{text:"By default, the address type is Native Segwit. This address type is widely adopted by other wallets/exchanges and gives you the best fee rates for everyday transactions. However, you may also choose to send to Taproot (Bitcoin only), which is the newest address type, but may not be widely supported yet. Alternatively, if you are having issues sending to Native Segwit (the default type), you can try switching to the older Wrapped Segwit address type that may be compatible with more wallets/exchanges.",title:"When do I use “Change address type”?"},howVerify:{text:`For the BitBox01, click on the BitBox icon in the sidebar on the left and see the Pairing section. The guide will update and you can continue following the instructions from there. +For the BitBox02, you can verify addresses directly on the device during the send/receive process.`,title:"How can I verify an address securely?"},plugout:{text:"No, once you sent coins to your BitBox address, you do not need to leave your BitBox plugged in. You are free to disconnect your BitBox.",title:"Do I need to leave my BitBox plugged in while receiving?"},why20:{text:'During start-up the app generates addresses derived from your seed to see if they have received funds. As the app can generate an almost infinite number of addresses, it could spend years determining the balance. To limit this search it stops after it sees 20 addresses that have never received funds. This is the "gap limit" and 20 is a de-facto standard though the number is arbitrary. These are the 20 addresses you can choose from.',title:"Why only 20 addresses?"},whyMany:{text:"To maintain privacy and security, never hand out the same address twice. If you have used an address, click on on the right arrow for a new address. You can generate up to 20 addresses at a time. Think of addresses like invoice numbers. All addresses are derived from your single backup seed.",title:"Why so many addresses?"},whyVerify:{text:"You shouldn’t trust your computer to generate and display authentic addresses. It’s big attack surface makes it significantly more vulnerable than a hardware wallet. For the BitBox01, The button to verify the address securely sends the address to a paired mobile phone, from which you can also scan and verify the QR code. For the BitBox02, the address can be verified directly on the BitBox02 display.",title:"Why should I verify the address securely?"}},send:{change:{text:"The change will be returned to a Taproot address if you have at least one Taproot UTXO. If you use coin control, the change will be returned to a Taproot address if there is at least one Taproot UTXO among the selected UTXOs. In all other cases, the change is returned to a Native Segwit address.",title:"How is the change output determined?"},fee:{text:`The fee is based on the transaction data size and not its amount. The fee targets are calculated by Bitcoin Core's fee estimation algorithm for each network priority you chose. They are shown if they have a different value from the target below. +Economy: 24 blocks (around 4 hours for Bitcoin, 1 hour for Litecoin) +Low: 12 blocks (around 2 hours for Bitcoin, 30 minutes for Litecoin) +Normal: 6 blocks (around 1 hour for Bitcoin, 15 minutes for Litecoin) +High: 2 blocks (around 20 minutes for Bitcoin, 5 minutes for Litecoin) +(A block takes on average ten minutes for Bitcoin (2.5 minutes in Litecoin) to mine and the network load may vary considerably in the above periods.)`,title:"How is the fee determined?"},plugout:{text:"No, once you have made a transaction, you do not need to leave your BitBox plugged in. You are free to disconnect your BitBox.",title:"Do I need to leave my BitBox plugged in while sending?"},priority:{text:"The higher fee you are willing to pay, the faster your transaction is typically confirmed by the network.",title:"What is the network priority?"},revert:{text:`Once a transaction is signed and sent (i.e. broadcasted to the network), it can no longer be reverted. Verify the transactions (including the fee) properly before signing! +If you know the recipient and he or she is willing to send the same amount (minus the transaction fees) back to you, you can send them a new receiving address.`,title:"Can I revert a transaction?"},whyFee:{text:`Transactions are competing to be confirmed by a miner. Miners choose transactions to be included in the blockchain based on their fee. +Miners vote on the history of transactions. Since there is no trusted third party to enforce one vote per person (which is the whole point of blockchains), miners vote on transactions by sacrificing a costly resource like computing power. As a reward for their work, they can claim newly created coins and the fee of all the transactions they included.`,title:"Why is there a network fee?"}},"settings-electrum":{connection:{text:`If you intend to only connect to your node when you are on the same network (e.g. your home wifi), then using regular network communication is sufficient. +In this case it is advisable that your Electrum server provides a TLS certificate to encrypt the communication. +If you intend to connect to your node from anywhere, using Tor is the better option. No TLS certificate is necessary in that case.`,title:"Should I use clearnet TCP, TLS or Tor?"},instructions:{link:{text:"Guide to connect your node"},text:"For a full tutorial, please visit our guide:",title:"How do I connect my BitBoxApp to my own full node?"},options:{text:`There are multiple options to run your own node such as buying a finished device, building your own or running Bitcoin Core. +If you want to connect your BitBoxApp to your node, make sure that it runs an Electrum server. This is a dedicated program that allows a wallet app to communicate with your full node. +Supported options include Electrs, Electrum Personal Server (EPS) or Bitcoin Wallet Tracker (BTW).`,title:"What options are there to run a node?"},tor:{text:`Tor stands for 'The Onion Router', which is a free and open source software that offers a lot of privacy benefits and is especially useful when using Bitcoin. +If you intend to connect to your node via Tor, make sure that Tor is installed on your computer and then enable the Tor Proxy in the BitBoxApp settings. +On most operating systems there are two ways to run Tor: +1. Tor Browser: download and open the Tor Browser. This will allow the BitBoxApp to connect to the Tor network by setting port 9150 in the Tor proxy settings. +2. Tor background service: install the Tor daemon, which always runs in the background. The BitBoxApp can then connect by setting port 9050 in the Tor proxy settings.`,title:"What is Tor, Tor proxy and which port should I use?"},what:{text:"It is possible to power your wallet with your own full nodes instead of using Shift servers.",title:"What is this?"},why:{text:`Running your own node is not necessary but improves privacy and reduces the need to trust others. +Firstly, it means that you are using Bitcoin more privately as the BitBoxApp won't connect to our servers to fetch your transaction history; instead it will fetch that information from your own node. +Secondly, running your own node means that your node verifies all transactions itself, making sure that the consensus rules are enforced.`,title:"Why should I run my own node?"}},settings:{sats:{text:"A Satoshi ('sat' for short) is the smallest unit of Bitcoin. One Satoshi is a hundred millionth of a bitcoin (0.00000001 BTC). It is named after the creator of Bitcoin, Satoshi Nakamoto.",title:"What is a Satoshi?"},servers:{text:`This app communicates with the Shift Crypto servers to check for updates, load transactions, and send information to paired mobile apps. +The app also retrieves the latest exchange rates from CoinGecko. All conversions are calculated locally which means no data about the amount of your transaction is ever transmitted. +Note: For Ethereum and ERC20 Tokens, we use Etherscan.io APIs.`,title:"Which servers does this app talk to?"}},title:"Guide",toggle:{close:"Close guide",open:"Guide"},trackingModePortfolioChart:{text:"On desktop, hover the cursor over the chart. On mobile, hold your finger on the chart and drag horizontally.",title:"How to see historical values on the chart?"},unlock:{forgotDevicePassword:{text:"You have to reset the device and restore the wallet from a backup, using the recovery password.",title:"What do I do if I forgot the device password?"},reset:{text:"Enter a wrong device password 15 times. The last few attempts require a long touch on the device.",title:"How do I reset the device?"}},waiting:{deviceNotRecognized:{text:`The device should blink once when inserted. Make sure that it is inserted the right way around. If you are having trouble, please contact us through the link below. + +The BitBox01 is not supported on mobile. Please use the BitBoxApp on desktop to connect your BitBox01.`,title:"My BitBox01 is not recognized"},getDevice:{link:{text:"Order a BitBox"},text:"You can buy a BitBox in our online shop:",title:"How can I get a device?"},internet:{text:"Yes, an internet connection is required to synchronize the wallet, send transactions and retrieve the latest exchange rates.",title:"Does this app require an internet connection?"},lostDevice:{link:{text:"Backup center"},text:"You can recover your accounts on a new BitBox or with our backup center.",title:"I lost my device. Now what?"},useWithoutDevice:{text:"Unfortunately, this is not yet possible at the moment.",title:"Can I use the app without a device?"},welcome:{text:"Thanks for using this app built by Shift Crypto in Switzerland. We appreciate any input you have to share. Please give feedback using the link at the bottom.",title:"Welcome to the BitBoxApp!"}},walletConnect:{noPreviousConnections:{text:"If you are using a new phone/computer with the BitBoxApp, then you will need to connect to the DApps again. You will then see your coins on the dapp again like usual.",title:"I don't see my previous connections."},supportedNetworks:{text:"Currently, only Ethereum mainnet is supported using WalletConnect in the BitBoxApp. To use other EVM compatible chains please use the Rabby browser extension wallet.",title:"What networks are supported?"},whatIsWalletConnect:{text:"WalletConnect is a communication protocol for web3 applications. It allows you to conveniently connect to Ethereum based DApps and web wallets without using a third party app, which is particularly useful for Android users of the BitBoxApp.",title:"What is WalletConnect?"}}},MP={blocksSynced:"{{blocks}} blocks synced"},OP={info1HTML:"For plausible deniability purposes, a hidden wallet can be created based on a different device password + recovery password combination.",info2HTML:"Define the device password and recovery password you want to associate with your hidden wallet below. The device password and recovery password must be different from the ones you defined for your primary wallet.",passwordLabel:"Hidden recovery password",passwordPlaceholder:"Please confirm hidden recovery password",pinLabel:"Hidden device password",pinRepeatLabel:"Repeat hidden device password",pinRepeatPlaceholder:"Please confirm hidden device password",success:"Hidden wallet created successfully. Replug your BitBox to unlock it."},RP={create:"Set device password",creating:"Setting device password…",error:{e102:"The device password must consist of at least 4 characters."},info:{description1:"Choose your device password. This will be used to unlock your BitBox.",description2:"You can use numbers, letters & symbols. Longer passwords offer higher security.",description3:"If you lose the device password you will have to reset your device and restore your wallet backup.",subtitle:"Now you will set your device password",title:"Initializing your device"},input:{label:"Device password",labelRepeat:"Repeat device password",placeholderRepeat:"Please confirm device password"}},FP="Invalid format",VP={title:"Select language"},WP={disable:"Disable legacy hidden wallet",enable:"Enable legacy hidden wallet",successDisable:"Successfully disabled the legacy hidden wallet.",successEnable:"Successfully enabled the legacy hidden wallet. Replug your BitBox and enter the hidden device password to access the legacy hidden wallet."},UP="loading…",qP={accountHidden:"This account has been hidden from your watch-only accounts. To see it again, please plug in your BitBox02.",editAccount:"Edit",editAccountNameTitle:"Edit account name",noAccounts:"no accounts found",settings:{hideTokens:"Hide tokens",showTokens:"Show tokens ({{activeTokenCount}})"},settingsButtonDescription:"Add and show/hide accounts",title:"Manage accounts",watchAccount:"Watch account",watchAccountDescription:"This account is part of your watch-only accounts. You can hide it from your watch-only accounts using the toggle."},HP={usingMobileDataWarning:"Mobile data usage: this app may download up to a few hundred megabytes of blockchain header data after unlocking an account. Please connect to Wi-Fi to avoid using mobile data. After dismissing it, this message won't be shown again."},KP={about:{appVersion:{title:"App version"}},advancedSettings:{authentication:{description:"Lock access to the app with screen lock/fingerprint.",title:"Screen lock"},coinControl:{description:"Select which UTXOs are part of a transaction to help improve privacy."},customFees:{description:"Lets you enter your own fee when sending."},torProxy:{description:"Connect over Tor for better privacy."}},appearance:{activeCurrencies:{description:"These additional currencies can be toggled through on your account page.",title:"Active currencies"},darkmode:{description:"See the BitBoxApp in dark mode."},defaultCurrency:{description:"Select your default currency",title:"Default currency"},enableAccount:{description:"Disabling your account means it will not appear in the sidebar or the portfolio. You can always enable it again from here. Coins on this account will not be affected and will remain safe.",title:"Enable/disable account"},hideAmounts:{description:"Displays a toggle to hide your balance and amounts to improve your privacy when using the app in public.",hideAmounts:"Hide amounts",showAmounts:"Show amounts",title:"Allow hiding amounts"},language:{description:"Which language you want the BitBoxApp to use.",title:"Language"},remebmerWallet:{name:"Remember wallet",warning:"This will remove your remembered wallet. To see it again, you will need to plug in the BitBox02 for this wallet. Any coins on this wallet are not affected. Do you want to continue?",warningTitle:"Disable remember wallet"},toggleSats:{description:"Enable or disable Satoshis."}}},GP={input:{description:"(optional)",placeholder:"Add note…"},title:"Note"},QP={newTxs_one:"New transaction in: {{accountName}}",newTxs_other:"{{count}} new transactions in: {{accountName}}"},YP={aborted:{text:"The pairing has been aborted from the mobile app.",title:"Aborted"},button:"Pair mobile app",confirm:"Are you sure you want to pair your BitBox? Note that after, the mobile phone is required to perform a transaction.",connectOnly:{button:"Connect mobile app",title:"Scan with our mobile app by selecting the menu item 'Connect to new desktop app'"},error:{text:"Something went wrong. Please start again.",title:"Error"},pullFailed:{text:"Failed to pull a message from your mobile through the relay server. The relay server might be offline, please contact support.",title:"Pull failed"},reconnectOnly:{button:"Reconnect mobile app"},scanningFailed:{text:"Mobile was not able to scan the message successfully. Please try again.",title:"Scanning Failed"},start:{hideAppQRCode:"Hide QR code",revealAppQRCode:"Show QR code",step1:"If you do not have the mobile app, you can scan the QR code for the Apple App Store or the Google Play Store depending on which phone you have.",step2:"Scan with our mobile app, which you can find under the name 'Digital Bitbox 2FA' in the app stores for iOS and Android:"},started:{text:"Now please follow the instructions in the mobile app.",title:"Great"},success:{text:"Congratulations, you successfully paired your BitBox with the mobile app!",title:"Success"},timeout:{text:"The pairing timed out after two minutes. Start again if you still want to pair the mobile app.",title:"Timeout"},title:"Mobile pairing"},ZP={considerations:{button:"Backup considerations",message:`The passphrase adds a layer of protection to your wallet backup (microSD card or recovery words). If someone has access to your backup they will also need the passphrase to access your wallet. + +However, this means you will need both the passphrase + wallet backup to restore your passphrase-enabled wallet, in case your BitBox02 is lost or broken. If you forget or lose your passphrase, you will lose access to all the coins on that wallet. + +When storing your passphrase, consider putting it in a separate location than your backup. That way if someone finds your backup they don’t find your passphrase as well.`,title:"Backup considerations"},disable:"Disable passphrase",disableInfo:{button:"Disable",message:`After disabling the passphrase, you will no longer be asked to enter a passphrase after unlocking your BitBox02. Therefore, you will enter your default wallet. + +Any coins on your passphrase-wallet will still be on that wallet, however you won’t be able to access them because after unlocking your BitBox02, you will open your default wallet. + +To access your passphrase-wallets again, simply re-enable the passphrase feature and enter the relevant passphrase after unlocking the BitBox02. + +Tip: You can still enter your original wallet by leaving the passphrase empty.`},enable:"Enable passphrase",error:{e104:"Changing the passphrase setting was aborted."},how:{button:"What it looks like",message:`A passphrase doesn’t work like a password that you’re used to. If you mistype your passphrase, you will not be notified. This is because every passphrase creates a different, yet valid, wallet. This means you can use multiple passphrases for as many wallets as you want. But each wallet can only be accessed when typing in the corresponding passphrase. + +When plugging in your BitBox02, you’ll be prompted for the device password as usual. After that, you’ll be asked to enter a passphrase on the device. + +After entering the passphrase, you’ll be shown the passphrase you entered. This is so you can confirm you entered it correctly.`,title:"How does it work"},intro:{message:`A passphrase provides an additional layer of security on top of your wallet. +Let’s learn how it works.`,title:"Setup passphrase"},progressDisable:{message:"Confirm on your BitBox that you want to disable the optional passphrase.",title:"Confirm on device"},progressEnable:{message:"Confirm on your BitBox that you want to enable the optional passphrase.",title:"Confirm on device"},successDisabled:{message:`Optional passphrase successfully enabled! +You’ll be asked to provide a passphrase from now on.`,messageEnd:"Please replug the BitBox02 now.",title:"Passphrase enabled"},successEnabled:{message:`Optional passphrase successfully disabled! + +You will not be asked to provide a passphrase anymore.`,messageEnd:"Please replug your BitBox02 now.",tips:"Tips",tipsList:["We suggest sending a small amount to the passphrase wallet first. Then unplug and replug the BitBox02 and enter your password and passphrase. If you entered the passphrase correctly, you should see the coins in your wallet.","If you want to enter your original wallet without a passphrase, you can still do this by entering nothing when prompted to enter the passphrase. Or you can disable the passphrase feature."],title:"Passphrase disabled"},summary:{button:"Enable passphrase",title:"Summary",understand:"I understand how the passphrase works and the risks associated with it.",understandList:["The passphrase is an additional layer of security on top of your backup.","Entering a different passphrase will always generate a different wallet.","To restore your wallet you need both the passphrase and backup.","If you forget your passphrase, you can no longer access your coins."]},what:{button:"Learn how this works",message:`A wallet is created (derived) from a very big random number, also known as a seed. This seed is created when you first set up your BitBox02 and is backed up with the microSD card or recovery words. Anyone who has access to the seed has full control over the funds on that wallet. + +A passphrase is an optional secret, added to the seed. When using a passphrase, each passphrase creates a new wallet based on the seed + passphrase (optional secret). A passphrase can be anything: letters, words, special characters or it can even be empty. The default wallet is in fact derived from the seed + empty passphrase. + +The passphrase is part of the BIP39 standard, which means it is compatible with all wallets that support the same standard.`,title:"What is a passphrase?"},why:{button:"Why use a passphrase",message:`The BitBox02 protects the seed against extraction from the device itself, but the backup (microSD card or recovery words) gives full access to the wallet. That is why it should be stored in a secure location! + +Since a passphrase creates a new wallet using your existing seed, the passphrase-wallet requires both your backup AND passphrase to restore. The benefit of this is if someone finds your backup, they still need the passphrase to access the passphrase-wallet. + +Additionally, the passphrase feature allows you to create multiple wallets on the same device, or “hidden wallets” in addition to the default one.`,title:"Why use a passphrase?"}},JP={show:"Show {{label}}",warning:{caps:"WARNING: caps lock (⇪) is enabled",paste:'to paste text, enable "SHOW {{label}}"'}},XP={button:"Generate random number",description:"Your BitBox generated the following {{bits}}-bit random number:"},eN={changeScriptType:"Change address type",label:"Your address",onlyThisCoin:{description:"To receive other tokens, enable them in the settings. If you deposit other tokens, they might not be accessible.",warning:"Make sure to only receive {{coinName}} on this address."},scriptType:{p2tr:"Taproot (newest format)",p2wpkh:"Native Segwit (default)","p2wpkh-p2sh":"Wrapped Segwit (compatible format)"},selectAccount:"Select account",showFull:"Show and verify full address on device",taprootWarning:"Note: Taproot is a new Bitcoin feature and is not yet widely adopted. Funds received on Taproot addresses may not be visible in third party watch-only wallets. Many wallets and exchanges are not yet able to send to Taproot addresses.",title:"Receive {{accountName}}",verify:"Verify address securely",verifyBitBox01:"Verify address on mobile app",verifyBitBox02:"Verify address on BitBox02",verifyInstruction:"Please verify that the following address matches the one displayed on your device.",warning:{secureOutput:"Please pair your BitBox with your mobile device to enable secure address verification. Go to 'Manage device' in the sidebar."}},tN={description:"All data will be deleted from this device. That includes your Private Key!",notReset:"Device NOT reset.",title:"Factory reset device",understand:"I have a backup and know my recovery password",understandBB02:"I have a valid backup"},nN={create:{description1:"We recommend you set up your device in a safe environment, meaning you are away from other people that could see what password you choose.",description2:"You will be asked to create two passwords.",description3:"The first is the device password which unlocks your BitBox device and can be changed later.",description4:"The second is the recovery password which unlocks your wallet. This password cannot be changed later.",description5:"The wallet you create will be backed up to a file on the microSD card provided. This can be used in an emergency to recover your funds using your recovery password.",title:"Security information"},restore:{description1:"You will be asked to insert the microSD card you used to store you backup.",description2:"To restore your device you will need your recovery password. ",description3:"Please take care when entering the recovery password. Any password you enter will create a valid wallet. If you enter the wrong password you may be shown a wallet balance that you do not expect.",title:"Security information"}},aN={agreements:{"funds-access":"I will NOT be able to access my funds if I forget my recovery password","password-change":"I can NOT change the recovery password later","password-required":"The recovery password is required to restore a wallet from a backup"},create:"Create wallet",creating:"Creating wallet",description:"I understand that:",error:{e102:"The password must consist of at least 4 characters.",e200:"You need to insert a microSD card into your BitBox in order to create a wallet, so a backup can be created automatically."},info:{button:"Set recovery password now",description1:"Insert the microSD card into the BitBox",description2:"Choose a recovery password for the wallet and select “Set recovery password now”",description3:"The back up to microSD card and your recovery password is the only method to recover your funds in case of lost or stolen BitBox device.",description4:"You cannot change your recovery password later on without transferring your funds.",title:"Create a new wallet"},password:{label:"Recovery password",repeatPlaceholder:"Repeat recovery password"},walletName:{label:"Wallet name"}},iN={error:{e200:"Restoring a wallet from a backup requires the microSD card."},info:{description1:"Insert the microSD card into the BitBox and click “Continue”",description2:"Choose a backup and click “Restore”",description3:"Enter the recovery password",description4:"You need to confirm to understand that an incorrect password will create a different wallet.",title:"How to restore a wallet from a backup"}},oN={abort:"The transaction has been aborted.",address:{label:"Receiver address",placeholder:"Enter address"},amount:{label:"Amount",placeholder:"Enter amount"},availableBalance:"Available balance",button:"Review",coincontrol:{address:"Address",outpoint:"Outpoint",title:"Send from output"},confirm:{"selected-coins":"Selected coins",title:"Confirm and send transaction",total:"Total"},error:{erc20InsufficientGasFunds:"It seems like you do not have enough Ether to pay for this ERC20 transaction. Please make sure you hold enough Ether in your wallet",feeTooLow:"fee too low",feesNotAvailable:"Could not estimate fees",insufficientFunds:"insufficient funds",invalidAddress:"invalid address",invalidAmount:"invalid amount",invalidData:"invalid data"},fee:{customPlaceholder:"Enter amount",label:"Network fee",placeholder:"Not available"},feeTarget:{customLabel:"Fee rate",customLabel_eth:"Gas price",description:{economy:"4 hours (24 blocks)",economy_eth:"30 minutes or less",economy_ltc:"1 hour (24 blocks)",high:"20 minutes (2 blocks)",high_eth:"30 seconds or less",high_ltc:"5 minutes (2 blocks)",low:"2 hours (12 blocks)",low_eth:"5 minutes or less",low_ltc:"30 minutes (12 blocks)",normal:"1 hour (6 blocks)",normal_eth:"2 minutes or less",normal_ltc:"15 minutes (6 blocks)"},estimate:"Estimated confirmation time:",label:{custom:"Custom",economy:"Economy",high:"High",low:"Low",normal:"Normal"},placeholder:"Calculating fee…"},maximum:"Send all",maximumSelectedCoins:"Send selected coins",noFeeTargets:"Fee rate estimations are currently unavailable. Please try again later or enter a custom fee.",priority:"Priority",scanQR:"Scan QR code",signprogress:{description:"This is a transaction containing a lot of data. To fully sign the transaction, you will be asked to confirm {{steps}} times.",label:"Progress"},success:"The transaction has been signed and sent.",title:"Send {{accountName}}",toggleCoinControl:"Toggle coin control",transactionDetails:"Transaction details"},rN={about:"About",accounts:"Accounts",advancedSettings:"Advanced settings",appearance:"Appearance",electrum:{add:"Add a server","add-server":"Add",check:"Check",checkFailed:"Failed",checkSuccess:"Successfully established a connection to {{host}}",checking:"Checking","download-cert":"Download remote certificate","remove-server":"Remove",removeConfirm:"Remove {{server}}?",reset:"Reset to default",resetConfirm:"Do you want to remove all servers and install the default servers?",servers:"Servers",step1:"1","step1-text":"Enter the endpoint.",step2:"2","step2-text":"Enter a certificate of the server's certificate chain. Alternatively, download the remote certificate and compare it visually.","step2-text-tcp":"You can skip this step if you do not want to use TLS.",step3:"3","step3-text":"Check the connection and add the server.",step4:"4","step4-text":"Restart the wallet. If you do not remove the default servers, your own node will be added as a redundancy.","title-btc":"Bitcoin Electrum servers","title-ltc":"Litecoin Electrum servers","title-tbtc":"Bitcoin Testnet Electrum servers","title-tltc":"Litecoin Testnet Electrum servers"},expert:{coinControl:"Enable coin control",electrum:{description:"You can connect to your own Electrum full node.",title:"Connect your own full node"},fee:"Enable custom fees",setProxyAddress:"Set proxy address",title:"Expert settings",useProxy:"Enable tor proxy",useSats:"Display BTC values in Satoshis"},header:{home:"Home"},info:{"out-of-date":"New update available",title:"Info","up-to-date":"Your app is up to date",version:"App Version"},restart:"Please re-start the BitBoxApp for the changes to take effect.",services:{title:"Services"},success:"Please unplug and replug the BitBox for the changes to take effect.",title:"Settings"},sN="Setup device",lN={buy:"Buy crypto",device:"Manage device",leave:"Leave",settings:"Settings"},cN={create:{info1:"Your wallet has been securely backed up to the microSD Card. Remove it and keep it safe.",info2:"You have created a secure device password that unlocks the BitBox.",info3:"You have created a secure recovery password for your wallet that unlocks your funds and restores your backups.",summary:"Here is a summary of what you have done",title:"Success"},getstarted:"Get started",restore:{summary:"You have successfully restored a wallet from your backup.",title:"Success"}},uN={confirmation:"Confirmations",details:{activity:"Activity",address:"Address",amount:"Amount",date:"Date",fiat:"Fiat",fiatAmount:"Fiat amount",fiatAtTime:"Fiat at time of transaction",status:"Status",type:"Type"},explorer:"Transaction ID",explorerTitle:"Open in external block explorer",fee:"Fee",fiatHistorical:"Historical",gas:"Gas",note:{edit:"Edit note",save:"Save note"},pending:"Pending transaction",size:"Size",status:{complete:"Complete",failed:"Failed",pending:"Pending"},tx:{received:"Received to",sent:"Sent to"},vsize:"Virtual size",weight:"Weight"},dN={errorLoadTransactions:"There was an error loading the transactions",placeholder:"No transactions yet."},pN="An unknown error occurred: {{errorMessage}}",hN={description:"Enter your device password to unlock your device.",error:{e109_normal:"Wrong device password. {{remainingAttempts}} attempts remain before the device is reset.",e109_touch:"$t(unlock.error.e109_normal) The next login requires holding the touch button.",e113:"Due to many login attempts, the next login requires holding the touch button for 4 seconds."},input:{label:"Device password",placeholder:"Enter your device password to unlock the device"},unlocking:"Unlocking…"},mN={button:"Upgrade firmware",description:"Do you want to upgrade the firmware from version {{currentVersion}} to {{newVersion}}?",label:"Your BitBox requires a firmware upgrade.",locked:"To upgrade from {{currentVersion}} to {{newVersion}}, please do a long touch.",title:"Upgrade firmware",unlocked:"The bootloader is unlocked. To continue, please:",unlocked1:"Unplug and replug your Bitbox",unlocked2:"The LED will light up when your BitBox is plugged back in",unlocked3:"Tap the touch button when the LED lights up"},fN={connect:{button:"Connect",dappLabel:"Enter URI address of dapp",invalidPairingUri:"Invalid pairing uri"},dashboard:{allSessions:"All sessions",disclaimer:"Walletconnect is a protocol to connect to Ethereum based Dapps. These dapps are run by third-party services, so only connect to dapps you trust and be sure to always know what you are signing when making a transaction.",newConnection:"New connection",noConnectedSessions:"No accounts are currently connected to any dapps."},invalidPairingChain:"Error in approving pairing. Please make sure to use one of the supported chains: {{chains}}",pairingRequest:{approve:"Approve Connection",reject:"Reject",title:"New connection request from"},pairingSuccess:"Dapp successfully connected. You can continue on the dapp website.",signingRequest:{account:"Account",chain:"Chain",dapp:"Dapp",data:"Data",dataParsingError:"Failed to parse data",decodeError:"Failed to decode message",method:{sendTransaction:"Sign and send transaction",signMessage:"Sign message",signTransaction:"Sign transaction",signTypedData:"Sign typed data"},successfullySigned:"Request succesfully signed",walletConnectRequest:"WalletConnect request"},useNewUri:"This URI has already been used to attempt a connection. Please use a new URI.",walletConnect:"WalletConnect"},gN={receivePairing:"Please pair the BitBox to enable secure address verification. Go to 'Manage device' in the sidebar.",sdcard:"Keep the microSD card stored separate from the BitBox, unless you want to manage backups.",sendPairing:"Please pair the BitBox to securely verify transaction details. Go to 'Manage device' in the sidebar."},vN={connect:"Connect BitBox02",getStarted:"Let's get started by installing firmware on your BitBox02.",insertBitBox02:"For the BitBox02, please tap the device to continue.",insertDevice:"Please connect your device to get started",title:"Welcome"},bN={account:tP,accountInfo:nP,accountSummary:aP,addAccount:iP,aopp:oP,app:rP,auth:sP,backup:lP,bb02Bootloader:cP,bitbox:uP,bitbox02Interact:dP,bitbox02Settings:pP,bitbox02Wizard:hP,blink:mP,bootloader:fP,button:gP,buy:vP,changePin:bP,chart:kP,checkSDcard:xP,clickHere:yP,confirm:wP,confirmOnDevice:jP,connectKeystore:BP,darkmode:SP,device:zP,deviceLock:CP,deviceSettings:DP,deviceTampered:AP,dialog:_P,error:TP,fiat:EP,footer:PP,generic:NP,genericError:LP,goal:IP,guide:$P,headerssync:MP,hiddenWallet:OP,initialize:RP,invalidFormat:FP,language:VP,legacyhiddenwallet:WP,loading:UP,manageAccounts:qP,mobile:HP,newSettings:KP,note:GP,notification:QP,pairing:YP,passphrase:ZP,password:JP,random:XP,receive:eN,reset:tN,securityInformation:nN,seed:aN,seedRestore:iN,send:oN,settings:rN,setup:sN,sidebar:lN,success:cN,transaction:uN,transactions:dN,unknownError:pN,unlock:hN,upgradeFirmware:mN,walletConnect:fN,warning:gN,welcome:vN},kN={disconnect:"Connexion perdue. Tentative de reconnexion…",export:"Exporter",exportTransactions:"Exporter les transactions vers le dossier Téléchargements sous forme de fichier CSV",fatalError:"Une erreur inattendue s'est produite.",incoming:"Entrant",initializing:"Récupération d'informations de la blockchain…",maybeProxyError:"Proxy Tor activé. Assurez-vous que votre proxy Tor fonctionne correctement, ou désactivez la configuration du proxy.",reconnecting:"Connexion perdue, tentative de reconnexion…",syncedAddressesCount:"{{count}} adresses scannées"},xN={address:"Adresse",buyCTA:{buy:"Acheter {{unit}}",buyCrypto:"Acheter de la Crypto",information:{looksEmpty:"On dirait que ce portefeuille est vide",start:"Commencez par déposer des fonds dans le portefeuille ou bien achetez en directement dans l'application BitBoxApp."}},extendedPublicKey:"Clé publique étendue",label:"Informations du compte",scriptType:"Type de scrypt",title:"Informations sur le compte",verify:"Vérifier sur l'appareil",xpubTypeChangeBtn:{p2pkh:"Afficher la clé publique étendue (xpub) P2PKH legacy",p2tr:"Voir Taproot",p2wpkh:"Voir Native Segwit","p2wpkh-p2sh":"Afficher l'ancienne clé publique étendue (xpub) Segwit"},xpubTypeInfo:"Affichage actuellement de la clé publique étendue {{scriptType}} ({{current}} de {{numberOfXPubs}})"},yN={availableBalance:"Solde disponible",balance:"Solde",exportSummary:"Exporter un extrait des comptes vers le dossier de Téléchargements sous forme de fichier CSV",fiatBalance:"Solde en devise",name:"Nom du compte",noAccount:"Il n'y a pas de compte à montrer.",subtotalWithCoinName:"Total ({{coinName}})",title:"Vue globale de mon portefeuille",total:"Total",transactionHistory:"Historique des transactions"},wN={chooseName:{nextButton:"Ajouter un compte",step:"Donner un nom au compte",title:"Donnez un nom à votre compte"},selectCoin:{nextButton:"Suivant",step:"Sélectionner un coin (pièce)",title:"Sélectionnez une crypto-monnaie"},success:{addAnotherAccount:"Ajouter un autre compte",message:"{{accountName}} a maintenant été ajouté à vos comptes.",nextButton:"Terminé",step:"Fini",title:"Compte ajouté"},title:"Ajouter un compte"},jN={addressRequest:"{{host}} exige une adresse de réception.",addressRequestWithLogo:"exige une adresse de réception.",banner:"Demande d'adresse en cours",errorTitle:"Erreur durant la demande d'adresse",labelAddress:"Adresse",labelMessage:"Message",reverifyInfoText:"Vérification de l'adresse",signing:"Afin de continuer, veuillez signer le message à l'aide de votre BitBox02",success:{message:"Continuer sur {{host}}",title:"Adresse envoyée avec succès"},syncing:"Synchronisation du compte, veuillez patienter.",title:"Demande d'adresse"},BN={upgrade:"Une nouvelle version de cette application est disponible ! Veuillez mettre à jour de la {{current}} à la {{version}}."},SN={authButton:"Authentification",title:"Veuillez vous authentifier pour continuer"},zN={check:{checking:"Vérification de la sauvegarde…",confirmTitle:"Vérifier la sauvegarde",notOK:"La sauvegarde ne correspond PAS à ce portefeuille.",ok:"La sauvegarde correspond au portefeuille.",password:{label:"Mot de passe de récupération",placeholder:"Mot de passe de récupération",showLabel:"mot de passe de récupération"},success:"Sauvegarde vérifiée avec succès :",title:"Vérifier la sauvegarde"},create:{alreadyExists:"Vous avez déjà une sauvegarde valide. Souhaitez-vous la recréer ?",fail:"La création de la sauvegarde a échoué !",info:"Veuillez saisir le mot de passe de récupération du portefeuille actuel pour vérification.",name:{label:"Nom de la sauvegarde",placeholder:"Veuillez nommer la sauvegarde"},password:{label:"Mot de passe de récupération",placeholder:"Veuillez entrer votre mot de passe de récupération"},title:"Créer une sauvegarde",verificationFailed:"Le mot de passe de récupération NE CORRESPOND PAS à ce portefeuille. La sauvegarde a été créée. Veuillez utiliser «Vérifier la sauvegarde» pour vérifier à nouveau votre mot de passe de récupération."},description:"Sélectionnez le fichier de sauvegarde du portefeuille.",insert:"Veuillez insérer la carte microSD pour gérer les sauvegardes.",insertButton:"J'ai inséré la carte microSD",list:"Vos sauvegardes sur la carte microSD",noBackups:"Il n'existe aucune sauvegarde sur cette carte micro SD.",restore:{confirmTitle:"Restaurer la sauvegarde",error:{e200:"Carte microSD non trouvée",general:"Erreur lors de la restauration de la sauvegarde"},password:{label:"Mot de passe de récupération ou mot de passe de récupération caché",placeholder:"Mot de passe de récupération",repeatPlaceholder:"Répéter le mot de passe de récupération",showLabel:"Mot de passe de récupération"},restoring:"Restauration de la sauvegarde…",selectedBackup:"{{backupName}} créé le {{createdDateTime}} sera restauré.",title:"Restaurer",understand:"Je comprends qu'un mot de passe de récupération incorrect créera un portefeuille différent."},showMnemonic:{description:`24 mots de récupération vont vous être présentés; ils constituent une sauvegarde de votre portefeuille. Notez-les sur papier. + +Ne les stockez pas sur un support numérique et ne les prenez pas en photo. + +Ne prononcez pas les mots à haute voix. + +Cette sauvegarde n'est pas protégée par un mot de passe.. + +Il vous sera demandé ensuite de confirmer chacun de ces mots.`,title:"Montrer les mots de récupération",warning:"Ne partagez jamais vos mots de récupération avec qui que ce soit. Vos mots de récupération permettent un accès intégral à votre portefeuille. Si on vous demande vos mots de récupération, il s’agit d’une escroquerie, ne les partagez jamais !"},title:"Gérer les sauvegardes"},CN={abort:"Ne pas mettre à jour - Revenir en arrière",abort_noUpgrade:"Retour en arrière",advanced:{label:"Paramètres avancés",toggleShowFirmwareHash:"Afficher le hash du firmware à chaque démarrage de l'application"},flipscreen:"Retourner l'écran",orientation:"Appareil dans le mauvais sens ?",success:"Mise à jour réussie ! Continue dans {{rebootSeconds}} secondes...",success_install:"Installation réussie ! Poursuite dans {{rebootSeconds}} secondes..."},DN={error:{e10000:"Mot de passe de l'appareil incorrect.",e10001:"La tentative de remplacer le mot de passe de l'appareil a échoué",e102:"Le mot de passe doit comporter au minimum 4 caractères.",e112:"Le mot de passe caché ne peut pas être identique au mot de passe principal de l'appareil."}},AN={confirmDate:"Confirmez la date du jour sur votre BitBox02",confirmDateText:"Cette date sera utilisée pour créer votre sauvegarde.",confirmName:"Confirmez le nom sur le BitBox02",confirmWords:"Notez les {{amount}} mots de récupération depuis votre BitBox02",confirmWordsText:"Ensuite, la BitBox02 vous demandera de confirmer chaque mot afin de s’assurer que la sauvegarde a été correctement effectuée.",followInstructions:"Veuillez suivre les instructions sur votre BitBox02.",followInstructionsMnemonic:"Suivez les instructions sur votre BitBox02 afin de saisir les mots de récupération de votre sauvegarde et restaurer ainsi votre portefeuille.",followInstructionsMnemonicTitle:"Restaurer à partir des mots de récupération"},_N={deviceName:{current:"Nom du périphérique actuel",error:"Le nom de l'appareil n'a pas pu être configuré",error_104:"La confirmation du nom de l'appareil a été interrompu sur celui-ci.",input:"Nom du BitBox02",placeholder:"Nouveau nom de périphérique",title:"Définir le nom de votre BitBox02"},gotoStartupSettings:{description:"Cela va rebooter votre BitBox02 et entrer les paramètres de démarrage.",title:"Aller aux paramètres de démarrage"}},TN={advanced:{button:"Options avancées",outOfDate:"Le micrologiciel n'est pas à jour et ne permet pas cette fonctionnalité",seed12WordInfo:"Veuillez noter que le nombre de mots ne peut pas être modifié après la création du portefeuille.",seed12WordLabel:"Créer une seed de 12 mots plutôt que de 24 mots",seed12WordText:"Par défaut, la BitBox02 utilise une seed de 24 mots. Dans la pratique, les deux longueurs de seed sont fiables contre les attaques par force brute. Toutefois, certains utilisateurs peuvent préférer la commodité inhérente à une seed de 12 mots.",skipSDCardLabel:"Sauter l’étape de sauvegarde sur la carte microSD et écrire les mots de récupération plutôt.",skipSDCardText:"Vous avez toujours la possibilité de créer une sauvegarde sur la carte microSD ou d'écrire vos mots de récupération après la configuration. Vous pouvez le faire à partir des paramètres.",title:"Options de sauvegarde avancées"},attestationFailed:"L'authentification a échoué. Ceci est potentiellement dû au redémarrage de l'application alors que l'appareil attendait une saisie de la part de l'utilisateur. Veuillez vous reconnecter et essayer à nouveau. Si cela persiste, veuillez contacter support@bitbox.swiss",backup:{point1:"Sélectionner une sauvegarde sur la carte micro SD",point2:"Définissez un mot de passe pour votre appareil",restoreText:"Ok, restaurons une sauvegarde !",text1:"Parfait, le mot de passe pour votre BitBox02 est défini et votre portefeuille est créé. Il est maintenant temps de procéder à votre première sauvegarde. Assurez-vous que la carte micro SD soit bien insérée dans l'appareil et continuez.",text2:"Veuillez suivre les instructions sur l'écran de votre appareil pour créer une sauvegarde.",text3:"Une fois votre sauvegarde créée, veuillez retirer la carte micro SD et la conserver dans un endroit sécurisé. Le contenu de la carte micro SD n'est pas protégé par mot de passe. Ne l'insérez jamais dans un appareil autre que votre BitBox02.",userConfirmation1:"Je devrais stocker ma sauvegarde dans un endroit sûr.",userConfirmation2:"Ma sauvegarde n'est pas protégée par mot de passe. Quiconque y a accès peut accéder à mon portefeuille.",userConfirmation3:"Si je perds ou endommage mon BitBox02, la seule façon de récupérer mes fonds est de restaurer à partir de ma sauvegarde.",userConfirmation4:"Si je perds ou endommage à la fois ma sauvegarde et ma BitBox02, mes fonds seront perdus.",userConfirmation5:"Je ne dois pas insérer ma carte de sauvegarde microSD dans un ordinateur, un téléphone, une imprimante ou tout appareil autre qu'un BitBox02.",userConfirmation5mnemonic:"Je ne dois pas saisir mes mots de récupération dans un ordinateur, un téléphone, une imprimante ou tout autre appareil autre qu'une BitBox02."},create:{button:"Nommer l'appareil et continuer",info:"Voici les étapes de base à suivre pour configurer votre BitBox :",inputTitle:"Nom du portefeuille",point1:"Nommez votre appareil",point2:"Définir un mot de passe pour votre appareil",point3:"Créer une sauvegarde",text:"Ok, créons un nouveau portefeuille !"},createBackupAborted:"Création de la sauvegarde interrompue.",createBackupFailed:"La création de la sauvegarde a échoué, veuillez réessayer.",initialize:{passwordText:"Définissons maintenant un mot de passe pour votre appareil. Utilisez les commandes de votre BitBox pour entrer et choisir un mot de passe.",passwordTitle:"Définissez un mot de passe pour votre BitBox",text:"Votre BitBox02 a été appairé avec succès ! Initialisons maintenant votre appareil. Commencez par choisir de créer un nouveau portefeuille ou de restaurer un portefeuille à partir d'une sauvegarde existante. Veuillez vous assurer que vous avez une carte micro SD insérée dans votre BitBox02.",tip:"Nous recommandons de continuer dans un environnement sécurisé.",title:"Initialiser votre BitBox"},insertSDCard:"Assurez-vous d'avoir une carte micro SD insérée dans votre BitBox02.",noPasswordMatch:"Le mot de ",pairing:{failed:"Appariement non confirmé. Veuillez rebrancher votre BitBox02.",paired:"Vous avez confirmé le code suivant sur votre appareil. Veuillez continuer.",title:"Vérifier le code d'appairage",unpaired:"Une BitBox02 non-associée a été détectée. Veuillez vérifier que le code d’association correspond à celui indiqué sur votre BitBox02."},restoreFromMnemonic:{e104:"La restauration à partir des mots de récupération a été annulée.",failed:"La restauration à partir des mots de récupération a échoué, veuillez réessayer."},stepBackup:{beforeProceed:"Avant de continuer, veuillez lire ces importantes mesures de sécurité :",createBackup:"Vous allez maintenant créer une sauvegarde sur votre carte microSD.",createBackupMnemonic:"Vous allez à présent noter les mots de récupération."},stepBackupSuccess:{fundsSafe:"Pour assurer la sécurité de vos fonds, n'oubliez pas ce qui suit :",title:"Sauvegarde restaurée !"},stepConnected:{unlock:"Entrez le mot de passe du BitBox02 pour le déverrouiller."},stepCreate:{description:"Ce nom est utilisé comme celui de l'appareil et pour la sauvegarde.",nameLabel:"Nom du BitBox02",namePlaceholder:"Mon BitBox02",title:"Choisissez le nom du BitBox02",toastMicroSD:"Veuillez insérer votre carte microSD dans votre BitBox02, elle sera utilisée pour stocker une sauvegarde du portefeuille."},stepCreateSuccess:{removeMicroSD:"Veuillez retirer la carte microSD de votre BitBox02 et la stocker dans un endroit sûr.",storeMnemonic:"Veuillez conserver vos mots de récupération dans un emplacement sûr",success:"Vous avez créé votre sauvegarde avec succès."},stepInsertSD:{insertSDCard:"Veuillez insérer une carte microSD dans votre BitBox02 pour continuer.",insertSDcardTitle:"Insérer une carte microSD"},stepPassword:{e104:"Le paramétrage du mot de passe a été abandonné.",title:"Définissez le mot de passe du BitBox02",useControls:"Utilisez les touches de votre BitBox02 pour définir un mot de passe."},stepUninitialized:{create:"Je veux configurer un nouveau BitBox02.",restore:"Je veux restaurer mon portefeuille à partir d'une sauvegarde.",restoreMicroSD:"Restauration à partir d'une carte microSD",restoreMnemonic:"Restaurer à partir des mots de récupération",title:"Configurez votre BitBox02"},success:{text:`Hourra ! Votre BitBox02 est maintenant prêt à l'emploi. + +Pour plus d'informations sur l'utilisation de l'application BitBox, veuillez utiliser le guide d'utilisation en cliquant sur le point d'interrogation situé dans le coin supérieur droit.`,title:"Vous êtes prêt !"}},EN={button:"Clignoter"},PN={button:"Mettre à jour le micrologiciel maintenant",button_install:"Installer le firmware maintenant",progress:"Mise à jour : {{progress}}%",progress_install:"Installation : {{progress}}%",success:"Mise à jour réussie ! Veuillez rebrancher l'appareil. Cette fois, ne touchez pas le bouton."},NN={abort:"Abandonner",back:"Retour",buy:"Acheter",changepin:"Changer le mot de passe de l'appareil",check:"Vérifier la sauvegarde",continue:"Continuer",copy:"Copie",create:"Créer",dismiss:"Ignorer",done:"Terminé",download:"Télécharger",hiddenwallet:"Créer un portefeuille caché",next:"Suivant",ok:"D'accord",previous:"Précédent",receive:"Recevoir",restore:"Restaurer",select:"Sélectionner",send:"Envoyer",unlock:"Déverrouiller",update:"Mise à jour",upgrade:"Mettre à jour"},LN={exchange:{bankTransfer:"Virement bancaire",bestDeal:"Meilleure offre",creditCard:"Carte de crédit",fast:"Rapide",fee:"frais",infoContent:{moonpay:{fees:{bankTransfer:"Virement Bancaire: {{fee}}%",creditDebitCard:"Carte de crédit/débit: {{fee}}%",learnMore:"En savoir plus sur Moonpay",title:"Frais"},fullCurrenciesList:"Voir la liste complète des devises ici",payment:{asteriskText:"* Non disponible pour les résidents américains",bankTransfer:"Virement bancaire*",bankTransferDetails:{pix:"PIX (transactions BR au Brésil uniquement)",sepa:"SEPA et SEPA Instant (transactions en EUR dans les pays SEPA uniquement)",uk:"UK Faster Payments (transactions en GBP au Royaume-Uni uniquement)"},creditDebitCard:"Carte de crédit/débit",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa and Maestro"},learnMore:"Voir plus de détails sur les méthodes de paiement",title:"Modes de paiement"},supportedCurrencies:"Accepte toutes les principales devises fiat : USD, EUR, CHF, et autres."},pocket:{fees:{info:"Virement bancaire : {{fee}}%",title:"Frais"},learnMore:"En savoir plus sur Pocket",payment:{bankTransfer:"Virement bancaire",bankTransferDetails:{sepa:"SEPA et SEPA Instant (transactions en EUR dans les pays SEPA uniquement)",sic:"SIC - Swiss Interbank Clearing (Transactions CHF en Suisse/Liechtenstein uniquement)",uk:"UK Faster Payments (transactions en GBP au Royaume-Uni uniquement)"},bankTransferReccuring:"Comment mettre en place des achats récurrents avec un ordre permanent?",title:"Modes de paiement"},supportedCurrencies:"Accepte les devises Européennes : EUR, GBP et CHF",verification:{info:"La vérification de l'identité n'est requise qu'au-delà des limites quotidiennes et annuelles.",link:"Consulter les limites en vigueur, ici.",title:"Vérification de l'identité"}},region:{title:"Sélectionnez la zone géographique de domiciliation de votre compte bancaire afin de déterminer les options à votre disposition."}},noExchanges:"Désolé, aucun échange disponible dans cette zone géographique",region:"Zone Géographique",selectRegion:"Non spécifié",title:"Acheter du {{name}}"},info:{continue:"Accepter et continuer",crypto:"crypto",disclaimer:{intro:["Nous avons un partenariat avec MoonPay afin de vous permettre d'acheter simplement des {{name}} directement depuis BitBoxApp. Quelques clics suffisent.","MoonPay est une plateforme qui permet d’acheter des {{name}} de manière simple et rapide dans plus de 160 pays."],payment:{details:"Vous pouvez acheter des {{name}} instantanément via MoonPay avec les méthodes de paiement suivantes. Les achats par carte de crédit ou de débit sont faciles et instantanés, mais plus chers en raison du risque de rétro-facturation plus élevé. Nous vous recommandons d'utiliser l'option du virement bancaire pour les montants plus importants. Les frais minimum sont de 4 USD/EUR ou équivalent.",footnote:"Veuillez noter que les taux de change de MoonPay peuvent différer de ceux utilisés dans BitBoxApp, ce qui peut entraîner potentiellement des montants légèrement différents.",table:{"1_description":"Frais les plus bas, peut prendre jusqu'à 3 jours ouvrables","1_method":"Virements bancaires (SEPA)","2_description":"Frais plus élevés mais rapides et directs","2_method":"Cartes de crédit et de débit",description:"Description",fee:"Frais",method:"Méthode"},title:"Modes de paiement et frais"},privacyPolicy:"Politique de confidentialité de MoonPay",protection:{description:"BitBoxApp ne collecte aucune donnée lors de l'achat de {{name}}, les fonds entrants sont traités comme une transaction normale. MoonPay a besoin de collecter certaines données personnelles afin de fonctionner. Leur politique de confidentialité décrit en détail la façon dont ces données sont traitées.",descriptionGeneric:"BitBoxapp ne collecte aucune donnée lors de l'achat de {{nom}}, les fonds entrants sont traités comme une transaction normale. Cependant, les exchanges partenaires ont besoin de recueillir certaines informations pour fonctionner. Veuillez vous référer à leurs politiques de confidentialité respectives pour voir plus en détail comment sont traitées ces données.",title:"Protection des données"},security:{description:"Lorsque vous achetez du {{name}} via MoonPay, vous utilisez un service externe. Ce service est hors de portée du modèle sécurité contre les menaces de BitBox02 et repose sur la sécurité de l'environnement dans lequel le logiciel BitBoxApp est déployé.",descriptionGeneric:"Lorsque vous achetez du {{nom}} via un exchange partenaire, vous utilisez un service externe. Ce service est hors de portée du modèle sécurité contre les menaces de BitBox02 et repose sur la sécurité de l'environnement dans lequel le logiciel BitBoxApp est déployé.",link:"Modèle de menace à la sécurité",title:"Modèle de sécurité"},title:"Bienvenue sur la boutique de votre site clé en main pour acheter du {{name}}"},next:"Suivant",selectLabel:"Sélectionnez votre compte",selectPlaceholder:"Sélectionnez un coin (monnaie)",skip:"Ne plus montrer",title:"Acheter du {{name}}"},pocket:{data:{link:"Politique de confidentialité de Pocket",p1:"BitBoxApp ne recueille aucune donnée lors de l'achat de bitcoins, les fonds entrants sont traités comme une transaction ordinaire. Pocket a besoin de collecter certaines données personnelles pour son fonctionnement. La politique de confidentialité de Pocket expose en détail la manière dont elles sont exploitées.",title:"Protection des données"},kyc:{link:"Lire la FAQ de Pocket",p1:"Pocket s'efforce de réduire au minimum le processus d’identification (KYC). Pour les achats inférieurs à 950 EUR (1000 CHF) par jour, aucun document supplémentaire n'est requis. Pour les achats supérieurs à ce montant, vous devrez fixer un rendez-vous téléphonique avec Pocket au préalable afin de compléter le processus Identification/Lutte Contre le Blanchiment (KYC/AML) nécessaire.",title:"Identification/Lutte Contre le Blanchiment (KYC/AML)"},payment:{p1:"Vous avez la possibilité d’acheter des bitcoins instantanément avec Pocket via un transfert bancaire SEPA. Les frais sont de 1,5% et les bitcoins sont déposés dans votre BitBox dès que possible, une fois le virement bancaire reçu par Pocket (généralement le jour même).",p2:"Veuillez noter que les taux de change de Pocket peuvent différer de ceux utilisés par BitBoxApp,et avoir pour effet des montants légèrement différents.",title:"Modes de paiement et frais"},previousTransactions:"L'historique des transactions de ce compte n'est pas vierge. En partageant ce compte, toutes ses transactions passées et futures seront exposées à Pocket. Souhaitez-vous continuer malgré tout ?",security:{link:"Modèle de menace de sécurité de BitBox02",p1:"Lorsque vous achetez des bitcoins via Pocket, vous utilisez un service externe. Ce service est hors de portée du modèle de menace de sécurité de BitBox02 et repose sur la sécurité de l'environnement dans lequel le logiciel BitBoxApp est déployé. Cependant, nous collaborons dans le but de renforcer la sécurité en utilisant un mécanisme d'authentification à deux facteurs pour vérifier l'adresse sur laquelle vous les recevez.",title:"Modèle de sécurité"},usedAddress:"L'adresse {{adresse}} a déjà été utilisée, veuillez recommencer avec une nouvelle adresse.",verifyBitBox02:"Veuillez vérifier que l'adresse que vous avez reçue par email correspond à celle affichée sur votre Bitbox. Si vous en avez la possibilité, vous devriez ouvrir l'email sur un deuxième appareil pour plus de sécurité.",welcome:{p1:"Nous collaborons avec Pocket afin de vous offrir un processus simplifié pour vos achats de bitcoins directement dans l'application BitBox. Quelques clics suffisent.",p2:"Pocket est une plateforme suisse qui permet d'acheter rapidement et facilement des bitcoins depuis la plupart des pays européens (partout où les transferts bancaires SEPA sont disponibles).",p3:"Avec Pocket, vous pouvez également effectuer des achats réguliers par le biais d'ordres bancaires récurrents, vous donnant ainsi la possibilité d'effectuer facilement un lissage de votre prix d'acquisition (DCA).",title:"Bienvenue dans votre espace unique et complet dédié à l'achat de bitcoins."}},title:"Acheter du {{name}}"},IN={newTitle:"Nouveau mot de passe de l'appareil",oldLabel:"Mot de passe actuel de l'appareil"},$N={dataMissing:"Récupération de l’historique des données… soyez patients.",dataOldTimestamp:"Mise à jour de l’historique des taux de change. Le graphique ne tient pas compte des données après {{time}}.",dataUpdating:"mise à jour des données...",filter:{all:"Tout",month:"Mois",week:"Semaine",year:"Année"}},MN="vérification de la carte microSD",ON="Cliquez ici.",RN={abortInfo:"Appuyez pour",abortInfoRedText:"abandonner",approveInfo:"Appuyez 4+ secondes pour",approveInfoGreenText:"confirmer",info:"Continuez sur votre BitBox",infoWhenPaired:"D'abord sur le mobile appairé, puis sur votre BitBox"},FN="Veuillez confirmer sur l'appareil.",VN={promptNoName:"Veuillez connecter votre BitBox02 pour continuer",promptWithName:'Veuillez connecter votre BitBox02 dénommée "{{name}}" pour continuer'},WN={toggle:"Dark mode"},UN={appUpradeRequired:"Votre BitBox n'est pas compatible avec cette version de l'application de bureau. Veuillez télécharger et installer la dernière version."},qN={button:"Activer la double authentification (2FA)",condition1:"Avez-vous une sauvegarde ?",condition2:"Est-ce que la vérification avec l'application mobile fonctionne-t-elle ?",condition3:"Le 2FA DÉSACTIVE les sauvegardes et l'appariement à l'application mobile. L'appareil doit être RÉINITIALISÉ pour enlever le 2FA !",confirm:"Activer la double authentification (2FA)",title:"Activer la double authentification (2FA)"},HN={backups:{manageBackups:{description:"Créez ou vérifiez la sauvegarde de votre carte microSD."},showRecoveryWords:{description:"Afficher et vérifier les mots de récupération."},title:"Sauvegardes"},deviceInformation:{attestation:{description:"BitBoxApp vérifie l'authenticité de votre appareil."},deviceName:{description:"Modifiez le nom de votre appareil."},rootFingerprint:{description:"L'empreinte digitale racine est un identifiant unique du portefeuille en cours d'utilisation. Elle peut vous aider à distinguer les différents portefeuilles si vous utilisez des passsphrases."},securechip:{description:"Modèle de la puce sécurisée."},title:"Informations sur l'appareil"},expert:{factoryReset:{description:"Réinitialisez votre appareil aux paramètres d'usine. Cela supprimera le wallet de votre BitBox02 !",title:"Réinitialisation aux paramètres d'usine"},goToStartupSettings:{description:"Entrez le bootloader de la BitBox02. Vous pouvez activer le hachage du micrologiciel à partir de là."},passphrase:{description:"Activer ou désactiver la fonction de passphrase (phrase secrète)",title:"Passphrase (phrase secrète)"}},firmware:{firmwareVersion:"Version du Firmware",newVersion:{label:"Version disponible"},title:"Micrologiciel",upToDate:"Votre appareil est à jour",upgradeAvailable:"Nouvelle mise à jour disponible",version:{label:"Version"}},hardware:{attestation:{false:"Échec du contrôle d'authenticité",label:"Contrôle d'authenticité",true:"Votre BitBox02 est authentique"},sdcard:{false:"Non insérée",label:"carte microSD",true:"Insérée"},securechip:"Puce sécurisée",title:"Matériel informatique"},loading:"Récupération des informations sur l'appareil…",pairing:{lock:{false:"Désactivé",label:"Double authentification (2FA)",true:"Activé"},mobile:{false:"Fermé",label:"Application mobile",true:"Ouvrir"},status:{false:"Non appairé",label:"Statut",true:"Appairé"},title:"Appariement"},secrets:{manageBackups:"Gérer les sauvegardes",title:"Secrets"}},KN="Est-ce que votre BitBox a été fourni avec un mot de passe de récupération ? Si c'est le cas, arrêtez la procédure d'installation et contactez immédiatement le support. Shift ne vous donnera jamais un portefeuille prêt à l'emploi ni de recommandation de mot de passe.",GN={cancel:"Annuler",confirm:"Confirmer",confirmTitle:"Confirmation"},QN={accountAlreadyExists:"Ce compte existe déjà.",accountLimitReached:"Impossible d'ajouter un compte. Le nombre maximum de comptes pour ce coin (monaie) a été atteint.",aoppCallback:"Une erreur s'est produite lors de la transmission de l'adresse à {{host}}.",aoppInvalidRequest:"Requête invalide.",aoppNoAccounts:"Aucun comptes disponibles.",aoppSigningAborted:"Demande de possession de l'adresse annulée.",aoppUnknown:"Une erreur inconnue s'est produite.",aoppUnsupportedAsset:"Cet actif n'est pas pris en charge.",aoppUnsupportedFormat:"Aucun des comptes disponibles ne supporte le format d'adresse requis.",aoppUnsupportedKeystore:"L’appareil connecté ne peut pas signer de messages pour cet asset.",aoppVersion:"Version inconnue.",wrongKeystore:"Portefeuille connecté incorrect. Veuillez vous assurer d'insérer le bon appareil correspondant à ce compte",wrongKeystore2:"Si vous utilisez la passphrase facultative, assurez-vous bien que vous avez saisi la passphrase correspondant à ce compte."},YN={default:"défaut",setDefault:"Définir {{code}} comme paramètre par défaut",title:"Devises"},ZN={appVersion:"Version de l'application :"},JN={enabled_false:"Désactivé",enabled_true:"Activé"},XN="Une erreur est survenue. Si vous rencontrez des problèmes, veuillez redémarrez l'application.",eL={buttons:{create:"Créer un nouveau portefeuille",restore:"Restaurer un portefeuille à partir d'une sauvegarde"},paragraph:"Veuillez sélectionner l'une des options suivantes :",step:{1:{title:"Information de sécurité"},2:{description:"Définir un mot de passe pour l'appareil",title:"Appareil"},"3-create":{description:"Créer un nouveau portefeuille",title:"Portefeuille"},"3-restore":{description:"à partir d'une sauvegarde",title:"Restaurer"},"4-create":{title:"Résumé"},"4-restore":{title:"Résumé"}}},tL={accountDescription:{text:`La vue d'ensemble de votre compte affiche votre solde disponible ainsi que les transactions entrantes et sortantes. Notre guide dans "Paramètres" contient plus d'informations sur chaque type de compte. `,title:"Que me montre cette page ?"},accountFiat:{text:"Oui. Cliquez sur n'importe quel symbol pour changer la devise. Vous pouvez modifier la liste des devises dans les paramètres.",title:"Puis-je afficher d'autres taux de conversion ?"},accountIncomingBalance:{text:"Entrant est la somme des montants qui vous ont été transférés mais qui n'ont pas encore été confirmés par le réseau.",title:"Que veut dire entrant ?"},accountInfo:{multipleXPubs:{text:`Chaque xpub est liée au "Type" indiqué : soit "Native Segwit (bech32)", "Wrapped Segwit" ou "Taproot" (Bitcoin uniquement). Ce sont les types de script utilisés par {{coinName}}. BitBoxApp les combine, prenant en charge plusieurs types de script dans le même compte. Comme chaque type de script donne une xpub différente, il y a plusieurs xpubs par compte. + +Si vous recevez systématiquement sur l'adresse par défaut (Native Segwit), vous n'avez besoin que de la xpub "bech32". Cependant, si vous recevez également des fonds sur "Wrapped Segwit" ou "Taproot", vous devez également utiliser respectivement les clés publiques étendues "Wrapped Segwit" et "Taproot".`,title:"Pourquoi y a-t-il plusieurs xpubs ?"},privacy:{text:`Pour ce compte spécifique, la clé publique étendue révèle l'ensemble de l'historique des opérations, le solde de votre compte et toutes les transactions futures. Mais la xpub ne permet à personne de dépenser vos coins (monnaie). + +Si vous communiquez une xpub à quelqu'un, vous devez être conscient que cette personne ou entreprise peut visualiser toutes les autres transactions de ce même compte. Par conséquent, c'est une bonne idée d'utiliser ce compte uniquement à cette fin et de garder les autres fonds sur des comptes distincts.`,title:"Est-ce que je dois garder ma xpub secrète ?"},verify:{text:"Oui, c'est toujours une bonne initiative de revérifier votre xpub. Si un tiers va générer des adresses de réception à partir de cette xpub pour vous envoyer de l'argent, c'est tout particulièrement important. Vous devez la vérifier sur l'appareil afin de vous assurer que cette xpub vous appartient; sinon, l'ensemble des fonds pourraient être envoyés à des adresses non voulues.",title:"Est-ce que je dois vérifier la xpub sur l'appareil ?"},xpub:{text:`Une clé publique étendue (xpub) est une clé racine à partir de laquelle toutes les adresses de réception d'un compte sont dérivées. + +Elle sont fournies ici à des fins d'utilisation avancée et d'interopérabilité avec les portefeuilles de type "watch-only", comme Electrum ou Sentinel. Si vous recevez des fonds sur différents types d'adresses, veuillez importer tous les différents formats xpub dans le portefeuille "watch-only" afin de pouvoir visualiser tous vos fonds. + +Veuillez noter que certains portefeuilles tiers ne supportent pas encore les xpubs Taproot.`,title:"Qu'est-ce qu'une clé publique étendue ?"}},accountRates:{text:"Les taux de change sont mis à jour toutes les minutes à partir de CoinGecko.",title:"Quels taux de change sont utilisés ?"},accountReload:{text:"Il n'y a pas besoin. Vos informations de transaction sont mises à jour automatiquement.",title:"Puis-je recharger l'historique des transactions ?"},accountSendDisabled:{text:'Le bouton "Envoyer" est activé lorsque votre solde est supérieur à zéro.',title:"Pourquoi ne puis-je pas envoyer de {{unit}} ?"},accountSummaryAmount:{text:`Le montant total est la somme de tous vos comptes crypto. Les taux de change sont obtenus auprès de coingecko.com. + +Remarque : si vous utilisez MyEtherWallet pour des tokens (jetons) non pris en charge par BitBoxApp, ils ne seront pas inclus dans le montant affiché.`,title:"Comment le montant total est-il calculé ?"},accountSummaryDescription:{text:"Vous pouvez voir ici la performance de votre portefeuille au fil du temps. Un résumé de vos comptes cryptos individuels est affiché sous le graphique.",title:"Que me montre cette page ?"},accountTransactionAttributesBTC:{text:`Taille virtuelle : détermine les frais de réseau. Vous avez réussi à économiser sur les frais si elle est inférieure à la taille de la transaction. +Taille : Taille réelle de la transaction en octets dépendamment de la blockchain concernée. +Poids : Une nouvelle mesure, introduite avec Segwit, permettant d'évaluer la transaction et la taille du bloc. Chaque octet témoin est séparé et compte pour un, le reste en tant que quatre unités de poids. Au lieu d'un mégaoctet de taille réelle, la limite de taille de bloc est maintenant de quatre millions d'unités de poids.`,title:"Qu'en est-il des détails spécifiques de la transaction Bitcoin ?"},accountTransactionAttributesGeneric:{text:`Confirmations : Lors de l'émission de votre transaction, elle ne sera pas confirmée. Vous devrez attendre qu'un mineur l'inclue dans un bloc, elle aura alors une confirmation. Chaque bloc émis sur le réseau par la suite ajoutera une nouvelle confirmation à votre transaction. En général, les commerçants et autres acteurs de l'écosystème considèrent comme valides les transactions ayant entre 3 et 6 confirmations. +Transaction ID : Numéro d'identification unique pouvant être utilisé pour rechercher une transaction dans un explorateur de blocs. +Frais : Les mineurs reçoivent des frais de transaction afin de les inciter à intégrer les transactions dans les blocs qu'ils minent. Pour en savoir plus, cliquez sur le bouton d'envoi.`,title:"Quelles sont les informations affichées dans le détail de la transaction?"},accountTransactionConfirmation:{text:"Il s’agit d’une transaction qui a été émise sur le réseau et en attente d’être confirmée.",title:"Qu'est-ce qu'une transaction en attente ?"},accountTransactionLabel:{text:"C'est l'adresse vous ayant envoyé les coins ou à laquelle vous les avez envoyés.",title:"Quelle adresse est affichée pour chaque transaction?"},accountTransactionTime:{text:"L'heure et la date à laquelle la transaction a été confirmée sur la blockchain.",title:"Quel horodatage est affiché ?"},accounts:{howManyAccounts:{text:`Bitcoin et Litecoin ne peuvent avoir qu’un nombre arbitraire de comptes. Au delà de cinq comptes, vous ne pouvez en ajouter un supplémentaire que si le compte précédent a déjà été utilisé. +Un maximum de cinq comptes est possible pour les autres coins (jetons).`,title:"Combien de comptes puis-je créer ?"},howtoAddTokens:{text:`Les jetons utilisant la norme ERC20 sont rattachés à un compte Ethereum spécifique. Pour activer ou désactiver un jeton en particulier, ouvrez l'écran "Gérer les comptes", élargissez votre compte Ethereum et activez ou désactivez le jeton souhaité.`,title:"Comment ajouter des jetons supplémentaires ?"},moveFunds:{text:"Oui. Mais comme les comptes sont indépendants, vous devez envoyer vos fonds en utilisant une transaction classique.",title:"Est-ce que je peux déplacer des fonds entre les différents comptes ?"},recoverAccounts:{text:"Oui. BitBoxApp crée des comptes en utilisant des normes bien établies et compatibles avec la plupart des autres portefeuilles de crypto-monnaies.",title:"Est-ce que je peux récupérer mes comptes avec d'autres portefeuilles ?"},whatAreAccounts:{text:"Votre portefeuille peut gérer plusieurs comptes pour un même coin (monnaie). Les différents comptes sont utiles lorsque vous souhaitez conserver des fonds séparément.",title:"Qu'est-ce qu'un compte ?"},whyIsThisUseful:{text:`Les comptes sont parfaits pour gérer des fonds destinés à des personnes ou des objectifs différents, car ils sont distincts. Vous pouvez également partager la "clé publique étendue" (xpub) d'un compte sans rien dévoiler de vos autres comptes. Cela vous permet de recevoir des fonds de manière répétée sans réutiliser les adresses, par exemple pour recevoir votre salaire ou acheter régulièrement des crypto-monnaies.`,title:"Pourquoi est-ce utile ?"}},appendix:{link:"Contactez-nous !",text:"Vous avez une autre question ?"},backups:{check:{text:`"Vérifier la sauvegarde" vous permet de vérifier que vous disposez d'une sauvegarde fonctionnelle correspondant à votre portefeuille actuel. Elle peut également être utilisée pour vérifier que vous disposez toujours du mot de passe de récupération correct. Vous pouvez vérifier votre mot de passe de récupération principal ou votre mot de passe de récupération caché.`,title:'Que signifie "Vérifier la sauvegarde" ?'},encrypt:{text:"Non, mais votre mot de passe de récupération est nécessaire pour dériver le portefeuille à partir de la graine stockée.",title:"Puis-je chiffrer la sauvegarde ?"},howOften:{text:`La sauvegarde est automatiquement générée lorsqu'un nouveau portefeuille est créé. Vous devez effectuer une nouvelle sauvegarde que si votre carte microSD est perdue ou endommagée ou si vous souhaitez utiliser plusieurs cartes microSD pour vos sauvegardes. +Vous n'avez pas besoin de créer une nouvelle sauvegarde après avoir effectué des transactions. Toutes les données associées à vos transactions peuvent être recréées par votre sauvegarde unique qui a été générée automatiquement.`,title:"À quelle fréquence dois-je faire une sauvegarde ?"},whatIsABackup:{text:"C'est une copie de la graine sur une carte microSD. La graine combinée à votre mot de passe de récupération génère votre portefeuille.",title:"Qu'est-ce qu'une sauvegarde ?"}},backupsBB02:{check:{text:'"Vérifier la sauvegarde" vous permet de vérifier que la sauvegarde correspond bien à votre portefeuille.',title:'Que signifie "Vérifier la sauvegarde" ?'},encrypt:{text:`Non. Veillez à conserver la carte microSD en sécurité compte tenu du fait qu'elle contient votre liste de mots permettant la restauration de votre portefeuille. Si vous souhaitez protéger votre graine par mot de passe, vous pouvez activer une phrase secrète dans les paramètres avancés du menu "Gérer l'appareil".`,title:"Puis-je chiffrer la sauvegarde ?"},whatIsABackup:{text:"Il s'agit d'une copie de votre liste de mots BIP39 sur une carte microSD.",title:"Qu'est-ce qu'une sauvegarde ?"}},bitbox:{"2FA":{text:`Lorsque le 2FA est activé, toutes les transactions doivent être approuvées sur votre téléphone portable appairé afin de pouvoir envoyer des jetons. En réalité, un numéro chiffré, à usage unique, est envoyé à l'application mobile, déchiffré et renvoyé au BitBox lorsque vous appuyez sur le bouton "Accepter". Cette communication avec l'appareil se fait via le canal entre le téléphone mobile et l'application de bureau établie lors de l'appareillage. + +Assurez-vous de sauvegarder votre portefeuille et d'appairer l'application mobile avant d'activer le 2FA. Une fois activé, l'appairage entre l'emplacement de la carte micro SD et l'application mobile est désactivé. Il peut être réactivé en réinitialisant le BitBox.`,title:"Comment fonctionne la double authentification (2FA) ?"},disable2FA:{text:`Pour désactiver le 2FA, vous devez réinitialiser votre BitBox, puis restaurer le portefeuille à partir de sa sauvegarde. Assurez-vous que vous êtes toujours en possession de la carte micro SD avec la sauvegarde et que vous vous souvenez du mot de passe de récupération. Puis appuyez sur "Réinitialiser l'appareil". Définissez un nouveau mot de passe et choisissez "Ou restaurer une sauvegarde". Sélectionnez la sauvegarde que vous avez effectuée à partir du portefeuille, cliquez sur "Restaurer" et entrez le mot de passe de récupération que vous avez utilisé lors de la création du portefeuille.`,title:"Comment puis-je désactiver la double authentification (2FA) ?"},ejectBitbox:{text:"Vous pouvez débrancher le BitBox à tout moment sans avoir à l'éjecter.",title:"Comment puis-je éjecter le BitBox ?"},ejectSD:{text:"Vous pouvez retirer la carte microSD du BitBox à tout moment, tant que vous n'êtes pas en train de créer ou de restaurer une sauvegarde.",title:"Comment puis-je éjecter la carte microSD ?"},hiddenWallet:{text:"Il s’agit d’un deuxième portefeuille sur le même appareil, protégé par un mot de passe d'appareil et de récupération différents, qui peut être utile pour un plausible déni. La même graine de sauvegarde est utilisée pour votre portefeuille normal et votre portefeuille caché. Aucune sauvegarde supplémentaire n'est donc nécessaire.",title:"Qu'est-ce qu'un portefeuille caché ?"},legacyHiddenWallet:{text:"Cliquez d'abord sur le bouton ci-dessous (disponible si le BitBox est déverrouillé avec le mot de passe principal de l'appareil et si la double authentification est désactivée), puis rebranchez votre BitBox et déverrouillez-le avec le mot de passe du portefeuille caché.",title:"Comment accéder au portefeuille Legacy caché ?"},pairing:{text:"Après avoir téléchargé notre application mobile pour iOS ou Android, vous devez scanner le QR code affiché, ce qui établit un canal sécurisé entre l'application mobile et l'application de bureau. Une fois scanné, suivez les instructions sur l'application mobile.",title:"Comment appairer votre téléphone en toute sécurité ?"}},cointracking:{text:`Cliquez sur le bouton "Exporter" et ouvrez le dossier de téléchargement où vous trouverez l'exportation CSV. Cliquez ensuite sur le lien ci-dessous, téléchargez votre fichier CSV BitBox et importez les données afin de les utiliser avec votre gestionnaire de portefeuille CoinTracking et pour créer vos déclaration fiscales.`,title:"Comment importer mes transactions dans CoinTracking ?"},device:{attestation:{link:{text:"En savoir plus sur le contrôle d'authenticité"},text:"BitBoxApp effectue un contrôle d'attestation sur la BitBox02 afin de confirmer que le dispositif est bien authentique. La vérification est effectuée localement et ne nécessite aucune connexion à un serveur.",title:"Comment fonctionne le contrôle d'authenticité?"},name:{text:"Ceci est le nom de votre portefeuille et de votre sauvegarde. Ce nom est utilisé pour les sauvegardes futures et permet de faire la distinction entre différents portefeuilles. Il peut être modifié à tout moment mais veuillez noter que les sauvegardes effectuées avant ce changement continueront d' utiliser le nom précédent.",title:"A quoi sert le nom BitBox02?"},"secure-chip":{link:{text:"En savoir plus sur la puce sécurisée"},text:"Cette information indique le modèle de la puce sécurisée. La puce la plus récente est l'ATECC608B, qui bénéficie de caractéristiques de sécurité renforcées comparativement aux précédents modèles.",title:"Pourquoi indiquer le modèle de puce sécurisée?"}},receive:{address:{text:"Vous pouvez donner l'adresse à d'autres personnes pour qu'elles vous envoient des coins. Assurez-vous simplement qu'elles envoient à la bonne adresse.",title:"Que puis-je faire d'une adresse ?"},addressChange:{text:"Dès que vous effectuez une transaction, une nouvelle adresse est automatiquement ajoutée à la liste de sorte qu'il y ait toujours 20 adresses vierges disponibles.",title:"Quand les adresses changent-elles ?"},addressFormats:{text:"Par défaut, le type d'adresse est Native Segwit. Ce type d'adresse est largement adopté par d'autres portefeuilles/exchanges et vous offre les meilleurs niveau de frais pour les transactions quotidiennes. Cependant, vous pouvez également choisir d'envoyer vers Taproot (Bitcoin uniquement), qui est le type d'adresse le plus récent, mais qui n'est peut-être pas encore largement supporté. Par ailleurs, si vous rencontrez des difficultés pour vos envois vers Native Segwit (le type par défaut), vous pouvez essayer de passer à l'ancien type d'adresse Wrapped Segwit, qui peut se révéler compatible avec davantage de portefeuilles/exchanges.",title:`Quand dois-je utiliser la fonction "Modifier le type d'adresse" ?`},howVerify:{text:`Pour le BitBox01, cliquez sur l'icône BitBox dans la barre latérale de gauche et consultez la section appairage. Le guide sera mis à jour et vous pourrez continuer à suivre les instructions à partir de là. +Pour le BitBox02, vous pouvez vérifier les adresses directement sur l'appareil pendant le processus d'envoi/réception.`,title:"Comment puis-je vérifier une adresse en toute sécurité ?"},plugout:{text:"Non, une fois que vous avez envoyé des fonds sur votre adresse BitBox, vous n'avez pas besoin de laisser votre BitBox branchée. Vous êtes libre de pouvoir déconnecter votre BitBox.",title:"Est-ce que je dois laisser mon BitBox branché quand je reçois des fond ?"},why20:{text:`Au démarrage, l'application génère des adresses dérivées de votre graine pour vérifier si elles ont reçu des fonds. Comme l'application peut générer un nombre presque infini d'adresses, elle pourrait prendre des années à effectuer cette vérification de solde. Pour limiter cette recherche, elle s'arrête après avoir généré 20 adresses vierges. Il s'agit de la "limite d'écart" et 20 est une norme commune bien que arbitraire. Voici les 20 adresses parmi lesquelles vous pouvez choisir.`,title:"Pourquoi seulement 20 adresses ?"},whyMany:{text:"Pour préserver la confidentialité et la sécurité, ne donnez jamais deux fois la même adresse. Si vous avez utilisé une adresse, cliquez sur la flèche à droite pour obtenir une nouvelle adresse. Vous pouvez générer jusqu'à 20 adresses à la fois. Voyez les adresses comme des numéros de facture. Toutes les adresses sont dérivées de votre graine, elle même unique.",title:"Pourquoi y a-t-il autant d'adresses ?"},whyVerify:{text:"Vous ne devriez pas faire confiance à votre ordinateur pour générer et afficher des adresses authentiques. Sa grande surface d'attaque le rend beaucoup plus vulnérable qu'un portefeuille physique. Pour le BitBox01, le bouton permettant de vérifier l'adresse envoie l'adresse de manière sécurisée à un téléphone mobile jumelé, à partir duquel vous pouvez également scanner et vérifier le code QR. Pour le BitBox02, l'adresse peut être vérifiée directement sur l'écran du BitBox02.",title:"Pourquoi devrais-je vérifier l'adresse en toute sécurité ?"}},send:{change:{text:"Le change sera restituée sur une adresse Taproot si vous disposez d'au moins un UTXO Taproot. Si vous utilisez le coin control, le change sera transféré vers une adresse Taproot s'il y a au moins un UTXO Taproot parmi les UTXOs sélectionnés. Dans tous les autres cas, le change est envoyé vers une adresse Native Segwit.",title:"Comment le change output (de sortie) est-il déterminé ?"},fee:{text:`Les frais sont basés sur la taille des données de la transaction et non sur son montant. L'estimation des frais à payer sont calculés par l'algorithme du logiciel Bitcoin Core en fonction de la priorité de traitement par le réseau choisie. Ils sont affichés s'ils ont une valeur différente des cibles ci-dessous. + +Économique : 24 blocs (environ 4 heures pour Bitcoin, 1 heure pour Litecoin) +Bas : 12 blocs (environ 2 heures pour Bitcoin, 30 minutes pour Litecoin) +Normal : 6 blocs (environ 1 heure pour Bitcoin, 15 minutes pour Litecoin) +Élevé : 2 blocs (environ 20 minutes pour Bitcoin, 5 minutes pour Litecoin) +(Un bloc prend en moyenne dix minutes pour Bitcoin (2,5 minutes pour Litecoin) à miner et la charge du réseau peut varier considérablement au cours des périodes ci-dessus.)`,title:"Comment les frais sont-ils déterminés ?"},plugout:{text:"Non, une fois que vous avez effectué une transaction, il n'est pas nécessaire de laisser votre BitBox branché. Vous pouvez déconnecter votre BitBox.",title:"Dois-je laisser ma BitBox branchée pendant l'envoi ?"},priority:{text:"Votre transaction sera généralement confirmée plus rapidement par le réseau si les frais que vous êtes prêt à payer sont élevés.",title:"Quelle est la priorité du réseau ?"},revert:{text:`Une fois qu'une transaction est signée et envoyée (c'est-à-dire diffusée sur le réseau), elle ne peut plus être annulée. Vérifiez les transactions (y compris les frais) correctement avant de signer ! +Si vous connaissez le destinataire et qu'il est prêt à vous renvoyer le même montant (moins les frais de transaction), vous pouvez lui communiquer une adresse de réception à vous.`,title:"Puis-je annuler une transaction ?"},whyFee:{text:`Les transactions sont en compétitions les unes avec les autres pour être confirmées par un mineur. Les mineurs choisissent quelles transactions sont à inclure dans la blockchain en fonction des frais de réseau. +Les mineurs votent sur l'historique des transactions. Puisqu'il n'y a pas de tiers de confiance qui impose un vote par personne (ce qui est l'intérêt des blockchains), les mineurs votent sur les transactions en sacrifiant une ressource coûteuse telle que la puissance de calcul. En récompense de leur travail, ils peuvent prétendre aux jetons fraichement créés ainsi qu'aux frais de toutes les transactions qu'ils ont incluses dans leur bloc.`,title:"Pourquoi y a-t-il des frais de réseau ?"}},"settings-electrum":{connection:{text:`Si vous avez l'intention de connecter à votre nœud exclusivement à un seul réseau (par exemple, le réseau wifi de votre domicile), l'utilisation d'une communication réseau normale est suffisante. +Dans ce cas, il est conseillé que votre serveur Electrum fournisse un certificat TLS pour crypter la communication. +Si vous avez l'intention de connecter votre nœud depuis n'importe où, l'utilisation de Tor est la meilleure option. Aucun certificat TLS n'est nécessaire dans ce cas.`,title:"Dois-je utiliser clearnet TCP, TLS ou Tor ?"},instructions:{link:{text:"Guide pour connecter votre nœud"},text:"Pour un tutoriel complet, veuillez consulter notre guide :",title:"Comment je fais pour connecter ma BitBoxApp à mon nœud personnel?"},options:{text:`Il existe différentes solutions pour faire tourner votre propre nœud, comme par exemple acheter un appareil prêt à l'emploi, ou bien fabriquer le vôtre, ou bien encore utiliser Bitcoin Core. +Si vous souhaitez connecter votre BitBoxApp à votre nœud, assurez-vous qu'il tourne sur un serveur Electrum. Il s'agit d'un programme dédié qui permet à une application de portefeuille de communiquer avec votre nœud. +Les options supportées sont Electrs, Electrum Personal Server (EPS) ou Bitcoin Wallet Tracker (BTW).`,title:"Quelles sont les options disponibles pour faire tourner un nœud?"},tor:{text:`Tor est l'acronyme de "The Onion Router", un logiciel libre et gratuit qui offre de nombreux avantages en matière de confidentialité et qui est particulièrement intéressant lorsque vous utilisez Bitcoin. +Si vous avez l'intention de vous connecter à votre nœud via Tor, assurez-vous que Tor est installé sur votre ordinateur, puis activez le proxy Tor dans les paramètres de BitBoxApp. +Sur la plupart des systèmes d'exploitation, il existe deux façons d'exécuter Tor : +1. Navigateur Tor : téléchargez et ouvrez le navigateur Tor. Cela permettra à BitBoxApp de se connecter au réseau Tor en activant le port 9150 dans les paramètres du proxy Tor. +2. Background service Tor : installez le daemon Tor, qui fonctionne toujours en fond. BitBoxApp peut alors se connecter en configurant le port 9050 dans les paramètres du proxy Tor.`,title:"Qu'est-ce que Tor, le proxy Tor et quel port dois-je utiliser ?"},what:{text:"Il est possible de synchroniser votre portefeuille depuis vos propres nœuds complets au lieu d'utiliser les serveurs de Shift.",title:"Qu'est-ce que cela ?"},why:{text:`Faire tourner votre propre nœud n'est pas nécessaire mais améliore la confidentialité et réduit le besoin de faire confiance aux autres. +Premièrement, cela signifie que vous utilisez Bitcoin de manière plus privée car le BitBoxApp ne se connectera pas à nos serveurs pour récupérer l'historique de vos transactions, mais récupérera ces informations à partir de votre propre nœud. +Deuxièmement, faire tourner votre propre nœud signifie que celui-ci vérifie lui-même toutes les transactions, en s'assurant que les règles de consensus sont bien respectées.`,title:"Pourquoi est-ce que je devrais faire tourner mon propre nœud ?"}},settings:{sats:{text:'Un Satoshi ("sat" en abrégé) est la plus petite unité de Bitcoin. Un Satoshi correspond à un cent millionième de bitcoin (0,00000001 BTC). Il tire son nom du créateur de Bitcoin, Satoshi Nakamoto.',title:"Qu'est-ce qu'un Satoshi?"},servers:{text:`Cette application communique avec les serveurs de Shift Crypto pour rechercher des mises à jour, charger des transactions et envoyer des informations aux applications mobiles appairées. +De plus, elle récupère les derniers taux de change de CoinGecko. +Les conversions sont calculées localement, aucun de vos montants n'est transmis. +Note : Pour Ethereum et les jetons ERC20, nous utilisons Etherscan.io APIs.`,title:"Avec quels serveurs cette application communique-t-elle ?"}},title:"Guide",toggle:{close:"Fermer le guide",open:"Guide"},trackingModePortfolioChart:{text:"Sur ordinateur, déplacez le curseur sur le graphique. Sur mobile, maintenez le doigt sur le graphique et faites-le glisser horizontalement.",title:"Comment voir les valeurs historiques sur le graphique?"},unlock:{forgotDevicePassword:{text:"Vous devez réinitialiser l'appareil et restaurer le portefeuille à partir d'une sauvegarde et du mot de passe de récupération.",title:"Que dois-je faire si j'ai oublié le mot de passe de l'appareil ?"},reset:{text:"Entrez un mauvais mot de passe 15 fois. Les dernières tentatives nécessitent une longue pression du bouton tactile sur l'appareil.",title:"Comment réinitialiser l'appareil ?"}},waiting:{deviceNotRecognized:{text:`Le dispositif doit clignoter une fois qu'il est inséré. Assurez-vous qu'il soit inséré dans le bon sens. Si vous rencontrez des difficultés, veuillez nous contacter via le lien ci-dessous. + +La BitBox01 n'est pas utilisable sur mobile. Veuillez utiliser la BitBoxApp sur votre ordinateur pour connecter votre BitBox01.`,title:"Mon BitBox01 n'est pas reconnu"},getDevice:{link:{text:"Commander un BitBox"},text:"Vous pouvez acheter un BitBox dans notre boutique en ligne :",title:"Comment puis-je obtenir un appareil BitBox ?"},internet:{text:"Oui, une connexion à Internet est nécessaire pour synchroniser le portefeuille, envoyer des transactions et récupérer les derniers taux de change.",title:"Cette application nécessite-t-elle une connexion à Internet ?"},lostDevice:{link:{text:"Centre de sauvegarde"},text:"Vous pouvez accéder à vos comptes via un nouveau BitBox ou depuis notre centre de sauvegarde.",title:"J'ai perdu mon appareil. Que faire ?"},useWithoutDevice:{text:"Ce n'est malheureusement pas possible pour le moment.",title:"Puis-je utiliser l'application sans appareil Bitbox ?"},welcome:{text:"Merci d'utiliser cette application développée par Shift Crypto en Suisse. Nous apprécions tous les commentaires dont vous pourriez nous faire part. Vous pouvez nous les soumettre en cliquant sur le lien en bas de page.",title:"Bienvenue dans l'application BitBox !"}},walletConnect:{noPreviousConnections:{text:"Si vous utilisez un nouveau téléphone/ordinateur avec la BitBoxApp, vous devrez vous connecter à nouveau aux DApps. Vous verrez alors vos coins sur la DApps comme précédemment.",title:"Je ne vois pas mes précédentes connexions."},supportedNetworks:{text:"Actuellement, seul le mainnet d’Ethereum est supporté lorsque vous utilisez WalletConnect dans la BitBoxApp. Pour utiliser d'autres chaînes compatibles EVM, veuillez utiliser l'extension de navigateur Rabby wallet.",title:"Quels sont les réseaux supportés ?"},whatIsWalletConnect:{text:"WalletConnect est un protocole de communication pour les applications web3. Il vous permet de vous connecter facilement aux DApps et aux portefeuilles web reposant sur Ethereum sans utiliser d'application tierce; ceci constitue une solution particulièrement pratique pour les utilisateurs Android de la BitBoxApp.",title:"Qu'est-ce que WalletConnect ?"}}},nL={blocksSynced:"{{blocks}} blocs synchronisés"},aL={info1HTML:"Pour un besoin de déni plausible, un portefeuille caché peut être créé à partir d'une combinaison de différents mot de passe de récupération et d'appareil.",info2HTML:"Définissez le mot de passe de l'appareil et de récupération que vous souhaitez associer à votre portefeuille caché ci-dessous. Le mot de passe de l'appareil et le mot de passe de récupération doivent être différents de ceux que vous avez définis pour votre portefeuille principal.",passwordLabel:"Mot de passe de récupération caché",passwordPlaceholder:"Veuillez confirmer le mot de passe de récupération caché",pinLabel:"Mot de passe de l'appareil caché",pinRepeatLabel:"Répéter le mot de passe de l'appareil caché",pinRepeatPlaceholder:"Veuillez confirmer le mot de passe de l'appareil caché",success:"Un portefeuille caché a été créé avec succès. Rebranchez votre BitBox pour le déverrouiller."},iL={create:"Définir le mot de passe de l'appareil",creating:"Définition du mot de passe de l'appareil en cours…",error:{e102:"Le mot de passe de l'appareil doit comporter au moins 4 caractères."},info:{description1:"Choisissez le mot de passe de votre appareil. Celui-ci sera utilisé pour déverrouiller votre BitBox.",description2:"Vous pouvez utiliser des chiffres, des lettres et des symboles. Les mots de passe longs offrent une meilleure sécurité.",description3:"Si vous perdez le mot de passe de votre appareil, vous devrez le réinitialiser et restaurer la sauvegarde de votre portefeuille.",subtitle:"Vous allez maintenant définir le mot de passe de votre appareil",title:"Initialisation de votre appareil"},input:{label:"Mot de passe de l'appareil",labelRepeat:"Répéter le mot de passe de l'appareil",placeholderRepeat:"Veuillez confirmer le mot de passe de l'appareil"}},oL="Format invalide",rL={title:"Choisir la langue"},sL={disable:"Désactiver le portefeuille Legacy caché",enable:"Activer le portefeuille Legacy caché",successDisable:"Portefeuille Legacy caché désactivé avec succès.",successEnable:"Portefeuille Legacy caché activé avec succès. Reconnectez votre BitBox et entrez le mot de passe de l'appareil caché pour accéder au portefeuille Legacy caché."},lL="chargement en cours…",cL={accountHidden:"Ce compte a été retiré de vos comptes watch-only. Pour le voir à nouveau, veuillez brancher votre BitBox02.",editAccount:"Modifier",editAccountNameTitle:"Modifier le nom du compte",noAccounts:"aucun compte trouvé",settings:{hideTokens:"Cacher les jetons",showTokens:"Afficher les jetons ({{activeTokenCount}})"},settingsButtonDescription:"Ajouter et afficher/masquer les comptes",title:"Gestion des comptes",watchAccount:"Compte de suivi",watchAccountDescription:"Ce compte fait partie de vos comptes watch-only. Vous pouvez le faire disparaître de vos comptes watch-only à l'aide du bouton."},uL={usingMobileDataWarning:"Utilisation des données mobiles : cette application peut télécharger jusqu'à quelques centaines de mégaoctets de données d'en-tête de blockchain après avoir déverrouillé un compte. Veuillez vous connecter au Wi-Fi afin d'éviter d'utiliser les données mobiles. Après l'avoir quitté, ce message ne s'affichera plus."},dL={about:{appVersion:{title:"Version de l'application"}},advancedSettings:{authentication:{description:"Verrouiller l'accès à l'application via le verrouillage de l'écran/empreinte digitale.",title:"Verrouillage de l'écran"},coinControl:{description:"Sélectionnez quelles UTXO font partie d'une transaction afin d'améliorer la confidentialité"},customFees:{description:"Vous permet de saisir vos propres frais lors de l'envoi."},torProxy:{description:"Se connecter via Tor pour une meilleure confidentialité."}},appearance:{activeCurrencies:{description:"Ces devises supplémentaires peuvent être sélectionnées sur la page de votre compte.",title:"Devises activées"},darkmode:{description:"Voir la BitBoxApp en dark mode (mode sombre)."},defaultCurrency:{description:"Sélectionnez votre devise par défaut",title:"Devise par défaut"},hideAmounts:{description:"Affiche un bouton permettant de masquer votre solde et vos montants afin d'améliorer votre confidentialité lorsque vous utilisez l'application en public.",hideAmounts:"Cacher les montants",showAmounts:"Afficher les montants",title:"Autoriser la dissimulation des montants"},language:{description:"Quelle langue souhaitez vous que BitBoxApp utilise?",title:"Langue"},toggleSats:{description:"Activer ou désactiver l'unité des Satoshis"}}},pL={input:{description:"(facultatif)",placeholder:"Ajouter une note..."},title:"Note"},hL={newTxs_one:"Nouvelle transaction dans : {{accountName}}",newTxs_other:"{{count}} nouvelles transactions dans : {{accountName}}"},mL={aborted:{text:"L'appairage a été annulé depuis l'application mobile.",title:"Abandonné"},button:"Appairer l'application mobile",confirm:"Êtes-vous sûr de vouloir appairer votre BitBox ? Notez qu'ensuite le téléphone mobile est nécessaire pour effectuer une transaction.",connectOnly:{button:"Connecter l'application mobile",title:'Scannez depuis notre application mobile en cliquant sur "Connecter à une nouvelle application de bureau"'},error:{text:"Quelque chose s'est mal passé. Veuillez recommencer.",title:"Erreur"},pullFailed:{text:"Impossible de faire passer un message de votre mobile par le serveur relais. Le serveur relais est peut-être hors ligne, veuillez contacter l'assistance.",title:"Échec de transfert"},reconnectOnly:{button:"Reconnecter l'application mobile"},scanningFailed:{text:"Le mobile n'a pas pu scanner le message correctement. Veuillez réessayer.",title:"Échec de la numérisation"},start:{hideAppQRCode:"Masquer le QR Code",revealAppQRCode:"Afficher le QR Code",step1:"Si vous ne possédez pas encore l'application mobile, vous pouvez scanner le QR code correspondant à l'App Store ou au Play Store en fonction de votre téléphone.",step2:`Scannez depuis notre application mobile, que vous pouvez trouver sous le nom "Digital Bitbox 2FA" dans les magasins d'applications pour iOS et Android :`},started:{text:"Veuillez maintenant suivre les instructions sur l'application mobile.",title:"Génial"},success:{text:"Félicitations, vous avez appairé votre BitBox à l’application mobile !",title:"Succès"},timeout:{text:"Le temps d'appairage expire après deux minutes. Recommencez si vous souhaitez toujours appairer l'application mobile.",title:"Expiration de session"},title:"Appairage mobile"},fL={considerations:{button:"Considérations relatives à la sauvegarde",message:`La passphrase ajoute une couche de protection supplémentaire à la sauvegarde de votre portefeuille (carte microSD ou mots de récupération). Si quelqu'un a accès à votre sauvegarde, il aura également besoin de la passphrase pour accéder à votre portefeuille. + +Cependant, cela signifie que vous aurez besoin à la fois de la passphrase ET de la sauvegarde du portefeuille pour restaurer votre portefeuille pour lequel la passphrase est activée, au cas où votre BitBox02 serait perdu ou cassé. Si vous oubliez ou perdez votre passphrase, vous perdrez l'accès à toutes les fonds se trouvant dans ce portefeuille. + +Lorsque vous stockez votre passphrase, pensez bien à la conserver dans un endroit différent de celui de votre sauvegarde. De cette façon, si venait à trouver votre sauvegarde, il n'aurait pas accès à votre passphrase également.`,title:"Considérations relatives à la sauvegarde"},disable:"Désactiver la passphrase",disableInfo:{button:"Désactiver",message:`Une fois la passphrase désactivée, il ne vous sera plus demandé de saisir une passphrase après avoir déverrouillé votre BitBox02. Par conséquent, vous entrerez dans votre portefeuille par défaut. + +Tous les coins (monnaies) se trouvant sur votre portefeuille avec passphrase seront toujours sur ce portefeuille, mais vous ne pourrez plus y accéder car après avoir déverrouillé votre BitBox02, vous ouvrirez votre portefeuille par défaut. + +Pour accéder de nouveau à vos portefeuilles avec passphrase, il suffit de réactiver la fonction passphrase et de saisir la passphrase correspondante après déverrouillage de la BitBox02. + +Astuce: Vous pouvez toujours accéder à votre portefeuille d'origine en laissant la phrase de passe vide.`},enable:"Activer la passphrase",error:{e104:"La modification des paramètres de la passphrase a été interrompue."},how:{button:"A quoi ça ressemble",message:`Une passphrase ne fonctionne pas comme les mots de passe auxquels vous êtes habitué. Si vous vous trompez dans la saisie de votre passphrase, vous ne serez pas averti. En effet, chaque passphrase crée un portefeuille distinct, mais valide. Cela signifie que vous pouvez utiliser autant de passphrases que vous le souhaitez afin de créer autant de portefeuilles correspondants. Mais on ne peut accéder à chaque portefeuille qu'en saisissant la passphrase associée. + +Au moment où vous branchez votre BitBox02, le mot de passe de l'appareil vous sera demandé de manière habituelle. Ensuite, il vous sera demandé d'entrer une passphrase sur l'appareil. + +Après avoir saisi la passphrase, vous verrez s'afficher cette même passphrase que vous avez entrée. Cela vous permet de confirmer que vous l'avez saisie correctement.`,title:"Comment ça marche"},intro:{message:`Une passphrase fournit une couche supplémentaire de sécurité en plus pour votre portefeuille. +Voyons comment cela fonctionne.`,title:"Configurer la passphrase"},progressDisable:{message:"Confirmez sur votre BitBox que vous souhaitez désactiver la passphrase optionnelle.",title:"Confirmer sur l'appareil"},progressEnable:{message:"Confirmez sur votre BitBox que vous voulez activer la passphrase optionnelle.",title:"Confirmer sur l'appareil"},successDisabled:{message:`Passphrase optionnelle activée avec succès ! +Il vous sera demandé de fournir une passphrase à partir de maintenant.`,messageEnd:"Veuillez maintenant rebrancher votre BitBox02",title:"Passphrase activée"},successEnabled:{message:`Passphrase optionnelle désactivée avec succès ! +Il ne vous sera plus demandé de fournir une passphrase à partir de maintenant.`,messageEnd:"Veuillez maintenant rebrancher votre BitBox02.",tips:"Astuces",tipsList:["Nous vous suggérons d'envoyer d'abord un petit montant dans le portefeuille avec passphrase. Ensuite, débranchez puis rebranchez la BitBox02 avant de saisir votre mot de passe et votre passphrase. Si vous avez entré votre passphrase correctement, vous devriez voir les fonds dans votre portefeuille.","Si vous souhaitez accéder à votre portefeuille d'origine sans passphrase, vous pouvez toujours le faire en ne saisissant tout simplement rien lorsque vous êtes invité à fournir la passphrase. Vous pouvez également choisir de désactiver la fonction passphrase."],title:"Passphrase désactivée"},summary:{button:"Activer la passphrase",title:"Résumé",understand:"Je comprends le fonctionnement de la passphrase et les risques qui lui sont associés.",understandList:["La passphrase est une couche de sécurité supplémentaire en plus de votre sauvegarde.","La saisie d'une passphrase différente générera à chaque fois un porte-monnaie différent.","Pour restaurer votre portefeuille, vous avez besoin à la fois de la passphrase et de la sauvegarde.","Si vous oubliez votre passphrase, vous ne pourrez plus accéder à vos fonds."]},what:{button:"Découvrez comment cela fonctionne",message:`Un portefeuille est créé (dérivé) à partir d'un nombre aléatoire très grand, également appelé "seed" (graine). Cette seed est créée lors de la première configuration de votre BitBox02 et est sauvegardée via la carte microSD ou les mots de récupération. Toute personne ayant accès à la seed dispose d'un contrôle total sur les fonds de ce portefeuille. + +Une passphrase est un secret optionnel, ajouté à la seed. Lorsque vous utilisez une passphrase, chaque passphrase crée un nouveau portefeuille basé sur la seed + la passphrase (secret optionnel). Une passphrase peut être n'importe quoi : des lettres, des mots, des caractères spéciaux ou même être vide. Le portefeuille par défaut est en fait dérivé de la seed + passphrase vide. + +La passphrase fait partie de la norme BIP39, ce qui signifie qu'elle est compatible avec tous les portefeuilles qui supportent cette dernière.`,title:"Qu'est-ce qu'une passphrase?"},why:{button:"Pourquoi utiliser une passphrase",message:`La BitBox02 protège la seed contre l'extraction depuis l'appareil lui-même, mais la sauvegarde (carte microSD ou mots de récupération) donne un accès complet au portefeuille. C'est pourquoi elle doit être stockée dans un endroit sûr ! + +Puisqu'une passphrase crée un nouveau portefeuille en utilisant votre seed existante, le portefeuille avec passphrase nécessite à la fois votre sauvegarde ET votre passphrase pour être restauré. L'avantage de ceci est que si quelqu'un trouve votre sauvegarde, il a toujours besoin de la passphrase pour accéder au poretefeuille avec passphrase. + +En outre, la fonction passphrase vous permet de créer plusieurs portefeuilles sur le même appareil, ou "portefeuilles cachés", en plus du portefeuille par défaut.`,title:"Pourquoi utiliser une passphrase"}},gL={show:"Montrer {{label}}",warning:{caps:"ATTENTION : le verrouillage des majuscules (⇪) est activé",paste:'Pour coller du texte, activez "Montrer {{label}}"'}},vL={button:"Générer un numéro aléatoire",description:"Votre BitBox a généré le numéro aléatoire à {{bits}}-bit suivant :"},bL={changeScriptType:"Changer de type d'adresse",label:"Votre adresse",onlyThisCoin:{description:"Pour recevoir d'autres coins, activez-les dans les paramètres. Si vous déposez d'autres coins, il se peut qu'ils ne soient pas accessibles.",warning:"Assurez-vous de ne recevoir que {{coinName}} sur cette adresse."},scriptType:{p2tr:"Taproot (nouveau format d'adresse)",p2wpkh:"Native Segwit (par défaut)","p2wpkh-p2sh":"Wrapped Segwit (format compatible)"},selectAccount:"Sélectionner un compte",showFull:"Afficher et vérifier l'adresse complète sur l'appareil",taprootWarning:`Remarque : Taproot est une nouvelle fonctionnalité sur Bitcoin et n'est pas encore largement adoptée. Les fonds reçus sur les adresses Taproot peuvent potentiellement ne pas être visibles depuis les portefeuilles "watch-only" tiers. De nombreux portefeuilles et exchanges ne sont pas encore en mesure d'envoyer des fonds aux adresses Taproot.`,title:"Recevoir {{accountName}}",verify:"Vérifier l'adresse de façon sécurisée",verifyBitBox01:"Vérifier l'adresse sur l'application mobile",verifyBitBox02:"Vérifier l'adresse sur le BitBox02",verifyInstruction:"Veuillez vérifier que l'adresse suivante correspond à celle affichée sur votre appareil.",warning:{secureOutput:"Veuillez appairer votre BitBox avec votre téléphone mobile pour activer la vérification sécurisée des adresses. Cliquez sur «Gérer l'appareil» dans la barre latérale."}},kL={description:"Toutes les données vont être supprimées de l'appareil. Ceci inclut votre Clé Privée !",notReset:"Appareil NON réinitialisé.",title:"Réinitialiser l'appareil aux paramètres usine",understand:"J'ai une sauvegarde et je connais mon mot de passe de récupération",understandBB02:"J'ai une sauvegarde valide"},xL={create:{description1:"Il est recommandé de configurer votre appareil dans un environnement sécurisé; c'est-à-dire loin d'autres personnes qui seraient susceptibles de voir le mot de passe que vous choisissez.",description2:"Il vous sera demandé de créer deux mots de passe.",description3:"Le premier est le mot de passe de l'appareil qui déverrouille votre BitBox et peut être modifié ultérieurement.",description4:"Le second est le mot de passe de récupération qui déverrouille votre portefeuille. Ce mot de passe ne peut PAS être changé ultérieurement.",description5:"Le portefeuille que vous créez sera sauvegardé dans un fichier sur la carte microSD fournie. Elle peut être utilisé en cas d'urgence pour récupérer vos fonds avec l'aide de votre mot de passe de récupération.",title:"Information de sécurité"},restore:{description1:"Il vous sera demandé d'insérer la carte microSD utilisée pour votre sauvegarde.",description2:"Pour restaurer votre appareil, vous aurez besoin de votre mot de passe de récupération.",description3:"Veuillez faire attention lorsque vous entrez le mot de passe de récupération. Tout mot de passe que vous entrez créera un portefeuille valide. Si vous entrez un mot de passe différent, le solde du portefeuille ne sera pas celui attendu.",title:"Information de sécurité"}},yL={agreements:{"funds-access":"Je ne pourrai PAS accéder à mes fonds si j'oublie mon mot de passe de récupération","password-change":"Je ne peux PAS changer le mot de passe de récupération ultérieurement","password-required":"Le mot de passe de récupération est nécessaire pour restaurer un portefeuille à partir d'une sauvegarde."},create:"Créer un portefeuille",creating:"Créer un portefeuille",description:"Je comprends que :",error:{e102:"Le mot de passe doit contenir au minimum 4 caractères.",e200:"Vous devez insérer une carte microSD dans votre BitBox afin de créer un portefeuille, une sauvegarde se créée ainsi automatiquement."},info:{button:"Définir le mot de passe maintenant",description1:"Insérez la carte microSD dans le BitBox",description2:'Choisissez un mot de passe de récupération pour le portefeuille et sélectionnez "Définir le mot de passe de récupération maintenant".',description3:"La sauvegarde sur une carte microSD et votre mot de passe de récupération constituent le seul moyen de récupérer vos fonds en cas de perte ou de vol de votre BitBox.",description4:"Vous ne pouvez pas modifier votre mot de passe de récupération sans avoir transféré vos fonds au préalable.",title:"Créer un nouveau portefeuille"},password:{label:"Mot de passe de récupération",repeatPlaceholder:"Répéter le mot de passe de récupération"},walletName:{label:"Nom du portefeuille"}},wL={error:{e200:"La restauration d'un portefeuille à partir d'une sauvegarde nécessite la carte microSD."},info:{description1:"Insérez la carte microSD dans le BitBox et cliquez sur «Continuer»",description2:'Choisissez une sauvegarde et cliquez sur "Restaurer"',description3:"Entrez le mot de passe de récupération",description4:"Vous devez confirmer avoir compris qu'un mot de passe incorrect créera un portefeuille différent.",title:"Comment restaurer un portefeuille à partir d'une sauvegarde"}},jL={abort:"La transaction a été annulée.",address:{label:"Adresse du destinataire",placeholder:"Entrer l'adresse"},amount:{label:"Montant",placeholder:"Entrer le montant"},availableBalance:"Solde disponible",button:"Revoir",coincontrol:{address:"Adresse",outpoint:"Point de sortie",title:"Envoi à partir de"},confirm:{"selected-coins":"Coins sélectionnés",title:"Confirmer et envoyer la transaction",total:"Total"},error:{erc20InsufficientGasFunds:"Il semblerait que vous n'ayez pas assez d'Ether pour régler cette transaction ERC20. Veuillez vous assurer que vous avez suffisamment d'Ether dans votre portefeuille.",feeTooLow:"Frais pas assez élevés",feesNotAvailable:"Estimation des frais impossible",insufficientFunds:"fonds insuffisants",invalidAddress:"adresse invalide",invalidAmount:"montant invalide",invalidData:"données invalides"},fee:{customPlaceholder:"Entrer le montant",label:"Frais de réseau",placeholder:"Indisponible"},feeTarget:{customLabel:"Taux des frais",customLabel_eth:"Prix du Gas",description:{economy:"4 heures (24 blocs)",economy_eth:"30 minutes maximum",economy_ltc:"1 heure (24 blocs)",high:"20 minutes (2 blocs)",high_eth:"30 secondes maximum",high_ltc:"5 minutes (2 blocs)",low:"2 heures (12 blocs)",low_eth:"5 minutes maximum",low_ltc:"30 minutes (12 blocs)",normal:"1 heure (6 blocs)",normal_eth:"2 minutes maximum",normal_ltc:"15 minutes (6 blocs)"},estimate:"Temps d'attente estimé avant confirmation:",label:{custom:"Personnalisé",economy:"Économique",high:"Élevé",low:"Faible",normal:"Normal"},placeholder:"Calcul des frais…"},maximum:"Envoyer tout",maximumSelectedCoins:"",noFeeTargets:"L'estimation des frais n'est pas disponible actuellement. Veuillez réessayer plus tard ou saisir des frais personnalisés.",priority:"Priorité",scanQR:"Scanner un QR Code",signprogress:{description:"Cette transaction contient beaucoup de données. Pour la signer entièrement, il vous sera demandé de confirmer {{steps}} fois.",label:"Avancement"},success:"La transaction a été signée et envoyée.",title:"Envoyer {{accountName}}",toggleCoinControl:"Sélecteur de coins",transactionDetails:"Détails de la transaction"},BL={about:"À propos",accounts:"Comptes",advancedSettings:"Paramètres avancés",appearance:"Apparence",electrum:{add:"Ajouter un serveur","add-server":"Ajouter",check:"Vérifier",checkFailed:"Échoué",checkSuccess:"Connexion à {{hôte}} réussie",checking:"Vérification","download-cert":"Télécharger le certificat distant","remove-server":"Retirer",removeConfirm:"Supprimer {{serveur}} ?",reset:"Réinitialisation aux valeurs par défaut",resetConfirm:'Voulez-vous retirer tous les serveurs et installer ceux "par défaut" ?',servers:"Serveurs",step1:"1","step1-text":"Entrez le endpoint.",step2:"2","step2-text":"Entrez un certificat de la chaîne de certificats du serveur. Vous pouvez également télécharger le certificat isolé et le comparer visuellement.","step2-text-tcp":"Vous pouvez sauter cette étape si vous ne souhaitez pas utiliser TLS.",step3:"3","step3-text":"Vérifiez la connexion et ajoutez le serveur.",step4:"4","step4-text":"Redémarrez l'appareil. Si vous ne supprimez pas les serveurs par défaut votre nœud sera ajouté comme une redondance.","title-btc":"Serveurs Bitcoin Electrum","title-ltc":"Serveurs Litecoin Electrum","title-tbtc":"Serveurs Bitcoin Testnet Electrum","title-tltc":"Serveurs Litecoin Testnet Electrum"},expert:{coinControl:"Activer le contrôle des monnaies",electrum:{description:"Vous pouvez vous connecter à votre propre nœud Electrum.",title:"Connectez votre nœud complet"},fee:"Activer la personnalisation des frais",setProxyAddress:"Définir une adresse proxy",title:"Paramètres avancés",useProxy:"Activer tor proxy",useSats:"Afficher les valeurs des BTC en Satoshis"},header:{home:"Accueil"},info:{"out-of-date":"Nouvelle mise à jour disponible",title:"Info","up-to-date":"Votre application est à jour",version:"Version de l'application"},restart:"Veuillez redémarrer la BitBoxApp pour que les changements prennent effet.",services:{title:"Services"},success:"Veuillez débrancher et reconnecter le BitBox pour que les modifications prennent effet.",title:"Paramètres"},SL="Configuration de l'appareil",zL={buy:"Acheter de la crypto",device:"Gérer l'appareil",leave:"Quitter",settings:"Paramètres"},CL={create:{info1:"Votre portefeuille a été correctement sauvegardé sur la carte microSD. Retirez-la et gardez-la en sécurité.",info2:"Vous avez créé un mot de passe sécurisé pour l'appareil qui permet de déverrouiller votre BitBox.",info3:"Vous avez créé un mot de passe de récupération sécurisé pour votre portefeuille, qui déverrouille vos fonds et permet la restauration de vos sauvegardes.",summary:"Voici un résumé de ce que vous avez fait",title:"Succès"},getstarted:"Commencer",restore:{summary:"Vous avez restauré avec succès un portefeuille à partir de votre sauvegarde.",title:"Succès"}},DL={confirmation:"Confirmations",details:{activity:"Activité",address:"Adresse",amount:"Montant",date:"Date",fiat:"Devise",fiatAmount:"Montant en Fiat",fiatAtTime:"Fiat au moment de la transaction",status:"Statut",type:"Type"},explorer:"Identification de transaction",explorerTitle:"Ouvrir dans un Explorateur de blocs externe",fee:"Frais",fiatHistorical:"Historique",gas:"Gaz",note:{edit:"Modifier la note",save:"Sauvegarder la note"},pending:"Transaction en attente",size:"Taille",status:{complete:"Terminé",failed:"Échoué",pending:"En attente"},tx:{received:"Reçu de",sent:"Envoyé à"},vsize:"Taille virtuelle",weight:"Poids"},AL={errorLoadTransactions:"Une erreur s'est produite lors du chargement des transactions",placeholder:"Aucune transaction pour le moment."},_L="Une erreur inconnue s'est produite : {{errorMessage}}",TL={description:"Entrez le mot de passe de votre appareil pour le déverrouiller.",error:{e109_normal:"Mauvais mot de passe. {{remainingAttempts}} essais restant avant que l'appareil se réinitialise.",e109_touch:"$t(unlock.error.e109_normal) La prochaine connexion nécessite de maintenir le bouton tactile enfoncé.",e113:"En raison de nombreuses tentatives de connexion, la connexion suivante nécessite de maintenir le bouton tactile enfoncé pendant 4 secondes."},input:{label:"Mot de passe de l'appareil",placeholder:"Entrez le mot de passe de votre appareil pour le déverrouiller"},unlocking:"Déverrouillage…"},EL={button:"Mettre à jour le firmware",description:"Voulez-vous mettre à jour le firmware de la version {{currentVersion}} à la {{newVersion}} ?",label:"Une mise à jour du firmware de votre BitBox est nécessaire.",locked:"Pour effectuer la mise à jour de la {{currentVersion}} à la {{newVersion}}, veuillez presser longuement le bouton tactile.",title:"Mettre à jour le firmware",unlocked:"Le chargeur d'amorçage est déverrouillé. Pour continuer, veuillez :",unlocked1:"Débrancher et rebrancher votre BitBox",unlocked2:"La LED s'allumera lorsque votre BitBox sera rebranché",unlocked3:"Appuyez sur le bouton tactile lorsque la LED s'allume"},PL={connect:{button:"Connecter",dappLabel:"Saisir l'adresse URI de la Dapp",invalidPairingUri:"Uri d'appariement non valide"},dashboard:{allSessions:"Toutes les sessions",disclaimer:"Walletconnect est un protocole permettant de se connecter à des Dapps basées sur Ethereum. Ces Dapps sont gérées par des services tiers, ne vous connectez donc uniquement qu'à des Dapps en lesquelles vous avez entièrement confiance et assurez-vous de toujours savoir ce que vous signez lorsque vous effectuez une transaction.",newConnection:"Nouvelle connexion",noConnectedSessions:"Aucun compte n'est actuellement connecté à une Dapp."},invalidPairingChain:"Erreur dans l'approbation de l'appariement. Veillez à utiliser l'une des chaînes prises en charge : {{chains}}",pairingRequest:{approve:"Approuver la connexion",reject:"Rejeter",title:"Nouvelle demande de connexion de"},pairingSuccess:"Dapp connectée avec succès. Vous pouvez continuer sur le site de la Dapp.",signingRequest:{account:"Compte",chain:"Chaîne",dapp:"Dapp",data:"Données",dataParsingError:"Échec de l'analyse des données",decodeError:"Échec de déchiffrage du message",method:{sendTransaction:"Signer et envoyer la transaction",signMessage:"Signer un message",signTransaction:"Signer une transaction",signTypedData:"Signer les données saisies"},successfullySigned:"Requête signée avec succès",walletConnectRequest:"Demande WalletConnect"},useNewUri:"Cet URI a déjà été utilisé pour une tentative de connexion. Veuillez utiliser un nouvel URI.",walletConnect:"WalletConnect"},NL={receivePairing:"Veuillez appairer le BitBox pour activer la vérification d'adresse sécurisée. Cliquez sur «Gérer l'appareil» dans la barre latérale.",sdcard:"Conservez la carte micro SD séparément du BitBox, à moins que vous ne souhaitiez gérer les sauvegardes.",sendPairing:"Veuillez appairer le BitBox pour vérifier le détails de la transaction en toute sécurité. Cliquez sur «Gérer l'appareil» dans la barre latérale."},LL={connect:"Connexion BitBox02",getStarted:"Commençons en installant le firmware sur votre BitBox02",insertBitBox02:"Pour le BitBox02, appuyez sur l'appareil pour continuer.",insertDevice:"Pour commencer, veuillez connecter votre appareil",title:"Bienvenue"},IL={account:kN,accountInfo:xN,accountSummary:yN,addAccount:wN,aopp:jN,app:BN,auth:SN,backup:zN,bb02Bootloader:CN,bitbox:DN,bitbox02Interact:AN,bitbox02Settings:_N,bitbox02Wizard:TN,blink:EN,bootloader:PN,button:NN,buy:LN,changePin:IN,chart:$N,checkSDcard:MN,clickHere:ON,confirm:RN,confirmOnDevice:FN,connectKeystore:VN,darkmode:WN,device:UN,deviceLock:qN,deviceSettings:HN,deviceTampered:KN,dialog:GN,error:QN,fiat:YN,footer:ZN,generic:JN,genericError:XN,goal:eL,guide:tL,headerssync:nL,hiddenWallet:aL,initialize:iL,invalidFormat:oL,language:rL,legacyhiddenwallet:sL,loading:lL,manageAccounts:cL,mobile:uL,newSettings:dL,note:pL,notification:hL,pairing:mL,passphrase:fL,password:gL,random:vL,receive:bL,reset:kL,securityInformation:xL,seed:yL,seedRestore:wL,send:jL,settings:BL,setup:SL,sidebar:zL,success:CL,transaction:DL,transactions:AL,unknownError:_L,unlock:TL,upgradeFirmware:EL,walletConnect:PL,warning:NL,welcome:LL},$L={disconnect:"接続が切れました。再試行中です…",export:"エクスポート",exportTransactions:"取引一覧をCSV形式でダウンロードフォルダにエクスポート",fatalError:"予期せぬエラーが起こりました。",incoming:"受信中",initializing:"ブロックチェーンから情報を取得中…",maybeProxyError:"Torプロキシが有効化されています。Torプロキシが正しく動作していることを確認するか、プロキシ設定を無効にしてください。",reconnecting:"接続が切れました。再試行中…",syncedAddressesCount:"{{count}}個のアドレスをスキャンしました"},ML={address:"アドレス",buyCTA:{buy:"{{unit}}を購入する",buyCrypto:"仮想通貨を購入",information:{looksEmpty:"このウォレットは空のようです",start:"いくつかのコインをウォレットに入金するか、BitBoxAppで直接購入して始めましょう"}},extendedPublicKey:"拡張公開鍵",label:"アカウント情報",scriptType:"スクリプトタイプ",title:"アカウント情報",verify:"デバイスで確認",xpubTypeChangeBtn:{p2pkh:" legacy P2PKH拡張公開鍵を表示",p2tr:"Taprootを表示",p2wpkh:"ネイティブSegwitを表示","p2wpkh-p2sh":"古いSegwit拡張公開鍵を表示"},xpubTypeInfo:"現在、{{scriptType}}拡張公開鍵({{numberOfXPubs}}中の{{current}})を表示しています"},OL={availableBalance:"利用可能な残高",balance:"残高",exportSummary:"ダウンロードフォルダにアカウント概要をCSV形式でエクスポートする",fiatBalance:"フィアット残高",name:"アカウント名",noAccount:"表示できるアカウントがありません。",subtotalWithCoinName:"合計({{coinName}})",title:"ポートフォリオ",total:"合計",transactionHistory:"取引履歴"},RL={chooseName:{nextButton:"アカウントを追加",step:"アカウント名をつける",title:"あなたのアカウントに名前を付けてください"},selectCoin:{nextButton:"次",step:"コインを選択",title:"仮想通貨を選択"},success:{addAnotherAccount:"別のアカウントを追加",message:"{{accountName}}があなたのアカウントに追加されました",nextButton:"完了",step:"終了",title:"アカウント追加済み"},title:"アカウントを追加"},FL={addressRequest:"{{host}}は受け取りアドレスを要求しています",addressRequestWithLogo:"受け取りアドレスを要求しています",banner:"アドレスのリクエストを処理中",errorTitle:"アドレスのリクエスト中にエラーが起きました",labelAddress:"アドレス",labelMessage:"メッセージ",reverifyInfoText:"アドレスの確認",signing:"進めるには、BitBox02でメッセージに署名してください",success:{message:"{{host}}で進めてください",title:"アドレスの送信に成功"},syncing:"アカウントを同期しています、お待ちください",title:"アドレスリクエスト"},VL={upgrade:"アプリの新しいバージョンが利用可能です!{{current}}から{{version}}にアップグレードしてください。"},WL={authButton:"認証",title:"続行するには認証してください"},UL={check:{checking:"バックアップを確認中…",confirmTitle:"バックアップを確認",notOK:"このバックアップはウォレットと一致しません。",ok:"このバックアップはウォレットと一致します。",password:{label:"リカバリーパスワード",placeholder:"リカバリーパスワード",showLabel:"リカバリーパスワード"},success:"バックアップの検証に成功:",title:"バックアップを確認"},create:{alreadyExists:"既に有効なバックアップが存在します。再作成しますか?",fail:"バックアップの作成に失敗しました。",info:"認証のため、現在のウォレットのリカバリーパスワードを入力してください。",name:{label:"バックアップの名前",placeholder:"バックアップに名前をつけてください"},password:{label:"リカバリーパスワード",placeholder:"リカバリーパスワードを入力してください"},title:"バックアップの作成",verificationFailed:"リカバリーパスワードが現在のウォレットと一致しません。バックアップは作成されました。リカバリーパスワードを検証するには「バックアップの確認」をご利用ください。"},description:"ウォレットのバックアップファイルを選択してください",insert:"バックアップを管理するにはSDカードを挿入してください。",insertButton:"SDカードを挿入しました",list:"microSDカード上のバックアップ",noBackups:"このmicroSDカードにはバックアップが存在しません。",restore:{confirmTitle:"バックアップの復元",error:{e200:"microSDカードが見つかりません",general:"バックアップの復元中にエラーが発生しました。"},password:{label:"リカバリーパスワードもしくは秘密リカバリーパスワード",placeholder:"リカバリーパスワード",repeatPlaceholder:"リカバリーパスワードの確認",showLabel:"リカバリーパスワード"},restoring:"バックアップから復元中…",selectedBackup:"{{backupName}}は、{{createdDateTime}}に作成され、復元されます。",title:"復元",understand:"間違ったリカバリーパスワードは別のウォレットを作成することを理解しました"},showMnemonic:{description:`あなたのリカバリーワードが表示されます。これらはあなたのウォレットのバックアップを形成します。それらを紙に書き留めてください。 + +それらをデジタルに保存したり、写真を撮ったりしないでください。 + +単語を大声で言わないでください。 + +このバックアップはパスワードによって保護されていません。 + +その後、各単語を確認していただくことになります。`,title:"リカバリーワードを表示する",warning:"リカバリーワードは決して誰にも教えないでください。それによって、あなたのウォレットへ完全にアクセスできるようになります。もし誰かがあなたのリカバリーワードを尋ねてきたら、それは詐欺師です!"},title:"バックアップの管理"},qL={abort:"アップグレードしない – 前の画面に戻る",abort_noUpgrade:"前の画面に戻る",advanced:{label:"詳細設定",toggleShowFirmwareHash:"起動時に毎回ファームウェアのハッシュを表示"},flipscreen:"画面を反転",orientation:"デバイスの向きは合っていますか? ",success:"アップグレードに成功しました!{{rebootSeconds}}秒後に次に進みます。",success_install:"インストールが成功しました!{{rebootSeconds}} 秒後に次に進みます"},HL={error:{e10000:"現在のデバイスのパスワードが間違っています。",e10001:"デバイスのパスワードの変更に失敗しました。",e102:"パスワードは4文字以上(半角)必要です。",e112:"秘密デバイスのパスワードとメインデバイスのパスワードは同じではいけません。"}},KL={confirmDate:"本日の日付をBitBox02で確認してください",confirmDateText:"この日付はバックアップ作成に使用されます。",confirmName:"名前をBitBox02で確認してください",confirmWords:"あなたのBitBox02に{{amount}}のリカバリーワードを記入してください",confirmWordsText:"その後、BitBox02は、バックアップが正しいかどうかを確認するために、各単語を確認するよう求めます。",followInstructions:"BitBox02の手順に従ってください。",followInstructionsMnemonic:"バックアップからリカバリーワードを入力し、ウォレットを復元するために、BitBox02の指示に従ってください。",followInstructionsMnemonicTitle:"リカバリーワードから復元する"},GL={deviceName:{current:"現在のデバイス名",error:"デバイス名を設定できませんでした。",error_104:"デバイス上でデバイス名の確認が中止されました。",input:"BitBox02 名前",placeholder:"新しいデバイス名",title:"BitBox02の名前を設定"},gotoStartupSettings:{description:"これにより、BitBox02が再起動し、起動設定に入ります",title:"起動設定に移動"}},QL={advanced:{button:"詳細オプション",outOfDate:"この機能にはファームウェアが古すぎます。",seed12WordInfo:"ウォレットを作成した後で単語の数を変更することはできないことに注意してください。",seed12WordLabel:"24語のシードの代わりに12語のシードを作成します。",seed12WordText:"デフォルトでは、BitBox02は24語のシードを使用します。どちらのシード長も実際のところブルートフォース攻撃に対して安全です。一部のユーザーは12語のシードの便利さを好むかもしれません。",skipSDCardLabel:"マイクロSDカードのバックアップをスキップして、代わりにリカバリーワードを書き留めてください",skipSDCardText:"セットアップ後にmicroSDカードのバックアップを作成したり、リカバリーワードを書き込んだりするオプションは常に用意されています。これは、設定から行うことができます。",title:"高度なバックアップオプション"},attestationFailed:"正規性チェックに失敗しました。これは、デバイスがユーザー入力を待っている間にアプリを再起動したためである可能性があります。再接続して再試行してください。この問題が続く場合は、support@bitbox.swissにお問合せください。",backup:{point1:"microSDカードのバックアップを選択してください",point2:"デバイスのパスワードを設定",restoreText:"さあ、バックアップを復元しましょう!",text1:"これでBitBox02のパスワードは設定され、ウォレットも作成されました。次はバックアップを作成しましょう、microSDカードがデバイスに挿入されていることを確認してから次に進んでください。",text2:"デバイス上の画面の指示に従って、バックアップを作成してください。",text3:"バックアップ作成後にデバイスからmicroSDカードを取り外し、安全な場所に保管してください。microSDカードの内容はパスワード保護されていません。BitBox02以外のデバイスに挿入しないよう気をつけてください。",userConfirmation1:"バックアップは安全な場所に保管するべきです。",userConfirmation2:"バックアップはパスワードによって保護されていません。バックアップにアクセスできる人はあなたのウォレットにもアクセスできます。",userConfirmation3:"BitBox02が損傷または紛失した際には、バックアップからしか、資金を復元できません。",userConfirmation4:"バックアップとBitBox02の両方を紛失または損傷させた場合、資金は失われます。",userConfirmation5:"マイクロSDカードのバックアップをコンピューター、携帯電話、プリンター、またはBitBox02以外の任意のデバイスに挿入すべきではありません。",userConfirmation5mnemonic:"リカバリーワードをBitBox02以外のコンピュータ、電話、プリンタ、または他のデバイスに入れるべきではありません。"},create:{button:"デバイス名を設定して続行",info:"BitBoxの初期設定には下記のステップを行います:",inputTitle:"ウォレット名前",point1:"デバイス名の設定",point2:"デバイスのパスワードを設定",point3:"バックアップ作成",text:"さあ、新しいウォレットを作りましょう!"},createBackupAborted:"バックアップの作成が中断されました。",createBackupFailed:"バックアップの作成に失敗しました、再度試してください。",initialize:{passwordText:"次にデバイスのパスワードを設定しましょう。BitBoxを操作してパスワードの入力を行ってください。",passwordTitle:"BitBoxのパスワードを設定",text:"BitBox02のペアリングに成功しました!次にデバイスの初期化を行いましょう。まず最初に新しくウォレットを作成するか、既存のバックアップを復元するかを選んでください。次のステップに進む前に、デバイスにmicroSDカードが挿入されていることを確認してください。",tip:"安全な場所で進めることをお勧めします。",title:"BitBoxの初期化"},insertSDCard:"BitBox02にmicroSDカードが挿入されていることを確認してください。違ったデバイスパスワード・リカバリーパスワードで隠しウォレットを作ることができます。",info2HTML:"隠しウォレットに紐づけるデバイスパスワードとリカバリーパスワードを決めてください。これら2つのパスワードは、通常のウォレットとは違うパスワードでなければいけません。",passwordLabel:"隠しリカバリーパスワード",passwordPlaceholder:"隠しリカバリーパスワードの確認",pinLabel:"隠しデバイスパスワード",pinRepeatLabel:"隠しデバイスパスワードの確認",pinRepeatPlaceholder:"隠しデバイスパスワードの確認",success:"隠しウォレットの作成に成功しました。アンロックするにはデバイスを一度抜いて、再度挿入してください。"},wI={create:"デバイスパスワードを設定",creating:"デバイスパスワードを設定中…",error:{e102:"デバイスパスワードは4文字以上(半角)でなければいけません。"},info:{description1:"デバイスパスワードを決めてください。これはあなたのBitBoxのアンロックに使用されます。",description2:"半角の数字、文字、及び記号を使用できます。",description3:"デバイスパスワードを紛失した場合は、デバイスをリセットしてからウォレットをバックアップから復元する必要があります。",subtitle:"これからあなたのデバイスパスワードを設定します",title:"デバイスの初期化"},input:{label:"デバイスパスワード",labelRepeat:"デバイスパスワードの確認",placeholderRepeat:"デバイスパスワードの確認"}},jI="無効な形式です",BI={title:"言語を選択してください"},SI={disable:" legacy秘密ウォレットの無効化",enable:" legacy秘密ウォレットの有効化",successDisable:" legacy秘密ウォレットの無効化に成功しました。",successEnable:" legacy秘密ウォレットの有効化に成功しました。BitBoxを挿し直し、秘密デバイスパスワードを入力してレガシー秘密ウォレットにアクセスしてください。"},zI="ロード中…",CI={accountHidden:"このアカウントは、閲覧専用アカウントから非表示にされています。再度表示するには、BitBox02を接続してください。",editAccount:"編集",editAccountNameTitle:"アカウント名を編集する",noAccounts:"アカウントが見つかりません",settings:{hideTokens:"トークンを隠す",showTokens:"トークンを表示する ({{activeTokenCount}})"},settingsButtonDescription:"アカウントの追加と表示/非表示",title:"アカウント管理",watchAccount:"閲覧アカウント",watchAccountDescription:"このアカウントは閲覧専用アカウントの一部です。トグルを使用して、閲覧専用から非表示にすることができます。"},DI={usingMobileDataWarning:"モバイルデータ使用:このアプリは、アカウントロック解除後に最大数百メガバイトのブロックチェーンヘッダーデータをダウンロードする場合があります。モバイルデータの使用を避けるため、Wi-Fiに接続してください。このメッセージは、一度閉じると再び表示されません。"},AI={about:{appVersion:{title:"アプリバージョン"}},advancedSettings:{authentication:{description:"アプリへのアクセスを画面ロックや指紋認証でロックします。",title:"スクリーンロック"},coinControl:{description:"プライバシーを向上させるために、トランザクションに含まれるUTXO(未使用取引出力)を選択してください。"},customFees:{description:"送信時に独自の手数料を入力することができます。"},torProxy:{description:"プライバシーを向上させるために、Tor経由で接続してください。"}},appearance:{activeCurrencies:{description:"これらの追加通貨は、アカウントページで切り替えることができます。",title:"活発な通貨"},darkmode:{description:"ダークモードでのBitBoxAppをご覧ください。"},defaultCurrency:{description:"デフォルトの通貨を選択してください。",title:"デフォルトの通貨"},hideAmounts:{description:"公共の場でアプリを使用する際にプライバシーを向上させるために、残高や金額を非表示にするトグルを表示します。",hideAmounts:"金額を隠す",showAmounts:"金額を表示する",title:"金額の非表示を許可する"},language:{description:"BitBoxAppで使用する言語を選択してください。",title:"言語"},toggleSats:{description:" Satoshi単位を有効または無効にします。"}}},_I={input:{description:"(任意)",placeholder:"メモを追加する..."},title:"メモ"},TI={newTxs_one:"{{accountName}}にて{{count}}個の新しいトランザクション",newTxs_other:"{{accountName}}に{{count}}件の新しい取引があります"},EI={aborted:{text:"ペアリングはモバイルアプリから取り消されました。",title:"中止しました"},button:"モバイルアプリをペアリングする",confirm:"本当にBitBoxのペアリングを行いますか?この場合、トランザクションを行うには携帯電話が必要になります。",connectOnly:{button:"モバイルアプリに接続する",title:"モバイルアプリから「Connect to new desktop app」を選択してスキャンを行なってください。"},error:{text:"問題が起きました。もう一度やり直してください。",title:"エラー"},pullFailed:{text:"リレーサーバーを介してモバイルからメッセージを取得できませんでした。リレーサーバーがオフラインの可能性がありますので、サポートにお問い合わせください。",title:"取得に失敗しました"},reconnectOnly:{button:"モバイルアプリに再接続"},scanningFailed:{text:"モバイルでは、メッセージを正常にスキャンできませんでした。もう一度お試しください。",title:"スキャンに失敗しました"},start:{hideAppQRCode:"QRコードを隠す",revealAppQRCode:"QRコードを表示",step1:"もしモバイルアプリをお持ちでない場合、お使いの携帯電話に応じてApple App StoreまたはGoogle Play StoreのQRコードをスキャンすることができます。",step2:"モバイルアプリ(「Digital Bitbox 2FA」の名前でiOS・Android用アプリを検索できます)からQRコードをスキャンしてください。"},started:{text:"モバイルアプリに表示されている手順に従ってください。",title:"いい調子です"},success:{text:"おめでとうございます、あなたのBitBoxは問題なくモバイルアプリとペアリングされました。",title:"成功"},timeout:{text:"ペアリング作業は2分経過した時点でタイムアウトしました。ペアリングを行いたい場合はもう一度最初からやり直してください。",title:"タイムアウト"},title:"モバイルペアリング"},PI={considerations:{button:"バックアップについて",message:`パスフレーズは、あなたのウォレットのバックアップ(マイクロSDカードまたはリカバリーワード)に保護の層を追加します。誰かがあなたのバックアップにアクセスできる場合、あなたのウォレットにアクセスするためにもパスフレーズが必要になります。 + +しかし、これはあなたがBitBox02を失ったり壊したりした場合、パスフレーズを有効にしたウォレットを復元するためにはパスフレーズ + ウォレットのバックアップの両方が必要になることを意味します。パスフレーズを忘れたり失ったりすると、そのウォレットの全てのコインにアクセスできなくなります。 + +パスフレーズを保存する際には、バックアップとは別の場所に置くことを検討してください。そのようにすると、誰かがあなたのバックアップを見つけてもパスフレーズは見つけられないでしょう。`,title:"バックアップについて"},disable:"パスフレーズを無効にする",disableInfo:{button:"無効にする",message:`パスフレーズを無効にした後、BitBox02のロックを解除した後でパスフレーズを入力するよう求められることはもうありません。したがって、デフォルトのウォレットを入力することになります。 + +パスフレーズウォレット上のコインはそのまま残りますが、BitBox02のロックを解除した後はデフォルトのウォレットが開くため、アクセスできなくなります。 + +再度パスフレーズウォレットにアクセスするには、単にパスフレーズ機能を再有効にし、BitBox02のロックを解除した後に関連するパスフレーズを入力します。 + +ヒント:パスフレーズを空白にすることで、元のウォレットに依然として入ることができます。`},enable:"パスフレーズを有効にする",error:{e104:"パスフレーズ設定の変更が中止された。"},how:{button:"どのようなものか",message:`パスフレーズは、あなたが普段使っているパスワードとは異なります。パスフレーズを間違って入力しても、通知はされません。これは、すべてのパスフレーズが異なる、しかしそれでも有効なウォレットを作成するからです。これは、あなたが望むだけの多くのウォレットに対して複数のパスフレーズを使用できることを意味します。しかし、各ウォレットは対応するパスフレーズを入力したときにのみアクセスできます。 + +BitBox02を接続すると、通常どおりデバイスのパスワードが求められます。その後、デバイス上でパスフレーズを入力するよう求められます。 + +パスフレーズを入力した後、入力したパスフレーズが表示されます。これは、あなたが正しく入力したことを確認するためです。`,title:"どのような仕組みになっているのか"},intro:{message:`パスフレーズは、ウォレットのセキュリティを一層強化するためのものです。 +それがどのように機能するかを学んでみましょう。 + +`,title:"パスフレーズの設定"},progressDisable:{message:"オプションのパスフレーズをdisableにすることをBitBoxで確認します。",title:"デバイスで確認する"},progressEnable:{message:"オプションのパスフレーズをenableにすることをBitBoxで確認します。",title:"デバイスで確認する"},successDisabled:{message:`オプションのパスフレーズ successfully enabled! +今後、パスフレーズの入力が求められます。`,messageEnd:"今すぐBitBox02を再接続してください。",title:"パスフレーズを有効にする"},successEnabled:{message:`オプションのパスフレーズは正常に無効化されました! + +パスフレーズの入力を求められることはなくなりました。`,messageEnd:"今すぐあなたのBitBox02を再接続してください。",tips:"ヒント",tipsList:["まず少額をパスフレーズウォレットに送金することをおすすめします。その後、BitBox02を抜き差しし、パスワードとパスフレーズを入力します。パスフレーズを正しく入力した場合、ウォレットにコインが表示されます。","パスフレーズなしで元のウォレットに入りたい場合、パスフレーズの入力を求められたときに何も入力しないことでパスフレーズを入力することができます。また、パスフレーズ機能を無効にすることもできます。"],title:"パスフレーズ無効"},summary:{button:"パスフレーズ有効",title:"要約",understand:"パスフレーズの仕組みやリスクについて理解している。",understandList:["パスフレーズは、バックアップの上に追加されるセキュリティの層です。","異なるパスフレーズを入力すると、必ず異なるウォレットが生成されます。","ウォレットを復元するには、パスフレーズとバックアップの両方が必要です。","パスフレーズを忘れた場合、コインにアクセスできなくなります。"]},what:{button:"この仕組みについてはこちら",message:`ウォレットは非常に大きなランダムな数値(シードとも呼ばれる)から作成(派生)されます。このシードはBitBox02を初めて設定したときに作成され、マイクロSDカードまたはリカバリーワードでバックアップされます。シードにアクセスできる人は、そのウォレットの資金を完全にコントロールすることができます。 + +パスフレーズは、シードに追加されるオプションの秘密です。パスフレーズを使用すると、各パスフレーズはシード + パスフレーズ(オプションの秘密)に基づいた新しいウォレットを作成します。パスフレーズは何でもよいです:文字、単語、特殊文字、または空でも可能です。デフォルトのウォレットは実際にはシード + 空のパスフレーズから派生します。 + +パスフレーズはBIP39標準の一部であり、これは同じ標準をサポートするすべてのウォレットと互換性があることを意味します。`,title:"パスフレーズとは何ですか?"},why:{button:"パスフレーズを使用する理由",message:`BitBox02は、デバイス自体からのシードの抽出を防ぎますが、バックアップ(マイクロSDカードまたはリカバリーワード)はウォレットへの完全なアクセスを提供します。そのため、それは安全な場所に保存するべきです! + +パスフレーズが既存のシードを使用して新しいウォレットを作成するため、パスフレーズウォレットの復元にはバックアップとパスフレーズの両方が必要です。これの利点は、誰かがあなたのバックアップを見つけても、パスフレーズウォレットにアクセスするためにはパスフレーズが必要であるということです。 + +さらに、パスフレーズ機能を使用すると、同じデバイス上に複数のウォレットを作成したり、デフォルトのものに加えて「隠されたウォレット」を作成したりすることができます。`,title:"なぜパスフレーズを使うのですか?"}},NI={show:"{{label}}を表示",warning:{caps:"注意:caps lock(⇪)が有効になっています",paste:"貼り付けを行うには「{{label}}を表示」を有効にしてください"}},LI={button:"乱数を生成する",description:"あなたのBitBoxは次の{{bits}}bit乱数を生成しました:"},II={changeScriptType:"アドレスの種類を変更する",label:"あなたのアドレス",onlyThisCoin:{description:"他のトークンを受け取るには、設定で有効にしてください。他のトークンを預けると、アクセスできなくなる場合があります。",warning:"このアドレスで{{coinName}}だけを受信するようにしてください。"},scriptType:{p2tr:"Taproot (最新版)",p2wpkh:"Native Segwit (デフォルト)","p2wpkh-p2sh":"Wrapped Segwit(互換フォーマット)"},selectAccount:"アカウント選択",showFull:"フルアドレスをデバイス上で表示・確認",taprootWarning:"注意:Taprootは新しいビットコインの機能であり、まだ広く採用されていません。Taprootアドレスで受け取った資金は、サードパーティのwatch-only ウォレットでは表示されない場合があります。多くのウォレットと取引所はまだTaprootアドレスに送金することができません。",title:"受け取る{{accountName}}",verify:"安全にアドレスを検証する",verifyBitBox01:"モバイルアプリでアドレスを確認する",verifyBitBox02:"BitBox02のアドレスを確認する",verifyInstruction:"下記アドレスがデバイス画面に表示されているものと一致することを確認してください。",warning:{secureOutput:`あなたのBitBoxをあなたのモバイルデバイスとペアリングして、安全なアドレス検証を有効にしてください。サイドバーの「デバイスの管理」に移動してください。 + + + +`}},$I={description:"このデバイスからすべてのデータが削除されます。それには、あなたのプライベートキーも含まれます!",notReset:"デバイスはリセットされませんでした。",title:"デバイスを工場出荷状態にリセット",understand:"私はバックアップがあり、リカバリーパスワードも覚えています",understandBB02:"有効なバックアップがあります"},MI={create:{description1:"私たちは、他の人があなたが選んだパスワードを見ることができる環境から離れた、安全な環境でデバイスを設定することをお勧めします。",description2:"これから2つのパスワードを設定します。",description3:"1つ目はデバイスパスワードです。あなたのBitBoxをアンロックをするのに必要で、後から変更することができます。",description4:"2つ目はリカバリーパスワードです。これはウォレットのアンロックに使用され、後から変更できません。",description5:"作成したウォレットは、提供されたマイクロSDカード上のファイルにバックアップされます。これは緊急時にあなたのリカバリーパスワードを使用して資金を回復するために使用することができます。",title:"セキュリティ情報"},restore:{description1:"バックアップを保存するために使用したmicroSDカードを挿入するよう求められます。",description2:"復元を行うにはリカバリーパスワードが必要です。",description3:"リカバリーパスワードを入力する際はご注意ください。間違ったパスワードを入力した場合でも妥当なウォレットは作成されます。パスワードが間違っていた場合は予期せぬウォレット残高が表示される場合があります。",title:"セキュリティ情報"}},OI={agreements:{"funds-access":"リカバリーパスワードを忘れてしまった場合は資金へアクセスできません","password-change":"リカバリーパスワードを後から変更することができません","password-required":"ウォレットをバックアップから復元したい場合はリカバリーパスワードが必要になります"},create:"ウォレットを作成する",creating:"ウォレットの作成中",description:"次の項目を確認しました:",error:{e102:"パスワードは最低4文字(半角)必要です。",e200:"ウォレットを作成するためには、BitBoxにmicroSDカードを挿入する必要があるため、自動的にバックアップを作成することが可能です。"},info:{button:"今すぐリカバリーパスワードを設定する",description1:"BitBoxにmicroSDカードを挿入してください",description2:"ウォレットのリカバリーパスワードを決めて「リカバリーパスワードを設定する」を選択してください",description3:"マイクロSDカードへのバックアップとあなたのリカバリーパスワードは、BitBoxデバイスが紛失または盗難の場合に資金を回復する唯一の方法です。",description4:"資金を移す以外の方法で、後からリカバリーパスワードの変更を行うことはできません。",title:"新しいウォレットの作成"},password:{label:"リカバリーパスワード",repeatPlaceholder:"リカバリーパスワードの確認"},walletName:{label:"ウォレット名"}},RI={error:{e200:"バックアップからウォレットを復元するには、マイクロSDカードが必要です。"},info:{description1:"BitBoxにmicroSDカードを挿入し「続ける」をクリックしてください。",description2:"バックアップを選択し、「復元」をクリックしてください",description3:"リカバリーパスワード",description4:"間違ったパスワードは別のウォレットを作成することを理解するため、あなたの確認が必要です。",title:"バックアップからウォレットを復元する方法"}},FI={abort:"取引は中止されました。",address:{label:"受信者アドレス",placeholder:"アドレスを入力してください"},amount:{label:"金額",placeholder:"金額を入力してください"},availableBalance:"利用可能な残高",button:"レビュー",coincontrol:{address:"アドレス",outpoint:"アウトポイント",title:"アウトプットから送信します。"},confirm:{"selected-coins":"選択されたコイン",title:"トランザクションの確認と送信",total:"総額"},error:{erc20InsufficientGasFunds:"このERC20トランザクションの手数料を支払うために十分なイーサがないようです。ウォレットに十分なイーサが保有されているか確認してください。",feeTooLow:"手数料が低すぎます。",feesNotAvailable:"手数料を見積もることができませんでした。",insufficientFunds:"資金が不十分です",invalidAddress:"無効なアドレス",invalidAmount:"無効な金額",invalidData:"無効なデータ"},fee:{customPlaceholder:"金額を入力してください",label:"ネットワーク手数料",placeholder:"情報がありません"},feeTarget:{customLabel:"手数料率",customLabel_eth:"ガス料金",description:{economy:"4時間(24ブロック)",economy_eth:"30分以内",economy_ltc:"1時間(24ブロック)",high:"20分(2ブロック)",high_eth:"30秒以内",high_ltc:"5分(2ブロック)",low:"2時間(12ブロック)",low_eth:"5分以内",low_ltc:"30分(12ブロック)",normal:"1時間(6ブロック)",normal_eth:"2分以内",normal_ltc:"15分(6ブロック)"},estimate:"推定確認時間:",label:{custom:"カスタム",economy:"エコノミー",high:"高い",low:"低い",normal:"ノーマル"},placeholder:"手数料を計算しています..."},maximum:"全て送信",maximumSelectedCoins:"選択したコインを送信します。",noFeeTargets:"現在、手数料率の見積もりは利用できません。後でもう一度試すか、カスタム手数料を入力してください",priority:"優先",scanQR:"QRコードをスキャン",signprogress:{description:"この取引はたくさんのデータを含みます。取引を完全にサインするには、{{steps}}回確認することを求められます。",label:"進行度"},success:"取引は署名され送信されました。",title:"{{accountName}}送信する。",toggleCoinControl:"コインコントロールの切り替え",transactionDetails:"トランザクションの詳細"},VI={about:"について",accounts:"アカウント",advancedSettings:"詳細設定",appearance:"外観",electrum:{add:"サーバーを追加","add-server":"追加",check:"チェック",checkFailed:"失敗しました",checkSuccess:"{{host}}への接続に成功しました",checking:"チェック中","download-cert":"リモート証明書をダウンロード","remove-server":"削除",removeConfirm:"{{server}} を削除しますか?",reset:"デフォルト値に戻す",resetConfirm:"全てのサーバーを削除して、デフォルトのサーバーをインストールしますか?",servers:"サーバー一覧",step1:"1","step1-text":"エンドポイントを入力してください。",step2:"2","step2-text":"サーバーの証明書チェーンの証明書を入力してください。または、リモート証明書をダウンロードして比較することも可能です。","step2-text-tcp":"もしTLSを使用したくない場合は、このステップをスキップしてください。",step3:"3","step3-text":"接続の確認を行なってサーバーを追加しましょう。",step4:"4","step4-text":"ウォレットを再起動してください。デフォルトのサーバーを削除したくない場合、あなたのノードは重複物としてついかされます。","title-btc":"Bitcoin Electrumサーバー","title-ltc":"Litecoin Electrumサーバー","title-tbtc":"Bitcoin Testnet Electrumサーバー","title-tltc":"Litecoin Testnet Electrumサーバー"},expert:{coinControl:"コインコントロールを有効にする",electrum:{description:"独自のElectrumフルノードに接続することができます。",title:"自分のノードに接続"},fee:"カスタム手数料を有効にします。",setProxyAddress:"プロキシアドレスを設定します。",title:"エキスパート設定",useProxy:"Torプロキシを有効にします。",useSats:` +BTCの値をSatoshiで表示します。`},header:{home:"ホーム"},info:{"out-of-date":"新しいアップデートが利用可能です。",title:"情報","up-to-date":"お使いのアプリは最新版です。",version:"アプリのバージョン"},restart:"変更が反映されるためには、BitBoxAppを再起動してください。",services:{title:"サービス"},success:"変更を適用するにはBitBoxを一度引き抜いてから再度挿入してください。",title:"設定"},WI="デバイスを設定",UI={buy:"仮想通貨を購入する",device:"デバイス管理",leave:"離れる",settings:"設定"},qI={create:{info1:"ウォレットは安全にmicroSDカードにバックアップされました。カードを取り外して安全な場所に保管してください。",info2:"Bitboxのアンロックに使われる安全なデバイスパスワードを作成しました。",info3:"あなたのウォレットの資産とバックアップをアンロックする安全なリカバリーパスワードを作成しました。",summary:"これまでのサマリーです",title:"成功"},getstarted:"始めましょう",restore:{summary:"バックアップからのウォレットの復元に成功しました。",title:"成功"}},HI={confirmation:"認証済み",details:{activity:"アクティビティ",address:"アドレス",amount:"金額",date:"日付",fiat:"フィアット",fiatAmount:"フィアットの金額",fiatAtTime:"取引時のフィアットの価格",status:"ステータス",type:"タイプ"},explorer:"取引ID",explorerTitle:"外部のブロックエクスプローラで開く",fee:"手数料",fiatHistorical:"Historical",gas:"Gas",note:{edit:"ノートを編集する",save:"ノートを保存する"},pending:"保留中のトランザクション",size:"サイズ",status:{complete:"完了",failed:"失敗しました",pending:"保留中"},tx:{received:"受信先",sent:`送信先 +`},vsize:"バーチャルサイズ",weight:"重量"},KI={errorLoadTransactions:"トランザクションの読み込み中にエラーが発生しました。",placeholder:"表示できる取引がありません。"},GI="不明なエラーが起きました:{{errorMessage}}",QI={description:"デバイスパスワードを入力してアンロックしてください。",error:{e109_normal:"デバイスパスワードが間違っています。デバイスがリセットされるまで後{{remainingAttempts}}回入力できます。",e109_touch:"$t(unlock.error.e109_normal) 次のログインではデバイスの長押しが必要です。",e113:"ログインを試みた回数が多いため、次のログインではデバイスを4秒以上長いしする必要があります。"},input:{label:"デバイスパスワード",placeholder:"デバイスをアンロックするにはデバイスパスワードを入力してください。"},unlocking:"アンロック中…"},YI={button:"ファームウェアをアップグレード",description:"{{currentVersion}}から{{newVersion}}へのファームウェアのアップグレードを行いますか?",label:"BitBoxのファームウェアアップグレードが必要です。",locked:"{{currentVersion}}から{{newVersion}}にアップグレードするには、デバイスを長押ししてください。",title:"ファームウェアをアップグレード",unlocked:"ブートローダーはアンロックされています。続けるには:",unlocked1:"BitBoxを引き抜き、再度差し込んでください",unlocked2:"BitBoxを再度挿入した際にLEDが点灯します",unlocked3:"LEDが点灯したらデバイスをタップしてください"},ZI={connect:{button:"接続する",dappLabel:"dappのURIアドレスを入力してください。",invalidPairingUri:"無効なペアリングURIです"},dashboard:{allSessions:"全セッション",disclaimer:"Walletconnectは、EthereumベースのDappsに接続するためのプロトコルです。これらのdappsはサードパーティのサービスによって運営されているため、信頼できるdappsにのみ接続し、トランザクションを行う際には常に署名している内容を把握しておくことが重要です。",newConnection:"新しい接続",noConnectedSessions:"現在、どのアカウントもdappsに接続されていません。"},invalidPairingChain:"ペアリングの承認にエラーが発生しました。サポートされているチェーンの一つを使用していることを確認してください:{{chains}}",pairingRequest:{approve:"接続を承認する",reject:"拒否する",title:"からの新規接続リクエスト"},pairingSuccess:"Dappが正常に接続されました。dappのウェブサイトで続行できます。",signingRequest:{account:"アカウント",chain:"チェーン",dapp:"Dapp",data:"Data",dataParsingError:"データの解析に失敗しました",decodeError:"メッセージのデコードに失敗しました。",method:{sendTransaction:"トランザクションに署名して送信する",signMessage:"メッセージに署名する",signTransaction:"トランザクションに署名する",signTypedData:"タイプされたデータに署名する"},successfullySigned:"リクエストが正常に署名されました。",walletConnectRequest:"WalletConnectリクエスト"},useNewUri:"このURIはすでに接続を試みるために使用されています。新しいURIを使用してください。",walletConnect:"WalletConnect"},JI={receivePairing:"安全なアドレス検証を有効にするために、BitBoxをペアリングしてください。サイドバーの「デバイスの管理」に移動してください。",sdcard:"バックアップを管理したい場合を除き、BitBoxとマイクロSDカードを別々に保管してください。",sendPairing:"トランザクションの詳細を安全に確認するために、BitBoxをペアリングしてください。サイドバーの「デバイスの管理」に移動してください。"},XI={connect:"BitBox02を接続する",getStarted:"BitBox02にファームウェアをインストールして始めましょう。",insertBitBox02:"BitBox02の場合は、続行するためにデバイスをタップしてください。",insertDevice:"開始するにはデバイスを差し込んでください",title:"ようこそ"},e$={account:$L,accountInfo:ML,accountSummary:OL,addAccount:RL,aopp:FL,app:VL,auth:WL,backup:UL,bb02Bootloader:qL,bitbox:HL,bitbox02Interact:KL,bitbox02Settings:GL,bitbox02Wizard:QL,blink:YL,bootloader:ZL,button:JL,buy:XL,changePin:eI,chart:tI,checkSDcard:nI,clickHere:aI,confirm:iI,confirmOnDevice:oI,connectKeystore:rI,darkmode:sI,device:lI,deviceLock:cI,deviceSettings:uI,deviceTampered:dI,dialog:pI,error:hI,fiat:mI,footer:fI,generic:gI,genericError:vI,goal:bI,guide:kI,headerssync:xI,hiddenWallet:yI,initialize:wI,invalidFormat:jI,language:BI,legacyhiddenwallet:SI,loading:zI,manageAccounts:CI,mobile:DI,newSettings:AI,note:_I,notification:TI,pairing:EI,passphrase:PI,password:NI,random:LI,receive:II,reset:$I,securityInformation:MI,seed:OI,seedRestore:RI,send:FI,settings:VI,setup:WI,sidebar:UI,success:qI,transaction:HI,transactions:KI,unknownError:GI,unlock:QI,upgradeFirmware:YI,walletConnect:ZI,warning:JI,welcome:XI},t$={disconnect:"Потеряна связь. Восстановление связи ... ",export:"Экспортировать",exportTransactions:"Экспортировать транзакций в папку «загрузки» в виде файла CSV",fatalError:"Произошла ошибка.",incoming:"Ждите",initializing:"Получение информации из блокчейна ...",maybeProxyError:"Прокси-сервер включен. Убедитесь, что Ваш прокси-сервер рабочий, иначе отключите использование прокси-сервера в настройках.",reconnecting:"Потерянна связь, попытка повторного подключения ...",syncedAddressesCount:"Отсканировано {{count}} адресов"},n$={address:"Адрес",buyCTA:{buy:"Покупка {{unit}}",buyCrypto:"Купить криптовалюту",information:{looksEmpty:"Возможно, этот кошелёк пустой",start:"Внесите интересующую криптовалюту на кошелёк или купите в приложении BitBoxApp."}},extendedPublicKey:"Расширенный Public Key",label:"Информация об учетной записи",scriptType:"Тип шифрования",title:"Информация об учетной записи",verify:"Подтвердите на устройстве",xpubTypeChangeBtn:{p2pkh:"Обзор legacy P2PKH расширенного открытого ключа",p2tr:"Просмотр счета Taproot",p2wpkh:"Просмотр счета Native Segwit","p2wpkh-p2sh":"Просмотр Segwit расширенного открытого ключа"},xpubTypeInfo:"Отображение {{scriptType}} расширенного открытого ключа ({{current}} из {{numberOfXPubs}})"},a$={availableBalance:"Доступный баланс",balance:"Баланс",exportSummary:"Экспортировать сводку учетных записей в папку загрузок в виде файла CSV",fiatBalance:"Валютный баланс",name:"Название учетной записи",noAccount:"Нет аккаунтов для показа.",subtotalWithCoinName:"Монета ({{coinName}})",title:`Моя учетная запись +`,total:"Всего",transactionHistory:"Журнал транзакций"},i$={chooseName:{nextButton:"Добавить аккаунт",step:"Имя аккаунта",title:"Назовите свой аккаунт"},selectCoin:{nextButton:"Далее",step:"Выберите монету",title:"Выберите криптовалюту"},success:{message:"{{accountName}} добавлен в аккаунт",nextButton:"Выполнено",step:"Завершено",title:"Добавлен аккаунт"},title:"Добавить учётную запись"},o$={addressRequest:"{{host}} запрашивает адрес получателя",addressRequestWithLogo:"запрашивается адрес получателя",banner:"Выполняется запрос адреса",errorTitle:"Ошибка при запросе адреса",labelAddress:"Адрес",labelMessage:"Сообщение",reverifyInfoText:"Проверка адреса",signing:"Чтобы продолжить, подпишите сообщение на BitBox02",success:{message:"Продолжить на {{host}}",title:"Адрес успешно отправлен"},syncing:"Синхронизация аккаунта, пожалуйста, подождите.",title:"Запрос адреса"},r$={upgrade:"Доступна новая версия этого приложения! Обновите с {{current}} на {{version}}."},s$={check:{checking:"Проверка резервных копий ...",confirmTitle:"Проверить резервную копию",notOK:"Резервная копия НЕ соответствует текущему кошельку. ",ok:"Резервная копия соответствует текущему кошельку.",password:{label:"Пароль восстановления",placeholder:"Пароль восстановления",showLabel:"пароль восстановления"},success:"Резервная копия успешно подтверждена:",title:"Проверить резервную копию"},create:{alreadyExists:"У вас уже существует резервная копия. Вы хотите её переписать?",fail:"Создание резервной копии НЕ удалось!",info:"Введите пароль восстановления текущего кошелька для проверки.",name:{label:"Имя резервной копии",placeholder:"Укажите имя резервной копии"},password:{label:"Пароль восстановления",placeholder:"Введите Ваш пароль восстановления"},title:"Создать резервную копию",verificationFailed:"Пароль восстановления НЕ СООТВЕТСВУЕТ текущему кошельку. Создана новая резервная копия. Используйте «Проверить резервную копию», чтобы подтвердить пароль восстановления."},description:"Выбрать файл резервной копии",insert:"Вставьте карту памяти microSD для управления резервными копиями.",insertButton:"Я вставил карту памяти microSD",list:"Список резервных копий на карте памяти microSD",noBackups:"На этой карте microSD нет резервных копий.",restore:{confirmTitle:"Восстановление резервной копии",error:{e200:"Карта памяти microSD не обнаружена",general:"Невозможно восстановить резервную копию"},password:{label:"Пароль восстановления или скрытый пароль восстановления",placeholder:"Пароль восстановления",repeatPlaceholder:"Повторите пароль восстановления",showLabel:"Пароль восстановления"},restoring:"Происходит восстановление резервной копии ...",selectedBackup:"{{backupName}} созданный на {{createdDateTime}}будет восстановлен",title:"Восстановить",understand:"Я понимаю, что неверный пароль восстановления создаст другой кошелек"},showMnemonic:{description:`Вам будут представлены 24 слова восстановления, которые образуют резервную копию Вашего кошелька. Запишите их на бумаге. + +Не храните их в цифровом виде и не фотографируйте. + +Не произносите слова вслух. + +Эта резервная копия не защищена паролем. + +После этого вам будет предложено подтвердить каждое слово.`,title:"Показать слова восстановления кошелька"},title:"Управление резервными копиями"},l$={abort:"Не обновлять - вернуться обратно",abort_noUpgrade:"Вернуть назад",advanced:{label:"Дополнительные настройки",toggleShowFirmwareHash:"Показывать хэш прошивки каждый раз при запуске"},flipscreen:"Перевернуть экран",orientation:"Экран ориентирован на другую сторону?",success:"Обновление прошло успешно! Перезагрузка через {{rebootSeconds}} секунд ...",success_install:"Установка прошла успешно! Перезагрузка через {{rebootSeconds}} секунд..."},c$={error:{e10000:"Неверный пароль устройства.",e10001:"Не удалось заменить пароль устройства",e102:"Пароль должен содержать не менее 4 символов.",e112:"Скрытый пароль устройства не может совпадать с основным паролем устройства."}},u$={confirmDate:"Подтвердите сегодняшнюю дату на Вашем устройстве BitBox02",confirmDateText:"Эта дата будет использована для создания Вашей резервной копии.",confirmName:"Подтвердите имя на Вашем устройстве BitBox02",followInstructions:"Пожалуйста, следуйте инструкциям на Вашем устройстве BitBox02.",followInstructionsMnemonic:"Пожалуйста, следуйте инструкциям на вашем устройстве BitBox02, чтобы восстановить кошелек используя резервную копию слов",followInstructionsMnemonicTitle:"Восстановление из резервных слов (мнемонической фразы)"},d$={deviceName:{current:"Текущее имя устройства",input:"Имя устройства BitBox02",placeholder:"Новое имя устройства",title:"Переименовать устройство BitBox02"},gotoStartupSettings:{description:"Данное действие перезагрузит BitBox02 и вернет начальные настройки запуска",title:"Перейти к начальным настройкам"}},p$={attestationFailed:"Проверка подлинности устройства не удалась. Это могло быть связано с перезапуском приложения, когда устройство ожидало ввода данных. Пожалуйста, снова переподключите устройство и повторите попытку. Пожалуйста, свяжитесь с support@bitbox.swiss если эта проблема не решилась",backup:{point1:"Выберите резервную копию на карте microSD",point2:"Установите пароль для вашего устройства",restoreText:"Хорошо, давайте восстановим резервную копию!",text1:"Отлично, ваш пароль BitBox02 теперь установлен и кошелек создан. Теперь пришло время создать вашу первую резервную копию. Убедитесь, что ваша карта microSD вставлена ​​в BitBox02, и продолжайте.",text2:"Пожалуйста, следуйте инструкциям на экране вашего устройства, чтобы создать резервную копию.",text3:"После создания резервной копии извлеките карту microSD и храните её в безопасном месте. Содержимое карты microSD не защищено паролем. Никогда не вставляйте её в любое другое устройство, кроме вашего BitBox02.",userConfirmation1:"Я должен хранить резервную копию в надежном месте.",userConfirmation2:"Моя резервная копия не защищена паролем. Любой, у кого есть доступ, сможет владеть моим кошельком.",userConfirmation3:"Если я потеряю или повредю мой BitBox02, единственный способ восстановить все средства - это резервная копия.",userConfirmation4:"Если я потеряю или повредю резервную копию и мой BitBox02, все средства будут утеряны.",userConfirmation5:"Я не должен вставлять мою карту памяти microSD на которой находится резервная копия в компьютер, телефон, принтер или любое другое устройство, кроме BitBox02."},create:{button:"Именовать устройство и продолжить",info:"Вот основные шаги, которые вы будете предпринимать для настройки вашего BitBox: ",inputTitle:"Название кошелька",point1:"Назовите Ваше устройство",point2:"Установите пароль для Вашего устройства",point3:"Создать резервную копию",text:"Хорошо, давайте создадим новый кошелек!"},createBackupFailed:"Не удалось создать резервную копию. Попробуйте еще раз.",initialize:{passwordText:"Теперь давайте установим пароль для вашего устройства. Используйте элементы управления на вашем BitBox для ввода и выбора пароля.",passwordTitle:"Установите пароль для вашего BitBox",text:"Ваш BitBox02 был успешно присоединен! Теперь давайте инициализировать ваше устройство. Начните с выбора создания нового кошелька или восстановления кошелька из существующей резервной копии. Убедитесь, что в ваш BitBox02 вставлена ​​карта памяти microSD",tip:"Прежде чем продолжить, настоятельно рекомендуется продолжить работу в безопасной среде.",title:"Инициализируйте ваш BitBox"},insertSDCard:"Убедитесь, что в BitBox02 вставлена ​​карта microSD.",noPasswordMatch:"Пароли не совпадают, попробуйте еще раз.",pairing:{failed:"Неподтвержденное присоединение. Пожалуйста, подключите ваш BitBox02 заново.",paired:"Вы подтвердили на своем устройстве, что код соответствует. Если это правильно, вы можете продолжить, нажав кнопку ниже.",title:"Проверьте код соединения",unpaired:"Новый BitBox02 был обнаружен. Убедитесь, что следующий код соответствует тому, что показан на вашем устройстве. Если код соответствует, нажмите под галочкой на вашем BitBox02 и затем нажмите кнопку ниже, чтобы продолжить."},restoreFromMnemonic:{failed:"Не удалось выполнить восстановление. Попробуйте еще раз."},stepBackup:{beforeProceed:"Прежде чем продолжить, прочтите следующие важные примечания по безопасности:",createBackup:"Теперь вы создадите резервную копию на карте microSD."},stepBackupSuccess:{fundsSafe:"Для максимальной безопасности ваших средств, помните следующее:",title:"Резервная копия восстановлена!"},stepConnected:{unlock:"Введите пароль BitBox02 для разблокировки."},stepCreate:{description:"Это имя используется в качестве имени устройства и для резервного копирования",nameLabel:"Имя BitBox02",namePlaceholder:"Мой BitBox02",title:"Выберите имя BitBox02",toastMicroSD:"Убедитесь, что карта microSD вставлена ​​в BitBox02."},stepCreateSuccess:{removeMicroSD:"Извлеките карту microSD из BitBox02 и храните ее в надежном месте.",success:"Вы успешно создали резервную копию"},stepInsertSD:{insertSDCard:"Чтобы продолжить, вставьте карту microSD в BitBox02.",insertSDcardTitle:"Вставьте карту microSD"},stepPassword:{title:"Установить пароль BitBox02",useControls:"Используйте элементы управления на устройстве BitBox02, чтобы установить пароль."},stepUninitialized:{create:"Я хочу инициализировать новый BitBox02.",restore:"Я хочу восстановить мой кошелек из резервной копии.",restoreMicroSD:"Восстановить с карты microSD",restoreMnemonic:"Восстановить с помошью слов восстановления",title:"Инициализируйте Ваш BitBox02"},success:{text:`Ура! Ваш BitBox02 теперь готов к использованию. + +Для получения дополнительной информации о том, как использовать приложение BitBoxApp, пожалуйста, используйте руководство в приложении, нажав на знак вопроса в верхнем правом углу.`,title:"Вы готовы к работе!"}},h$={button:"Мерцать"},m$={button:"Обновить прошивку",button_install:"Установить прошивку",progress:"Обновление: {{progress}}%",progress_install:"Установка: {{progress}}%",success:"Успешное обновление! Отсоедините и присоедените устройство заново. На этот раз не прикасайтесь к кнопке."},f$={abort:"Прервать",back:"Назад",buy:"Купить",changepin:"Изменить пароль устройства",check:"Проверить резервную копию",continue:"Продолжить",copy:"Копировать",create:"Создать",dismiss:"Отклонить",done:"Выполнено",download:"Скачать",hiddenwallet:"Создать скрытый кошелек",next:"Следующее",ok:"Хорошо",previous:"Предыдущее",receive:"Получить",restore:"Восстановить",select:"Выбрать",send:"Перевести",unlock:"Разблокировать",update:"Обновить",upgrade:"Обновить"},g$={info:{continue:"Подтвердить и продолжить",crypto:"Криптовалюта",disclaimer:{intro:["Мы сотрудничаем с MoonPay, чтобы предложить удобный способ покупки {{name}} в приложении BitBoxApp. Всего в несколько кликов","MoonPay - это платформа, позволяющая легко и быстро совершать покупки {{name}} в более чем 160+ странах"],payment:{details:"Вы можете мгновенно купить {{name}} через MoonPay различными способами оплаты. Переводы по кредитной или дебетовой карте выполняются мгновенно и это удобно, но стоят дороже из-за повышенного риска возврата средств. Для более крупных сумм, мы рекомендуем использовать вариант банковского перевода. Минимальная плата составляет 4 USD/EUR или эквивалент",footnote:"Обратите внимание, что обменные курсы MoonPay могут отличаться от курсов, используемые в BitBoxApp, в результате суммы могут немного отличаться.",table:{"1_description":"Самая низкая комиссия, может занять до 3-х рабочих дней","1_method":"Банковские переводы (SEPA)","2_description":"Более высокая комиссия, но быстро и мгновенно","2_method":"Кредитные и дебетовые карты",description:"Описание",fee:"Оплата",method:"способ"},title:"Способы оплаты и комиссии"},privacyPolicy:"Политика конфиденциальности MoonPay",protection:{description:"Приложение BitBoxApp не собирает никаких данных при покупке {{name}}, входящие средства обрабатываются как обычная транзакция. MoonPay необходимо собирать некоторые персональные данные для работы. Их политика конфиденциальности подробно объясняет, как обрабатываются предоставляемые данные",title:"Защита данных"},security:{description:"Покупая {{name}} через MoonPay, вы используете внешний сервис. Этот сервис выходит за рамки модели угроз безопасности BitBox02 и зависит от безопасности среды, в которой работает программное обеспечение BitBoxApp",link:"Модель угроз безопасности",title:"Модель безопасности"},title:"Добро пожаловать в ваш универсальный магазин для покупки {{name}}"},next:"Далее",selectLabel:"Выберите аккаунт",selectPlaceholder:"Выберите монету",skip:"Не показывать снова",title:"Купить {{name}}"},title:"Купить {{name}}"},v$={newTitle:"Новый пароль устройства",oldLabel:"Текущий пароль устройства"},b$={dataMissing:"Мы все еще собираем информацию. Пожалуйста, подождите.",dataUpdating:"обновление данных…",filter:{all:"Все",month:"Месяц",week:"Неделя",year:"Год"}},k$="Проверка карты памяти microSD",x$="Нажмите здесь.",y$={abortInfo:"Нажмите, чтобы",abortInfoRedText:" прервать",approveInfo:"Удерживайте 4 секунды, чтобы",approveInfoGreenText:" подтвердить",info:"Продолжайте на Вашем устройстве BitBox. ",infoWhenPaired:"Сначала на присоединённом мобильном устройстве, а затем на BitBox"},w$="Пожалуйста, подтвердите на вашем устройстве.",j$={appUpradeRequired:"Ваш BitBox несовместим с этой версией приложения. Загрузите и установите последнюю версию."},B$={button:"Включить двухфакторную авторизацию (2FA)",condition1:"У Вас есть резервная копия?",condition2:"Работает ли проверка мобильного приложения?",condition3:"Двухфакторная авторизация ЗАПРЕЩАЕТ резервное копирование и подключение мобильных приложений. Устройство должно быть СБРОШЕНО для выхода из режима двухфакторной авторизации (2FA)!",confirm:"Включить 2FA",title:"Включить двухфакторною авторизацию (2FA)"},S$={firmware:{newVersion:{label:"Доступная версия"},title:"Прошивка",upToDate:"Ваше устройство использует самую актуальную версию",version:{label:"Версия"}},hardware:{sdcard:{false:"Не вставленна",label:"Карта Micro SD",true:"Вставленный"},securechip:"Защищенный чип",title:"Техническое обеспечение"},loading:"Получение информации об устройстве ...",pairing:{lock:{false:"Отключено",label:"Двухфакторная авторизации (2FA)",true:"Включено"},mobile:{false:"Закрыто",label:"Мобильное приложение",true:"Открыто"},status:{false:"Не соединено",label:"Статус",true:"Соединено"},title:"Соединение"},secrets:{manageBackups:"Управление резервными копиями",title:"Полезные функции"}},z$="У Вашего BitBox был создан пароль восстановления? Если это так, немедленно прекратите процесс установки и обратитесь в службу поддержки. Shift никогда не даст Вам готовый кошелек и не будет давать рекомендации по паролю.",C$={cancel:"Отменить",confirm:"Подтвердить",confirmTitle:"Подтверждение"},D$={accountAlreadyExists:"Аккаунт уже существует",accountLimitReached:"Невозможно добавить счет. Достигнуто максимальное количество счетов для этой монеты",aoppCallback:"Произошла ошибка при добавлении адреса на {{host}}",aoppInvalidRequest:"Неверный запрос",aoppNoAccounts:"Нет доступных аккаунтов",aoppSigningAborted:"Запрос адресом на подключение отменен",aoppUnknown:"Произошла неизвестная ошибка",aoppUnsupportedAsset:"Актив не поддерживается",aoppUnsupportedFormat:"Нет доступных счетов, поддерживающих запрошенный формат адреса.",aoppUnsupportedKeystore:"Подключенное устройство не может подписывать сообщения для этого актива",aoppVersion:"Неизвестная версия"},A$={default:"Стандарт",setDefault:"Настроить {{code}} ",title:"Валюты"},_$={appVersion:"Версия приложения:"},T$={enabled_false:"Отключено",enabled_true:"Включено"},E$="Произошла ошибка. Если вы заметили какие-либо проблемы, перезапустите приложение.",P$={buttons:{create:"Создать новый кошелек",restore:"Восстановить кошелек "},paragraph:"Выберите одну из следующих опций:",step:{1:{title:"Информация о безопасности"},2:{description:"Установка пароля устройства",title:"Устройство"},"3-create":{description:"Создать новый кошелек",title:"Кошелек"},"3-restore":{description:"из резервной копии",title:"Восстановить"},"4-create":{title:"Сводка"},"4-restore":{title:"Сводка"}}},N$={accountDescription:{text:"Это обзор вашей учетной записи. Он показывает входящие и исходящие транзакции. Баланс отображается для каждой учетной записи отдельно. Прочитайте инструкцию, чтобы узнать больше о разных типах учетных записей.",title:"Что здесь отображается?"},accountFiat:{text:"Да, Вы можете нажать на любую кнопку, чтобы выбрать валюту. Вы также можете изменить список валют в настройках.",title:"Можно ли отображать другие курсы обмены валюты?"},accountIncomingBalance:{text:"Входящие, это общая сумма средств, которые были переведены Вам, но еще не подтверждены сетью.",title:"Что обозначает входящее?"},accountInfo:{multipleXPubs:{text:`Каждый xpub ключ привязан к конкретному "Формату": "Native Segwit (bech32)", "Wrapped Segwit" or “Taproot” (Только для Bitcoin). Это форматы адресов, используемые {{coinName}}. Приложение BitBoxApp объединяет их, поддерживая несколько форматов адресов в одном аккаунте. Поскольку каждый формат адреса предоставляет разные xpub ключи, для каждого аккаунта существует несколько xpub ключей. + +Если вы получаете монеты по умолчанию, на формат адреса (Native Segwit), для этого нужен только xpub ключ "bech32". Однако, если вы получаете средства на "Wrapped Segwit" или “Taproot” адреса, то необходимо использовать расширенные открытые ключи от "Wrapped Segwit" и “Taproot” соответственно`,title:"Почему существует несколько xpub ключей?"},privacy:{text:`Для текущего аккаунта расширенный открытый ключ (xpub) раскрывает всю финансовую историю, баланс вашего счета и все будущие транзакции. Данный xpub ключ никому не позволяет тратить ваши монеты. + +Если Вы предоставляете кому-либо xpub ключ, вы соглашаетесь с тем, что лицо или компания могут видеть все другие транзакции текущего аккаунта. Поэтому рекомендуется при передаче данного xpub ключа все иные средства хранить на других счетах или аккаунтах.`,title:"Нужно ли хранить свой xpub ключ в секрете?"},verify:{text:"Да, будет полезно перепроверить свой xpub ключ. Если кто-то другой будет генерировать новые адреса из xpub ключа, для отправки вам активов, это будет особенно важно. Вам необходимо будет подтвердить это на устройстве, чтобы убедиться, что этот xpub ключ принадлежит вам. В противном случае все средства могут отправиться не по тем адресам!",title:"Нужно ли мне проверять xpub ключ на устройстве?"},xpub:{text:`Расширенный открытый ключ (xpub) - это корневой ключ, из которого выводятся все адреса получения в аккаунте. + +Он предоставляется здесь для расширенного использования и взаимодействия с кошельками, предназначенными только для просмотра, такими как Electrum или Sentinel. Если вы получили ключи от разных типов адресов, пожалуйста, импортируйте все различные форматы xpub в кошелек, доступный только для просмотра, чтобы увидеть все ваши монеты. + +Обратите внимание, что сторонние кошельки могут еще не поддерживать Taproot xpubs ключи`,title:"Что такое расширенный открытый ключ?"}},accountRates:{text:"Курсы валют обновляются каждую минуту с помощью CoinGecko.",title:"Какие курсы используются?"},accountReload:{text:"Вся информация о транзакции обновляется автоматически.",title:"Как я могу перезагрузить историю транзакций?"},accountSendDisabled:{text:"Кнопка «Отправить» активируется, когда ваш баланс больше нуля.",title:"Почему я не могу отправить {{unit}}?"},accountSummaryAmount:{text:`Общая сумма всех ваших криптовалютных счетов. Курсы обмена можно узнать на сайте coingecko.com. + +Примечание. Токены используемые с помощью MyEtherWallet которые не поддерживаются в BitBoxApp исключены из общей суммы.`,title:"Как вычисляется общая сумма?"},accountSummaryDescription:{text:"Здесь вы можете увидеть динамику вашего портфолио. Сводная информация по вашим индивидуальным учетным записям отображается под графиком.",title:"Что изображается на этой странице?"},accountTransactionAttributesBTC:{text:`Виртуальный размер: используется для определения стоимости отправки транзакции. Вы успешно сэкономили, если этот размер меньше размера транзакции. +Размер: фактический размер транзакции в байтах при сериализации в соответствии с протоколом блокчейна. +Вес: Введенный в Segwit, это новый показатель для оценки размеров транзакций и блоков. Каждый отдельный байт Segwit считается как один, а все остальные - четырьмя единицами веса. Вместо одного мегабайта, размер блока теперь составляет четыре миллиона единиц веса.`,title:"Сведения о транзакции, связанные с биткойнами"},accountTransactionAttributesGeneric:{text:`Подтверждения: Изначально, при трансляции Вашей транзакции, она будет неподтвержденной. Вам нужно будет дождаться, когда она будет включена в блок каким-либо майнером, после чего у Вас будет одно подтверждение. Затем каждый блок, передаваемый по сети, добавит еще одно подтверждение к Вашей транзакции. Обычно торговцы принимают транзакции только с 3-6 подтверждениями. +Идентификатор транзакции: уникальный идентификационный номер, который можно использовать для поиска транзакции. +Комиссионный сбор: майнерам выплачивается комиссия за транзакцию в качестве стимула для включения транзакций в блоки, которые они создают. Чтобы узнать больше, нажмите кнопку «Перевести».`,title:"Какова информация, указанная в деталях транзакции?"},accountTransactionConfirmation:{text:"Это транзакция была передана в сеть но еще не получила подтверждения.",title:"Что такое ожидающая транзакция?"},accountTransactionLabel:{text:"Это адрес, с которого вы получали или отправляли монеты.",title:"Какой адрес отображается для каждой транзакции?"},accountTransactionTime:{text:"Время, когда транзакция была подтверждена в блокчейне.",title:"Какое время отображается?"},accounts:{howManyAccounts:{text:"Каждая монета может иметь максимум пять счетов",title:"Сколько счетов я могу создать?"},howtoAddTokens:{text:'Токены, использующие стандарт ERC20, привязаны к счету Ethereum. Чтобы включить или отключить определенный токен, откройте экран "Управление счетами", разверните свою учетную запись Ethereum и включите или выключите нужный токен.',title:"Как мне добавить дополнительные токены?"},moveFunds:{text:"Да. Но так как счета независимы, вам необходимо отправлять свои средства с помощью обычной транзакции.",title:"Могу ли я переводить средства между счетами?"},recoverAccounts:{text:"Да. BitBoxApp создает аккаунт, используя устоявшиеся стандарты, совместимые с большинством других крипто-кошельков.",title:"Могу ли я восстановить свои аккаунт с помощью других кошельков?"},whatAreAccounts:{text:"Кошелек может управлять несколькими счетами одной монеты. Несколько счетов полезны, когда вы хотите хранить средства раздельно",title:"Что такое аккаунт?"},whyIsThisUseful:{text:'В аккаунте сами счета отлично подходят для управления активами разными людьми или создания целей, так как они разделены. Вы также можете поделиться "расширенным открытым ключом (xpub)" выбранной конкретной монеты, не раскрывая ничего о других ваших монетах. Это позволит вам получать активы без повторного создания адресов. Например, у доверенных людей получать заработную плату или регулярно покупать криптовалюту',title:"Почему это полезно?"}},appendix:{link:"Свяжитесь с нами!",text:"Другой вопрос?"},backups:{check:{text:"«Проверить резервную копию» позволяет подтвердить, что у Вас есть рабочая резервная копия, соответствующая Вашему текущему кошельку. Её также можно использовать для проверки пароля восстановления.",title:"Что такое «Проверить резервную копию»?"},encrypt:{text:"Нет, но ваш пароль восстановления необходим для получения кошелька.",title:"Могу ли я зашифровать резервную копию?"},howOften:{text:`Резервная копия создается автоматически при создании нового кошелька. Вам нужно создать новую резервную копию только если ваша карта micro SD потеряна или повреждена, или если вы хотите использовать несколько микро SD-карт в качестве резервных копий. +Вам не нужно создавать новые резервные копии после транзакций. Все ваши данные транзакций могут быть воссозданы с помощью одной резервной копии, которая была автоматически создана.`,title:"Как часто мне стоит делать резервную копию?"},whatIsABackup:{text:"Это копия сид на карте micro SD. Сид вместе с вашим паролем восстановления образует ваш кошелек.",title:"Что такое резервная копия?"}},backupsBB02:{check:{text:"«Проверка резервной копии» позволяет проверить, есть ли у вас рабочая резервная копия, соответствующая вашему текущему кошельку.",title:"Что такое «Проверка резервной копии»?"},encrypt:{text:"Нет. Храните карту microSD в надежном месте, поскольку она содержит незашифрованные исходные данные для восстановления вашего кошелька. Если вы хотите защитить свой сид паролем, вы можете включить факультативную фразу в экспертных настройках в разделе «Управление устройством».",title:"Могу ли я зашифровать резервную копию?"},whatIsABackup:{text:"Это копия сида на карте micro SD.",title:"Что такое резервная копия?"}},bitbox:{"2FA":{text:`Когда функция 2FA включена, все транзакции должны быть одобрены на подключённом мобильном телефоне, для того, чтобы тратить монеты. Одноразовый зашифрованный номер отправляется в мобильное приложение, дешифруется там и возвращается в BitBox при нажатии кнопки «Подтвердить». Эта связь с устройством осуществляется через канал между мобильным телефоном и настольным приложением, установленным во время подключения. + +Обязательно создайте резервную копию своего кошелька и соедините мобильное приложение, прежде чем включить функцию 2FA. После включения, слот micro SD и подключение мобильного приложения отключены. Их можно повторно включить, сбросив BitBox, который стирает устройство.`,title:"Как работает двухфакторная авторизация (2FA)?"},disable2FA:{text:"Чтобы отключить 2FA, вам необходимо сбросить BitBox, а затем восстановить кошелек из его резервной копии. Убедитесь, что у вас все еще есть карта microSD с резервной копией и вы все еще помните пароль восстановления. Затем нажмите «Сбросить устройство». Установите новый пароль устройства и выберите «Или восстановить резервную копию». Выберите резервную копию, которую вы сделали из кошелька, нажмите «Восстановить» и введите пароль восстановления, который вы использовали при создании кошелька.",title:"Как отключить двухфакторную авторизацию (2FA)?"},ejectBitbox:{text:"Вы можете отсоединить BitBox в любое время.",title:"Как я могу извлечь BitBox?"},ejectSD:{text:"Вы можете удалить карту microSD из BitBox в любое время, если вы не находитесь в процессе создания или восстановления резервной копии.",title:"Как я могу извлечь карту microSD?"},hiddenWallet:{text:"Это второй кошелек на том же устройстве, который защищен паролем другого устройства и паролем восстановления, который Вы можете использовать для правдоподобия. Такая же резервное семя используется как для Вашего обычного, так и скрытого кошелька, поэтому дополнительная резервная копия не требуется.",title:"Что такое скрытый кошелек?"},legacyHiddenWallet:{text:"Сначала нажмите кнопку ниже (доступно, если BitBox разблокирован с помощью пароля основного устройства, и двухфакторная авторизация 2FA отключена), затем переподключите Ваш Bitbox и разблокируйте его с помощью пароля скрытого устройства.",title:"Как получить доступ к унаследованному скрытому кошельку?"},pairing:{text:"После загрузки нашего мобильного приложения для iOS или Android сканируйте отображаемый QR-код, который устанавливает безопасный канал между мобильным приложением и этим приложением. После сканирования следуйте инструкциям в мобильном приложении.",title:"Как безопасно соединить с телефоном"}},cointracking:{text:'Нажмите кнопку "Экспорт" и откройте папку загрузок, где вы найдете файл в формате CSV. Затем нажмите на ссылку ниже, загрузите свой CSV-файл BitBox и импортируйте данные, чтобы использовать их для управления портфелем (отслеживанием монет) и для создания налоговых отчетов',title:"Как импортировать мои транзакции из раздела с отслеживанием монет?"},receive:{address:{text:"Вы можете дать адрес другим, чтобы они отправили вам монеты. Просто убедитесь, что вы отправляете на правильный адрес.",title:"Что мне делать с адресом?"},addressChange:{text:"Как только адрес используется в транзакции, новый адрес добавляется в список для его замены. В списке всегда будет 20 неиспользуемых адресов.",title:"Когда меняются адреса?"},addressFormats:{text:"По умолчанию формат адреса - Native Segwit. Этот тип адреса широко используется другими кошельками / биржами и предлагает вам лучшие комиссионные за повседневные транзакции. Однако вы также можете выбрать отправку на Taproot (только для Биткойна (Btc)), который является самым новым типом адреса, но, возможно, еще не получил широкой поддержки на разных площадках. Если у вас возникли проблемы с отправкой на Native Segwit (тип по умолчанию), вы можете попробовать переключиться на более старый тип адреса Wrapped Segwit, который может быть совместим с разными кошельками / биржами",title:"Когда я должен использовать “Изменить тип адреса”?"},howVerify:{text:`Если у Вас BitBox01, щелкните значок BitBox на боковой панели слева и перейдите в раздел «Соединение». Руководство обновится, и вы сможете продолжить выполнение инструкций. +Если у Вас BitBox02, вы можете проверять адреса непосредственно на устройстве в процессе отправки и получения.`,title:"Как я могу безопасно проверить адрес?"},plugout:{text:"Нет, после того, как вы отправили монеты на свой адрес BitBox, вам не нужно оставлять свой BitBox подключенным. Вы можете отключить свой BitBox",title:"Нужно ли мне оставлять BitBox подключенным во время получения активов?"},why20:{text:"Во время запуска приложение генерирует адреса, полученные из вашего сида, чтобы вычислить, были ли отправленны на них средства. Поскольку приложение может генерировать почти бесконечное количество адресов, на определение баланса можно потратить годы. Чтобы ограничить этот поиск, он останавливается после 20 адресов на которые никогда не были отправленны средства. Это «предел разрыва» с 20 адресами является стандартом де-факто, хотя число было выбрано произвольно.",title:"Почему всего 20 адресов?"},whyMany:{text:"Для обеспечения конфиденциальности и безопасности никогда не давайте один и тот же адрес дважды. Если вы использовали адрес, щелкните стрелку вправо для перехода к новому адресу. Вы можете создать до 20 адресов одновременно. Думайте об адресах как о номерах счетов. Все адреса получены из вашего единственного сида.",title:"Почему так много адресов?"},whyVerify:{text:"Вы не должны доверять своему компьютеру во время создания и отображение подлинных адресов. Компьютер намного более уязвимый чем аппаратный кошелек. Если у вас BitBox01, кнопка подтверждения адреса безопасно отправляет адрес на соединенный мобильный телефон, с которого вы также можете сканировать и проверять QR-код. Если у вас BitBox02, адрес можно проверить непосредственно на дисплее BitBox02.",title:"Зачем мне безопасно проверять адрес?"}},send:{change:{text:"Сдача будет возвращена на адрес формата Taproot, если у вас есть хотя бы один UTXO (Выход неизрасходованных транзакций) формата Taproot. Другими словами, если вы контролируете монеты, сдача будет возвращена на адрес Taproot, если среди выбранных UTXOs есть хотя бы один Taproot UTXO. Во всех остальных случаях сдача возвращается на адрес формата Native Segwit",title:"Как определяется выход сдачи?"},fee:{text:`Плата основана на размере данных транзакции, а не на её сумме. Платы рассчитываются по алгоритму оценки платы Bitcoin Core для каждого сетевого приоритета. +Экономический: 24 блока (около 4 часов для биткойнов, 1 час для Litecoin) +Низкий: 12 блоков (около 2 часов для биткойнов, 30 минут для Litecoin) +Нормальный: 6 блоков (около 1 часа для биткойнов, 15 минут для Litecoin) +Высокий: 2 блока (около 20 минут для биткойнов, 5 минут для Litecoin) +(Блок берет в среднем десять минут для биткойнов (2,5 минуты для Litecoin) для обработки но сетевая нагрузка может значительно различаться в вышеуказанные периоды.)`,title:"Как определяется комиссионная плата?"},plugout:{text:"Нет, после того, как вы совершили транзакцию, вам не нужно оставлять свой BitBox подключенным. Вы можете отключить свой BitBox",title:"Нужно ли мне оставлять свой BitBox подключенным во время отправки активов?"},priority:{text:"Чем выше плата, которую вы готовы заплатить, тем быстрее ваша транзакция обычно подтверждается сетью.",title:"Что такое сетевой приоритет?"},revert:{text:`Как только транзакция будет подписана и отправлена ​​(это значит транслирована в сеть), она больше не может быть отменена. Перед началом подписания проверьте транзакции (включая плату)! +Если Вы знаете, что получатель желает отправить ту же сумму к вам обратно, Вы можете отправить им новый адрес получателя.`,title:"Можно ли вернуть транзакцию?"},whyFee:{text:`Сделки конкурируют, чтобы быть подверженными шахтером. Шахтеры выбирают транзакции, которые должны быть включены в blockchain, исходя из их стоимости. +Шахтеры голосуют на опоре историй транзакций. Поскольку нет доверенной третьей стороны для обеспечения одного голоса на одного человека (что является целым звеном цепочки блоков), шахтеры голосуют за транзакции, жертвуя дорогостоящим ресурсом, таким как вычислительная мощность. В качестве награды за свою работу они могут требовать вновь созданные монеты и плату за все транзакции, которые они причастны.`,title:"Почему существует сетевая плата?"}},"settings-electrum":{connection:{text:`Если вы намереваетесь подключаться к своему узлу только тогда, когда находитесь в той же сети (например, к домашнему Wi-Fi), тогда достаточно обычного сетевого взаимодействия. +В этом случае рекомендуется, чтобы ваш сервер Electrum предоставил сертификат TLS для шифрования связи. +Если вы собираетесь подключиться к своему узлу из любого места, лучше использовать Tor. В этом случае сертификат TLS не требуется.`,title:"Что мне следует использовать, TCP, TLS или Tor?"},instructions:{link:{text:"Руководство по подключению собственного узла"},text:"Посетите наше полное руководство",title:"Как подключить BitBoxApp к собственному крипто узлу (серверу)?"},options:{text:`Есть несколько вариантов запуска собственного узла, таких как покупка готового устройства, создание собственного либо Bitcoin Core. +Если вы хотите подключить BitBoxApp к своему узлу, убедитесь, что он запускает сервер Electrum. Это специальная программа, которая позволяет приложению взаимодействовать с вашим узлом. +Поддерживаемые варианты включают Electrs, персональный сервер Electrum (EPS) или Bitcoin Wallet Tracker (BTW).`,title:"Какие есть варианты запуска собственного узла?"},tor:{text:`Tor означает «луковый маршрутизатор». Это бесплатное программное обеспечение с открытым исходным кодом, которое предлагает множество преимуществ в отношении конфиденциальности и особенно полезно при использовании биткойнов. +Если вы собираетесь подключиться к своему узлу через Tor, убедитесь, что Tor установлен на вашем компьютере, а затем включите Tor Proxy в настройках BitBoxApp. +В большинстве операционных систем есть два способа запустить Tor: +1. Tor Browser: загрузите и откройте Tor Browser. Это позволит BitBoxApp подключиться к сети Tor, установив порт 9150 в настройках прокси-сервера Tor. +2. Фоновая служба Tor: установите демон Tor, который всегда работает в фоновом режиме. Затем BitBoxApp сможет подключиться, установив порт 9050 в настройках прокси-сервера Tor.`,title:"Что такое Tor, прокси-сервер Tor и какой порт мне следует использовать?"},what:{text:"Возможно использовать свой кошелек с вашими собственными полными узлами вместо использования серверов Shift.",title:"Что это?"},why:{text:`Запуск собственного узла не является обязательным, но улучшает конфиденциальность и снижает необходимость доверять другим. +Во-первых, это означает, что вы используете биткойн более конфиденциально, поскольку BitBoxApp не будет подключаться к нашим серверам для получения сводки ваших транзакций; вместо этого приложение получит эту информацию из вашего собственного узла. +Во-вторых, запуск собственного узла означает, что ваш узел сам проверяет все транзакции, следя за соблюдением правил консенсуса.`,title:"Зачем мне запускать собственный узел?"}},settings:{servers:{text:`Это приложение взаимодействует с серверами Shift Crypto для проверки обновлений, загрузки транзакций и отправки информации к соединенным мобильным приложениям. +Кроме того, оно извлекает последнии курсы обмена от CoinGecko. (Конверсии вычисляются локально, никакие суммы не передаются.)`,title:"На каких серверах работает это приложение?"}},title:"Руководство",toggle:{close:"Закрыть руководство",open:"Руководство"},unlock:{forgotDevicePassword:{text:"Вам необходимо сбросить устройство и восстановить кошелек из резервной копии, используя пароль восстановления.",title:"Что делать, если я забыл пароль устройства?"},reset:{text:"Введите неверный пароль устройства 15 раз. Последние несколько попыток требуют длительного касания устройства.",title:"Как сбросить устройство?"}},waiting:{deviceNotRecognized:{text:`Устройство должно мигнуть один раз при присоединении. Убедитесь, что оно вставлено правильно. Если у вас возникли проблемы, пожалуйста, свяжитесь с нами по ссылке ниже. + +BitBox01 не поддерживается на мобильных устройствах. Пожалуйста, используйте приложение BitBoxApp на рабочем столе для подключения вашего BitBox01`,title:"Мое устройство BitBox01 не распознается"},getDevice:{link:{text:"Заказать BitBox"},text:"Вы можете купить BitBox в нашем интернет-магазине:",title:"Как я могу получить устройство?"},internet:{text:"Да, для синхронизации кошелька, транзакций и получения последних обменных курсов, требуется интернет-соединение.",title:"Требуется ли для этого приложения подключение к Интернету?"},lostDevice:{link:{text:"Центр резервных копий"},text:"Вы можете восстановить свои учетные записи на новом BitBox или в нашем центре резервных копий.",title:"Я потерял свое устройство. Что теперь?"},useWithoutDevice:{text:"К сожалению, пока это невозможно.",title:"Могу ли я использовать приложение без устройства?"},welcome:{text:"Спасибо за использование этого приложения, созданного Shift Crypto в Швейцарии. Он по-прежнему находится в стадии бета-тестирования, и мы ценим любой вклад, которым Вы можете поделиться. Пожалуйста, оцените приложение, используя ссылку внизу.",title:"Добро пожаловать в приложение BitBoxApp!"}}},L$={blocksSynced:"{{blocks}} блоков синхронизированы"},I$={info1HTML:"Для правдоподобных целей неприкосновенности скрытый кошелек может быть создан на основе комбинации разных паролей для восстановления пароля устройства.",info2HTML:"Определите пароль устройства и пароль восстановления, которые Вы хотите связать с Вашим скрытым кошельком. Пароль устройства и пароль восстановления должны отличатся от тех, которые Вы используете для своего основного кошелька.",passwordLabel:"Скрытый пароль восстановления",passwordPlaceholder:"Подтвердите скрытый пароль восстановления",pinLabel:"Скрытый пароль устройства",pinRepeatLabel:"Повторить скрытый пароль устройства",pinRepeatPlaceholder:"Подтвердите пароль скрытого устройства",success:"Скрытый кошелек создан успешно. Переподключите BitBox, чтобы разблокировать его."},$$={create:"Установить пароля устройства",creating:"Установка пароля устройства ...",error:{e102:"Пароль устройства должен содержать не менее 4 символов."},info:{description1:"Выберите пароль устройства. Он будет использоваться для разблокировки вашего BitBox.",description2:"Вы можете использовать числа и буквы. Длинные пароли гарантируют больше безопасности.",description3:"Если Вы потеряете пароль устройства, вам придётся сбросить Ваше устройство и восстановить резервную копию Вашего кошелька.",subtitle:"Теперь Вы установите пароль своего устройства",title:"Инициализация устройства"},input:{label:"Пароль устройства",labelRepeat:"Повторить пароль устройства",placeholderRepeat:"Подтвердить пароль устройства"}},M$="Недопустимый формат",O$={title:"Выбрать язык"},R$={disable:"Отключить скрытый кошелек устаревшего типа",enable:"Включить скрытый кошелек устаревшего типа",successDisable:"Успешно отключился скрытый кошелек.",successEnable:"Успешно включился скрытый кошелек. Переподключите свой BitBox и введите пароль скрытого устройства, чтобы получить доступ к скрытому кошельку."},F$="загрузка ...",V$={editAccount:"Изменить",editAccountNameTitle:"Изменить имя аккаунта",noAccounts:" Аккаунты не найдены",settings:{hideTokens:"Скрыть токены",showTokens:"Показать токены ({{activeTokenCount}})"},settingsButtonDescription:"Добавить и отобразить/скрыть аккаунты",title:"Управление аккаунтами"},W$={usingMobileDataWarning:"Использование мобильных данных: это приложение может загружать до нескольких сотен мегабайт данных из блокчейна после разблокировки учетной записи. Пожалуйста, подключитесь к Wi-Fi, чтобы не использовать мобильные данные. После закрытия этого сообщения, оно больше не будет отображаться."},U$={input:{description:"(факультативно)",placeholder:"Добавить примечание ..."},title:"Примечание"},q$={newTxs_one:"Новая транзакция в: {{accountName}}",newTxs_other:"{{count}} новых транзакций в: {{accountName}}"},H$={aborted:{text:"Присоединение с мобильным приложением было отменено.",title:"Ошибка"},button:"Присоединить мобильное приложение ",confirm:"Вы уверены, что хотите присоединить свой BitBox? Обратите внимание, что после этого для выполнения транзакции требуется мобильный телефон.",connectOnly:{button:"Подключить мобильное приложение",title:"Сканируйте с помощью нашего мобильного приложения, выбрав пункт меню «Подключиться к новому настольному приложению»,"},error:{text:"Произошла ошибка. Пожалуйста, начните заново.",title:"Ошибка"},pullFailed:{text:"Не удалось получить сообщение с мобильного телефона через ретрансляционный сервер. Возможно, сервер ретрансляции отключен, обратитесь в службу технической поддержки",title:"Ошибка извлечения"},reconnectOnly:{button:"Запустите заново мобильное приложение"},scanningFailed:{text:"Мобильный телефон не смог успешно отсканировать сообщение. Пожалуйста, попробуйте еще раз",title:"Ошибка сканирования"},start:{hideAppQRCode:"Скрыть QR код",revealAppQRCode:"Показать QR код",step1:"Если у вас нет мобильного приложения, вы можете отсканировать QR-код для Apple App Store или Google Play Store в зависимости от того, какое у вас устройство.",step2:"Сканируйте с помощью нашего мобильного приложения, которое вы можете найти под названием «Digital Bitbox 2FA» в магазинах приложений для iOS и Android:"},started:{text:"Теперь следуйте инструкциям в мобильном приложении.",title:"Отлично"},success:{text:"Поздравляем, Вы успешно соединили свой BitBox с мобильным приложением!",title:"Успех"},timeout:{text:"Время ожидания истекло спустя две минуты. Начните снова, если Вы все еще хотите соединить мобильное приложение.",title:"Тайм-аут"},title:"Мобильное сопряжение"},K$={considerations:{button:"Рекомендации по резервному копированию",message:`Кодовая фраза добавляет дополнительный уровень защиты к резервной копии вашего кошелька (карта microSD или seed фраза из 24 слов). Если у кого-то есть доступ к вашей резервной копии, ему также понадобится кодовая фраза для доступа к вашему кошельку. + +Однако это означает, что вам понадобится как кодовая фраза, так и резервная копия кошелька для восстановления кошелька с поддержкой кодовой фразы, в случае, если ваш BitBox02 потерян или сломан. Если вы забудете или потеряете свою кодовую фразу, вы потеряете доступ ко всем монетам на данном кошельке (аккаунте). + +При хранении кодовой фразы подумайте о том, чтобы поместить ее в отдельное место, отличное от резервной копии. Таким образом, если кто-то найдет вашу резервную копию, он не найдет вашу кодовую фразу!`,title:"Рекомендации по резервному копированию"},disable:"Отключение кодовой фразы",disableInfo:{button:"Отключить",message:`После отключения кодовой фразы вам больше не будет предложено ввести кодовую фразу после разблокировки BitBox02. Вы увидите свой кошелек по умолчанию. + +Любые монеты на вашем кошельке с кодовой фразой по-прежнему будут находиться на этом кошельке, но вы не сможете получить к ним доступ, потому что после разблокировки вашего BitBox02 откроется кошелек по умолчанию. + +Чтобы снова получить доступ к вашим кошелькам с кодовой фразой, просто повторно включите функцию кодовой фразы и введите соответствующую кодовую фразу после разблокировки BitBox02. + +Совет: Вы можете попасть в свой кошелек по умолчанию, оставив пароль пустым`},enable:"Включить кодовую фразу",error:{e104:"Изменение настройки кодовой фразы было прервано"},how:{button:"Как это выглядит",message:`Кодовая фраза работает не так, как пароль, к которому вы привыкли. Если вы неправильно введете свою кодовую фразу, то не получите уведомление. Это происходит потому, что каждая кодовая фраза создает другой, но действительный кошелек. Вы можете использовать несколько кодовых фраз для любого количества кошельков, сколько захотите. Доступ к каждому кошельку возможен только при вводе соответствующей кодовой фразы. + +При включении BitBox02 вам, как обычно, будет предложено ввести пароль устройства. После этого будет предложено ввести кодовую фразу на устройстве. + +После ввода кодовой фразы вам будет показана введенная вами кодовая фраза. Это сделано для того, чтобы вы могли убедиться, что ввели её правильно`,title:"Как это работает"},intro:{message:`Кодовая фраза обеспечивает дополнительный уровень безопасности вашего кошелька. +Давайте узнаем, как это работает`,title:"Установить кодовую фразу"},progressDisable:{message:"Подтвердите в своем BitBox, что вы хотите отключить необязательную кодовую фразу",title:"Подтвердите на устройстве"},progressEnable:{message:"Подтвердите на своем BitBox, что вы хотите включить необязательную кодовую фразу",title:"Подтвердите на устройстве"},successDisabled:{message:`Необязательная кодовая фраза успешно включена! +С этого момента вас попросят её ввести`,messageEnd:"Пожалуйста, подключите BitBox02 сейчас",title:"Кодовая фраза включена"},successEnabled:{message:`Необязательная кодовая фраза успешно отключена! +Вас больше не будут просить ввести кодовую фразу`,messageEnd:"Пожалуйста, подключите ваш BitBox02 сейчас",tips:"Рекомендации",tipsList:["Мы рекомендуем сначала отправить небольшую сумму на кошелек с кодовой фразой. Затем отключите и снова подключите BitBox02 и введите свой пароль и кодовую фразу. Если вы правильно ввели кодовую фразу, вы должны увидеть монеты в своем кошельке","Если вы хотите ввести свой оригинальный кошелек без кодовой фразы, достаточно не вводить ничего, когда будет предложено ввести кодовую фразу, оставить пустую строку. Или вы можете отключить функцию кодовой фразы"],title:"Кодовая фраза отключена"},summary:{button:"Включить кодовую фразу",title:"Сводка",understand:"Я понимаю, как работает кодовая фраза и связанные с ней риски",understandList:["Кодовая фраза - это дополнительный уровень безопасности, помимо вашей резервной копии","Ввод другой кодовой фразы всегда приведет к созданию нового кошелька","Чтобы восстановить свой кошелек, вам понадобится как кодовая фраза, так и резервная копия","Если вы забудете свою кодовую фразу, вы больше не сможете получить доступ к своим монетам"]},what:{button:"Узнайте, как это работает",message:`Кошелек создается (выводится) из очень большого случайного числа, также известного как seed фраза (начальная фраза). Это начальная фраза создается при первой настройке BitBox02 и сохраняется с помощью карты microSD или 24 слов. Любой, у кого есть доступ к seed фразе, имеет полный контроль над средствами на этом кошельке. + +Кодовое слово - это необязательный секрет, добавляемый к seed фразе. При использовании кодового слова создается новый кошелек на основе seed фразы + кодового слова (необязательного секрета). Каждое новое кодовое слово создает новый, другой кошелек. Кодовое слово может состоять из: букв, слов, специальных символов или даже быть пустым. На самом деле при создании начальной фразы по умолчанию стоит пустая кодовая фраза, т.е. seed фраза + пустое кодовое слово. + +Кодовое слово является частью стандарта BIP39 - это означает, что она совместима со всеми кошельками, поддерживающими один и тот же стандарт`,title:"Что такое кодовое слово?"},why:{button:"Зачем использовать кодовое слово",message:`BitBox02 полностью защищает seed фразу от извлечения с самого устройства, но резервная копия (карта microSD или 24 слова) дают полный доступ к кошельку. Они должны храниться в надежном месте! + +Так как кодовое слово создает новый кошелек, используя вашу существующую seed фразу, его также требуется хранить, как резервную копию для восстановления. Преимущество этого заключается в том, что если кто-то найдет вашу резервную копию (от seed фразы), ему все равно понадобится пароль для доступа к кошельку с кодовой фразой. + +Кроме того, функция кодовой фразы позволяет создавать несколько кошельков на одном устройстве, как “скрытые кошельки” в дополнение к кошельку по умолчанию`,title:"Зачем использовать кодовое слово?"}},G$={show:"Показать {{label}}",warning:{caps:"ВНИМАНИЕ: «Caps Lock» (⇪) включен",paste:"Для того чтобы вставить текст, включите «ПОКАЗАТЬ {{label}}»"}},Q$={button:"Сгенерировать случайное число",description:"Ваш BitBox сгенерировал следующее {{bits}}-битное случайное число:"},Y$={changeScriptType:"Изменить тип адреса",label:"Ваш адрес",onlyThisCoin:{description:"Чтобы получать другие токены, включите их в настройках. Если вы внесете другие токены, они могут быть недоступны.",warning:"Убедитесь, что получаете только {{coinName}} по этому адресу."},scriptType:{p2tr:"Taproot (новейший формат)",p2wpkh:"Native Segwit (по умолчанию)","p2wpkh-p2sh":"Wrapped Segwit (совместимый формат)"},showFull:"Показать и проверить полный адрес на устройстве",taprootWarning:"Примечание: Taproot - это новая функция Биткойна, которая еще не получила широкого распространения. Средства, полученные на формат адреса Taproot, могут быть недоступны для просмотра в сторонних кошельках, предназначенных только для просмотра. Многие кошельки и биржи пока не могут отправлять на адреса Taproot",title:"Получить {{accountName}}",verify:"Безопасно проверить адрес",verifyBitBox01:"Подтвердите адрес в мобильном приложении",verifyBitBox02:"Проверить адрес на BitBox02",verifyInstruction:"Убедитесь, что этот адрес совпадает с тем который отображается на Вашем устройстве.",warning:{secureOutput:'Пожалуйста, соедините ваш BitBox с мобильным устройством, чтобы включить безопасную проверку адреса. Перейдите в раздел "Управление устройством" на боковой панели'}},Z$={description:"Все данные на устройстве будут удалены. Это включает в себя Ваш закрытый ключ!",notReset:"Не удалось сбросить устройство.",title:"Сбросить устройство на заводскую прошивку",understand:"У меня есть резервная копия и я знаю пароль восстановления",understandBB02:"У меня есть действующая резервная копия"},J$={create:{description1:"Мы рекомендуем вам инициализировать устройство в безопасной среде, вдали от других людей которые могут видеть Ваш пароль.",description2:"Вам будет предложено создать два пароля.",description3:"Первый device password, это тот, который разблокирует Ваш BitBox и может быть изменен позже.",description4:"Второй recovery password открывает Ваш кошелек. Этот пароль не может быть изменен позже.",description5:"Созданный кошелек будет скопирован в файл на прилагаемой карте micro SD. Её можно использовать в чрезвычайной ситуации, чтобы восстановить свои средства, используя пароль восстановления.",title:"Информация о безопасности"},restore:{description1:"Вам нужно будет вставить карту micro SD, которую вы использовали для хранения резервной копии",description2:"Для восстановления вашего устройства вам понадобится пароль восстановления.",description3:"Будьте внимательны при вводе пароля восстановления. Любой введенный Вами пароль создаст действительный кошелек. Если Вы введете неправильный пароль, вам может быть показан баланс кошелька, которого вы не ожидаете.",title:"Информация о безопасности"}},X$={agreements:{"funds-access":"Я НЕ смогу получить доступ к своим средствам, если я забуду пароль восстановления","password-change":"Я НЕ смогу изменить пароль восстановления позже.","password-required":"Пароль восстановления необходим для восстановления кошелька из резервной копии"},create:"Создать кошелек",creating:"Создание кошелька",description:"Я подтверждаю:",error:{e102:"Пароль должен состоять не менее чем из 4 символов.",e200:"Вам необходимо вставить карту micro SD в свой BitBox, чтобы создать кошелек и создать автоматически резервную копию"},info:{button:"Установить пароль восстановления",description1:"Вставьте карту micro SD в BitBox",description2:"Выберите пароль восстановления для кошелька и нажмите «Установить пароль восстановления»",description3:"Резервная копия на карте micro SD и резервная копия из слов (seed фраза) - единственный способ восстановить ваши средства в случае потери или кражи BitBox.",description4:"Вы не можете изменить пароль для восстановления позже, не переводя свои средства.",title:"Создать новый кошелек"},password:{label:"Пароль восстановления",repeatPlaceholder:"Повторить пароль восстановления"},walletName:{label:"Название кошелька"}},eM={error:{e200:"Для восстановления кошелька из резервной копии требуется карта micro SD."},info:{description1:"Вставьте карту micro SD в BitBox и нажмите «Продолжить»,",description2:"Выберите резервную копию и нажмите «Восстановить»,",description3:"Введите пароль восстановления",description4:"Вам нужно подтвердить, что неверный пароль создаст другой кошелек.",title:"Как восстановить кошелек из резервной копии"}},tM={abort:"Транзакция была прервана.",address:{label:"Адрес получателя",placeholder:"Введите адрес"},amount:{label:"Сумма",placeholder:"Введите сумму"},availableBalance:"Доступные средства",button:"Проверка",coincontrol:{address:"Адрес",outpoint:"Outpoint",title:"Отправить с выхода"},confirm:{"selected-coins":"Выбранные монеты",title:"Подтвердить и отправить транзакцию",total:"Всего"},error:{feeTooLow:"комиссия слишком малая",feesNotAvailable:"Не удалось оценить комиссии",insufficientFunds:"недостаточно средств",invalidAddress:"неверный адрес",invalidAmount:"недопустимая сумма",invalidData:"неверные данные"},fee:{customPlaceholder:"Внести сумму",label:"Сетевая комиссия",placeholder:"Недоступно"},feeTarget:{customLabel:"Процент комиссии",customLabel_eth:"Цена gas (газа eth)",description:{economy:"4 часа (24 блока)",economy_eth:"30 минут или меньше",economy_ltc:"1 час (24 блока)",high:"20 минут (2 блока)",high_eth:"30 секунд или меньше",high_ltc:"5 минут (2 блока)",low:"2 часа (12 блоков)",low_eth:"5 минут или меньше",low_ltc:"30 минут (12 блоков)",normal:"1 час (6 блоков)",normal_eth:"2 минуты или меньше",normal_ltc:"15 минут (6 блоков)"},estimate:"Расчетное время подтверждения транзакции:",label:{custom:"Кастом",economy:"Эконом",high:"Быстро",low:"Медленно",normal:"Средне"},placeholder:"Расчет сетевой комиссии ..."},maximum:"Отправить все",maximumSelectedCoins:"Отправить выбранные монеты",priority:"Приоритет",scanQR:"Сканировать QR код",signprogress:{description:"Это транзакция содержит много данных. Чтобы полностью подписать транзакцию, вы должны подтвердить {{steps}} разa.",label:"Прогресс"},success:"Транзакция была подписана и отправлена.",title:"Послать {{accountName}}",toggleCoinControl:"Переключить управление входами",transactionDetails:"Детали транзакции"},nM={electrum:{add:"Добавить сервер","add-server":"Добавить",check:"Проверка",checkFailed:"Не удалось",checkSuccess:"Успешно установлено соединение с {{host}}",checking:"Проверка","download-cert":"Загрузить сертификат","remove-server":"Удалить",removeConfirm:"Удалить {{server}}?",reset:"Восстановить на изначальные настройки",resetConfirm:"Вы хотите удалить все серверы и установить изначальные?",servers:"Серверы",step1:"1","step1-text":"Введите эндпоинт.",step2:"2","step2-text":"Введите сертификат цепочки сертификатов сервера. Либо, скачайте сертификат и сравните его визуально.","step2-text-tcp":"Вы можете пропустить этот шаг, если не хотите использовать TLS.",step3:"3","step3-text":"Проверьте подключение и добавьте сервер.",step4:"4","step4-text":"Перезагрузите кошелек. Если Вы не удалите дефолтные серверы, Ваш собственный узел будет добавлен как избыточность.","title-btc":"Серверы Bitcoin Electrum","title-ltc":"Серверы Litecoin Electrum","title-tbtc":"Серверы Bitcoin Testnet Electrum ","title-tltc":"Серверы Litecoin Testnet Electrum "},expert:{coinControl:"Включить управление входами",electrum:{title:"Подключить свой собственный узел"},fee:"Включить индивидуальную сетевую комиссию",setProxyAddress:"Установить адрес прокси",title:"Экспертные настройки",useProxy:"Включить прокси-сервер тор"},header:{home:"Главная"},restart:"Перезапустите BitBoxApp, чтобы изменения вступили в силу.",services:{title:"Сервисы"},success:"Пожалуйста, отключите и подключите BitBox заново, чтобы изменения вступили в силу.",title:"Настройки"},aM="Инициализировать устройство",iM={buy:"Купить криптовалюту",device:"Управление устройством",leave:"Выйти",settings:"Настройки"},oM={create:{info1:"Резервная копия вашего кошелька была надежно сохранена на карту microSD. Выньте ее и сохраните в надежном месте.",info2:"Вы создали пароль защищающий устройство, который открывает доступ к BitBox.",info3:"Вы создали безопасный пароль для восстановления Вашего кошелька, который разблокировывает Ваши средства и восстанавливает Ваши резервные копии.",summary:"Вот краткое изложение того, что Вы сделали",title:"Успешно"},getstarted:"Начать",restore:{summary:"Вы успешно восстановили кошелек из резервной копии.",title:"Успешно"}},rM={confirmation:"Подтверждения",details:{activity:"Деятельность",address:"Адрес",amount:"Сумма",date:"Дата",fiat:"Фиат",fiatAmount:"Сумма фиата",status:"Статус",type:"Тип"},explorer:"Номер транзакции",explorerTitle:"Открыть во внешнем проводнике блоков",fee:"Плата",fiatHistorical:"Исторический",gas:"Газ",note:{edit:"Изменить заметку",save:"Сохранить заметку"},pending:"Неподтвержденная транзакция",size:"Размер",status:{complete:"Завершенная",failed:"Неудавшаяся",pending:"В ожидании"},tx:{received:"Получено",sent:"Отправлено"},vsize:"Виртуальный размер",weight:"Вес"},sM={placeholder:"Нет пока никаких транзакций."},lM="Произошла неизвестная ошибка: {{errorMessage}}",cM={description:"Введите пароль своего устройства, чтобы разблокировать устройство.",error:{e109_normal:"Неверный пароль устройства. {{remainingAttempts}} попыток остаются до сброса данных устройства.",e109_touch:"$t(unlock.error.e109_normal) Следующий вход в систему требует удерживание сенсорной кнопки.",e113:"Из-за многих попыток входа в систему, для очередного входа в систему требуется удерживать сенсорную кнопку в течение 4 секунд."},input:{label:"Пароль устройства",placeholder:"Введите пароль своего устройства."},unlocking:"Разблокировка ..."},uM={button:"Обновление прошивки",description:"Вы хотите обновить прошивку с {{currentVersion}} на {{newVersion}}?",label:"Для использования BitBox требуется обновление прошивки.",locked:"Чтобы обновить с {{currentVersion}} на {{newVersion}}, долго нажмите кнопку.",title:"Обновление прошивки",unlocked:"Загрузчик разблокирован. Чтобы продолжить, пожалуйста:",unlocked1:"Отсоедините и присоедините Ваш Bitbox заново",unlocked2:"Светодиод загорится, когда Ваш BitBox будет снова присоеденён",unlocked3:"Нажмите сенсорную кнопку, когда загорится светодиод"},dM={receivePairing:"Пожалуйста, соедините BitBox, для безопасной проверки адреса. Перейдите в «Настройки Устройства» на боковой панели",sdcard:"Храните карту micro SD отдельно от BitBox, если только вы не хотите управлять резервными копиями",sendPairing:"Присоедините BitBox, для безопасного провeрки данных транзакции. Перейдите в «Настройки устройства» на боковой панели"},pM={getStarted:"Давайте начнем с установки прошивки на ваш BitBox02",insertBitBox02:"Для использования BitBox02, пожалуйста, коснитесь устройства.",insertDevice:"Присоедините Ваше устройство для начала работы",title:"Добро пожаловать"},hM={account:t$,accountInfo:n$,accountSummary:a$,addAccount:i$,aopp:o$,app:r$,backup:s$,bb02Bootloader:l$,bitbox:c$,bitbox02Interact:u$,bitbox02Settings:d$,bitbox02Wizard:p$,blink:h$,bootloader:m$,button:f$,buy:g$,changePin:v$,chart:b$,checkSDcard:k$,clickHere:x$,confirm:y$,confirmOnDevice:w$,device:j$,deviceLock:B$,deviceSettings:S$,deviceTampered:z$,dialog:C$,error:D$,fiat:A$,footer:_$,generic:T$,genericError:E$,goal:P$,guide:N$,headerssync:L$,hiddenWallet:I$,initialize:$$,invalidFormat:M$,language:O$,legacyhiddenwallet:R$,loading:F$,manageAccounts:V$,mobile:W$,note:U$,notification:q$,pairing:H$,passphrase:K$,password:G$,random:Q$,receive:Y$,reset:Z$,securityInformation:J$,seed:X$,seedRestore:eM,send:tM,settings:nM,setup:aM,sidebar:iM,success:oM,transaction:rM,transactions:sM,unknownError:lM,unlock:cM,upgradeFirmware:uM,warning:dM,welcome:pM},mM={disconnect:"Sambungan hilang. Mencuba lagi...",export:"Eksport",exportTransactions:"Eksport transaksi ke folder muat turun sebagai fail CSV",fatalError:"Terdapat kesilapan yang tidak dijangka.",incoming:"Masuk",initializing:"Mendapatkan maklumat dari blockchain ...",maybeProxyError:"Proksi Tor diaktifkan. Pastikan proksi Tor anda berfungsi dengan baik atau matikan tetapan proksi.",reconnecting:"Sambungan hilang, mencuba menyambung kembali...",syncedAddressesCount:"{{count}} alamat telah diimbas"},fM={address:"Alamat",buyCTA:{buy:"Beli {{unit}}",buyCrypto:"Beli Kripto",information:{looksEmpty:"Nampaknya dompet ini kosong.",start:"Memulakan dengan mendepositkan beberapa syiling ke dalam dompet atau membeli terus di dalam aplikasi BitBoxApp."}},extendedPublicKey:"Public key lanjutan",label:"Maklumat akaun",scriptType:"Jenis skrip",title:"Maklumat Akaun",verify:"Sahkan pada peranti",xpubTypeChangeBtn:{p2pkh:"Lihat legacy P2PKH extended public key",p2tr:"Lihat Taproot",p2wpkh:"Lihat Segwit Asli","p2wpkh-p2sh":"Lihat Segwit public key lanjutan yang lebih lama"},xpubTypeInfo:"Sedang memaparkan {{scriptType}} public key lanjutan ({{current}} daripada {{numberOfXPubs}})"},gM={availableBalance:"Baki yang ada",balance:"Baki",exportSummary:"Eksport Ringkasan Akaun ke Folder Muat Turun sebagai Fail CSV",fiatBalance:"Baki Fiat",name:"Nama Akaun",noAccount:"Tiada akaun untuk dipaparkan.",subtotalWithCoinName:"Jumlah ({{coinName}})",title:"Ringkasan Akaun",total:"Jumlah",transactionHistory:"Sejarah transaksi"},vM={chooseName:{nextButton:"Tambah Akaun",step:"Nama akaun",title:"Namakan akaun anda"},selectCoin:{nextButton:"Seterusnya",step:"Pilih syiling",title:"Pilih mata wang kripto"},success:{addAnotherAccount:"Tambah akaun lain",message:"{{accountName}} telah ditambahkan ke akaun anda",nextButton:"Selesai",step:"Selesai",title:"Akaun ditambahkan"},title:"Tambah Akaun"},bM={addressRequest:"{{host}} sedang meminta alamat penerimaan.",addressRequestWithLogo:"sedang meminta alamat penerima",banner:"Permintaan alamat dalam proses.",errorTitle:"Ralat semasa permintaan alamat",labelAddress:"Alamat",labelMessage:"Mesej",reverifyInfoText:"Sahkan alamat",signing:"Untuk meneruskan, tandatangani mesej pada BitBox02 anda.",success:{message:"Teruskan {{host}}",title:"Alamat berjaya dihantar"},syncing:"Menyelaraskan akaun, sila tunggu.",title:"Permintaan alamat"},kM={upgrade:"Versi baru aplikasi ini telah didapati! Sila kemaskini dari {{current}} ke {{version}}."},xM={authButton:"Sahkan",title:"Sila sahkan untuk meneruskan"},yM={check:{checking:"Memeriksa backup...",confirmTitle:"Semak Backup",notOK:"Backup TIDAK sepadan dengan wallet.",ok:"Backup sepadan dengan wallet.",password:{label:"Kata laluan pemulihan",placeholder:"Kata laluan pemulihan",showLabel:"Kata laluan pemulihan"},success:"Backup berjaya disahkan",title:"Semak Backup"},create:{alreadyExists:"Anda sudah mempunyai backup yang sah. Adakah anda ingin menciptanya kembali?",fail:"TIDAK BERJAYA membuat backup!",info:"Sila masukkan kata laluan pemulihan dari wallet terkini untuk pengesahan",name:{label:"Nama backup",placeholder:"Sila memberi nama backup"},password:{label:"Kata Laluan Pemulihan",placeholder:"Sila masukkan kata laluan pemulihan anda"},title:"Buat Backup",verificationFailed:"Kata laluan pemulihan TIDAK sesuai dompet terkini. Backup telah dibuat. Sila gunakan 'Semak Backup' untuk mengesahkan kembali password pemulihan anda."},description:"Pilih fail backup wallet",insert:"Sila masukkan kad micro SD untuk mengurus backup.",insertButton:"Saya telah memasukkan kad micro SD",list:"Telah jumpa backup berikut pada kad SD ini:",noBackups:"Tiada backup pada kad microSD ini.",restore:{confirmTitle:"Memulihkan Backup",error:{e200:"SD card tidak dijumpai",general:"Ralat memulihkan sandaran"},password:{label:"Kata laluan pemulihan atau kata laluan pemulihan tersembunyi",placeholder:"Kata laluan pemulihan",repeatPlaceholder:"Ulangi kata laluan pemulihan",showLabel:"Kata laluan pemulihan"},restoring:"Memulihkan backup...",selectedBackup:"{{backupName}} dicipta pada {{createdDateTime}} akan dipulihkan.",title:"Memulihkan",understand:"Saya faham bahawa kata laluan pemulihan yang salah akan membuat dompet yang berbeza"},showMnemonic:{description:`Anda akan diberikan 24 perkataan pemulihan, yang membentuk sandaran dompet anda. Tulis mereka di atas kertas. + +Jangan menyimpannya secara digital atau mengambil gambar. + +Jangan mengucapkannya dengan lantang. + +Sandaran ini tidak dilindungi kata laluan. + +Selepas itu, anda akan diminta mengesahkan setiap perkataan.`,title:"Tunjukkan perkataan pemulihan",warning:"Jangan sekali-kali berkongsi kata-kata pemulihan anda dengan sesiapa pun. Perkataan pemulihan anda memberikan akses penuh kepada dompet anda. Jika seseorang meminta anda untuk kata-kata pemulihan anda, ia adalah penipu, jangan kongsikannya!"},title:"Urus Backup"},wM={abort:"Jangan naik taraf - Kembali",abort_noUpgrade:"Bawa saya balik",advanced:{label:"Tetapan lanjutan",toggleShowFirmwareHash:"Tunjukkan hash firmware setiap kali pada permulaan"},flipscreen:"Putar skrin",orientation:"Orientasi peranti salah?",success:"Naik taraf berjaya! Meneruskan dalam {{rebootSeconds}} detik...",success_install:"Pemasangan berjaya! Meneruskan dalam {{rebootSeconds}} detik..."},jM={error:{e10000:"Kata laluan peranti terkini salah",e10001:"Gagal mengganti kata laluan peranti",e102:"Kata laluan mestilah terdiri daripada sekurang-kurangnya 4 aksara.",e112:"Kata laluan peranti tersembunyi tidak boleh sama dengan kata laluan peranti utama."}},BM={confirmDate:"Sahkan tarikh hari ini pada BitBox02 anda.",confirmDateText:"Tarikh ini akan digunakan untuk membuat sandaran anda.",confirmName:"Sahkan nama pada BitBox02",confirmWords:"Tuliskan {{amount}} perkataan pemulihan daripada BitBox02 anda",confirmWordsText:"Selepas itu BitBox02 meminta anda mengesahkan setiap perkataan untuk mengesahkan bahawa sandaran adalah betul.",followInstructions:"Sila ikuti arahan pada BitBox02 anda.",followInstructionsMnemonic:"Ikuti arahan pada BitBox02 anda untuk memasukkan perkataan pemulihan dari sandaran dan pulihkan dompet anda.",followInstructionsMnemonicTitle:"Pulihkan dari perkataan pemulihan"},SM={deviceName:{current:"Nama peranti semasa",error:"Nama peranti tidak dapat ditetapkan",error_104:"Mengesahkan nama peranti telah digugurkan pada peranti.",input:"Nama BitBox02",placeholder:"Nama peranti baharu",title:"Tetapkan Nama BitBox02"},gotoStartupSettings:{description:"Ini akan but semula BitBox02 anda dan masukkan tetapan permulaan.",title:"Ini akan me-reboot BitBox02 anda dan masuk ke dalam tetapan permulaan semula."}},zM={advanced:{button:"Pilihan lanjutan",outOfDate:"Perisian tegar sudah lapuk untuk ciri ini",seed12WordInfo:"Sila ambil perhatian bahawa bilangan perkataan tidak boleh diubah selepas mencipta dompet.",seed12WordLabel:"Buat 12 perkataan dan bukannya benih 24 perkataan",seed12WordText:"Secara lalai, BitBox02 menggunakan benih 24 perkataan. Kedua-dua panjang benih adalah selamat daripada paksaan kasar dalam amalan. Sesetengah pengguna mungkin lebih suka kemudahan benih 12 perkataan sebaliknya.",skipSDCardLabel:"Langkau sandaran kad microSD dan tulis perkataan pemulihan sebaliknya",skipSDCardText:"Anda sentiasa mempunyai pilihan untuk membuat sandaran kad microSD atau menulis perkataan pemulihan anda selepas persediaan. Ini boleh dilakukan dari tetapan.",title:"Pilihan sandaran lanjutan"},attestationFailed:"Pengesahan peranti gagal. BitBox anda mungkin palsu atau terkompromi. Syiling di BitBox02 mungkin berisiko hilang. Sila hubungi support@bitbox.swiss dengan segera.",backup:{point1:"Pilih backup pada kad microSD",point2:"Tetapkan kata laluan untuk peranti anda",restoreText:"Ok, mari kita pulihkan backup!",text1:"Hebat, kata laluan BitBox02 anda sudah ditetapkan dan wallet dibuat. Kini tiba masanya untuk membuat backup pertama anda. Sila pastikan kad microSD anda dimasukkan ke dalam BitBox02 anda dan teruskan.",text2:"Sila ikuti arahan pada skrin pada peranti anda untuk membuat backup.",text3:"Selepas backup anda dicipta, sila tarik keluar kad microSD dan simpan itu di lokasi selamat. Kandungan kad microSD tidak dilindungi kata laluan. Jangan sekali-kali memasukkannya ke peranti lain selain BitBox02 anda.",userConfirmation1:"Saya harus menyimpan sandaran saya di lokasi yang selamat.",userConfirmation2:"Sandaran saya tidak dilindungi dengan kata laluan. Siapa saja yang mempunyai akses kepadanya dapat mengakses dompet saya.",userConfirmation3:"Jika saya kehilangan atau merosakkan BitBox02 saya, satu-satunya cara untuk memulihkan dana saya adalah dengan memulihkan daripada sandaran saya.",userConfirmation4:"Jika saya kehilangan atau merusakkan kedua-dua sandaran dan BitBox02 saya, maka dana saya akan hilang.",userConfirmation5:"Saya sepatutnya tidak memasukkan sandaran kad microSD saya ke dalam komputer, telefon, pencetak atau sebarang peranti selain daripada BitBox02.",userConfirmation5mnemonic:"Saya tidak sepatutnya meletakkan perkataan pemulihan saya dalam komputer, telefon, pencetak atau mana-mana peranti selain daripada BitBox02."},create:{button:"Beri Nama dan Teruskan",info:"Inilah langkah-langkah asas yang akan anda ambil untuk menyediakan BitBox anda: ",inputTitle:"Nama Wallet",point1:"Tetapkan nama untuk peranti anda",point2:"Tetapkan kata laluan untuk peranti anda",point3:"Buat backup",text:"Ok, mari buat dompet baru!"},createBackupAborted:"Membuat sandaran dihentikan.",createBackupFailed:"Gagal membuat sandaran, cuba lagi.",initialize:{passwordText:"Sekarang mari kita tetapkan kata laluan untuk peranti anda. Gunakan kawalan pada BitBox anda untuk memasukkan dan memilih kata laluan.",passwordTitle:"Tetapkan kata laluan untuk BitBox anda",text:"Berjaya berpasangan dengan BitBox02 anda! Sekarang mari kita inisialisasi peranti anda. Mulailah dengan memilih untuk membuat wallet baru, atau untuk memulihkan wallet dari backup yang sudah ada. Sila pastikan anda mempunyai kad microSD yang sudah dimasukkan dalam BitBox02 anda",tip:"Sebelum meneruskan, sangat disyorkan supaya anda meneruskan di persekitaran yang selamat.",title:"Inisialisasi BitBox anda"},insertSDCard:"Sila pastikan anda mempunyai kad microSD yang dimasukkan ke dalam BitBox02 anda.",noPasswordMatch:"Kata laluan tidak sepadan, sila cuba lagi.",pairing:{failed:"Pasangan tidak berjaya disahkan. Sila tancap ulang BitBox02 anda.",paired:"Anda telah mengesahkan pada peranti anda bahawa kod sepadan. Jika ini betul, anda boleh meneruskan dengan mengklik butang di bawah.",title:"Sahkan Kod Pasangan",unpaired:"BitBox02 baru telah dikesan. Sila sahkan bahawa kod berikut sepadan dengan apa yang ditunjukkan pada peranti anda. Jika kod itu sepadan, sentuh di bawah tanda semak pada BitBox02 anda dan kemudian klik butang di bawah untuk meneruskan."},restoreFromMnemonic:{e104:"Pemulihan daripada perkataan pemulihan telah dibatalkan.",failed:"Pemulihan daripada perkataan pemulihan gagal, sila cuba lagi."},stepBackup:{beforeProceed:"Sebelum meneruskan, sila baca pertimbangan keselamatan berikut:",createBackup:"Anda kini akan membuat sandaran pada kad microSD anda.",createBackupMnemonic:"Kini, anda akan dapat menulis perkataan pemulihan."},stepBackupSuccess:{fundsSafe:"Untuk memastikan dana anda selamat, sila ingat perkara berikut:",title:"Sandaran Dipulihkan!"},stepConnected:{unlock:"Masukkan kata laluan BitBox02 untuk membuka kunci."},stepCreate:{description:"Nama ini digunakan sebagai nama peranti dan untuk sandaran.",nameLabel:"Nama BitBox02",namePlaceholder:"BitBox02 Saya",title:"Pilih nama BitBox02",toastMicroSD:"Sila masukkan kad microSD anda ke dalam BitBox02 anda yang akan digunakan untuk menyimpan sandaran dompet."},stepCreateSuccess:{removeMicroSD:"Sila keluarkan kad microSD dari BitBox02 anda dan simpan di tempat yang selamat.",storeMnemonic:"Sila simpan perkataan pemulihan anda di lokasi yang selamat",success:"Anda telah berjaya membuat sandaran anda."},stepInsertSD:{insertSDCard:"Sila masukkan kad mikroSD ke dalam BitBox02 anda untuk meneruskan.",insertSDcardTitle:"Masukkan kad mikroSD"},stepPassword:{e104:"Menetapkan kata laluan telah dibatalkan.",title:"Tetapkan kata laluan BitBox02",useControls:"Gunakan kawalan pada BitBox02 anda untuk menetapkan kata laluan."},stepUninitialized:{create:"Saya mahu menyiapkan BitBox02 baru",restore:"Saya mahu memulihkan dompet saya daripada sandaran.",restoreMicroSD:"Pulihkan daripada kad microSD",restoreMnemonic:"Pulihkan daripada perkataan pemulihan",title:"Sediakan BitBox02 anda"},success:{text:`Hooray! BitBox02 anda kini siap untuk digunakan. + +Untuk maklumat lanjut mengenai cara menggunakan aplikasi BitBox, sila gunakan panduan dalam aplikasi dengan mengklik tanda tanya di sudut kanan atas.`,title:"Anda sudah bersedia untuk pergi!"}},CM={button:"Berkedip"},DM={button:"Naik taraf Firmware sekarang",button_install:"Pasang firmware sekarang",progress:"Menaiktaraf: {{progress}}%",progress_install:"Memasang: {{progress}}%",success:"Naik taraf berjaya! Sila pasang ulang peranti. Kali ini, jangan sentuh butang."},AM={abort:"Tinggalkan",back:"Kembali",buy:"Beli",changepin:"Ubah kata laluan peranti",check:"Semak Backup",continue:"Teruskan",copy:"Menyalin",create:"Buat",dismiss:"Batalkan",done:"Selesai",download:"Muat turun",hiddenwallet:"Buat wallet tersembunyi",next:"Berikut",ok:"OK",previous:"Sebelumnya",receive:"Terima",restore:"Memulihkan",select:"Pilih",send:"Hantar",unlock:"Buka",update:"Kemas kini",upgrade:"Naik taraf"},_M={exchange:{bankTransfer:"Transfer bank",bestDeal:"Tawaran terbaik",creditCard:"Kad kredit",fast:"Cepat",fee:"bayaran",infoContent:{moonpay:{fees:{bankTransfer:"Pemindahan bank: {{fee}}%",creditDebitCard:"Kad kredit/debit: {{fee}}%",learnMore:"Ketahui lebih lanjut tentang Moonpay",title:"Bayaran"},fullCurrenciesList:"Lihat senarai penuh mata wang di sini",payment:{asteriskText:"* Tidak tersedia untuk penduduk AS",bankTransfer:"Transfer bank*",bankTransferDetails:{pix:"PIX (transaksi BR di Brasil sahaja)",sepa:"SEPA dan SEPA Instant (transaksi EUR di negara-negara SEPA sahaja)",uk:"UK Faster Payments (transaksi GBP di UK sahaja)"},creditDebitCard:"Kad kredit/debit",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa dan Maestro"},learnMore:"Lihat butiran lanjut tentang kaedah pembayaran",title:"Cara bayaran"},supportedCurrencies:"Menyokong semua mata wang fiat utama: USD, EUR, CHF dan lain-lain."},pocket:{fees:{info:"Transfer bank: {{fee}}%",title:"Bayaran"},learnMore:"Ketahui lebih lanjut tentang Pocket",payment:{bankTransfer:"Transfer bank",bankTransferDetails:{sepa:"SEPA dan SEPA Segera (urus niaga EUR di negara SEPA sahaja)",sic:"Swiss Interbank Clearing (transaksi CHF di CH/LI sahaja)",uk:"UK Faster Payments (transaksi GBP di UK sahaja)"},bankTransferReccuring:"Bagaimana cara menyiapkan pembelian berkala dengan standing order?",title:"Cara bayaran"},supportedCurrencies:"Menyokong mata wang Eropah: EUR, GBP dan CHF.",verification:{info:"Hanya memerlukan pengesahan identiti melebihi ambang harian dan tahunan.",link:"Cari ambang semasa di sini",title:"Pengesahan identiti"}},region:{title:"Pilih wilayah akaun bank anda didaftarkan untuk melihat pilihan yang tersedia untuk anda."}},noExchanges:"Maaf, tiada pertukaran tersedia di rantau ini.",region:"Wilayah",selectRegion:"Tidak dinyatakan",title:"Beli {{name}}"},info:{continue:"Setuju dan teruskan",crypto:"kripto",disclaimer:{intro:["Kami bekerjasama dengan MoonPay untuk menawarkan anda cara yang lancar untuk membeli {{name}} terus dalam BitBoxApp. Ia hanya beberapa klik.","MoonPay ialah platform yang memudahkan dan cepat untuk membeli {{name}} di lebih 160+ negara."],payment:{details:"Anda boleh beli {{name}} serta-merta melalui MoonPay dengan kaedah pembayaran berikut. Pesanan kad kredit atau debit adalah segera dan mudah, tetapi lebih mahal disebabkan peningkatan risiko caj balik. Kami mengesyorkan menggunakan pilihan pindahan bank untuk jumlah yang lebih besar. Yuran minimum ialah 4 USD/EUR atau setara.",footnote:"Sila ambil perhatian bahawa kadar pertukaran MoonPay boleh berbeza daripada yang digunakan dalam BitBoxApp, menghasilkan jumlah yang sedikit berbeza.",table:{"1_description":"Yuran terendah, boleh mengambil masa sehingga 3 hari bekerja","1_method":"Pindahan bank (SEPA)","2_description":"Yuran yang lebih tinggi tetapi cepat dan segera","2_method":"Kad kredit & debit",description:"Penerangan",fee:"Yuran",method:"Kaedah"},title:"Kaedah pembayaran dan yuran"},privacyPolicy:"Dasar privasi MoonPay",protection:{description:"BitBoxApp tidak mengumpul sebarang data semasa membeli {{name}}, dana masuk dianggap seperti transaksi biasa. MoonPay perlu mengumpul beberapa data peribadi untuk beroperasi. Dasar Privasi mereka menerangkan secara terperinci cara data tersebut dikendalikan.",descriptionGeneric:"BitBoxApp tidak mengumpul sebarang data semasa membeli {{name}}, dana yang masuk dianggap seperti transaksi biasa. Bagaimanapun pertukaran rakan kongsi perlu mengumpul beberapa maklumat untuk beroperasi. Sila rujuk dasar privasi masing-masing untuk melihat dengan lebih terperinci cara data dikendalikan.",title:"Perlindungan Data"},security:{description:"Apabila anda membeli {{name}} melalui MoonPay, anda menggunakan perkhidmatan luaran. Perkhidmatan ini berada di luar skop model ancaman keselamatan BitBox02 dan bergantung pada keselamatan dan keselamatan persekitaran tempat perisian BitBoxApp dijalankan.",descriptionGeneric:"Apabila anda membeli {{name}} melalui pertukaran rakan kongsi, anda menggunakan perkhidmatan luaran. Perkhidmatan ini berada di luar skop model ancaman keselamatan BitBox02 dan bergantung pada keselamatan dan keselamatan persekitaran tempat perisian BitBoxApp dijalankan.",link:'Model "security threat"',title:"Model security"},title:""},next:"Seterusnya",selectLabel:"Pilih akaun anda",selectPlaceholder:"Pilih syiling",skip:"Jangan tunjukkan lagi",title:"Beli {{name}}"},pocket:{data:{link:"Dasar privasi poket",p1:"BitBoxApp tidak mengumpul sebarang data semasa membeli bitcoin, dana masuk dianggap seperti transaksi biasa. Pocket perlu mengumpul beberapa data peribadi untuk beroperasi. Dasar Privasi mereka menerangkan secara terperinci cara data tersebut dikendalikan.",title:"Perlindungan Data"},kyc:{link:"Baca Soalan Lazim Poket",p1:"Pocket cuba mengekalkan KYC pada tahap minimum. Untuk pembelian di bawah 950 EUR (1000 CHF) sehari, tiada dokumen tambahan diperlukan. Untuk pembelian melebihi jumlah ini, anda perlu menjadualkan panggilan dengan Pocket untuk melengkapkan proses KYC/AML yang diperlukan.",title:"KYC/AML"},payment:{p1:"Anda boleh membeli bitcoin serta-merta dengan Pocket melalui pindahan bank SEPA. Yuran adalah 1.5% dan bitcoin didepositkan ke BitBox anda secepat mungkin selepas Pocket menerima pindahan bank (biasanya dalam hari yang sama).",p2:"Sila ambil perhatian bahawa kadar pertukaran Pocket boleh berbeza daripada yang digunakan dalam BitBoxApp, menghasilkan jumlah yang sedikit berbeza.",title:"Kaedah pembayaran dan yuran"},previousTransactions:"Sejarah transaksi akaun ini tidak kosong. Berkongsi akaun ini akan menjadikan semua urus niaga masa lalu dan masa depannya kelihatan untuk Pocket. Teruskan juga?",security:{link:"Model ancaman keselamatan BitBox02",p1:"Apabila anda membeli bitcoin melalui Pocket, anda menggunakan perkhidmatan luaran. Perkhidmatan ini di luar skop model Ancaman Keselamatan BitBox02 dan bergantung pada keselamatan dan keselamatan persekitaran yang dijalankan oleh perisian BitBoxApp. Walau bagaimanapun, kami bekerjasama untuk meningkatkan keselamatan dengan menggunakan mekanisme pengesahan dua faktor untuk mengesahkan alamat anda menerima ke.",title:"Model keselamatan"},usedAddress:"Alamat {{address}} telah digunakan, sila mulakan semula dengan alamat baharu.",verifyBitBox02:"Sila sahkan bahawa alamat yang anda terima melalui e-mel sepadan dengan alamat yang dipaparkan pada Bitbox anda. Jika boleh, anda harus membuka e-mel pada peranti kedua untuk keselamatan yang lebih baik.",welcome:{p1:"Kami bekerjasama dengan Pocket untuk menawarkan anda cara yang lancar untuk membeli bitcoin terus dalam BitBoxApp. Ia hanya beberapa klik.",p2:"Pocket ialah platform Switzerland yang menjadikannya cepat dan mudah untuk membeli bitcoin di kebanyakan Eropah (di mana-mana sahaja di mana pemindahan bank SEPA disokong).",p3:"Dengan Pocket, anda juga boleh melakukan pembelian biasa melalui pesanan bank tetap, jadi anda boleh DCA (purata kos dolar) dengan mudah.",title:"Selamat datang ke kedai sehenti anda untuk membeli bitcoin"}},title:"Beli {{name}}"},TM={newTitle:"Kata laluan peranti baru",oldLabel:"Kata laluan peranti terkini"},EM={dataMissing:"Mengumpul data sejarah... nantikan.",dataOldTimestamp:"Pengemaskinian kadar pertukaran sejarah. Carta tidak memaparkan data selepas {{time}}.",dataUpdating:"mengemas kini data…",filter:{all:"Semua",month:"Bulan",week:"Minggu",year:"Tahun"}},PM="memeriksa kad micro SD",NM="Tekan di sini.",LM={abortInfo:"Sentuh untuk ",abortInfoRedText:"tinggalkan",approveInfo:"Tahan 4 detik untuk ",approveInfoGreenText:"sahkan",info:"Pada BitBox anda",infoWhenPaired:"Mula-mula pada telefon mudah alih yang dipasangkan dan kemudian BitBox anda"},IM="Sila sahkan pada peranti anda.",$M={promptNoName:"Sila sambungkan BitBox02 anda untuk meneruskan",promptWithName:'Sila sambungkan BitBox02 anda bernama "{{name}}" bersambung'},MM={toggle:"Mod gelap"},OM={appUpradeRequired:"BitBox anda tidak sesuai dengan aplikasi desktop ini. Sila muat turun dan pasang versi terkini."},RM={button:"Membolehkan Pengesahan Dua Langkah (2FA)",condition1:"Adakah anda mempunyai backup?",condition2:"Apakah pengesahan aplikasi mudah alih berfungsi?",condition3:"2FA MENYAHAKTIFKAN backup dan pemasangan aplikasi. Peranti mesti DITETAPKAN SEMULA untuk keluar dari 2FA!",confirm:"Membolehkan Pengesahan Dua Langkah (2FA)",title:"Membolehkan Pengesahan Dua Langkah (2FA)"},FM={backups:{manageBackups:{description:"Cipta atau sahkan sandaran kad microSD anda."},showRecoveryWords:{description:"Tunjukkan dan sahkan perkataan pemulihan."},title:"Sandaran"},deviceInformation:{attestation:{description:"BitBoxApp menyemak sama ada peranti anda adalah tulen."},deviceName:{description:"Tukar nama peranti anda."},rootFingerprint:{description:"Root fingerprint ialah pengecam unik untuk dompet yang sedang digunakan. Root fingerpri boleh membantu anda membezakan antara dompet yang berbeza jika anda menggunakan frasa laluan."},securechip:{description:"Model cip selamat."},title:"Maklumat peranti"},expert:{factoryReset:{description:"Tetapkan semula peranti anda kepada tetapan kilang. Ini memadamkan dompet daripada BitBox02 anda!",title:"Tetapan semula kilang"},goToStartupSettings:{description:"Masukkan pemuat but BitBox02. Anda boleh mendayakan cincang perisian tegar dari sini."},passphrase:{description:"Dayakan atau lumpuhkan ciri frasa laluan.",title:"Ungkapan laluan"}},firmware:{firmwareVersion:"Versi Perisian Tegar",newVersion:{label:"Versi yang tersedia"},title:"Firmware",upToDate:"Peranti anda adalah yang terkini",upgradeAvailable:"Peningkatan baharu tersedia",version:{label:"Versi"}},hardware:{attestation:{false:"Semakan ketulenan gagal",label:"Semakan ketulenan",true:"BitBox02 anda adalah sahih"},sdcard:{false:"Belum dimasukkan",label:"Kad micro SD",true:"Telah dimasukkan"},securechip:"Cip selamat",title:"Hardware"},loading:"Mengambil maklumat peranti ...",pairing:{lock:{false:"dinyahaktifkan",label:"Pengesahan Dua Langkah (2FA)",true:"Diaktifkan"},mobile:{false:"Ditutup",label:"Aplikasi Mudah Alih",true:"Buka"},status:{false:"Belum dipasangkan",label:"Status",true:"Dipasangkan"},title:"Memasang"},secrets:{manageBackups:"Urus Backup",title:"Rahsia"}},VM="Apakah BitBox anda dibekalkan dengan kata laluan pemulihan? Jika ya, hentikan proses persediaan dan hubungi sokongan segera. Shift tidak akan memberikan anda dompet siap pakai atau membuat cadangan kata laluan.",WM={cancel:"Batal",confirm:"Sahkan",confirmTitle:"Pengesahan"},UM={accountAlreadyExists:"Akaun sudah wujud.",accountLimitReached:"Tidak boleh menambah akaun. Bilangan maksimum akaun untuk syiling ini telah dicapai.",aoppCallback:"Terdapat ralat menghantar alamat kepada {{host}}.",aoppInvalidRequest:"Invalid request.",aoppNoAccounts:"Tiada akaun tersedia.",aoppSigningAborted:"Permintaan pemilikan alamat dibatalkan.",aoppUnknown:"Ralat tidak diketahui berlaku.",aoppUnsupportedAsset:"Aset tidak disokong.",aoppUnsupportedFormat:"Tiada akaun tersedia yang menyokong format alamat yang diminta.",aoppUnsupportedKeystore:"Peranti yang disambungkan tidak boleh menandatangani mesej untuk aset ini.",aoppVersion:"Versi tidak diketahui.",wrongKeystore:"Dompet salah disambungkan. Sila pastikan anda memasukkan peranti yang betul yang sepadan dengan akaun ini.",wrongKeystore2:" Jika anda menggunakan frasa laluan pilihan, pastikan anda telah memasukkan frasa laluan yang betul untuk akaun tersebut."},qM={default:"tetapan standard",setDefault:"Tetapkan {{code}} sebagai tetapan standard",title:"Mata wang"},HM={appVersion:"Versi App:"},KM={enabled_false:"Dinyahaktifkan",enabled_true:"Diaktifkan"},GM="Kesalahan muncul. Sekiranya anda melihat sebarang masalah, sila mulakan semula aplikasi.",QM={buttons:{create:"Buat wallet baru",restore:"Pulihkan wallet dari backup"},paragraph:"Sila pilih salah satu pilihan berikut:",step:{1:{title:"Maklumat Keselamatan"},2:{description:"Tetapkan kata laluan peranti",title:"Peranti"},"3-create":{description:"Buat wallet baru",title:"Wallet"},"3-restore":{description:"dari backup",title:"Memulihkan"},"4-create":{title:"Ringkasan"},"4-restore":{title:"Ringkasan"}}},YM={accountDescription:{text:"Ini adalah gambaran keseluruhan akaun anda. Ia menunjukkan transaksi masuk dan keluar. Baki dipaparkan untuk setiap akaun secara berasingan. Rujuk panduan dalam tetapan untuk mengetahui lebih lanjut mengenai jenis akaun yang berlainan.",title:"Apa yang dipaparkan di sini?"},accountFiat:{text:"Ya, anda boleh mengklik ticker mana sahaja untuk berputar melalui beberapa mata wang fiat. Anda juga boleh menukar senarai mata wang dalam tetapan.",title:"Bolehkah saya memaparkan kadar penukaran lain?"},accountIncomingBalance:{text:"Jumlah yang akan masuk dan akan dipindahkan kepada anda tetapi belum disahkan oleh rangkaian.",title:"Apakah maksud akan masuk?"},accountInfo:{multipleXPubs:{text:`Setiap xpub terikat dengan "Jenis" yang ditunjukkan: sama ada "Segwit Asli (bech32)", "Segwit Terbungkus" atau "Taproot" (Bitcoin sahaja). Ini adalah jenis skrip yang digunakan oleh {{coinName}}. BitBoxApp menggabungkannya, menyokong berbilang jenis skrip dalam akaun yang sama. Kerana setiap jenis skrip memberikan xpub yang berbeza, terdapat berbilang xpub bagi setiap akaun. + +Jika anda menerima secara konsisten pada alamat lalai (Native Segwit), anda hanya memerlukan xpub "bech32". Walau bagaimanapun, jika anda turut menerima dana untuk "Wrapped Segwit" atau "Taproot", anda juga perlu menggunakan kunci awam lanjutan "Wrapped Segwit" dan "Taproot".`,title:"Mengapa terdapat banyak xpub?"},privacy:{text:`Untuk akaun khusus ini, kunci awam lanjutan mendedahkan keseluruhan sejarah kewangan, baki akaun anda dan semua urus niaga masa hadapan. Tetapi xpub tidak membenarkan sesiapa membelanjakan syiling anda. + +Jika anda memberikan xpub kepada seseorang, anda harus sedar bahawa orang atau syarikat ini boleh melihat semua transaksi lain akaun yang sama. Oleh itu, adalah idea yang baik untuk menggunakan akaun itu hanya untuk tujuan ini dan menyimpan dana lain dalam akaun yang berbeza.`,title:"Adakah saya perlu merahsiakan xpub saya?"},verify:{text:"Ya, adalah idea yang baik untuk menyemak semula xpub anda. Jika orang lain akan menjana alamat terima daripada xpub ini untuk menghantar wang kepada anda, ini amat penting. Anda perlu mengesahkannya pada peranti untuk memastikan bahawa xpub ini kepunyaan anda; jika tidak, semua dana boleh pergi ke alamat yang salah.",title:"Adakah saya perlu mengesahkan xpub pada peranti?"},xpub:{text:`Public Key Lanjutan adalah kunci akar yang mana semua alamat penerima sebuah akaun diperoleh. +Ia disediakan di sini untuk kegunaan lanjutan dan saling kendalian dengan wallet yang hanya boleh dilihat sahaja, seperti Electrum atau Sentinel.`,title:"Apa itu Public Key Lanjutan?"}},accountRates:{text:"Kadar pertukaran dikemas kini setiap minit oleh CoinGecko.",title:"Kadar mana yang digunakan?"},accountReload:{text:"Semua maklumat transaksi dikemas kini secara automatik.",title:"Bagaimanakah saya dapat memuatkan semula sejarah transaksi?"},accountSendDisabled:{text:"Butang 'Hantar' diaktifkan apabila baki anda tidak kosong.",title:"Mengapa saya tidak dapat menghantar sebarang {{unit}}?"},accountSummaryAmount:{text:`Jumlah keseluruhan ialah jumlah semua akaun crypto anda. Kadar pertukaran diperoleh daripada coingecko.com. + +Nota: Jika anda menggunakan MyEtherWallet untuk token yang tidak disokong dalam BitBoxApp, ia tidak akan dimasukkan dalam jumlah yang dipaparkan.`,title:"Bagaimanakah jumlah keseluruhan dikira?"},accountSummaryDescription:{text:"Di sini anda boleh melihat prestasi portfolio anda dari semasa ke semasa. Ringkasan akaun crypto individu anda dipaparkan di bawah carta.",title:"Apa yang dipaparkan di sini?"},accountTransactionAttributesBTC:{text:`Saiz maya: Digunakan untuk menentukan yuran rangkaian. Anda telah berjaya menyimpan yuran jika ia lebih kecil daripada saiz transaksi. +Saiz: Saiz transaksi yang sebenarnya dalam bait apabila disirikan mengikuti blockchan yang mendasarinya. +Berat: Diperkenalkan dengan Segwit, itu adalah metrik baru untuk menilai saiz transaksi dan blok. Setiap bait saksi yang dipisahkan dianggap sebagai satu, semua yang lain sebagai empat unit berat. Dibandingkan satu megabyte dalam saiz sebenarnya, had saiz blok kini adalah empat juta unit berat.`,title:"Butiran transaksi yang berkaitan dengan Bitcoin"},accountTransactionAttributesGeneric:{text:`Pengesahan: Apabila transaksi anda disiarkan buat kali pertama, ia tidak akan disahkan terlebih dahulu. Anda perlu menunggu untuk dimasukkan ke dalam blok oleh pelombong, selepas itu ia akan mempunyai 1 pengesahan. Setiap blok yang disiarkan di rangkaian selepas itu akan menambah pengesahan lain ke transaksi anda. Secara umum pedagang dan pelaku rangkaian lain hanya akan menerima transaksi dengan pengesahan 3-6 sebelum mempertimbangkan transaksi sebagai selesai. +ID Transaksi: Nombor pengenalan unik yang boleh digunakan untuk mencari transaksi dalam blok explorer. +Yuran: Pelombong dibayar yuran transaksi sebagai insentif untuk memasukkan transaksi di blok-blok yang mereka laksanakan. Untuk mengetahui lebih lanjut, klik pada butang hantar.`,title:"Apa makna daripada maklumat yang ditunjukkan dalam butiran transaksi?"},accountTransactionConfirmation:{text:"Ini adalah transaksi yang telah disiarkan ke rangkaian dan sedang menunggu untuk disahkan.",title:"Apa itu transaksi yang tertunda?"},accountTransactionLabel:{text:"Ia adalah alamat di mana anda menerima syiling atau menghantar syiling itu. Satu alamat menyandi bagaimana (dan dengan demikian oleh siapa) syiling dapat dibelanjakan.",title:"Alamat mana yang dipaparkan untuk setiap transaksi?"},accountTransactionTime:{text:"Masa daripada transaksi yang telah disahkan di blokchain.",title:"Masa mana yang dipaparkan?"},accounts:{howManyAccounts:{text:"Setiap syiling boleh mempunyai maksimum lima akaun.",title:"Berapa banyak akaun yang boleh saya buat?"},howtoAddTokens:{text:'Token yang menggunakan standard ERC20 terikat pada akaun Ethereum tertentu. Untuk mendayakan atau melumpuhkan token tertentu, buka skrin "Urus akaun", kembangkan akaun Ethereum anda dan hidupkan atau matikan token yang dikehendaki.',title:"Bagaimanakah saya boleh menambah token tambahan?"},moveFunds:{text:"ya. Tetapi kerana akaun adalah bebas, anda perlu menghantar dana anda menggunakan transaksi biasa.",title:"Bolehkah saya memindahkan dana antara akaun?"},recoverAccounts:{text:"ya. BitBoxApp mencipta akaun menggunakan piawaian yang mantap yang serasi dengan kebanyakan dompet crypto lain.",title:"Bolehkah saya memulihkan akaun saya dengan dompet lain?"},whatAreAccounts:{text:"Dompet anda boleh mengurus berbilang akaun syiling yang sama. Akaun berguna apabila anda ingin mengasingkan dana.",title:"Apakah akaun?"},whyIsThisUseful:{text:'Akaun bagus untuk mengurus dana untuk orang atau tujuan yang berbeza kerana ia dipisahkan. Anda juga boleh berkongsi "kunci awam lanjutan" akaun tanpa mendedahkan apa-apa tentang akaun anda yang lain. Ini membolehkan anda berulang kali menerima dana tanpa menggunakan semula alamat, seperti menerima gaji anda atau kerap membeli kripto.',title:"Mengapa ini berguna?"}},appendix:{link:"Hubungi kami!",text:"Soalan lain?"},backups:{check:{text:"'Semak Backup' membolehkan anda mengesahkan bahawa anda mempunyai backup kerja yang sesuai dengan dompet semasa anda. Ia juga boleh digunakan untuk mengesahkan bahawa anda masih mempunyai kata laluan pemulihan yang betul. Anda dapat menyemak kata laluan pemulihan utama atau tersembunyi anda.",title:"Apa itu 'Semak Backup'?"},encrypt:{text:"Tidak, tetapi kata laluan pemulihan diperlukan untuk memperoleh wallet dari benih yang disimpan.",title:"Bolehkah saya menyulitkan backup?"},howOften:{text:`Cadangan dibuat secara automatik apabila dompet baru dibuat. Anda hanya perlu membuat backup baru jika kad micro SD anda hilang atau rosak, atau jika anda mahu menggunakan lebih daripada satu kad micro SD sebagai backup. +Anda tidak perlu membuat backup baru selepas aktiviti transaksi. Semua data transaksi anda dapat diciptakan oleh backup tunggal anda yang dijana secara automatik untuk anda.`,title:"Berapa kerap saya perlu membuat backup?"},whatIsABackup:{text:"Ia adalah salinan benih pada kad micro SD. Benih bersama-sama dengan kata laluan pemulihan menjana dompet anda.",title:"Apa itu backup?"}},backupsBB02:{check:{text:"'Semak Backup' membolehkan anda mengesahkan bahawa anda mempunyai backup kerja yang sesuai dengan dompet semasa anda.",title:"Apa itu 'Semak Backup'?"},encrypt:{text:"Tidak. Sila simpan kad SD mikro dengan selamat, kerana ia mengandung benih yang tidak disenarai untuk memulihkan dompet anda.",title:"Bolehkah saya menyulitkan backup?"},whatIsABackup:{text:"Ia adalah salinan benih pada kad microSD.",title:"Apakah backup itu?"}},bitbox:{"2FA":{text:`Apabila 2FA dihidupkan, semua transaksi perlu diluluskan pada telefon mudah alih yang dipasangkan untuk membelanjakan duit syiling. Di bawah tudung, nombor guna tunggal yang disulitkan dihantar ke aplikasi mudah alih, disahsulitkan di sana, dan kembali ke BitBox dengan menekan butang Terima. Komunikasi dengan peranti ini dilakukan melalui saluran antara telefon mudah alih dan aplikasi desktop ini yang ditubuhkan semasa berpasangan. + +Pastikan anda telah membackup wallet anda dan pasangkan aplikasi mudah alih sebelum menghidupkan 2FA. Setelah dihidupkan, slot micro SD dan pasangan aplikasi mudah alih akan dimatikan. Mereka boleh diaktifkan semula dengan menetapkan semula BitBox, yang mana akan menghapuskan peranti tersebut.`,title:"Bagaimanakah Pengesahan Dua Langkah (2FA) berfungsi?"},disable2FA:{text:"Untuk mematikan 2FA, anda perlu menetapkan semula BitBox anda dan kemudian memulihkan wallet dari backupnya. Pastikan anda masih mempunyai kad micro SD dengan backup dan bahawa anda masih ingat kata laluan pemulihan anda. Kemudian tekan 'Tetapkan semula Peranti'. Lalu tetapkan kata laluan peranti baru dan pilih 'Atau Pulihkan Backup'. Pilih backup yang telah anda buat dari wallet, klik 'Pulihkan' dan masukkan kata laluan pemulihan yang anda gunakan semasa membuat dompet.",title:"Bagaimanakah saya dapat mematikan Pengesahan Dua Langkah (2FA)?"},ejectBitbox:{text:"Anda boleh mencabut BitBox bila-bila masa tanpa perlu mengklik ikon 'Selamat Lepaskan Perkakasan' terlebih dahulu.",title:"Bagaimana saya dapat menarik keluar BitBox?"},ejectSD:{text:"Anda dapat menyingkirkan micro SD kad dari BitBox kapanpun selama anda tidak menciptakan atau memulihkan sebuah backup",title:"Bagaimana saya dapat mengeluarkan kad micro SD?"},hiddenWallet:{text:"Ia adalah wallet kedua pada peranti yang sama yang dilindungi oleh kata laluan peranti dan kata laluan pemulihan yang berlainan, yang boleh anda gunakan untuk tujuan penafian yang munasabah. Dikeranakan penggunaan benih backup yang sama untuk wallet biasa dan tersembunyi anda, tiada tambahan backup diperlukan.",title:"Apa itu wallet tersembunyi?"},legacyHiddenWallet:{text:"Mula-mula klik butang di bawah (tersedia jika BitBox dikunci dengan kata laluan peranti utama dan 2FA dinyahdayakan), kemudian pasang kembali Bitbox dan buka dengan kata laluan peranti tersembunyi anda.",title:"Bagaimanakah saya dapat mengakses legacy wallet tersembunyi?"},pairing:{text:"Selepas memuat turun aplikasi mudah alih kami untuk iOS atau Android, anda dapat menubuhkan saluran selamat antara aplikasi mudah alih dan aplikasi ini dengan mengimbas kod QR yang dipaparkan. Setelah diimbas, ikut arahan dalam aplikasi mudah alih.",title:"Bagaimana memasangkan dengan selamat telefon anda"}},cointracking:{text:'Klik butang "Eksport" dan buka folder muat turun di mana anda akan menemui eksport CSV. Kemudian klik pautan di bawah, muat naik fail CSV BitBox anda dan import data untuk menggunakannya untuk pengurus portfolio CoinTracking anda dan untuk membuat laporan cukai anda.',title:"Bagaimana untuk mengimport urus niaga saya ke dalam CoinTracking?"},device:{attestation:{link:{text:"Baca lebih lanjut mengenai semakan ketulenan"},text:"BitBoxApp menjalankan semakan pengesahan pada BitBox02 untuk mengesahkan sama ada peranti itu tulen. Semakan dilakukan secara tempatan dan tidak bersambung ke mana-mana pelayan.",title:"Bagaimanakah semakan ketulenan berfungsi?"},name:{text:"Ini adalah nama dompet dan sandaran anda. Nama itu digunakan untuk sandaran masa hadapan dan boleh digunakan untuk membantu membezakan antara dompet yang berbeza. Ia boleh ditukar pada bila-bila masa tetapi ambil perhatian bahawa sandaran yang dibuat sebelum perubahan masih akan menggunakan nama sebelumnya.",title:"Apakah nama BitBox02 digunakan?"},"secure-chip":{link:{text:"Baca lebih lanjut mengenai cip selamat"},text:"Maklumat ini menunjukkan nombor model cip selamat, cip paling terkini ialah ATECC608B dengan ciri keselamatan yang dipertingkatkan berbanding model lama.",title:"Mengapa tunjukkan model cip selamat?"}},receive:{address:{text:`Berikan kepada orang lain untuk menghantarkan anda beberapa syiling. +(Sentiasa sahkan alamat secara mandiri, contohnya dengan panggilan telefon.)`,title:"Apa yang boleh saya lakukan dengan alamat?"},addressChange:{text:"Selepas alamat digunakan dalam sebuah transaksi, alamat baru akan ditambah ke senarai untuk menggantikannya. Setiap masa terdapat 20 alamat yang belum digunakan dalam senarai.",title:"Bila alamat berubah?"},addressFormats:{text:"Secara lalai, jenis alamat ialah Segwit Asli. Jenis alamat ini digunakan secara meluas oleh dompet/pertukaran lain dan memberikan anda kadar yuran terbaik untuk transaksi harian. Walau bagaimanapun, anda juga boleh memilih untuk menghantar kepada Taproot (Bitcoin sahaja), yang merupakan jenis alamat terbaharu, tetapi mungkin belum disokong secara meluas lagi. Sebagai alternatif, jika anda menghadapi masalah menghantar kepada Native Segwit (jenis lalai), anda boleh cuba bertukar kepada jenis alamat Wrapped Segwit yang lebih lama yang mungkin serasi dengan lebih banyak dompet/pertukaran.",title:'Bilakah saya menggunakan "Tukar jenis alamat"?'},howVerify:{text:"Klik ikon BitBox pada bar sisi di sebelah kiri dan lihat bahagian Pemasangan. Panduan akan dikemas kini dan anda boleh terus mengikuti arahan dari sana.",title:"Bagaimana saya dapat mengesahkan alamat dengan selamat?"},plugout:{text:"Tidak, sebaik sahaja anda menghantar syiling ke alamat BitBox anda, anda tidak perlu membiarkan BitBox anda dipalamkan. Anda bebas untuk memutuskan sambungan BitBox anda.",title:"Adakah saya perlu membiarkan BitBox saya dipalamkan semasa menerima?"},why20:{text:'Semasa permulaan apl menjana alamat yang diperoleh daripada benih anda untuk melihat sama ada mereka telah menerima dana. Memandangkan apl boleh menjana bilangan alamat yang hampir tidak terhingga, ia boleh menghabiskan masa bertahun-tahun untuk menentukan baki. Untuk mengehadkan carian ini ia berhenti selepas ia melihat 20 alamat yang tidak pernah menerima dana. Ini ialah "had jurang" dan 20 ialah piawaian de-facto walaupun bilangannya adalah sewenang-wenangnya. Ini ialah 20 alamat yang boleh anda pilih.',title:"Mengapa hanya 20 alamat?"},whyMany:{text:"Untuk sebab-sebab privasi dan keselamatan, anda tidak perlu menyerahkan alamat yang sama dua kali. Klik 'Berikut' untuk mendapatkan alamat baru untuk tujuan yang berbeza. Anda boleh menjana hingga 20 alamat dalam satu masa. Semua alamat diperoleh dari biji backup tunggal anda. (Bayangkan alamat seperti nombor invois.)",title:"Mengapa terdapat banyak alamat?"},whyVerify:{text:"Salah satu sebab untuk membeli wallet hardware seperti BitBox ialah anda tidak boleh mempercayai komputer anda kerana permukaan serangan yang besar. Oleh itu, anda tidak boleh mempercayai komputer anda untuk menjana dan memaparkan alamat yang sahih. Butang untuk mengesahkan alamat dengan selamat membuat BitBox menghantar alamat ke telefon mudah alih yang dipasangkan, dari mana anda juga boleh mengimbas dan mengesahkan kod QR.",title:"Mengapa saya perlu mengesahkan alamat dengan selamat?"}},send:{change:{text:"Perubahan akan dikembalikan ke alamat Taproot jika anda mempunyai sekurang-kurangnya satu Taproot UTXO. Jika anda menggunakan kawalan syiling, perubahan akan dikembalikan ke alamat Taproot jika terdapat sekurang-kurangnya satu Taproot UTXO antara UTXO yang dipilih. Dalam semua kes lain, perubahan dikembalikan ke alamat Segwit Asli.",title:"Bagaimanakah output perubahan ditentukan?"},fee:{text:`Yuran ini didasarkan pada saiz data transaksi dan bukan jumlahnya. Sasaran yuran dikira oleh algoritma pengiraan yuran Bitcoin Core untuk setiap keutamaan rangkaian yang anda pilih. Mereka ditunjukkan jika mereka mempunyai nilai yang berbeza dari sasaran di bawah. +Ekonomi: 24 blok (sekitar 4 jam untuk Bitcoin, 1 jam untuk Litecoin) +Rendah: 12 blok (sekitar 2 jam untuk Bitcoin, 30 minit untuk Litecoin) +Normal: 6 blok (sekitar 1 jam untuk Bitcoin, 15 minit untuk Litecoin) +Tinggi: 2 blok (sekitar 20 minit untuk Bitcoin, 5 minit untuk Litecoin) +(Blok mengambil purata sepuluh minit untuk Bitcoin (2.5 minit di Litecoin) untuk melombong dan beban rangkaian mungkin berbeza-beza untuk tempoh di atas.)`,title:"Bagaimanakah bayaran ditentukan?"},plugout:{text:"Tidak, sebaik sahaja anda membuat transaksi, anda tidak perlu membiarkan BitBox anda dipalamkan. Anda bebas untuk memutuskan sambungan BitBox anda.",title:"Adakah saya perlu membiarkan BitBox saya dipalamkan semasa menghantar?"},priority:{text:"Semakin tinggi yuran yang anda bayar, semakin cepat transaksi anda disahkan oleh rangkaian.",title:"Apa itu keutamaan rangkaian?"},revert:{text:`Selepas sebuah transaksi ditandatangani dan dihantar (disiarkan ke rangkaian), ia tidak dapat lagi dipulangkan. Periksa ulang transaksi (termasuk yurannya) dengan teliti sebelum menandatangani! +Sekiranya anda tahu sang penerima dan dia akan menghantar jumlah yang sama (dikurang yuran transaksi) kepada anda, anda boleh menghantar kepadanya alamat penerima yang baru.`,title:"Dapatkah saya memulangkan transaksi?"},whyFee:{text:`Transaksi bersaing untuk disahkan oleh penambang. Pelombong memilih transaksi untuk dimasukkan ke dalam blok yang berdasarkan yuran mereka. +Miners mengundi untuk sejarah transaksi. Dikeranakan tidak ada pihak ketiga yang dipercayai untuk menguatkuasakan satu undi bagi setiap orang (yang merupakan titik keseluruhan blok), penambang mengundi transaksi dengan mengorbankan sumber yang mahal seperti daya pengkomputeran. Sebagai hadiah untuk kerja mereka, mereka boleh menuntut duit syiling yang baru dibuat dan yuran dari semua transaksi yang mereka sertakan.`,title:"Mengapa ada yuran rangkaian?"}},"settings-electrum":{connection:{text:`Jika anda berhasrat untuk menyambung ke nod anda sahaja apabila anda berada di rangkaian yang sama (cth. wifi rumah anda), maka menggunakan komunikasi rangkaian biasa sudah memadai. +Dalam kes ini, adalah dinasihatkan bahawa pelayan Electrum anda menyediakan sijil TLS untuk menyulitkan komunikasi. +Jika anda berhasrat untuk menyambung ke nod anda dari mana-mana sahaja, menggunakan Tor ialah pilihan yang lebih baik. Tiada sijil TLS diperlukan dalam kes itu.`,title:"Sekiranya saya menggunakan clearnet TCP, TLS atau Tor?"},instructions:{link:{text:"Panduan untuk menyambungkan nod anda"},text:"Untuk tutorial penuh, sila lawati panduan kami:",title:"Bagaimanakah cara saya menyambungkan BitBoxApp saya ke nod penuh saya sendiri?"},options:{text:`Terdapat pelbagai pilihan untuk menjalankan nod anda sendiri seperti membeli peranti siap, membina sendiri atau menjalankan Bitcoin Core. +Jika anda ingin menyambungkan BitBoxApp anda ke nod anda, pastikan ia menjalankan pelayan Electrum. Ini ialah program khusus yang membolehkan apl dompet berkomunikasi dengan nod penuh anda. +Pilihan yang disokong termasuk Electrs, Electrum Personal Server (EPS) atau Bitcoin Wallet Tracker (BTW).`,title:"Apakah pilihan yang ada untuk menjalankan nod?"},tor:{text:`Tor adalah singkatan kepada 'The Onion Router', iaitu perisian percuma dan sumber terbuka yang menawarkan banyak faedah privasi dan amat berguna apabila menggunakan Bitcoin. +Jika anda berhasrat untuk menyambung ke nod anda melalui Tor, pastikan Tor dipasang pada komputer anda dan kemudian dayakan Proksi Tor dalam tetapan BitBoxApp. +Pada kebanyakan sistem pengendalian terdapat dua cara untuk menjalankan Tor: +1. Pelayar Tor: muat turun dan buka Pelayar Tor. Ini akan membolehkan BitBoxApp menyambung ke rangkaian Tor dengan menetapkan port 9150 dalam tetapan proksi Tor. +2. Perkhidmatan latar belakang Tor: pasang daemon Tor, yang sentiasa berjalan di latar belakang. BitBoxApp kemudiannya boleh menyambung dengan menetapkan port 9050 dalam tetapan proksi Tor.`,title:"Apakah Tor, proksi Tor dan port mana yang harus saya gunakan?"},what:{text:"Adalah mungkin untuk menggerakkan dompet anda dengan nod penuh anda sendiri sebagai ganti menggunakan server Shift.",title:"Apakah ini?"},why:{text:`Menjalankan nod anda sendiri tidak perlu tetapi meningkatkan privasi dan mengurangkan keperluan untuk mempercayai orang lain. +Pertama, ini bermakna anda menggunakan Bitcoin secara lebih peribadi kerana BitBoxApp tidak akan menyambung ke pelayan kami untuk mengambil sejarah transaksi anda; sebaliknya ia akan mengambil maklumat tersebut daripada nod anda sendiri. +Kedua, menjalankan nod anda sendiri bermakna nod anda mengesahkan semua transaksi itu sendiri, memastikan peraturan konsensus dikuatkuasakan.`,title:"Mengapa saya perlu menjalankan nod saya sendiri?"}},settings:{sats:{text:"Satoshi (pendek kata 'sat') ialah unit terkecil Bitcoin. Satu Satoshi ialah seratus juta bitcoin (0.00000001 BTC). Ia dinamakan sempena pencipta Bitcoin, Satoshi Nakamoto.",title:"Apa itu Satoshi?"},servers:{text:`Aplikasi ini berkomunikasi dengan server Shift Crypto untuk memeriksa kemas kini, memuat transaksi, dan menghantar maklumat ke aplikasi mudah alih yang telah dipasangkan. +Di samping itu, ia mengambil kadar pertukaran terkini dari CoinGecko. (Penukaran dikira secara tempatan, tiada wang anda yang dihantar)`,title:"Server mana yang digunakan aplikasi ini?"}},title:"Panduan",toggle:{close:"Tutup panduan",open:"Panduan"},trackingModePortfolioChart:{text:"Pada desktop, tuding kursor pada carta. Pada mudah alih, pegang jari anda pada carta dan seret secara mendatar.",title:"Bagaimana untuk melihat nilai sejarah pada carta?"},unlock:{forgotDevicePassword:{text:"Anda perlu menetapkan semula peranti dan memulihkan wallet dari backup dengan menggunakan kata laluan pemulihan.",title:"Apa yang perlu saya lakukan jika saya lupa kata laluan peranti?"},reset:{text:"Anda telah memasukkan kata laluan peranti yang salah sebanyak 15 kali. Beberapa percubaan terakhir memerlukan sentuhan panjang pada peranti.",title:"Bagaimana menetapkan semula peranti?"}},waiting:{deviceNotRecognized:{text:"Peranti mesti berkelip sekali apabila dimasukkan. Pastikan ia dimasukkan ke arah yang betul. Jika anda menghadapi masalah, sila hubungi kami melalui pautan di bawah.",title:"Peranti saya tidak diketahui"},getDevice:{link:{text:"Pesan sebuah BitBox"},text:"Anda boleh membeli BitBox di kedai online kami:",title:"Bagaimana saya boleh mendapatkan peranti?"},internet:{text:"Ya, sambungan internet diperlukan untuk menyegerakkan wallet, menghantar transaksi dan mendapatkan kadar pertukaran terkini.",title:"Apakah aplikasi ini memerlukan sambungan internet?"},lostDevice:{link:{text:"Pusat Backup"},text:"Anda boleh memulihkan akaun anda pada BitBox baru atau dengan pusat backup kami.",title:"Saya kehilangan peranti saya. Bagaimana sekarang?"},useWithoutDevice:{text:"Maaf, ini belum mungkin pada masa ini.",title:"Bolehkah saya menggunakan aplikasi tanpa peranti?"},welcome:{text:"Terima kasih kerana menggunakan aplikasi ini yang dibina oleh Shift Crypto dari Switzerland. Ia masih dalam versi beta dan kami menghargai apa-apa input yang anda perlu bagikan. Sila berikan maklum balas menggunakan pautan di bahagian bawah.",title:"Selamat datang ke aplikasi BitBox!"}},walletConnect:{noPreviousConnections:{text:"Jika anda menggunakan telefon/komputer baharu dengan BitBoxApp, maka anda perlu menyambung semula ke DApps. Anda kemudian akan melihat syiling anda pada dapp semula seperti biasa.",title:"Saya tidak melihat sambungan saya sebelum ini."},supportedNetworks:{text:"Pada masa ini, hanya mainnet Ethereum disokong menggunakan WalletConnect dalam BitBoxApp. Untuk menggunakan rantaian serasi EVM lain, sila gunakan dompet sambungan penyemak imbas Rabby.",title:"Apakah rangkaian yang disokong?"},whatIsWalletConnect:{text:"WalletConnect ialah protokol komunikasi untuk aplikasi web3. Ia membolehkan anda menyambung dengan mudah ke DApps berasaskan Ethereum dan dompet web tanpa menggunakan aplikasi pihak ketiga, yang amat berguna untuk pengguna Android BitBoxApp.",title:"Apakah itu WalletConnect?"}}},ZM={blocksSynced:"{{blocks}} blok telah disegerakkan"},JM={info1HTML:"Untuk tujuan penafian yang munasabah, wallet tersembunyi boleh dibuat dengan kombinasi kata laluan pemulihan dan kata laluan peranti yang berbeza .",info2HTML:"Tentukan kata laluan peranti dan kata laluan pemulihan yang anda mahu kaitkan dengan wallet tersembunyi anda di bawah ini. Kata laluan peranti dan kata laluan pemulihan mestilah berbeza daripada yang anda tentukan untuk wallet utama anda.",passwordLabel:"Kata laluan pemulihan tersembunyi",passwordPlaceholder:"Sila ulangi kata laluan pemulihan tersembunyi",pinLabel:"Kata laluan peranti tersembunyi",pinRepeatLabel:"Ulangi kata laluan peranti tersembunyi",pinRepeatPlaceholder:"Sila ulangi kata laluan peranti tersembunyi",success:"Dompet tersembunyi berjaya dibuat. Pasang ulang BitBox anda untuk membuka kuncinya."},XM={create:"Tetapkan kata laluan peranti",creating:"Menetapkan kata laluan peranti...",error:{e102:"Kata laluan peranti mestilah mengandung sekurang-kurangnya 4 aksara."},info:{description1:"Pilih kata laluan peranti anda. Ini akan digunakan untuk membuka kunci BitBox anda.",description2:"Anda boleh menggunakan nombor, huruf dan simbol. Kata laluan yang lebih panjang memberikan keselamatan yang lebih tinggi",description3:"Jika anda kehilangan kata laluan peranti, anda perlu menetapkan semula peranti anda dan memulihkan backup wallet anda.",subtitle:"Sekarang anda boleh menetapkan kata laluan peranti anda",title:"Memulakan peranti anda"},input:{label:"Kata laluan peranti",labelRepeat:"Ulangi kata laluan peranti",placeholderRepeat:"Sila ulangi kata laluan peranti"}},eO="Format tidak sah",tO={title:"Pilih Bahasa"},nO={disable:"Matikan Legacy Hidden Wallet",enable:"Aktifkan Legacy Hidden Wallet",successDisable:"Berjaya melumpuhkan legacy hidden wallet",successEnable:"Berjaya menyahaktifkan wallet legacy tersembunyi. Pasang semula BitBox anda dan masukkan kata laluan peranti tersembunyi untuk mengakses wallet legacy tersembunyi warisan."},aO="memuatkan ...",iO={accountHidden:"Akaun ini telah disembunyikan daripada akaun watch-only anda sahaja. Untuk melihatnya semula, sila pasangkan BitBox02 anda.",editAccount:"Sunting",editAccountNameTitle:"Sunting nama akaun",noAccounts:"tiada akaun ditemui",settings:{hideTokens:"Sembunyikan token",showTokens:"Tunjukkan token ({{activeTokenCount}})"},settingsButtonDescription:"Tambah dan tunjukkan/sembunyikan akaun",title:"Urus akaun",watchAccount:"Tonton akaun",watchAccountDescription:"Akaun ini adalah sebahagian daripada akaun watch-only anda sahaja. Anda boleh menyembunyikannya daripada akaun jam tangan anda menggunakan togol."},oO={usingMobileDataWarning:"Penggunaan data mudah alih: apl ini boleh memuat turun sehingga beberapa ratus megabait data pengepala blockchain selepas membuka kunci akaun. Sila sambung ke Wi-Fi untuk mengelak daripada menggunakan data mudah alih. Selepas menolaknya, mesej ini tidak akan ditunjukkan lagi."},rO={about:{appVersion:{title:"Versi aplikasi"}},advancedSettings:{authentication:{description:"Kunci akses kepada aplikasi dengan kunci skrin/cap jari.",title:"Kunci skrin"},coinControl:{description:"Pilih UTXO yang merupakan sebahagian daripada transaksi untuk membantu meningkatkan privasi."},customFees:{description:"Membolehkan anda memasukkan yuran anda sendiri semasa menghantar."},torProxy:{description:"Sambungkan melalui Tor untuk privasi yang lebih baik."}},appearance:{activeCurrencies:{description:"Mata wang tambahan ini boleh ditogol pada halaman akaun anda.",title:"Mata wang aktif"},darkmode:{description:"Lihat BitBoxApp dalam mod gelap."},defaultCurrency:{description:"Pilih mata wang lalai anda",title:"Mata wang lalai"},hideAmounts:{description:"Memaparkan togol untuk menyembunyikan baki anda dan amaun untuk meningkatkan privasi anda apabila menggunakan apl di khalayak ramai.",hideAmounts:"Sembunyikan jumlah",showAmounts:"Tunjukkan jumlah",title:"Benarkan menyembunyikan jumlah"},language:{description:"Bahasa yang anda mahu BitBoxApp gunakan.",title:"Bahasa"},toggleSats:{description:"Dayakan atau lumpuhkan Satoshis."}}},sO={input:{description:"(pilihan)",placeholder:"Tambah Nota…"},title:"Catatan"},lO={newTxs_one:"{{count}} transaksi baru di: {{accountName}}",newTxs_other:"{{count}} transaksi baharu dalam: {{accountName}}"},cO={aborted:{text:"Pemasangan telah ditinggalkan oleh aplikasi mudah alih.",title:"Ditinggalkan"},button:"Pasangkan Aplikasi Mudah Alih",confirm:"Adakah anda pasti mahu memasangkan BitBox anda? Ambil perhatian bahawa selepas itu, telefon bimbit diperlukan untuk melakukan transaksi.",connectOnly:{button:"Sambungkan aplikasi mudah alih",title:"Imbas dengan aplikasi mudah alih kami dengan memilih item menu 'Sambung ke aplikasi desktop baharu'"},error:{text:"Ada yang salah. Sila mulakan lagi.",title:"Ada yang salah"},pullFailed:{text:"Gagal menarik mesej daripada telefon bimbit anda melalui pelayan geganti. Pelayan geganti mungkin berada di luar talian, sila hubungi sokongan.",title:"Pull gagal"},reconnectOnly:{button:"Sambung semula aplikasi mudah alih"},scanningFailed:{text:"Mudah alih tidak berjaya mengimbas mesej. Sila cuba lagi.",title:"Pengimbasan Gagal"},start:{hideAppQRCode:"Sembunyikan QR Code",revealAppQRCode:"Tunjukkan QR Code",step1:"Jika anda tidak mempunyai aplikasi mudah alih, anda boleh mengimbas kod QR untuk Apple App Store atau Google Play Store.",step2:"Imbas dengan aplikasi mudah alih kami, yang anda dapati di bawah nama 'Digital Bitbox 2FA' di kedai aplikasi untuk iOS dan Android:"},started:{text:"Kini sila ikuti arahan dalam aplikasi mudah alih.",title:"Hebat"},success:{text:"Selamat, anda berjaya memasangkan BitBox anda dengan aplikasi mudah alih!",title:"Berjaya"},timeout:{text:"Pemasanganan ini berakhir selepas dua minit. Mula semula jika anda masih mahu memasangkan aplikasi mudah alih.",title:"Berakhir"},title:"Memasang telefon bimbit"},uO={considerations:{button:"Pertimbangan sandaran",message:`Frasa laluan menambah lapisan perlindungan pada sandaran dompet anda (kad mikroSD atau perkataan pemulihan). Jika seseorang mempunyai akses kepada sandaran anda, mereka juga memerlukan frasa laluan untuk mengakses dompet anda. + +Walau bagaimanapun, ini bermakna anda perlu kedua-dua frasa laluan + sandaran dompet untuk memulihkan dompet didayakan frasa laluan anda, sekiranya BitBox02 anda hilang atau rosak. Jika anda terlupa atau kehilangan frasa laluan anda, anda akan kehilangan akses kepada semua syiling pada dompet itu. + +Apabila menyimpan frasa laluan anda, pertimbangkan untuk meletakkannya di lokasi yang berasingan daripada sandaran anda. Dengan cara itu jika seseorang menjumpai sandaran anda, mereka juga tidak menemui frasa laluan anda.`,title:"Pertimbangan sandaran"},disable:"Lumpuhkan frasa laluan",disableInfo:{button:"Lumpuhkan",message:`Selepas melumpuhkan frasa laluan, anda tidak lagi akan diminta untuk memasukkan frasa laluan selepas membuka kunci BitBox02 anda. Oleh itu, anda akan memasukkan dompet lalai anda. + +Mana-mana syiling pada dompet frasa laluan anda masih ada pada dompet itu, namun anda tidak akan dapat mengaksesnya kerana selepas membuka kunci BitBox02 anda, anda akan membuka dompet lalai anda. + +Untuk mengakses dompet frasa laluan anda sekali lagi, cukup dayakan semula ciri frasa laluan dan masukkan frasa laluan yang berkaitan selepas membuka kunci BitBox02. + +Petua: Anda masih boleh memasukkan dompet asal anda dengan membiarkan frasa laluan kosong.`},enable:"Dayakan frasa laluan",error:{e104:"Menukar tetapan frasa laluan telah digugurkan."},how:{button:"Macam mana rupanya",message:`Frasa laluan tidak berfungsi seperti kata laluan yang anda gunakan. Jika anda tersalah taip frasa laluan anda, anda tidak akan dimaklumkan. Ini adalah kerana setiap frasa laluan mencipta dompet yang berbeza, namun sah. Ini bermakna anda boleh menggunakan berbilang frasa laluan untuk seberapa banyak dompet yang anda mahukan. Tetapi setiap dompet hanya boleh diakses apabila menaip frasa laluan yang sepadan. + +Apabila memasang BitBox02 anda, anda akan digesa untuk kata laluan peranti seperti biasa. Selepas itu, anda akan diminta untuk memasukkan frasa laluan pada peranti. + +Selepas memasukkan frasa laluan, anda akan ditunjukkan frasa laluan yang anda masukkan. Ini supaya anda boleh mengesahkan anda memasukkannya dengan betul.`,title:"Bagaimanakah ia berfungsi"},intro:{message:`Frasa laluan menyediakan lapisan keselamatan tambahan di atas dompet anda. +Mari belajar bagaimana ia berfungsi.`,title:"Sediakan frasa laluan"},progressDisable:{message:"Sahkan pada BitBox anda yang anda mahu melumpuhkan frasa laluan pilihan.",title:"Sahkan pada peranti"},progressEnable:{message:"Sahkan pada BitBox anda yang anda mahu membolehkan frasa laluan pilihan.",title:"Sahkan pada peranti"},successDisabled:{message:`Ungkapan laluan pilihan berjaya didayakan! +Anda akan diminta untuk memberikan frasa laluan mulai sekarang.`,messageEnd:"Sila pasang semula BitBox02 sekarang.",title:"Ungkapan laluan didayakan"},successEnabled:{message:`Ungkapan laluan pilihan berjaya dilumpuhkan! + +Anda tidak akan diminta untuk memberikan frasa laluan lagi.`,messageEnd:"Sila pasang semula BitBox02 anda sekarang.",tips:"Petua",tipsList:["Kami cadangkan menghantar sejumlah kecil ke dompet frasa laluan terlebih dahulu. Kemudian cabut dan pasang semula BitBox02 dan masukkan kata laluan dan frasa laluan anda. Jika anda memasukkan frasa laluan dengan betul, anda sepatutnya melihat syiling dalam dompet anda.","Jika anda ingin memasukkan dompet asal anda tanpa frasa laluan, anda masih boleh melakukan ini dengan memasukkan apa-apa apabila digesa untuk memasukkan frasa laluan. Atau anda boleh melumpuhkan ciri frasa laluan."],title:"Ungkapan laluan dilumpuhkan"},summary:{button:"Dayakan frasa laluan",title:"Ringkasan",understand:"Saya faham cara frasa laluan berfungsi dan risiko yang berkaitan dengannya.",understandList:["Frasa laluan ialah lapisan keselamatan tambahan di atas sandaran anda.","Memasukkan frasa laluan yang berbeza akan sentiasa menghasilkan dompet yang berbeza.","Untuk memulihkan dompet anda yang anda perlukan kedua-dua frasa laluan dan sandaran.","Jika anda terlupa frasa laluan anda, anda tidak lagi boleh mengakses syiling anda."]},what:{button:"Ketahui cara ini berfungsi",message:`Dompet dicipta (berasal) daripada nombor rawak yang sangat besar, juga dikenali sebagai benih. Benih ini dicipta apabila anda mula-mula menyediakan BitBox02 anda dan disandarkan dengan kad microSD atau perkataan pemulihan. Sesiapa sahaja yang mempunyai akses kepada benih mempunyai kawalan penuh ke atas dana pada dompet itu. + +Frasa laluan ialah rahsia pilihan, ditambah kepada benih. Apabila menggunakan frasa laluan, setiap frasa laluan mencipta dompet baharu berdasarkan benih + frasa laluan (rahsia pilihan). Frasa laluan boleh jadi apa-apa sahaja: huruf, perkataan, aksara khas atau malah boleh kosong. Dompet lalai sebenarnya berasal daripada benih + frasa laluan kosong. + +Frasa laluan adalah sebahagian daripada standard BIP39, yang bermaksud ia serasi dengan semua dompet yang menyokong standard yang sama.`,title:"Apakah frasa laluan?"},why:{button:"Mengapa menggunakan frasa laluan",message:`BitBox02 melindungi benih daripada pengekstrakan daripada peranti itu sendiri, tetapi sandaran (kad mikroSD atau perkataan pemulihan) memberikan akses penuh kepada dompet. Itulah sebabnya ia harus disimpan di lokasi yang selamat! + +Memandangkan frasa laluan mencipta dompet baharu menggunakan benih sedia ada anda, frasa laluan-dompet memerlukan kedua-dua anda sandaran DAN frasa laluan untuk memulihkan. Faedah ini ialah jika seseorang menemui sandaran anda, mereka masih memerlukan frasa laluan untuk mengakses dompet frasa laluan. + +Selain itu, ciri frasa laluan membolehkan anda membuat berbilang dompet pada peranti yang sama, atau "dompet tersembunyi" sebagai tambahan kepada dompet lalai.`,title:"Mengapa menggunakan frasa laluan?"}},dO={show:"Tunjukkan {{label}}",warning:{caps:"AMARAN: kunci caps (⇪) diaktifkan",paste:'untuk menampal teks, aktifkan "SHOW {{label}}"'}},pO={button:"Menjana Nombor Rawak",description:"BitBox anda telah menjana nombor rawak {{bits}}-bit berikut:"},hO={changeScriptType:"Tukar jenis alamat",label:"Alamat anda",onlyThisCoin:{description:"Untuk menerima token lain, dayakannya dalam tetapan. Jika anda mendepositkan token lain, ia mungkin tidak boleh diakses.",warning:"Pastikan hanya menerima {{coinName}} pada alamat ini."},scriptType:{p2tr:"Akar Tunjang (format terbaharu)",p2wpkh:"Segwit asli (lalai)","p2wpkh-p2sh":"Wrapped Segwit (format yang serasi)"},selectAccount:"Pilih akaun",showFull:"Tunjukkan dan sahkan alamat lengkap",taprootWarning:"Nota: Taproot ialah ciri Bitcoin baharu dan belum diterima pakai secara meluas. Dana yang diterima pada alamat Taproot mungkin tidak kelihatan dalam dompet jam tangan pihak ketiga sahaja. Banyak dompet dan pertukaran belum dapat dihantar ke alamat Taproot.",title:"Dapatkan syiling",verify:"Sahkan alamat dengan selamat",verifyBitBox01:"Sahkan alamat pada apl mudah alih",verifyBitBox02:"Sahkan alamat pada BitBox02",verifyInstruction:"Sila sahkan bahawa alamat berikut sepadan dengan yang dipaparkan pada peranti anda.",warning:{secureOutput:"Sila pasangkan BitBox anda dengan peranti mobile anda untuk menghidupkan pengesahan alamat selamat. Pergi ke 'Urus Peranti' pada bar sisi."}},mO={description:"Semua data pada peranti akan dihapus. Itu termasuk Private Key anda!",notReset:"Peranti BELUM ditetapkan semula.",title:"Tetapkan semula peranti",understand:"Saya mempunyai backup dan mengetahui kata laluan pemulihan saya",understandBB02:"Saya mempunyai sandaran yang sah"},fO={create:{description1:"Sebelum menetapkan peranti anda, disarankan agar anda dalam persekitaran yang selamat.",description2:"Anda akan diminta untuk membuat dua kata laluan.",description3:"Yang pertama adalah kata laluan peranti yang digunakan untuk membuka peranti BitBox anda dan boleh diubah kemudian.",description4:"Yang kedua ialah kata laluan pemulihan yang digunakan untuk membuka wallet anda. Kata laluan ini tidak boleh diubah kemudian.",description5:"Wallet yang anda buat akan dibackupkan kepada fail pada kad micro SD yang disediakan. Ini boleh digunakan dalam kecemasan untuk memulihkan wang anda menggunakan kata laluan pemulihan anda.",title:"Maklumat Keselamatan"},restore:{description1:"Anda akan diminta untuk memasukkan kad micro SD yang digunakan untuk menyimpan backup.",description2:"Untuk memulihkan peranti, anda memerlukan kata laluan pemulihan anda.",description3:"Sila berhati-hati semasa memasukkan kata laluan pemulihan. Sebarang kata laluan yang anda masukkan akan membuat wallet yang sah. Jika anda memasukkan kata laluan yang salah, anda mungkin akan mendapatkan baki wallet yang tidak anda harapkan.",title:"Maklumat Keselamatan"}},gO={agreements:{"funds-access":"Saya TIDAK akan dapat mengakses dana saya jika saya lupa kata laluan pemulihan saya","password-change":"Saya TIDAK dapat menukar kata laluan pemulihan di kemudian hari","password-required":"Kata laluan pemulihan diperlukan untuk memulihkan dompet dari backup"},create:"Buat Wallet",creating:"Membuat dompet",description:"Saya faham bahawa:",error:{e102:"Kata laluan mestilah terdiri daripada sekurang-kurangnya 4 aksara.",e200:"Anda perlu memasukkan kad micro SD ke dalam BitBox anda untuk membuat wallet, agar backup boleh dibuat secara automatik."},info:{button:"Tetapkan kata laluan pemulihan sekarang",description1:"Masukkan kad micro SD ke dalam BitBox",description2:'Pilih kata laluan pemulihan untuk wallet dan pilih "Tetapkan kata laluan pemulihan sekarang"',description3:"Backup ke kad micro SD dan kata laluan pemulihan anda adalah satu-satunya cara untuk mendapatkan semula wang anda, sekiranya peranti BitBox hilang atau dicuri.",description4:"Anda tidak dapat mengganti kata laluan pemulihan anda di kemudian hari tanpa memindahkan wang anda.",title:"Buat wallet baru"},password:{label:"Kata laluan pemulihan",repeatPlaceholder:"Ulangi kata laluan pemulihan"},walletName:{label:"Nama Wallet"}},vO={error:{e200:"Untuk memulihkan wallet dari backup memerlukan kad micro SD."},info:{description1:'Masukkan kad micro SD ke BitBox dan klik "Teruskan"',description2:'Pilih backup pada dan klik "Simpan semula"',description3:"Masukkan kata laluan pemulihan",description4:"Anda perlu mengesahkan untuk memahami bahawa kata laluan salah akan membuat dompet yang berbeza.",title:"Bagaimana cara memulihkan wallet dari backup"}},bO={abort:"Transaksi telah ditinggalkan.",address:{label:"Alamat Penerima",placeholder:"Masukkan alamat"},amount:{label:"Jumlah",placeholder:"Masukkan jumlah"},availableBalance:"Baki yang ada",button:"Tandatangan dan Hantar",coincontrol:{address:"Alamat",outpoint:"Outpoint",title:"Hantar dari Output"},confirm:{"selected-coins":"Syiling yang dipilih",title:"Sahkan Transaksi",total:"Jumlah"},error:{erc20InsufficientGasFunds:"Nampaknya anda tidak mempunyai Eter yang mencukupi untuk membayar transaksi ERC20 ini. Sila pastikan anda memegang cukup Eter dalam dompet anda",feeTooLow:"bayaran terlalu rendah",feesNotAvailable:"Tidak dapat menganggarkan bayaran",insufficientFunds:"Dana tidak mencukupi",invalidAddress:"alamat tidak sah",invalidAmount:"jumlah tidak sah",invalidData:"data tidak sah"},fee:{customPlaceholder:"Masukkan jumlah",label:"Yuran Rangkaian",placeholder:"Tidak tersedia"},feeTarget:{customLabel:"Kadar bayaran",customLabel_eth:"Harga gas",description:{economy:"24 blok (sekitar 4 jam untuk Bitcoin, 1 jam untuk Litecoin)",economy_eth:"30 minit atau kurang",economy_ltc:"1 jam (24 blok)",high:"2 blok (sekitar 20 minit untuk Bitcoin, 5 minit untuk Litecoin)",high_eth:"30 saat atau kurang",high_ltc:"5 minit (2 blok)",low:"12 blok (sekitar 2 jam untuk Bitcoin, 30 minit untuk Litecoin)",low_eth:"5 minit atau kurang",low_ltc:"30 minit (12 blok)",normal:"6 blok (sekitar 1 jam untuk Bitcoin, 15 minit untuk Litecoin)",normal_eth:"2 minit atau kurang",normal_ltc:"15 minit (6 blok)"},estimate:"Anggaran masa pengesahan:",label:{custom:"Adat",economy:"ekonomi",high:"tinggi",low:"rendah",normal:"normal"},placeholder:"Mengira bayaran anggaran ..."},maximum:"Hantar semua",maximumSelectedCoins:"Hantar syiling terpilih",noFeeTargets:"Anggaran kadar yuran tidak tersedia pada masa ini. Sila cuba sebentar lagi atau masukkan yuran tersuai.",priority:"Keutamaan",scanQR:"Imbas Kod QR",signprogress:{description:"Ini adalah transaksi yang mengandung banyak data. Untuk menandatangani transaksi dengan sepenuhnya, anda akan diminta untuk mengesahkan sebanyak {{steps}} kali.",label:"Kemajuan"},success:"Transaksi telah ditandatangani dan dihantar.",title:"Hantar syiling",toggleCoinControl:"Toggle Kawalan Syiling",transactionDetails:"Butiran transaksi"},kO={about:"Tentang aplikasi",accounts:"Akaun",advancedSettings:"Tetapan lanjutan",appearance:"Penampilan",electrum:{add:"Tambah server","add-server":"Tambah",check:"Periksa",checkFailed:"Gagal",checkSuccess:"Berhasil menubuhkan sambungan ke {{host}}",checking:"Memeriksa","download-cert":"Muat turun sijil jauh","remove-server":"Hapus",removeConfirm:"Hapus {{server}}?",reset:"Tetapkan semula kepada tetapan standard",resetConfirm:"Apakah anda mahu menyingkirkan semua server dan memasang server standard?",servers:"Server",step1:"1","step1-text":"Masukkan titik akhir.",step2:"2","step2-text":"Masukkan sijil dari rantai sijil server. Secara alternatif, muat turun sijil jauh dan bandingkan secara visual.","step2-text-tcp":"Anda boleh melangkau langkah ini jika anda tidak mahu menggunakan TLS.",step3:"3","step3-text":"Semak sambungan dan tambahkan server.",step4:"4","step4-text":"Mulakan semula wallet anda. Jika anda tidak menyingkirkan server standard, nod anda akan ditambah sebagai redundansi.","title-btc":"Bitcoin Electrum Server","title-ltc":"Litecoin Electrum Server","title-tbtc":"Bitcoin Testnet Electrum Server","title-tltc":"Litecoin Testnet Electrum Server"},expert:{coinControl:"Hidupkan kawalan syiling",electrum:{description:"Anda boleh menyambung ke nod penuh Electrum anda sendiri.",title:"Sambung nod penuh anda sendiri"},fee:"Dayakan yuran tersuai",setProxyAddress:"Tetapkan alamat proksi",title:"Tetapan Pakar",useProxy:"Dayakan proksi tor",useSats:"Paparkan nilai BTC dalam Satoshis"},header:{home:"Rumah"},info:{"out-of-date":"Kemas kini baharu tersedia",title:"info","up-to-date":"Apl anda adalah terkini",version:"Versi Apl"},restart:"Sila mulakan semula BitBoxApp untuk perubahan berkuat kuasa.",services:{title:"Perkhidmatan"},success:"Sila cabut dan pasang kembali BitBox agar perubahan dapat berlaku.",title:"Tetapan"},xO="Menetapkan peranti",yO={buy:"Beli kripto",device:"Urus Peranti",leave:"Tinggalkan",settings:"Tetapan"},wO={create:{info1:"Dompet anda telah dibackupkan dengan selamat ke kad micro SD. Tarik keluar kad micro SD dan simpan dengan selamat.",info2:"Anda telah membuat kata laluan peranti yang selamat yang dapat membuka BitBox.",info3:"Anda telah membuat kata laluan pemulihan yang selamat untuk wallet anda yang dapat membuka wang anda dan mengembalikan backup anda.",summary:"Berikut adalah ringkasan dari apa yang telah anda lakukan",title:"Berjaya"},getstarted:"Bermula",restore:{summary:"Anda telah berjaya memulihkan wallet dari backup anda.",title:"Berjaya"}},jO={confirmation:"Pengesahan",details:{activity:"Aktiviti",address:"Alamat",amount:"Jumlah",date:"Tarikh",fiat:"Fiat",fiatAmount:"Jumlah Fiat",fiatAtTime:"Fiat pada masa transaksi",status:"Status",type:"taip"},explorer:"ID Transaksi",explorerTitle:"Buka dalam blok Explorer luaran",fee:"Yuran",fiatHistorical:"Sejarah",gas:"Gas",note:{edit:"Edit nota",save:"Simpan nota"},pending:"Transaksi Menunggu",size:"Saiz",status:{complete:"lengkap",failed:"Gagal",pending:"Yang belum selesai"},tx:{received:"Diterima kepada",sent:"Dihantar kepada"},vsize:"Saiz maya",weight:"Berat"},BO={errorLoadTransactions:"Terdapat ralat semasa memuatkan urus niaga",placeholder:"Belum ada transaksi."},SO="Kesalahan yang tidak diketahui muncul: {{errorMessage}}",zO={description:"Masukkan kata laluan peranti anda untuk membuka peranti.",error:{e109_normal:"Kata laluan peranti salah. Masih ada {{remainingAttempts}} percubaan sebelum peranti diset semula.",e109_touch:"$t(unlock.error.e109_normal) Menahan butang sentuhan diperlukan pada log masuk berikutnya",e113:"Oleh kerana banyaknya percubaan masuk, menahan butang sentuhan selama 4 saat diperlukan pada log masuk berikutnya ."},input:{label:"Kata laluan peranti",placeholder:"Masukkan kata laluan peranti anda"},unlocking:"Membuka ..."},CO={button:"Tingkatkan firmware",description:"Apakah anda mahu menaik taraf Firmware dari versi {{currentVersion}} ke {{newVersion}}?",label:"Peningkatan firmware diperlukan untuk BitBox anda.",locked:"Untuk menaik taraf dari {{currentVersion}} ke {{newVersion}}, sila buat sentuhan panjang.",title:"Tingkatkan Firmware",unlocked:"Bootloader terbuka. Untuk meneruskan, sila:",unlocked1:"Tarik keluar dan pasang ulang BitBox anda",unlocked2:"LED akan menyala apabila BitBox anda terpasang kembali",unlocked3:"Tekan butang sentuh apabila LED menyala"},DO={connect:{button:"Sambung",dappLabel:"Masukkan alamat URI dapp",invalidPairingUri:"Uri gandingan tidak sah"},dashboard:{allSessions:"Semua sesi",disclaimer:"Walletconnect ialah protokol untuk menyambung ke Dapps berasaskan Ethereum. Dapps ini dijalankan oleh perkhidmatan pihak ketiga, jadi hanya sambungkan kepada dapps yang anda percayai dan pastikan anda sentiasa mengetahui perkara yang anda tandatangani semasa membuat transaksi.",newConnection:"Sambungan baharu",noConnectedSessions:"Tiada akaun disambungkan ke mana-mana dapp pada masa ini."},invalidPairingChain:"Ralat dalam meluluskan gandingan. Sila pastikan anda menggunakan salah satu rangkaian yang disokong: {{chains}}",pairingRequest:{approve:"Luluskan Sambungan",reject:"Tolak",title:"Permintaan sambungan baharu daripada"},pairingSuccess:"Dapp berjaya disambungkan. Anda boleh teruskan di laman web dapp.",signingRequest:{account:"Akaun",chain:"Rantai",dapp:"Dapp",data:"Data",dataParsingError:"Gagal menghuraikan data",decodeError:"Gagal menyahkod mesej",method:{sendTransaction:"Tandatangan dan hantar transaksi",signMessage:"Tandatangan mesej",signTransaction:"Tandatangani transaksi",signTypedData:"Tandatangani data yang ditaip"},successfullySigned:"Permintaan berjaya ditandatangani",walletConnectRequest:"Permintaan WalletConnect"},useNewUri:"URI ini telah digunakan untuk mencuba sambungan. Sila gunakan URI baharu.",walletConnect:"WalletConnect"},AO={receivePairing:"Sila pasangkan BitBox untuk membolehkan pengesahan alamat dengan selamat. Pergi ke 'Uruskan Peranti' pada bar sisi.",sdcard:"Pastikan kad micro SD disimpan berasingan dari BitBox, kecuali jika anda mahu mengurus backup.",sendPairing:"Sila pasang BitBox untuk mengesahkan butiran transaksi dengan selamat. Pergi ke 'Urus Peranti' di bar sisi."},_O={connect:"Sambungkan BitBox02",getStarted:"Mari mulakan dengan memasang perisian tegar pada BitBox02 anda.",insertBitBox02:"Untuk BitBox02, sila ketik peranti untuk meneruskan.",insertDevice:"Sila sambungkan peranti anda untuk memulakan",title:"Selamat datang"},TO={account:mM,accountInfo:fM,accountSummary:gM,addAccount:vM,aopp:bM,app:kM,auth:xM,backup:yM,bb02Bootloader:wM,bitbox:jM,bitbox02Interact:BM,bitbox02Settings:SM,bitbox02Wizard:zM,blink:CM,bootloader:DM,button:AM,buy:_M,changePin:TM,chart:EM,checkSDcard:PM,clickHere:NM,confirm:LM,confirmOnDevice:IM,connectKeystore:$M,darkmode:MM,device:OM,deviceLock:RM,deviceSettings:FM,deviceTampered:VM,dialog:WM,error:UM,fiat:qM,footer:HM,generic:KM,genericError:GM,goal:QM,guide:YM,headerssync:ZM,hiddenWallet:JM,initialize:XM,invalidFormat:eO,language:tO,legacyhiddenwallet:nO,loading:aO,manageAccounts:iO,mobile:oO,newSettings:rO,note:sO,notification:lO,pairing:cO,passphrase:uO,password:dO,random:pO,receive:hO,reset:mO,securityInformation:fO,seed:gO,seedRestore:vO,send:bO,settings:kO,setup:xO,sidebar:yO,success:wO,transaction:jO,transactions:BO,unknownError:SO,unlock:zO,upgradeFirmware:CO,walletConnect:DO,warning:AO,welcome:_O},EO={disconnect:"Verbinding verbroken. Opnieuw aan het verbinden...",export:"Exporteren",exportTransactions:"Transacties als CSV bestand naar de downloads map exporteren",fatalError:"Er is een onverwachte fout opgetreden",incoming:"Inkomende",initializing:"Blockchain wordt gesynchroniseerd",maybeProxyError:"De Tor Proxy staat ingeschakeld. Zorg ervoor dat deze correct werkt, of schakel de proxy-instelling uit.",reconnecting:"Verbinding verbroken, opnieuw aan het verbinden...",syncedAddressesCount:"{{count}} adressen gescand"},PO={address:"Adres",buyCTA:{buy:"Koop {{unit}}",buyCrypto:"Koop Crypto",information:{looksEmpty:"Het lijkt erop dat deze wallet leeg is.",start:"Begin door coins naar deze wallet te sturen, of direct vanuit de BitBoxApp te kopen."}},extendedPublicKey:"Uitgebreide publieke sleutel",label:"Accountinformatie",scriptType:"Script-type",title:"Accountinformatie",verify:"Verifieer op je adres",xpubTypeChangeBtn:{p2pkh:"Legacy P2PKH uitgebreide publieke sleutel weergeven",p2tr:"Taproot weergeven",p2wpkh:"Native SegWit weergeven","p2wpkh-p2sh":"Oude SegWit uitgebreide publieke sleutel weergeven"},xpubTypeInfo:"Op dit moment wordt nummer {{current}} van de {{numberOfXPubs}} {{scriptType}} uitgebreide publieke sleutels weergegeven"},NO={availableBalance:"Beschikbare balans",balance:"Balans",exportSummary:"Accounts als CSV bestand naar de downloads map exporteren",fiatBalance:"Fiat balans",name:"Accountnaam",noAccount:"Er zijn geen accounts om weer te geven",subtotalWithCoinName:"Totaal ({{coinName}})",title:"Mijn portfolio",total:"Totaal",transactionHistory:"Transactiegeschiedenis"},LO={chooseName:{nextButton:"Account toevoegen",step:"Account benoemen",title:"Geef je account een naam"},selectCoin:{nextButton:"Volgende",step:"Coin selecteren",title:"Cryptovaluta selecteren"},success:{addAnotherAccount:"Voeg een account toe",message:"{{accountName}} is aan je accounts toegevoegd",nextButton:"Klaar",step:"Afgerond",title:"Account toegevoegd"},title:"Account toevoegen"},IO={addressRequest:"Er wordt een ontvangstadres aangevraagd door {{host}}",addressRequestWithLogo:"vraagt een ontvangstadres aan",banner:"Adresaanvraag in behandeling",errorTitle:"Foutmelding tijdens adresaanvraag",labelAddress:"Adres",labelMessage:"Bericht",reverifyInfoText:"Adres verifiëren",signing:"Onderteken het bericht op je BitBox02 om door te gaan",success:{message:"Ga door op {{host}}",title:"Adres verzonden"},syncing:"Account aan het synchroniseren, even geduld",title:"Adresaanvraag"},$O={upgrade:"Er is een nieuwe versie van de app beschikbaar! Upgrade nu van versie {{current}} naar {{version}}>"},MO={check:{checking:"Backup aan het controleren...",confirmTitle:"Controleer backup",notOK:"De backup komt NIET overeen met de wallet",ok:"Backup komt overeen met de wallet",password:{label:"Herstelwachtwoord",placeholder:"Herstelwachtwoord",showLabel:"herstelwachtwoord"},success:"Backup geverifieerd:",title:"Controleer backup"},create:{alreadyExists:"Je hebt al een valide backup. Wil je deze opnieuw maken?",fail:"Backup is NIET gemaakt!",info:"Voer het herstelwachtwoord van de huidige wallet in.",name:{label:"Backup naam",placeholder:"Geef de backup een naam"},password:{label:"Herstelwachtwoord",placeholder:"Voer alsjeblieft je herstelwachtwoord in"},title:"Creeër backup",verificationFailed:"Het herstelwachtworod komt NIET overeen met de huidige wallet. De backup is aangemaakt. Gebruik 'Check backup' om je herstelwachtwoord nogmaals te verifiëren."},description:"Selecteer wallet backup bestand",insert:"Voer de microSD kaart in om je backups te beheren",insertButton:"Ik heb de microSD kaart ingevoerd",list:"Jouw microSD kaart backups",noBackups:"Er zijn geen backups op deze microSD kaart aanwezig.",restore:{confirmTitle:"Backup herstellen",error:{e200:"microSD kaart niet gevonden",general:"Fout tijdens het herstellen van de backup"},password:{label:"Herstelwachtwoord of verborgen herstelwachtwoord",placeholder:"Herstelwachtwoord",repeatPlaceholder:"Herstelwachtwoord herhalen",showLabel:"Herstelwachtwoord"},restoring:"Backup aan het herstellen",selectedBackup:"De backup {{backupName}}, aangemaakt op {{createdDateTime}}, wordt hersteld",title:"Herstellen",understand:""},showMnemonic:{description:`Je ziet zometeen de 24 herstelwoorden die de backup van je wallet vormen. Schrijf ze op papier op. +Sla ze niet digitaal op en neem er geen foto's van +Zeg de woorden niet hardop +Deze backup is niet beschermd met een wachtwoord +Achteraf word je gevraagd ieder woord te bevestigen`,title:"Herstelwoorden tonen"},title:"Backups beheren"},OO={abort:"Terug - doe de update niet",abort_noUpgrade:"Breng me terug",advanced:{label:"Geavanceerde instellingen",toggleShowFirmwareHash:"Toon de firmware hash iedere keer tijdens het opstarten"},flipscreen:"Scherm omkeren",orientation:"Tekst op je BitBox ondersteboven?",success:"Upgrade voltooid! Verder in {{rebootSeconds}} seconden...",success_install:"Installatie voltooid! Verder in {{rebootSeconds}} seconden..."},RO={error:{e10000:"Huidig apparaatwachtwoord incorrect",e10001:"Het veranderen van het wachtwoord is niet gelukt",e102:"Het wachtwoord moet uit ten minste vier karakters bestaan.",e112:"Het verborgen apparaatwachtwoord kan niet hetzelfde zijn als het hoofdwachtwoord."}},FO={confirmDate:"Bevestig de huidige datum op je BitBox02",confirmDateText:"Deze datum wordt gebruikt om je backup te maken.",confirmName:"Bevestig naam op je BitBox02",confirmWords:"Schrijf de {{amount}}",confirmWordsText:"Hierna vraagt de BitBox je om ieder woord te bevestigen zodat je zeker weet dat de backup correct is.",followInstructions:"Volg de instructies op je BitBox02",followInstructionsMnemonic:"Volg de instructies op je BitBox02 om te herstellen met je herstelwoorden.",followInstructionsMnemonicTitle:"Met herstelwoorden herstellen"},VO={deviceName:{current:"Huidige naam",error:"Het is niet gelukt de naam in te stellen.",error_104:"Het instellen van de naam is afgebroken door de BitBox.",input:"BitBox02 naam",placeholder:"Nieuwe naam",title:"BitBox02 naam instellen"},gotoStartupSettings:{description:"",title:"Ga naar opstartinstellingen"}},WO={advanced:{button:"Geavanceerde opties",outOfDate:"Deze optie is niet beschikbaar voor deze firmware-versie",seed12WordInfo:"De hoeveelheid woorden kan niet veranderd worden nadat je de wallet hebt aangemaakt.",seed12WordLabel:"Seed met 12 ipv 24 herstelwoorden aanmaken",seed12WordText:'De BitBox maakt standaard een backup met 24 herstelwoorden aan. Backups met zowel 12 als 24 woorden zijn in de praktijk veilig tegen "brute force" aanvallen. ',skipSDCardLabel:"MicroSD backup overslaan en herstelwoorden opschrijven",skipSDCardText:"Je hebt altijd de mogelijkheid om via de instellingen alsnog een microSD- of herstelwoord-backup te maken.",title:"Geavanceerde backup-opties"},attestationFailed:"Validiteitscheck niet gehaald. Dit kan gebeuren als de app opnieuw wordt opgestart terwijl de BitBox wachtte op input. Probeer de BitBox opnieuw te verbinden. Neem contact op met support@bitbox.swiss als dit probleem blijft voortbestaan.",backup:{point1:"Selecteer een backup op de microSD kaart",point2:"Stel een wachtwoord in voor je apparaat",restoreText:"Ok, laten we een backup herstellen!",text1:"Je BitBox02 wachtwoord is ingesteld en je wallet is aangemaakt. Nu gaan we je eerste backup instellen. Zorg dat je microSD kaart is ingevoerd in de BitBox02 en ga verder.",text2:"Volg de instructies op je BitBox om een backup te maken.",text3:"Verwijder de microSD kaart en sla hem op in een veilige locatie nadat je backup is aangemaakt. De inhoud van de microSD kaart is niet beveiligd met een wachtwoord. Voer je microSD kaart nooit in een ander apparaat dan je BitBox02 in.",userConfirmation1:"Ik zal mijn backup in een veilige locatie opslaan.",userConfirmation2:"Mijn backup is niet beveiligd met een wachtwoord. Iedereen die er toegang tot heeft, heeft toegang tot mijn wallet.",userConfirmation3:"Als ik mijn BitBox02 verlies of beschadig, is de backup mijn enige manier om weer toegang tot mijn wallet te krijgen.",userConfirmation4:"Als ik mijn BitBox02 én mijn backup verlies of beschadig, is mijn wallet permanent verloren.",userConfirmation5:"Ik moet mijn microSD kaart niet in een computer, telefoon, printer of ieder ander apparaat dan een BitBox02 invoeren.",userConfirmation5mnemonic:"Ik snap dat ik mijn herstelwoorden NOOIT in een computer, telefoon, printer of ieder ander apparaat dat geen BitBox is moet invoeren"},create:{button:"",info:"Dit zijn de stappen die je gaat nemen om je BitBox in te stellen:",inputTitle:"Walletnaam",point1:"Geef je BitBox een naam",point2:"Stel een wachtwoord voor je BitBox in",point3:"Maak een backup",text:"Ok, we gaan nu een nieuwe wallet aanmaken!"},createBackupAborted:"Backup afgebroken",createBackupFailed:"Het maken van een backup is niet gelukt, probeer het opnieuw.",initialize:{passwordText:"Gebruik de touch-sensors op je BitBox om een wachtwoord in te stellen.",passwordTitle:"Stel een wachtwoord in voor je BitBox.",text:"Je BitBox02 is gekoppeld. Stel hem in door te kiezen voor het maken van een nieuwe wallet, of het herstellen van een backup. Zorg ervoor dat je een microSD kaart in je BitBox02 hebt zitten",tip:"We raden je aan in een veilige omgeving door te gaan.",title:"Initializeer je BitBox"},insertSDCard:"Zorg ervoor dat je een microSD kaart in je BitBox02 hebt zitten",noPasswordMatch:"De wachtwoorden kwamen niet overeen, probeer het op nieuw.",pairing:{failed:"Koppeling niet bevestigd. Plug je BitBox opnieuw in.",paired:"Je hebt de volgende code op je BitBox bevestigd. Klik om door te gaan.",title:"Verifieer koppelcode",unpaired:"Er is een nieuwe BitBox02 gedetecteerd. Controleer dat onderstaande code overeenkomt met wat er op je BitBox staat"},restoreFromMnemonic:{e104:"Het herstellen is afgebroken",failed:"Herstel is niet gelukt, probeer het nog eens."},stepBackup:{beforeProceed:"Lees deze belangrijke veiligheidsoverwegingen voordat je verder gaat:",createBackup:"Je gaat nu een backup op je microSD kaart maken.",createBackupMnemonic:"Je gaat nu de herstelwoorden opschrijven"},stepBackupSuccess:{fundsSafe:"Houd rekening met het volgende om je crypto veilig te houden:",title:"Backup hersteld!"},stepConnected:{unlock:"Voer je BitBox02 wachtwoord in om te ontgrendelen."},stepCreate:{description:"Deze naam wordt gebruikt als apparaatnaam en voor de backup",nameLabel:"BitBox02 naam",namePlaceholder:"Mijn BitBox02",title:"Kies een naam voor je BitBox02",toastMicroSD:"Zorg dat je microSD kaart is ingevoerd in je BitBox02; deze wordt gebruikt om een backup van je wallet op te slaan."},stepCreateSuccess:{removeMicroSD:"Haal de microSD kaart uit je BitBox02 en bewaar deze in een veilige locatie.",storeMnemonic:"Bewaar je herstelwoorden op een veilige locatie",success:"Je backup is aangemaakt."},stepInsertSD:{insertSDCard:"Stop een microSD kaart in je BitBox02 om door te gaan.",insertSDcardTitle:"Voer microSD kaart in"},stepPassword:{e104:"Het instellen van een wachtwoord is afgebroken",title:"BitBox02 wachtwoord instellen",useControls:"Gebruik de touch-sensors op je BitBox02 om een wachtwoord in te voeren."},stepUninitialized:{create:"Ik wil een nieuwe BitBox02 instellen.",restore:"Ik wil de backup van een bestaande wallet herstellen.",restoreMicroSD:"Herstel met microSD kaart",restoreMnemonic:"Herstel met herstelwoorden",title:"Stel je BitBox02 in"},success:{text:`Gefeliciteerd! Je BitBox02 is nu klaar om te gebruiken. +Voor meer informatie over het gebruik van de BitBoxApp check je de applicatiehulp door op het icoon rechtsbovenin te klikken.`,title:"Je bent helemaal klaar!"}},UO={button:"Knipperen"},qO={button:"Firmwareupgrade uitvoeren",button_install:"Firmware installeren",progress:"Firmwareupgrade wordt uitgevoerd: {{progress}}%",progress_install:"Firmware wordt geïnstalleerd: {{progress}}%",success:"Upgrade voltooid! Plug je BitBox opnieuw in. Druk deze keer niet op de knop."},HO={abort:"Annuleren",back:"Terug",buy:"Koop",changepin:"BitBox-wachtwoord veranderen",check:"Backup controleren",continue:"Verder",copy:"Kopiëren",create:"Aanmaken",dismiss:"Sluiten",done:"Klaar",download:"Download",hiddenwallet:"Verborgen wallet aanmaken",next:"Volgende",ok:"OK",previous:"Vorige",receive:"Ontvangen",restore:"Herstellen",select:"Selecteren",send:"Verzenden",unlock:"Ontgrendelen",update:"Updaten",upgrade:"Upgraden"},KO={exchange:{bankTransfer:"Bankoverschrijving",bestDeal:"Beste deal",creditCard:"Creditcard",fast:"Snel",fee:"transactiekosten",infoContent:{moonpay:{fees:{bankTransfer:"Bankoverschrijving: {{fee}}%",creditDebitCard:"Creditcard: {{fee}}%",learnMore:"Lees meer over Moonpay",title:"Transactiekosten"},fullCurrenciesList:"Bekijk hier de hele Valutalijst",payment:{asteriskText:"* Niet beschikbaar voor inwoners van de VS",bankTransfer:"Bankoverschrijving*",bankTransferDetails:{pix:"PIX (Alleen in Brazilië)",sepa:"SEPA en SEPA Instant (Alleen EUR-transacties in SEPA landen)",uk:"UK Faster Payments (Alleen GBP transacties in het VK)"},creditDebitCard:"Credit/debitkaart",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa en Maestro"},learnMore:"Zie meer details over betaalmethodes",title:"Betaalmethodes"},supportedCurrencies:"Ondersteunt alle grote fiat-valuta: USD, EUR, CHF en meer"},pocket:{fees:{info:"Bankoverschrijving: {{fee}}%",title:"Transactiekosten"},learnMore:"Lees meer over Pocket",payment:{bankTransfer:"Bankoverschrijving",bankTransferDetails:{sepa:"SEPA en SEPA Instant (Alleen EUR-transacties in SEPA landen)",sic:"Swiss Interbank Clearing (CHF-transacties alleen in CH/LI)",uk:"UK Faster Payments (Alleen GBP transacties in het VK)"},bankTransferReccuring:"Hoe stel ik regelmatige aankopen in?",title:"Betaalmethodes"},supportedCurrencies:"EUR, GBP en CHF worden ondersteund",verification:{info:"Vereist alleen identiteitsverificatie boven een dagelijks/jaarlijks limiet",link:"Vind de huidige limieten hier",title:"Identiteitsverificatie"}},region:{title:"Selecteer het land waarin je bankrekening is geregistreerd om de beschikbare opties te zien"}},noExchanges:"Sorry, er zijn geen exchanges beschikbaar in jouw regio",region:"Regio",selectRegion:"Niet aangegeven",title:"Koop {{name}}"},info:{continue:"Akkoord, verder",crypto:"crypto",disclaimer:{intro:["Samen met MoonPay bieden we je een naadloze manier om {{name}} direct in de BitBoxApp te kopen. Het is met een paar kliks gedaan.","MoonPay is een platform dat het snel en makkelijk maakt om {{name}} in meer dan 160 landen te kopen."],payment:{details:"Je kunt via MoonPay direct {{name}} kopen met de volgende betaalmethodes. Credit- of debitcard aankopen zijn makkelijk en snel, maar zijn duurder omdat de transactie teruggedraaid kan worden. We raden aan om een bankoverschrijving te doen voor grotere hoeveelheden. De minimale kosten zijn 4 euro.",footnote:"Houd er rekening mee dat de wisselkoers die MoonPay aanhoudt anders kan zijn dan die in de BitBoxApp, waardoor de hoeveelheden kunnen verschillen.",table:{"1_description":"Laagste kosten, kan tot 3 werkdagen duren.","1_method":"Bankoverschrijving (SEPA)","2_description":"Hogere kosten, onmiddelijke aankoop","2_method":"Credit- en debitcards",description:"Omschrijving",fee:"Kosten",method:"Methode"},title:"Betaalmethode en kosten"},privacyPolicy:"MoonPay privacy policy",protection:{description:"De BitBoxApp verzamelt geen data als je {{name}} koopt, de inkomende transactie wordt als gewone transactie behandeld. MoonPay moet wat persoonlijke data verzamelen om je hun diensten aan te bieden. Hun privacy policy legt in detail uit hoe die data behandeld wordt.",descriptionGeneric:"De BitBoxApp verzamelt geen informatie van je als je {{name}} koopt. De inkomende transactie wordt als een normale transactie behandeld. Onze partner-exchanges moeten echter wat informatie verzamelen om hun diensten te kunnen verlenen. Zie hun respectievelijke privacybeleid voor meer informatie over hoe ze met je data omgaan.",title:"Databescherming."},security:{description:"Als je {{name}} koopt via MoonPay, gebruik je een externe dienst. Deze dienst valt buiten het BitBox02 Beveiligings- en bedreigingsmodel en vertrouwt op de beveiliging van de omgeving waarin je de BitBoxApp draait.",descriptionGeneric:"Als je {{name}} koopt via een van onze partner-exchanges, gebruik je een externe dienst. Deze diensten vallen buiten het beveiligings- en bedreigingsmodel van de BitBox02 en zijn afhankelijk van de veiligheid van de omgeving waarin de BitBoxApp software draait.",link:"Beveiliging- en bedreigingsmodel",title:"Bedreigingsmodel"},title:"Welkom bij jouw one-stop-shop om {{name}} te kopen"},next:"Volgende",selectLabel:"Kies je account",selectPlaceholder:"Selecteer een coin",skip:"Niet nog eens weergeven",title:"Koop {{name}}"},pocket:{data:{link:"Pocket's privacybeleid",p1:"De BitBoxApp verzamelt geen informatie van je als je bitcoin koopt. De inkomende transactie wordt als een normale transactie behandeld. Moet echter wat informatie verzamelen om hun diensten te kunnen verlenen. Pocket's privacybeleid legt in detail uit hoe ze met je data omgaan.",title:"Databescherming"},kyc:{link:"Lees de Pocket-FAQs",p1:"Pocket probeert KYC tot een minimum te beperken. Voor aankopen van minder dan 950EUR (1000 CHF) per dag, is het uploaden van identificatie-documenten niet nodig. Als je meer dan dit wilt kopen, zul je een gesprek met Pocket in moeten plannen om de benodigde KYC/AML-procedure te doorlopen.",title:"KYC/AML"},payment:{p1:"Je kunt bij Pocket direct bitcoin kopen met een simpele SEPA bankoverschrijving. De transactiekosten hiervoor zijn 1.5%, en de bitcoin wordt direct naar je BitBox gestuurd (zodra Pocket de bankoverschrijving heeft ontvangen - meestal dezelfde dag nog).",p2:"Let er op dat de wisselkoers die Pocket hanteert verschillend kan zijn dan die in de BitBoxApp wordt aangegeven, wat een klein verschil in de hoeveelheden kan opleveren.",title:"Betaalmethodes en transactiekosten"},previousTransactions:"Je deelt een bestaande en gebruikte account met Pocket. Als je dit doet kunnen ze je volledige transactiegeschiedenis en alle toekomstige transacties inzien. Wil je toch doorgaan?",security:{link:"BitBox02 beveiligings- en bedreigingsmodel",p1:"Als je bitcoin koopt via Pocket, gebruik je een externe dienst. Deze diensten vallen buiten het beveiligings- en bedreigingsmodel van de BitBox02 en zijn afhankelijk van de veiligheid van de omgeving waarin de BitBoxApp software draait. We werken echter samen met Pocket om de beveiliging te verbeteren door het adres waar je op ontvangt te controleren met een tweefactor-authenticatiemechanisme.",title:"Beveiligingsmodel"},usedAddress:"Het adres {{address}} is al gebruikt, probeer het opnieuw met een nieuw adres.",verifyBitBox02:"Verifieer alsjeblieft of het adres wat je via de mail is toegestuurd hetzelfde is als het adres dat op je BitBox wordt weergegeven. Als het kan, is het het beste om de email op een tweede apparaat te openen.",welcome:{p1:"Met Pocket kun je binnen een paar kliks direct in de BitBoxApp bitcoin kopen.",p2:"Pocket is een Zwitsers platform wat het makkelijk en snel maakt om bitcoin te kopen in bijna heel Europa (overal waar SEPA bankoverschrijvingen beschikbaar zijn).",p3:"Met Pocket kun je ook regelmatige aankopen doen door een herhaalopdracht in te stellen bij je bank, zodat je makkelijk een DCA (dollar-cost-averaging) spaarplan in kunt stellen.",title:"Welkom bij je one-stop-shop voor bitcoin-aankopen"}},title:"Koop {{name}}"},GO={newTitle:"Nieuw BitBox02 wachtwoord",oldLabel:"Huidig BitBox02 wachtwoord"},QO={dataMissing:"Datahistorie aan het verzamelen... even geduld.",dataUpdating:"Data aan het updaten...",filter:{all:"Alle",month:"Maand",week:"Week",year:"Jaar"}},YO="microSD kaart aan het controleren",ZO="Klik hier",JO={abortInfo:"Klik om",abortInfoRedText:"annuleren",approveInfo:"Houd 4 seconden ingedrukt om te",approveInfoGreenText:"bevestigen",info:"Ga verder op je BitBox",infoWhenPaired:"Eerst op de gekoppelde telefoon en dan op je BitBox"},XO="Bevestig op je BitBox",eR={toggle:"Donkere kleurstelling"},tR={appUpradeRequired:"Je BitBox wordt niet ondersteund door deze desktop applicatie. Download en installeer de laatste versie."},nR={button:"Stel tweefactor authenticatie (2FA) in",condition1:"Heb je een backup?",condition2:"Werkt de mobiele app verificatie?",condition3:"2FA stelt backups en app-koppelingen buiten werking. De BitBox moet worden gereset om 2FA uit te zetten!",confirm:"Stel tweefactor authenticatie (2FA) in",title:"Stel tweefactor authenticatie (2FA) in"},aR={backups:{manageBackups:{description:"MicroSD kaart backup aanmaken of controleren."},showRecoveryWords:{description:"Herstelwoorden tonen en verifiëren."},title:"Backups"},deviceInformation:{attestation:{description:"De BitBoxApp controleert of je apparaat echt is."},deviceName:{description:"Verander de naam van je apparaat."},securechip:{description:"Secure-chip modelnummer"},title:"Apparaatinformatie"},expert:{factoryReset:{description:"Zet je BitBox terug naar de fabrieksinstellingen - dit verwijdert de wallet uit je BitBox02!",title:"Terugzetten naar fabrieksinstellingen"},goToStartupSettings:{description:'Ga naar de bootloader van de BitBox02. Je kunt hier het laten zien van de "firmware hash" inschakelen.'},passphrase:{description:"Zet de optionele passphrase aan of uit",title:"Passphrase"}},firmware:{firmwareVersion:"Firmware-versie",newVersion:{label:"Beschikbare versie"},title:"Firmware",upToDate:"Je BitBox is up-to-date",upgradeAvailable:"Een nieuwe upgrade is beschikbaar",version:{label:"Versie"}},hardware:{attestation:{false:"Autentiteitscontrole mislukt",label:"Autentiteitscontrole",true:"Je hebt een autentieke BitBox02"},sdcard:{false:"Niet ingevoerd",label:"microSD kaart",true:"Ingevoerd"},securechip:"Secure chip",title:"Hardware"},loading:"Apparaatinformatie aan het verzamelen...",pairing:{lock:{false:"Uitgeschakeld",label:"Tweefactor authenticatie (2FA)",true:"Ingeschakeld"},mobile:{false:"Gesloten",label:"Mobiele app",true:"Open"},status:{false:"Niet gekoppeld",label:"Status",true:"Gekoppeld"},title:"Aan het koppelen"},secrets:{manageBackups:"Backups beheren",title:"Geheimen"}},iR="Heb je een herstelwachtwoord gekregen bij de aankoop van je BitBox? Zo ja, moet je onmiddelijk stoppen en ons onmiddelijk contacteren. Shift zal je nooit een kant-en-klare wallet aanbieden of aanbevelingen doen voor je wachtwoorden.",oR={cancel:"Annuleren",confirm:"Bevestigen",confirmTitle:"Bevestiging"},rR={accountAlreadyExists:"Deze account bestaat al",accountLimitReached:"Kan account niet toevoegen. Je hebt de maximale hoeveelheid accounts voor deze coin.",aoppCallback:"Er is een fout opgetreden tijdens het versturen van het adres naar {{host}}",aoppInvalidRequest:"Ongeldig verzoek.",aoppNoAccounts:"Er zijn geen accounts beschikbaar.",aoppSigningAborted:"Verzoek om adreseigenaarschap geannuleerd.",aoppUnknown:"Er is een onbekende fout opgetreden.",aoppUnsupportedAsset:"Dit token wordt niet ondersteund.",aoppUnsupportedFormat:"Er zijn geen accounts beschikbaar die de het verzochte adresformaat ondersteunen.",aoppUnsupportedKeystore:"Het verbonden apparaat kan voor deze crypto geen berichten ondertekenen.",aoppVersion:"Onbekende versie."},sR={default:"Standaard",setDefault:"Stel {{code}} in als standaard",title:"Valuta's"},lR={appVersion:"App versie:"},cR={enabled_false:"Uitgeschakeld",enabled_true:"Ingeschakeld"},uR="Er is een fout opgetreden. Start de applicatie opnieuw op als je problemen tegenkomt.",dR={buttons:{create:"Maak een nieuwe wallet aan.",restore:"Herstel een wallet met een backup"},paragraph:"Selecteer één van de volgende opties:",step:{1:{title:"Beveiligingsinformatie"},2:{description:"Stel een apparaatwachtwoord in",title:"Apparaat"},"3-create":{description:"Maak een nieuwe wallet aan",title:"Wallet"},"3-restore":{description:"met een backup",title:"Herstel"},"4-create":{title:"Samenvatting"},"4-restore":{title:"Samenvatting"}}},pR={accountDescription:{text:"Je accountpagina laat je beschikbare balansen, en binnenkomende en uitgaande transacties zien. In de instellingen kun je meer informatie vinden over iedere accountsoort.",title:"Wat staat er op deze pagina?"},accountFiat:{text:"Ja. Je kunt op iedere 'ticker' klikken om door fiatvaluta te roteren. Je kunt de lijst van valuta's in de instellingen veranderen.",title:"Kan ik ook andere wisselkoersen weergeven?"},accountIncomingBalance:{text:"Binnenkomende transacties zijn een som van de hoeveelheden die naar je toe gestuurd zijn, maar nog geen bevestiging hebben van het netwerk.",title:"Wat zijn binnenkomende transacties?"},accountInfo:{multipleXPubs:{text:`Iedere xpub is gekoppeld aan het getoonde 'type': dit is "Native segwit (bech32)", "Wrapped segwit" of "Taproot" (alleen bij Bitcoin). Dit zijn scrypttypes die gebruikt worden door {{coinName}}. De BitBoxApp combineert ze door meerdere scripttypes in dezelfde account te ondersteunen. Omdat ieder scripttype een andere xpub heeft, heb je meerdere xpubs per account. + +Als je altijd op het standaardadres ontvangt, heb je alleen de 'bech32' xpub nodig. Als je echter ook (handmatig) ontvangt op je compatibiliteitsadres, staan deze onder de "oudere Segwit" of "Taproot" uitgebreide publieke sleutel (xpub).`,title:"Waarom heb ik meerdere xpubs?"},privacy:{text:`Met de uitgebreide publieke sleutel vallen de volledige financiële geschiedenis, de balans van je account en alle eventuele toekomstige transacties te achterhalen. Met alleen de xpub heb je echter geen verzendcontrole over de coins. + +Als je een xpub aan iemand geeft, moet je je ervan bewust zijn dat deze persoon of dit bedrijf alle transacties van dit account kan zien. Daarom is het handig om accounts waarvan je de xpub weggeeft maar voor één doel te gebruiken, en je andere financiën op een ander account te beheren. `,title:"Moet ik mijn xpub geheim houden?"},verify:{text:"Ja, het is altijd een goed idee om je xpub te dubbel-checken. Zeker als iemand anders met deze xpub adressen gaat genereren om je geld te sturen is het extra belangrijk. Je verifieert de xpub op je BitBox om er zeker van te zijn dat de xpub van jou is. Anders zullen alle transacties naar een verkeerd adres gaan. ",title:"Moet ik de xpub verifiëren op mijn BitBox?"},xpub:{text:`Een uitgebreide publieke sleutel (xpub) is de bron waaruit alle ontvangstadressen van een account gemaakt worden. + +Het wordt hier weergegeven voor geavanceerde gebruikers en voor ondersteuning van watch-only wallets zoals Electrum of Sentinel. Als je verschillende adrestypes gebruikt, noteer dan alle verschillende xpub-formaten in de watch-only wallet om al je coins te kunnen zien. + +Let op dat nog niet alle externe wallets Taproot ondersteunen. `,title:"Wat is een uitgebreide publieke sleutel?"}},accountRates:{text:"We vernieuwen de wisselkoers iedere minuut gebaseerd op de wisselkoersen van CoinGecko.",title:"Welke wisselkoersen gelden er?"},accountReload:{text:"Dat is niet nodig. Je transactiegeschiedenis wordt automatisch geüpdatet.",title:"Kan ik de transactiegeschiedenis herladen?"},accountSendDisabled:{text:"De verzendknop wordt geactiveerd als de balans van dat account meer dan nul is.",title:"Waarom kan ik geen {{unit}} verzenden?"},accountSummaryAmount:{text:`De totale balans is de som van al je crypto-accounts, berekend met de wisselkoers van coingecko.com. +Let op: Gebruik je MyEtherWallet voor toekens die niet ondersteund worden door de BitBoxApp? Dan worden deze niet meegerekend in dit totaal.`,title:"Hoe wordt de totale balans berekend?"},accountSummaryDescription:{text:"Hier kun je de prestaties van je gehele portfolio gedurende verschillende tijdsbestekken bekijken. Een overzicht van je individuele crypto-accounts wordt onder de grafiek weergegeven.",title:"Wat zie ik op deze pagina?"},accountTransactionAttributesBTC:{text:`Grootte: De daadwerkelijke grootte van de transactie in bytes zoals berekend volgens de onderliggende blockchain. +Virtuele grootte: Dit bepaalt de netwerkkosten. Je bespaart op kosten als de virtuele grootte kleiner is dan de transactiegrootte. +Gewicht: Een nieuwe meeteenheid die geïntroduceerd is met Segwit om de grootte van transacties en blokken te evalueren. Iedere 'segregated witness' byte telt als één gewichtseenheid (weight unit), alle andere data telt als vier. In plaats van één megabyte is de grootte van een block nu vier miljoen weight units.`,title:"Hoe zit het met de Bitcoin-specifieke transactiedetails?"},accountTransactionAttributesGeneric:{text:`Bevestigingen: Je transactie is onbevestigd totdat een miner het toevoegt aan een block. Op dat moment heeft het één bevestiging. Ieder block wat daarna komt geeft jouw transactie een extra bevestiging. Over het algemeen vereisen winkels en andere mensen op het netwerk drie tot zes bevestigingen. +Transactie-ID: Een uniek identificatienummer waarmee je je transactie in een block explorer kunt opzoeken. +Transactiekosten: Miners worden betaald met transactiekosten, die ervoor moet zorgen dat ze jouw transactie in een block opnemen. Klik op 'verzenden' om hier meer over te leren.`,title:"Welke informatie vind ik in de transactiedetails?"},accountTransactionConfirmation:{text:"Een transactie die is uitgezondern naar het netwerk, maar nog geen bevestigingen heeft. ",title:"Wat is een transactie in afwachting?"},accountTransactionLabel:{text:"Dit is het adres waarop je coins hebt ontvangen of naartoe hebt verzonden. ",title:"Wat is het adres wat bij iedere transactie wordt weergegeven?"},accountTransactionTime:{text:"De transactiebevestigingstijd op de blockchain",title:"Wat is de tijd die wordt weergegeven?"},accounts:{howManyAccounts:{text:"Bitcoin en Litecoin kunnen zoveel accounts hebben als je wilt. Na vijf accounts kun je pas een nieuwe toevoegen als de vorige account daadwerkelijk gebruikt is voor een transactie. Andere coins hebben een maximum van vijf accounts.",title:"Hoeveel accounts kan ik aanmaken?"},howtoAddTokens:{text:'Tokens die gebruik maken van de ERC20 standaard worden aan een specifieke Ethereum-account gekoppeld. Om een token aan- of uit te zetten, open je het "Accounts beheren" scherm, klik je op je Ethereum account en schakel je de gewenste token in of uit.',title:"Hoe kan ik meer tokens toevoegen?"},moveFunds:{text:"Ja, maar omdat accounts onafhankelijk van elkaar zijn, moet je een reguliere transactie maken.",title:"Kan ik mijn coins tussen accounts verplaatsen?"},recoverAccounts:{text:"Ja, de BitBoxApp maakt accounts die voldoen aan breed gebruikte standaarden, zodat je accounts compatibel zijn met de meeste andere crypto-wallets.",title:"Kan ik mijn accounts in een andere wallet herstellen?"},whatAreAccounts:{text:"Je wallet kan meerdere accounts van dezelfde coin aanmaken. Accounts zijn handig als je verschillende 'rekeningen' wilt hebben om je financiën gescheiden te houden..",title:"Wat zijn accounts?"},whyIsThisUseful:{text:"Accounts zijn een goede manier om bijvoorbeeld de financiën van verschillende mensen of voor verschillende doeleinden te beheren omdat deze gescheiden gehouden worden in verschillende accounts. Je kunt ook de uitgebreide publieke sleutel (xpub) van één account met iemand anders delen zonder ook maar iets over je andere accounts aan diegene bloot te stellen. Dit zorgt ervoor dat je herhaaldelijk kunt ontvangen zonder een adres te hergebruiken, bijvoorbeeld om een salaris te ontvangen of regelmatig crypto te kopen.",title:"Waar is dit goed voor?"}},appendix:{link:"Neem contact met ons op!",text:"Nog een vraag?"},backups:{check:{text:"Het checken van je backup zorgt ervoor dat je kunt controleren of je een geldige backup hebt voor je huidige wallet. Het kan ook gebruikt worden om te controleren of je herstelwachtwoord nog klopt. Je kunt je hoofdherstelwachtwoord checken, of je verborgen herstelwachtwoord.",title:"Wat is 'check backup'?"},encrypt:{text:"Nee, maar je herstelwachtwoord is nodig om de wallet vanuit de seed phrase te herstellen.",title:"Kan ik de backup versleutelen?"},howOften:{text:"De backup wordt automatisch gegenereerd wanneer je een nieuwe wallet aanmaakt. Je hoeft alleen een nieuwe backup te maken als je microSD kaart kapot of kwijt is, of als je meerdere microSD kaarten als backup wilt gebruiken. Je hoeft geen nieuwe backup te maken nadat je een transactie hebt gedaan; alle transactiedata kan worden hersteld met de backup die aan het begin gemaakt is.",title:"Hoe vaak moet ik een nieuwe backup maken?"},whatIsABackup:{text:"Het is een kopie van de herstelwoorden ('seed phrase') op een microSD kaart. De herstelwoorden samen met je herstelwachtwoord genereren je wallet.",title:"Wat is een backup?"}},backupsBB02:{check:{text:"Met 'check backup' kun je verifiëren dat je een werkende backup hebt die overeenkomt met je huidige wallet.",title:"Wat is 'check backup'?"},encrypt:{text:"Nee, dit is niet mogelijk. Bewaar de microSD kaart op een veilige plek, omdat de onversleutelde herstelwoorden die je wallet kunnen herstellen hierop staan. Als je een wachtwoordbeveiliging wilt gebruiken, kun je de optionele wachtwoordfunctie inschakelen onder de geavanceerde instellingen. ",title:"Kan ik de backup versleutelen?"},whatIsABackup:{text:"Het is een kopie van de herstelwachtwoorden op een microSD kaart.",title:"Wat is een backup?"}},bitbox:{"2FA":{text:`Wanneer 2FA is ingeschakeld moeten alle (verzend-) transacties goedgekeurd worden met de gekoppelde mobiele telefoon. Dit is wat er onder de motorkap gebeurt: Een versleuteld bericht wordt naar de mobiele app gestuurd en ontgrendeld, waarna het teruggestuurd wordt naar de BitBoxApp als je op 'accepteren' klikt. Deze communicatie wordt gedaan via het kanaal dat opgezet wordt tussen de mobiele telefoon en de BitBoxApp tijdens het koppelen. + +Zorg dat je wallet gebackupt is en gekoppeld met de mobiele app voordat je 2FA inschakeld. Zodra dit gebeurd is worden de microSD poort en het koppelen met de mobiele app uitgeschakeld. Ze kunnen opnieuw ingeschakeld worden door de BitBox te resetten, wat ook je wallets verwijdert. `,title:"Hoe werkt tweefactor authenticatie (2FA)?"},disable2FA:{text:"Om 2FA uit te zetten moet je de BitBox resetten en herstellen middels je backup. Zorg ervoor dat je de microSD kaart met de backup nog hebt en dat je het herstelwachtwoord nog weet. Kies dan voor 'Reset BitBox' in de instellingen. Kies een nieuw apparaatwachtwoord en kies 'herstel een backup'. Selecteer de backup die je voor je wallet hebt gemaakt, klik op herstellen en voer het herstelwachtwoord in wat je hebt gekozen toen je de wallet aanmaakte.",title:"Hoe kan ik tweefactor authenticatie (2FA) uitschakelen?"},ejectBitbox:{text:"Je kunt de BitBox op ieder moment uit je apparaat halen, zonder dat je het eerst hoeft uit te werpen.",title:"Hoe kan ik de BitBox uitwerpen?"},ejectSD:{text:"Je kunt de microSD kaart op ieder moment handmatig uit je BitBox halen, zo lang je niet op dat moment een backup aan het maken of herstellen bent.",title:"Hoe kan ik de microSD kaart uitwerpen?"},hiddenWallet:{text:"Het is een tweede wallet op dezelfde BitBox, die beschermd wordt door aparte apparaat- en herstelwachtwoorden, die je kunt gebruiken om een gedeelte van je balans te verbergen. Dezelfde herstelwoorden / SD kaart backup wordt gebruikt voor je normale en verborgen wallet, dus je hebt geen extra backup nodig.",title:"Wat is een verborgen wallet?"},legacyHiddenWallet:{text:"Klik eerst op onderstaande button (die beschikbaar is als de BitBox ontgrendeld is en 2FA niet ingeschakeld staat), plug daarna je BitBox opnieuw in en ontgrendel hem met je verborgen apparaatwachtwoord.",title:"Hoe krijg ik toegang tot mijn verborgen legacy wallet?"},pairing:{text:"Nadat je de mobiele BitBoxApp hebt gedownload voor iOS of Android, kun je de weergegeven QR-code scannen. Dit zet een beveiligd kanaal op tussen de mobiele telefoon en deze applicatie. Zodra je de QR-code gescand hebt, kun je de instructies op je telefoon volgen.",title:"Hoe koppel ik mijn mobiele telefoon?"}},cointracking:{text:"Klik op de 'exporteren' knop en open de downloads map. Hier vind je een .csv export bestand. Klik op onderstaande link, upload je BitBox .csv bestand en importeer de data om het in je CoinTracking porfoliomanager te gebruiken en je belastingaangifte te genereren.",title:"Hoe importeer ik mijn transacties in CoinTracking?"},device:{attestation:{link:{text:"Lees meer over de authenticiteits-check"},text:"De BitBoxApp doet een authenticiteitscheck om er zeker van te zijn dat je BitBox echt is. Deze check wordt lokaal uitgevoerd en benodigt geen verbinding naar externe servers.",title:"Hoe werkt de authenticiteitscheck?"},name:{text:"Dit is de naam van je wallet en van je backup. De naam wordt gebruikt voor toekomstige backups en kan ook gebruikt worden om verschillende wallets te onderscheiden. Deze kun je op ieder moment veranderen, maar backups die je hiervoor gemaakt hebt zullen nog steeds de oude naam gebruiken.",title:"Waar wordt de BitBox02-naam voor gebruikt?"},"secure-chip":{link:{text:"Lees meer over de secure chip"},text:"Deze informatie toont het modelnummer van de secure chip. De het nieuwste model is de ATECC608B, die verbeterde beveiligings-eigenschappen heeft vergleken met oudere modellen.",title:"Waarom wordt het secure chip modelnummer getoond?"}},receive:{address:{text:"Je kunt dit adres aan anderen geven, zodat ze transacties naar je kunnen doen. Controleer altijd met de verzender of zij wel het juiste adres hebben ingevuld!",title:"Wat moet ik met een adres?"},addressChange:{text:"Zodra je een transactie doet, wordt er automatisch een nieuw adres gegenereerd en toegevoegd aan de lijst. Zo heb je altijd 20 adressen beschikbaar die nog nooit coins hebben ontvangen.",title:"Wanneer veranderen mijn adressen?"},addressFormats:{text:"Het standaardadrestype is Native Segwit. Dit adrestype is het meest gebruikt door andere wallets en exchanges en zorgt ervoor dat je de laagste transactiekosten betaalt. Je kunt er echter voor kiezen om bitcointransacties naar Taproot-adressen te doen, wat het nieuwste adresformaat is, maar nog niet overal ondersteund wordt. Als je problemen ondervind met het versturen naar een Native Segwit adres, kun je ervoor kiezen om een Wrapped Segwit adres te gebruiken, wat met vrijwel alle andere wallets en exchanges compatibel is. ",title:'Wanneer moet ik "Adrestype wijzigen" gebruiken?'},howVerify:{text:`Voor de BitBox01 klik je op het BitBox icoon in het zijmenu aan de linkerkant en ga je naar de 'koppelen'-sectie. Als je daar bent, updatet de hulp en kun je de instructies daar verder volgen. +Op de BitBox02 kun je adressen direct op het apparaat verifiëren tijdens het proces van verzenden of ontvangen.`,title:"Hoe kan ik veilig mijn adressen verifiëren?"},plugout:{text:"Nee, zodra je je coins naar het adres hebt verstuurd, kun je je BitBox gewoon weer opbergen.",title:"Moet ik mijn BitBox ingeplugd laten tijdens het ontvangen?"},why20:{text:"Tijdens het opstarten genereert de app verschillende adressen op basis van je seed om te kijken of ze iets hebben ontvangen. Omdat de app een praktisch oneindige hoeveelheid adressen kan genereren, kan de app ook oneindig doorgaan met adressen controleren tijdens het opstarten. Om dit te voorkomen, stopt de app met controleren als het 20 adressen achter elkaar heeft gezien die niets ontvangen hebben. Dit is het tussenruimte-limiet en 20 is hiervoor de arbitraire standaard. Dit zijn de 20 adressen waar je uit kunt kiezen.",title:"Waarom slechts 20 adressen?"},whyMany:{text:"Om je privacy en veiligheid te bewaken, moet je nooit twee keer hetzelfde adres gebruiken; bekijk een adres als een factuurnummer. Als je een adres hebt gebruikt, kun je op de rechterpijl klikken voor een nieuw adres. Je kunt tot 20 adressen tegelijkertijd aanmaken. Alle adressen zijn gegenereerd op basis van je backup herstelwoorden.",title:"Waarom zo veel adressen?"},whyVerify:{text:`Je zou je computer niet moeten vertrouwen om adressen te genereren en weer te geven. Je computer heeft een veel hoger aanvalsrisico dan een hardware wallet, waardoor de kans op virussen en malware vele malen hoger is. +Voor de BitBox01 klik je op de knop om een veilig adres naar de gekoppelde telefoon te sturen, die je ook kun gebruiken om de QR-code te scannen en verifiëren. Voor de BitBox02 kun je het adres direct op het display verifiëren. `,title:"Waarom moet ik mijn adressen verifiëren. "}},send:{change:{text:"Het wisselgeld wordt naar een Taproot-adres gestort als je ten minste één andere Taproot-UTXO hebt. Als je coin control gebruikt, wordt het wisselgeld naar een Taproot adres gestort als er zich ten minste één Taproot-UTXO tussen de geselecteerde UTXOs bevindt. In alle andere gevallen wordt het wisselgeld naar een Native Segwit adres gestort. ",title:"Hoe wordt het wisselgeldadres bepaald?"},fee:{text:`De netwerkkosten worden geschat op basis van de grootte van de transactie en niet de hoeveelheid. De netwerkkosten worden berekend door het algoritme van Bitcoin Core op basis van de prioriteit die je zelf kiest. Deze worden weergegeven als ze een andere waarde hebben dan de waardes hieronder: +Budget: 24 blokken (ongeveer 4 uur voor Bitcoin, 1 uur voor Litecoin) +Laag: 12 blokken (ongeveer 2 uur voor Bitcoin, 30 minuten voor Litecoin) +Normaal: 6 blokken (ongeveer 1 uur voor Bitcoin, 15 minuten voor Litecoin) +Hoog: 2 blokken (ongeveer 20 uur voor Bitcoin, 5 minuten voor Litecoin) +(Een Bitcoin-blok kost gemiddeld 10 minuten en een Litecoin-blok 2,5 minuut om te minen. De belasting op het netwerk en dus je bevestigingstijd kan drastisch variëren.)`,title:"Hoe worden de netwerkkosten bepaald?"},plugout:{text:"Nee, zodra je een transactie hebt gemaakt, hoef je je BitBox niet ingeplugd te laten. Je kunt je BitBox direct na verzenden veilig opbergen.",title:"Moet ik mijn BitBox ingeplugd laten tijdens het verzenden?"},priority:{text:"Hoe hoger de netwerkkosten die je bereid bent te betalen, hoe sneller je transactie bevestigd zal worden door het netwerk.",title:"Wat is de netwerkprioriteit?"},revert:{text:"Zodra een transactie is ondertekend en verzonden (uitgezonden naar het netwerk), kan het niet teruggedraaid worden. Verifieer daarom altijd alle onderdelen van de transactie (inclusief de netwerkkosten) voordat je hem ondertekent! Als je de ontvanger kent, kun je ze middels een ontvangstadres vragen om de transactie handmatig terug te sturen.",title:"Kan ik een transactie terugdraaien?"},whyFee:{text:"Transacties concurreren met elkaar om bevestigd te worden door een miner. Miners kiezen de transacties die ze in hun blokken stoppen op basis van welke transacties het meeste betalen. Miners bepalen welke transacties er opgenomen worden in de blockchain. Omdat er geen vertrouwde derde partijen zijn om te bepalen welke transacties valide zijn, doen miners dit door middel van computerkracht op te offeren. Als beloning voor hun werk, kunnen ze nieuwe Bitcoin en de netwerkkosten van alle transacties die ze hebben uitgekozen opeisen.",title:"Waarom zijn er netwerkkosten?"}},"settings-electrum":{connection:{text:`Als je je eigen node wilt verbinden die zich op hetzelfde netwerk bevindt (bv. je wifinetwerk thuis), kun je zonder problemen normale netwerkcommunicatie gebruiken. Het is aan te raden dat je Electrum-server een TLS-certificaat heeft om de communicatie te versleutelen. +Als je op andere locaties dan alleen thuis met je node wilt verbinden, is Tor de betere optie. In dit geval is een TLS-certificaat niet nodig.`,title:"Moet ik clearnet TCP, TLS of Tor gebruiken?"},instructions:{link:{text:"Instructies om je eigen node te koppelen."},text:"Voor een volledige tutorial kun je onze instructies op deze webpagina volgen:",title:"Hoe verbind ik mijn BitBoxApp met mijn eigen full node?"},options:{text:`Er zijn meerdere opties om je eigen node te draaien, zoals een kant-en-klaar apparaat te kopen, er zelf een te bouwen of Bitcoin Core te draaien op je PC. Als je de BitBoxApp wilt verbinden met je eigen node, moet je ervoor zorgen dat het beschikt over een Electrum server. Dit is een programma dat toegeweid is aan het verbinden van wallets met je full node. +Ondersteunde opties zijn Electrs, Electrum Personal Server of Bitcoin Wallet Tracker.`,title:"Welke opties heb ik om zelf een full node te draaien?"},tor:{text:`Tor staat voor 'The Onion Router'. Het is een gratis, open source programma dat je extra privacy biedt en heel nuttig is in combinatie met Bitcoin. +Als je met je node wilt verbinden via Tor, moet je ervoor zorgen dat Tor is geïnstalleerd op je computer en dat de Tor Proxy is ingeschakeld in de instellingen van de BitBoxApp. +Op de meeste besturingssystemen zijn er twee manieren om Tor te gebruiken: +1. Tor Browser: download en open de Tor Browser. Dit zorgt ervoor dat de BitBoxApp kan verbinden met het Tor netwerk als je poort 9150 hebt ingesteld in de Tor Proxy instellingen. +2. Tor achtergronddienst: installeer de Tor daemon, die altijd in de achtergrond draait. De BitBoxApp kan dan verbinden door poort 9050 in te stellen in de Tor Proxy instellingen.`,title:"Wat zijn Tor en de Tor Proxy, en welke poort moet ik gebruiken?"},what:{text:"Het is mogelijk om je wallet te verbinden met je eigen full node, in plaats van het gebruiken van de Shift servers.",title:"Wat is dit?"},why:{text:`Het draaien van je eigen node is niet noodzakelijk, maar het verhoogt wel je privacy en verlaagt de noodzaak om anderen te vertrouwen. +Het betekent dat je Bitcointransacties meer privé zijn, omdat de BitBoxApp niet meer verbindt met onze servers om je transactiegeschiedenis op te halen. In plaats daarvan wordt die informatie van je eigen node gehaald. +Ten tweede zorgt het draaien van je eigen node ervoor dat je alle transacties zelf verifieerd en controleert of de consensusregels gevolgd worden `,title:"Waarom zou ik mijn eigen node moeten draaien?"}},settings:{sats:{text:'Een Satoshi (of "sat" in het kort) is de kleinst mogelijke eenheid op het bitcoinnetwerk. Een satoshi is één honderdmiljoenste bitcoin (0.00 000 001 BTC). Het is vernoemd naar de maker van Bitcoin, Satoshi Nakamoto.',title:"Wat is een Satoshi?"},servers:{text:`De app communiceert met de Shift Crypto servers om op updates te controleren, je transacties te laden en informatie te versturen naar je gekoppelde mobiele apps. +De app haalt ook de huidige wisselkoersen van CoinGecko. Alle conversies worden lokaal gedaan, zodat je balansen nooit naar derde partijen verstuurd worden. +Voor Ethereum en ERC20 tokens worden de Etherscan.io APIs gebruikt.`,title:"Met welke servers verbindt deze app?"}},title:"Gids",toggle:{close:"Gids sluiten",open:"Gids"},trackingModePortfolioChart:{text:"Op de desktop kun je je muiscursor over de grafiek heen bewegen. Op je telefoon gebruik je je vinger om horizontaal over de grafiek te slepen.",title:"Hoe kan ik de historische waardes op de grafiek inzien?"},unlock:{forgotDevicePassword:{text:"Je moet het apparaat resetten en de wallet herstellen middels een backup en het herstelwachtwoord.",title:"Wat moet ik doen als ik het wachtwoord van mijn BitBox vergeten ben?"},reset:{text:"Door 15 keer een verkeerd apparaatwachtwoord in te voeren. Tijdens de laatste paar keer moet je de knoppen langer ingedrukt houden.",title:"Hoe reset ik mijn BitBox?"}},waiting:{deviceNotRecognized:{text:`Het apparaat zou één keer moeten knipperen als het ingevoerd wordt. Zorg dat het met de juiste kant boven ingevoerd is. Als je het probleem niet opgelost krijgt, kun je contact met ons opnemen via onderstaande link. +De BitBox01 is niet te koppelen met mobiele telefoons. Gebruik alsjeblieft de BitBoxApp op een PC om je BitBox01 te verbinden.`,title:"Mijn BitBox01 wordt niet herkend."},getDevice:{link:{text:"Bestel een BitBox"},text:"Je kunt een BitBox op onze webwinkel bestellen:",title:"Hoe kan ik aan een BitBox komen?"},internet:{text:"Ja, een internetverbinding is nodig om de wallet te synchroniseren, transacties te versturen en de laatste wisselkoersen op te halen.",title:"Heeft deze app een internetverbinding nodig?"},lostDevice:{link:{text:"Backup-center"},text:"Je kunt je accounts herstellen met een nieuwe BitBox of via ons backup-center",title:"Ik ben mijn BitBox kwijt, wat nu?"},useWithoutDevice:{text:"Dat is op dit moment niet mogelijk.",title:"Kan ik de app ook zonder BitBox gebruiken?"},welcome:{text:"Bedankt voor het gebruiken van deze app, gemaakt door Shift Crypto in Zwitserland. We waarderen alle feedback die je voor ons hebt! Die kun je delen door op de link onderaan het scherm te klikken.",title:"Welkom in de BitBoxApp!"}}},hR={blocksSynced:"{{blocks}} blokken gesynchroniseerd"},mR={info1HTML:"Je kunt een verborgen wallet aanmaken met een andere combinatie van apparaatwachtwoord & herstelwachwoord, om plausibele ontkenning mogelijk te maken.",info2HTML:"Voer het apparaatwachwoord en het herstelwachtwoord dat je met je verborgen wallet wilt associëren hieronder in. Het apparaatwachtworod en het herstelwachtwoord moeten van je hoofdwallet verschillen.",passwordLabel:"Verborgen herstelwachtwoord",passwordPlaceholder:"Bevestig je verborgen herstelwachtwoord",pinLabel:"Verborgen apparaatwachtwoord",pinRepeatLabel:"Herhaal je verborgen herstelwachtwoord",pinRepeatPlaceholder:"Bevestig je verborgen herstelwachtwoord",success:"Verborgen wallet aangemaakt. Voer je BitBox opnieuw in om het te ontgrendelen."},fR={create:"Stel apparaatwachtwoord in",creating:"Apparaatwachtwoord instellen...",error:{e102:"Het apparaatwachtwoord moet ten minste vier karakters bevatten."},info:{description1:"Kies je apparaatwachtwoord. Dit wordt gebruikt om je BitBox te ontgrendelen.",description2:"Je kunt nummers, letters en symbolen gebruiken. Langere wachtwoorden bieden je meer veiligheid.",description3:"Als je je apparaatwachtwoord kwijtraakt moet je je BitBox resetten met je backup.",subtitle:"Nu ga je je apparaatwachtwoord instellen.",title:"Apparaat initialiseren..."},input:{label:"Apparaatwachtwoord",labelRepeat:"Herhaal apparaatwachtwoord",placeholderRepeat:"Bevestig apparaatwachtwoord"}},gR="Ongeldig format",vR={title:"Selecteer je taal"},bR={disable:"Verborgen legacy wallet uitschakelen",enable:"Verborgen legacy wallet inschakelen",successDisable:"Verborgen legacy wallet uitgeschakeld",successEnable:"Verborgen legacy wallet ingeschakeld. Plug je BitBox opnieuw in en voer het verborgen apparaatwachtwoord in om toegang te krijgen tot je verborgen legacy wallet."},kR="laden...",xR={editAccount:"Bewerken",editAccountNameTitle:"Accountnaam bewerken",noAccounts:"Geen accounts gevonden",settings:{hideTokens:"Tokens verbergen",showTokens:"Tokens tonen ({{activeTokenCount}})"},settingsButtonDescription:"Accounts toevoegen en tonen/verbergen",title:"Accounts beheren"},yR={usingMobileDataWarning:`Mobiel datagebruik: deze app kan een paar honderd megabyte aan blockchaindata downloaden als je een account opent. Verbind met een wifinetwerk om je mobiele datagebruik te beperken. + +Dit bericht wordt niet nogmaals getoond.`},wR={about:{appVersion:{title:"App versie"}},advancedSettings:{coinControl:{description:"Selecteer welke UTXOs onderdeel van een transactie zijn om privacy te verbeteren."},customFees:{description:"Dit laat je de transactiekosten van een overboeking precies bepalen."},torProxy:{description:"Verbind via Tor voor betere privacy."}},appearance:{activeCurrencies:{description:"Je kunt door alle valuta heen wisselen op de acccountpagina.",title:"Actieve valuta"},darkmode:{description:"Verander het uiterlijk van de BitBoxApp naar een donkere kleurstelling."},defaultCurrency:{description:"Selecteer je standaardvaluta",title:"Standaardvaluta"},language:{description:"De taal waarin je de BitBoxApp wilt gebruiken.",title:"Taal"},toggleSats:{description:"Satoshis in- of uitschakelen."}}},jR={input:{description:"(optioneel)",placeholder:"Notitie toevoegen"},title:"Notitie"},BR={newTxs_one:"Nieuwe transactie in: {{accountName}}",newTxs_other:"{{count}} nieuwe transacties in: {{accountName}}"},SR={aborted:{text:"Het koppelen van de mobiele app is afgebroken.",title:"Afgebroken"},button:"Mobiele app koppelen",confirm:"Weet je zeker dat je je BitBox wilt koppelen? Hierna heb je je mobiele telefoon nodig om een transactie uit te voeren.",connectOnly:{button:"Mobiele app verbinden",title:"Scan met de mobiele app door in het menu 'Nieuwe desktop-app verbinden' te kiezen."},error:{text:"Er is iets misgegaan. Probeer het opnieuw.",title:"Fout"},pullFailed:{text:"We konden het bericht niet van je telefoon ophalen door de relay server. De server kan offline zijn, neem contact op met de klantenservice.",title:"Pull niet gelukt"},reconnectOnly:{button:"Mobiele app opnieuw verbinden"},scanningFailed:{text:"Telefoon kon het bericht niet scannen. Probeer het opnieuw.",title:"Scan niet gelukt"},start:{hideAppQRCode:"QR-code verbergen",revealAppQRCode:"QR-code tonen",step1:"Als je de mobiele app niet hebt, kun je de QR-code voor de App Store of Play store scannen, afhankelijk van welke telefoon je hebt. ",step2:"Scan met onze mobiele app, die je kunt vinden als 'Digital BitBox 2FA' in de iOS en Android app stores."},started:{text:"Volg de instructies op de mobiele app",title:"Fantastisch"},success:{text:"Gefeliciteerd, je hebt je BitBox met de mobiele app gekoppeld!",title:"Gelukt"},timeout:{text:"Het koppelen is na twee minuten automatisch gestopt. Begin opnieuw als je de mobiele app nog steeds wilt koppelen. ",title:"Time-out"},title:"Mobiele koppeling"},zR={considerations:{button:"Backup overwegingen",message:`De passphrase biedt je extra bescherming voor je (microSD of herstelwoord-) backup. Als iemand toegang heeft gekregen tot je backup, hebben ze nu ook de passphrase nodig om toegang te krijgen tot je wallet. + +Dit betekent echter dat je zowel de passphrase als de backup nodig hebt om je wallet te herstellen wanneer je BitBox02 kapot gaat of verloren raakt. Als je je passphrase verliest of vergeet, raak je de toegang tot alle coins op die wallet kwijt. + +Als je je passphrase ergens opslaat, zou je dit op een andere plek dan je backup moeten doen. Op die manier heeft iemand die je backup vindt niet ook toegang tot je passphrase.`,title:"Backup overwegingen"},disable:"Passphrase uitzetten",disableInfo:{button:"Uitzetten",message:`Nadat je de passphrase hebt uitgezet, word je niet langer gevraagd om een passphrase in te voeren nadat je je BitBox02 hebt ontgrendeld. Je voert dus je standaard wallet in. + +Eventuele coins die nog op je passphrase wallet staan, zullen daarop blijven staan, en je kunt hier niet meer bij; je BitBox vraagt immers niet meer om de passphrase en opent direct je standaard wallet. Om weer toegang te krijgen, kun je simpelweg de passphrase opnieuw inschakelen en de passphrase weer invoeren bij het opstarten. + +Tip: Je kunt ook met een passphrase toegang tot je standaardwallet krijgen door niks in te voeren als er om je passphrase gevraagd wordt.`},enable:"Passphrase inschakelen",error:{e104:"Het veranderen van de passphrase-instelling is geannuleerd."},how:{button:"Hoe het er uit ziet",message:`Een passphrase werkt niet zoals andere wachtwoorden waar je aan gewend bent. Als je je passphrase verkeerd invoerd, krijg je hier geen melding van. Dit komt omdat iedere passphrase een nieuwe, valide wallet maakt. Dit betekent dat je zo veel verschillende wallets kunt aanmaken als je wilt door een andere passphrase in te voeren. Je kunt weer toegang krijgen tot iedere wallet door de bijbehorende passphrase in te voeren. + +Als je je BitBox02 invoert, zul je zoals je gewend bent om het gewone wachtwoord gevraagd worden. Daarna kun je een passphrase invoeren. + +Nadat je de passphrase hebt ingevoerd, kun je nog een keer checken wat je precies hebt ingevoerd, zodat je zeker weet dat het was wat je verwachtte.`,title:"Hoe werkt het"},intro:{message:`Een passphrase zorgt voor extra beveiliging voor je wallet. +Dit is hoe het werkt.`,title:"Passphrase instellen"},progressDisable:{message:"Bevestig op je BitBox dat je de passphrase wilt uitschakelen",title:"Bevestig op je BitBox"},progressEnable:{message:"Bevestig op je BitBox dat je de passphrase wilt aanzetten.",title:"Bevestig op je BitBox"},successDisabled:{message:`De passphrase staat nu aan! +Vanaf nu zul je tijdens het opstarten om een passphrase worden gevraagd.`,messageEnd:"Plug alsjeblieft de BitBox opnieuw in.",title:"Passphrase aangezet"},successEnabled:{message:`De passphrase staat nu uit! +Vanaf nu zul je niet langer tijdens het opstarten om een passphrase worden gevraagd.`,messageEnd:"Plug je BitBox02 opnieuw in.",tips:"Tips",tipsList:["We raden je aan om een kleine hoeveelheid coins naar de passphrase wallet te sturen. Plug daarna je BitBox opnieuw in en voer je wachtwoord en passphrase in. Als je passphrase correct is, zou je de coins in je wallet moeten zien.","Als je toegang wilt krijgen tot de originele wallet, kun je dit nog steeds doen door niets in te voeren als je om een passphrase wordt gevraagd. Of je kunt de passphrase helemaal uitzetten."],title:"Passphrase uitgeschakeld"},summary:{button:"Passphrase aanzetten",title:"Samenvatting",understand:"Ik snap hoe de passphrase werkt, en begrijp de risico's die het met zich meebrengt.",understandList:["De passphrase is een extra beveiliging bovenop je backup","Het invoeren van een andere passphrase genereert een andere wallet.","Om je wallet te herstellen heb je zowel de passphrase als de backup nodig.","Als je je passphrase vergeet, kun je geen toegang meer krijgen tot je coins."]},what:{button:"Leer hoe dit werkt",message:`Een wallet komt voort uit een heel groot willekeurig getal, ook wel bekend als je 'seed'. Deze seed is gemaakt toen je je BitBox02 voor het eerst instelde en is gebackupt met de microSD kaart of je lijst van herstelwoorden. Iedereen die toegang heeft tot de seed, heeft volledige controle over de coins in die wallet. + +Een passphrase is een optioneel geheim dat toegevoegd wordt aan de seed. Wanneer je de passphrase aanzet, maakt iedere verschillende passphrase een nieuwe wallet op basis van de seed en de passphrase. Een passphrase kan alles zijn; letters, woorden, speciale karakters, of helemaal niets. In feite is je standaardwallet een seed met een lege passphrase. + +Deze passphrase is onderdeel van de BIP39 standaard, wat betekent dat hij compatibel is met alle wallets die diezelfde standaard ondersteunen. `,title:"Wat is een passphrase?"},why:{button:"Waarom zou ik een passphrase gebruiken?",message:`De BitBox02 beschermt je seed op het apparaat zelf, maar de backup (op de microSD kaart of je herstelwoorden) geeft nog steeds volledige controle over de wallet. Dat is waarom deze backup veilig opgeslagen moet worden! + +Omdat een passphrase een nieuwe wallet genereert met de bestaande seed, heeft een passphrase wallet zowel de backup als de passphrase nodig om hem te herstellen. Het voordeel hiervan is dat als iemand je backup vindt, ze nog steeds je passphrase nodig hebben om toegang te krijgen tot je wallet. + +Daarnaast kun je met de passphrase meerdere wallets op hetzelfde device aanmaken, ook bekend als 'verborgen wallets', naast de bestaande wallet.`,title:"Waarom zou je een passphrase gebruiken?"}},CR={show:"Toon {{label}}",warning:{caps:"WAARSCHUWING: Caps lock (⇪) is ingeschakeld",paste:'om tekst te plakken, schakel je "SHOW {{label}}" in'}},DR={button:"Genereer willekeurig getal",description:"Je BitBox heeft het volgende willekeurige getal van {{bits}} bits gegenereerd:"},AR={changeScriptType:"Adrestype wijzigen",label:"Jouw adres",onlyThisCoin:{description:"Om andere tokens te ontvangen, moet je deze inschakelen in de instellingen. Als je hier andere tokens stort, zijn ze mogelijk niet toegankelijk.",warning:"Zorg dat je alleen {{coinName}} op dit adres ontvangt."},scriptType:{p2tr:"Taproot (nieuwste adresformaat)",p2wpkh:"Native Segwit (standaard)","p2wpkh-p2sh":"Wrapped Segwit (compatibiliteitsformaat)"},selectAccount:"Selecteer een account",showFull:"Toon het volledige adres op je BitBox om te verifiëren",taprootWarning:"Let op: Taproot is een nieuwe adressoort in Bitcoin en wordt nog niet op grote schaal gebruikt. Het kan bijvoorbeeld zijn dat bitcoin die op een Taproot-adres ontvangen wordt, niet weergegeven wordt in andere watch-only wallets. Veel andere wallets en exchanges kunnen ook nog niet naar Taproot-adressen zenden.",title:"{{accountName}} ontvangen",verify:"Verifieer veilig je adres ",verifyBitBox01:"Verifieer het adres op de mobiele app",verifyBitBox02:"Verifieer het adres op je BitBox02",verifyInstruction:"Verifieer of het volgende adres hetzelfde is als het adres wat op je BitBox wordt getoond.",warning:{secureOutput:"Koppel je BitBox met je mobiele telefoon om beveiligde adresverificatie in te schakelen. Ga hiervoor naar 'Apparaten beheren' in de zijbalk."}},_R={description:"Alle data zal van dit apparaat worden verwijderd, inclusief je privésleutel!",notReset:"Apparaat NIET gereset",title:"Fabrieksinstellingen terugzetten",understand:"Ik heb een backup en weet mijn herstelwachtwoord",understandBB02:"Ik heb een geldige backup"},TR={create:{description1:"We raden je aan om je apparaat in te stellen in een veilige omgeving. Het belangrijkste is dat andere mensen niet kunnen zien welk wachtwoord je keist.",description2:"Je wordt gevraagd om twee wachtwoorden aan te maken.",description3:"Het eerste is het apparaatwachtwoord, wat je BitBox ontgrendeld. Dit kan later veranderd worden.",description4:"Het tweede is je herstelwachtwoord, wat je wallet ontgrendeld. Dit wachtwoord kan niet gewijzigd worden.",description5:"De wallet die je aanmaakt wordt gebackupt als bestand op de meegeleverde microSD kaart. Dit kan samen met je herstelwachtwoord gebruikt worden om je wallets te herstellen.",title:"Beveiligingsinformatie"},restore:{description1:"Je wordt gevraagd om de microSD kaart die je gebruikt hebt om je backup te maken in te voeren.",description2:"Om je apparaat te herstellen, heb je je herstelwachtwoord nodig.",description3:"Zorg ervoor dat je het juiste herstelwachtwoord invoert. Ongeacht wat je hier invoert, maak je een valide wallet aan. Als je een verkeerd wachtwoord invoert, krijg je waarschijnlijk een nieuwe, lege wallet te zien.",title:"Beveiligingsinformatie"}},ER={agreements:{"funds-access":"Ik kan NIET bij mijn wallets als ik mijn herstelwachtwoord vergeet","password-change":"Ik kan het herstelwachtwoord NIET meer veranderen","password-required":"Het hetstelwachtwoord is nodig om een wallet van een backup te herstellen"},create:"Wallet aanmaken",creating:"Wallet aanmaken...",description:"Ik heb het volgende gelezen en begrepen:",error:{e102:"Het wachtwoord moet uit ten minste vier karakters bestaan.",e200:"Je moet een microSD kaart in je BitBox invoeren om een wallet aan te maken, zodat er automatisch een backup gegenereerd kan worden."},info:{button:"Stel nu je herstelwachtwoord in",description1:"Voer de microSD kaart in de BitBox in",description2:'Kies een herstelwachtwoord voor de wallet en selecteer "Herstelwachtwoord nu instellen"',description3:"De backup op je microSD kaart en je herstelwachtwoord zijn de enige manier om weer toegang te krijgen tot je wallet als je BitBox verloren raakt, gestolen wordt, of kapot gaat.",description4:"Je kunt je herstelwachtwoord niet veranderen zonder je balans over te zetten op een nieuwe wallet.",title:"Nieuwe wallet aanmaken"},password:{label:"Herstelwachtwoord",repeatPlaceholder:"Herstelwachtwoord herhalen"},walletName:{label:"Walletnaam"}},PR={error:{e200:"Voor het herstellen van een backup is de microSD kaart nodig"},info:{description1:'Voer de microSD kaart in de BitBox in en klik op "verder"',description2:'Kies een backup en klik op "herstellen"',description3:"Voer het herstelwachtwoord in",description4:"Je moet bevestigen dat je begrijpt dat een verkeerd wachtwoord een nieuwe, andere wallet aanmaakt.",title:"Hoe herstel je een wallet vanuit een backup"}},NR={abort:"De transactie is afgebroken",address:{label:"Adres van de ontvanger",placeholder:"Adres invoeren"},amount:{label:"Hoeveelheid",placeholder:"Hoeveelheid invoeren"},availableBalance:"Beschikbare balans",button:"Controle",coincontrol:{address:"Adres",outpoint:"Output",title:"Verstuur uit output"},confirm:{"selected-coins":"Geselecteerde coins",title:"Bevestigen & transactie versturen",total:"Totaal"},error:{erc20InsufficientGasFunds:"Je hebt niet genoeg Ether in je wallet voor deze transactie. Stort meer Ether in je wallet om de transactie uit te voeren.",feeTooLow:"netwerkkosten te laag",feesNotAvailable:"Schatting van netwerkkosten niet beschikbaar",insufficientFunds:"ontoereikende balans",invalidAddress:"ongeldig adres",invalidAmount:"ongeldige hoeveelheid",invalidData:"ongeldige data"},fee:{customPlaceholder:"Hoeveelheid invoeren",label:"Netwerkkosten",placeholder:"Niet beschikbaar"},feeTarget:{customLabel:"Netwerktarief",customLabel_eth:"Gas-prijs",description:{economy:"4 uur (24 blokken)",economy_eth:"30 minuten of minder",economy_ltc:"1 uur (24 blokken)",high:"20 minuten (2 blokken)",high_eth:"30 seconden of minder",high_ltc:"5 minuten (2 blokken)",low:"2 uur (12 blokken)",low_eth:"5 minuten of minder",low_ltc:"30 minuten (12 blokken)",normal:"1 uur (6 blokken)",normal_eth:"2 minuten of minder",normal_ltc:"15 minuten (6 blokken)"},estimate:"Geschatte bevestigingstijd:",label:{custom:"Eigen selectie",economy:"Budget",high:"Hoog",low:"Laag",normal:"Normaal"},placeholder:"Netwerkkosten berekenen..."},maximum:"Alles verzenden",maximumSelectedCoins:"Geselecteerde coins verzenden",noFeeTargets:"Schattingen van de transactiekosten zijn op dit moment niet beschikbaar. Probeer het later opnieuw of stel zelf de hoogte in.",priority:"Prioriteit",scanQR:"QR-code scannen",signprogress:{description:"Dit is een transactie die veel data in zich heeft. Om de transactie te verzenden, word je gevraagd om {{steps}} keer te ondertekenen.",label:"Voortgang"},success:"De transactie is ondertekend en verzonden.",title:"Verstuur {{accountName}}",toggleCoinControl:"Coin control aan/uitzetten",transactionDetails:"Transactiedetails"},LR={about:"Over",accounts:"Accounts",advancedSettings:"Geavanceerde instellingen",appearance:"Uiterlijk",electrum:{add:"Server toevoegen","add-server":"Toevoegen",check:"Controleer",checkFailed:"Niet geslaagd",checkSuccess:"Verbinding met {{host}} tot stand gebracht",checking:"Aan het controleren","download-cert":"Remote certificate downloaden","remove-server":"Verwijderen",removeConfirm:"Wil je {{server}} verwijderen?",reset:"Terugzetten naar standaardinstelling",resetConfirm:"Wil je alle servers verwijderen en de standaard-servers instellen?",servers:"Servers",step1:"1","step1-text":"Voer het eindpunt in.",step2:"2","step2-text":"Voer een certificaat van de server in. Je kunt ook het remote certificate downloaden en het op het oog inspecteren.","step2-text-tcp":"Je kunt deze stap overslaan als je geen TLS wilt gebruiken.",step3:"3","step3-text":"Controleer de verbinding en voeg de server toe.",step4:"4","step4-text":"Start de wallet opnieuw op. Als je de standaard servers niet verwijderd, wordt je eigen node als backup-server toegevoegd.","title-btc":"","title-ltc":"Litecoin Electrum servers","title-tbtc":"Bitcoin Testnet Electrum servers","title-tltc":"Litecoin Testnet Electrum servers"},expert:{coinControl:"Coin control aanzetten",electrum:{description:"Je kunt hier met je eigen Electrum-fullnode verbinden.",title:"Verbind met je eigen full node"},fee:"Custom fees aanzetten",setProxyAddress:"Proxy adres instellen",title:"Geavanceerde instellingen",useProxy:"Tor proxy aanzetten",useSats:"BTC-waarde in Satoshis weergeven"},header:{home:"Home"},info:{"out-of-date":"Nieuwe update beschikbaar ",title:"Info","up-to-date":"Je app is bijgewerkt",version:"App versie"},restart:"Start de BitBoxApp opnieuw op om de veranderde instellingen in te schakelen.",services:{title:"Diensten"},success:"Voer de BitBox opnieuw in om de veranderde instellingen in te schakelen.",title:"Instellingen"},IR="Apparaat instellen",$R={buy:"Crypto kopen",device:"Apparaat beheren",leave:"Verlaten",settings:"Instellingen"},MR={create:{info1:"Je wallet is veilig gebackupt op de microSD kaart. Verwijder deze en bewaar hem op een veilige plek.",info2:"Je hebt een veilig apparaatwachtwoord aangemaakt dat de BitBox ontgrendelt.",info3:"Je hebt een veilig herstelwachtwoord voor je wallet aangemaakt die je wallet ontgrendeld en nodig is om je backups te herstellen.",summary:"Hier is een samenvatting van wat je gedaan hebt",title:"Gelukt"},getstarted:"Get started",restore:{summary:"Je hebt je wallet vanuit je backup hersteld",title:"Gelukt"}},OR={confirmation:"Bevestigingen",details:{activity:"Activiteit",address:"Adres",amount:"Hoeveelheid",date:"Datum",fiat:"Fiat",fiatAmount:"Hoeveelheid in fiat",fiatAtTime:"Fiat-waarde ten tijde van de transactie",status:"Status",type:"Type"},explorer:"Transactie-ID",explorerTitle:"In externe block explorer openen",fee:"Netwerkkosten",fiatHistorical:"Historie",gas:"Gas",note:{edit:"Notitie aanpassen",save:"Notitie opslaan"},pending:"Transactie in afwachting",size:"Grootte",status:{complete:"Afgerond",failed:"Niet gelukt",pending:"In afwachting"},tx:{received:"Ontvangen naar",sent:"Verzonden naar"},vsize:"Virtuele grootte",weight:"Gewicht"},RR={errorLoadTransactions:"Er is een fout opgetreden bij het laden van de transacties",placeholder:"Nog geen transacties"},FR="Er is een onbekende fout opgetreden: {{errorMessage}}",VR={description:"Voer je apparaatwachtwoord in om je BitBox te ontgrendelen",error:{e109_normal:"Apparaatwachtwoord onjuist. Je hebt nog {{remainingAttempts}} over voordat je BitBox wordt gereset.",e109_touch:"$t(unlock.error.e109_normal) Met de volgende login moet je de touchknop ingedrukt houden.",e113:"Omdat je tevaak geprobeerd hebt in te loggen, moet je de touchknop 4 seconden ingedrukt houden bij de volgende login."},input:{label:"Apparaatwachtwoord",placeholder:"Voer je apparaatwachtwoord in om je BitBox te ontgrendelen"},unlocking:"Ontgrendelen..."},WR={button:"Firmware updaten",description:"Wil je de firmware updaten van versie {{currentVersion}} naar versie {{newVersion}}?",label:"Je BitBox heeft een firmwareupdate nodig.",locked:"Hou de touchknop lang ingedrukt om van {{currentVersion}} naar {{newVersion}} te updaten.",title:"Firmware updaten",unlocked:"De bootloader is ontgrendeld. Om door te gaan:",unlocked1:"Voer je BitBox opnieuw in",unlocked2:"Het LED lichtje gaat branden als je BitBox opnieuw is ingevoerd",unlocked3:"Klik op de touchknop wanneer het LED lichtje gaat branden"},UR={receivePairing:"Koppel de BitBox om beveiligde adresverificatie in te schakelen. Ga naar 'Apparaat beheren' in de sidebar.",sdcard:"Bewaar de microSD kaart apart van de BitBox, tenzij je je backups aan het beheren bent.",sendPairing:"Koppel de BitBox om je transactiedetails beveiligd te kunnen verifiëren. Ga naar 'Manage device' in de sidebar."},qR={getStarted:"Laten we beginnen door de firmware op je BitBox02 te installeren.",insertBitBox02:"Tap de touch-sensoren op je BitBox02 om door te gaan.",insertDevice:"Verbind je BitBox om te starten",title:"Welkom"},HR={account:EO,accountInfo:PO,accountSummary:NO,addAccount:LO,aopp:IO,app:$O,backup:MO,bb02Bootloader:OO,bitbox:RO,bitbox02Interact:FO,bitbox02Settings:VO,bitbox02Wizard:WO,blink:UO,bootloader:qO,button:HO,buy:KO,changePin:GO,chart:QO,checkSDcard:YO,clickHere:ZO,confirm:JO,confirmOnDevice:XO,darkmode:eR,device:tR,deviceLock:nR,deviceSettings:aR,deviceTampered:iR,dialog:oR,error:rR,fiat:sR,footer:lR,generic:cR,genericError:uR,goal:dR,guide:pR,headerssync:hR,hiddenWallet:mR,initialize:fR,invalidFormat:gR,language:vR,legacyhiddenwallet:bR,loading:kR,manageAccounts:xR,mobile:yR,newSettings:wR,note:jR,notification:BR,pairing:SR,passphrase:zR,password:CR,random:DR,receive:AR,reset:_R,securityInformation:TR,seed:ER,seedRestore:PR,send:NR,settings:LR,setup:IR,sidebar:$R,success:MR,transaction:OR,transactions:RR,unknownError:FR,unlock:VR,upgradeFirmware:WR,warning:UR,welcome:qR},KR={disconnect:"Conexão perdida. Tentando novamente...",export:"Exportar",exportTransactions:"Exportar transações para a pasta Downloads como um arquivo CSV.",fatalError:"Ocorreu um erro inesperado.",incoming:"Lançamentos",initializing:"Obtendo informações da blockchain...",maybeProxyError:"Tor proxy ativado. Certifique-se que seu Tor esteja rodando corretamente ou desative as opções de proxy.",reconnecting:"Conexão perdida, tentando reconectar...",syncedAddressesCount:"Encontrado {{count}} endereços"},GR={address:"Endereço",buyCTA:{buy:"Comprar {{unit}}",buyCrypto:"Comprar Cripto",information:{looksEmpty:"Parece que esta carteira está vazia.",start:"Comece depositando algumas moedas na carteira ou comprando diretamente no BitBoxApp."}},extendedPublicKey:"Chave pública estendida",label:"Informações da conta",scriptType:"Tipo de script",title:"Informações da conta",verify:"Verificar no dispositivo",xpubTypeChangeBtn:{p2pkh:"Visualizar chave P2PKH pública estendida já existente.",p2tr:"Ver Taproot",p2wpkh:"Ver Segwit Nativo","p2wpkh-p2sh":"Veja a chave pública estendida do Segwit mais antiga"},xpubTypeInfo:"Atualmente mostrando {{scriptType}} chave pública estendida ({{current}} de {{numberOfXPubs}})"},QR={availableBalance:"Saldo disponível",balance:"Saldo",exportSummary:"Exportar resumo de contas para a pasta de Downloads como um arquivo CSV",fiatBalance:"Saldo em moeda corrente",name:"Nome da conta",noAccount:"Não há contas para mostrar.",subtotalWithCoinName:"Total ({{coinName}})",title:"Meu portfólio",total:"Total",transactionHistory:"Histórico de transações"},YR={chooseName:{nextButton:"Adicionar conta",step:"Nome conta",title:"Um nome para sua conta"},selectCoin:{nextButton:"Próximo",step:"Selecione a moeda",title:"Selecione a crypto."},success:{addAnotherAccount:"Adicionar outra conta",message:"{{accountName}} foi addicionado agora as suas contas.",nextButton:"Pronto",step:"Terminado",title:"Conta adicionada"},title:"Adicionar conta"},ZR={addressRequest:"{{host}} está solicitando um endereço de recebimento.",addressRequestWithLogo:"está solicitando um endereço de recebimento",banner:"Solicitação de endereço em andamento.",errorTitle:"Erro durante a solicitação de endereço",labelAddress:"Endereço",labelMessage:"Mensagem",reverifyInfoText:"Verificar endereço",signing:"Para prosseguir, assine a mensagem na sua BitBox02",success:{message:"Prossiga em {{host}}",title:"Endereço enviado com sucesso"},syncing:"Sincronizando a conta, aguarde.",title:"Solicitação de endereço"},JR={upgrade:"Uma nova versão desse app está disponível! Por favor, atualize de {{current}} para {{version}}."},XR={authButton:"Autenticar",title:"Autentique-se para continuar"},e3={check:{checking:"Checando backup...",confirmTitle:"Checar backup",notOK:"O Backup NÃO corresponde à carteira.",ok:"Backup corresponde à carteira.",password:{label:"Senha de recuperação",placeholder:"Senha de recuperação",showLabel:"senha de recuperação"},success:"Backup verificado com sucesso:",title:"Checar backup"},create:{alreadyExists:"Você já tem um backup válido. Você deseja recriá-lo?",fail:"A criação do backup FALHOU!",info:"Por favor, digite a senha de recuperação da carteira atual para verificação.",name:{label:"Nome do backup",placeholder:"Por favor, nomeie o backup"},password:{label:"Senha de recuperação",placeholder:"Por favor, digite sua senha de recuperação"},title:"Criar backup",verificationFailed:"A senha de recuperação NÃO CORRESPONDE à carteira atual. O backup foi criado. Por favor, use 'Checar backup' para verificar sua senha de recuperação novamente."},description:"Selecione um arquivo de backup da carteira",insert:"Por favor, insira o cartão microSD para gerenciar backups.",insertButton:"Eu inseri o cartão microSD",list:"Os backups do seu cartão microSD",noBackups:"Não há backups neste cartão microSD.",restore:{confirmTitle:"Restaurar backup",error:{e200:"Cartão microSD não encontrado",general:"Erro ao restaurar o backup"},password:{label:"Senha de recuperação ou senha de recuperação oculta",placeholder:"Senha de recuperação",repeatPlaceholder:"Repita a senha de recuperação",showLabel:"Senha de recuperação"},restoring:"Restaurando o backup...",selectedBackup:"{{backupName}} criado em {{createdDateTime}} será restaurado.",title:"Restaurar",understand:"Eu entendo que uma senha de recuperação incorreta criará uma carteira diferente"},showMnemonic:{description:`Serão mostradas suas palavras de recuperação, que formam um backup de sua carteira. Anote-as em um papel. + +Não as armazene digitalmente nem tire fotos delas. + +Não diga as palavras em voz alta. + +Este backup não é protegido por senha. + +Depois disso, você será solicitado a confirmar cada palavra.`,title:"Mostrar frase de recuperação",warning:"Nunca compartilhe suas palavras de recuperação com ninguém. Suas palavras de recuperação dão acesso total à sua carteira. Se alguém está pedindo suas palavras de recuperação, é um golpista, não as compartilhe!"},title:"Gerenciar backups"},t3={abort:"Não atualizar - Leve-me de volta",abort_noUpgrade:"Me leve de volta",advanced:{label:"Configurações avançadas",toggleShowFirmwareHash:"Mostrar o hash de firmware toda vez na inicialização"},flipscreen:"Girar tela",orientation:"Dispositivo orientado de maneira errada?",success:"Atualização bem sucedida! Continuando em {{rebootSeconds}} segundos...",success_install:"Instalação com sucesso! Continuando em {{rebootSeconds}} segundos..."},n3={error:{e10000:"Senha atual do dispositivo incorreta.",e10001:"Falha ao substituir a senha do dispositivo",e102:"A senha deve conter pelo menos 4 caracteres.",e112:"A senha do dispositivo oculto não pode ser igual à senha do dispositivo principal."}},a3={confirmDate:"Confirme a data de hoje em sua BitBox02",confirmDateText:"Esta data será usada para criar seu backup.",confirmName:"Confirme o nome na BitBox02",confirmWords:"Escreva as {{amount}} palavras de recuperação da sua BitBox02",confirmWordsText:"Depois disso a BitBox02 pede para você confirmar cada palavra para verificar se o backup está correto.",followInstructions:"Por favor, siga as instruções na sua BitBox02.",followInstructionsMnemonic:"Siga as instruções em sua BitBox02 para inserir as palavras de recuperação de seu backup e restaurar sua carteira.",followInstructionsMnemonicTitle:"Restaurar a partir da frase de recuperação"},i3={deviceName:{current:"Nome atual do dispositivo",error:"Não foi possível definir o nome do dispositivo",error_104:"A confirmação do nome do dispositivo foi interrompida no dispositivo.",input:"Nome da BitBox02",placeholder:"Novo nome de dispositivo",title:"Definir nome da BitBox02"},gotoStartupSettings:{description:"Isso reiniciará sua BitBox02 e entrará nas configurações de inicialização.",title:"Vá para as configurações de inicialização"}},o3={advanced:{button:"Opções avançadas",outOfDate:"Firmware desatualizado para este recurso",seed12WordInfo:"Observe que o número de palavras não pode ser alterado após a criação da carteira.",seed12WordLabel:"Criar uma semente de 12 palavras em vez de 24 palavras",seed12WordText:"Por padrão, a BitBox02 usa uma semente de 24 palavras. Ambos os tamanhos de sementes são seguros contra força bruta na prática. Alguns usuários podem preferir a conveniência da semente de 12 palavras.",skipSDCardLabel:"Pule o backup do cartão microSD e anote as palavras de recuperação",skipSDCardText:"Você sempre tem a opção de criar um backup em um cartão microSD ou escrever suas palavras de recuperação após a configuração. Isso pode ser feito nas configurações.",title:"Opções avançadas de backup"},attestationFailed:"Falha na verificação do dispositivo, o que pode ter ocorrido ao reniciar o app enquanto o dispositivo estava esperando uma entrada do usuário. Por favor, reconecte e tente novamente. Entre em contato com support@bitbox.swiss se a falha persistir.",backup:{point1:"Selecione um backup no cartão microSD",point2:"Defina uma senha para o seu dispositivo",restoreText:"Ok, vamos restaurar um backup!",text1:"Ótimo, sua senha da BitBox02 foi definida e a carteira foi criada. Agora é hora de criar seu primeiro backup. Por favor, verifique se o seu cartão microSD está inserido na sua BitBox02 e continue.",text2:"Por favor, siga as instruções na tela do seu dispositivo para criar um backup.",text3:"Após o backup ser criado, remova o cartão microSD e armazene-o em um local seguro. O conteúdo do cartão microSD não é protegido por senha. Nunca insira em qualquer outro dispositivo além de sua BitBox02.",userConfirmation1:"Eu devo armazenar meu backup em um local seguro.",userConfirmation2:"Meu backup não é protegido por senha. Qualquer pessoa com acesso a ele pode acessar minha carteira.",userConfirmation3:"Se eu perder ou danificar minha BitBox02, a única maneira de recuperar meus fundos é restaurando do meu backup.",userConfirmation4:"Se eu perder ou danificar meu backup e minha BitBox02, meus fundos serão perdidos.",userConfirmation5:"Eu não devo colocar meu cartão de backup microSD em um computador, telefone, impressora ou qualquer dispositivo a não ser o BitBox02. ",userConfirmation5mnemonic:"Não devo colocar minhas palavras de recuperação em um computador, telefone, impressora ou qualquer outro dispositivo que não seja uma BitBox02."},create:{button:"Nomear dispositivo e continuar",info:"Aqui estão os passos básicos que você vai seguir para configurar a sua BitBox: ",inputTitle:"Nome da carteira",point1:"Nomear seu dispositivo",point2:"Definir uma senha para o seu dispositivo",point3:"Criar um backup",text:"Ok, vamos criar uma nova carteira!"},createBackupAborted:"Criação de backup abortada.",createBackupFailed:"Falha na criação do backup, tente novamente.",initialize:{passwordText:"Agora vamos definir uma senha para o seu dispositivo. Use os controles da sua BitBox para entrar e escolher uma senha.",passwordTitle:"Definir uma senha para a sua BitBox",text:"Sucesso ao emparelhar sua BitBox02! Agora vamos inicializar seu dispositivo. Comece escolhendo criar uma nova carteira ou restaurar uma carteira a partir de um backup existente. Por favor, verifique se você tem um cartão microSD inserido na sua BitBox02",tip:"Recomendamos que você proceda em um ambiente seguro.",title:"Inicialize sua BitBox"},insertSDCard:"Por favor, verifique se você tem um cartão microSD inserido em sua BitBox02.",noPasswordMatch:"Senhas não conferem, tente novamente.",pairing:{failed:"Pareamento não confirmado. Por favor, reconecte sua BitBox02.",paired:"Você confirmou o seguinte código em seu dispositivo. Por favor continue.",title:"Verificar o código de pareamento",unpaired:"Uma BitBox02 não pareada foi detectada. Verifique se o código de pareamento corresponde ao que é mostrado em sua BitBox02."},restoreFromMnemonic:{e104:"A restauração a partir das palavras de recuperação foi cancelada.",failed:"A restauração a partir da frase de recuperação falhou, por favor, tente novamente."},stepBackup:{beforeProceed:"Antes de continuar, leia estas importantes considerações de segurança:",createBackup:"Agora você criará um backup no seu cartão microSD.",createBackupMnemonic:"Agora você anotará as palavras de recuperação."},stepBackupSuccess:{fundsSafe:"Para manter seus fundos seguros, lembre-se do seguinte:",title:"Backup restaurado!"},stepConnected:{unlock:"Digite a senha da BitBox02 para desbloquear."},stepCreate:{description:"Este nome é usado como o nome do dispositivo e para o backup.",nameLabel:"Nome da BitBox02",namePlaceholder:"Minha BitBox02",title:"Escolha o nome da BitBox02",toastMicroSD:"Por favor, insira seu cartão microSD em sua BitBox02, que será usado para armazenar um backup da carteira."},stepCreateSuccess:{removeMicroSD:"Remova o cartão microSD de sua BitBox02 e guarde-o em um local seguro.",storeMnemonic:"Guarde suas palavras de recuperação em um local seguro",success:""},stepInsertSD:{insertSDCard:"Por favor insira um cartão microSD na sua BitBox02 para continuar.",insertSDcardTitle:"Insira cartão microSD."},stepPassword:{e104:"A definição da senha foi cancelada.",title:"Definir senha da BitBox02",useControls:"Use os controles em sua BitBox02 para definir uma senha."},stepUninitialized:{create:"Quero configurar uma nova BitBox02.",restore:"Quero restaurar minha carteira a partir de um backup.",restoreMicroSD:"Restaurar a partir do cartão microSD",restoreMnemonic:"Restaurar a partir da frase de recuperação",title:"Configure sua BitBox02"},success:{text:`Oba! Sua BitBox02 agora está pronta para uso. + +Para obter mais informações sobre como usar o BitBoxApp, use o guia no aplicativo clicando no ponto de interrogação no canto superior direito.`,title:"Você está pronto para começar!"}},r3={button:"Piscar"},s3={button:"Atualizar firmware agora",button_install:"Instale o firmware agora",progress:"Atualizando: {{progress}}%",progress_install:"Instalando: {{progress}}%",success:"Atualização bem sucedida! Por favor, insira novamente o dispositivo. Desta vez, não toque no botão."},l3={abort:"Abortar",back:"Voltar",buy:"Comprar",changepin:"Mudar senha do dispositivo",check:"Checar backup",continue:"Continuar",copy:"Copiar",create:"Criar",dismiss:"Dispensar",done:"Pronto",download:"Baixar",hiddenwallet:"Criar carteira oculta",next:"Próximo",ok:"OK",previous:"Anterior",receive:"Receber",restore:"Restaurar",select:"Selecionar",send:"Enviar",unlock:"Desbloquear",update:"Atualizar",upgrade:"Atualizar"},c3={exchange:{bankTransfer:"Transferência bancária",bestDeal:"Melhor oferta",creditCard:"Cartão de crédito",fast:"Rápido",fee:"taxa",infoContent:{moonpay:{fees:{bankTransfer:"Transferência bancária: {{fee}}%",creditDebitCard:"Cartão de crédito/débito: {{fee}}%",learnMore:"Saiba mais sobre a Moonpay",title:"Taxas"},fullCurrenciesList:"Veja a lista completa de moedas aqui",payment:{asteriskText:"* Não disponível para residentes nos EUA",bankTransfer:"Transferência bancária*",bankTransferDetails:{pix:"PIX (transações BR somente no Brasil)",sepa:"SEPA e SEPA Instant (transações em EUR somente em países SEPA)",uk:"UK Faster Payments (transações em GBP somente no Reino Unido)"},creditDebitCard:"Cartão de crédito/débito",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa e Maestro"},learnMore:"Veja mais detalhes sobre os métodos de pagamento",title:"Métodos de Pagamento"},supportedCurrencies:"Suporta todas as principais moedas fiduciárias: USD, EUR, CHF e outras."},pocket:{fees:{info:"Transferência bancária: {{fee}}%",title:"Taxas"},learnMore:"Saiba mais sobre a Pocket",payment:{bankTransfer:"Transferência bancária",bankTransferDetails:{sepa:"SEPA e SEPA Instant (transações em EUR somente em países SEPA)",sic:"Swiss Interbank Clearing (transações em CHF apenas em CH/LI)",uk:"UK Faster Payments (transações em GBP somente no Reino Unido)"},bankTransferReccuring:"Como configurar compras recorrentes com uma ordem permanente?",title:"Métodos de Pagamento"},supportedCurrencies:"Suporta moedas europeias: EUR, GBP e CHF.",verification:{info:"Requer apenas verificação de identidade acima dos limites diários e anuais.",link:"Encontre os limites atuais aqui",title:"Verificação de Identidade"}},region:{title:"Selecione a região em que sua conta bancária está registrada para ver quais opções estão disponíveis para você."}},noExchanges:"Desculpe, não há exchanges disponíveis nesta região.",region:"Região",selectRegion:"Não especificada",title:"Comprar {{name}}"},info:{continue:"Concordo e continue",crypto:"crypto",disclaimer:{intro:["Somos parceiros da MoonPay para oferecer a você um modo perfeito de comprar {{name}} diretamente para o BitBoxApp. Em apenas alguns cliques.","MoonPay é uma plataforma simples e rápida para comprar {{name}} em mais de 160 países."],payment:{details:"Você pode comprar {{name}} instantâneamente através da MoonPay com os seguintes métodos de pagamento. Compras com cartão de crédito ou débito são convenientes e instantâneas, mas são mais caras devido ao risco de estorno. Nós recomendamos que use a opção de transferência bancária para quantidades maiores. A taxa mínima é de 4 USD/EUR ou equivalente.",footnote:"Por favor perceba que as taxas da corretora MoonPay pode ser diferente das utilizadas no BitBoxApp, resultando em valores ligeiramente diferentes.",table:{"1_description":"Taxas baixas podem levar até 3 dias úteis.","1_method":"Transferência bancária (SEPA)","2_description":"Taxas altas mas rápidas e instantâneas","2_method":"Cartões de crédito & débito",description:"Descrição",fee:"Taxa",method:"Método"},title:"Métodos de pagamento e taxas"},privacyPolicy:"Política de privacidade da MoonPay",protection:{description:"O BitBoxApp não coleta nenhum dado quando você compra {{name}}, o saldo recebido é tratado como uma transação regular. A MoonPay precisa coletar alguns dados pessoais para a operação. A Política de Privacidade da MoonPay explica detalhadamente como esses dados são tratados.",descriptionGeneric:"O BitBoxApp não coleta nenhum dado quando você compra {{name}}, os fundos recebidos são tratados como uma transação normal. No entanto, as exchanges parceiras precisam coletar algumas informações para operar. Consulte suas respectivas políticas de privacidade para ver com mais detalhes como os dados são tratados.",title:"Proteção dos dados"},security:{description:"Quando você compra {{name}} através da MoonPay, você está usando um serviço externo. Esse serviço está fora do escopo do modelo de ameaças de segurança da BitBox02 e fora do ambiente de segurança onde o aplicativo BitBoxApp está rodando.",descriptionGeneric:"Quando você compra {{name}} através de uma exchange parceira, você está usando um serviço externo. Este serviço está fora do escopo do modelo de ameaças de segurança da BitBox02 e depende da proteção e segurança do ambiente em que o software BitBoxApp está sendo executado.",link:"Modelo de ameaças de segurança",title:"Modelo de segurança"},title:"Bem-vindo a sua loja virtual pessoal para comprar {{name}}"},next:"Próximo",selectLabel:"Seleciona sua conta",selectPlaceholder:"Selecione uma moeda",skip:"Não mostre novamente",title:"Comprar {{name}}"},pocket:{data:{link:"Política de privacidade da Pocket",p1:"O BitBoxApp não coleta nenhum dado ao comprar bitcoin, os fundos recebidos são tratados como uma transação regular. A Pocket precisa coletar alguns dados pessoais para operar. Sua Política de Privacidade explica em detalhes como esses dados são tratados.",title:"Proteção de dados"},kyc:{link:"Leia as perguntas frequentes da Pocket",p1:"A Pocket tenta manter o KYC no mínimo. Para compras abaixo de 950 EUR (1000 CHF) por dia, não são necessários documentos adicionais. Para compras acima desse valor, será necessário agendar uma ligação com a Pocket para concluir o processo KYC/AML necessário.",title:"KYC/AML"},payment:{p1:"Você pode comprar bitcoin instantaneamente com a Pocket via transferência bancária SEPA. A taxa é de 1,5% e o bitcoin é depositado em sua BitBox o mais rápido possível após a Pocket receber a transferência bancária (geralmente no mesmo dia).",p2:"Observe que as taxas de câmbio da Pocket podem diferir daquelas usadas no BitBoxApp, resultando em valores ligeiramente diferentes.",title:"Métodos de pagamento e taxas"},previousTransactions:"O histórico de transações desta conta não está vazio. Compartilhar esta conta tornará todas as transações passadas e futuras visíveis para a Pocket. Continuar mesmo assim?",security:{link:"Modelo de ameaças de segurança da BitBox02",p1:"Ao comprar bitcoin via Pocket, você está usando um serviço externo. Este serviço está fora do escopo do modelo de ameaças de segurança da BitBox02 e depende da proteção e segurança do ambiente em que o software BitBoxApp está sendo executado. No entanto, trabalhamos juntos para melhorar a segurança usando um mecanismo de autenticação de dois fatores para verificar o endereço em que você está recebendo.",title:"Modelo de segurança"},usedAddress:"O endereço {{address}} já foi usado, comece novamente com um novo endereço.",verifyBitBox02:"Verifique se o endereço que você recebeu por e-mail corresponde ao exibido em sua Bitbox. Se possível, você deve abrir o e-mail em um segundo dispositivo para maior segurança.",welcome:{p1:"Fizemos parceria com a Pocket para oferecer a você uma maneira perfeita de comprar bitcoin diretamente no BitBoxApp. São apenas alguns cliques.",p2:"Pocket é uma plataforma suíça que facilita e agiliza a compra de bitcoin na maior parte da Europa (em qualquer lugar onde as transferências bancárias SEPA sejam suportadas).",p3:"Com a Pocket, você também pode fazer compras regulares por meio de ordens bancárias recorrentes, para poder fazer DCA (dollar-cost averaging) com facilidade.",title:"Bem-vindo ao seu balcão único para comprar bitcoin"}},title:"Comprar {{name}}"},u3={newTitle:"Nova senha do dispositivo",oldLabel:"Senha atual do dispositivo"},d3={dataMissing:"Buscando dados históricos... fique ligado.",dataOldTimestamp:"Atualização das taxas de câmbio históricas. O gráfico não está exibindo dados após {{time}}.",dataUpdating:"atualizando dados...",filter:{all:"Todos",month:"Mês",week:"Semana",year:"Ano"}},p3="checando cartão microSD",h3="Clique aqui.",m3={abortInfo:"Toque para ",abortInfoRedText:"abortar",approveInfo:"Segure 4 segundos ou mais para ",approveInfoGreenText:"confirmar",info:"Prossiga na sua BitBox.",infoWhenPaired:"Primeiro no celular emparelhado e depois na sua BitBox"},f3="Por favor, confirme no seu dispositivo.",g3={promptNoName:"Por favor conecte sua BitBox02 para continuar",promptWithName:'Por favor conecte sua BitBox02 chamada "{{name}}" para continuar'},v3={toggle:"Modo escuro"},b3={appUpradeRequired:"Sua BitBox não é compatível com este aplicativo. Por favor, baixe e instale a versão mais recente."},k3={button:"Ativar autorização de dois fatores (2FA)",condition1:"Você tem um backup?",condition2:"A verificação pelo aplicativo de celular está funcionando?",condition3:"2FA DESATIVA backups e emparelhamento de aplicativos móveis. O dispositivo precisa ser RESETADO para sair do 2FA!",confirm:"Ativar autorização de dois fatores (2FA)",title:"Ativar autorização de dois fatores (2FA)"},x3={backups:{manageBackups:{description:"Criar ou verificar o backup do cartão microSD."},showRecoveryWords:{description:"Mostrar e verificar palavras de recuperação."},title:"Backups"},deviceInformation:{attestation:{description:"O BitBoxApp verifica se o seu dispositivo é autêntico."},deviceName:{description:"Altere o nome do seu dispositivo."},rootFingerprint:{description:"A impressão digital raiz é um identificador exclusivo da carteira atualmente em uso. Pode ajudá-lo a distinguir entre diferentes carteiras se você usar frases secretas."},securechip:{description:"O modelo do chip seguro."},title:"Informações do dispositivo"},expert:{factoryReset:{description:"Redefina seu dispositivo para as configurações de fábrica - isso apagará a sua carteira BitBox02!",title:"Restauração de fábrica"},goToStartupSettings:{description:"Acesse o bootloader da BitBox02. Você pode habilitar o hash do firmware aqui."},passphrase:{description:"Ative ou desative o recurso de frase secreta.",title:"Frase secreta"}},firmware:{firmwareVersion:"Versão do firmware",newVersion:{label:"Versão disponível"},title:"Firmware",upToDate:"Seu dispositivo está atualizado",upgradeAvailable:"Nova atualização disponível",version:{label:"Versão"}},hardware:{attestation:{false:"Falha na verificação de autenticidade",label:"Verificação de autenticidade",true:"Sua BitBox02 é autêntica"},sdcard:{false:"Não inserido",label:"Cartão microSD",true:"Inserido"},securechip:"Chip seguro",title:"Hardware"},loading:"Recuperando informações do dispositivo...",pairing:{lock:{false:"Desativado",label:"Autorização de dois fatores (2FA)",true:"Ativado"},mobile:{false:"Fechado",label:"Aplicativo móvel",true:"Abrir"},status:{false:"Não emparelhado",label:"Status",true:"Emparelhado"},title:"Emparelhamento"},secrets:{manageBackups:"Gerenciar backups",title:"Privacidade"}},y3="Sua BitBox foi fornecida com uma senha de recuperação? Se sim, pare o processo de configuração e contate o suporte imediatamente. A Shift nunca lhe dará uma carteira pronta ou fará recomendações de senha.",w3={cancel:"Cancelar",confirm:"Confirmar",confirmTitle:"Confirmação"},j3={accountAlreadyExists:"A conta já existe.",accountLimitReached:"Não foi possível adicionar a conta. O número máximo de contas para essa moeda foi atingido.",aoppCallback:"Ocorreu um erro ao entregar o endereço para {{host}}.",aoppInvalidRequest:"Pedido inválido.",aoppNoAccounts:"Não há contas disponíveis.",aoppSigningAborted:"Solicitação de propriedade de endereço cancelada.",aoppUnknown:"Ocorreu um erro desconhecido.",aoppUnsupportedAsset:"O ativo não é compatível.",aoppUnsupportedFormat:"Não há contas disponíveis que suportem o formato de endereço solicitado.",aoppUnsupportedKeystore:"O dispositivo conectado não pode assinar mensagens para este ativo.",aoppVersion:"Versão desconhecida.",wrongKeystore:"Carteira errada conectada. Certifique-se de inserir o dispositivo correto que corresponde a esta conta.",wrongKeystore2:" Se você estiver usando a frase secreta opcional, certifique-se de ter digitado a frase secreta correta para a conta."},B3={default:"padrão",setDefault:"Definir {{code}} como padrão",title:"Moedas"},S3={appVersion:"Versão do aplicativo:"},z3={enabled_false:"Desabilitado",enabled_true:"Habilitado"},C3="Um erro ocorreu. Se você notar algum problema, por favor, reinicie o aplicativo.",D3={buttons:{create:"Criar uma nova carteira",restore:"Restaurar uma carteira de um backup"},paragraph:"Por favor, selecione uma das seguintes opções:",step:{1:{title:"Informação de segurança"},2:{description:"Definir uma senha do dispositivo",title:"Dispositivo"},"3-create":{description:"Criar uma nova carteira",title:"Carteira"},"3-restore":{description:"de um backup",title:"Restaurar"},"4-create":{title:"Resumo"},"4-restore":{title:"Resumo"}}},A3={accountDescription:{text:'A visão geral da sua conta mostra seu saldo disponível, além de transações de entrada e saída. Nosso guia em "Configurações" contém mais informações sobre cada tipo de conta. ',title:"O que esta página me mostra?"},accountFiat:{text:"Sim. Clique em qualquer código para alternar entre moedas fiduciárias. Você pode alterar a lista de moedas nas configurações.",title:"Posso exibir outras taxas de conversão?"},accountIncomingBalance:{text:"Lançamentos soma os valores transferidos para você ainda não confirmados pela rede.",title:"O que significa lançamentos?"},accountInfo:{multipleXPubs:{text:`Cada xpub é atrelado ao "Tipo" mostrado: tanto o "Segwit Nativo (bech32)" como ao "Wrapped Segwit" ou "Taproot" (somente Bitcoin). Esses são tipos de scripts usados pela {{coinName}}. O BitBoxApp combina eles, suportando múltiplos tipos de scripts na mesma conta. Por isso cada tipo de script te fornece um xpub diferente, existem vários xpubs por conta. + +Se você recebe constantemente em um tipo de endereço padrão (Segwit Nativo), você só precisa do xpub "bech32". Entretando, se você também recebe valores nos tipos "Wrapped Segwit" ou "Taproot", você precisa usar as chaves públicas estendidas do "Wrapped Segwit" e "Taproot" respectivamente.`,title:"Por que tem vários xpubs?"},privacy:{text:`Para esse tipo específio de conta, a chave pública estendida revela seu histórico financeiro completo, seu saldo em conta e todas suas transações futuras. Mas a xpub não permite que ninguém gaste suas moedas. + +Se você fornecer sua xpub à alguém, você deverá ter em mente que essa pessoa ou empresa poderá ver todas as transações antigas da sua conta. Assim achamos uma boa idéia que você use essa conta somente para esse propósito e mantenha seus fundos salvos em contas diferentes dessa.`,title:"Por que preciso manter minha xpub secreta?"},verify:{text:"Sim, é sempre uma boa idéia revisar sua xpub. Se alguma outra pessoa gerar um endereço de recebimento através da sua xpub para mandar seu dinheiro, isso é muito importante. Você precisa verificar no dispositivo para garantir que essa xpub pertence a você para que seus fundos não acabem indo para endereços errados e sejam perdidos.",title:"Preciso verificar minha xpub nesse dispositivo?"},xpub:{text:`Uma chave pública estendida (xpub) é uma chave-raiz da qual todos os endereços de recebimento de uma conta são derivados. + +Ela é fornecida aqui para uso avançado e interoperabilidade com carteiras watch-only, como Electrum ou Sentinel. Se você recebeu de diferentes tipos de endereço, importe todos os formatos diferentes de xpub em sua carteira watch-only para ver todas as suas moedas. + +Por favor, note que que carteiras de terceiros podem não suportar xpubs do tipo Taproot ainda.`,title:"O que é uma chave pública estendida?"}},accountRates:{text:"Nós atualizamos as taxas de câmbio a cada minuto no CoinGecko.",title:"Quais taxas de câmbio são aplicadas?"},accountReload:{text:"Não há necessidade. Suas informações de transação são atualizadas automaticamente.",title:"Posso recarregar o histórico de transações?"},accountSendDisabled:{text:'O botão "Enviar" é ativado quando seu saldo for maior que zero.',title:"Por que não consigo enviar {{unit}}?"},accountSummaryAmount:{text:`O montante total é a soma de de saldo de todas sua contas crypto. Taxas de troca são obtidas através da coingecko.com. + +Obs: Se você usa a MyEtherWallet para tokens ela não é suportada no BitBoxApp, por isso não será incluso no montante total mostrado.`,title:"Como o valor total é calculado?"},accountSummaryDescription:{text:"Aqui você pode ver o desempenho do seu portfólio ao longo do tempo. Um resumo de suas contas crypto individuais é exibido abaixo do gráfico.",title:"O que essa página me mostra?"},accountTransactionAttributesBTC:{text:`Tamanho virtual: determina a taxa de rede. Você economizou com sucesso em taxas se for menor que o tamanho da transação. +Tamanho: tamanho real da transação em bytes quando serializado de acordo com a blockchain subjacente. +Peso: uma nova métrica introduzida no Segwit para avaliar os tamanhos de transação e bloco. Cada segregated witness (segwit) byte conta como um, todo o resto como quatro unidades de peso. Em vez de um megabyte em tamanho real, o limite de tamanho do bloco agora é de quatro milhões de unidades de peso.`,title:"E os detalhes da transação específica do Bitcoin?"},accountTransactionAttributesGeneric:{text:`Confirmações: sua primeira transmissão de transação não é confirmada até que um minerador a inclua em um bloco, isso só acontece após uma confirmação. Cada bloco transmitido na rede adiciona outra confirmação à sua transação. Geralmente, os comerciantes e outros agentes da rede somente liquidam transações com três a seis confirmações. +ID da transação: um número de identificação exclusivo que permite procurar uma transação em um explorador de blocos. +Taxa: Os mineradores recebem uma taxa de mineração como incentivo para incluir transações nos blocos que mineram. Para saber mais, clique no botão enviar.`,title:"Quais são as informações nos detalhes da transação?"},accountTransactionConfirmation:{text:"Uma transação transmitida para a rede, mas ainda não confirmada.",title:"O que é uma transação pendente?"},accountTransactionLabel:{text:"É o endereço para o qual você recebeu ou enviou moedas.",title:"Qual endereço é exibido para cada transação?"},accountTransactionTime:{text:"O horário de confirmação da transação blockchain.",title:"Qual horário é exibido?"},accounts:{howManyAccounts:{text:"Bitcoin e Litecoin podem ter uma quantidade arbitrária de contas. Após cinco contas, você só pode adicionar outra conta se a conta anterior tiver sido usada. Outras moedas podem ter um máximo de cinco contas.",title:"Quantas contas posso criar?"},howtoAddTokens:{text:'Tokens usando o padrão ERC20 são atrelados a uma conta Ethereum específica. Para habilitar ou desabilitar um token em particular, abra a tela "Gerenciar contas", e expanda até a sua conta Ethereum e mude o token desejado para ligado ou desligado.',title:"Como posso adicionar mais tokens?"},moveFunds:{text:"Sim. Porque as contas são independentes, você deve mandar saldo usando uma transação regular.",title:"Posso mover saldo entre contas?"},recoverAccounts:{text:"Sim, O BitBoxApp cria suas contas usando o melhor padrão estabelecido compatível com a maioria das outras carteiras de crypto.",title:"Posso recuperar minhas contas com outras carteiras?"},whatAreAccounts:{text:"Sua carteira pode gerenciar contas múltiplas da mesma moeda. Várias contas são de extrema ajuda para manter seus fundos separadamente.",title:"O que são contas?"},whyIsThisUseful:{text:'Contas são ótimas para gerenciar seus fundos para pessoas ou propósitos diferentes porque são separadas. Você pode também compartilhar sua "chave pública estendida" de uma conta sem revelar nada sobre suas outras contas.Isso permite você repetidamente receber saldo sem reutilizar os seus endereços, bem como receber seu salário ou seu saldo de crypto que for comprado.',title:"Por que isso é útil?"}},appendix:{link:"Contate-nos!",text:"Outra pergunta?"},backups:{check:{text:"'Checar backup' permite verificar se você tem um backup funcionando correspondente à sua carteira atual. Também pode ser usado para verificar se você ainda tem a senha de recuperação correta. Você pode verificar sua senha de recuperação principal ou sua senha de recuperação oculta.",title:"O que é 'Checar backup'?"},encrypt:{text:"Não, mas sua senha de recuperação é necessária para derivar a carteira a partir da semente armazenada.",title:"Posso criptografar o backup?"},howOften:{text:`O backup é gerado automaticamente quando uma nova carteira é criada. Você só precisa fazer um novo backup se o seu cartão microSD for perdido ou danificado ou se desejar usar vários cartões microSD como backups. +Você não precisa criar novos backups depois das atividades de transação. Todos os seus dados de transação podem ser recriados pelo backup único que foi gerado automaticamente para você.`,title:"Com que frequência tenho que fazer um backup?"},whatIsABackup:{text:"É uma cópia da semente em um cartão microSD. A semente junto com sua senha de recuperação gera sua carteira.",title:"O que é um backup?"}},backupsBB02:{check:{text:"'Checar backup' permite verificar se você tem um backup funcionando correspondente à sua carteira atual.",title:"O que é 'Checar backup'?"},encrypt:{text:'Não. Por favor, mantenha o cartão microSD seguro, pois ele contém a semente não criptografada para recuperar sua carteira. Se você deseja proteger sua semente com senha, é possível ativar uma frase secreta opcional nas configurações de especialistas em "Gerenciar dispositivo".',title:"Posso criptografar o backup?"},whatIsABackup:{text:"É uma cópia da semente em um cartão microSD.",title:"O que é um backup?"}},bitbox:{"2FA":{text:`Quando o 2FA é ativado, todas as transações de moedas precisam ser aprovadas no celular emparelhado. Internamente, um número de uso único criptografado é enviado para o aplicativo móvel, é descriptografado e retornado à BitBox ao pressionar o botão Aceitar. Esta comunicação com o dispositivo é feita através do canal entre o telefone celular e este aplicativo de desktop estabelecido durante o emparelhamento. + +Certifique-se de fazer um backup de sua carteira e emparelhar o aplicativo móvel antes de ativar o 2FA. Uma vez ativado, o slot de cartão microSD e o emparelhamento via aplicativo móvel são desativados. Eles podem ser reativados resetando a BitBox, o que formata o dispositivo.`,title:"Como funciona a autenticação de dois fatores (2FA)?"},disable2FA:{text:`Para desabilitar o 2FA, você precisa resetar a sua BitBox e restaurar a carteira através do seu backup. Certifique-se de que você ainda tem o cartão microSD com o backup e que você ainda se lembra da senha de recuperação. Em seguida, pressione 'Resetar dispositivo'. Defina uma nova senha para o dispositivo e escolha "Ou restaurar a partir de um backup". Selecione o backup que você fez da carteira, clique em 'Restaurar' e insira a senha de recuperação que você usou ao criar a carteira.`,title:"Como posso desativar a autorização de dois fatores (2FA)?"},ejectBitbox:{text:"Você pode desconectar a BitBox a qualquer momento sem precisar ejetá-la primeiro.",title:"Como posso ejetar a BitBox?"},ejectSD:{text:"Você pode remover o cartão microSD da BitBox a qualquer momento, desde que não esteja criando ou restaurando um backup.",title:"Como posso ejetar o cartão microSD?"},hiddenWallet:{text:"É uma segunda carteira no mesmo dispositivo protegida por uma senha de dispositivo e senha de recuperação diferentes, que você pode usar para negação plausível (plausible deniability). A mesma semente do backup é usada para sua carteira normal e oculta, portanto, nenhum backup adicional é necessário.",title:"O que é uma carteira oculta?"},legacyHiddenWallet:{text:"Primeiro, clique no botão abaixo (disponível se a BitBox estiver desbloqueada com a senha principal do dispositivo e o 2FA estiver desabilitado), em seguida, reconecte sua BitBox e desbloqueie-a com a senha oculta do dispositivo.",title:"Como faço para acessar a carteira legacy oculta?"},pairing:{text:"Depois de fazer o download do nosso aplicativo para dispositivos móveis para iOS ou Android, escaneie o QR code exibido, que cria um canal seguro entre o aplicativo móvel e este aplicativo. Depois de escanear, siga as instruções no aplicativo para dispositivos móveis.",title:"Como emparelhar de forma segura com o seu telefone"}},cointracking:{text:'Clique no botão "Exportar" e abra a pasta de downloads onde você ira encontrar seu arquivo CSV exportado. Depois clique no link abaixo, faça upload do arquivo CSV BitBox e importe ele a fim de usar os dados no seu Gerenciador de rastreamento de moeda e poderá criar seus relatórios de taxa.',title:"Como importar minhas transações para a CoinTracking?"},device:{attestation:{link:{text:"Leia mais sobre a verificação de autenticidade"},text:"O BitBoxApp executa uma verificação de atestado na BitBox02 para verificar se o dispositivo é genuíno. A verificação é feita localmente e não se conecta a nenhum servidor.",title:"Como funciona a verificação de autenticidade?"},name:{text:"Este é o nome da sua carteira e backup. O nome é usado para backups futuros e pode ser usado para ajudar a distinguir entre diferentes carteiras. Ele pode ser alterado a qualquer momento, mas observe que os backups feitos antes da alteração ainda usarão o nome anterior.",title:"Para que serve o nome da BitBox02?"},"secure-chip":{link:{text:"Leia mais sobre o chip seguro"},text:"Esta informação mostra o número do modelo do chip seguro, o chip mais atualizado é o ATECC608B com recursos de segurança aprimorados em comparação com modelos mais antigos.",title:"Por que mostrar o modelo de chip seguro?"}},receive:{address:{text:"Você pode dar o endereço para que outras pessoas lhe enviem algumas moedas. Apenas certifique-se de que estão enviando para o endereço correto.",title:"O que eu faço com um endereço?"},addressChange:{text:"Assim que você realiza a transação, um novo endereço é automaticamente adicionado à lista, para que haja sempre 20 endereços disponíveis que nunca receberam moedas.",title:"Quando os endereços mudam?"},addressFormats:{text:"Por padrão, o tipo de endereço é Segwit Nativo. Esse tipo de endereço é amplamente adotado por outras carteiras/corretoras e oferece as melhores taxas para transações habituais. No entanto, você também pode optar por enviar para Taproot (somente Bitcoin), que é o tipo de endereço mais recente, mas pode não ser amplamente suportado ainda. Alternativamente, se você estiver tendo problemas para enviar para o Segwit Nativo (o tipo padrão), tente alternar para o tipo de endereço mais antigo Wrapped Segwit que pode ser compatível com mais carteiras/corretoras.",title:'Quando usar "Alterar tipo de endereço"?'},howVerify:{text:`Para a BitBox01, clique no ícone BitBox na barra lateral à esquerda e veja a seção Emparelhamento. O guia será atualizado e você poderá continuar seguindo as instruções. +Para a BitBox02, você pode verificar os endereços diretamente no dispositivo durante o processo de envio/recebimento.`,title:"Como posso verificar um endereço com segurança?"},plugout:{text:"Não, uma vez que você enviou moedas para o seu endereço BitBox, você não precisa deixar sua BitBox conectada. Você pode desconectar sua BitBox.",title:"Preciso deixar minha BitBox conectada durante o recebimento?"},why20:{text:'Durante a inicialização, o aplicativo gera endereços derivados de sua semente para ver se eles receberam fundos. Como o aplicativo pode gerar um número quase infinito de endereços, poderia levar anos determinando o saldo. Para limitar essa pesquisa, ele para depois de ver 20 endereços que nunca receberam fundos. Esse é o "gap limit" e 20 é um padrão de fato, embora o número seja arbitrário. Estes são os 20 endereços que você pode escolher.',title:"Por que apenas 20 endereços?"},whyMany:{text:"Para manter a privacidade e a segurança, nunca distribua o mesmo endereço duas vezes. Se você usou um endereço, clique na seta para a direita para obter um novo endereço. Você pode gerar até 20 endereços por vez. Pense em endereços como números de fatura. Todos os endereços são derivados de sua única semente de backup.",title:"Por que tantos endereços?"},whyVerify:{text:"Você não deve confiar no seu computador para gerar e exibir endereços autênticos. As diferentes formas que um computador convencional pode ser atacado o torna significativamente mais vulnerável do que uma carteira de hardware. Para a BitBox01, o botão para verificar o endereço envia o endereço com segurança para um telefone celular emparelhado, a partir do qual você também pode digitalizar e verificar o QR code. Para a BitBox02, o endereço pode ser verificado diretamente no visor da BitBox02.",title:"Por que devo verificar o endereço com segurança?"}},send:{change:{text:"O troco será devolvido a um endereço Taproot se você tiver pelo menos um Taproot UTXO. Se você usar o controle de moedas, o troco será devolvido a um endereço Taproot se houver pelo menos um Taproot UTXO entre os UTXOs selecionados. Em todos os outros casos, o troco é devolvido a um endereço Segwit Nativo.",title:"Como o output do troco é determinado?"},fee:{text:`A taxa é baseada no tamanho dos dados da transação e não no valor. As metas de taxas são calculadas pelo algoritmo de estimativa de taxas do Bitcoin Core para cada prioridade de rede que você escolher. Elas são mostradas se tiverem um valor diferente do objetivo abaixo. +Econômica: 24 blocos (cerca de 4 horas para Bitcoin, 1 hora para Litecoin) +Baixa: 12 blocos (cerca de 2 horas para o Bitcoin, 30 minutos para o Litecoin) +Normal: 6 blocos (cerca de 1 hora para o Bitcoin, 15 minutos para o Litecoin) +Alta: 2 blocos (cerca de 20 minutos para Bitcoin, 5 minutos para Litecoin) +(Um bloco demora, em média, dez minutos para Bitcoin (2,5 minutos para Litecoin) para ser minerado e o carregamento da rede pode variar consideravelmente nos períodos acima.)`,title:"Como a taxa é determinada?"},plugout:{text:"Não, uma vez que você tenha feito uma transação, você não precisa deixar sua BitBox conectada. Você pode desconectar sua BitBox.",title:"Preciso deixar minha BitBox conectada durante o envio?"},priority:{text:"Tipicamente, quanto maior a taxa que você está disposto a pagar, mais rapidamente sua transação é confirmada pela rede.",title:"Qual é a prioridade da rede?"},revert:{text:`Depois que uma transação é assinada e enviada (ou seja, transmitida para a rede), ela não pode mais ser revertida. Verifique as transações (incluindo a taxa) corretamente antes de assinar! +Se você conhece o destinatário e ele ou ela está disposto a enviar o mesmo valor (menos as taxas de transação) de volta para você, você pode enviar um novo endereço de recebimento.`,title:"Posso reverter uma transação?"},whyFee:{text:`As transações estão competindo para serem confirmadas por um minerador. Mineradores escolhem transações para serem incluídas na blockchain com base em sua taxa. +Os mineradores votam no histórico das transações. Como não há nenhum terceiro confiável para fazer valer um voto por pessoa (que é a ideia das blockchains), os mineradores votam em transações sacrificando um recurso caro como o poder de computação. Como recompensa por seu trabalho, eles podem reivindicar moedas recém-criadas e a taxa de todas as transações incluídas.`,title:"Por que há uma taxa de rede?"}},"settings-electrum":{connection:{text:`Se você pretente apenas conectar seu nó quando você tiver em uma rede específica (ex: seu wifi de casa), então uma comunicação padrão apenas é suficiente. +Nesse caso é aconselhado que seu servidor Electrum forneça um certificado TLS para encriptar a comunicação. +Se você prente conectar seu nó de qualquer lugar usando o protocolo Tor a melhor opção e necessária é não usar um certificado TLS para esse caso.`,title:"Devo usar clearnet TCP, TLS ou Tor?"},instructions:{link:{text:"Guia para conectar seu nó"},text:"Para um tutorial completo, por favor visite nosso guia:",title:"Como conecto meu BitBoxApp no meu prórprio nó?"},options:{text:`Existem várias opções para você rodar seu próprio nó, como comprar um dispositivo próprio, construir um ou usar a rede Bitcoin Core. +Se você deseja conectar seu BitBoxApp no seu nó, certifique-se de quele roda um servidor Electrum compatível. Trata-se de um programa dedicado que permite que seu aplicativo de carteira se comunique com seu próprio nó. +Operações suportadas incluem Electrs, Electrum Personal Server (EPS) ou Bitcoin Wallet Tracker (BTW).`,title:"Quais opções tenho para rodar um nó?"},tor:{text:`Tor significa 'The Onion Router', que é um software de código aberto e gratuito que oferece muitos benefícios de privacidade e é especialmente útil ao usar Bitcoin. +Se você pretende se conectar ao seu node através do Tor, certifique-se de que o Tor está instalado no seu computador e ative o Proxy Tor nas configurações do BitBoxApp. +Na maioria dos sistemas operacionais, existem duas maneiras de executar o Tor: +1. Navegador Tor: baixe e abra o navegador Tor. Isso permitirá que o BitBoxApp se conecte à rede Tor configurando a porta 9150 nas configurações de proxy do Tor. +2. Serviço Tor em segundo plano: instale o daemon Tor, que sempre é executado em segundo plano. O BitBoxApp pode então se conectar definindo a porta 9050 nas configurações de proxy do Tor.`,title:"O que é Tor, proxy Tor e qual porta devo usar?"},what:{text:"É possível alimentar sua carteira com seus próprios full nodes em vez de usar os servidores Shift.",title:"O que é isso?"},why:{text:`Executar seu próprio node não é necessário, mas melhora a privacidade e reduz a necessidade de confiar nos outros. +Em primeiro lugar, significa que você está usando o Bitcoin de forma mais privada, pois o BitBoxApp não se conecta aos nossos servidores para buscar seu histórico de transações; em vez disso, ele buscará essas informações em seu próprio node. +Em segundo lugar, executar seu próprio node significa que ele verifica todas as transações por si mesmo, garantindo que as regras de consenso sejam aplicadas.`,title:"Por que devo executar meu próprio node?"}},settings:{sats:{text:"Um Satoshi ('sat' para abreviar) é a menor unidade de Bitcoin. Um Satoshi é um centésimo milionésimo de um bitcoin (0,00000001 BTC). É o nome do criador do Bitcoin, Satoshi Nakamoto.",title:"O que é um Satoshi?"},servers:{text:`Este aplicativo se comunica com os servidores Shift Crypto para verificar atualizações, carregar transações e enviar informações para aplicativos móveis emparelhados. +O aplicativo também busca as taxas de câmbio mais recentes do CoinGecko. Todas as conversões são calculadas localmente, o que significa que nenhum dado sobre o valor da sua transação é transmitido. +Nota: Para Ethereum e ERC20 Tokens, nós usamos APIs do Etherscan.io.`,title:"Com quais servidores este aplicativo se comunica?"}},title:"Guia",toggle:{close:"Fechar guia",open:"Guia"},trackingModePortfolioChart:{text:"No desktop passe o cursor sobre o gráfico. No celular, segure o dedo no gráfico e arraste horizontalmente.",title:"Como ver os valores históricos no gráfico?"},unlock:{forgotDevicePassword:{text:"Você precisa resetar o dispositivo e restaurar a carteira a partir de um backup, usando a senha de recuperação.",title:"O que faço se eu esquecer a senha do dispositivo?"},reset:{text:"Digite uma senha do dispositivo errada 15 vezes. As últimas tentativas exigem um toque longo no dispositivo.",title:"Como faço para resetar o dispositivo?"}},waiting:{deviceNotRecognized:{text:`O dispositivo deve piscar uma vez quando inserido. Certifique-se de que está inserido de maneira correta. Se você está tendo problemas, por favor, entre em contato conosco através do link abaixo. + +A BitBox01 não é suportada em dispositivos móveis. Por favor, use o BitBoxApp no Desktop para conectar sua BitBox01.`,title:"Minha BitBox01 não é reconhecida"},getDevice:{link:{text:"Encomendar uma BitBox"},text:"Você pode comprar uma BitBox em nossa loja online:",title:"Como posso obter um dispositivo?"},internet:{text:"Sim, uma conexão com a internet é necessária para sincronizar a carteira, enviar transações e buscar as taxas de câmbio mais recentes.",title:"Este aplicativo requer uma conexão com a internet?"},lostDevice:{link:{text:"Centro de backup"},text:"Você pode recuperar suas contas em uma nova BitBox ou com o nosso centro de backup.",title:"Eu perdi meu dispositivo. E agora?"},useWithoutDevice:{text:"Infelizmente, isso ainda não é possível no momento.",title:"Posso usar o aplicativo sem um dispositivo?"},welcome:{text:"Obrigado por usar este aplicativo criado pela Shift Crypto na Suíça. Agradecemos qualquer contribuição que você tenha para compartilhar. Por favor, dê feedback usando o link na parte inferior.",title:"Bem-vindo ao BitBoxApp!"}},walletConnect:{noPreviousConnections:{text:"Se você estiver usando um novo telefone/computador com o BitBoxApp, precisará se conectar aos DApps novamente. Você verá suas moedas no dapp novamente, como de costume.",title:"Não vejo minhas conexões anteriores."},supportedNetworks:{text:"Atualmente, apenas a rede principal Ethereum é suportada usando WalletConnect no BitBoxApp. Para usar outras cadeias compatíveis com a EVM, use a carteira de extensão do navegador Rabby.",title:"Quais redes são suportadas?"},whatIsWalletConnect:{text:"WalletConnect é um protocolo de comunicação para aplicativos web3. Ele permite que você se conecte convenientemente a DApps baseados em Ethereum e carteiras web sem usar um aplicativo de terceiros, o que é particularmente útil para usuários Android do BitBoxApp.",title:"O que é WalletConnect?"}}},_3={blocksSynced:"{{blocks}} blocos sincronizados"},T3={info1HTML:"Para fins de negação plausível (plausible deniability), uma carteira oculta pode ser criada com base em uma combinação de senha de recuperação e uma senha de dispositivo diferente.",info2HTML:"Defina a senha do dispositivo e a senha de recuperação que você deseja associar à sua carteira oculta abaixo. A senha do dispositivo e a senha de recuperação devem ser diferentes das que você definiu para sua carteira principal.",passwordLabel:"Senha de recuperação oculta",passwordPlaceholder:"Por favor, confirme a senha de recuperação oculta",pinLabel:"Senha oculta do dispositivo",pinRepeatLabel:"Repita a senha oculta do dispositivo",pinRepeatPlaceholder:"Por favor, confirme a senha oculta do dispositivo",success:"Carteira oculta criada com sucesso. Reconecte a sua BitBox para desbloqueá-la."},E3={create:"Definir senha do dispositivo",creating:"Configurando senha do dispositivo...",error:{e102:"A senha do dispositivo precisa conter pelo menos 4 caracteres."},info:{description1:"Escolha a senha do seu dispositivo. Ela será usada para desbloquear a sua BitBox.",description2:"Você pode usar números, letras & símbolos. Senhas maiores oferecem mais segurança.",description3:"Se você perder a senha do dispositivo, precisará resetá-lo e restaurar o backup da carteira.",subtitle:"Agora você vai definir a senha do seu dispositivo",title:"Inicializando seu dispositivo"},input:{label:"Senha do dispositivo",labelRepeat:"Repita a senha do dispositivo",placeholderRepeat:"Por favor, confirme a senha do dispositivo"}},P3="Formato Inválido",N3={title:"Selecione o idioma"},L3={disable:"Desativar carteira legacy oculta",enable:"Ativar carteira legacy oculta",successDisable:"Carteira legacy oculta desativada com sucesso.",successEnable:"Carteira legacy oculta ativada com sucesso. Reconecte sua BitBox e digite a senha oculta do dispositivo para acessar a carteira legacy oculta."},I3="carregando…",$3={accountHidden:"Esta conta foi ocultada das suas contas watch-only. Para vê-la novamente, conecte sua BitBox02.",editAccount:"Editar",editAccountNameTitle:"Editar nome da conta",noAccounts:"nenhuma conta encontrada",settings:{hideTokens:"Esconder tokens",showTokens:"Exibir tokens ({{activeTokenCount}})"},settingsButtonDescription:"Adicionar e exibir/mostrar contas",title:"Gerenciar contas",watchAccount:"Observar conta",watchAccountDescription:"Esta conta faz parte das suas contas watch-only. Você pode ocultá-la de suas contas watch-only usando o botão de alternância."},M3={usingMobileDataWarning:"Uso de dados móveis: esse aplicativo baixa centenas de megabytes de dados de cabeçalho de blockhain depois de desbloquear sua conta. Por favor conecte no Wi-Fi para evitar de usar dados móveis desnecessários. Depois de descartar isso, essa mensagem não aparecerá novamente."},O3={about:{appVersion:{title:"Versão do aplicativo"}},advancedSettings:{authentication:{description:"Bloqueie o acesso ao aplicativo com bloqueio de tela/impressão digital.",title:"Bloqueio de tela"},coinControl:{description:"Selecione quais UTXOs fazem parte de uma transação para ajudar a melhorar a privacidade."},customFees:{description:"Permite inserir sua própria taxa ao enviar."},torProxy:{description:"Conecte-se via Tor para melhor privacidade."}},appearance:{activeCurrencies:{description:"Essas moedas adicionais podem ser alternadas na página da sua conta.",title:"Moedas ativas"},darkmode:{description:"Veja o BitBoxApp no modo escuro."},defaultCurrency:{description:"Selecione sua moeda padrão",title:"Moeda padrão"},hideAmounts:{description:"Exibe um botão para ocultar seu saldo e valores para melhorar sua privacidade ao usar o aplicativo em público.",hideAmounts:"Ocultar valores",showAmounts:"Mostrar valores",title:"Permitir ocultar valores"},language:{description:"Qual idioma você deseja que o BitBoxApp use.",title:"Idioma"},toggleSats:{description:"Ativar ou desativar Satoshis."}}},R3={input:{description:"(opcional)",placeholder:"Adicionar nota..."},title:"Nota"},F3={newTxs_one:"Nova transação em: {{accountName}}",newTxs_other:"{{count}} novas transações em: {{accountName}}"},V3={aborted:{text:"O emparelhamento foi cancelado no aplicativo para dispositivos móveis.",title:"Abortado"},button:"Emparelhar aplicativo móvel",confirm:"Tem certeza de que deseja emparelhar sua BitBox? Observe que, depois disso, o celular será necessário para realizar uma transação.",connectOnly:{button:"Conectar aplicativo móvel",title:"Escaneie com nosso aplicativo móvel selecionando o item 'Conectar ao novo aplicativo de desktop' do menu"},error:{text:"Algo deu errado. Por favor comece de novo.",title:"Erro"},pullFailed:{text:"Falha ao obter mensagem de seu dispositivo móvel através do servidor. O servidor pode estar offline, por favor entre em contato com o suporte.",title:"Falha ao obter"},reconnectOnly:{button:"Reconectar aplicativo móvel"},scanningFailed:{text:"Telefone não foi capaz de scanear a mensagem com sucesso. Por favor tente novamente.",title:"Falha ao scanear."},start:{hideAppQRCode:"Ocultar QR code",revealAppQRCode:"Mostrar QR code",step1:"Se você não tiver o aplicativo para dispositivos móveis, você pode escanear o QR code da Apple App Store ou da Google Play Store, dependendo de qual celular você possui.",step2:'Escaneie com nosso aplicativo para celular, que você pode encontrar sob o nome "Digital Bitbox 2FA" nas lojas de aplicativos para iOS e Android:'},started:{text:"Agora, por favor, siga as instruções no aplicativo móvel.",title:"Ótimo"},success:{text:"Parabéns, você pareou com sucesso sua BitBox com o aplicativo móvel!",title:"Sucesso"},timeout:{text:"O emparelhamento expirou após dois minutos. Comece novamente se você ainda deseja emparelhar o aplicativo para dispositivos móveis.",title:"Tempo esgotado"},title:"Emparelhamento por celular"},W3={considerations:{button:"Considerações sobre backup",message:`A frase secreta adiciona uma camada de proteção ao backup da sua carteira (cartão microSD ou palavras de recuperação). Se alguém tiver acesso ao seu backup, também precisará da frase secreta para acessar sua carteira. + +No entanto, isso significa que você precisará tanto da frase secreta + backup da carteira para restaurar sua carteira habilitada para frase secreta, caso sua BitBox02 seja perdida ou danificada. Se você esquecer ou perder sua frase secreta, perderá o acesso a todas as moedas dessa carteira. + +Ao armazenar sua frase secreta, considere colocá-la em um local separado do backup. Dessa forma, se alguém encontrar seu backup, eles também não encontrarão sua frase secreta.`,title:"Considerações sobre backup"},disable:"Desabilitar frase secreta",disableInfo:{button:"Desabilitar",message:`Depois de desabilitar a frase secreta, você não será mais solicitado a inserir uma frase secreta após desbloquear sua BitBox02. Portanto, você entrará em sua carteira padrão. + +Quaisquer moedas em sua carteira gerada com a frase secreta ainda estarão nessa carteira, mas você não poderá acessá-las porque depois de desbloquear sua BitBox02, você abrirá sua carteira padrão. + +Para acessar suas carteiras geradas com frases secretas novamente, basta reativar o recurso de frase secreta e inserir a frase secreta relevante após desbloquear a BitBox02. + +Dica: você ainda pode acessar sua carteira original deixando a frase secreta vazia.`},enable:"Habilitar frase secreta",error:{e104:"A alteração da configuração da frase secreta foi abortada."},how:{button:"Como funciona",message:`Uma frase secreta não funciona como uma senha com a qual você está acostumado. Se você digitar incorretamente sua frase secreta, você não será notificado. Isso ocorre porque cada frase secreta cria uma carteira diferente, porém válida. Isso significa que você pode usar várias frases secretas para quantas carteiras quiser. Mas cada carteira só pode ser acessada ao digitar a frase secreta correspondente. + +Ao conectar sua BitBox02, você será solicitado a inserir a senha do dispositivo como de costume. Depois disso, você será solicitado a inserir uma frase secreta no dispositivo. + +Depois de inserir a frase secreta, você verá a frase secreta digitada. Isso é para que você possa confirmar que digitou corretamente.`,title:"Como funciona"},intro:{message:`Uma frase secreta fornece uma camada adicional de segurança em sua carteira. +Vamos aprender como funciona.`,title:"Configurar frase secreta"},progressDisable:{message:"Confirme em sua BitBox que você deseja desabilitar a frase secreta opcional.",title:"Confirmar no dispositivo"},progressEnable:{message:"Confirme em sua BitBox que você deseja ativar a frase secreta opcional.",title:"Confirmar no dispositivo"},successDisabled:{message:`Frase secreta opcional ativada com sucesso! +Você será solicitado a fornecer uma frase secreta a partir de agora.`,messageEnd:"Por favor, reconecte a BitBox02 agora.",title:"Frase secreta ativada"},successEnabled:{message:`Frase secreta opcional desativada com sucesso! + +Você não será mais solicitado a fornecer uma frase secreta.`,messageEnd:"Por favor, reconecte sua BitBox02 agora.",tips:"Dicas",tipsList:["Sugerimos enviar primeiro uma pequena quantia para a carteira gerada pela frase secreta. Em seguida, desconecte e reconecte a BitBox02 e digite sua senha e frase secreta. Se você digitou a frase secreta corretamente, deverá ver as moedas em sua carteira.","Se você deseja acessar sua carteira original sem uma frase secreta, você ainda pode fazer isso não digitando nada quando solicitado a inserir a frase secreta. Ou você pode desativar o recurso de frase secreta."],title:"Frase secreta desativada"},summary:{button:"Ativar frase secreta",title:"Resumo",understand:"Eu entendo como a frase secreta funciona e os riscos associados a ela.",understandList:["A frase secreta é uma camada adicional de segurança em seu backup.","A inserção de uma frase secreta diferente sempre gerará uma carteira diferente.","Para restaurar sua carteira, você precisa da frase secreta e do backup.","Se você esquecer sua frase secreta, você não poderá mais acessar suas moedas."]},what:{button:"Saiba como isso funciona",message:`Uma carteira é criada (derivada) a partir de um número aleatório muito grande, também conhecido como semente. Essa semente é criada quando você configura sua BitBox02 pela primeira vez e é feito backup com o cartão microSD ou palavras de recuperação. Qualquer pessoa que tenha acesso à semente tem controle total sobre os fundos dessa carteira. + +Uma frase secreta é um segredo opcional, adicionado à semente. Ao usar uma frase secreta, cada frase secreta cria uma nova carteira com base na semente + frase secreta (segredo opcional). Uma frase secreta pode ser qualquer coisa: letras, palavras, caracteres especiais ou pode até ser vazia. A carteira padrão é de fato derivada da semente + frase secreta vazia. + +A frase secreta é parte do padrão BIP39, o que significa que é compatível com todas as carteiras que suportam o mesmo padrão.`,title:"O que é uma frase secreta?"},why:{button:"Por que usar uma frase secreta",message:`A BitBox02 protege a semente contra extração do próprio dispositivo, mas o backup (cartão microSD ou palavras de recuperação) dá acesso total à carteira. É por isso que deve ser armazenado em um local seguro! + +Como uma frase secreta cria uma nova carteira usando sua semente existente, a carteira da frase secreta requer tanto seu backup quanto sua frase secreta para restaurar. O benefício disso é que, se alguém encontrar seu backup, ainda precisará da frase secreta para acessar a carteira. + +Além disso, o recurso de frase secreta permite que você crie várias carteiras no mesmo dispositivo ou “carteiras ocultas” além da padrão.`,title:"Por que usar uma frase secreta?"}},U3={show:"Mostrar {{label}}",warning:{caps:"ATENÇÃO: o caps lock (⇪) está ativado",paste:'para colar o texto, ative "MOSTRAR {{label}}"'}},q3={button:"Gerar número aleatório",description:"Sua BitBox gerou o seguinte número aleatório de {{bits}} bits:"},H3={changeScriptType:"Alterar tipo de endereço",label:"Seu endereço",onlyThisCoin:{description:"Para receber outros tokens, ative-os nas configurações. Se você depositar outros tokens, eles podem não ser acessíveis.",warning:"Certifique-se de receber apenas {{coinName}} neste endereço."},scriptType:{p2tr:"Taproot (formato mais recente)",p2wpkh:"Segwit Nativo (padrão)","p2wpkh-p2sh":"Wrapped Segwit (formato compatível)"},selectAccount:"Selecione a conta",showFull:"Mostrar e verificar endereço completo no dispositivo",taprootWarning:"Nota: Taproot é um novo recurso do Bitcoin e ainda não é amplamente adotado. Os valores recebidos em endereços Taproot podem não ser visíveis em carteiras watch-only de terceiros. Muitas carteiras e corretoras ainda não podem enviar para endereços Taproot.",title:"Receber {{accountName}}",verify:"Verificar endereço com segurança",verifyBitBox01:"Verifique o endereço no aplicativo móvel",verifyBitBox02:"Verifique o endereço na BitBox02",verifyInstruction:"Por favor, verifique se o endereço a seguir corresponde ao exibido no seu dispositivo.",warning:{secureOutput:"Por favor, emparelhe sua BitBox com seu dispositivo móvel para ativar a verificação segura de endereço. Vá para 'Gerenciar dispositivo' na barra lateral."}},K3={description:"Todos os dados serão excluídos deste dispositivo. Isso inclui sua chave privada!",notReset:"Dispositivo NÃO redefinido.",title:"Restaurar configurações de fábrica",understand:"Eu tenho um backup e sei minha senha de recuperação",understandBB02:"Eu tenho um backup válido"},G3={create:{description1:"Recomendamos que você configure seu dispositivo em um ambiente seguro, ou seja, você estará longe de outras pessoas que possam ver a senha que você escolher.",description2:"Você será solicitado a criar duas senhas.",description3:"A primeira é a senha do dispositivo que desbloqueia o seu dispositivo BitBox e pode ser alterada mais tarde.",description4:"A segunda é a senha de recuperação que desbloqueia sua carteira. Esta senha não pode ser alterada mais tarde.",description5:"A carteira que você criar será copiada para um arquivo no cartão microSD fornecido. Ele pode ser usado em caso de emergência para recuperar seus fundos usando a sua senha de recuperação.",title:"Informação de segurança"},restore:{description1:"Você será solicitado a inserir o cartão microSD usado para armazenar seu backup.",description2:"Para restaurar o seu dispositivo, você precisará da sua senha de recuperação.",description3:"Por favor, tenha cuidado ao digitar a senha de recuperação. Qualquer senha que você inserir criará uma carteira válida. Se você digitar a senha errada, poderá ser mostrado um saldo da carteira que você não espera.",title:"Informação de segurança"}},Q3={agreements:{"funds-access":"Eu NÃO poderei acessar meus fundos se esquecer minha senha de recuperação","password-change":"Eu NÃO posso mudar a senha de recuperação mais tarde","password-required":"A senha de recuperação é necessária para restaurar uma carteira de um backup"},create:"Criar carteira",creating:"Criando carteira",description:"Eu entendo que:",error:{e102:"A senha deve conter pelo menos 4 caracteres.",e200:"Você precisa inserir um cartão microSD na sua BitBox para criar uma carteira, para que um backup possa ser criado automaticamente."},info:{button:"Definir senha de recuperação agora",description1:"Insira o cartão microSD na BitBox",description2:'Escolha uma senha de recuperação para a carteira e selecione "Definir senha de recuperação agora"',description3:"O backup para o cartão microSD e sua senha de recuperação é o único método para recuperar seus fundos em caso de perda ou roubo de um dispositivo BitBox.",description4:"Você não pode alterar sua senha de recuperação posteriormente sem transferir seus fundos.",title:"Criar uma nova carteira"},password:{label:"Senha de recuperação",repeatPlaceholder:"Repita a senha de recuperação"},walletName:{label:"Nome da carteira"}},Y3={error:{e200:"Restaurar uma carteira a partir de um backup requer o cartão microSD."},info:{description1:'Insira o cartão microSD na BitBox e clique em "Continuar"',description2:'Escolha um backup e clique em "Restaurar"',description3:"Digite a senha de recuperação",description4:"Você precisa confirmar que entende que uma senha incorreta criará uma carteira diferente.",title:"Como restaurar uma carteira a partir de um backup"}},Z3={abort:"A transação foi abortada.",address:{label:"Endereço do destinatário",placeholder:"Insira o endereço"},amount:{label:"Montante",placeholder:"Insira o valor"},availableBalance:"Saldo disponível",button:"Revisar",coincontrol:{address:"Endereço",outpoint:"Outpoint",title:"Enviar da saída"},confirm:{"selected-coins":"Moedas selecionadas",title:"Confirmar e enviar transação",total:"Total"},error:{erc20InsufficientGasFunds:"Parece que você não tem Ether suficiente para pagar por esta transação ERC20. Certifique-se de ter Ether suficiente em sua carteira",feeTooLow:"taxa muito baixa",feesNotAvailable:"Não foi possível estimar as taxas",insufficientFunds:"saldo insuficiente",invalidAddress:"endereço inválido",invalidAmount:"montante inválido",invalidData:"dados inválidos"},fee:{customPlaceholder:"Insira o valor",label:"Taxa de rede",placeholder:"Não disponível"},feeTarget:{customLabel:"Taxa",customLabel_eth:"Preço do gás",description:{economy:"4 horas (24 blocos)",economy_eth:"30 minutos ou menos",economy_ltc:"1 hora (24 blocos)",high:"20 minutos (2 blocos)",high_eth:"30 segundos ou menos",high_ltc:"5 minutos (2 blocos)",low:"2 horas (12 blocos)",low_eth:"5 minutos ou menos",low_ltc:"30 minutos (12 blocos)",normal:"1 hora (6 blocos)",normal_eth:"2 minutos ou menos",normal_ltc:"15 minutos (6 blocos)"},estimate:"Tempo estimado de confirmação:",label:{custom:"Customizar",economy:"Econômica",high:"Alta",low:"Baixa",normal:"Normal"},placeholder:"Calculando a taxa ..."},maximum:"Enviar tudo",maximumSelectedCoins:"Enviar moedas selecionadas",noFeeTargets:"As estimativas de taxa de transação estão indisponíveis no momento. Por favor, tente novamente mais tarde ou insira uma taxa personalizada.",priority:"Prioridade",scanQR:"Escanear QR code",signprogress:{description:"Esta é uma transação que contém muitos dados. Para assinar completamente a transação, você será solicitado a confirmar {{steps}} vezes.",label:"Progresso"},success:"A transação foi assinada e enviada.",title:"Enviar {{accountName}}",toggleCoinControl:"Alternar controle de moedas",transactionDetails:"Detalhes da transação"},J3={about:"Sobre",accounts:"Contas",advancedSettings:"Configurações avançadas",appearance:"Aparência",electrum:{add:"Adicionar um servidor","add-server":"Adicionar",check:"Checar",checkFailed:"Falhou",checkSuccess:"Conexão com {{host}} estabelecida com sucesso.",checking:"Checando","download-cert":"Baixar certificado remoto","remove-server":"Remover",removeConfirm:"Remover {{server}}?",reset:"Redefinir para o padrão",resetConfirm:"Você deseja remover todos os servidores e instalar os servidores padrão?",servers:"Servidores",step1:"1","step1-text":"Digite o endpoint.",step2:"2","step2-text":"Digite um certificado da cadeia de certificados do servidor. Alternativamente, baixe o certificado remoto e compare-o visualmente.","step2-text-tcp":"Você pode pular essa estapa se não quiser usar TLS.",step3:"3","step3-text":"Checar a conexão e adicionar o servidor.",step4:"4","step4-text":"Reinicie a carteira. Se você não remover os servidores padrão, seu próprio node será adicionado como uma redundância.","title-btc":"Servidores Bitcoin Electrum","title-ltc":"Servidores Litecoin Electrum","title-tbtc":"Servidores Bitcoin Testnet Electrum","title-tltc":"Servidores Litecoin Testnet Electrum"},expert:{coinControl:"Ativar controle de moedas",electrum:{description:"Você pode se conectar ao seu próprio nó completo Electrum.",title:"Conectar seu próprio full node"},fee:"Habilitar taxas personalizadas",setProxyAddress:"Configurar endereço de proxy",title:"Configurações para especialistas",useProxy:"Ativar proxy Tor",useSats:"Exibir valores BTC em Satoshis"},header:{home:"Início"},info:{"out-of-date":"Nova atualização disponível",title:"Informações","up-to-date":"Seu aplicativo está atualizado",version:"Versão do aplicativo"},restart:"Por favor, reinicie o BitBoxApp para que as alterações façam efeito.",services:{title:"Serviços"},success:"Por favor, retire e reconecte a BitBox para que as mudanças façam efeito.",title:"Configurações"},X3="Configurar dispositivo",eF={buy:"Comprar crypto",device:"Gerenciar dispositivo",leave:"Sair",settings:"Configurações"},tF={create:{info1:"Sua carteira foi armazenada com segurança no cartão microSD. Remova-o e mantenha-o seguro.",info2:"Você criou uma senha de dispositivo segura que desbloqueia a BitBox.",info3:"Você criou uma senha de recuperação segura para sua carteira que desbloqueia seu saldo e restaura seus backups.",summary:"Aqui está um resumo do que você fez",title:"Sucesso"},getstarted:"Começar",restore:{summary:"Você restaurou uma carteira a partir do seu backup com sucesso.",title:"Sucesso"}},nF={confirmation:"Confirmações",details:{activity:"Movimentação",address:"Endereço",amount:"Valor",date:"Data",fiat:"Fiduciária",fiatAmount:"Valor fiduciário",fiatAtTime:"Fiat no momento da transação",status:"Status",type:"Tipo"},explorer:"ID da transação",explorerTitle:"Abrir no explorador de blocos externo",fee:"Taxa",fiatHistorical:"Histórico",gas:"Gas",note:{edit:"Editar nó",save:"Salvar nó"},pending:"Transação pendente",size:"Tamanho",status:{complete:"Completa",failed:"Falhou",pending:"Pendente"},tx:{received:"Recebido para",sent:"Enviado para"},vsize:"Tamanho virtual",weight:"Peso"},aF={errorLoadTransactions:"Ocorreu um erro ao carregar as transações",placeholder:"Nenhuma transação ainda."},iF="Ocorreu um erro desconhecido: {{errorMessage}}",oF={description:"Digite a senha do dispositivo para desbloqueá-lo.",error:{e109_normal:"Senha do dispositivo errada. {{remainingAttempts}} tentativas restantes antes que o dispositivo seja resetado.",e109_touch:"$t(unlock.error.e109_normal) O próximo login requer que segure o botão touch.",e113:"Devido a muitas tentativas de login, o próximo login requer que o botão touch seja pressionado por 4 segundos."},input:{label:"Senha do dispositivo",placeholder:"Digite a senha do dispositivo para desbloqueá-lo"},unlocking:"Desbloqueando..."},rF={button:"Atualizar firmware",description:"Deseja atualizar o firmware da versão {{currentVersion}} para {{newVersion}}?",label:"Sua BitBox requer uma atualização de firmware.",locked:"Para atualizar da versão {{currentVersion}} para a {{newVersion}}, por favor, realize um longo toque.",title:"Atualizar firmware",unlocked:"O bootloader está desbloqueado. Para continuar, por favor:",unlocked1:"Desconecte e reconecte sua Bitbox",unlocked2:"O LED acenderá quando a sua BitBox for conectada novamente",unlocked3:"Toque no botão touch quando o LED acender"},sF={connect:{button:"Conectar",dappLabel:"Insira o endereço URI do dapp",invalidPairingUri:"Uri de emparelhamento inválido"},dashboard:{allSessions:"Todas as sessões",disclaimer:"Walletconnect é um protocolo para conectar-se a Dapps baseados em Ethereum. Esses dapps são executados por serviços de terceiros, portanto, conecte-se apenas a dapps em que você confia e sempre saiba o que está assinando ao fazer uma transação.",newConnection:"Nova conexão",noConnectedSessions:"Nenhuma conta está atualmente conectada a nenhum dapps."},invalidPairingChain:"Erro ao aprovar o emparelhamento. Certifique-se de usar uma das cadeias suportadas: {{chains}}",pairingRequest:{approve:"Aprovar conexão",reject:"Rejeitar",title:"Nova solicitação de conexão de"},pairingSuccess:"Dapp conectado com sucesso. Você pode continuar no site dapp.",signingRequest:{account:"Conta",chain:"Cadeia",dapp:"Dapp",data:"Dados",dataParsingError:"Falha ao analisar os dados",decodeError:"Falha ao decodificar a mensagem",method:{sendTransaction:"Assinar e enviar transação",signMessage:"Assinar mensagem",signTransaction:"Assinar transação",signTypedData:"Assinar dados digitados"},successfullySigned:"Solicitação assinada com sucesso",walletConnectRequest:"Solicitação WalletConnect"},useNewUri:"Este URI já foi usado para tentar uma conexão. Use um novo URI.",walletConnect:"WalletConnect"},lF={receivePairing:"Por favor, emparelhe a BitBox para ativar a verificação segura de endereço. Vá para 'Gerenciar dispositivo' na barra lateral.",sdcard:"Mantenha o cartão microSD guardado separado da BitBox, a menos que você queira gerenciar os backups.",sendPairing:'Por favor, emparelhe a BitBox para verificar com segurança os detalhes da transação. Vá para "Gerenciar dispositivo" na barra lateral.'},cF={connect:"Conecte a BitBox02",getStarted:"Vamos começar instalando o firmware na sua BitBox02.",insertBitBox02:"Para a BitBox02, por favor, toque no dispositivo para continuar.",insertDevice:"Por favor, conecte seu dispositivo para iniciar",title:"Bem-vindo"},uF={account:KR,accountInfo:GR,accountSummary:QR,addAccount:YR,aopp:ZR,app:JR,auth:XR,backup:e3,bb02Bootloader:t3,bitbox:n3,bitbox02Interact:a3,bitbox02Settings:i3,bitbox02Wizard:o3,blink:r3,bootloader:s3,button:l3,buy:c3,changePin:u3,chart:d3,checkSDcard:p3,clickHere:h3,confirm:m3,confirmOnDevice:f3,connectKeystore:g3,darkmode:v3,device:b3,deviceLock:k3,deviceSettings:x3,deviceTampered:y3,dialog:w3,error:j3,fiat:B3,footer:S3,generic:z3,genericError:C3,goal:D3,guide:A3,headerssync:_3,hiddenWallet:T3,initialize:E3,invalidFormat:P3,language:N3,legacyhiddenwallet:L3,loading:I3,manageAccounts:$3,mobile:M3,newSettings:O3,note:R3,notification:F3,pairing:V3,passphrase:W3,password:U3,random:q3,receive:H3,reset:K3,securityInformation:G3,seed:Q3,seedRestore:Y3,send:Z3,settings:J3,setup:X3,sidebar:eF,success:tF,transaction:nF,transactions:aF,unknownError:iF,unlock:oF,upgradeFirmware:rF,walletConnect:sF,warning:lF,welcome:cF},dF={disconnect:"संपर्क टूट गया। फिरसे प्रयास कर रहे हे...",exportTransactions:"ट्रांसेक्शन्स को डाउनलोड फ़ोल्डर में CSV फाइल के रूप में निर्यात करें।",fatalError:"एक अनपेक्षित भूल थी।",incoming:"आ रहे है",initializing:"ब्लॉकचेन से जानकारी प्राप्त कर रहे हैं ...",reconnecting:"कनेक्शन खो दिया, फिर से कनेक्ट करने का प्रयास कर रहा है ..."},pF={address:"एड्रेस",extendedPublicKey:"विस्तारित पब्लिक की",label:"खाता जानकारी",title:"अकाउंट की जानकारी",verify:"डिवाइस पर सत्यापित करें"},hF={balance:"बेलेंस",exportSummary:"अकाउंट सारांश को डाउनलोड फ़ोल्डर में CSV फाइल के स्वरूप में एक्सपोर्ट करे",fiatBalance:"फिएट बैलेंस",name:"अकाउंट का नाम",noAccount:"दिखाने के लिए कोई अकाउंट नहीं हैं।",title:"एकाउंट्स सारांश",total:"टोटल"},mF={title:"अकाउंट जोड़ो"},fF={upgrade:"इस एप्लिकेशन का एक नया संस्करण उपलब्ध है! कृपया {{current}} से {{version}} अपग्रेड करें ।"},gF={check:{checking:"बैकअप जाँच रहा है ...",confirmTitle:"बैकअप की जाँच करें",notOK:"बैकअप वॉलेट से मेल नहीं खाता है।",ok:"बैकअप वॉलेट से मेल खाता है।",password:{label:"रिकवरी पासवर्ड",placeholder:"रिकवरी पासवर्ड",showLabel:"रिकवरी पासवर्ड"},success:"सफलतापूर्वक सत्यापित बैकअप:",title:"बैकअप की जाँच करें"},create:{alreadyExists:"आपके पास पहले से ही एक वैध बैकअप है। क्या आप इसे फिर से बनाना चाहते हैं?",fail:"बैकअप बनाना असफल हुआ",info:"कृपया सत्यापन के लिए वर्तमान वॉलेट का रिकवरी पासवर्ड दर्ज करें।",name:{label:"बैकअप का नाम",placeholder:"कृपया बैकअप को नाम दे"},password:{label:"रिकवरी पासवर्ड",placeholder:"कृपया अपना रिकवरी पासवर्ड दर्ज करें"},title:"बैकअप बनाए",verificationFailed:"रिकवरी पासवर्ड वर्तमान वॉलेट से नहीं मिलता है। बैकअप बनाया गया है। कृपया अपने रिकवरी पासवर्ड को फिर से सत्यापित करने के लिए 'चेक बैकअप' का उपयोग करें।"},description:"वॉलेट बैकअप फ़ाइल को चुने",insert:"कृपया बैकअप को मैनेज करने लिए माइक्रो एसडी कार्ड डालें।",insertButton:"मैंने माइक्रो एसडी कार्ड डाला है",list:"आपके माइक्रोएसडी कार्ड बैकअप",noBackups:"इस माइक्रो एसडी कार्ड पर कोई बैकअप नहीं है।",restore:{confirmTitle:"बैकअप पुनर्स्थापित करे",error:{e200:"एसडी कार्ड नहीं मिला"},password:{label:"रिकवरी पासवर्ड या हिडन रिकवरी पासवर्ड",placeholder:"रिकवरी पासवर्ड",repeatPlaceholder:"रिकवरी पासवर्ड दोहराएँ",showLabel:"रिकवरी पासवर्ड"},restoring:"बैकअप पुनर्स्थापित कर रहा है ...",title:"पुनर्स्थापित करें",understand:"मैं समझता हूं कि एक गलत रिकवरी पासवर्ड एक अलग वॉलेट बनाएगा"},showMnemonic:{description:`आपको 24 शब्द दिखाए जाएँगे, जो आपके वॉलेट का बैकअप बनाते हैं। उन्हें कागज पर लिख लें। + +उन्हें डिजिटल रूप से संग्रहीत न करें या इसकी तस्वीरें न लें। + +शब्दों को ज़ोर से मत बोलो। + +यह बैकअप पासवर्ड से सुरक्षित नहीं है। + +बाद में, आपको प्रत्येक शब्द की पुष्टि करने के लिए कहा जाएगा।`,title:"नेमोनिक सीड दिखाओ"},title:"बैकअप मैनेज करें"},vF={abort:"अपग्रेड न करें - मुझे वापस ले जाएं",advanced:{label:"एडवांस सेटिंग",toggleShowFirmwareHash:"स्टार्टअप पर हर बार फ़र्मवेयर hash दिखाएं"},flipscreen:"फ्लिप स्क्रीन",orientation:"डिवाइस गलत तरीके से उन्मुख है?",success:"अपग्रेड सफल हुआ! {{rebootSeconds}} सेकंड में में जारी है..."},bF={error:{e10000:"वर्तमान डिवाइस पासवर्ड गलत है।",e10001:"डिवाइस पासवर्ड बदलने में विफल",e102:"पासवर्ड में कम से कम 4 अक्षर होने चाहिए।",e112:"हिडन डिवाइस पासवर्ड मुख्य डिवाइस पासवर्ड के समान नहीं हो सकता है।"}},kF={followInstructions:"कृपया अपने BitBox02 पर दिए गए निर्देशों का पालन करें।"},xF={deviceName:{current:"वर्तमान डिवाइस का नाम",input:"BitBox02 का नाम",title:"BitBox02 का नाम सेट करें"}},yF={attestationFailed:"उपकरण सत्यापन विफल हो गया, जो ऐप को पुनरारंभ करने के कारण हो सकता है जबकि डिवाइस उपयोगकर्ता इनपुट की प्रतीक्षा कर रहा था। कृपया पुन: कनेक्ट करें और पुनः प्रयास करें।",backup:{point1:"माइक्रोएसडी कार्ड पर बैकअप का चयन करें",point2:"अपने डिवाइस के लिए एक पासवर्ड सेट करें",restoreText:"ठीक है, चलो बैकअप पुनर्स्थापित करें!",text1:"बढ़िया, अब आपका BitBox02 पासवर्ड सेट और वॉलेट बनाया गया है। अब आपका पहला बैकअप बनाने का समय आ गया है। कृपया सुनिश्चित करें कि आपका माइक्रोएसडी कार्ड आपके BitBox02 में डाला गया है और जारी है।",text2:"बैकअप बनाने के लिए कृपया अपने डिवाइस पर ऑन-स्क्रीन निर्देश का पालन करें।",text3:"आपका बैकअप बन जाने के बाद, कृपया माइक्रोएसडी कार्ड निकालें और इसे सुरक्षित स्थान में स्टोर करें । माइक्रोएसडी कार्ड की सामग्री पासवर्ड से सुरक्षित नहीं है। इसे कभी BitBox02 के अलावा किसी अन्य डिवाइस में न डालें।",userConfirmation1:"मुझे अपना बैकअप सुरक्षित स्थान पर संग्रहीत करना चाहिए।",userConfirmation2:"मेरा बैकअप पासवर्ड प्रोटेक्टेड नहीं है। इससे कोई भी व्यक्ति मेरे वॉलेट तक पहुंच सकता है।",userConfirmation3:"यदि मैं अपना BitBox02 खो देता हूं या नुकसान पहुंचाता हूं, तो अपने फंड को पुनर्प्राप्त करने का एकमात्र तरीका मेरे बैकअप से पुनर्स्थापित करना है।",userConfirmation4:"अगर मैं अपना बैकअप और मेरा BitBox02 दोनों खो देता हूं या नुकसान होता है तो मेरे फंड हमेशा के लिए खो जाएंगे।"},create:{button:"डिवाइस को नाम दे और जरी रखे",info:"अपना BitBox सेटअप करने के लिए यहाँ पे बेसिक स्टेप्स हे जिसका आप पालन करेंगे",inputTitle:"वॉलेट का नाम",point1:"अपने डिवाइस को नाम दे",point2:"अपने डिवाइस के लिए एक पासवर्ड सेट करें",point3:"एक बैकअप बनाएं",text:"ठीक है, चलो एक नया वॉलेट बनाएँ!"},initialize:{passwordText:"अब आप अपने डिवाइस के लिए एक पासवर्ड सेट करें। पासवर्ड दर्ज करने और चुनने के लिए अपने BitBox पर नियंत्रण का उपयोग करें।",passwordTitle:"अपने BitBox के लिए एक पासवर्ड सेट करें",text:"सफलतापूर्वक अपने BitBox02 को जोड़ा! अब अपने डिवाइस को इनिशियलाइज़ करते हैं। एक नया वॉलेट बनाने से, या एक मौजूदा बैकअप से एक वॉलेट को पुनर्स्थापित करने से शुरुआत करते है। कृपया सुनिश्चित करें कि आपने BitBox02 में एक माइक्रोएसडी कार्ड डाला है",tip:"यह सुनिश्चित करें कि आप सुरक्षित वातावरण में आगे बढ़ें।",title:"अपने BitBox को इनिशियलाइज़ करें"},insertSDCard:"कृपया सुनिश्चित करें कि आपके पास अपने BitBox02 में एक माइक्रोएसडी कार्ड डाला गया है।",pairing:{failed:"अपुष्ट युग्मन। कृपया अपना BitBox02 फिरसे प्लग करें।",paired:"आपने अपने डिवाइस पर पुष्टि की है कि कोड मेल खाता है। यदि यह सही है, तो आप नीचे दिए गए बटन पर क्लिक करके जारी रख सकते हैं।",title:"pairing कोड सत्यापित करें",unpaired:"एक नया BitBox02 पता चला है। कृपया सत्यापित करें कि निम्न कोड आपके डिवाइस पर दिखाया गया है। यदि कोड मेल खाता है, तो अपने BitBox02 पर चेक मार्क के नीचे टच करें और फिर जारी रखने के लिए नीचे दिए गए बटन पर क्लिक करें।"},restoreFromMnemonic:{failed:"नेमोनिक सीड से बहाल करना विफल रहा, कृपया पुनः प्रयास करें।"},stepBackup:{beforeProceed:"आगे बढ़ने से पहले, कृपया इन महत्वपूर्ण सुरक्षा विचारों को पढ़ें:",createBackup:"अब आप अपने माइक्रोएसडी कार्ड पर एक बैकअप बनाएंगे।"},stepBackupSuccess:{fundsSafe:"अपने धन को सुरक्षित रखने के लिए, कृपया निम्नलिखित को याद रखें:",title:"बैकअप पुनः स्थापित किया!"},stepConnected:{unlock:"अनलॉक करने के लिए BitBox02 पासवर्ड डाले।"},stepCreate:{nameLabel:"BitBox02 नाम",namePlaceholder:"मेरा BitBox02",title:"BitBox02 का नाम चुनें",toastMicroSD:"कृपया सुनिश्चित करें कि आपका माइक्रोएसडी कार्ड आपके BitBox02 में डाला गया है।"},stepCreateSuccess:{removeMicroSD:"कृपया अपने BitBox02 से माइक्रोएसडी कार्ड निकालें और इसे सुरक्षित स्थान पर संग्रहीत करें।",success:"आपने सफलतापूर्वक अपना बैकअप बना लिया है।"},stepPassword:{title:"BitBox02 का पासवर्ड सेट करें",useControls:"पासवर्ड सेट करने के लिए अपने BitBox02 के नियंत्रण का उपयोग करें।"},stepUninitialized:{create:"मैं एक नया BitBox02 सेटअप करना चाहता हूं।",restore:"मैं अपने वॉलेट को एक बैकअप से पुनर्स्थापित करना चाहता हूं।",restoreMicroSD:"माइक्रोएसडी कार्ड से पुनर्स्थापित करें",restoreMnemonic:"mnemonic से पुनर्स्थापित करें",title:"अपना BitBox02 सेटअप करें"},success:{text:`हुर्रे! आपका BitBox02 अब उपयोग करने के लिए तैयार है। + +BitBoxApp का उपयोग कैसे करें के बारे में अधिक जानकारी के लिए, शीर्ष दाएं कोने पर प्रश्न चिह्न पर क्लिक करके इन-ऐप गाइड का उपयोग करें।`,title:"आप आगे जाने के लिए तैयार हैं!"}},wF={button:"झपकी"},jF={button:"अब फर्मवेयर अपग्रेड करें",progress:"अपग्रेड हो रहा है: {{progress}}%",success:"अपग्रेड सफल हुआ! कृपया डिवाइस को फिर से डाले। इस बार, बटन को स्पर्श न करें।"},BF={abort:"बीच में ही नष्ट करने के लिए",back:"वापस जाएँ",changepin:"डिवाइस पासवर्ड बदलें",check:"बैकअप की जाँच करें",continue:"Continue",copy:"कॉपी करें",create:"सर्जन करे",download:"डाउनलोड",hiddenwallet:"हिडन वॉलेट बनाएं",next:"आगे",ok:"ठीक",previous:"पिछला",receive:"प्राप्त करें",restore:"पुनर्स्थापित करें",select:"Select",send:"भेजें",unlock:"अनलॉक",update:"Update",upgrade:"अपग्रेड"},SF={newTitle:"नया डिवाइस पासवर्ड",oldLabel:"वर्तमान डिवाइस पासवर्ड"},zF="माइक्रो एसडी कार्ड की जाँच हो रही है",CF="यहां क्लिक करे।",DF={abortInfo:"टेप करे ",abortInfoRedText:"बीच में ही नष्ट करे",approveInfo:"4+ सेकंड के लिए होल्ड करें",approveInfoGreenText:" पुष्टि करने के लिए",info:"अपने BitBox पर",infoWhenPaired:"पहले आपका पेर किया हुआ मोबाइल और फिर आपका BitBox"},AF="कृपया अपने डिवाइस पर पुष्टि करें।",_F={appUpradeRequired:"आपका BitBox इस डेस्कटॉप एप्लिकेशन के अनुकूल नहीं है। कृपया नवीनतम वर्जन डाउनलोड और इंस्टॉल करें।"},TF={button:"Two Factor Authorization (2FA) सक्षम करे",condition1:"क्या आपके पास बैकअप है?",condition2:"क्या मोबाइल ऐप वेरिफिकेशन कार्य कर रहा है?",condition3:"2FA बैकअप और मोबाइल ऐप पेयरिंग को बेकार बनाता है। डिवाइस को 2FA से बाहर निकलने के लिए RESET होना चाहिए!",confirm:"Two Factor Authorization (2FA) सक्षम करे",title:"Two Factor Authorization (2FA) सक्षम करे"},EF={firmware:{newVersion:{label:"उपलब्ध वर्जन"},title:"फर्मवेयर",upToDate:"आपका डिवाइस अप टू डेट है",version:{label:"वर्जन"}},hardware:{sdcard:{false:"डाला नहीं गया",label:"माइक्रो एसडी कार्ड",true:"डाला गया"},title:"हार्डवेयर"},loading:"उपकरण जानकारी पुनर्प्राप्त कर रहा है…",pairing:{lock:{false:"डिसेबल है",label:"Two Factor Authorization (2FA)",true:"सक्रिय है"},mobile:{false:"बन्द है",label:"मोबाइल एप्लिकेशन",true:"खोलो"},status:{false:"जोड़ा नहीं",label:"स्थिति",true:"जुड़ गया"},title:"पेअर करो"},secrets:{manageBackups:"बैकअप मैनेज करें",title:"सीक्रेट"}},PF="क्या आपका BitBox एक रिकवरी पासवर्ड के साथ आया गई है? यदि हां, तो सेटअप प्रक्रिया बंद करें और तुरंत support से संपर्क करें। Shift आपको कभी भी तैयार किए गए वॉलेट या पासवर्ड की सिफारिशें नहीं देगा।",NF={cancel:"रद्द करे",confirm:"पुष्टि करें"},LF={default:"डिफ़ॉल्ट",setDefault:"set {{code}} as default",title:"मुद्राओं"},IF={appVersion:"एप्लिकेशन वर्जन:"},$F="एक एरर पाई गई। यदि आपको कोई समस्या दिखाई देती है, तो कृपया एप्लिकेशन को पुनः आरंभ करें।",MF={buttons:{create:"एक नया वॉलेट बनाएँ",restore:"बैकअप से वॉलेट को पुनर्स्थापित करें"},paragraph:"कृपया निम्न में से किसी एक विकल्प को चुनें:",step:{1:{title:"सुरक्षा जानकारी"},2:{description:"डिवाइस पासवर्ड सेट करें",title:"डिवाइस"},"3-create":{description:"एक नया वॉलेट बनाएँ",title:"वॉलेट"},"3-restore":{description:"बैकअप से",title:"पुनर्स्थापित करें"},"4-create":{title:"सारांश"},"4-restore":{title:"सारांश"}}},OF={accountDescription:{text:"आपका खाता अवलोकन आपके उपलब्ध संतुलन के साथ-साथ आने वाले और बाहर जाने वाले लेनदेन को दर्शाता है। 'सेटिंग्स’ में हमारे गाइड में प्रत्येक खाता प्रकार के बारे में अधिक जानकारी है। ",title:"यह पेज मुझे क्या दिखाता है?"},accountFiat:{text:"हाँ। फिएट मुद्राओं के माध्यम से घूमने के लिए किसी भी टिकर पर क्लिक करें। आप सेटिंग्स में मुद्राओं की सूची को बदल सकते हैं।",title:"क्या मैं अन्य रूपांतरण दरें प्रदर्शित कर सकता हूं?"},accountIncomingBalance:{text:"आने वाली रकम आपके द्वारा हस्तांतरित की गई राशि के बराबर है लेकिन अभी तक नेटवर्क द्वारा पुष्टि नहीं की गई है।",title:"incoming का क्या मतलब है?"},accountInfo:{xpub:{text:`एक विस्तारित पुब्लिक की एक रूट की है जिसमें से कोई अकाउंट के सारे रिसीव एड्रेस बनाये जाते हे। +यह यहां केवल-वॉलेट्स जैसे कि इलेक्ट्रम या सेंटिनल के साथ उन्नत उपयोग और इंटरऑपरेबिलिटी के लिए प्रदान किया जाता है।`,title:"एक विस्तारित पुब्लिक की क्या है?"}},accountRates:{text:`हम CoinGecko से हर मिनट विनिमय दर अपडेट करते हैं। +`,title:"कौन सी विनिमय दरें लागू होती हैं?"},accountReload:{text:"कोई जरूरत नहीं है। आपकी लेन-देन की जानकारी अपने आप अपडेट हो जाती है।",title:"क्या मैं लेनदेन इतिहास पुनः लोड कर सकता हूं?"},accountSendDisabled:{text:"आपका शेष शून्य से अधिक होने पर 'Send' बटन सक्रिय हो जाता है।",title:"मैं कोई {{unit}} क्यों नहीं भेज सकता ?"},accountTransactionAttributesBTC:{text:`वर्चुअल साइज: नेटवर्क शुल्क निर्धारित करने के लिए उपयोग किया जाता है। यदि ट्रांजेक्शन के साइज से छोटा है तो आपने फीस पर सफलतापूर्वक बचत की है। +साइज: ब्लॉकचैन के अनुसार क्रमबद्ध होने पर बाइट्स में वास्तविक लेनदेन का साइज। +वेइट: Segwit के साथ पेश किया गया, यह ट्रांजेक्शन और ब्लॉक आकारों का मूल्यांकन करने के लिए एक नया मीट्रिक है। प्रत्येक segregated witness बाइट की गिनती एक के रूप में होती है, बाकी सब चार वेट यूनिट के रूप में। वास्तविक आकार में एक मेगाबाइट के बजाय, ब्लॉक आकार की सीमा अब चार मिलियन वेट यूनिट है।`,title:"बिटकॉइन-विशिष्ट लेनदेन के विवरण के बारे में क्या?"},accountTransactionAttributesGeneric:{text:`पुष्टि(Confirmations): आपका पहला लेन-देन प्रसारण अपुष्ट है जब तक कि एक miner इसे एक ब्लॉक में शामिल नहीं करता है, जिसके बाद इसकी एक पुष्टि होती है। नेटवर्क पर प्रसारित प्रत्येक ब्लॉक आपके लेनदेन में एक और पुष्टि जोड़ता है। आम तौर पर व्यापारी केवल तीन से छह पुष्टियों के बीच लेनदेन का निपटान करेंगे। +लेनदेन आईडी(Transaction ID): एक विशिष्ट पहचान संख्या जो आपको ब्लॉक एक्सप्लोरर में लेनदेन देखने की अनुमति देती है। +शुल्क(Fee): ब्लॉक में लेनदेन को शामिल करने के लिए एक प्रोत्साहन के रूप में खनिकों को लेनदेन शुल्क का भुगतान किया जाता है। अधिक जानने के लिए, भेजें बटन पर क्लिक करें।`,title:"ट्रांजेक्शन के विवरण में दर्शाई गई जानकारी क्या है?"},accountTransactionConfirmation:{text:"यह एक ट्रांजेक्शन है जिसे नेटवर्क पर प्रसारित किया गया है और पुष्टि होने की प्रतीक्षा कर रहा है।",title:"पेंडिंग ट्रांजेक्शन क्या है?"},accountTransactionLabel:{text:"यह वह एड्रेस है जहां आपने कोइन्स प्राप्त किए थे या कोइन्स को भेजा था।",title:"प्रत्येक लेनदेन के लिए कौन सा पता प्रदर्शित होता है?"},accountTransactionTime:{text:"ब्लॉकचेन लेनदेन पुष्टि समय।",title:"क्या समय प्रदर्शित किया जाता है?"},appendix:{link:"हमसे संपर्क करें!",text:"एक और सवाल?"},backups:{check:{text:"'चेक बैकअप' आपको यह सत्यापित करने की अनुमति देता है कि आपके पास अपने वर्तमान बटुए के अनुरूप काम करने वाला बैकअप है। यह सत्यापित करने के लिए भी उपयोग किया जा सकता है कि आपके पास अभी भी सही पुनर्प्राप्ति पासवर्ड है। आप अपने मुख्य रिकवरी पासवर्ड या अपने छिपे हुए रिकवरी पासवर्ड की जांच कर सकते हैं।",title:"'चेक बैकअप’ क्या है?"},encrypt:{text:"नहीं, लेकिन आपके संग्रहीत सीड से वॉलेट को पाने के लिए रिकवरी पासवर्ड जरुरी है लेकिन आपके रिकवरी पासवर्ड को संग्रहीत बीज से वॉलेट प्राप्त करना आवश्यक है।",title:"क्या मैं बैकअप एन्क्रिप्ट कर सकता हूं?"},howOften:{text:`नया वॉलेट बनाए जाने पर बैकअप अपने आप जेनरेट हो जाता है। यदि आपका माइक्रोएसडी कार्ड खो जाता है या क्षतिग्रस्त हो जाता है, या यदि आप कई माइक्रोएसडी कार्ड बैकअप के रूप में उपयोग करना चाहते हैं, तो आपको केवल एक नया बैकअप बनाना होगा। +लेन-देन गतिविधि के बाद आपको नए बैकअप बनाने की आवश्यकता नहीं है। आपके सभी लेनदेन डेटा को आपके एकल बैकअप द्वारा पुनः बनाया जा सकता है जो आपके लिए स्वचालित रूप से उत्पन्न हुआ था।`,title:"मुझे कितनी बार बैकअप लेना है?"},whatIsABackup:{text:"यह माइक्रोएसडी कार्ड पर सीड की एक प्रति है। आपके पुनर्प्राप्ति पासवर्ड के साथ सीड आपके बटुए को उत्पन्न करता है।",title:"बैकअप क्या है?"}},backupsBB02:{check:{text:"'चेक बैकअप' आपको यह सत्यापित करने की अनुमति देता है कि आपके पास अपने वर्तमान बटुए के अनुरूप काम करने वाला बैकअप है।",title:"'चेक बैकअप ’क्या है?"},encrypt:{text:'नहीं, कृपया माइक्रोएसडी कार्ड को सुरक्षित रखें, क्योंकि इसमें आपके बटुए को पुनर्प्राप्त करने के लिए अनएन्क्रिप्टेड बीज होता है। यदि आप अपने बीज को पासवर्ड से सुरक्षित करना चाहते हैं, तो आप "मैनेज डिवाइस" के तहत विशेषज्ञ सेटिंग्स में एक वैकल्पिक पासफ़्रेज़ सक्षम कर सकते हैं।',title:"क्या मैं बैकअप एन्क्रिप्ट कर सकता हूं?"},whatIsABackup:{text:"यह माइक्रो एसडी कार्ड पर सीड की एक नकल है।",title:"बैकअप क्या है?"}},bitbox:{"2FA":{text:`जब 2FA सक्षम होता है, तो कोइन्स को खर्च करने के लिए जोड़े गए मोबाइल फोन पर सभी ट्रांजेक्शन को मंजूरी देनी होती है। थोड़े शब्दों में, एक एन्क्रिप्टेड एकल-उपयोग नंबर मोबाइल ऐप पर भेजा जाता है, वहां डिक्रिप्ट किया जाता है, और स्वीकार बटन दबाते ही BitBox में वापस आ जाता है। डिवाइस के साथ यह संचार मोबाइल फोन और डेस्कटॉप ऐप के बीच पेयरिंग के दौरान स्थापित चैनल के माध्यम से किया जाता है। +2FA सक्षम करने से पहले अपने वॉलेट का बैकअप लें और मोबाइल ऐप को पेयर करें। एक बार सक्षम होने के बाद, माइक्रो एसडी स्लॉट और मोबाइल ऐप पेयरिंग अक्षम हो जाती है। वे BitBox को रीसेट करके फिर से सक्षम हो सकते हैं, जो डिवाइस को मिटा देता है।`,title:"Two Factor Authorization (2FA) कैसे काम करता है?"},disable2FA:{text:"2FA को निष्क्रिय करने के लिए, आपको अपना BitBox रीसेट करना होगा और फिर इसके बैकअप से वॉलेट को पुनर्स्थापित करना होगा। सुनिश्चित करें कि आपके पास अभी भी बैकअप के साथ माइक्रो एसडी कार्ड है और आपको अभी भी रिकवरी पासवर्ड याद है। फिर 'रीसेट डिवाइस' दबाएं। एक नया डिवाइस पासवर्ड सेट करें और 'बैकअप पुनर्स्थापित करें' चुनें। वॉलेट से आपके द्वारा बनाया गया बैकअप चुनें, 'रिस्टोर' पर क्लिक करें और वॉलेट बनाते समय आपके द्वारा उपयोग किए गए रिकवरी पासवर्ड को दर्ज करें।",title:"मैं Two Factor Authorization (2FA) को कैसे निष्क्रिय कर सकता हूं?"},ejectBitbox:{text:"बिना BitBox को हटाए आप किसी भी समय BitBox को अनप्लग कर सकते हैं।",title:"मैं BitBox कैसे निकाल सकता हूं?"},ejectSD:{text:"जब तक आप बैकअप बनाने या पुनर्स्थापित करने की प्रक्रिया में नहीं हैं, तब तक आप किसी भी समय बिटबॉक्स से माइक्रोएसडी कार्ड निकाल सकते हैं।",title:"मैं माइक्रो एसडी कार्ड कैसे निकाल सकता हूं?"},hiddenWallet:{text:"यह एक अलग डिवाइस पासवर्ड और रिकवरी पासवर्ड द्वारा संरक्षित एक ही डिवाइस पर एक दूसरा वॉलेट है, जिसका उपयोग आप संभावित इनकार (plausible deniability) के लिए कर सकते हैं। एक ही बैकअप बीज का उपयोग आपके सामान्य और हिडन वॉलेट दोनों के लिए किया जाता है, इसलिए अतिरिक्त बैकअप की आवश्यकता नहीं है।",title:"हिडन वॉलेट क्या है?"},legacyHiddenWallet:{text:"पहले नीचे दिए गए बटन पर क्लिक करें (उपलब्ध यदि BitBox मुख्य डिवाइस पासवर्ड के साथ अनलॉक किया गया है और 2FA अक्षम है), तो अपने BitBox को फिर से प्लेग क्रे और इसे अपने छिपे हुए डिवाइस पासवर्ड से अनलॉक करें।",title:"मैं लिगेसी हिडन वॉलेट का उपयोग कैसे करूं?"},pairing:{text:"iOS या Android के लिए हमारे मोबाइल ऐप को डाउनलोड करने के बाद, आप प्रदर्शित QR कोड को स्कैन करते हैं, जो मोबाइल ऐप और इस एप्लिकेशन के बीच एक सुरक्षित चैनल सेट करता है। एक बार स्कैन करने के बाद, मोबाइल ऐप में दिए गए निर्देशों का पालन करें।",title:"कैसे सुरक्षित रूप से अपने फोन के साथ जोड़े"}},receive:{address:{text:"आप सिक्के भेजने के लिए दूसरों को पता दे सकते हैं। बस सुनिश्चित करें कि आप सही पते पर भेज रहे हैं।",title:"मैं एड्रेस के साथ क्या करूँ?"},addressChange:{text:"जैसे ही आप लेन-देन करते हैं, सूची में एक नया पता अपने आप जुड़ जाता है इसलिए हमेशा 20 पते उपलब्ध होते हैं जिन्हें कभी कोई सिक्का नहीं मिला।",title:"एड्रेसिस कब बदलते हैं?"},howVerify:{text:`BitBox01 के लिए, बाईं ओर साइडबार में BitBox आइकन पर क्लिक करें और युग्मन अनुभाग देखें। गाइड अपडेट होगा और आप वहां से निर्देशों का पालन करना जारी रख सकते हैं। +BitBox02 के लिए, आप भेजने / प्राप्त करने की प्रक्रिया के दौरान सीधे डिवाइस पर पते सत्यापित कर सकते हैं।`,title:"मैं किसी एड्रेस को सुरक्षित रूप से कैसे सत्यापित कर सकता हूं?"},why20:{text:'स्टार्ट-अप के दौरान ऐप आपके सीड से प्राप्त पते को यह देखने के लिए उत्पन्न करता है कि क्या उन्हें धन प्राप्त हुआ है।चूंकि एप्लिकेशन लगभग अनंत संख्या में पते उत्पन्न कर सकता है, इसलिए यह शेष राशि निर्धारित करने में वर्षों का समय लगा सकता है। इस खोज को सीमित करने के लिए यह 20 पते देखने के बाद बंद हो जाता है जिन्हें कभी धन नहीं मिला है। यह "गैप सीमा" है और 20 एक वास्तविक मानक है, हालांकि संख्या मनमानी है। ये वे 20 पते हैं जिनसे आप चुन सकते हैं।',title:"केवल 20 पते ही क्यों?"},whyMany:{text:"गोपनीयता और सुरक्षा बनाए रखने के लिए, एक ही पते पर दो बार प्रयोग न करें। यदि आपने एक पते का उपयोग किया है, तो एक नए पते के लिए दाहिने तीर पर क्लिक करें। आप एक बार में 20 पते तक उत्पन्न कर सकते हैं।सभी पते आपके एकल बैकअप बीज से प्राप्त होते हैं।",title:"कई एड्रेसिस क्यों हैं?"},whyVerify:{text:` +प्रामाणिक पते बनाने और प्रदर्शित करने के लिए आपको अपने कंप्यूटर पर भरोसा नहीं करना चाहिए। यह एक बड़ी हमले की सतह हार्डवेयर वॉलेट की तुलना में इसे काफी कमजोर बनाता है। BitBox01 के लिए, पते को सत्यापित करने का बटन सुरक्षित रूप से एक युग्मित मोबाइल फोन पर पते को भेजता है, जिससे आप QR कोड को स्कैन और सत्यापित भी कर सकते हैं। BitBox02 के लिए, पते को सीधे BitBox02 डिस्प्ले पर सत्यापित किया जा सकता है।`,title:"मुझे एड्रेस सुरक्षित रूप से क्यों सत्यापित करना चाहिए?"}},send:{fee:{text:`शुल्क ट्रांजेक्शन डेटा के साइज पर आधारित है, न कि इसकी राशि पर। शुल्क लक्ष्य की गणना आपके द्वारा चुनी गई प्रत्येक नेटवर्क प्राथमिकता के लिए Bitcoin Core के शुल्क आकलन एल्गोरिथ्म द्वारा की जाती है। यदि वे नीचे दिए गए लक्ष्य से भिन्न हैं, तो उन्हें दिखाया जाता है। +इकोनॉमी: 24 ब्लॉक (Bitcoin के लिए लगभग 4 घंटे, Litecoin के लिए 1 घंटे) +कम: 12 ब्लॉक (Bitcoin के लिए लगभग 2 घंटे, Litecoin के लिए 30 मिनट) +सामान्य: 6 ब्लॉक (Bitcoin के लिए लगभग 1 घंटे, Litecoin के लिए 15 मिनट) +उच्च: 2 ब्लॉक (Bitcoin के लिए लगभग 20 मिनट, Litecoin के लिए 5 मिनट) +(Bitcoin के लिए औसत दस मिनट (लिटकोइन में 2.5 मिनट) में एक ब्लॉक में होता है और उपरोक्त अवधि में नेटवर्क लोड काफी भिन्न हो सकता है।)`,title:"शुल्क कैसे निर्धारित किया जाता है?"},priority:{text:"जितना ज्यादा शुल्क आप भुगतान करने के लिए तैयार हैं, उतनी जल्दी आपके ट्रांजेक्शन की नेटवर्क द्वारा आम तौर पर पुष्टि की जाती है।",title:"नेटवर्क प्राथमिकता क्या है?"},revert:{text:`ट्रांजेक्शन पर हस्ताक्षर करने और भेजने (यानी नेटवर्क पर प्रसारित) के बाद, इसे वापस नहीं किया जा सकता है। हस्ताक्षर करने से पहले लेनदेन (शुल्क सहित) को ठीक से सत्यापित करें! +यदि आप प्राप्तकर्ता को जानते हैं और वह या वह आपको वही राशि (लेनदेन शुल्क घटाकर) भेजने को तैयार है, तो आप उन्हें एक नया प्राप्त करने वाला एड्रेस भेज सकते हैं।`,title:"क्या मैं ट्रांजेक्शन वापस कर सकता हूं?"},whyFee:{text:`ट्रांजेक्शन माइनर द्वारा पुष्टि किए जाने की होड़ में होते है। माइनर्स अपनी फीस के आधार पर ब्लॉकचैन में शामिल किए जाने वाले ट्रांजेक्शन का चयन करते हैं। +ट्रांजेक्शन के इतिहास पर माइनर्स वोट करते हैं। चूंकि प्रति व्यक्ति एक वोट (जो कि ब्लॉकचेन का पूरा बिंदु है) को लागू करने के लिए कोई विश्वसनीय तीसरा पक्ष नहीं है, माइनर कंप्यूटिंग शक्ति जैसे महंगे संसाधन का त्याग करके लेनदेन पर वोट देते हैं। अपने काम के लिए एक इनाम के रूप में, वे नए बनाए गए कोइन्स और उनके द्वारा शामिल सभी ट्रांजेक्शन के शुल्क का दावा कर सकते हैं।`,title:"नेटवर्क शुल्क क्यों है?"}},"settings-electrum":{what:{text:"शिफ्ट सर्वर का उपयोग करने के बजाय अपने स्वयं के पूर्ण नोड के साथ अपने वॉलेट को चलाना संभव है।",title:"यह क्या है?"}},settings:{servers:{text:`यह ऐप अपडेट, चेक लेन-देन के लिए शिफ़्ट क्रिप्टोकरेंसी सर्वर के साथ संचार करता है, और युग्मित मोबाइल ऐप पर जानकारी भेजता है। +ऐप क्रिप्टोकरंसीप के नवीनतम विनिमय दरों को भी पुनः प्राप्त करता है। सभी रूपांतरणों की गणना स्थानीय रूप से की जाती है जिसका अर्थ है कि आपके लेन-देन की मात्रा के बारे में कोई डेटा कभी प्रसारित नहीं होता है। +नोट: एथेरियम और ईआरसी 20 टोकन के लिए, हम एथरस्कैनियो एपीआई का उपयोग करते हैं।`,title:"यह ऐप किन सर्वरों से बात करता है?"}},title:"मार्गदर्शक",toggle:{close:"गाइड बंद करें",open:"गाइड"},unlock:{forgotDevicePassword:{text:"आपको रिकवरी पासवर्ड का उपयोग करके डिवाइस को रीसेट करना होगा और वॉलेट को बैकअप से पुनर्स्थापित करना होगा।",title:"यदि मैं डिवाइस पासवर्ड भूल गया हूं तो मैं क्या करूं?"},reset:{text:"15 बार एक गलत डिवाइस पासवर्ड डालें। अंतिम कुछ प्रयासों के लिए डिवाइस पर एक लंबे स्पर्श की आवश्यकता होती है।",title:"मैं डिवाइस को कैसे रीसेट करूं?"}},waiting:{deviceNotRecognized:{text:"एक बार डालने पर डिवाइस को ब्लिंक करना चाहिए। सुनिश्चित करें कि यह सही तरीके से डाला गया है। यदि आपको परेशानी हो रही है, तो कृपया नीचे दिए गए लिंक के माध्यम से हमसे संपर्क करें।",title:"मेरा BitBox01 पहचान नहीं रहा है"},getDevice:{link:{text:"BitBox ऑर्डर करें"},text:"आप हमारी ऑनलाइन दुकान में BitBox खरीद सकते हैं:",title:"मैं BitBox डिवाइस कैसे प्राप्त कर सकता हूं?"},internet:{text:"हां, वॉलेट को सिंक्रनाइज़ करने, ट्रांजेक्शन भेजने और नवीनतम विनिमय दरों को पुनः प्राप्त करने के लिए इंटरनेट कनेक्शन की आवश्यकता होती है।",title:"क्या इस ऐप के लिए इंटरनेट कनेक्शन की आवश्यकता है?"},lostDevice:{link:{text:"बैकअप सेंटर"},text:"आप एक नए BitBox पर या हमारे बैकअप सेंटर के साथ अपने अकाउंट को पुनर्प्राप्त कर सकते हैं।",title:"मैंने अपना डिवाइस खो दिया। अब क्या?"},useWithoutDevice:{text:"दुर्भाग्य से, यह फिलहाल संभव नहीं है।",title:"क्या मैं डिवाइस के बिना ऐप का उपयोग कर सकता हूं?"},welcome:{text:"स्विट्जरलैंड में Shift Crypto द्वारा निर्मित इस ऐप का उपयोग करने के लिए धन्यवाद। हम आपके द्वारा साझा किए गए किसी भी इनपुट की सराहना करते हैं। कृपया नीचे दिए गए लिंक का उपयोग करके प्रतिक्रिया दें।",title:"BitBox ऐप में आपका स्वागत है!"}}},RF={blocksSynced:"{{blocks}} ब्लॉक सिंक किए गए"},FF={info1HTML:"संभावित अस्वीकार (plausible deniability) के लिए, विभिन्न डिवाइस पासवर्ड + रिकवरी पासवर्ड संयोजन के आधार पर एक हिडन वॉलेट बनाया जा सकता है ।",info2HTML:"डिवाइस पासवर्ड और रिकवरी पासवर्ड को परिभाषित करें जिसे आप अपने छिपे हुए वॉलेट के साथ जोड़ना चाहते हैं। जिन्हें आपने अपने प्राथमिक वॉलेट के लिए परिभाषित किया है उनसे डिवाइस पासवर्ड और रिकवरी पासवर्ड विभिन्न होना चाहिए ",passwordLabel:"हिडन रिकवरी पासवर्ड",passwordPlaceholder:"कृपया हिडन रिकवरी पासवर्ड की पुष्टि करें",pinLabel:"हिडन डिवाइस पासवर्ड",pinRepeatLabel:"हिडन डिवाइस पासवर्ड को दोहराएं",pinRepeatPlaceholder:"कृपया हिडन डिवाइस पासवर्ड की पुष्टि करें",success:"हिडन वॉलेट सफलतापूर्वक बनाया गया। इसे अनलॉक करने के लिए अपने BitBox को फिर से भरें।"},VF={create:"डिवाइस पासवर्ड सेट करें",creating:"डिवाइस पासवर्ड सेट कर रहे है ...",error:{e102:"डिवाइस पासवर्ड में कम से कम 4 अक्षर होने चाहिए।"},info:{description1:"अपना डिवाइस पासवर्ड चुनें। इसका उपयोग आपके BitBox को अनलॉक करने के लिए किया जाएगा।",description2:"आप संख्याओं, अक्षरों का उपयोग कर सकते हैं। लंबे पासवर्ड उच्च सुरक्षा प्रदान करते हैं।",description3:"यदि आप डिवाइस पासवर्ड खो देते हैं, तो आपको अपना डिवाइस रीसेट करना होगा और अपने वॉलेट बैकअप को पुनर्स्थापित करना होगा।",subtitle:"अब आप अपना डिवाइस पासवर्ड सेट करेंगे",title:"अपने डिवाइस को इनिशियलाइज़ करे"},input:{label:"डिवाइस पासवर्ड",labelRepeat:"डिवाइस पासवर्ड दोहराएँ",placeholderRepeat:"कृपया डिवाइस पासवर्ड की पुष्टि करें"}},WF="अवैध फॉर्मेट",UF={title:"भाषा चुनिए"},qF={disable:"लिगेसी हिडन वॉलेट को अक्षम करें",enable:"लिगेसी हिडन वॉलेट सक्षम करें",successDisable:"सफलतापूर्वक लिगेसी हिडन वॉलेट अक्षम कर दिया गया।",successEnable:"सफलतापूर्वक लिगेसी हिडन वॉलेट सक्षम किया गया। अपने BitBox को फिर से शुरू करें और लिगेसी हिडन वॉलेट तक पहुंचने के लिए हिडन डिवाइस पासवर्ड दर्ज करें।"},HF="लोड हो रहा है…",KF={newTxs_one:"{{accountName}} में इसमें नया ट्रांजेक्शन",newTxs_other:"{{accountName}} में {{count}} नए ट्रांजेक्शंस"},GF={aborted:{text:"मोबाइल ऐप से जोड़ी को समाप्त कर दिया गया है।",title:"अंत कर दिया"},button:"मोबाइल ऐप जोड़े",confirm:"क्या आप वाकई अपने BitBox को जोड़ना चाहते हैं? ध्यान दें कि उसके बाद ट्रांजेक्शन करने के लिए मोबाइल फोन आवश्यक है।",connectOnly:{button:"मोबाइल ऐप कनेक्ट करें",title:"मेनू आइटम 'नए डेस्कटॉप ऐप से कनेक्ट करें' का चयन करके हमारे मोबाइल ऐप से स्कैन करें"},error:{text:"कुछ गलत हो गया। कृपया फिर से शुरू करें।",title:"एरर"},reconnectOnly:{button:"मोबाइल ऐप को फिर से कनेक्ट करें"},start:{hideAppQRCode:"QR कोड छिपाएं",revealAppQRCode:"QR कोड दिखाएं",step1:"यदि आपके पास मोबाइल ऐप नहीं है, तो आपके पास कौन सा फोन है उसके मुताबिक आप Apple App Store या Google Play Store के लिए QR कोड को स्कैन कर सकते हैं।",step2:"हमारे मोबाइल ऐप से स्कैन करें, जिसे आप iOS और Android के लिए ऐप स्टोर में 'Digital BitBox 2FA' नाम से पा सकते हैं:"},started:{text:"अब कृपया मोबाइल ऐप में दिए गए निर्देशों का पालन करें।",title:"Great"},success:{text:"बधाई हो, आपने अपने BitBox को सफलतापूर्वक मोबाइल ऐप के साथ जोड़ा है!",title:"सफलता"},timeout:{text:"यह जोड़ी दो मिनट के बाद समाप्त हो गई। यदि आप अभी भी मोबाइल ऐप को पेयर करना चाहते हैं तो फिर से शुरू करें।",title:"समय समाप्त"},title:"Mobile Pairing"},QF={show:"{{label}} दिखाए",warning:{caps:"चेतावनी: कैप्स लॉक (⇪) सक्षम है",paste:'text चिपकाने के लिए, "{{label}} दिखाए" को सक्षम करें '}},YF={button:"रेण्डम संख्या उत्पन्न करें",description:"आपके BitBox ने निम्न {{bits}}-bit यादृच्छिक संख्या उत्पन्न किया :"},ZF={label:"आपका एड्रेस",onlyThisCoin:{description:"अन्य टोकन प्राप्त करने के लिए, उन्हें सेटिंग में सक्षम करें। यदि आप अन्य टोकन जमा करते हैं, तो हो सकता है की वे सुलभ ना हो सके।",warning:"केवल इस पते पर {{coinName}} प्राप्त करना सुनिश्चित करें।"},showFull:"पूरा एड्रेस दिखाएं और सत्यापित करें",title:"{{accountName}} पाए",verify:"एड्रेस को सुरक्षित रूप से सत्यापित करें",verifyBitBox01:"मोबाइल ऐप पर एड्रेस सत्यापित करें",verifyBitBox02:"BitBox02 पर एड्रेस सत्यापित करें",verifyInstruction:"कृपया सत्यापित करें कि निम्न एड्रेस आपके डिवाइस पर प्रदर्शित एड्रेस से मेल खाता है।",warning:{secureOutput:"सुरक्षित पता सत्यापन को सक्षम करने के लिए कृपया अपने मोबाइल डिवाइस के साथ अपने BitBox को जोड़े। साइडबार में 'मैनेज डिवाइस' पर जाएं।"}},JF={description:"डिवाइस का सभी डेटा हटा दिया जाएगा। जिसमें आपकी निजी कुंजी शामिल है!",notReset:"डिवाइस रीसेट नहीं है।",title:"फैक्टरी रीसेट डिवाइस",understand:"मेरे पास बैकअप है और मेरा रिकवरी पासवर्ड मुझे पता है",understandBB02:"मेरे पास एक वैध बैकअप है"},XF={create:{description1:"अपने डिवाइस को सेट करने से पहले यह सलाह दी जाती है कि आप ऐसा सुरक्षित वातावरण में करें।",description2:"आपको दो पासवर्ड बनाने के लिए कहा जाएगा।",description3:"पहला है डिवाइस पासवर्ड जो आपके BitBox डिवाइस को अनलॉक करता है और ये पासवर्ड बादमे में बदला जा सकता है।",description4:"दूसरा है रिकवरी पासवर्ड जो आपके वॉलेट को अनलॉक करता है। इस पासवर्ड को बाद में नहीं बदला जा सकता है।",description5:"आपके द्वारा बनाया गया वॉलेट, माइक्रो SD कार्ड पर एक फाइल में बैकअप होगा। इसका उपयोग आपातकाल में रिकवरी पासवर्ड का उपयोग करके आपके धन को प्राप्त करने के लिए किया जा सकता है ।",title:"सुरक्षा जानकारी"},restore:{description1:"आपको उस माइक्रोएसडी कार्ड को डालने के लिए कहा जाएगा जिसका उपयोग आपने बैकअप स्टोर करने के लिए किया था।",description2:"अपने डिवाइस को पुनर्स्थापित करने के लिए आपको अपने रिकवरी पासवर्ड की आवश्यकता होगी। ",description3:"कृपया रिकवरी पासवर्ड दर्ज करते समय ध्यान रखें। आपके द्वारा दर्ज किया गया कोई भी पासवर्ड एक वैध वॉलेट बनाएगा। यदि आप गलत पासवर्ड दर्ज करते हैं तो आपको एक वॉलेट बैलेंस दिखाया जा सकता है जिसकी आपको उम्मीद नहीं है।",title:"सुरक्षा जानकारी"}},e4={agreements:{"funds-access":"यदि मैं अपना रिकवरी पासवर्ड भूल जाता हूं तो मैं अपने फंड तक नहीं पहुंच पाऊंगा","password-change":"मैं बाद में रिकवरी पासवर्ड नहीं बदल सकता","password-required":"एक बैकअप से वॉलेट को पुनर्स्थापित करने के लिए रिकवरी पासवर्ड आवश्यक है"},create:"वॉलेट बनाएं",creating:"वॉलेट बन रहा है",description:"मैं समझता हूँ कि:",error:{e102:"पासवर्ड में कम से कम 4 अक्षर होने चाहिए।",e200:"वॉलेट बनाने के लिए आपको अपने BitBox में एक माइक्रो एसडी कार्ड डालने की आवश्यकता होती है, इसलिए एक बैकअप स्वचालित रूप से बनाया जा सकता है।"},info:{button:"अब रिकवरी पासवर्ड सेट करें",description1:"BitBox में माइक्रो एसडी कार्ड डालें",description2:'वॉलेट के लिए एक रिकवरी पासवर्ड चुनें और "अब रिकवरी पासवर्ड सेट करें" चुनें।',description3:"BitBox डिवाइस के गुम या चोरी हुए मामले में माइक्रो एसडी कार्ड का बैक अप और आपका रिकवरी पासवर्ड ही आपके फंड को रिकवर करने का एकमात्र तरीका है।",description4:"आप बाद में अपने धन को स्थानांतरित किए बिना अपना रिकवरी पासवर्ड नहीं बदल सकते।",title:"एक नया वॉलेट बनाएँ"},password:{label:"रिकवरी पासवर्ड",repeatPlaceholder:"रिकवरी पासवर्ड दोहराएँ"},walletName:{label:"वॉलेट का नाम"}},t4={error:{e200:"बैकअप से वॉलेट को पुनर्स्थापित करने के लिए माइक्रो एसडी कार्ड की आवश्यकता होती है।"},info:{description1:'BitBox में माइक्रो एसडी कार्ड डालें और "जारी रखें" पर क्लिक करें',description2:'एक बैकअप चुनें और "पुनर्स्थापित करें" पर क्लिक करें',description3:"रिकवरी पासवर्ड डालें",description4:"आपको यह पुष्टि करने की आवश्यकता है कि आप ये समझते है की एक गलत पासवर्ड एक अलग वॉलेट बनाएगा।",title:"बैकअप से वॉलेट को कैसे पुनर्स्थापित करें"}},n4={abort:"ट्रांजेक्शन निरस्त कर दिया गया है।",address:{label:"रिसीवर का एड्रेस",placeholder:"एड्रेस डालें"},amount:{label:"रकम",placeholder:"राशी डालें"},button:"हस्ताक्षर करें और भेजें",coincontrol:{address:"एड्रेस",outpoint:"outpoint",title:"आउटपुट से भेजें"},confirm:{"selected-coins":"चयनित कोइन्स",title:"ट्रांजेक्शन की पुष्टि करें",total:"टोटल"},error:{insufficientFunds:"अपर्याप्त कोष",invalidAddress:"गलत एड्रेस",invalidAmount:"अवैध राशि",invalidData:"अमान्य डेटा"},fee:{customPlaceholder:"राशी डालें",label:"नेटवर्क शुल्क",placeholder:"उपलब्ध नहीं है"},feeTarget:{description:{economy:"24 ब्लॉक (Bitcoin के लिए लगभग 4 घंटे, Litecoin के लिए 1 घंटा)",high:"2 ब्लॉक (Bitcoin के लिए लगभग 20 मिनट, Litecoin के लिए 5 मिनट)",low:"12 ब्लॉक (Bitcoin के लिए लगभग 2 घंटे, Litecoin के लिए 30 मिनट)",normal:"6 ब्लॉक (Bitcoin के लिए लगभग 1 घंटे, Litecoin के लिए 15 मिनट)"},estimate:"अनुमानित प्रतीक्षा समय:",label:{economy:"किफायती",high:"उच्च",low:"कम",normal:"साधारण"},placeholder:"शुल्क आकलन की गणना कर रहे हैं ..."},maximum:"सब भेजें",scanQR:"QR कोड स्कैन करें",signprogress:{description:"यह एक ऐसा ट्रांजेक्शन है जिसमें बहुत अधिक डेटा है। ट्रांजेक्शन पर पूरी तरह से हस्ताक्षर करने के लिए आपको {{steps}} बार पुष्टि करने के लिए कहा जाएगा।",label:"प्रगति"},success:"ट्रांजेक्शन पर हस्ताक्षर किए गए हैं और भेजे गए हैं।",title:"{{accountName}} भेजें",toggleCoinControl:"Coin Control टॉगल करें"},a4={electrum:{add:"एक सर्वर जोड़ें","add-server":"जोड़े",check:"जांचें",checkFailed:"असफल हुआ",checkSuccess:"सफलतापूर्वक {{host}} से एक कनेक्शन स्थापित किया ",checking:"जांच हो रही है","download-cert":"रिमोट सर्टिफिकेट डाउनलोड करें","remove-server":"हटाएं",removeConfirm:"{{server}} हटाएं?",reset:"डिफ़ॉल्ट पर रीसेट करे",resetConfirm:"क्या आप सभी सर्वरों को हटाना चाहते हैं और डिफ़ॉल्ट सर्वरों को स्थापित करना चाहते हैं?",servers:"सर्वर्स",step1:"1","step1-text":"endpoint दर्ज करें।",step2:"2","step2-text":"सर्वर की सर्टिफिकेट चेन का एक सर्टिफिकेट डालें। वैकल्पिक रूप से, दूरस्थ प्रमाणपत्र डाउनलोड करें और इसे देख के तुलना करें।",step3:"3","step3-text":"कनेक्शन की जाँच करें और सर्वर जोड़ें।",step4:"4","step4-text":"वॉलेट को पुनरारंभ करें। यदि आप डिफ़ॉल्ट सर्वर को नहीं हटाते हैं, तो आपका अपना नोड अतिरेक के रूप में जोड़ा जाएगा।","title-btc":"Bitcoin Electrum सर्वर्स","title-ltc":"Litecoin Electrum सर्वर्स","title-tbtc":"Bitcoin Testnet Electrum सर्वर्स","title-tltc":"Litecoin Testnet Electrum सर्वर्स"},expert:{coinControl:"कॉइन नियंत्रण सक्षम करें",electrum:{title:"अपना फूल नोड कनेक्ट करें"},setProxyAddress:"प्रॉक्सी पता सेट करें",title:"विशेषज्ञ सेटिंग्स",useProxy:"टोर प्रॉक्सी सक्षम करें"},header:{home:"Home"},restart:"परिवर्तनों को प्रभावी करने के लिए कृपया BitBoxApp को फिर से शुरू करें।",success:"कृपया अनप्लग करें और परिवर्तनों को प्रभावी करने के लिए BitBox को फिर से भरें।",title:"सेटिंग्स"},i4="सेटअप डिवाइस",o4={device:"डिवाइस मैनेज करे",leave:"छोड़े",settings:"सेटिंग्स"},r4={create:{info1:"आपके वॉलेट को माइक्रो एसडी कार्ड में सुरक्षित रूप से बैकअप दिया गया है। इसे हटा दें और सुरक्षित रखें।",info2:"आपने एक सुरक्षित डिवाइस पासवर्ड बनाया है जो BitBox को अनलॉक करता है।",info3:"आपने अपने वॉलेट के लिए एक सुरक्षित रिकवरी पासवर्ड बनाया है जो आपके धन को अनलॉक करता है और आपके बैकअप को पुनर्स्थापित करता है।",summary:"आपने जो किया है उसका सारांश यहां दिया गया है",title:"सफलता"},getstarted:"शुरू करें",restore:{summary:"आपने अपने बैकअप से वॉलेट को सफलतापूर्वक पुनर्स्थापित कर दिया है।",title:"सफलता"}},s4={confirmation:"Confirmations",explorer:"ट्रांजेक्शन आईडी",explorerTitle:"बाहरी ब्लॉक एक्सप्लोरर में खोलें",fee:"शुल्क",fiatHistorical:"ऐतिहासिक",gas:"Gas",pending:"लंबित ट्रांजेक्शन",size:"आकार",vsize:"आभासी आकार",weight:"वजन"},l4={placeholder:"अभी तक कोई ट्रांजेक्शन नहीं हुआ।"},c4="एक अज्ञात एरर हुई: {{errorMessage}}",u4={description:"अपने डिवाइस को अनलॉक करने के लिए अपना डिवाइस पासवर्ड डालें।",error:{e109_normal:"गलत डिवाइस पासवर्ड। डिवाइस के रीसेट होने से पहले {{remainingAttempts}} प्रयास बाकी रहे।",e109_touch:"$t(unlock.error.e109_normal) अगले लॉगिन के लिए टच बटन को पकड़ना आवश्यक है।",e113:"कई लॉगिन प्रयासों के कारण, अगले लॉगिन के लिए 4 सेकंड के लिए टच बटन को दबाए रखना पड़ेगा।"},input:{label:"डिवाइस पासवर्ड",placeholder:"डिवाइस को अनलॉक करने के लिए अपना डिवाइस पासवर्ड डालें"},unlocking:"अनलॉक कर रहे हैं ..."},d4={button:"फर्मवेयर अपग्रेड करें",description:"क्या आप फर्मवेयर को {{currentVersion}} से {{newVersion}} वर्ज़न में अपग्रेड करना चाहते हैं ?",label:"आपके BitBox के लिए फर्मवेयर अपग्रेड आवश्यक है।",locked:"{{currentVersion}} से {{newVersion}} अपग्रेड करने के लिए, कृपया एक लंबा स्पर्श करें।",title:"फर्मवेयर अपग्रेड करें",unlocked:"बूटलोडर अनलॉक किया गया है। जारी रखने के लिए, कृपया:",unlocked1:"अपने Bitbox को अनप्लग करें और फिर से प्लग करें ",unlocked2:"जब आपका BitBox वापस प्लग इन हो जाएगा तब एलईडी लाइट प्रकाशित होगी",unlocked3:"एलईडी लाइट्स प्रकाशित होने पर पर टच बटन पर टैप करें"},p4={receivePairing:"कृपया सुरक्षित एड्रेस सत्यापन सक्षम करने के लिए BitBox को जोड़ीएं। साइडबार में 'मैनेज डिवाइस' पर जाएं।",sdcard:"जब तक आप बैकअप प्रबंधित नहीं करना चाहते, तब तक माइक्रो एसडी कार्ड को बिटबॉक्स से अलग रखें।",sendPairing:"ट्रांजेक्शन के विवरण को सुरक्षित रूप से सत्यापित करने के लिए कृपया BitBox को जोड़े। साइडबार में 'मैनेज डिवाइस' पर जाएं।"},h4={insertBitBox02:"BitBox02 के लिए, जारी रखने के लिए कृपया डिवाइस पर टैप करें।",insertDevice:"आरंभ करने के लिए कृपया अपना डिवाइस कनेक्ट करें",title:"आपका स्वागत हे"},m4={account:dF,accountInfo:pF,accountSummary:hF,addAccount:mF,app:fF,backup:gF,bb02Bootloader:vF,bitbox:bF,bitbox02Interact:kF,bitbox02Settings:xF,bitbox02Wizard:yF,blink:wF,bootloader:jF,button:BF,changePin:SF,checkSDcard:zF,clickHere:CF,confirm:DF,confirmOnDevice:AF,device:_F,deviceLock:TF,deviceSettings:EF,deviceTampered:PF,dialog:NF,fiat:LF,footer:IF,genericError:$F,goal:MF,guide:OF,headerssync:RF,hiddenWallet:FF,initialize:VF,invalidFormat:WF,language:UF,legacyhiddenwallet:qF,loading:HF,notification:KF,pairing:GF,password:QF,random:YF,receive:ZF,reset:JF,securityInformation:XF,seed:e4,seedRestore:t4,send:n4,settings:a4,setup:i4,sidebar:o4,success:r4,transaction:s4,transactions:l4,unknownError:c4,unlock:u4,upgradeFirmware:d4,warning:p4,welcome:h4},f4={disconnect:"Връзката е прекъсната. Опитваме отново ...",exportTransactions:"Експорт на транзакциите в папката Downloads като CSV файл",fatalError:"Възникна неочаквана грешка.",incoming:"Входящи",initializing:"Извличане на информация от блокчейна...",reconnecting:"Връзката е прекъсната, опитваме се да я възстановим..."},g4={address:"Адрес",extendedPublicKey:"Разширен публичен ключ",label:"Информация за профила",title:"Информация за портфейла",verify:"Потвърждение чрез устройството"},v4={balance:"Баланс",exportSummary:"Експорт на обобщената информация за портфейлите като CSV файл в папката Downloads",fiatBalance:"Баланс във фиатна валута",name:"Име на портфейла",noAccount:"Не съществуват портфейли",title:"Обобщена информация за портфейлите",total:"Общо"},b4={title:"Добавяне на портфейл"},k4={upgrade:"Намерена е по-нова версия на това приложение! Моля актуализирайте от {{current}} до {{version}}."},x4={check:{checking:"Проверяваме архива...",confirmTitle:"Проверка на архив",notOK:"Архивът НЕ ОТГОВАРЯ на настоящия портфейл.",ok:"Архивът съвпада с настоящия портфейл.",password:{label:"Парола за възстановяване",placeholder:"Парола за възстановяване",showLabel:"Парола за възстановяване"},success:"Успешно проверен архив:",title:"Проверка на архив"},create:{alreadyExists:"Вече разполагате с валиден архив. Желаете ли да го създадете повторно?",fail:"Създаването на архив беше НЕУСПЕШНО!",info:"Моля въведете паролата за възстановяване на текущия портфейл за потвърждение.",name:{label:"Име на архива",placeholder:"Моля задайте име на архива"},password:{label:"Парола за възстановяване",placeholder:"Моля въведете паролата за възстановяване"},title:"Създаване на архив",verificationFailed:'Паролата за възстановяване НЕ СЪВПАДА с тази на настоящия портфейл. Архивът е създаден. Моля използвайте функцията "Проверка на архив", за да потвърдите вашата парола отново.'},description:"Избор на архивен файл за портфейла",insert:"Моля поставете microSD картата, за да управлявате архивите.",insertButton:"microSD картата е поставена",list:"Вашите архиви на micro SD картата:",noBackups:"На тази microSD карта няма архиви.",restore:{confirmTitle:"Възстановяване от архив",error:{e200:"Не е намерена microSD карта"},password:{label:"Парола за възстановяване или скрита парола за възстановяване",placeholder:"Парола за възстановяване",repeatPlaceholder:"Въведете паролата за възстановяване още веднъж",showLabel:"Парола за възстановяване"},restoring:"Възстановяване от архив...",title:"Възстановяване",understand:"Разбирам, че въвеждането на грешна парола за възстановяване ще генерира различен портфейл"},showMnemonic:{description:`Ще ви покажем поредица с дължина до 24 думи, която представлява резервно копие на вашия портфейл. Запишете ги на хартия. + +Не ги съхранявайте в цифров вид и не ги снимайте. + +Не казвайте думите на глас. + +Архивът не е защитен с парола. + +След това ще ви помолим да потвърдите всяка дума.`,title:"Показване на мнемоничната фраза"},title:"Управление на архивите"},y4={abort:"Прекратяване на актуализацията – Връщане обратно",advanced:{label:"Разширени настройки",toggleShowFirmwareHash:"Показване на контролна сума на фърмуера при всяко стартиране на устройството"},flipscreen:"Завъртане на екрана",orientation:"Устройството е ориентирано по непоходящ начин?",success:"Актуализацията е успешна! Рестарт след {{rebootSeconds}} секунди..."},w4={error:{e10000:"Въведената защитна парола на устройството е грешна.",e10001:"Неуспешна промяна на защитната парола на устройството",e102:"Паролата трябва да съдържа минимум 4 символа",e112:"Паролата за скритото устройство не може да бъде същата като паролата на основното устройство."}},j4={followInstructions:"Моля спазвайте инструкциите, които подава Вашият BitBox02."},B4={deviceName:{current:"Настоящо име на устройството",input:"Име на BitBox02",title:"Задайте име на BitBox02"}},S4={attestationFailed:"Атестацията на устройството беше неуспешна. Възможно е това да стане, ако рестартирате приложението, докато устройството очаква въвеждане на данни от потребителя. Свържете устройството повторно и опитайте отново.",backup:{point1:"Изберете архив на microSD картата",point2:"Задайте парола за своето устройство",restoreText:"ОК, нека възстановим от архив!",text1:"Отлично, паролата на Вашия BitBox02 е зададена и портфейлът е генериран. Сега е моментът да създадете първия си архив. Уверете се, че microSD картата е поставена в BitBox02 и продължете.",text2:"Следвайте инструкциите на екрана на устройството, за да създадете архив.",text3:"След като архивът е създаден, извадете micro SD картата и я съхранете на сигурно място. Съдържанието на micro SD картата не е защитено с парола. Никога не я поставяйте в каквото и да е устройство, освен Вашия BitBox02.",userConfirmation1:"Трябва да съхранявам архива на сигурно място.",userConfirmation2:"Архивът не е защитен с парола. Всеки, който има достъп до него, може да разполага с моя портфейл.",userConfirmation3:"Ако изгубя или повредя моя BitBox02, единственият начин да възстановя достъпа до средствата в него е да възстановя от направения архив.",userConfirmation4:"Ако изгубя или повредя и архива, и BitBox02 устройството, моите средства ще бъдат изгубени."},create:{button:"Задайте име на устройството и продължете нататък",info:"Ето поредицата от стъпки, които трябва да изпълните, за да настроите Вашия BitBox:",inputTitle:"Име на портфейла",point1:"Задайте име на своето устройство",point2:"Задайте парола за своето устройство",point3:"Създайте архив",text:"ОК, нека създадем нов портфейл!"},initialize:{passwordText:"Нека сега зададем парола за устройството. Използвайте сензорните бутони на Вашия BitBox, за да въведете избраната от Вас парола.",passwordTitle:"Задайте парола на Вашия BitBox",text:"Връзката с Вашия BitBox02 е успешна! Сега нека инициализираме устройството. Най-напред трябва да изберете дали искате да създадете нов портфейл, или да възстановите съществуващ портфейл от архив. Уверете се, че във Вашия BitBox02 има поставена microSD карта",tip:"Преди да продължите, ви препоръчваме да установите защитена среда.",title:"Инициализиране на Вашия BitBox"},insertSDCard:"Уверете се, че във Вашия BitBox02 има поставена microSD карта",pairing:{failed:"Връзката не е потвърдена. Моля свържете отново Вашия BitBox02.",paired:"Вие потвърдихте чрез устройството, че кодът съвпада. Ако това е вярно, можете да продължите, като натиснете бутона отдолу.",title:"Потвърждение на кода за обвързване.",unpaired:"Открит е нов BitBox02. Уверете се, че следният код съвпада с показаното на екрана на Вашето устройство. Ако кодът съвпада, натиснете сензорния участък под символа с отметка на екрана на Вашия BitBox02 и натиснете бутона отдолу, за да продължите."},restoreFromMnemonic:{failed:"Неуспешно възстановяване от мнемонична фраза, опитайте отново."},stepBackup:{beforeProceed:"Преди да продължите, моля прочетете тази важна информация за сигурността:",createBackup:"Предстои Ви да създадете архив върху Вашата microSD карта."},stepBackupSuccess:{fundsSafe:"За да имате винаги достъп до Вашите средства, моля запомнете следното:",title:"Архивът е възстановен!"},stepConnected:{unlock:"Въведете паролата на BitBox02, за да отключите устройството."},stepCreate:{nameLabel:"Име на BitBox02",namePlaceholder:"Моето BitBox02 устройство",title:"Изберете име за Вашия BitBox02",toastMicroSD:"Уверете се, че microSD картата е поставена във Вашия BitBox02."},stepCreateSuccess:{removeMicroSD:"Извадете microSD картата от Вашия BitBox02 и я приберете на сигурно място.",success:"Архивът е създаден успешно."},stepPassword:{title:"Задаване на парола на BitBox02",useControls:"Използвайте бутоните на Вашия BitBox02, за да зададете парола."},stepUninitialized:{create:"Искам да настроя ново BitBox02 устройство.",restore:"Искам да възстановя съществуващ портфейл от архив.",restoreMicroSD:"Възстановяване от microSD карта",restoreMnemonic:"Възстановяване от мнемонична фраза",title:"Настройване на Вашето BitBox02 устройство"},success:{text:`Ура! Вашият BitBox02 е готов за употреба. + +За повече информация как да използвате приложението BitBox, използвайте вграденото ръководство за употреба, като кликнете върху въпросителната в горния десен ъгъл на екрана.`,title:"Можете да работите!"}},z4={button:"Мигане"},C4={button:"Актуализиране на firmware",progress:"Актуализиране: {{progress}}%",success:"Актуализацията е успешна! Моля извадете устройството и го свържете отново, без да докосвате бутона."},D4={abort:"Прекратяване",back:"Назад",changepin:"Смяна на паролата на устройството",check:"Проверка на архив",continue:"Напред",copy:"Копиране",create:"Създаване",download:"Сваляне",hiddenwallet:"Създаване на скрит портфейл",next:"Напред",ok:"ОК",previous:"Назад",receive:"Получаване",restore:"Възстановяване",select:"Изберете",send:"Изпращане",unlock:"Отключване",update:"Обновяване",upgrade:"Актуализиране"},A4={newTitle:"Нова парола на устройството",oldLabel:"Настояща парола на устройството"},_4="проверка на microSD картата",T4="Кликнете тук",E4={abortInfo:"Докоснете, за да",abortInfoRedText:"прекратите",approveInfo:"Задръжте над 4 секунди, за да",approveInfoGreenText:"потвърдите",info:"на Вашия BitBox",infoWhenPaired:"Първо на свързаното мобилно устройство и след това на Вашия BitBox"},P4="Моля потвърдете върху Вашето устройство.",N4={appUpradeRequired:"Вашият BitBox не е съвместим с това настолно приложение. Трябва да изтеглите и инсталирате най-новата версия."},L4={button:"Активиране на двустепенна автентикация (2FA)",condition1:"Разполагате ли с архив?",condition2:"Дали верификацията чрез мобилно приложение работи?",condition3:"2FA ДЕАКТИВИРА възможностите за създаване на архив и свързване с мобилни приложения. Устройството трябва да се РЕСЕТИРА, за да се изключи 2FA!",confirm:"Активиране на двустепенна автентикация (2FA)",title:"Активиране на двустепенна автентикация (2FA)"},I4={firmware:{newVersion:{label:"Налична версия"},title:"Firmware",upToDate:"Вашето устройство използва най-новия софтуер",version:{label:"Версия"}},hardware:{sdcard:{false:"Не е поставена",label:"microSD карта",true:"Поставена"},title:"Хардуер"},loading:"Извличане на информация за устройството...",pairing:{lock:{false:"Деактивирано",label:"Двустепенна автентикация (2FA)",true:"Активирана"},mobile:{false:"Затворено",label:"Мобилно приложение",true:"Отворено"},status:{false:"Няма връзка",label:"Статус",true:"Има връзка"},title:"Обвързване"},secrets:{manageBackups:"Управление на архивите",title:"Тайни"}},$4="Ако сте получили парола за възстановяване заедно с Вашия BitBox, прекратете незабавно процеса по настройка и се свържете с екипа по поддръжката. Shift никога не предоставя предварително подготвен портфейл и не дава препоръки за паролата!",M4={cancel:"Отказ",confirm:"Потвърждение"},O4={default:"по подразбиране",setDefault:"Задайте {{code}} по подразбиране",title:"Валути"},R4={appVersion:"Версия на приложението:"},F4="Възникна грешка. Ако забележите проблеми, рестартирайте приложението.",V4={buttons:{create:"Създаване на нов портфейл",restore:"Възстановяване на портфейл от архив"},paragraph:"Изберете една от следните възможности:",step:{1:{title:"Информация за сигурността"},2:{description:"Задаване на парола на устройството",title:"Устройство"},"3-create":{description:"Създаване на нов портфейл",title:"Портфейл"},"3-restore":{description:"от архив",title:"Възстановяване"},"4-create":{title:"Обща информация"},"4-restore":{title:"Обща информация"}}},W4={accountDescription:{text:'Страницата с обща информация за Вашия портфейл показва наличния баланс, входящите и изходящи транзакции. Помощното ръководство в панела "Настройки" предоставя повече информация за различните видове портфейли.',title:"Какво се показва на тази страница?"},accountFiat:{text:"Да. Кликнете върху тикера, за да превключвате фиатните валути. Можете да изберете кои валути се показват от панела за настройки.",title:"Мога ли да виждам други обменни курсове?"},accountIncomingBalance:{text:'Колоната "Входящи" сумира всички плащания към Вас, които все още не са потвърдени от мрежата.',title:'Какво означава "Входящи"?'},accountInfo:{xpub:{text:"Разширеният публичен ключ (Extended Public Key) представлява базов ключ, от който се генерират всички получаващи адреси в портфейла. Предоставяме го тук за нуждите на опитните потребители и за съвместимост с пасивни портфейли като Electrum и Sentinel.",title:"Какво представлява разширеният публичен ключ?"}},accountRates:{text:"Обменните курсове се актуализират веднъж на минута от CoinGecko.",title:"Какви обменни курсове използваме?"},accountReload:{text:"Не е необходимо. Информация за Вашите транзакции се актуализира автоматично.",title:"Мога ли да презаредя информацията за транзакциите?"},accountSendDisabled:{text:'Бутонът "Изпращане" се активира, когато балансът е по-голям от нула.',title:"Защо не мога да изпращам {{unit}}?"},accountTransactionAttributesBTC:{text:`Виртуален размер: определя мрежовата такса. Ако е по-малък от същинския размер на транзакцията, спестявате от такси. +Същински размер: реалният размер на транзакцията в байтове, както се подава към съответния блокчейн. +Тегло: нов параметър, въведен заедно със SegWit с цел определяне на размера на транзакцията и блоковете. Всеки SegWit байт се брои за една тегловна единица, а всички останали байтове се смятат по четири тегловни единици. Вместо един мегабайт същински размер, лимитът за големина на блока вече е четири милиона тегловни единици.`,title:"Ами специфичните за Bitcoin подробности за транзакцията?"},accountTransactionAttributesGeneric:{text:`Потвърждения: Вашата транзакция има състояние "непотвърдена", докато някой миньор я включи в блок, при което нейното състояние ще стане "1 потвърждение". Всеки блок, излъчен след това в мрежата, добавя още едно потвърждение на Вашата транзакция. Търговците и други мрежови потребители обичайно приемат транзакцията за валидна едва след като тя получи между 3 и 6 потвърждения. +ID на транзакция: уникален идентификатор, чрез който можете да намерите дадена транзакция чрез block explorer. +Такса: Миньорите получават определена такса като стимул да включат транзакциите в блоковете, които откриват. За да научите повече, натиснете бутона "Изпращане".`,title:"Каква информация съдържат подробностите за транзакцията? "},accountTransactionConfirmation:{text:"Транзакция, която е излъчена в мрежата, но още не е потвърдена.",title:"Какво означава чакаща (pending) транзакция?"},accountTransactionLabel:{text:"Това е адресът, от който сте получили или към който изпращате пари.",title:"Кой адрес се показва за всяка транзакция?"},accountTransactionTime:{text:"Времето за потвърждението на транзакцията в блокчейна.",title:"Какво време се показва?"},appendix:{link:"Свържете се с нас!",text:"Имате друг въпрос?"},backups:{check:{text:'"Проверка на архива" Ви позволява да потвърдите, че разполагате с работещ архив, който съответства на избрания в момента портфейл. Можете да използвате тази функция и за да се уверите, че разполагате с правилната парола за възстановяване. Можете да сверите и главната, и скритата парола за възстановяване.',title:'Какво представлява "Проверка на архива"?'},encrypt:{text:"Не, но Вашата парола е необходима, за да се извлече портфейлът от съхраненото отправно число (seed).",title:"Мога ли да криптирам архива?"},howOften:{text:`Архивът се създава автоматично при генерирането на нов портфейл. Необходимо е да направите нов архив само ако повредите или изгубите Вашата microSD карта или ако искате да направите архиви на различни microSD карти. +Не е необходимо да създавате нови архиви след създаването или получаването на нови транзакции. Всичката информация за транзакциите може да се пресъздаде от първоначалния архив, който е създаден автоматично.`,title:"Колко често трябва да правя архив?"},whatIsABackup:{text:"Това е копие на отправното число (seed), записано върху microSD карта. Отправното число и паролата за възстановяване генерират Вашия портфейл.",title:"Какво представлява архивът?"}},backupsBB02:{check:{text:'"Проверка на архива" Ви позволява да се уверите, че разполагате с работещ архив, съответстващ на портфейла, който използвате в момента.',title:'Какво представлява "Проверка на архива"?'},encrypt:{text:'Не. Съхранявайте microSD картата на сигурно място, тъй като тя съдържа в нешифриран вид отправното число (seed), от което се възстановява портфейлът. Ако искате да защитите отправното число с парола, можете да активирате функцията за използване на допълнителна фраза в панела за експертни настройки под "Управление на устройството".',title:"Мога ли да шифрирам архива?"},whatIsABackup:{text:"Това е копие на отправното число (seed), записано върху microSD карта.",title:"Какво представлява архивът?"}},bitbox:{"2FA":{text:`Когато е активирана двустепенна автентикация (2FA), всички изходящи транзакции трябва да се потвърдят на обвързания мобилен телефон. По-точно описано, към мобилното устройство се изпраща шифриран номер за еднократна употреба; този номер се дешифрира от устройството и с натискането на бутона "Приемам" (Accept) се връща обратно към BitBox. Комуникацията между двете устройства използва канала за връзка, установен по време на обвързването. + +Уверете се, че Вашият портфейл е архивиран и направете обвръзка мобилното устройство, преди да активирате двустепенната автентикация. След като тя се активира, microSD слотът и възможността за обвързване с мобилно устройство се изключват. Можете да ги активирате отново, ако нулирате своя BitBox — операция, която изтрива неговото съдържание.`,title:"Как работи двустепенната автентикация (2FA)?"},disable2FA:{text:'За да премахнете двустепенната автентикация, трябва да нулирате своя BitBox и след това да възстановите портфейла си от архива. Най-напред се уверете, че разполагате с microSD картата с архива и че все още помните паролата за възстановяване. След това натиснете бутона "Нулиране на устройството". Задайте нова парола за устройството и изберете "или възстановяване от архив". Изберете архивното копие на портфейла, кликнете на "Възстановяване" и въведете паролата за възстановяване, която сте използвали при създаването на портфейла.',title:"Как мога да премахна двустепенната автентикация (2FA)?"},ejectBitbox:{text:'Можете да издърпате BitBox по всяко време; няма нужда да изпълнявате "безопасно премахване" (Eject Media).',title:"Как да разкача BitBox от компютъра?"},ejectSD:{text:"Можете да извадите microSD картата от BitBox по всяко време, освен ако устройството не се намира в процес на създаване или възстановяване на архив.",title:"Как мога да извадя microSD картата?"},hiddenWallet:{text:"Това е втори портфейл в същото устройство, който е защитен с различна защитна парола и парола за възстановяване. Употребата на тази функция прави притежанието на различни портфейли недоказуемо (т.н. 'plausible deniability'). И нормалният, и скритият портфейл използват едно и също отправно число, така че не е необходим отделен архив за скрития портфейл.",title:'Какво представлява "скрит портфейл"?'},legacyHiddenWallet:{text:"Най-напред кликнете на бутона отдолу (той ще се появи ако BitBox е отключен с главната парола на устройството и двустепенната автентикация е изключена), след което извадете и включете BitBox отново и го отключете с паролата за Вашия скрит портфейл.",title:"Как да получа достъп до стария (legacy) формат скрит портфейл?"},pairing:{text:"След като свалите мобилното приложение за iOS или Android, трябва да сканирате показания QR код. По този начин между мобилното устройство и това приложение се изгражда защитена връзка. След като сканирате кода, следвайте инструкциите в мобилното приложение.",title:"Как да изградите защитена връзка с Вашия телефон"}},receive:{address:{text:"Можете да предоставите адреса на други потребители, които да Ви изпратят средства по него. Добрата практика е да генерирате нов адрес за всяко плащане.",title:"Какво мога да правя с адрес?"},addressChange:{text:"Веднага щом извършите транзакция, към списъка се добавя нов адрес, така че винаги разполагате с 20 адреса, които не са получавали криптовалута.",title:"Кога се променят адресите?"},howVerify:{text:`За BitBox01: кликнете на иконата на BitBox в лявата лента и вижте панела "Обвързване". Ръководството ще се презареди и ще покаже на екрана по-нататъшни инструкции. +За BitBox02: потвърждението на адресите става автоматично на устройството в процеса на изпращане/получаване на средства.`,title:"Как мога да потвърдя адрес по надежден начин?"},why20:{text:"По време на стартиране, приложението генерира адреси, извлечени от Вашето отправно число (seed) и проверява дали по тях са получени средства. Тъй като приложението може да генерира почти неограничен брой адреси, определянето на баланса може да отнеме години. За да се ограничи времето на търсене, проверката спира след като регистрира 20 последователни адреса, които не са получавали плащания. Това е т.н. праг (gap limit), който е възприет като стандартен в индустрията, макар самото число да е избрано произволно. Това са 20-те адреса, от които можете да избирате.",title:"Защо само 20 адреса?"},whyMany:{text:"За да поддържате максимална анонимност и сигурност, никога не използвайте един и същ адрес два пъти. Ако сте използвали вече даден адрес, натиснете дясната стрелка, за да получите нов адрес. Можете да генерирате до 20 адреса наведнъж. Мислете за адресите като за фактури от кочан — всички адреси се генерират от Вашето архивирано отправно число (seed).",title:"Защо толкова много адреси?"},whyVerify:{text:"Не трябва да се доверявате на компютъра за генерирането и показването на автентични адреси. Компютърът е значително по-уязвим на атаки от хардуерния портфейл. За BitBox01 бутонът за сигурно потвърждение изпраща адреса към сдвоен мобилен телефон, от който Вие можете също да сканирате и да валидирате QR кода. За BitBox02 адресите могат да се потвърдят директно върху дисплея на самото устройство.",title:"Защо трябва да валидирам адресите?"}},send:{fee:{text:`Таксата зависи от размера на транзакция в байтове, а не от сумата. Таксите се изчисляват чрез алгоритъма на Bitcoin Core за всеки вид приоритет и се показват, ако имат различна стойност от посочените по-долу стандартни стойности. +Икономична: 24 блока (ок. 4 часа за Bitcoin, 1 час за Litecoin) +Ниска: 12 блока (ок. 2 часа за Bitcoin, 30 минути за Litecoin) +Нормална: 6 блока (ок. 1 час за Bitcoin, 15 минути за Litecoin) +Висока: 2 блока (ок. 20 минути за Bitcoin, 5 минути за Litecoin) + +Забележка: генерирането на нов блок отнема средно 10 минути за Bitcoin (2.5 минути за Litecoin) и капацитетът на мрежата може да варира значително.`,title:"Как се определя мрежовата такса?"},priority:{text:"Колкото по-висока такса предложите, толкова по-бързо Вашата транзакция ще бъде потвърдена от мрежата.",title:"Какво представлява мрежовият приоритет?"},revert:{text:`След като веднъж една транзакция бъде подписана и изпратена (т.е. излъчена към мрежата), тя не може да бъде анулирана. Проверете всички детайли на плащането (включително размера на таксата) внимателно, преди да подпишете! +Ако познавате получателя и той или тя приеме да Ви възстанови плащането (след приспадане на разходите по транзакцията), можете да предоставите нов адрес за получаване.`,title:"Мога ли да отменя вече направена транзакция?"},whyFee:{text:'Транзакциите се конкурират помежду си за потвърждение от миньорите. Миньорът подбира кои транзакции да включи във веригата според големината на таксата. Миньорите "гласуват" за историята на транзакциите. Тъй като не съществува доверена трета страна, която да преброява гласовете, миньорите дават своя глас, жертвайки скъп ресурс — изчислителна мощност. Като възнаграждение за своята работа те получават новосъздадени средства и таксите от всички транзакции, които включат в блока.',title:"Защо е необходима мрежова такса?"}},"settings-electrum":{what:{text:"Възможно е да свържете Вашия портфейл към собствен сървър, вместо да използвате сървърите на Shift.",title:"Какво е това?"}},settings:{servers:{text:`Приложението комуникира със сървърите на Shift Crypto, за да проверява за нови версии, да зарежда транзакции и да изпраща информация към сдвоеното мобилно приложение. Също така, приложението тегли актуални обменни курсове от CoinGecko. Всички конверсии се прилагат локално — не се предава никаква информация за размера на Вашите транзакции. +Забележка: за Ethereum и ERC20 токени използваме API-то на Etherscan.io`,title:"С кои сървъри комуникира приложението?"}},title:"Ръководство",toggle:{close:"Затваряне на ръководството",open:"Ръководство"},unlock:{forgotDevicePassword:{text:"Трябва да нулирате устройството и да възстановите портфейла от архив с помощта на паролата за възстановяване.",title:"Какво трябва да направя, ако изгубя защитната парола на устройството?"},reset:{text:"Въведете грешна парола за блокиране на устройството 15 пъти подред. Последните няколко опита изискват дълго докосване на сензора на устройството.",title:"Как се нулира устройството?"}},waiting:{deviceNotRecognized:{text:"Устройството трябва да премигне веднъж след поставянето. Уверете се, че е поставено успешно. Ако имате затруднения, свържете се с нас чрез връзката отдолу.",title:"Моето BitBox 01 устройство не се разпознава"},getDevice:{link:{text:"Поръчайте BitBox устройство"},text:"Можете да закупите BitBox от нашия онлайн магазин:",title:"Как да получа устройство?"},internet:{text:"Да — за синхронизиране на портфейла, изпращане на транзакции и извличане на актуалните обменни курсове е необходима интернет връзка.",title:"Приложението изисква ли връзка с интернет?"},lostDevice:{link:{text:"Архивен център"},text:"Можете да възстановите Вашите портфейли върху ново BitBox устройство или с помощта на нашия архивен център",title:"Изгубих устройството. Какво следва?"},useWithoutDevice:{text:"За съжаление към момента това все още не е възможно.",title:"Мога ли да използвам приложението без устройство?"},welcome:{text:"Благодарим Ви, че използвате настоящото приложение, създадено от Shift Crypto в Швейцария. Ние ценим всеки коментар, който нашите клиенти споделят. За да подадете обратна връзка, моля използвайте линка отдолу.",title:"Добре дошли в BitBoxApp!"}}},U4={blocksSynced:"Синхронизирани {{blocks}} блока"},q4={info1HTML:"За допълнителна защита можете да създадете скрит портфейл, базиран на различна комбинация от защитна парола и парола за възстановяване. Съществуването на такъв портфейл е недоказуемо.",info2HTML:"Отдолу задайте парола за блокиране на устройството и парола за възстановяване на портфейла, които ще се асоциират със скрития портфейл. И паролата за блокиране, и паролата за възстановяване трябва да бъдат различни спрямо използваните в основния портфейл.",passwordLabel:"Скрита парола за възстановяване",passwordPlaceholder:"Моля потвърдете скритата парола за възстановяване",pinLabel:"Скрита защитна парола на устройството",pinRepeatLabel:"Скрита защитна парола на устройството (повторно)",pinRepeatPlaceholder:"Моля потвърдете скритата защитна парола на устройството",success:"Скритият портфейл е създаден успешно. Свържете повторно Вашия BitBox, за да го отключите."},H4={create:"Задаване на защитна парола на устройството",creating:"Задаване на защитната парола...",error:{e102:"Защитната парола трябва да съдържа поне 4 символа."},info:{description1:"Изберете защитна парола на устройството. Тя се използва за отключване на Вашия BitBox.",description2:"Можете да използвате числа, букви и символи. По-дългите пароли дават по-голяма сигурност.",description3:"Ако изгубите защитната парола на устройството, ще се наложи да го нулирате и да възстановите портфейла от архив.",subtitle:"Сега трябва да зададете защитна парола за устройството",title:"Инициализиране на устройството"},input:{label:"Защитна парола за устройството",labelRepeat:"Защитна парола за устройството (повторно)",placeholderRepeat:"Моля потвърдете защитната парола за устройството"}},K4="Невалиден формат",G4={title:"Избор на език"},Q4={disable:"Деактивиране на скрит портфейл тип Legacy",enable:"Активиране на скрит портфейл тип Legacy",successDisable:"Скритият Legacy портфейл беше успешно деактивиран.",successEnable:"Успешно активиране на скрит портфейл тип Legacy. Свържете отново Вашето BitBox устройство и въведете скритата защитна парола, за да получите достъп до този скрит портфейл."},Y4="зареждане...",Z4={newTxs_one:"Нова транзакция в {{accountName}}",newTxs_other:"{{count}} нови транзакции в {{accountName}}"},J4={aborted:{text:"Обвързването беше прекъснато от мобилното приложение.",title:"Прекратено"},button:"Обвързване с мобилното приложение",confirm:"Сигурни ли сте, че искате да свържете Вашия BitBox с мобилното приложение? Ако направите това, ще се нуждаете от мобилния си телефон, за да извършвате транзакции.",connectOnly:{button:"Свързване с мобилното приложение",title:'Сканирайте с мобилното приложение, като изберете опцията "Връзка с ново настолно приложение" от менюто.'},error:{text:"Нещо не е наред. Моля започнете процедурата отначало.",title:"Грешка"},reconnectOnly:{button:"Повторно свързване с мобилното приложение"},start:{hideAppQRCode:"Скриване на QR кода",revealAppQRCode:"Показване на QR кода",step1:"Ако не разполагате с мобилното приложение, можете да сканирате QR кода за Apple App Store или Google Play Store в зависимост от вида на Вашия телефон.",step2:"Сканирайте с мобилното приложение, което можете да намерите в софтуерните магазини за iOS и Android под името 'Digital Bitbox 2FA':"},started:{text:"Следвайте инструкциите на екрана на мобилното приложение.",title:"Отлично"},success:{text:"Поздравления, сдвояването на Вашия BitBox с мобилното приложение беше успешно!",title:"Успех"},timeout:{text:"Опитът за връзка беше прекратен след 2 минути. Пробвайте отново, ако все още искате да свържете мобилното приложение.",title:"Таймаут"},title:"Мобилно обвързване"},X4={show:"Показване на {{label}}",warning:{caps:"ВНИМАНИЕ: Caps lock (⇪) е включен",paste:'за да копирате текста, активирайте "ПОКАЗВАНЕ НА {{label}}"'}},e5={button:"Генериране на случайно число",description:"Вашият BitBox генерира следното {{bits}}-битово случайно число:"},t5={label:"Вашият адрес",onlyThisCoin:{description:"За да получавате други криптовалути, ги активирайте в настройките. Ако депозирате различна криптовалута тук, е много вероятно да не можете да получите достъп до нея.",warning:"Уверете се, че ще получавате само {{coinName}} на този адрес."},showFull:"Показване и потвърждаване на пълния адрес върху устройство",title:"Извличане на {{accountName}}",verify:"Сигурно потвърждение на адреса",verifyBitBox01:"Потвърждение на адреса чрез мобилно приложение",verifyBitBox02:"Потвърждение на адреса чрез BitBox02",verifyInstruction:"Уверете се, че адресът съвпада с показания на екрана на Вашето устройство.",warning:{secureOutput:'Обвържете Вашия BitBox с мобилно устройство, за да можете да изпълнявате сигурна верификация на адресите. Отворете менюто "Управление на устройството" от страничната лента.'}},n5={description:"Всички данни върху устройството ще бъдат изтрити. Това включва частния ключ!",notReset:"Устройството НЕ Е нулирано.",title:"Нулиране на устройството",understand:"Разполагам с архив и знам паролата за възстановяване",understandBB02:"Разполагам с валиден архив"},a5={create:{description1:"Преди да настроите своето устройство, уверете се че, че се намирате в сигурна среда.",description2:"Ще поискаме от Вас да създадете две пароли.",description3:"Първото е защитната парола, която отключва Вашето BitBox устройство и може да бъде променяна.",description4:"Втората е паролата за възстановяване от архив, която отключва Вашия портфейл. Тази парола не може да бъде променяна на по-късен етап.",description5:"Създаденият портфейл ще бъде архивиран върху предоставената microSD карта. Този архив може да се използва в аварийна ситуация за възстановяване на достъпа до Вашите средства чрез въвеждане на паролата за възстановяване.",title:"Информация за сигурността"},restore:{description1:"Ще поискаме от Вас да поставите microSD картата, която съдържа Вашия архив.",description2:"За да възстановите съдържанието на устройството, се нуждаете от паролата за възстановяване.",description3:"Бъдете изключително внимателни, когато въвеждате паролата за възстановяване. Всяка парола ще създаде валиден портфейл. Ако въведете грешна парола, няма да видите очаквания баланс.",title:"Информация за сигурността"}},i5={agreements:{"funds-access":"НЯМА ДА МОГА да получа достъп до моите средства, ако загубя паролата за възстановяване.","password-change":"НЯМА ДА МОГА да променя паролата за възстановяване в по-късен момент.","password-required":"Паролата за възстановяване е необходима за реконструирането на портфейл от архивно копие"},create:"Създаване на портфейл",creating:"Създаване на портфейл...",description:"Разбирам, че:",error:{e102:"Паролата трябва да съдържа минимум 4 символа.",e200:"При създаването на портфейл трябва да поставите microSD карта във Вашето BitBox устройство, за да може да бъде генериран автоматичен архив."},info:{button:"Задаване на парола за възстановяване",description1:"Поставете microSD картата в BitBox",description2:'Въведете парола за възстановяване на портфейла и изберете "Задаване на парола за възстановяване"',description3:"Архивът върху microSD картата и избраната от Вас парола за възстановяване заедно представляват единственото възможно средство за възобновяване на достъпа до Вашите средства в случай, че BitBox устройството бъде изгубено или откраднато.",description4:"Не можете да промените паролата за възстановяване на по-късен етап, без да прехвърлите всичките средства от портфейла.",title:"Създаване на нов портфейл"},password:{label:"Парола за възстановяване",repeatPlaceholder:"Парола за възстановяване (повторете)"},walletName:{label:"Име на портфейла"}},o5={error:{e200:"За възстановяване на портфейл от архива е необходима използваната microSD карта."},info:{description1:'Поставете microSD картата в BitBox устройството и натиснете "Напред"',description2:'Изберете архив и натиснете "Възстановяване"',description3:"Въведете паролата за възстановяване",description4:"Трябва да потвърдите, че разбирате, че неправилно въведената парола ще създаде различен портфейл.",title:"Как се възстановява портфейл от архив"}},r5={abort:"Транзакцията беше прекъсната.",address:{label:"Адрес на получателя",placeholder:"Въвеждане на адрес"},amount:{label:"Сума",placeholder:"Въведете сума"},button:"Подписване и изпращане",coincontrol:{address:"Адрес",outpoint:"Избор на output",title:"Избор на output за харчене"},confirm:{"selected-coins":"Избрана криптовалута",title:"Потвърждение на транзакцията",total:"Общо"},error:{insufficientFunds:"недостатъчно средства",invalidAddress:"невалиден адрес",invalidAmount:"невалидна сума",invalidData:"невалидни данни"},fee:{customPlaceholder:"Въведете сума",label:"Мрежова такса",placeholder:"Не е налична"},feeTarget:{description:{economy:"24 блока (около 4 часа за Bitcoin, 1 час за Litecoin)",high:"2 блока (около 20 минути за Bitcoin, 5 минути за Litecoin)",low:"12 блока (около 2 часа за Bitcoin, 30 минути за Litecoin)",normal:"6 блока (около 1 час за Bitcoin, 15 минути за Litecoin)"},estimate:"Прогнозно време за включване:",label:{economy:"икономична",high:"висока",low:"ниска",normal:"нормална"},placeholder:"Изчисляване на таксата..."},maximum:"Изпращане на всичко",scanQR:"Сканиране на QR код",signprogress:{description:"Тази транзакция съдържа много данни. За да я подпишете изцяло са необходими {{steps}} потвърждения.",label:"Напредък"},success:"Транзакцията е подписана и изпратена.",title:"Изпращане от {{accountName}}",toggleCoinControl:"Контрол върху харченето (Coin Control)"},s5={electrum:{add:"Добавяне на сървър","add-server":"Добавяне",check:"Проверка",checkFailed:"Неуспешно",checkSuccess:"Успешно установена връзка с {{host}}",checking:"Проверка...","download-cert":"Сваляне на сертификата на сървъра","remove-server":"Премахване",removeConfirm:"Да премахнем ли {{server}}?",reset:"Възстановяване на настройките по подразбиране",resetConfirm:"Желаете ли да премахнете всички добавени сървъри и да инсталирате сървърите по подразбиране?",servers:"Сървъри",step1:"1","step1-text":"Въведете крайната точка.",step2:"2","step2-text":"Въведете сертификат за удостоверителната верига на сървъра, или свалете сертификата на сървъра и го сравнете визуално.",step3:"3","step3-text":"Проверете връзката и добавете сървъра",step4:"4","step4-text":"Рестартирайте портфейла. Ако не премахнете сървърите по подразбиране, вашият собствен сървър ще се използва като резервен.","title-btc":"Bitcoin Electrum сървъри","title-ltc":"Litecoin Electrum сървъри","title-tbtc":"Bitcoin Testnet Electrum сървъри","title-tltc":"Litecoin Testnet Electrum сървъри"},expert:{coinControl:"Активиране на контрола върху монетите (Coin Control)",electrum:{title:"Свързване на Вашия собствен сървър"},setProxyAddress:"Задаване на прокси адрес",title:"Експертни настройки",useProxy:"Активиране на Tor прокси"},header:{home:"Начало"},restart:"Рестартирайте BitBoxApp, за да могат промените да влязат в сила.",success:"Извадете BitBox устройството и го поставете отново, за да могат промените да влязат в сила.",title:"Настройки"},l5="Настройка на устройството",c5={device:"Управление на устройството",leave:"Напускане",settings:"Настройки"},u5={create:{info1:"Вашият портфейл е успешно архивиран върху microSD картата. Извадете я от устройството и я съхранявайте на сигурно място.",info2:"Създадохте силна защитна парола, която служи да отключва Вашия BitBox.",info3:"Създадохте сигурна парола за възстановяване на портфейла, която отключва достъпа до Вашата криптовалута и възстановява портфейла от архив.",summary:"Резюме на извършените действия",title:"Успех"},getstarted:"Начало",restore:{summary:"Успешно възстановихте Вашия портфейл от архив.",title:"Успех"}},d5={confirmation:"Потвърждения",explorer:"ID на транзакция",explorerTitle:"Отваряне във външен блок експлорер",fee:"Такса",fiatHistorical:"Исторически стойности",gas:"Gas",pending:"Транзакция, чакаща потвърждение",size:"Размер",vsize:"Виртуален размер",weight:"Тегло"},p5={placeholder:"Още няма транзакции."},h5="Възникна неизвестна грешка: {{errorMessage}}",m5={description:"Въведете защитната парола, за да отключите Вашето устройство.",error:{e109_normal:"Грешна защитна парола. Остават {{remainingAttempts}}, преди устройството да се самоизтрие.",e109_touch:"$t(unlock.error.e109_normal) Следващия опит за влизане изисква натискане и задържане на сензорния бутон.",e113:"Заради много последователни неуспешни опити за вход, следващият опит за въвеждане изисква да задържите сензорния бутон натиснат за 4 секунди."},input:{label:"Защитна парола",placeholder:"Въведете защитната парола, за да отключите устройството"},unlocking:"Отключване..."},f5={button:"Актуализиране на firmware",description:"Съгласни ли сте да обновите firmware от версия {{currentVersion}} до {{newVersion}}?",label:"Вашият BitBox изисква актуализация на firmware.",locked:"За да надградите от {{currentVersion}} до {{newVersion}}, моля натиснете сензорния бутон продължително.",title:"Актуализиране на firmware",unlocked:"Bootloader-ът е отключен. За да продължите, моля:",unlocked1:"Откачете и включето отново Вашия BitBox",unlocked2:"Когато BitBox устройството е включено отново, ще светне светодиодният индикатор",unlocked3:"Когато светодиодният индикатор светне, натиснете сензорния бутон"},g5={receivePairing:'Обвържете Вашия BitBox, за да можете да изпълнявате сигурна верификация на адресите. Отворете менюто "Управление на устройството" от страничната лента.',sdcard:"Съхранявайте microSD картата отделно от BitBox устройството, освен ако не управлявате архивите.",sendPairing:'Обвържете BitBox устройството, за да можете да потвърждавате параметрите на транзакциите в сигурна среда. Отворете менюто "Управление на устройството" от страничната лента.'},v5={insertBitBox02:"За BitBox02, докоснете сензорния бутон на устройството, за да продължите.",insertDevice:"Свържете устройството, за да започнем работа",title:"Добре дошли!"},b5={account:f4,accountInfo:g4,accountSummary:v4,addAccount:b4,app:k4,backup:x4,bb02Bootloader:y4,bitbox:w4,bitbox02Interact:j4,bitbox02Settings:B4,bitbox02Wizard:S4,blink:z4,bootloader:C4,button:D4,changePin:A4,checkSDcard:_4,clickHere:T4,confirm:E4,confirmOnDevice:P4,device:N4,deviceLock:L4,deviceSettings:I4,deviceTampered:$4,dialog:M4,fiat:O4,footer:R4,genericError:F4,goal:V4,guide:W4,headerssync:U4,hiddenWallet:q4,initialize:H4,invalidFormat:K4,language:G4,legacyhiddenwallet:Q4,loading:Y4,notification:Z4,pairing:J4,password:X4,random:e5,receive:t5,reset:n5,securityInformation:a5,seed:i5,seedRestore:o5,send:r5,settings:s5,setup:l5,sidebar:c5,success:u5,transaction:d5,transactions:p5,unknownError:h5,unlock:m5,upgradeFirmware:f5,warning:g5,welcome:v5},k5={disconnect:"Bağlantı koptu. Tekrar deneniyor...",exportTransactions:"İşlemleri İndirilenler Klasörüne CSV Dosyası Olarak Dışa Aktar",fatalError:"Beklenmeyen bir hata oluştu.",incoming:"Gelen",initializing:"Blockchain'den bilgi alınıyor…",reconnecting:"Bağlantı koptu, yeniden bağlantı kuruluyor..."},x5={address:"Adres",extendedPublicKey:"Genişletilmiş Genel Anahtar",label:"Hesap bilgileri",title:"Hesap Bilgileri",verify:"Bu cihazda doğrula"},y5={balance:"Bakiye",exportSummary:"Hesap Özetini İndirilenler Klasörüne CSV Dosyası Olarak Dışa Aktar",fiatBalance:"Fiat Bakiyesi",name:"Hesap adı",noAccount:"Gösterilecek hesap yok.",title:"Hesap Özeti",total:"Toplam"},w5={title:"Hesap Ekle"},j5={upgrade:"Bu uygulamanın yeni bir sürümü mevcut! Lütfen {{current}} 'dan {{version}}'a yükseltin."},B5={check:{checking:"Yedekleme kontrol ediliyor...",confirmTitle:"Yedeklemeyi Kontrol Et",notOK:"Yedekleme cüzdanla eşleşmiyor.",ok:"Yedekleme cüzdanla eşleşti.",password:{label:"Şifre yenileme",placeholder:"Kurtarma şifresi",showLabel:"kurtarma şifresi"},success:"Başarıyla doğrulanmış yedeklemeler:",title:"Yedeklemeyi Kontrol Et"},create:{alreadyExists:"Zaten geçerli bir yedeğiniz var. Yeniden yedeklemek ister misiniz?",fail:"Yedekleme oluşturma BAŞARISIZ!",info:"Lütfen doğrulama için mevcut cüzdanınızın kurtarma şifresini girin.",name:{label:"Yedek Adı",placeholder:"Lütfen yedeği adlandırın"},password:{label:"Kurtarma Şifresi",placeholder:"Lütfen kurtarma şifrenizi girin"},title:"Yedek Oluştur",verificationFailed:"Kurtarma şifresi mevcut cüzdanla eşleşmiyor. Yedekleme oluşturuldu. Lütfen kurtarma şifrenizi tekrar doğrulamak için 'Yedeklemeyi Kontrol Et'i kullanın."},description:"cüzdan yedekleme dosyasını seçin",insert:"Yedeklemeleri yönetmek için lütfen micro SD kartı takın.",insertButton:"Mikro SD kartımı taktım",list:"MicroSD kart yedekleriniz",noBackups:"Bu microSD kartta yedekleme yok.",restore:{confirmTitle:"Yedeklemeyi Geri Yükle",error:{e200:"SD kart bulunamadı"},password:{label:"Kurtarma şifresi veya gizli kurtarma şifresi",placeholder:"Kurtarma şifresi",repeatPlaceholder:"Kurtarma şifresini tekrar girin",showLabel:"Kurtarma şifresi"},restoring:"Yedekleme geri yükleniyor...",title:"Geri Yükle",understand:"Yanlış kurtarma şifresinin farklı bir cüzdan yaratacağını onaylıyorum"},showMnemonic:{description:`Cüzdanınızın yedeğini oluşturan 24 kelimeyi size sunacağız. Onları kağıda yazın. + +Bunları dijital olarak saklamayın veya fotoğraflarını çekmeyin. + +Kelimeleri yüksek sesle söyleme. + +Bu yedekleme şifre korumalı değildir. + +Sonrasında, her bir kelimeyi tek tek onaylamanız istenecektir.`,title:"BIP39 Anımsatıcısını Göster"},title:"Yedeklemeleri Yönet"},S5={abort:"Yükseltmeyi durdur – Beni geri götür",advanced:{label:"Gelişmiş Ayarlar",toggleShowFirmwareHash:"Her açılışta bellenim hash'ini göster"},flipscreen:"Ekran çevir",orientation:"Cihaz yanlış yöne mi yöneldi?",success:"Yükseltme başarılı! {{rebootSeconds}} saniye içerisinde devam edecek..."},z5={error:{e10000:"Geçerli cihaz şifresi yanlış.",e10001:"Cihazın şifresini değiştirme başarısız",e102:"Şifre en az 4 karakterden oluşmalıdır.",e112:"Gizli cihaz şifresi, ana cihaz şifresi ile aynı olamaz."}},C5={followInstructions:"Lütfen BitBox02 üzerindeki talimatları takip edin."},D5={deviceName:{current:"Geçerli cihaz adı",input:"BitBox02 Adı",title:"BitBox02 cihazınızı isimlendirin"}},A5={attestationFailed:"Cihaz onayı başarısız oldu. BitBox'ınız sahte veya tehlikede olabilir. BitBox02 üzerindeki paralar kaybolma riski altında olabilir. Lütfen acilen support@bitbox.swiss ile iletişime geçin.",backup:{point1:"MicroSD karttan bir yedek seçin",point2:"Cihazınız için bir şifre belirleyin",restoreText:"Tamam, hadi bir yedeği geri yükleyelim!",text1:"Harika, BitBox02 şifreniz ayarlandı ve cüzdan oluşturuldu. Şimdi ilk yedeğinizi oluşturma zamanı. Lütfen microSD kartınızın BitBox02 cihazınıza takılı olduğundan emin olun ve devam edin.",text2:"Bir yedekleme oluşturmak için lütfen cihazınızdaki ekrandaki talimatları izleyin.",text3:"Yedeklemeniz oluşturulduktan sonra, lütfen microSD kartı çıkarın ve güvenli bir yerde saklayın. MicroSD kartın içeriği şifre korumalı değildir. Bu nedenle asla başka bir cihaza yerleştirmeyin.",userConfirmation1:"Yedeklememi güvenli bir yerde saklamalıyım.",userConfirmation2:"Yedeklerim şifre korumalı değil. Buna erişimi olan herkes cüzdanıma erişebilir.",userConfirmation3:"BitBox02 yazılımımı kaybedersem veya zarar verirsem, paramı kurtarmanın tek yolu yedeklememden geri yüklemektir.",userConfirmation4:"Hem yedeğimi hem de BitBox02’mi kaybedersem veya zarar verirsem fonlarım kaybolacak."},create:{button:"Cihazı adlandır ve devam et",info:"İşte BitBox'ınızı ayarlamak için atmanız gereken temel adımlar: ",inputTitle:"Cüzdan adı",point1:"Cihazınızı adlandırın",point2:"Cihazınız için bir şifre belirleyin",point3:"Yedekleme oluştur",text:"Tamam, hadi yeni bir cüzdan yaratalım!"},initialize:{passwordText:"Şimdi cihazınız için bir şifre ayarlayalım. Bir şifre girmek ve bir şifre seçmek için BitBox'ınızdaki kontrolleri kullanın.",passwordTitle:"BitBox'ınız için bir şifre belirleyin",text:"BitBox02 cihazınız başarıyla eşleştirildi! Şimdi cihazınızı başlatalım. Yeni bir cüzdan oluşturmayı veya cüzdanı mevcut bir yedekten geri yüklemeyi seçerek başlayın. Lütfen BitBox02 cihazınıza takılı bir microSD kartın olduğundan emin olun.",tip:"Başlamadan önce, işlemlere güvenli bir ortamda devam etmeniz şiddetle tavsiye edilir.",title:"BitBox'ınızı başlatın"},insertSDCard:"Lütfen BitBox02 cihazınıza takılı bir microSD kartın olduğundan emin olun.",pairing:{failed:"Onaylanmamış eşleştirme. Lütfen BitBox02'nizi değiştirin.",paired:"Cihazınızda kodun eşleştiğini onayladınız. Bu doğruysa, aşağıdaki düğmeye tıklayarak devam edebilirsiniz.",title:"Eşleştirme Kodunu Doğrulayın",unpaired:"Yeni bir BitBox02 tespit edildi. Lütfen aşağıdaki kodun cihazınızda gösterilenlerle eşleştiğini doğrulayın. Kod eşleşirse, BitBox02 üzerindeki onay işaretinin altındaki simgeye dokunun ve devam etmek için aşağıdaki düğmeye tıklayın."},restoreFromMnemonic:{failed:"BIP39 anımsatıcısından geri yükleme başarısız oldu, lütfen tekrar deneyin."},stepBackup:{beforeProceed:"Devam etmeden önce, lütfen şu önemli güvenlik hususlarını okuyun:",createBackup:"Şimdi microSD kartınızda bir yedekleme oluşturacaksınız."},stepBackupSuccess:{fundsSafe:"Fonlarınızı güvende tutmak için lütfen aşağıdakileri unutmayın:",title:"Yedekleme Geri Yüklendi!"},stepConnected:{unlock:"Kilidi açmak için BitBox02 şifresini girin."},stepCreate:{nameLabel:"BitBox02 adı",namePlaceholder:"Benim BitBox02 cüzdanım",title:"BitBox02 adını seçin",toastMicroSD:"Lütfen microSD kartınızın BitBox02 cihazınıza takılı olduğundan emin olun."},stepCreateSuccess:{removeMicroSD:"Lütfen microSD kartı BitBox02 cihazınızdan çıkarın ve güvenli bir yerde saklayın.",success:"Yedeklemenizi başarıyla oluşturdunuz."},stepPassword:{title:"BitBox02 şifresini ayarla",useControls:"Bir şifre belirlemek için BitBox02 üzerindeki kontrolleri kullanın."},stepUninitialized:{create:"BitBox02 cihazımı yeniden kurmak istiyorum.",restore:"Cüzdanımı bir yedekten geri yüklemek istiyorum.",restoreMicroSD:"MicroSD karttan geri yükle",restoreMnemonic:"Anımsatıcıdan geri yükle",title:"BitBox02 cihazınızı kurun"},success:{text:`Yaşasın! BitBox02'niz artık kullanıma hazır. + +BitBox Uygulaması'nın nasıl kullanılacağı hakkında daha fazla bilgi için, lütfen sağ üst köşedeki soru işaretini tıklayarak uygulama içi kılavuzunu kullanın.`,title:"Başlamaya hazırsın!"}},_5={button:"Göz ardı et"},T5={button:"Donanım yazılımını şimdi yükselt",progress:"Yükseltme: {{progress}}%",success:"Yükseltme başarılı! Lütfen cihazı tekrar takın. Bu kez, düğmeye dokunmayın."},E5={abort:"İptal Et",back:"Geri",changepin:"Cihaz Şifresini Değiştir",check:"Yedeklemeyi Kontrol Et",continue:"Devam et",copy:"Kopyala",create:"Oluştur",download:"İndir",hiddenwallet:"Gizli Cüzdan Oluştur",next:"Sonraki",ok:"Tamam",previous:"Önceki",receive:"Alınan",restore:"Geri Yükle",select:"Seç",send:"Gönder",unlock:"Kilidini aç",update:"Güncelleştirme",upgrade:"Yükselt"},P5={newTitle:"Yeni cihazın şifresi",oldLabel:"Mevcut cihazın şifresi"},N5="Mikro SD kart kontrol ediliyor",L5="Buraya tıklayın.",I5={abortInfo:"Dokunun",abortInfoRedText:"İptal et",approveInfo:"Şu tuşa 4 saniye basılı tut ",approveInfoGreenText:"doğrula",info:"BitBox'ınızda",infoWhenPaired:"Önce telefonla sonrasında Bitbox'la eşleştirin"},$5="Lütfen cihazınızda onaylayın.",M5={appUpradeRequired:"BitBox'ınız bu masaüstü uygulaması ile uyumlu değil. Lütfen en son sürümü indirin ve yükleyin."},O5={button:"Two Factor Authorization (2FA) Etkinleştirme",condition1:"Bir yedeğin var mı?",condition2:"Mobil uygulama doğrulama çalışıyor mu?",condition3:"2FA yedekleri ve mobil uygulama eşleştirmesini DEVRE DIŞI bırakır. 2FA'dan çıkmak için cihazın SIFIRLANMASI olması gerekir!",confirm:"Two Factor Authorization (2FA) Etkinleştirme",title:"Two Factor Authorization (2FA) Etkinleştirme"},R5={firmware:{newVersion:{label:"Mevcut sürüm"},title:"Donanım yazılımı",upToDate:"Cihazınız güncel",version:{label:"Versiyon"}},hardware:{sdcard:{false:"Takılı değil",label:"Mikro SD kart",true:"Takılı"},title:"Donanım"},loading:"Cihaz bilgisi alınıyor…",pairing:{lock:{false:"Devre dışı",label:"Two Factor Authorization (2FA)",true:"Etkinleştir"},mobile:{false:"Kapalı",label:"Mobil Uygulama",true:"Aç"},status:{false:"Eşleştirilmemiş",label:"Durum",true:"Eşleştirilmiş"},title:"Eşleştirme"},secrets:{manageBackups:"Yedekleri Yönet",title:"Secrets"}},F5="BitBox'ınıza kurtarma şifresi mi sağlandı? Öyleyse, kurulum işlemini durdurun ve hemen desteğe başvurun. Ekibimiz asla size hazır bir cüzdan vermez veya şifre önerileri yapmaz.",V5={cancel:"İptal Et",confirm:"Doğrula"},W5={default:"Varsayılan",setDefault:"{{code}} varsayılan olarak ayarla",title:"Para birimleri"},U5={appVersion:"Uygulama Sürümü:"},q5="Bir hata oluştu. Herhangi bir sorunla karşılaşırsanız, lütfen uygulamayı yeniden başlatın.",H5={buttons:{create:"Yeni bir cüzdan oluştur",restore:"Cüzdanı yedekten geri yükle"},paragraph:"Lütfen aşağıdaki seçeneklerden birini seçin:",step:{1:{title:"Güvenlik bilgileri"},2:{description:"Bir cihaz şifresi belirleyin",title:"cihaz"},"3-create":{description:"Yeni bir cüzdan oluştur",title:"Cüzdan"},"3-restore":{description:"bir yedekten",title:"Geri Yükle"},"4-create":{title:"Özet"},"4-restore":{title:"Özet"}}},K5={accountDescription:{text:'Hesabınıza genel bakış, mevcut bakiyenizi, gelen ve giden işlemlerinizi gösterir. " Ayarlar" sekmesindeki kılavuzumuz her hesap türü hakkında daha fazla bilgi içerir. ',title:"Bu sayfa bana ne gösteriyor?"},accountFiat:{text:"Evet. Fiat para birimlerine dönüştürmek için herhangi bir ticker'a tıklayın. Ayarlardan Fiat para birimlerini değiştirebilirsiniz.",title:"Diğer dönüşüm oranlarını görüntüleyebilir miyim?"},accountIncomingBalance:{text:"Yatırılanlar; size aktarılan ancak henüz ağ tarafından onaylanmayan tutarları gösterir.",title:"Yatırılanlar ne demek?"},accountInfo:{xpub:{text:`Genişletilmiş bir genel anahtar, bir hesabın tüm alıcı adreslerinin türetildiği bir kök anahtardır. +Burada Electrum veya Sentinel gibi yalnızca izlemek için olan cüzdanlarla ileri düzeyde kullanım ve birlikte çalışabilirlik için sağlanmıştır.`,title:"Genişletilmiş genel anahtar nedir?"}},accountRates:{text:"Kripto para kurlarını her dakika CoinGecko'dan güncelliyoruz.",title:"Hangi döviz kurları uygulanıyor?"},accountReload:{text:"Buna ihtiyacınız yok. İşlem bilgileriniz otomatik olarak güncellenir.",title:"İşlem geçmişini yeniden yükleyebilir miyim?"},accountSendDisabled:{text:'Bakiyeniz sıfırdan fazla olduğunda "Gönder" butonu etkinleşir.',title:"Neden hiçbir şey gönderemiyorum {{unit}}?"},accountTransactionAttributesBTC:{title:""},accountTransactionAttributesGeneric:{text:`Onaylar: İlk işlem yayınınız, bir madenci bir bloğa dahil edinceye kadar onaylanmaz, ardından bir onay verilir. Ağda yayınlanan her blok, işleminize başka bir onay ekler. Genel olarak, tüccarlar ve diğer ağ aktörler üç ila altı onay aldığında işlemleri gerçekleştirir. +İşlem Kimliği: Bir blok gezgininde bir işlem aramanıza izin veren benzersiz bir kimlik numarası. +Ücret: Madencilere, işlemleri onaylamalarını teşvik etmek için işlem ücreti ödenir. Daha fazla bilgi için, gönder düğmesine tıklayın.`,title:"İşlem detaylarındaki bilgiler neler?"},accountTransactionConfirmation:{text:"Ağda yayınlanan ancak henüz onaylanmayan bir işlem.",title:"Beklemedeki işlem nedir?"},accountTransactionLabel:{text:"Kripto paralarınızı aldığınız veya gönderdiğiniz adres.",title:"Her işlemde görüntülenen adres hangisi?"},accountTransactionTime:{text:"Blockchain işlem onay süresi.",title:"Ne zaman görüntülenir?"},appendix:{link:"Bizimle iletişime geçin!",text:"Başka bir soru?"},backups:{check:{text:"'Yedeklemeyi kontrol et', geçerli cüzdanınıza karşılık gelen çalışan bir yedeklemeniz olduğunu doğrulamanıza olanak tanır. Ayrıca hala doğru kurtarma şifresine sahip olduğunuzu doğrulamak için kullanılabilir. Ana kurtarma şifrenizi veya gizli kurtarma şifrenizi kontrol edebilirsiniz.",title:"'Yedeklemeyi kontrol et' nedir?"},encrypt:{text:"Hayır, ancak kurtarma şifrenizin cüzdanda depolanan sedden üretilmesi gerekir.",title:"Yedeklemeyi şifreleyebilir miyim?"},howOften:{text:`Yeni bir cüzdan oluşturulduğunda, yedekleme otomatik olarak oluşturulur. Yalnızca microSD kartınız kaybolursa veya hasar görürse veya yedek olarak birden fazla microSD kart kullanmak istiyorsanız, yeni bir yedekleme yapmanız gerekir. +İşlem faaliyetinden sonra yeni yedeklemeler oluşturmanıza gerek yoktur. Tüm işlem verileriniz, sizin için otomatik olarak oluşturulan tek bir yedeklemeyle yeniden oluşturulabilir.`,title:"Ne sıklıkla yedekleme yapmam gerekir?"},whatIsABackup:{text:"Mikro SD kartınızdaki seedin bir kopyası. Seed, kurtarma şifrenizle birlikte cüzdanınızı oluşturur.",title:"Yedek nedir?"}},backupsBB02:{check:{text:"'Yedeklemeyi kontrol et' geçerli cüzdanınıza karşılık gelen çalışan bir yedeklemeniz olduğunu doğrulamanızı sağlar.",title:"'Yedeklemeyi kontrol et' nedir?"},encrypt:{text:`Hayır. Seedler şifrelenmemiş bir şekilde tutulduğundan MicroSD kartınızı güvende tutun. Seed'i şifreyle korumak istiyorsanız, "Cihazı yönet" altındaki gelişmiş ayarlardan isteğe bağlı bir şifre etkinleştirebilirsiniz.`,title:"Yedeklemeyi şifreleyebilir miyim?"},whatIsABackup:{text:"Bir microSD karttaki seed'in bir kopyası.",title:"Yedek nedir?"}},bitbox:{"2FA":{text:`2FA etkinleştirildiğinde, para harcamak için tüm işlemlerin eşleştirilmiş cep telefonunda onaylanması gerekir. Böylece şiifreli bir tek kullanımlık numara mobil uygulamaya gönderilir, orada şifresi çözülür ve Kabul Et düğmesine basıldığında BitBox'a geri döndürülür. Cihazla bu iletişim, cep telefonu ile eşleştirme sırasında kurulan bu masaüstü uygulaması arasındaki kanal üzerinden yapılır. + +2FA'yı etkinleştirmeden önce cüzdanınızı yedeklediğinizden ve mobil uygulamayı eşleştirdiğinizden emin olun. Once enabled, the micro SD slot and mobile app pairing are disabled. They can be re-enabled by resetting the BitBox, which erases the device.`,title:"İki faktörlü doğrulama (2FA) nasıl çalışır?"},disable2FA:{text:"2FA'yı devre dışı bırakmak için, BitBox'ınızı sıfırlamanız ve ardından cüzdanı yedekten geri yüklemeniz gerekir. Yedeklemeye sahip microSD kartın hala olduğundan ve kurtarma şifresini hala hatırladığınızdan emin olun. Ardından 'Cihazı sıfırla' tuşuna basın. Yeni bir cihaz şifresi belirleyin ve 'Veya yedeği geri yükle'yi seçin. Cüzdanda oluşturduğunuz yedeklemeyi seçin, 'Geri Yükle'yi tıklayın ve cüzdanı oluştururken kullandığınız kurtarma şifresini girin.",title:"İki faktörlü doğrulamayı (2FA) nasıl devre dışı bırakabilirim?"},ejectBitbox:{text:"",title:"BitBox'ı nasıl çıkarabilirim?"},ejectSD:{text:"MicroSD kartı BitBox'tan istediğiniz zaman yedekleme oluşturma veya geri yükleme işlemi yapmadığınız sürece kaldırabilirsiniz.",title:"MicroSD kartı nasıl çıkarabilirim?"},hiddenWallet:{text:"Aynı cihazda, makul bir reddedilebilirlik için kullanabileceğiniz farklı bir cihaz şifresi ve kurtarma şifresiyle korunan ikinci bir cüzdandır. Aynı yedek send hem normal, hem de gizli cüzdanınız için kullanılır, bu nedenle ek bir yedekleme gerekmez.",title:"Gizli cüzdan nedir?"},legacyHiddenWallet:{text:"Önce aşağıdaki düğmeyi tıklayın (BitBox ana cihaz şifresiyle açılmışsa ve 2FA devre dışı bırakılmışsa kullanılabilir), ardından Bitbox'ınızı yeniden takıp kilidini gizli cihaz şifrenizle açın.",title:"Eski gizli cüzdanıma nasıl erişirim?"},pairing:{text:"Mobil uygulamamızı iOS veya Android için indirdikten sonra, mobil uygulama ile bu uygulama arasında güvenli bir kanal kuran görüntülenen QR kodunu tararsınız. Tarandıktan sonra mobil uygulamadaki talimatları izleyin.",title:"Telefonumla güvenli bir şekilde nasıl eşleştirilir"}},receive:{address:{text:"Size başkalarının kripto para göndermeleri için adresinizi verebilirsiniz. Sadece doğru adresi gönderdiğinizden emin olun.",title:"Bir adres ile ne yapabilirim?"},addressChange:{text:"İşlem yaptığınız anda, otomatik olarak listeye yeni bir adres eklenir, böylece her zaman kripto para almayan 20 adres bulunur.",title:"Adresler ne zaman değişir?"},howVerify:{text:`BitBox01 için soldaki kenar çubuğundaki BitBox simgesine tıklayın ve Eşleştirme bölümüne bakın. Kılavuz güncellenir ve oradaki talimatları izlemeye devam edebilirsiniz. +BitBox02 için, gönderme/alma işlemi sırasında adresleri doğrudan cihaz üzerinde doğrulayabilirsiniz.`,title:"Bir adresi güvenli bir şekilde nasıl doğrulayabilirim?"},why20:{text:"",title:"Neden sadece 20 adres?"},whyMany:{text:"Gizliliği ve güvenliği sağlamak için, aynı adresi asla iki kez vermeyin. Bir adres kullandıysanız, yeni bir adres için sağ oka tıklayın. Bir seferde 20 adede kadar adres oluşturabilirsiniz. Fatura numaraları gibi adresleri düşünün. Tüm adresler, tek yedekleme senedinden türetilir.",title:"Neden bu kadar çok adres var?"},whyVerify:{text:"Orijinal adresleri oluşturmak ve görüntülemek için bilgisayarınıza güvenmemelisiniz. Büyük bir saldırı, donanım cüzdanınızın daha savunmasız kalmasını sağlar. BitBox01'in güvenli bir şekilde doğrulama düğmesi, adresi QR kodunu da tarayabileceğiniz ve doğrulayabileceğiniz eşleştirilmiş bir cep telefonuna gönderir. BitBox02 için, adres doğrudan BitBox02 ekranında doğrulanabilir.",title:"Neden adresi güvenli bir şekilde doğrulamalıyım?"}},send:{fee:{text:`Ücret, işlem miktarına değil işlem miktarına göre belirlenir. Ücret hedefleri, seçtiğiniz her ağ önceliği için Bitcoin Core'un ücret tahmin algoritması ile hesaplanır. Aşağıdaki hedeften farklı bir değere sahiplerse gösterilirler. +Ekonomi: 24 blok (Bitcoin için yaklaşık 4 saat, Litecoin için 1 saat) +Düşük: 12 blok (Bitcoin için yaklaşık 2 saat, Litecoin için 30 dakika) +Normal: 6 blok (Bitcoin için yaklaşık 1 saat, Litecoin için 15 dakika) +Yüksek: 2 blok (Bitcoin için yaklaşık 20 dakika, Litecoin için 5 dakika) +(Bir blok Bitcoin için ortalama on dakika sürer (Litecoin'de 2.5 dakika) ve ağ yükü yukarıdaki periyotlarda önemli ölçüde değişebilir.)`,title:"Ücret nasıl belirlenir?"},priority:{text:"Ödemek istediğiniz ücret ne kadar yüksekse, işleminiz genellikle ağ tarafından daha erken onaylanır.",title:"Ağ önceliği nedir?"},revert:{text:`Bir işlem imzalanıp gönderildikten sonra (yani ağa yayınlanır), artık geri alınamaz. İmzalamadan önce işlemleri (ücret dahil) doğru bir şekilde doğrulayın! +Alıcıyı tanıyorsanız ve aynı tutarı (eksi işlem ücretlerini) size geri göndermeye istekliyse, onlara yeni bir alıcı adresi gönderebilirsiniz.`,title:"Bir işlemi geri alabilir miyim?"},whyFee:{text:`İşlemler madenci tarafından onaylanmak için yarışıyor. Madenciler ücretlerine göre Blockchain'e dahil edilecek işlemleri seçiyorlar. +Madenciler işlem tarihine oy veriyor. İşlemleri onaylayacak güvenli bir üçüncü taraf olmadığı için (Blockchain'lerin hepsinde), madenciler bilgisayar gücü gibi pahalı bir kaynaktan fedakarlık yaparak işlemleri oyluyorlar. İşlerinin bir ödülü olarak, yeni oluşturulan paraları ve içerdikleri tüm işlemlerin ücretini talep edebilirler.`,title:"Neden ağ ücreti var?"}},"settings-electrum":{what:{text:"Shift sunucularını kullanmak yerine cüzdanınıza kendi tam node'larınızla güç vermek mümkündür.",title:"Bu nedir?"}},settings:{servers:{text:`Bu uygulama, güncellemeleri kontrol etmek, işlemleri yüklemek ve eşleştirilmiş mobil uygulamalara bilgi göndermek için Shift Crypto sunucuları ile iletişim kurar. +Bu uygulama aynı zamanda CoinGecko'den en son döviz kurlarını alıyor. Tüm dönüşümler yerel olarak hesaplanır, bu işleminizin miktarı ile ilgili hiçbir veri iletilmediği anlamına gelir. +Not: Ethereum ve ERC20 Tokens için Etherscan.io API'lerini kullanıyoruz.`,title:"Bu uygulama hangi sunucularla konuşuyor?"}},title:"Kılavuz",toggle:{close:"Kılavuzu kapat",open:"Kılavuz"},unlock:{forgotDevicePassword:{text:"Kurtarma parolasını kullanarak cihazı sıfırlamanız ve cüzdanı bir yedekten geri yüklemeniz gerekir.",title:"Cihaz şifresini unuttuğumda ne yapmalıyım?"},reset:{text:"15 kez yanlış cihaz şifresi girin. Son birkaç deneme, cihaza uzun süre dokunmayı gerektirir.",title:"Cihazı nasıl sıfırlarım?"}},waiting:{deviceNotRecognized:{text:"Cihaz yerleştirildiğinde bir kez yanıp sönmelidir. Etrafına doğru yerleştirildiğinden emin olun. Eğer sorun yaşıyorsanız, lütfen aşağıdaki bağlantıdan bize ulaşın.",title:"BitBox01 tanınmıyor"},getDevice:{link:{text:"Bir BitBox siparişi verin"},text:"Online mağazamızda bir BitBox satın alabilirsiniz:",title:"Nasıl bir cihazı nasıl alabilirim?"},internet:{text:"Evet, cüzdanı senkronize etmek, işlemleri göndermek ve en son kurları almak için bir internet bağlantısı gerekir.",title:"Bu uygulama internet bağlantısı gerektiriyor mu?"},lostDevice:{link:{text:"Yedekleme merkezi"},text:"Hesaplarınızı yeni bir BitBox'la veya yedekleme merkezimizde kurtarabilirsiniz.",title:"Cihazımı kaybettim. Şimdi ne olacak?"},useWithoutDevice:{text:"Ne yazık ki, şu anda bu henüz mümkün değil.",title:"Bir cihaz olmadan uygulamayı kullanabilir miyim?"},welcome:{text:"Shift Crypto tarafından İsviçre'de üretilen bu uygulamayı kullandığınız için teşekkür ederiz. Paylaşmanız gereken herhangi bir geri bildirimi takdir ediyoruz. Lütfen alttaki bağlantıyı kullanarak geri bildirimde bulunun.",title:"BitBoxApp'a Hoşgeldiniz!"}}},G5={blocksSynced:"{{blocks}} blok senkronize edildi"},Q5={info1HTML:"",info2HTML:"Aşağıdaki gizli cüzdanınızla ilişkilendirmek istediğiniz cihaz şifresini ve kurtarma şifresini tanımlayın. Cihaz şifresi ve kurtarma şifresi farklı birincil cüzdanınız için tanımladığınızdan emin olun",passwordLabel:"Gizli kurtarma şifresi",passwordPlaceholder:"Lütfen gizli kurtarma şifresini onaylayın",pinLabel:"Gizli cihaz şifresi",pinRepeatLabel:"Gizli cihaz şifresini tekrarla",pinRepeatPlaceholder:"Lütfen gizli cihaz şifresini onayla",success:"Gizli cüzdan başarıyla oluşturuldu. Kilidini açmak için BitBox'ınızı değiştirin."},Y5={create:"Cihaz şifresini ayarla",creating:"Cihaz şifresini ayarla",error:{e102:"Cihaz şifresi en az 4 karakterden oluşmalıdır."},info:{description1:"Cihaz şifrenizi seçin. Bu, BitBox'ınızın kilidini açmak için kullanılacaktır.",description2:"Sayıları, harfleri ve sembolleri kullanabilirsiniz. Daha uzun şifreler daha yüksek güvenlik sunar.",description3:"Cihaz şifresini kaybederseniz, cihazınızı sıfırlamanız ve cüzdan yedeklemenizi geri yüklemeniz gerekir.",subtitle:"Şimdi cihaz şifrenizi ayarlayacaksınız",title:"Cihazınız başlatılıyor"},input:{label:"Cihaz parolası",labelRepeat:"Cihaz şifresini tekrarla",placeholderRepeat:"Lütfen cihaz şifresini doğrulayın"}},Z5="Geçersiz format",J5={title:"Dil Seçin"},X5={disable:"Eski gizli cüzdanı devre dışı bırak",enable:"Eski gizli cüzdanı etkinleştir",successDisable:"Eski gizli cüzdanı başarıyla devre dışı bıraktınız.",successEnable:"Eski gizli cüzdanı başarıyla etkinleştirdi. Eski gizli cüzdanınıza erişmek için BitBox'ınızı değiştirin ve gizli cihaz şifresini girin."},eV="Yükleniyor…",tV={newTxs_one:"{{accountName}}'da yeni işlem",newTxs_other:"{{count}} Yeni işlem: {{accountName}}"},nV={aborted:{text:"Eşleştirme işlemi mobil uygulamadan kaldırıldı.",title:"Kaldırıldı"},button:"Mobil Uygulamayla Eşleştir",confirm:"BitBox'ınızı eşleştirmek istediğinizden emin misiniz? Sonradan, cep telefonunun bir işlem gerçekleştirmesi gerektiğini unutmayın.",connectOnly:{button:"Mobil Uygulamayı Bağla",title:"'Yeni masaüstü uygulamasına bağlan' öğesini seçerek mobil uygulamamız ile tarayın"},error:{text:"Bir şeyler yanlış gitti. Lütfen tekrar başla.",title:"Hata"},reconnectOnly:{button:"Mobil Uygulamayı Yeniden Bağla"},start:{hideAppQRCode:"QR Kodunu Gizle",revealAppQRCode:"QR Kodunu Göster",step1:"Mobil uygulamanız yoksa, sahip olduğunuz telefona bağlı olarak Apple App Store veya Google Play Store için QR kodunu tarayabilirsiniz.",step2:"İOS ve Android uygulama mağazalarında 'Digital Bitbox 2FA' adı altında bulabileceğiniz mobil uygulamamız ile tarayın:"},started:{text:"Şimdi mobil uygulamadaki talimatları izleyin.",title:"Harika"},success:{text:"Tebrikler, BitBox'ınızı mobil uygulamayla başarıyla eşleştirdiniz!",title:"Başarılı"},timeout:{text:"Eşleştirme iki dakikanın ardından zaman aşımına uğradı. Mobil uygulamayı hala eşleştirmek istiyorsanız tekrar başlayın.",title:"Zaman aşımı"},title:"Mobil Eşleştirme"},aV={show:"Göster {{label}}",warning:{caps:"UYARI: Büyük harf kilidi (⇪) aktif",paste:'Metni yapıştırmak için "GÖSTER" butonunu etkinleştirin {{label}}"'}},iV={button:"Rastgele Sayı Üret",description:"BitBox'ınız aşağıdaki {{bits}}-bit random sayıları üretti:"},oV={label:"Sizin adresiniz",onlyThisCoin:{description:"Başka token'ları almak için, onları ayarlardan etkinleştirin. Diğer token'ları yatırırsanız, erişilebilir olmayabilir.",warning:"Sadece bu adresle {{coinName}} almak istediğinize emin olun"},showFull:"Cihazdaki tam adresi göster ve doğrula",title:"{{accountName}} Al",verify:"Adresi güvenli bir şekilde doğrulayın",verifyBitBox01:"Mobil uygulamadaki adresi doğrula",verifyBitBox02:"BitBox02'deki adresi doğrulayın",verifyInstruction:"Lütfen aşağıdaki adresin cihazınızda görüntülenen adresiyle eşleştiğini doğrulayın.",warning:{secureOutput:"Güvenli adres doğrulamasını etkinleştirmek için lütfen BitBox'ınızı mobil cihazınızla eşleştirin ve kenar çubuğundaki 'Cihazı Yönet' seçeneğine tıklayın."}},rV={description:"Cihazdaki tüm veriler silinecek. Buna Özel Anahtarınız da dahil!",notReset:"Cihazı SIFIRLAMA.",title:"Cihazı sıfırla",understand:"Bir yedeğim var ve kurtarma şifremi biliyorum",understandBB02:"Geçerli bir yedeğim var"},sV={create:{description1:"Cihazınızı kurmadan önce bunu güvenli bir ortamda yapmanız önerilir.",description2:"Sizden iki şifre oluşturmanız istenecektir.",description3:"İlki cihaz parolası. Bu şifre BitBox cihazınızın kilidini açar ve daha sonra değiştirilebilir.",description4:"İkincisi cüzdanınızın kilidini açan kurtarma şifresi. Bu şifre daha sonra değiştirilemez.",description5:"Oluşturduğunuz cüzdan, sağlanan mikro SD karttaki bir dosyaya yedeklenir. Bu, acil durumda kurtarma şifrenizi kullanarak fonlarınıza ulaşmanızı sağlar.",title:"Güvenlik Uyarısı"},restore:{description1:"Yedeklemenizi saklamak için kullandığınız mikro SD kartı takmanız istenecektir.",description2:"Cihazınızı geri yüklemek için kurtarma şifrenizin olması gerekir. ",description3:"Lütfen kurtarma şifresini girerken dikkatli olun. Girdiğiniz herhangi bir şifre geçerli bir cüzdan yaratacaktır. Yanlış şifre girerseniz, beklemediğiniz bir cüzdan bakiyesi gösterilebilir.",title:"Güvenlik Uyarısı"}},lV={agreements:{"funds-access":"Kurtarma şifremi unutursam parama ulaşamayacağım","password-change":"Kurtarma şifresini daha sonra değiştiremem","password-required":"Bir cüzdanı bir yedekten geri yüklemek kurtarma şifresi gerektirir."},create:"Cüzdan Oluştur",creating:"Cüzdan oluşturma",description:"Bunu kabul ediyorum:",error:{e102:"Şifre en az 4 karakterden oluşmalıdır.",e200:"Cüzdan oluşturmak için BitBox'ınıza bir mikro SD kart takmanız gerekir, böylece yedekleme otomatik olarak oluşturulabilir."},info:{button:"Kurtarma şifresini şimdi ayarla",description1:"Mikro SD kartı BitBox'a takın",description2:"Cüzdan için bir kurtarma şifresi ayarlayın ve “Şimdi kurtarma şifresini ayarla” seçeneğini tıklayın.",description3:"Micro SD karta yedekleme ve kurtarma şifreniz, BitBox cihazın kaybolması veya çalınması durumunda paranızı kurtarmak için tek yöntemdir.",description4:"Paranızı aktarmadan kurtarma şifrenizi değiştiremezsiniz.",title:"Yeni bir cüzdan oluştur"},password:{label:"Kurtarma şifresi",repeatPlaceholder:"Kurtarma şifresini tekrarla"},walletName:{label:"Cüzdan adı"}},cV={error:{e200:"Bir cüzdanı yedekten geri yüklemek için mikro SD kart gerekir."},info:{description1:`Mikro SD kartı BitBox'a takın ve "Devam Et" öğesine tıklayın`,description2:'Bir yedekleme seçin ve "Geri Yükle" öğesini seçin',description3:"Kurtarma şifresini girin",description4:"Yanlış bir şifrenin farklı bir cüzdan yaratacağını kabul ettiğinizi onaylamanız gerekir.",title:"Bir cüzdanı bir yedekten geri yükleme"}},uV={abort:"İşlem iptal edildi.",address:{label:"Alıcı adresi",placeholder:"Adresi girin"},amount:{label:"Miktar",placeholder:"Miktarı girin"},button:"İmzala ve Gönder",coincontrol:{address:"Adres",outpoint:"Çıktı",title:"Çıktıdan Gönder"},confirm:{"selected-coins":"Seçilmiş Kripto Paralar",title:"İşlemi Onayla",total:"Toplam"},error:{insufficientFunds:"yetersiz bakiye",invalidAddress:"geçersiz adres",invalidAmount:"geçersiz miktar",invalidData:"geçersiz veri"},fee:{customPlaceholder:"Miktarı girin",label:"Ağ Ücreti",placeholder:"Kullanılabilir değil"},feeTarget:{description:{economy:"24 blok (Bitcoin için yaklaşık 4 saat, Litecoin için 1 saat)",high:"2 blok (Bitcoin için yaklaşık 20 dakika, Litecoin için 5 dakika)",low:"12 blok (Bitcoin için yaklaşık 2 saat, Litecoin için 30 dakika)",normal:"6 blok (Bitcoin için yaklaşık 1 saat, Litecoin için 15 dakika)"},estimate:"Tahmini bekleme süresi:",label:{economy:"ekonomi",high:"yüksek",low:"düşük",normal:"normal"},placeholder:"Hesaplanan tahmini ücret"},maximum:"Hepsini gönder",scanQR:"QR Kodunu Tara",signprogress:{description:"Bu, çok fazla veri içeren bir işlemdir. İşlemi tamamen imzalamak için {{steps}} defa onaylamanız istenir.",label:"İlerleme"},success:"İşlem imzalandı ve gönderildi.",title:"Gönder {{accountName}}",toggleCoinControl:"Kripto para kontrolünü aç"},dV={electrum:{add:"Bir sunucu ekle","add-server":"Ekle",check:"Kontrol et",checkFailed:"Başarısız oldu",checkSuccess:"Başarıyla bağlantı kuruldu {{host}}",checking:"Kontrol ediliyor","download-cert":"Uzak sertifikayı indir","remove-server":"Kaldır",removeConfirm:"Kaldır {{server}}?",reset:"Varsayılana sıfırla",resetConfirm:"Tüm sunucuları kaldırmak ve varsayılan sunucuları kurmak istiyor musunuz?",servers:"Sunucular",step1:"1","step1-text":"Bitiş noktasını girin.",step2:"2","step2-text":"Sunucunun sertifika zincirinden bir sertifikasını girin. Alternatif olarak, uzak sertifikayı indirin ve görsel olarak karşılaştırın.",step3:"3","step3-text":"Bağlantınızı kontrol edin ve sunucuyu ekleyin.",step4:"4","step4-text":"Cüzdanınızı yeniden başlatın. Varsayılan sunucuları kaldırmazsanız, kendi düğümünüz fazlalık olarak eklenir.","title-btc":"Bitcoin Electrum Sunucuları","title-ltc":"Litecoin Electrum Sunucuları","title-tbtc":"Bitcoin Testnet Electrum Sunucuları","title-tltc":"Litecoin Testnet Electrum Sunucuları"},expert:{coinControl:"Coin kontrolünü etkinleştir",electrum:{title:"Kendi tam node'unuza bağlayın"},setProxyAddress:"Proxy adresini ayarla",title:"Uzman Ayarları",useProxy:"Tor proxy'yi etkinleştir"},header:{home:"Ev"},restart:"Lütfen değişikliklerin geçerli olması için BitBoxApp’i yeniden başlatın.",success:"Değişikliklerin etkili olması için lütfen BitBox’un fişini çekin ve yeniden takın.",title:"Ayarlar"},pV="Cihaza Kurulum Yap",hV={device:"Cihazı Yönet",leave:"Ayrıl",settings:"Ayarlar"},mV={create:{info1:"Cüzdanınız micro SD Karta güvenli bir şekilde yedeklendi. Çıkarın ve güvenli bir yerde saklayın.",info2:"BitBox'un kilidini açan güvenli bir cihaz şifresi oluşturdunuz.",info3:"Cüzdanınız için paranızın kilidini açan ve yedeklerinizi geri yükleyen güvenli bir kurtarma şifresi oluşturdunuz.",summary:"İşte işlem özetiniz",title:"Başarılı"},getstarted:"Başlarken",restore:{summary:"Yedeklemenizden bir cüzdanı başarıyla geri yüklediniz.",title:"Başarılı"}},fV={confirmation:"Onaylar",explorer:"İşlem Kimliği",explorerTitle:"Harici explorer'da aç",fee:"Ücret",fiatHistorical:"Tarih",gas:"Gas",pending:"Bekleyen işlem",size:"Boyut",vsize:"Sanal boyut",weight:"Ağırlık"},gV={placeholder:"Henüz işlem yok."},vV="Bilinmeyen bir hata oluştu: {{errorMessage}}",bV={description:"Cihazınızın kilidini açmak için cihaz şifrenizi girin.",error:{e109_normal:"Cihaz şifresi yanlış. Cihaz sıfırlanmadan önce {{remainingAttempts}} yapabilirsiniz.",e109_touch:"$t(unlock.error.e109_normal) Bir sonraki giriş için dokunmatik düğmeye basılı tutmanız gerektirir.",e113:"Birçok giriş denemesi nedeniyle, bir sonraki giriş için dokunmatik düğmeye 4 saniye basılı tutmanız gerekiyor."},input:{label:"Cihaz şifresi",placeholder:"Cihazın kilidini açmak için cihaz şifrenizi girin."},unlocking:"Kilit açılıyor"},kV={button:"Donanım yazılımını yükselt",description:"Donanım yazılımını {{currentVersion}}'dan {{newVersion}}'a yükseltmek istiyor musunuz??",label:"BitBox'ınızın ürün yazılımının yükseltilmesi gerekiyor.",locked:" {{currentVersion}} den yükseltmek için için {{newVersion}}, lütfen uzun süre basılı tutun.",title:"Donanım yazılımını yükselt",unlocked:"Bootloader kilidi açıldı. Devam etmek için lütfen:",unlocked1:"Bitbox'ınızı çıkarın ve yeniden takın",unlocked2:"BitBox'unuz tekrar takıldığında LED yanacaktır",unlocked3:"LED yandığında düğmeye dokunun"},xV={receivePairing:"Güvenli adres doğrulamasını etkinleştirmek için lütfen BitBox'ı eşleştirin. Kenar çubuğunda 'Cihazı Yönet' seçeneğine gidin.",sdcard:"Yedeklemeleri yönetmek istemediğiniz sürece, mikro SD kartı BitBox'tan ayrı saklayın.",sendPairing:"İşlem ayrıntılarını güvenli bir şekilde doğrulamak için lütfen BitBox'ı eşleştirin. Kenar çubuğundan 'Cihazı Yönet' seçeneğine gidin."},yV={insertBitBox02:"Devam etmek için lütfen cihaza dokunun.",insertDevice:"Başlamak için lütfen cihazınızı bağlayın",title:"Hoşgeldiniz"},wV={account:k5,accountInfo:x5,accountSummary:y5,addAccount:w5,app:j5,backup:B5,bb02Bootloader:S5,bitbox:z5,bitbox02Interact:C5,bitbox02Settings:D5,bitbox02Wizard:A5,blink:_5,bootloader:T5,button:E5,changePin:P5,checkSDcard:N5,clickHere:L5,confirm:I5,confirmOnDevice:$5,device:M5,deviceLock:O5,deviceSettings:R5,deviceTampered:F5,dialog:V5,fiat:W5,footer:U5,genericError:q5,goal:H5,guide:K5,headerssync:G5,hiddenWallet:Q5,initialize:Y5,invalidFormat:Z5,language:J5,legacyhiddenwallet:X5,loading:eV,notification:tV,pairing:nV,password:aV,random:iV,receive:oV,reset:rV,securityInformation:sV,seed:lV,seedRestore:cV,send:uV,settings:dV,setup:pV,sidebar:hV,success:mV,transaction:fV,transactions:gV,unknownError:vV,unlock:bV,upgradeFirmware:kV,warning:xV,welcome:yV},jV={disconnect:"连接断开.重试中...",exportTransactions:"将交易导出为CSV文件并下载文件夹",fatalError:"出现意外错误",incoming:"传入",initializing:"正在从区块链网络中获取信息",reconnecting:"链接断开,尝试重新链接"},BV={address:"地址",extendedPublicKey:"扩展公钥",label:"帐户信息",title:"帐户信息",verify:"请在设备上进行验证"},SV={balance:"余额",exportSummary:"将帐户摘要导出为CSV文件并保存到下载文件夹中",fiatBalance:"法币余额",name:"账户名",noAccount:"还未添加账户",title:"帐户汇总",total:"总计"},zV={title:"添加账户"},CV={upgrade:"该应用程序有新版本可用!请从 {{current}} 升级至 {{version}}。"},DV={check:{checking:"正在检查备份…",confirmTitle:"检查备份",notOK:"备份与钱包不匹配。",ok:"备份与钱包匹配。",password:{label:"恢复密码",placeholder:"恢复密码",showLabel:"恢复密码"},success:"成功验证备份:",title:"检查备份"},create:{alreadyExists:"您已经拥有一个有效备份。您想重新创建它吗?",fail:"创建备份失败!",info:"请输入当前钱包的恢复密码以进行验证。",name:{label:"备份名称",placeholder:"请为该备份命名"},password:{label:"恢复密码",placeholder:"请输入您的恢复密码"},title:"创建备份",verificationFailed:"恢复密码与当前的钱包不匹配。备份已创建。请使用“检查备份”再次验证您的恢复密码。"},description:"选择 钱包备份文件",insert:"请插入Micro SD卡以管理备份。",insertButton:"我已插入Micro SD卡",list:"您的microSD卡备份",noBackups:"此microSD卡上没有备份。",restore:{confirmTitle:"恢复已有备份",error:{e200:"找不到(无法识别到)microSD卡"},password:{label:"恢复密码或隐藏恢复密码",placeholder:"恢复密码",repeatPlaceholder:"重复恢复密码",showLabel:"恢复密码"},restoring:"正在还原备份…",title:"恢复",understand:"我知道输入错误的恢复密码会创建出另一个不同的钱包"},showMnemonic:{description:`系统将为您提供最多24个单词,构成您的钱包(助记词)备份。请把它们用抄写到纸上。 + +请勿将其数字化存储或对其进行拍照。 + +不要大声说出这些单词。 + +此备份不受密码加密保护。 + +抄写完成后,您将需要再次核对每个单词。`,title:"显示助记词"},title:"管理备份"},AV={abort:"不要升级-退回",advanced:{label:"高级设置",toggleShowFirmwareHash:"每次启动时显示固件哈希"},flipscreen:"翻转屏幕",orientation:"设备方向错误?",success:"升级成功!继续(等待) {{rebootSeconds}} 秒..."},_V={error:{e10000:"当前输入的设备密码不正确",e10001:"更改设备密码失败",e102:"密码必须包含至少4个字符",e112:"隐藏的设备密码不能与主设备密码相同。"}},TV={followInstructions:"请按照BitBox02上的说明进行操作。"},EV={deviceName:{current:"当前设备名称",input:"BitBox02 名称",title:"设置BitBox02的设备名称"}},PV={attestationFailed:"设备认证失败,可能是由于在设备等待用户输入时应用程序重新启动所致。请重新连接,然后重试。",backup:{point1:"在microSD卡上选择一个备份",point2:"为您的设备设置密码",restoreText:"好的,现在让我们还原备份!",text1:"太棒了,您的BitBox02设备密码已设置完成,并成功创建了新钱包。现在是时候创建您的第一个备份了。请确保您的microSD卡已插入BitBox02设备中并继续。",text2:"请按照设备屏幕上的提示创建备份。",text3:"创建备份后,请取出microSD卡并将其存储在安全的地方。 microSD卡的内容不受密码保护。请勿将其插入BitBox02以外的任何其他设备中。",userConfirmation1:"我应该将备份存储在安全的地方。",userConfirmation2:"我的备份不受密码保护。任何有权访问它的人都可以访问我的钱包。",userConfirmation3:"如果我丢失或损坏了BitBox02设备,恢复资金的唯一方法是通过我的(私钥)备份进行恢复。",userConfirmation4:"如果我同时丢失或损坏了我的备份以及BitBox02设备,那么我的资金将会永远丢失。"},create:{button:"命名设备 & 继续",info:"以下是设置BitBox所要执行的基本步骤: ",inputTitle:"钱包名称",point1:"为您的设备命名",point2:"为您的BitBox设备设置密码",point3:"建立备份",text:"好的,让我们开始创建一个新的钱包!"},initialize:{passwordText:"现在,让我们为您的设备设置密码。参考以下视频指导,通过BitBox设备的边框触控功能进行密码设置。",passwordTitle:"为您的BitBox设置密码",text:"已成功配对您的BitBox02!现在,让我们进行设备的初始化。请选择您是要创建一个新的钱包,或是需要从已有(私钥)备份中恢复原来的钱包。 请确保您的BitBox02中插入了microSD卡",tip:"我们建议您在安全的环境中进行操作。",title:"初始化您的BitBox"},insertSDCard:"请确保您的BitBox02设备上已插入了microSD卡。",pairing:{failed:"未确认的配对。请重新插入您的BitBox02。",paired:"您已在设备上确认代码匹配。如果确认无误,则可以单击下面的按钮以继续。",title:"配对码验证中",unpaired:"已检测到新的BitBox02。请验证以下代码是否与您设备上显示的代码匹配。如果代码匹配(相同),请轻触BitBox02显示屏上打勾选项下方的设备边框以继续。"},restoreFromMnemonic:{failed:"通过助记词进行的恢复失败,请重试。"},stepBackup:{beforeProceed:"在继续之前,请阅读以下重要的安全注意事项:",createBackup:"现在,您将在microSD卡上创建备份。"},stepBackupSuccess:{fundsSafe:"为了确保您的资金安全,请记住以下几点:",title:"备份已还原!"},stepConnected:{unlock:"输入BitBox02密码进行解锁。"},stepCreate:{nameLabel:"BitBox02名称",namePlaceholder:"我的BitBox02",title:"选择BitBox02名称",toastMicroSD:"请确保您的microSD卡已插入BitBox02中。"},stepCreateSuccess:{removeMicroSD:"请从BitBox02中取出microSD卡,并将其存储在安全的位置。",success:"您已成功创建备份。"},stepPassword:{title:"设置BitBox02密码",useControls:"使用BitBox02上的触控控件设置密码。"},stepUninitialized:{create:"我想设置一个新的BitBox02。",restore:"我想从备份中还原我的钱包。",restoreMicroSD:"从microSD卡还原",restoreMnemonic:"通过助记词还原",title:"设置您的BitBox02"},success:{text:`太棒了!您可以开始使用BitBox02了。 + +如需获取如何使用BitBoxApp的信息,请单击右上角的问号访问应用程序指南。`,title:"您已准备就绪!"}},NV={button:""},LV={button:"立即升级固件",progress:"升级: {{progress}}%",success:"升级成功!请重新插入设备。这次,请一定不要触摸按钮。"},IV={abort:"中止",back:"返回上一步",changepin:"更改设备密码",check:"检查备份",continue:"继续",copy:"复制",create:"创建",download:"下载",hiddenwallet:"创建隐藏钱包",next:"下一个",ok:"好的",previous:"上一个",receive:"接收",restore:"恢复",select:"选择",send:"发送",unlock:"解锁(设备)",update:"更新",upgrade:"升级"},$V={newTitle:"新设备密码",oldLabel:"当前设备密码"},MV="检查microSD卡",OV="点击这里。",RV={abortInfo:"点按 ",abortInfoRedText:"中止",approveInfo:"保持4秒 ",approveInfoGreenText:"确认",info:"在您的BitBox设备上",infoWhenPaired:"首先在配对的手机上,然后在您的BitBox上"},FV="请在设备上进行确认",VV={appUpradeRequired:"您的BitBox与该桌面应用程序不兼容。请下载并安装最新版本。"},WV={button:"启用双因素认证(2FA)",condition1:"你有备份吗?",condition2:"移动端app的验证功能是否正常工作?",condition3:"2FA禁用了备份和移动应用程序配对功能。必须进行设备复位才能退出2FA!",confirm:"启用双因素验证(2FA)",title:"启用双因素验证(2FA)"},UV={firmware:{newVersion:{label:"可用版本"},title:"固件",upToDate:"您的设备固件是最新的",version:{label:"版本"}},hardware:{sdcard:{false:"未插入",label:"microSD卡",true:"已插入"},title:"硬件信息"},loading:"检索设备信息…",pairing:{lock:{false:"禁用",label:"双因素授权(2FA)",true:"启用"},mobile:{false:"关闭",label:"移动端app",true:"打开"},status:{false:"无法配对",label:"状态",true:"已配对"},title:"配对中"},secrets:{manageBackups:"管理备份",title:"机密信息"}},qV="您的BitBox是否已提供恢复密码?如果是这样,请停止设置过程并立即与支持人员联系。 Shift公司绝不会为您提供现成的钱包密码或提供密码建议。",HV={cancel:"取消",confirm:"确认"},KV={default:"默认设置",setDefault:"将 {{code}} 设为默认",title:"货币(单位)"},GV={appVersion:"App版本"},QV="发生错误。如果发现任何问题,请重新启动应用程序。",YV={buttons:{create:"创建一个新钱包",restore:"通过备份还原钱包"},paragraph:"请选择以下选项之一:",step:{1:{title:"安全信息"},2:{description:"设置设备密码",title:"设备"},"3-create":{description:"创建一个新钱包",title:"钱包"},"3-restore":{description:"从备份中",title:"恢复"},"4-create":{title:"摘要"},"4-restore":{title:"摘要"}}},ZV={accountDescription:{text:"您的帐户概览显示您的可用余额以及收款和付款记录。我们在“设置”中的指南中提供了有关每种帐户类型的更多说明。 ",title:"该页面向我显示了什么?"},accountFiat:{text:"是。单击任何行情自动切换法定货币。您可以在设置中更改货币列表。",title:"可以显示其他的兑换率吗?"},accountIncomingBalance:{text:"正在传入(的交易)汇总了转账给您的交易金额,但这些交易尚未得到网络的确认。",title:"正在传入(的交易)意味着什么?"},accountInfo:{xpub:{text:`扩展公钥是帐户中所有接收地址的根密钥。 +此处提供扩展公钥供高级用户使用,以及与watch-only(仅限查阅)类型的钱包进行互操作,例如Electrum或Sentinel。`,title:"什么是扩展公钥?"}},accountRates:{text:"我们每分钟都会通过CoinGecko更新汇率。",title:"使用的哪种汇率?"},accountReload:{text:"不需要。您的交易信息会自动更新。",title:"我可以重新加载交易记录吗?"},accountSendDisabled:{text:"当余额超过零时,将激活“发送”按钮。",title:"我为什么不能进行发送 {{unit}}?"},accountTransactionAttributesBTC:{text:`虚拟大小:决定网络费用。如果虚拟大小小于实际大小,则可以成功节省费用。 +实际大小:底层区块链序列化时,实际交易的大小(以字节为单位),。 +重量:隔离见证(Segwit)引入的一种新指标,用于评估交易和区块大小。每个隔离见证字节计为1(个重量单位),其他所有字节计为4(个重量单位)。因此区块实际大小的限制(上限)不再是一兆字节(1MB),区块大小的限制(上限)是四百万个重量单位。`,title:"关于Bitcoin比特币的具体交易细节?"},accountTransactionAttributesGeneric:{text:`确认:您的第一个交易广播尚未确认,直到矿工将其打包入一个区块中,然后再进行一个确认。网络上广播的每个区块都会为您的交易添加另一个确认。通常,商家和其他网络参与者只会用三到六个确认来结算交易。 +交易ID:可让您在区块浏览器中查找交易的唯一标识号。 +费用:网络向矿工支付交易费,以作为其将交易打包确认在他们开采的区块中的奖励。要了解更多信息,请单击发送按钮。`,title:"交易明细中的信息有哪些?"},accountTransactionConfirmation:{text:"交易已广播到网络中,但尚未确认。",title:"什么是待处理交易?"},accountTransactionLabel:{text:"这是您接收到的数字货币的地址或向其发送数字货币的地址。",title:"每笔交易显示哪个地址?"},accountTransactionTime:{text:"区块链交易确认时间。",title:"显示的是什么时间?"},appendix:{link:"联系我们!",text:"另一个问题?"},backups:{check:{text:"“检查备份”可让您验证您是否有与当前钱包相对应的有效备份。它还可以用来验证您是否拥有(记得)正确的恢复密码。您可以检查您的主要恢复密码或隐藏恢复密码。",title:"什么是“检查备份”?"},encrypt:{text:"否,但是需要您的恢复密码才能从存储的种子中获取钱包。",title:"我可以加密备份吗?"},howOften:{text:`创建新钱包后会自动生成备份。仅当microSD卡丢失或损坏,或者要使用多个microSD卡作为备份时,才需要进行新备份。 +交易完成后,您无需创建新的备份。可以通过自动为您生成的单个备份重新创建所有交易数据。`,title:"我必须多久备份一次?"},whatIsABackup:{text:"它是micro SD卡上种子副本。种子和您的恢复密码一起生成了您的钱包。",title:"什么是备份?"}},backupsBB02:{check:{text:"“检查备份”可验证您是否有与当前钱包相对应的有效备份。",title:"什么是“检查备份”?"},encrypt:{text:"否。请确保Micro SD卡安全,因为卡中包含未加密的种子,该种子用于恢复您的钱包。如果希望对种子进行密码保护,可以在“管理设备”下的高级设置中启用密语功能。",title:"我可以加密我的备份吗?"},whatIsABackup:{text:"它是microSD卡上种子的副本。",title:"什么是备份?"}},bitbox:{"2FA":{text:`启用2FA后,所有交易都必须在配对手机上获得批准才能发送资产。在内部,一个经过加密的一次性号码被发送到手机app中,并进行解密,在按下接受按钮时返回到BitBox中。此与设备的通信是通过配对期间建立于移动电话和此桌面应用程序之间的频道完成的。 + +确保在启用2FA之前备份您的钱包并配对移动端app。一旦启用,micro SD插槽和移动端app配对将被禁用。可以通过重置BitBox来重新启用它们,该操作将位擦除设备。`,title:"双因素授权(2FA)是如何工作的?"},disable2FA:{text:"为了禁用2FA功能,您需要重置BitBox,然后从其备份中重置钱包。请确保您仍然拥有带有备份的microSD卡,并且仍记得恢复密码。然后按“重置设备”。设置新的设备密码,然后选择“或还原备份”。从钱包中选择您已创建的备份,单击“还原”,然后输入创建钱包时使用的恢复密码。",title:"如何禁用两因素授权(2FA)?"},ejectBitbox:{text:"您可以随时拔出BitBox,而不必先退出它。",title:"如何弹出BitBox?"},ejectSD:{text:"只要您不在创建或还原备份的过程中,就可以随时从BitBox中取出microSD卡。",title:"如何弹出microSD卡?"},hiddenWallet:{text:'它是同一台设备上的第二个钱包,受不同的设备密码和恢复密码保护,您可以使用这些钱包进行"合理的可否认性plausible deniability"。普通和隐藏钱包都使用相同的备份种子,因此不需要其他备份。',title:"什么是隐藏钱包?"},legacyHiddenWallet:{text:"首先单击下面的按钮(如果使用主设备密码将BitBox解锁并禁用了2FA,则可使用该按钮),然后重新插入您的Bitbox并使用隐藏的设备密码将其解锁。",title:"如何访问legacy隐藏钱包?"},pairing:{text:"下载适用于iOS或Android的移动端app后,您可以扫描显示的二维码,从而在移动app和此应用程序之间建立安全通道。扫描后,请按照移动端app中的说明进行操作。",title:"如何与手机安全配对"}},receive:{address:{text:"您可以将该地址提供给其他人,以便他们向您发送数字货币。但请务必确认您发送了正确的地址。",title:"地址的用途是?"},addressChange:{text:"一旦(上一笔)交易完成后,一个新地址会自动添加到列表中,因此始终有20个地址从未收到过任何数字货币。",title:"地址何时更改?"},howVerify:{text:`对于BitBox01,单击左侧边栏中的BitBox图标,查看“配对”部分。该指南将进行更新,您可以进一步按照说明进行操作。 +对于BitBox02,您可以在发送/接收过程中直接在设备上验证地址。`,title:"如何安全地验证地址?"},why20:{text:"在启动过程中,该app会通过您的种子生成的地址,以查看这些地址下是否已接收到过资金。由于该app可以生成几乎无限数量的地址,因此可能要花费数年才能确定(该种子下所有地址的)余​​额。为了限制此(无穷)搜索,它会在看到20个从未收到资金的地址后停止。这称为是“间隙限制gap limit”,而20是事实标准,尽管地址数量是任意多个的。而这20个地址是你可以进行选择使用的。",title:"为什么只有20个地址?"},whyMany:{text:"为了维护隐私和安全,切勿两次(重复)使用相同的地址。如果您已使用过某个地址,请单击向右箭头以获取新地址。您一次最多可以生成20个地址。将地址视为发票编号。所有地址都衍生自您唯一的备份种子。",title:"为什么有那么多地址?"},whyVerify:{text:"您不应该信任您的计算机来生成和显示真实地址。它的被攻击面很大,因此计算机相比硬件钱包更容易受到攻击。对于BitBox01,用于验证地址的按钮会将地址安全地发送到配对的手机,您还可以从该手机扫描并验证QR码。对于BitBox02,可以直接在BitBox02显示屏上验证地址。",title:"为什么我需要对地址进行安全验证?"}},send:{fee:{text:`收取费用(的计算)基于交易数据大小而不是交易金额。费用标准是由Bitcoin Core的费用估算算法针对您选择的每个网络优先级计算的。如果它们的值与下面的标准值不同,则会显示它们。 +经济:24个区块(比特币大约需4小时,莱特币大约需1小时) +低:12个区块(比特币大约需2小时,莱特币大约需30分钟) +一般/普通:6个区块(比特币大约需1小时,莱特币大约需15分钟) +高:2个区块(比特币大约需20分钟,莱特币大约需5分钟) +(一个区块平均需要十分钟才能被挖出(在莱特币中为2.5分钟),在上述期间网络负载可能会有很大差异。)`,title:"费用如何确定?"},priority:{text:"您愿意支付的费用越高,网络通常会更快地确认您的交易。",title:"网络优先级是什么?"},revert:{text:`一旦交易被签名并发送(即广播到网络中)后,就无法再恢复(回撤)。进行签名前请务必确认交易的正确性(包括费用)! +如果您认识收币人,并且他或她愿意将相同的金额(减去交易费用)退还给您,则可以向他们发送新的收币地址。`,title:"我可以逆转一个交易吗?"},whyFee:{text:`交易正在争夺矿工的确认。矿工根据其费用(高低)选择要打包进区块链中的交易。 +矿工对交易历史进行投票。由于没有可信赖的第三方强制每人投票(这是区块链的重点),矿工通过牺牲诸如计算能力之类的昂贵资源来对交易进行投票。作为对他们工作的奖励,他们可以获得新区块产生时的奖励币以及区块中打包确认的所有交易的交易费。`,title:"为什么要收取网络费?"}},"settings-electrum":{what:{text:"可以使用您自己的全节点为你的钱包提供支持,而无需使用Shift公司的服务器。",title:"这是什么?"}},settings:{servers:{text:`该app与Shift Crypto服务器进行通信,以检查更新,加载交易并将信息发送到配对的移动端apps。 +该app还从CoinGecko检索最新汇率。所有转换都是在本地计算的,这意味着不会传输有关交易金额的任何数据。 +注意:对于以太坊和ERC20代币,我们使用Etherscan.io API。`,title:"该app与哪些服务器通信?"}},title:"指南",toggle:{close:"关闭指南",open:"指南"},unlock:{forgotDevicePassword:{text:"您必须使用恢复密码来重置设备并通过备份还原钱包。",title:"如果忘记了设备密码,我该怎么办?"},reset:{text:"输入错误的设备密码15次。最后几次尝试需要长时间触摸设备。",title:"如何重置设备?"}},waiting:{deviceNotRecognized:{text:"设备插入后应闪烁一次。确保将其正确插入。如果您遇到问题,请通过以下链接与我们联系。",title:"我的BitBox01无法识别"},getDevice:{link:{text:"订购一个BitBox"},text:"您可以在我们的网上商店购买BitBox:",title:"我如何获得设备?"},internet:{text:"是的,需要连接网络以同步钱包,发送交易并获取最新汇率。",title:"这个app需要连接网络吗?"},lostDevice:{link:{text:"备份中心"},text:"您可以在新的BitBox或通过我们的备份中心进行帐户恢复。",title:"我丢失了设备。怎么办?"},useWithoutDevice:{text:"不幸的是,目前尚无法实现。",title:"我可以在没有设备的情况下使用该app吗?"},welcome:{text:"感谢您使用由瑞士Shift Crypto公司开发的此应用程序。感谢您分享的任何意见。请使用底部的链接提供反馈。",title:"欢迎使用BitBoxApp!"}}},JV={blocksSynced:"{{blocks}} 同步区块"},XV={info1HTML:'出于"合理的可否认性plausible deniability"的目的,一个隐藏钱包可以根据 不同 设备密码+恢复密码的组合进行创建。',info2HTML:"设定与您的隐藏钱包相关联的设备密码和恢复密码。设备密码和恢复密码必须与您的主钱包密码 不同 。",passwordLabel:"隐藏恢复密码",passwordPlaceholder:"请确认隐藏的恢复密码",pinLabel:"隐藏设备密码",pinRepeatLabel:"重复隐藏设备的密码",pinRepeatPlaceholder:"请确认隐藏设备的密码",success:"隐藏钱包创建成功。重新插入您的BitBox以解锁。"},eW={create:"设置设备密码",creating:"设置设备密码中...",error:{e102:"设备密码必须至少包含4个字符。"},info:{description1:"选择您的设备密码。这将用于解锁您的BitBox。",description2:"您可以使用数字,字母 & 符号。更长密码可以提供更高的安全性",description3:"如果您丢失了设备密码,则必须重置设备并还原钱包备份。",subtitle:"现在,您将设置设备密码",title:"初始化你的设备"},input:{label:"设备密码",labelRepeat:"重复设备密码",placeholderRepeat:"请确认设备密码"}},tW="无效的格式",nW={title:"选择语言"},aW={disable:"禁用legacy隐藏钱包",enable:"启用Legacy隐藏钱包",successDisable:"已成功禁用legacy隐藏钱包。",successEnable:"成功启用legacy隐藏钱包。重新插入您的BitBox并输入隐藏的设备密码以访问legacy隐藏钱包。"},iW="载入中...",oW={newTxs_one:"{{count}} 新交易: {{accountName}}",newTxs_other:"{{count}} 新交易: {{accountName}}"},rW={aborted:{text:"配对已在移动端app端中止。",title:"中止"},button:"配对移动端app",confirm:"您确定要配对BitBox吗?请注意配对完成后,需要通过手机进行交易操作。",connectOnly:{button:"连接移动端app",title:"选择菜单中“连接到新的桌面应用程序”,使用我们的移动端app移动应用程序进行扫描"},error:{text:"出现一些问题。请重新开始。",title:"错误"},reconnectOnly:{button:"重新连接移动端app"},start:{hideAppQRCode:"隐藏二维码",revealAppQRCode:"显示二维码",step1:"如果您没有移动端app,则可以根据你的手机型号扫描对应的Apple App Store或Google Play商店的二维码。",step2:"请使用我们的移动端app进行扫描,您可以在iOS和Android的应用程序商店中通过搜索“ Digital Bitbox 2FA”的名称找到该app:"},started:{text:"现在,请按照移动端app上的说明进行操作。",title:"太棒了"},success:{text:"恭喜,您已成功将BitBox与移动端app配对!",title:"成功"},timeout:{text:"配对在两分钟后超时。如果您仍想配对移动端app,请重新开始。",title:"超时"},title:"手机配对"},sW={show:"显示 {{label}}",warning:{caps:"警告:大写锁定(⇪)已启用",paste:"粘贴文本,启用“显示 {{label}}”"}},lW={button:"生成随机序号",description:"您的BitBox产生了以下 {{bits}}位随机数:"},cW={label:"你的地址",onlyThisCoin:{description:"要接收其他代币,请先在设置中启用它们。否则如果您存入其他代币,则可能无法访问它们。",warning:"确保只在这个地址上接收 {{coinName}} 。"},showFull:"在设备上显示并验证完整的地址",title:"获取 {{accountName}}",verify:"安全验证地址",verifyBitBox01:"在移动端app上验证地址",verifyBitBox02:"请在BitBox02设备上的验证地址",verifyInstruction:"请确认以下地址与设备上显示的地址匹配。",warning:{secureOutput:"请将您的BitBox与您的移动设备配对以启用安全地址验证功能。再访问侧栏中的“管理设备”选项。"}},uW={description:"设备上的所有数据将被删除。其中包括您的私钥!",notReset:"设备未重置。",title:"恢复出厂设置",understand:"我已有备份,并知道我的恢复密码",understandBB02:"我有一个有效的备份"},dW={create:{description1:"设置设备之前,建议您在安全的环境中进行设置。",description2:"系统将要求您创建两个密码。",description3:"首先是 设备密码 即可解锁您的BitBox设备,该密码以后可以进行更改。",description4:"第二个是 恢复密码 可以解锁您的钱包。此密码以后不能更改。",description5:"您创建的钱包将备份到所提供的microSD卡上的文件中。可以在紧急情况下使用您的 恢复密码。",title:"安全信息"},restore:{description1:"系统将要求您插入用于存储备份的microSD卡。",description2:"要恢复设备,您将需要使用恢复密码。 ",description3:"输入恢复密码时请小心。您输入的任何密码都会创建一个有效的钱包。如果输入错误的密码,可能会看到您不期望的钱包余额。",title:"安全信息"}},pW={agreements:{"funds-access":"如果忘记了恢复密码,我将无法使用/取出我的资金","password-change":"我以后无法更改恢复密码","password-required":"需要恢复密码才能从备份中还原钱包"},create:"创建钱包",creating:"创建钱包中",description:"我理解:",error:{e102:"密码必须至少包含4个字符。",e200:"您需要在BitBox中插入microSD卡才能创建钱包,以此才能够进行备份的自动创建。"},info:{button:"立即设置恢复密码",description1:"将microSD卡插入BitBox",description2:"选择钱包的恢复密码,然后选择“立即设置恢复密码”",description3:"如果BitBox设备丢失或被盗,已进行备份的microSD卡和您的恢复密码是恢复资金的唯一方法。",description4:"在不转移资金的情况下您以后将无法更改恢复密码。",title:"创建一个新钱包"},password:{label:"找回密码",repeatPlaceholder:"重复恢复密码"},walletName:{label:"钱包名称"}},hW={error:{e200:"通过备份还原钱包需要用到microSD卡。"},info:{description1:"将microSD卡插入BitBox,然后单击“继续”",description2:"选择一个备份,然后单击“还原”",description3:"输入恢复密码",description4:"您需要确认你已了解到如果输入一个错误的密码,将创建另一个不同的钱包。",title:"如何通过备份还原钱包"}},mW={abort:"交易已被中止。",address:{label:"收款人地址",placeholder:"输入地址"},amount:{label:"金额",placeholder:"输入金额"},button:"签名并发送",coincontrol:{address:"地址",outpoint:"",title:"从输出发送"},confirm:{"selected-coins":"已选择的币种",title:"确认交易",total:"总计"},error:{insufficientFunds:"余额不足",invalidAddress:"无效地址",invalidAmount:"无效金额",invalidData:"无效数据"},fee:{customPlaceholder:"输入金额",label:"网络费",placeholder:"无法使用"},feeTarget:{description:{economy:"24个区块(Bitcoin比特币大约需4小时,Litecoin莱特币大约需1小时)",high:"2个区块(Bitcoin比特币大约需20分钟,Litecoin莱特币大约需5分钟)",low:"12个区块(Bitcoin比特币大约需2小时,Litecoin莱特币大约需30分钟)",normal:"6个区块(Bitcoin比特币大约需1小时,Litecoin莱特币大约需15分钟)"},estimate:"预计等待时间:",label:{economy:"经济",high:"高",low:"低",normal:"正常/普通"},placeholder:"正在进行费用估算…"},maximum:"发送全部",scanQR:"扫描二维码",signprogress:{description:"这是一个包含大量数据的交易。如要完成交易的完整签名过程,系统会要求您确认 {{steps}} 次。",label:"进展"},success:"交易已签名并完成发送。",title:"发送 {{accountName}}",toggleCoinControl:"切换coin控制"},fW={electrum:{add:"添加服务器","add-server":"添加",check:"校验",checkFailed:"失败",checkSuccess:"成功与 {{host}}建立连接",checking:"检查中","download-cert":"下载远程证书","remove-server":"删除",removeConfirm:"删除 {{server}}?",reset:"重置为默认值",resetConfirm:"是否要删除所有服务器并安装默认服务器?",servers:"服务器",step1:"1","step1-text":"输入endpoint",step2:"2","step2-text":"输入服务器证书链的证书。或者下载远程证书并进行视觉对比。",step3:"3","step3-text":"检查连接并添加服务器。",step4:"4","step4-text":"重启钱包。如果您不删除默认服务器,您自己的节点将被添加并被作为冗余处理","title-btc":"Bitcoin Electrum服务器","title-ltc":"Litecoin莱特币Electrum服务器","title-tbtc":"Bitcoin测试网络Electrum服务器","title-tltc":"Litecoin莱特币测试网Electrum服务器"},expert:{coinControl:"启用coin控制",electrum:{title:"连接您自己的全节点"},setProxyAddress:"设定代理地址",title:"高级/专业用户设置",useProxy:"启用tor代理"},header:{home:"主页"},restart:"请重新启动BitBoxApp,以使更改生效。",success:"请拔出并重新插入BitBox,以使更改生效。",title:"设置"},gW="设置设备",vW={device:"管理设备",leave:"离开",settings:"设置"},bW={create:{info1:"您的钱包已安全备份到microSD卡。取出microSD卡并安全保存。",info2:"您已经创建了一个安全的设备密码来解锁BitBox。",info3:"您已为钱包创建了安全的恢复密码,该密码可解锁资金并还原备份。",summary:"这是您已完成事项的摘要",title:"成功"},getstarted:"开始吧",restore:{summary:"您已成功从备份中还原了钱包。",title:"成功"}},kW={confirmation:"确认",explorer:"交易ID",explorerTitle:"在外部区块浏览器中打开",fee:"(交易)费用",fiatHistorical:"历史的",gas:"Gas",pending:"待处理的交易",size:"(区块)大小",vsize:"(区块)虚拟大小",weight:"(区块)重量"},xW={placeholder:"尚无交易记录"},yW="出现未知错误: {{errorMessage}}",wW={description:"输入您的设备密码以解锁设备",error:{e109_normal:"设备密码错误。 {{remainingAttempts}} 重设设备之前尝试会保留。",e109_touch:"$t(unlock.error.e109_normal)下次登录需要按住触摸按钮。",e113:"由于多次登录尝试,下次登录需要按住触摸按钮4秒钟。"},input:{label:"设备密码",placeholder:"输入设备密码以解锁设备"},unlocking:"解锁中..."},jW={button:"升级固件",description:"您是否要将固件版本从 {{currentVersion}}升级至 {{newVersion}}?",label:"您的BitBox需要固件升级。",locked:"从 {{currentVersion}} 升级至 {{newVersion}},请长按(触控边框)。",title:"升级固件",unlocked:"引导加载程序已解锁。要继续,请:",unlocked1:"拔下并重新插入您的Bitbox",unlocked2:"重新插入BitBox时,LED会亮起",unlocked3:"LED屏幕亮起时请轻触设备的触控边框"},BW={receivePairing:"请配对BitBox以启用安全地址验证。点击侧单栏中的“管理设备”。",sdcard:"除非要进行备份管理,否则请将microSD卡与BitBox设备分开存放。",sendPairing:"请配对BitBox以安全地验证交易详细信息。转到侧栏中的“管理设备”。"},SW={insertBitBox02:"如果是BitBox02设备,请点击设备以继续。",insertDevice:"请链接您的设备以开始进一步操作",title:"欢迎"},zW={account:jV,accountInfo:BV,accountSummary:SV,addAccount:zV,app:CV,backup:DV,bb02Bootloader:AV,bitbox:_V,bitbox02Interact:TV,bitbox02Settings:EV,bitbox02Wizard:PV,blink:NV,bootloader:LV,button:IV,changePin:$V,checkSDcard:MV,clickHere:OV,confirm:RV,confirmOnDevice:FV,device:VV,deviceLock:WV,deviceSettings:UV,deviceTampered:qV,dialog:HV,fiat:KV,footer:GV,genericError:QV,goal:YV,guide:ZV,headerssync:JV,hiddenWallet:XV,initialize:eW,invalidFormat:tW,language:nW,legacyhiddenwallet:aW,loading:iW,notification:oW,pairing:rW,password:sW,random:lW,receive:cW,reset:uW,securityInformation:dW,seed:pW,seedRestore:hW,send:mW,settings:fW,setup:gW,sidebar:vW,success:bW,transaction:kW,transactions:xW,unknownError:yW,unlock:wW,upgradeFirmware:jW,warning:BW,welcome:SW},CW={disconnect:"ارتباط از دست رفته تلاش مجدد ...",export:"خروچی",exportTransactions:"خروجی گرفتن از تراکنش ها به صورت CSV و ذخیره در پوشه دانلود ها",fatalError:"خطای غیر منتظره.",incoming:"ورودی",initializing:"دریافت اطلاعات از بلاکچین ...",reconnecting:"ارتباط از دست رفته، تلاش برای اتصال مجدد ..."},DW={address:"آدرس",extendedPublicKey:"کلید عمومی گسترش یافته",label:"اطلاعات حساب",title:"اطلاعات حساب",verify:"تأیید در دستگاه"},AW={balance:"موجودی",exportSummary:"خروجی گرفتن از اطلاعات حساب در فولدر دانلودها به صورت CSV",fiatBalance:"موجودی به ارزهای رایج",name:"نام حساب",noAccount:"هیچ حسابی برای نمایش نیست.",title:"اطلاعات حساب ها",total:"مجموع"},_W={title:"افزودن حساب"},TW={upgrade:"نسخه جدید برنامه موجود است. لطفا برنامه را از نسخه {{current}} به نسخه {{version}} ارتقا دهید."},EW={check:{checking:"درحال بررسی پشتیبان...",confirmTitle:"بررسی پشتیبان",notOK:"پشتیبان با کیف پول فعلی منطبق نیست.",ok:"پشتیبان با کیف پول فعلی منطبق است",password:{label:"رمزعبور بازیابی",placeholder:"رمزعبور بازیابی",showLabel:"رمزعبور بازیابی"},success:"فایل پشتیبان با موفقیت تایید شد:",title:"بررسی پشتیبان"},create:{alreadyExists:"شما یک فایل پشتیبان دارید. آیا می خواهید دوباره ساخته شود؟",fail:"تهیه نسخه پشتیبان با مشکل روبرو شد!",info:"لطفا رمزعبور بازیابی کیف پول را برای تایید وارد نمایید",name:{label:"نام پشتیبان",placeholder:"لطفا نامی برای پشتیبان وارد کنید"},password:{label:"رمزعبور بازیابی",placeholder:"لطفا رمزعبور بازیابی را وارد نمایدد"},title:"ایجاد پشتیبان",verificationFailed:"رمزعبور پشتیبان با کیف پول فعلی متفاوت است. پشتیبان گیری انجام شد. لطفا از دکمه 'بررسی پشتیبان' برای تایید رمزعبور بازیابی استفاده نمایید."},description:"فایل پشتیبان کیف پولرا انتخاب نمایید.",insert:"لطفا برای پشتیبان گیری، حافظه microSD را وارد نمایید",insertButton:"حافظه microSD را وارد کردم",list:"نسخه های پشتیبان شما در حافظه microSD",noBackups:"هیچ فایل پشتیبانی در حافظه میکرو SD وجود ندارد.",restore:{confirmTitle:"بازگرداندن پشتیبان",error:{e200:"حافظه microSD پیدا نشد."},password:{label:"رمزعبور بازیابی یا رمزعبور بازیابی مخفی",placeholder:"رمزعبور بازیابی",repeatPlaceholder:"تکرار رمزعبور بازیابی",showLabel:"رمزعبور بازیابی"},restoring:"بازگرداندن پشتیبان ...",title:"بازیابی",understand:"من قبول می کنم رمزعبور بازیابی نادرست کیف پول متفاوتی ایجاد می کند"},showMnemonic:{description:`شما با حداکثر 24 کلمه مواجه می شوید که از پشتیبان شما دریافت شده است. آنها را روی کاغذ یادداشت نمایید. +کلمات را به صورت دیجیتالی نگهداری نکنید. ویا از آنها عکس نگیرید +کلمات را بلند نخوانید. +این پشتیبان با رمز قفل نیست. +بعد از آن از شما خواسته می شود هر کلمه را تایید نمایید. +`,title:"نمایش کلمات بازیابی"},title:"مدیریت پشتیبان ها"},PW={abort:"بروزرسانی نکن – من را برگردان",advanced:{label:"تنظیمات پیشرفته",toggleShowFirmwareHash:"نمایش هش سیستم عامل هر بار هنگام روشن شدن"},flipscreen:"چرخش تصویر",orientation:"جهت تصویر اشتباه است؟",success:"بروزرسانی با موفقیت انجام شد! ادامه در {{rebootSeconds}} ثانیه..."},NW={error:{e10000:"رمزعبور نادرست است.",e10001:"رمزعبور جایگزین نشد",e102:"رمزعبور حداقل باید ٨ کارکتر باشد",e112:"رمزعبور مخفی دستگاه نمی تواند با رمزعبور اصلی یکی باشد"}},LW={followInstructions:"لطفا طبق دستورالعمل های نمایش داده شده در BitBox02 عمل کنید."},IW={deviceName:{current:"نام دستگاه فعلی",input:"نام BitBox02",title:"تنظیم نام BitBo02"}},$W={attestationFailed:"تأیید دستگاه انجام نشد ، که می تواند به دلیل راه اندازی مجدد برنامه در حالی که دستگاه منتظر ورود کاربر بود ، انجام شود. لطفا دوباره وصل شوید و دوباره امتحان کنید.",backup:{point1:"یک فایل پشتیبان را از حافظه microSD انتخاب نمایید",point2:"یک رمزعبور برای دستگاه خود تعیین نمایید",restoreText:"خب ، بگذارید پشتیبان را برگردانیم!",text1:"عالی، رمزعبور BitBox02 شما تنظیم شد و کیف پول شما ساخته شد. حالا زمان این است که یک پشتیبان تهیه نمایید. لطفا بررسی کنید حافظه microSD شما در BitBo02 شما قرار دارد و ادامه دهید.",text2:"لطفا دستورعمل های نمایش داده شده در صفحه نمایش دستگاه خود برای تهیه پشتیبان را دنبال کنید.",text3:"بعد از تهیه پشتیبان، لطفا حافظه microSD را خارج کرده و در جای امن نگهداری کنید. اطلاعات microSD رمزنگاری نشده است. هیچ وقت آن را در دستگاه دیگری جز BitBox02 خود نگذارید",userConfirmation1:"من باید اطلاعات پشتیبان خود را در محل امن نگهداری کنم.",userConfirmation2:"پشتیبان من رمزگذاری نشده است. هرکسی که به آن دسترسی داشته باشد می تواند به کیف پول من دسترسی داشته باشد.",userConfirmation3:"اگر من Bitbox02 خود را خراب یا گم کنم، تنها راه بازیابی پول خود ازطریق فایل پشتیابن من است.",userConfirmation4:"اگر من هم پشتیبان و هم BitBox02 خودم را خراب یا گم کنم پس پول های من برای همیشه گم می شوند"},create:{button:"نام گذاری دستگاه و ادامه",info:"در اینجا اصول اولیه ای که برای راه اندازی BitBox خود انجام می دهید نمایش داده شده است: ",inputTitle:"نام کیف پول",point1:"نام گذاری دستگاه",point2:"تنظیم رمزعبور برای دستگاه خود",point3:"تهیه پشتیبان",text:"خب ، بیایید یک کیف پول جدید ایجاد کنیم!"},initialize:{passwordText:"اکنون یک رمزعبور برای دستگاه خود تنظیم کنید. برای وارد کردن و انتخاب رمزعبور از کنترل های موجود در BitBox خود استفاده کنید.",passwordTitle:"تنظیم رمزعبور برای BitBox خود",text:"با موفقیت BitBox02 شما متصل شد! اکنون بیایید دستگاه خود را راه اندازی کنیم. با انتخاب ایجاد کیف پول جدید یا بازگرداندن کیف پول از یک نسخه پشتیبان موجود شروع کنید. لطفاً اطمینان حاصل کنید که یک کارت microSD در BitBox02 خود وارد شده است",tip:"توصیه می کنیم در یک محیط امن پیش بروید.",title:"راه اندازی BitBox خود"},insertSDCard:"لطفاً اطمینان حاصل کنید که یک حافظه microSD در BitBox02 خود قرار دارد.",pairing:{failed:"اتصال تایید نشده. لطفا BitBox02 خود را مجددا مصل کنید.",paired:"شما بر روی دستگاه خود تأیید کرده اید که کد مطابقت دارد. اگر این صحیح است ، می توانید با کلیک روی دکمه زیر ادامه دهید.",title:"کد اتصال را تأیید کنید",unpaired:"BitBox02 جدید شناسایی شده است. لطفاً تأیید کنید که کد زیر مطابق با آنچه در دستگاه شما نشان داده شده است مطابقت دارد. اگر کد مطابقت دارد ، زیر علامت تیک در BitBox02 خود را لمس کنید و سپس برای ادامه بر روی دکمه زیر کلیک کنید."},restoreFromMnemonic:{failed:"بازیابی با کلمات بازیابی انجام نشد، لطفاً دوباره امتحان کنید."},stepBackup:{beforeProceed:"قبل از اقدام ، لطفاً این ملاحظات امنیتی مهم را بخوانید:",createBackup:"اکنون یک پشتیبان در کارت microSD خود ایجاد خواهید کرد."},stepBackupSuccess:{fundsSafe:"برای تأمین امنیت بودجه خود ، موارد زیر را بخاطر بسپار:",title:"پشتیبان گیری بازیابی شد"},stepConnected:{unlock:"رمزعبور BitBox02 را برای باز کردن قفل وارد کنید."},stepCreate:{nameLabel:"نام BitBox02",namePlaceholder:"BitBox02 من",title:"نام BitBox02 را انتخاب کنید",toastMicroSD:"لطفاً اطمینان حاصل کنید که کارت microSD شما در BitBox02 قرار دارد."},stepCreateSuccess:{removeMicroSD:"لطفاً کارت microSD را از BitBox02 خود جدا کرده و آن را در یک مکان امن نگهداری کنید.",success:"نسخه پشتیبان خود را با موفقیت ایجاد کرده اید."},stepPassword:{title:"رمزعبور BitBox02 را تنظیم کنید",useControls:"برای تنظیم رمزعبور از کنترل های موجود در BitBox02 استفاده کنید."},stepUninitialized:{create:"می خواهم یک BitBox02 جدید را تنظیم کنم.",restore:"می خواهم کیف پول خود را از یک نسخه پشتیبان بازیابی کنم.",restoreMicroSD:"بازیابی از حافظه microSD",restoreMnemonic:"بازیابی با کلمات بازیابی",title:"BitBox02 خود را تنظیم کنید"},success:{text:`هورا! اکنون BitBox02 شما آماده استفاده است. + +برای کسب اطلاعات بیشتر در مورد نحوه استفاده از BitBoxApp ، لطفاً با کلیک روی علامت سؤال در گوشه بالا سمت راست ، از راهنمای برنامه استفاده کنید.`,title:"شما آماده رفتن هستید!"}},MW={button:"چشمک زدن"},OW={button:"بروزرسانی سیستم عامل",progress:"بروزرسانی: {{progress}}%",success:"ارتقا موفقیت آمیز بود! لطفا دستگاه را دوباره متصل نمایید. این بار، دکمه را لمس نکنید."},RW={abort:"لغو",back:"بازگشت",changepin:"تغيير رمزعبور دستگاه",check:"بررسی پشتیبان",continue:"ادامه",copy:"کپی",create:"ایجاد",download:"دانلود",hiddenwallet:"ساخت کیف پول مخفی",next:"بعدي",ok:"تاييد",previous:"قبلي",receive:"دریافت",restore:"بازیابی",select:"انتخاب",send:"واریز",unlock:"باز کردن",update:"بروز رسانی",upgrade:"ارتقاء"},FW={newTitle:"رمزعبور جدید دستگاه",oldLabel:"رمزعبور فعلي دستگاه "},VW="بررسی حافظه microSD",WW="اینجا کلیک کنید.",UW={abortInfo:"ضربه بزنید تا",abortInfoRedText:"لغو",approveInfo:"4 ثانیه نگه دارید تا",approveInfoGreenText:"تاييد ",info:"روی BitBox",infoWhenPaired:"اول بر روی موبایل و سپس BitBox"},qW="لطفاً بر روی دستگاه خود تأیید کنید.",HW={appUpradeRequired:"BitBox شما با این برنامه سازگار نیست. لطفا آخرین نسخه را دانلود و نصب کنید."},KW={button:"فعال کردن تایید دو مرحله ای (2FA)",condition1:"آیا پشتیبان دارین؟",condition2:"آیا برنامه تایید موبایل کار می کند؟",condition3:"تایید دو مرحله ای پشتیبان و اتصال موبایل را خاموش می کند. دستگاه برای خروج از تایید 2 مرحله ای باید ریست شود.",confirm:"فعال کردن تایید دو مرحله ای (2FA)",title:"فعال کردن تایید دو مرحله ای (2FA)"},GW={firmware:{newVersion:{label:"نسخه موجود"},title:"سیستم عامل",upToDate:"دستگاه شما بروز است",version:{label:"نسخه"}},hardware:{sdcard:{false:"قرار ندارد",label:"حافظه microSD",true:"قرار دارد"},title:"سخت افزار"},loading:"بازگرداندن اطلاعات دستگاه...",pairing:{lock:{false:"خاموش",label:"تایید دو مرحله ای (2FA)",true:"روشن"},mobile:{false:"بسته شده",label:"برنامه موبایل",true:"باز"},status:{false:"متصل نشده",label:"وضعیت",true:"متصل"},title:"اتصالات"},secrets:{manageBackups:"مدیریت پشتیبان ها",title:"اسرار"}},QW="آیا BitBox شما دارای رمز بازیابی است؟ اگر هست، پروسه نصب را انجام نداده و سریعا با بخش پشتیبانی تماس بگیرید. Shift هرگز به شما کیف پول از قبل ساخته شده یا رمزعبور پیشنهادی نمی دهد",YW={cancel:"لغو",confirm:"تایید"},ZW={default:"پیش فرض",setDefault:"{{code}} را به عنوان پیشفرض تنظیم کنید",title:"ارزها"},JW={appVersion:"نسخه برنامه:"},XW="یک خطا رخ داده است اگر متوجه شدید، لطفا برنامه را مجددا راه اندازی کنید.",e8={buttons:{create:"یک کیف پول جدید ایجاد کنید",restore:"بازگرداندن کیف پول از پشتیبان"},paragraph:"لطفا یکی از گزینه های زیر را انتخاب کنید:",step:{1:{title:"اطلاعات امنیتی"},2:{description:"رمز عبور دستگاه را تنظیم کنید",title:"دستگاه"},"3-create":{description:"یک کیف پول جدید ایجاد کنید",title:"كيف پول"},"3-restore":{description:"از یک پشتیبان",title:"بازیابی"},"4-create":{title:"خلاصه"},"4-restore":{title:"خلاصه"}}},t8={accountDescription:{text:'نمای کلی حساب شما موجودی شما و همچنین معاملات ورودی و خروجی را نشان می دهد. راهنمای ما در "تنظیمات" درباره هر نوع حساب اطلاعات بیشتری دارد. ',title:"چه چیزی در این صفحه به من نمایش داده می شود؟"},accountFiat:{text:"بله، شما می توانید با کلیک کردن بر روی نام ارز رایج، ارز های رایج دیگر را ببینید و می توانید لیست ارز ها را در بخش تنظیمات تغییر دهید.",title:"آیا می توانم دیگر نرخ تبدیل را نمایش دهم؟"},accountIncomingBalance:{text:"دریافتی به جمع مقادیری که به شما منتقل می شود ولی هنوز توسط شبکه تایید نشده است می گویند.",title:"معنی دریافتی چیست؟"},accountInfo:{xpub:{text:`یک کلید عمومی گسترش یافته یک کلید ریشه است که از آن می توان تمام آدرس های دریافتی یک حساب را دریافت کرد. +این در اینجا برای استفاده پیشرفته و قابلیت همکاری با کیف پول نمایشی مانند Electrum یا Sentinel ارائه شده است.`,title:"کلید عمومی گسترش یافته چیست؟"}},accountRates:{text:"",title:"کدام نرخ استفاده می شود؟"},accountReload:{text:"همه اطلاعات تراکنش به صورت خودکار بروز می شود.",title:"چگونه می توانم سابقه تراکنش را بروز کنم؟"},accountSendDisabled:{text:"دکمه «ارسال» هنگامی فعال می شود که موجودی شما بیش از صفر باشد.",title:"چرا نمی توانم هر مقدار {{unit}} را بفرستم؟"},accountTransactionAttributesBTC:{text:`اندازه مجازی: برای تعیین هزینه شبکه استفاده می شود. شما با موفقیت در هزینه صرفه جویی کردید اگر کوچکتر از اندازه تراکنش باشد. +اندازه: حجم معامله واقعی در بایت زمانی که با توجه به بلوک های زیرزمینی سرویسی می شود. +وزن: با Segwit معرفی شده است، این یک متریک جدید برای ارزیابی معامله و اندازه بلوک است. هر شهود جداگانه شمرده شده به عنوان یک، هر چیز دیگری به عنوان چهار وزن واحد. به جای یک مگابایت در اندازه واقعی، محدودیت اندازه بلوک در حال حاضر ٤ میلیون وزن واحد است.`,title:"جزئیات معاملات بیت کوین خاص چیست؟"},accountTransactionAttributesGeneric:{text:`تأییدیه: هنگامی که تراکنش شما برای اولین بار پخش می شود، تأیید نخواهد شد. شما باید منتظر بمانید تا یک معدنچی به یک بلوک اضافه شود و پس از آن یک تایید داشته باشد. هر بلوک پخش شده در شبکه پس از آن تایید دیگری برای معامله شما خواهد بود. به طور کلی، بازرگانان و بازیگران شبکه دیگر تنها قبل از اینکه معامله را به عنوان معامله انجام دهند، معاملات را بین ٣-٦ تایید پذیرفته اند. +شناسه تراکنش: یک شماره شناسایی منحصر به فرد است که می تواند برای جستجوی تراکنش در جستوجوگر بلوک استفاده شود. +هزینه: استخراج کنندگان هزینه معامله را به عنوان یک انگیزه برای شامل معاملات در بلوک هایی که معدن دارند، پرداخت می کنند. برای کسب اطلاعات بیشتر، روی دکمه ارسال کلیک کنید.`,title:"اطلاعاتی که در جزئیات تراکنش نشان داده شده است چیست؟"},accountTransactionConfirmation:{text:"این تراکنشی است که به شبکه فرستاده شده و منتظر تایید آن است.",title:"تراکنش ،در انتظار چیست؟"},accountTransactionLabel:{text:"این آدرس است که در آن سکه ها را دریافت کرده اید یا سکه ها را ارسال می کنید.",title:"کدام آدرس برای هر تراکنش نمایش داده می شود؟"},accountTransactionTime:{text:"زمانی که تراکنش در بلاکچین تایید شود.",title:"چه زمانی نمایش داده می شود؟"},appendix:{link:"ارتباط با ما",text:"سوال دیگر؟"},backups:{check:{text:"«بررسی پشتیبان» به شما اجازه می دهد تا مطمعن شوید که پشتیبان تهیه شده مربوط به کیف پول فعلی شما سالم است. همچنین می توانید رمزعبور بازیابی خود را بررسی کنید. شما می توانید رمزعبور بازیابی اصلی یا رمزعبور بازیابی مخفی خود را بررسی کنید.",title:'"بررسی پشتیبان" چیست؟'},encrypt:{text:"خیر، برای بازگرداندن کیف پول از کلمات ذخیره شده رمزعبور بازیابی شما احتیاج است.",title:"آیا می توانم پشتیبان را رمزگذاری کنم؟"},howOften:{text:`زمانی که کیف پول جدید ساخته می شود پشتیبان به صورت خودکار تولید می شود. شما فقط زمانی پشتیبان جدید تهیه می کنید اگر حافظه microSD را گم کرده باشید یا خراب شده باشد، یا اگر می خواهید بر روی حافظه های microSD متعدد پشتیبان داشته باشید. +شما احتیاجی به پشتیبان گیری بعد از انجام معامله ندارید. همه اطلاعات معاملات شما می توانند با یک پشتیبان که به صورت خودکار برای شما تهیه شده بازگردانده شوند.`,title:"چند بار باید یک نسخه پشتیبان تهیه کنم؟"},whatIsABackup:{text:"این یک نسخه از کلمات در کارت حافظه میکرو SD است. کلمات به همراه رمزعبور بازیابی کیف پول شما را ایجاد می کند.",title:"پشتیبان چیست؟"}},backupsBB02:{check:{text:'"بررسی نسخه پشتیبان" به شما امکان می دهد تا اطمینان حاصل کنید که یک نسخه پشتیبان مربوط به کیف پول فعلی خود دارید.',title:"'بررسی نسخه پشتیبان' چیست؟"},encrypt:{text:'خیر. لطفاً کارت حافظه microSD را ایمن نگه دارید ، زیرا شامل کلمات بازیابی رمزنگاری نشده برای بازیابی کیف پول شما است. اگر می خواهید با گذرواژه از کلمات بازیابی خود محافظت کنید ، می توانید یک عبارت عادی را در تنظیمات پیشرفته تحت "مدیریت دستگاه" فعال کنید.',title:"آیا می توانم نسخه پشتیبان را رمزگذاری کنم؟"},whatIsABackup:{text:"این یک کپی از کلمات بازیابی در کارت microSD است.",title:"نسخه پشتیبان چیست؟"}},bitbox:{"2FA":{text:`زمانی که تایید دو مرحله ای فعال است، برای خرج کردن سکه ها همه معاملات باید با موبایل متصل شده تایید شوند. در پشت برنامه، یک شماره یک بار مصرف قفل گذاری شده به موبایل ارسال می شود، قفل باز می شود، و زمانی که کلید قبول را می زنید شماره برای BitBox بر می گردد. این ارتباط با دستگاه از طریق کانال بین موبایل و این برنامه کامپیوتری درهنگام اتصال ایجاد شده انجام می شود. + +مطمئن شوید قبل از فعال کردن تایید 2 مرحله ای از کیف پول خود پشتیبان تهیه کنید و موبایل خود را متصل کنید. پس از فعال کردن حافظه میکرو SD و اتصال برنامه موبایل غیر فعال می شود. آنها با بازنشانی BitBox که دستگاه را پاک می کند، می تواند دوباره فعال شود.`,title:"تایید دو مرحله ای (2ّFA) چگونه کار می کند؟"},disable2FA:{text:'برای غیر فعال کردن تایید دو مرحله ای، شما نیاز به بازنشانی BitBox خود و سپس بازگرداندن کیف پول از پشتیبان. اطمینان حاصل نمایید که در حافظه میکرو SD پشتیبان داشته باشیدو همچنان رمز عبور بازیابی را به یاد داشته باشید. سپس "بازنشانی دستگاه" را فشار دهید. رمز عبور جدید دستگاه را وارد نمایید و گزینه "یا بازگرداندن پشتیبان" را انتخاب کنید. پشتیبان کیف پول را انتخاب کنید، "بازگرداندن" را کلیک کنید و رمز عبور بازگرداندن که زمان ساخت کیف پول وارد کردید را وارد کنید.',title:"چگونه می توانم تایید دو مرحله ای را خاموش کنم؟"},ejectBitbox:{text:"شما می توانید BitBox را در هر زمان بدون نیاز به اولیای خود بکشید.",title:"چگونه می توانم BitBox را جدا کنم؟"},ejectSD:{text:"شما می توانید کارت microSD را از BitBox در هر زمانی که شما در حال ایجاد یا بازگرداندن پشتیبان نیستید حذف کنید.",title:"چگونه می توانم کارت microSD را حذف کنم؟"},hiddenWallet:{text:"این یک کیف پول دوم در همان دستگاه محافظت شده با یک رمز عبور دستگاه دیگر و بازیابی رمز عبور است که شما می توانید برای واکنش قابل اعتماد استفاده کنید. همان بوت پشتیبان برای هر دو کیف پول عادی و پنهان شما استفاده می شود، بنابراین هیچ پشتیبان اضافی لازم نیست.",title:"کیف پول مخفی چیست؟"},legacyHiddenWallet:{text:"اول باید روی دکمه زیر کلیک کنید (در صورتی دکمه فعال است که BitBox با رمزعبور اصلی دستگاه باز باشد و تایید دو مرحله ای غیر فعال باشد، فعال است)، سپس BitBox را دوباره متصل کنید و با رمزعبور مخفی دستگاه باز نمایید.",title:"چگونه می توانم به کیف پول legacy مخفی دسترسی داشته باشم؟"},pairing:{text:"بعد از نصب برنامه موبایل ما برای IOS یا Android، شما کد QR نمایش داده شده را اسکن می کنید. که اتصال امن بین برنامه موبایل و این برنامه ایجاد می کند. پس از اسکن، دستورالعمل های برنامه موبایل را دنبال کنید.",title:"چگونه اتصال امن با موبایل خود داشته باشید"}},receive:{address:{text:"آدرس را به دیگران بدهید تا به شما مقداری سکه بدهند. فقط مطمئن شوید ادرس را به درستی ارسال می کنید.",title:"با یک آدرس چه کار کنم؟"},addressChange:{text:"به محض اینکه یک آدرس در یک تراکنش استفاده می شود، آدرس جدید به لیست اضافه می شود تا آن را جایگزین کند. همیشه ٢٠ آدرس استفاده نشده موجود در لیست وجود دارد.",title:"چه وقت آدرس تغییر می کند؟"},howVerify:{text:`برای BitBox01، روی آیکون BitBox در نوار کناری سمت چپ کلیک کنید و بخش جفت شدن را ببینید. راهنمای به روز می شود و شما می توانید به دنبال دستورالعمل ها از آنجا ادامه دهید. +برای BitBox02، شما می توانید آدرس ها را بصورت مستقیم بر روی دستگاه هنگام دریافت و ارسال تایید کنید.`,title:"چگونه می توانم یک آدرس را به صورت ایمن تأیید کنم؟"},why20:{text:'در هنگام راه اندازی برنامه آدرس هایی را که از دانه شما گرفته می شود ، ایجاد می کند تا ببیند که آیا تراکنش دریافت کرده اند یا خیر. از آنجا که برنامه می تواند تعداد نامحدودی آدرس را ایجاد می کند ، می تواند سالها برای تعیین موجودی زمان صرف کند. برای محدود کردن این جستجو ، پس از مشاهده 20 نشانی که هرگز تراکنش دریافت نکرده اند ، متوقف می شود. این "حد فاصله" است و 20 استاندارد بالفعل است که هر چند تعداد دلخواه است. این 20 نشانی است که می توانید انتخاب کنید.',title:"چرا فقط 20 آدرس؟"},whyMany:{text:"برای حفظ حریم خصوصی و امنیت، شما نباید از یک آدرس دو بار استفاده نمایید. بر روی فلش سمت راست کلیک کنید تا آدرس جدید برای هدف دیگری بگیرید. شما می توانید ٢٠ آدرس در لحظه بسازید. آدرس ها را مانند شماره فاکتور در نظر بگیرید. همه آدرس ها از seed پشتیبان شما تهیه شده اند.",title:"چرا آدرس های زیادی وجود دارد؟"},whyVerify:{text:"یکی از دلایل خرید کیف پول سخت افزاری مانند BitBox این است که شما نباید به دلیل سطح حمله بزرگ خود به کامپیوتر خود اعتماد کنید. در نتیجه، شما نباید به کامپیوتر خود اعتماد کنید تا آدرس های معتبر تولید و نمایش داده شود. این دکمه برای تایید ایمن آدرس BitBox را مجبور به ارسال آدرس به تلفن همراه متصل شده می کند، که از آن شما می توانید کد QR را اسکن و تایید نمایید. برای BitBox02 آدرس می تواند تایید شود بر روی صفحه نمایش BitBox02",title:"چرا باید آدرس ایمن را تأیید کنم؟"}},send:{fee:{text:`هزینه براساس اندازه داده های تراکنش و نه مقدار آن است. اهداف هزینه توسط الگوریتم تخمین هزینه هسته Bitcoin برای هر اولویت شبکه ای که انتخاب کرده اید محاسبه می شود. آنها نشان داده شده اند اگر ارزش دیگری از هدف زیر داشته باشند. +اقتصاد: ٢٤ بلوک (حدود ٤ ساعت برای Bitcoin، ١ ساعت برای Litecoin) +کم: ١٢ بلوک (حدود ٢ ساعت برای Bitcoin، ٣٠ دقیقه برای Litecoin) +عادی: ٦ بلوک (حدود ١ ساعت برای Bitcoin، ١٥ دقیقه برای Litecoin) +بالا: ٢ بلوک (حدود ٢٠ دقیقه برای Bitcoin، ٥ دقیقه برای Litecoin) +(یک بلاک برای Bitcoin به طور متوسط ١٠ دقیقه طول می کشد (٢.٥ دقیقه در Litecoin) برای استخراج و بار شبکه ممکن است به طور قابل توجهی در دوره های بالا متفاوت باشد.)`,title:"هزینه تراکنش چگونه تعیین می شود؟"},priority:{text:"هر چه هزینه بالاتری پرداخت کنید، معاملات شما توسط شبکه سریع تر تایید می شود.",title:"اولویت شبکه چیست؟"},revert:{text:`هنگامی که یک معامله امضا و ارسال می شود(یعنی در شبکه پخش می شود)، دیگر نمی توان برگرداند. قبل از امضای معامله با دقت معامله (حتی هزینه) را بررسی کنید. +اگر می دانید گیرنده مایل به ارسال همان مقدار (منهی هزینه تراکنش) است، شما می توانید آدرس دریافت جدید به آنها بدهید.`,title:"آیا می توانم تراکنش را بازگردانم؟"},whyFee:{text:`معاملات در حال رقابت برای تایید شدن توسط ماینر ها هستند. ماینرها معاملات را براساس هزینه آنها انتخاب می کنند تا در بلاکچین قرار بگیرند. +ماینرها براساس تاریخچه معاملات رای می دهند. از آنجایی که هیچ شخص سومقابل اعتمادی برای اجرای یک رای برای هر نفر (که پایه و اساس بلاک چین ها است) وجود ندارد، ماینرها با به خطر انداختن منابع هزینه ای مانند قدرت محاسبات، به معاملات رای میدهند. به عنوان پاداش کار خود، آنها می توانند سکه های تازه ایجاد شده و هزینه تمام معاملات موجود را دریافت کنند.`,title:"چرا هزینه ی شبکه وجود دارد؟"}},"settings-electrum":{what:{text:"به جای استفاده از سرورهای Shift، ممکن است کیف پول خود را با کد های کامل خود فعال کنید.",title:"این چیه؟"}},settings:{servers:{text:`این برنامه با سرورهای Shift Crypto برای برسی بروزرسانی، دریافت معملات و ارسال اطلاعات به برنامه موبایل متصل شده در ارتباط است. علاوه بر این آخرین نرخ ارز تبدیل را از سابت CoinGecko دریافت می کند. (تبدیل به صورت محلی محاسبه می شود، هیچ مبلغی از شما ارسال نمی شود.) +توجه: برای توکن های Ethereum و ERC20 ، ما از API های Etherscan.io استفاده می کنیم.`,title:"کدام سرور با این برنامه صحبت می کند؟"}},title:"راهنما",toggle:{close:"بستن راهنما",open:"راهنما"},unlock:{forgotDevicePassword:{text:"شما باید دستگاه را بازنشانی کنید و کیف پول را با استفاده از رمزعبور بازیابی بازگردانید.",title:"اگر رمز عبور دستگاه را فراموش کرده ام چه کاری انجام دهم؟"},reset:{text:"رمز عبور دستگاه اشتباه را ١٥ بار وارد کنید چندین تلاش اخیر نیاز به لمس طولانی در دستگاه دارد.",title:"چگونه دستگاه را بازنشانی کنم؟"}},waiting:{deviceNotRecognized:{text:"چراغ دستگاه در زمان اتصال باید یک بار چشمک بزن. اطمینان حاصل فرمایید که دستگاه از راه درست وارد شده است. اگر شما با مشکل روبرو شدید، لطفا از طریق لینک زیر با ما در ارتباط باشید.",title:"BitBox01 من شناسایی نشده است"},getDevice:{link:{text:"سفارش BitBox"},text:"شما می توانید BitBox را در فروشگاه آنلاین ما خریداری کنید:",title:"چگونه مي توانم يك دستگاه بگيرم؟"},internet:{text:"بله، اتصال اینترنت برای همگام سازی کیف پول لازم است، ارسال معاملات و بازیابی آخرین نرخ ارز.",title:"آيا اين برنامه به اينترنت نياز دارد؟"},lostDevice:{link:{text:"مرکز پشتیبان گیری"},text:"شما می توانید حساب های خود را در BitBox جدید یا مرکز پشتیبان گیری خود بازیابی کنید.",title:"دستگاه خود را از دست دادم حالا چی؟"},useWithoutDevice:{text:"متأسفانه این هنوز در حال حاضر امکان پذیر نیست.",title:"آيا مي توانم اين برنامه را بدون دستگاه استفاده كنم؟"},welcome:{text:"با تشکر از استفاده شما از این برنامه، که توسط Shift Crypto واقع در سویس، ساخته شده است. این هنوز نسخه بتا است و بابت هر نظری که با ما به اشتراک می گذارید قدر دانیم. لطفا با استفاده از لینک زیر بازخورد خود را برای ما ارسال نمایید.",title:"به برنامه BitBox خوش آمدید!"}}},n8={blocksSynced:"{{blocks}} بلوک همگام سازی شده است"},a8={info1HTML:"برای اهداف معتبر قابل اعتماد، یک کیف پول پنهان را می توان بر اساس یک رمز عبور دستگاه، متفاوت + رمز عبور بازیابی ترکیب کرد.",info2HTML:"رمزعبور دستگاه و رمزعبور بازیابی که شما می خواهید با کیف پول پنهان خود مرتبط کنید تعیین کنید. رمزعبور دستگاه و رمزعبور بازیابی باید متفاوت با مواردی باشد که برای کیف پول اصلی وارد کردید.",passwordLabel:"رمز عبور بازیابی پنهان",passwordPlaceholder:"لطفا رمز عبور بازیابی پنهان را تایید کنید",pinLabel:"رمز عبور دستگاه مخفی",pinRepeatLabel:"رمز عبور دستگاه پنهان را تکرار کنید",pinRepeatPlaceholder:"لطفا رمز عبور دستگاه مخفی را تأیید کنید",success:"کیف پول مخفی با موفقیت ایجاد شد BitBox خود را دوباره متصل کنید تا آن را باز کنید."},i8={create:"رمز عبور دستگاه را تنظیم کنید",creating:"تنظیم گذرواژه دستگاه ...",error:{e102:"گذرواژه دستگاه باید حداقل ٤ کاراکتر داشته باشد."},info:{description1:"گذرواژه دستگاهتان را انتخاب کنید این برای باز کردن BitBox شما مورد استفاده قرار می گیرد.",description2:"شما می توانید از اعداد، حروف استفاده کنید. رمزهای طولانی امنیت بیشتری دارد.",description3:"اگر گذرواژه دستگاه را از دست بدهید، مجبورید دستگاه خود را بازنشانی کنید و پشتیبانگیری کیف پول خود را بازگردانید.",subtitle:"اکنون رمز عبور دستگاه خود را تنظیم می کنید",title:"راه اندازی دستگاه"},input:{label:"گذرواژه دستگاه",labelRepeat:"رمز عبور دستگاه را تکرار کنید",placeholderRepeat:"لطفا گذرواژه دستگاه را تأیید کنید"}},o8="فرمت نامعتبر",r8={title:"زبان مورد نظر را انتخاب كنيد"},s8={disable:"غیر فعال کردن کیف پول legacy مخفی",enable:"فعال کردن کیف پول legacy مخفی",successDisable:"با موفقیت کیف پول legacy مخفی غیر فعال شد",successEnable:"با موفقیت کیف پول legacy مخفی فعال شد. BitBox را دوباره متصل نمایید و رمز عبور مخفی دستگاه را برای دسترسی به کیف پول legacy مخفی وارد کنید."},l8="در حال بارگذاری…",c8={newTxs_one:"{{count}} معاملات جدید در: {{accountName}}"},u8={aborted:{text:"اتصال توسط برنامه موبایل قطع شده است.",title:"لغو شد"},button:"اتصال به برنامه موبایل",confirm:"آیا مطمعن هستید که BitBox خود را به تلفن همراه متصل نمایید؟ این را بدانید که بعدا شما تلفن همراه را برای تایید تراکنش احتیاج دارید",connectOnly:{button:"اتصال به برنامه موبایل",title:"با انتخاب گزینه «اتصال با برنامه کامپیوتری جدید» در منوی برنامه موبایلی ما اسکن نمایید."},error:{text:"چیزی اشتباه شد لطفا دوباره سعی کنید",title:"خطا"},reconnectOnly:{button:"اتصال مجدد با برنامه موبایل"},start:{hideAppQRCode:"مخفی کردن کد QR",revealAppQRCode:"نمایش کد QR",step1:"اگر شما برنامه تلفن همراه را ندارید، می توانید کد QR برای اپل App Store یا فروشگاه Google Play را بسته به کدام گوشی داشته باشید اسکن نمایید.",step2:'اسکن با برنامه تلفن همراه ما، که شما می توانید تحت نام "Digital Bitbox 2FA" در فروشگاه برنامه برای iOS و Android پیدا کنید:'},started:{text:"لطفا اکنون دستورالعمل های برنامه موبایل را دنبال کنید.",title:"عالی"},success:{text:"تبریک می گوییم، شما با موفقیت BitBox خود را به برنامه موبایل متصل کردید!",title:"موفقیت"},timeout:{text:"متصل شدن پس از دو دقیقه به پایان رسید. اگر هنوز می خواهید برنامه موبایل را متصل کنید، دوباره سعی کنید.",title:"وقفه"},title:"اتصال تلفن همراه"},d8={show:"نمایش {{label}}",warning:{caps:"هشدار: کلید Caps lock (⇪) فعال است",paste:'برای جاگذاری، "نمایش {{label}}" را فعال نمایید.'}},p8={button:"تولید شماره تصادفی",description:"BitBox شما این شماره {{bits}}-بیت زیر را تولید کرد:"},h8={label:"آدرس شما",onlyThisCoin:{description:"برای دریافت توکن های دیگر ، آنها را در تنظیمات فعال کنید. اگر توکن های دیگری را به آنها واریز می کنید ، ممکن است در دسترس نباشند.",warning:"اطمینان حاصل فرمایید که فقط {{coinName}} را با این آدرس دریافت کنید."},showFull:"نمایش و تأیید آدرس کامل روی دستگاه",title:"دریافت {{accountName}}",verify:"تایید ایمن آدرس",verifyBitBox01:"آدرس را در برنامه تلفن همراه تأیید کنید",verifyBitBox02:"آدرس را در BitBox02 تأیید کنید",verifyInstruction:"لطفا بررسی کنید آدرس را با آدرس نمایش داده شده در موبایل شما یکی است.",warning:{secureOutput:"لطفا BitBox خود را با موبایل خود متصل کنید تا تایید ایمن آدرس فعال شود. از طریق نوار کناری به صفحه 'مدیریت دستگاه' بروید."}},m8={description:"تمام داده ها در دستگاه حذف خواهند شد. این شامل کلید خصوصی شما می شود!",notReset:"تنظیم مجدد دستگاه انجام نمی شود.",title:"تنظیم مجدد دستگاه",understand:"من یک نسخه پشتیبان تهیه کرده ام و رمز عبور بازیابی را می دانم",understandBB02:"من یک پشتیبان معتبر دارم"},f8={create:{description1:"قبل از تنظیم دستگاه خود، توصیه می شود این کار را در یک محیط امن انجام دهید.",description2:"از شما خواسته می شود که دو کلمه عبور ایجاد کنید.",description3:"اولی رمز عبور دستگاه است که دستگاه BitBox شما را باز میکند و بعدا می توانید آن را تغییر دهید.",description4:"دومی رمز عبور بازیابی است که قفل کیف پول را باز می کند. این رمزعبور بعدا قابل تغییر نیست",description5:"زمانی که کیف پول را می سازید، یک فایل پشتیبان در حافظه microSD ساخته می شود. این می تواند در شرایط اضطراری برای بازیابی کیف پول شما با استفاده از رمزعبور بازیابی شما استفاده شود.",title:"اطلاعات امنیتی"},restore:{description1:"از شما درخواست می شود که حافشه microSD که بر روی آن پشتیبان گیری کردید را قرار دهید.",description2:"برای بازگرداندن دستگاه شما به رمز عبور بازیابی نیاز خواهید داشت.",description3:"لطفا هنگام وارد کردن رمزعبور بازیابی مراقب باشید. هر مرزعبوری که وارد می کنید کیف پول معتبر ایجاد می کند. اگر شما رمزعبور اشتباه را وارد کردید ممکن است شما موجودی که انتظار ندارید را ببینید.",title:"اطلاعات امنیتی"}},g8={agreements:{"funds-access":"اگر رمز عبور بازیابی را فراموش کرده ام، نمیتوانم به موجودی خود دسترسی پیدا کنم","password-change":"نمیتوانم پسورد بازیابی را تغییر دهم","password-required":"رمز عبور بازیابی برای بازگرداندن کیف پول از یک پشتیبان نیاز است"},create:"ایجاد کیف پول",creating:"درحال یجاد کیف پول",description:"من متوجه هستم:",error:{e102:"گذرواژه باید حداقل ٨ کاراکتر داشته باشد.",e200:"شما نیاز به قراردادن حافظه microSD در BitBox برای ساخت کیف پول دارید، تا بتواند به صورت خودکار پشتیبان گیری انجام شود."},info:{button:"تنظیم رمز بازیابی",description1:"حافظه microSD را داخل BitBox قرار دهید",description2:'رمزعبور کیف پول را انتخاب نمایید و سپس "تنظیم رمز بازیابی" را انتخاب کنید.',description3:"پشتیبان گیری در حافظه microSD و رمزعبور بازیابی تنها راه برگرداندن حساب های خود در زمان گم کردن یا دزدیده شدن دستگاه BitBox است.",description4:"بعدا نمیتوانید رمزعبور بازیابی خود را بدون انتقال وجوه خود تغییر دهید.",title:"ساخت کیف پول جدید"},password:{label:"رمز عبور بازیابی",repeatPlaceholder:"رمز عبور بازیابی را تکرار کنید"},walletName:{label:"نام كيف پول"}},v8={error:{e200:"بازگرداندن کیف پول از یک پشتیبان نیاز به کارت microSD دارد."},info:{description1:"کارت microSD را داخل BitBox قرار دهید و روی «ادامه» کلیک کنید.",description2:'یک نسخه پشتیبان را انتخاب کنید و روی "بازیابی" کلیک کنید',description3:"رمز عبور بازیابی را وارد کنید",description4:"شما باید تأیید کنید که رمز عبور اشتباه یک کیف پول متفاوت را ایجاد می کند.",title:"چگونه یک کیف پول را از یک نسخه پشتیبان تهیه کنید"}},b8={abort:"تراکنش لغو شد.",address:{label:"آدرس گیرنده",placeholder:"آدرس را وارد کنید"},amount:{label:"مقدار",placeholder:"مقدار را وارد کنید"},button:"امضا و ارسال",coincontrol:{address:"آدرس",outpoint:"ارزیابی",title:"ارسال از خروجی"},confirm:{"selected-coins":"سکه های انتخاب شده",title:"تأیید تراکنش",total:"جمع"},error:{insufficientFunds:"موجودی کافی نیست",invalidAddress:"آدرس نامعتبر",invalidAmount:"مبلغ نامعتبر",invalidData:"داده های نامعتبر"},fee:{customPlaceholder:"مقدار را وارد کنید",label:"هزینه شبکه",placeholder:"در دسترس نیست"},feeTarget:{description:{economy:"٢٤ بلوک (حدود ٤ ساعت برای Bitcoin، ١ ساعت برای Litecoin)",high:"٢ بلوک (حدود ٢٠ دقیقه برای Bitcoin، ٥ دقیقه برای Litecoin)",low:"١٢ بلوک (حدود ٢ ساعت برای Bitcoin، ٣٠ دقیقه برای Litecoin)",normal:"٦ بلوک (حدود ١ ساعت برای Bitcoin، ١٥ دقیقه برای Litecoin)"},estimate:"زمان انتظار تخمینی:",label:{economy:"اقتصاد",high:"زیاد",low:"کم",normal:"متوسط"},placeholder:"محاسبه تخمین هزینه ..."},maximum:"ارسال همه",scanQR:"اسکن کد QR",signprogress:{description:"این معامله ای است که حاوی اطلاعات زیادی است. برای به طور کامل امضا کردن معامله، از شما خواسته می شود {{steps}} بار تأیید شود.",label:"پیشرفت"},success:"معامله امضا و ارسال شد .",title:"ارسال {{accountName}}",toggleCoinControl:"کنترل سکه را تغییر دهید"},k8={electrum:{add:"افزودن سرور","add-server":"افزودن",check:"بررسی",checkFailed:"ناموفق",checkSuccess:"اتصال به {{host}} با موفقیت انجام شد.",checking:"بررسی","download-cert":"دریافت گواهینامه از راه دور","remove-server":"حذف",removeConfirm:"حذف {{server}}؟",reset:"تنظیم مجدد به حالت پیش فرض",resetConfirm:"آیا شما می خواهید همه سرور ها را حذف و سرور های پیشفرض نصب شوند؟",servers:"سرور ها",step1:"١","step1-text":"نقطه پایانی را وارد کنید",step2:"٢","step2-text":"یک گواهی از زنجیره گواهی سرور را وارد کنید. در کنار آن گواهی دسترسی از راه دور را دانلود کنید و چشمی مقایسه کنید.",step3:"٣","step3-text":"اتصال را بررسی کنید و سرور را اضافه کنید.",step4:"٤","step4-text":"راه اندازی مجدد کیف پول اگر شما سرورهای پیش فرض را حذف نکنید، گره مخصوص شما به عنوان افزونه افزوده خواهد شد.","title-btc":"سرورهای Bitcoin Electrum","title-ltc":"سرورهای Litecoin Electrum","title-tbtc":"سرورهای تست Bitcoin Electrum ","title-tltc":"سرورهای تست Litecoin Electrum "},expert:{coinControl:"کنترل سکه را فعال کنید",electrum:{title:"گره کامل خود را وصل کنید"},setProxyAddress:"آدرس پراکسی را تنظیم کنید",title:"تنظیمات پیشرفته",useProxy:"فعال کردن پراکسی Tor"},header:{home:"خانه"},restart:"لطفا برنامه BitBox را دوباره اجرا فرمایید تا تغییرات اجرا شون.",success:"لطفا BitBox را جدا کنید و متصل کنید تا تغییرات اعمال شوند.",title:"تنظیمات"},x8="راه اندازی دستگاه",y8={device:"مدیریت دستگاه",leave:"ترک",settings:"تنظیمات"},w8={create:{info1:"کیف پول شما در حافظه microSD با موفقیت پشتیبان گیری شد. آن را جدا کنید و در مکان امن نگهداری کنید.",info2:"شما یک رمزعبور امن دستگاه ایجاد کرده اید که BitBox را باز می کند.",info3:"شما رمزعبور بازیابی امن برای کیف پول خود را ایجاد کرده اید که حساب های خود را باز کرده و پشتیبان های خود را بازیابی کنید.",summary:"در اینجا خلاصه ای از آنچه شما انجام داده اید",title:"موفقیت"},getstarted:"شروع کنید",restore:{summary:"شما با موفقیت کیف پول را از پشتیبان بازگرداندید.",title:"موفقیت"}},j8={confirmation:"تاییدیه ها",explorer:"شماره تراکنش",explorerTitle:"باز کردن در جستجوگر بلوک خارجی",fee:"هزینه",fiatHistorical:"تاریخی",gas:"گاز",pending:"تراکنش در انتظار",size:"اندازه",vsize:"اندازه مجازی",weight:"وزن"},B8={placeholder:"هیچ تراکنشی وجود ندارد."},S8="یک خطای ناشناخته رخ داده است: {{errorMessage}}",z8={description:"رمزعبور دستگاه را وارد نمایید تا دستگاه باز شود.",error:{e109_normal:"رمزعبور دستگاه اشتباه است. {{remainingAttempts}} تلاش باقی مانده قبل از ریست شدن دستگاه.",e109_touch:"$t(unlock.error.e109_normal) ورود بعدی نیاز به نگه داشتن اثر انگشت می باشد",e113:"بدلیل ورود ها متداول، ورود بعدی نیاز به نگه داشتن دکمه اثر انگشت برای 4 ثانیه می باشد."},input:{label:"رمز دستگاه",placeholder:"براي باز كردن قفل دستگاه رمز دستگاه را وارد كنيد "},unlocking:"قفل در حال باز شدن است"},C8={button:"ارتقاء سیستم عامل",description:"آیا می خواهید سیستم عامل از نسخه {{currentVersion}} به نسخه {{newVersion}} ارتقا یابد",label:"BitBox نیاز به ارتقا سیستم عامل دارد.",locked:"برای ارتقا از نسخه {{currentVersion}} به نسخه {{newVersion}}، لطفا دکمه لمسی را نگه دارید.",title:"ارتقا سیستم عامل",unlocked:"قفل bootloader باز شد. برای ادامه، لطفا :",unlocked1:"Bitbox را جدا کرده و دوباره وصل نمایید",unlocked2:"هنگامی که BitBox شما دوباره وصل می شود، LED روشن می شود",unlocked3:"هنگامی که چراغ ال ای دی روشن شد،روی دکمه لمسی ضربه بزنید"},D8={receivePairing:"لطفا BitBox را برای فعال کردن تأیید ایمن آدرس به گوشی خود متصل کنید. برای این کار به «مدیریت دستگاه» در نوار کناری بروید.",sdcard:"حافظه microSD را جدا از BitBox نگهداری کنید، مگر اینکه بخواهید مدیریت پشتیبان را انجام دهید.",sendPairing:"لطفا BitBox را برای تأیید ایمن جزئیات معامله جفت کنید. به «مدیریت دستگاه» در نوار کناری بروید"},A8={insertBitBox02:"برای ادامه BitBox02 ، لطفاً روی دستگاه ضربه بزنید.",insertDevice:"لطفا دستگاه خود را برای شروع وصل کنید",title:"خوش آمديد"},_8={account:CW,accountInfo:DW,accountSummary:AW,addAccount:_W,app:TW,backup:EW,bb02Bootloader:PW,bitbox:NW,bitbox02Interact:LW,bitbox02Settings:IW,bitbox02Wizard:$W,blink:MW,bootloader:OW,button:RW,changePin:FW,checkSDcard:VW,clickHere:WW,confirm:UW,confirmOnDevice:qW,device:HW,deviceLock:KW,deviceSettings:GW,deviceTampered:QW,dialog:YW,fiat:ZW,footer:JW,genericError:XW,goal:e8,guide:t8,headerssync:n8,hiddenWallet:a8,initialize:i8,invalidFormat:o8,language:r8,legacyhiddenwallet:s8,loading:l8,notification:c8,pairing:u8,password:d8,random:p8,receive:h8,reset:m8,securityInformation:f8,seed:g8,seedRestore:v8,send:b8,settings:k8,setup:x8,sidebar:y8,success:w8,transaction:j8,transactions:B8,unknownError:S8,unlock:z8,upgradeFirmware:C8,warning:D8,welcome:A8},T8={disconnect:"Conexión perdida. Reintentando... ",export:"Exportar ",exportTransactions:"Exportar transacciones a la carpeta de descargas como archivo CSV",fatalError:"Ha habido un error inesperado.",incoming:"Entrante",initializing:"Obteniendo información de la blockchain ...",maybeProxyError:"Tor Proxy activado. Asegúrese de que su Tor proxy está funcionando correctamente, o desactive la configuración del proxy.",reconnecting:"Conexión perdida, reconectando...",syncedAddressesCount:"Escaneado {{count}} direcciones"},E8={address:"Dirección",buyCTA:{buy:"Comprar {{unit}}",buyCrypto:"Comprar Crypto",information:{looksEmpty:"Parece que esta cartera está vacía.",start:"Comience depositando algunas monedas en la cartera o comprando directamente a través de la BitBoxApp."}},extendedPublicKey:"Clave pública extendida",label:"Información de la cuenta",scriptType:"Tipo de script",title:"Información de la cuenta",verify:"Verificar en el dispositivo",xpubTypeChangeBtn:{p2pkh:"Ver clave pública extendida legacy P2PKH",p2tr:"Ver Taproot",p2wpkh:"Ver Native Segwit","p2wpkh-p2sh":"Ver clave pública extendida antiguo Segwit"},xpubTypeInfo:"Actualmente mostrando {{scriptType}} clave pública extendida ({{current}} de {{numberOfXPubs}})"},P8={availableBalance:"Saldo disponible",balance:"Saldo",exportSummary:"Resumen de cuentas de exportación a la carpeta de descargas como archivo CSV",fiatBalance:"Saldo de Fiat",name:"Nombre de cuenta",noAccount:"No hay cuentas para mostrar.",subtotalWithCoinName:"Total ({{coinName}})",title:"Mi portfolio",total:"Total",transactionHistory:"Historial de operaciones"},N8={chooseName:{nextButton:"Añadir cuenta",step:"Nombre de la cuenta",title:"Nombre de su cuenta"},selectCoin:{nextButton:"Siguiente",step:"Elija moneda",title:"Elija cryptomoneda"},success:{addAnotherAccount:"Añadir otra cuenta",message:"{{accountName}} ha sido ahora añadida a sus cuentas.",nextButton:"Hecho",step:"Finalizado",title:"Cuenta añadida"},title:"Añadir cuenta"},L8={addressRequest:"{{host}} está solicitando una dirección de recepción.",addressRequestWithLogo:"está solicitando una dirección de recepción",banner:"Solicitud de dirección en curso. Conecte su dispositivo para continuar.",errorTitle:"Error durante la solicitud de dirección",labelAddress:"Dirección",labelMessage:"Mensaje",reverifyInfoText:"Verifique la dirección",signing:"Para proceder, firme el mensaje en su BitBox02",success:{message:"Proceder con {{host}}",title:"Dirección enviada con éxito"},syncing:"Sincronizando la cuenta, por favor espere.",title:"Solicitud de dirección"},I8={upgrade:"Una nueva versión de esta aplicación está disponible! Por favor actualiza desde {{current}} a {{version}}."},$8={authButton:"Autentificar",title:"Por favor, autentifíquese para continuar"},M8={check:{checking:"Comprobando copia de seguridad ...",confirmTitle:"Comprobar la copia de seguridad",notOK:"Copia de seguridad NO coincide con el monedero.",ok:"Copia de seguridad coincide con el monedero.",password:{label:"Contraseña de recuperación",placeholder:"Contraseña de recuperación",showLabel:"contraseña de recuperación"},success:"Copia de seguridad verificada con éxito:",title:"Comprobar la copia de seguridad"},create:{alreadyExists:"Ya tienes una copia de seguridad válida. ¿Quieres volverla a crear?",fail:"La creación de la copia de seguridad ha FALLADO!",info:"Por favor ingresa la contraseña de recuperación del monedero actual para su verificación.",name:{label:"Nombre de la copia de seguridad",placeholder:"Por favor pon el nombre de la copia de seguridad"},password:{label:"Contraseña de recuperación",placeholder:"Por favor ingresa tu contraseña de recuperación"},title:"Crea copia de seguridad",verificationFailed:"La contraseña de recuperación NO COINCIDE con el monedero actual. La copia de seguridad ha sido creada. Por favor utiliza 'Comprueba copia de seguridad' para verificar tu contraseña de recuperación nuevamente."},description:"Selecciona archivo de copia de seguridad del monedero",insert:"Por favor, inserta la tarjeta micro SD para administrar las copias de seguridad.",insertButton:"He insertado la tarjeta micro SD",list:"Tus copias de seguridad en la microSD",noBackups:"No hay copias de seguridad en esta tarjeta microSD.",restore:{confirmTitle:"Recupera copia de seguridad",error:{e200:"Tarjeta SD no encontrada",general:"Error restaurando copia de seguridad"},password:{label:"Contraseña de recuperación o contraseña de recuperación oculta",placeholder:"Contraseña de recuperación",repeatPlaceholder:"Repita la contraseña de recuperación",showLabel:"Contraseña de recuperación"},restoring:"Restaurando copia de seguridad ...",selectedBackup:"{{backupName}} creada en {{createdDateTime}} será restaurada.",title:"Restaurar",understand:"Entiendo que una contraseña de recuperación incorrecta creará un monedero diferente"},showMnemonic:{description:`Se le presentarán sus palabras de recuperación, que constituyen una copia de seguridad de su cartera. Escríbalas en un papel.. + +No las almacenes digitalmente ni le tomes fotos. + +No las diga en voz alta. + +Esta copia de seguridad no está protegida por una contraseña. + +A continuación, se le pedirá que confirme cada palabra. `,title:"Muestra las claves de recuperación",warning:"Nunca compartas tus palabras de recuperación con nadie. Tus palabras de recuperación dan acceso completo a tu billetera. Si alguien te pide tus palabras de recuperación, es un estafador, ¡no las compartas! "},title:"Administrar copias de seguridad"},O8={abort:"No actualices - vuelve atrás",abort_noUpgrade:"Llévame atrás",advanced:{label:"Configuración avanzada",toggleShowFirmwareHash:"Mostrar el hash del firmware en cada inicio"},flipscreen:"Gira la foto en la pantalla",orientation:"¿Está el dispositivo orientado de manera incorrecta?",success:"Actualizado con éxito! Continuando en {{rebootSeconds}} segundos...",success_install:"¡Instalación satisfactoria! Continúa en {{rebootSeconds}} segundos..."},R8={error:{e10000:"Contraseña del dispositivo actual incorrecta.",e10001:"Error al reemplazar la contraseña del dispositivo",e102:"La contraseña debe contener al menos 4 caracteres.",e112:"La contraseña oculta del dispositivo no puede ser la misma que la contraseña principal del dispositivo."}},F8={confirmDate:"Confirma la fecha de hoy en tu BitBox02",confirmDateText:"Esta fecha se utilizará para crear tu copia de seguridad.",confirmName:"Confirma el nombre en tu BitBox02",confirmWords:"Escriba la {{amount}} de palabras recuperación de su BitBox02",confirmWordsText:"Después el BitBox02 te pedirá que confirmes cada palabra para verificar que la copia de seguridad es correcta.",followInstructions:"Por favor, sigue las instrucciones en tu BitBox02",followInstructionsMnemonic:"Sigue las instrucciones de tu BitBox02 para introducir las palabras de recuperación de tu copia de seguridad y restaurar tu billetera.",followInstructionsMnemonicTitle:"Restaurar desde las palabras de recuperación"},V8={deviceName:{current:"Nombre del dispositivo actual",error:"No se ha podido establecer el nombre del dispositivo",error_104:"La confirmación del nombre del dispositivo fue abortada en el dispositivo.",input:"Nombre de la BitBox02",placeholder:"Nuevo nombre del dispositivo",title:"Establece el nombre de la BitBox02"},gotoStartupSettings:{description:"Esto reiniciará tu BitBox02 y entrará en la configuración de inicio.",title:"Ir a configuración de inicio"}},W8={advanced:{button:"Opciones avanzadas",outOfDate:"Firmware obsoleto para esta función",seed12WordInfo:"Tenga en cuenta que el número de palabras no se puede cambiar después de crear la billetera.",seed12WordLabel:"Crear semilla de 12 palabras en lugar de 24 palabras",seed12WordText:"Predeterminadamente, la BitBox02 utiliza una semilla de 24 palabras. Ambas longitudes de semilla son seguras contra la fuerza bruta en la práctica. Algunos usuarios pueden preferir la conveniencia de la semilla de 12 palabras.",skipSDCardLabel:"Omitir la copia de seguridad de la tarjeta microSD y escribir las palabras de recuperación en su lugar",skipSDCardText:"Siempre tienes la opción de crear una copia de seguridad de la tarjeta microSD o escribir tus palabras de recuperación después de la configuración. Esto se puede hacer desde los ajustes.",title:"Opciones avanzadas de copia de seguridad"},attestationFailed:"La comprobación genuina del dispositivo ha fallado, que puede ser debido al reinicio de la aplicación mientras el dispositivo estaba esperando la interacción por parte del usuario. Por favor conecte de nuevo y inténtelo otra vez. Por favor contacte con support@bitbox.swiss si el error persiste.",backup:{point1:"Selecciona una copia de seguridad de la tarjeta microSD",point2:"Establece una contraseña para su dispositivo",restoreText:"Ok, restablezcamos una copia de seguridad!",text1:"Genial, has establecido la contraseña de tu BitBox02 y tu billetera se ha creado. Ahora es momento de crear tu primera copia de seguridad (backup). Por favor asegúrate de que tu tarjeta microSD se haya introducido en tu BitBox02 y continua.",text2:"Por favor sigue las instrucciones que aparecen en la pantalla de tu dispositivo para crear la copia de seguridad. ",text3:"Después de que tu copia de seguridad se haya creado, por favor extrae la tarjeta microSD y guárdala en un lugar seguro. El contenido de la tarjeta microSD no está protegido con contraseña. Nunca la insertes en ningún otro dispositivo que no sea tu BitBox02. ",userConfirmation1:"Debo guardar mi copia de seguridad en un lugar seguro.",userConfirmation2:"Mi copia de seguridad no está protegida por contraseña. Cualquiera con acceso a ella tiene acceso a mi billetera.",userConfirmation3:"Si pierdo o daño mi BitBox02, la única forma de recuperar mis fondos es recuperar mi billetera desde mi copia de seguridad.",userConfirmation4:"En caso de perder o dañar tanto mi copia de seguridad como mi BitBox02, mis fondos se habrán perdido.",userConfirmation5:"No debería insertar mi copia de seguridad de la tarjeta microSD en el ordenador, teléfono, impresora o en ningún otro dispositivo que no sea BitBox02.",userConfirmation5mnemonic:"No debo poner mis palabras de recuperación en un computador, teléfono, impresora o cualquier otro dispositivo que no sea un BitBox02."},create:{button:"Dale un nombre al dispositivo y continua",info:"Aquí están los pasos básicos que seguirás para instalar tu BitBox:",inputTitle:"Nombre del monedero",point1:"Dale un nombre a tu dispositivo",point2:"Establece una contraseña para su dispositivo",point3:"Crea una copia de seguridad",text:"Ok, creemos un nueva billetera!"},createBackupAborted:"Creación de copia de seguridad abortada.",createBackupFailed:"Creación de copia de seguridad fallida, vuelve a intentarlo.",initialize:{passwordText:"Ahora establezcamos una contraseña para tu dispositivo. Utiliza los controles en tu BitBox para introducir y escoger una contraseña.",passwordTitle:"Establece una contraseña para tu BitBox",text:"Tu BitBox02 se ha conectado con éxito! Ahora vamos a iniciar tu dispositivo. Empecemos seleccionando crear una billetera nueva o restablecer una billetera desde una copia de seguridad existente.Por favor asegúrate de tener una tarjeta microSD introducida en tu BitBox02",tip:"Te recomendamos que continuas en un entorno seguro.",title:"Inicia tu BitBox"},insertSDCard:"Por favor asegúrate de haber introducido una tarjeta microSD en tu BitBox02.",noPasswordMatch:"Las contraseñas no coinciden, por favor, vuelve a intentarlo.",pairing:{failed:"Conexión no confirmada. Por favor vuelve a conectar tu BitBox02.",paired:"Has confirmado el siguiente código en tu dispositivo. Por favor continua.",title:"Comprueba el código de conexión.",unpaired:"Se ha detectado un BitBox02 no emparejado. Verifique que el código de emparejamiento coincida con lo que se muestra en su BitBox02. "},restoreFromMnemonic:{e104:"Se canceló la restauración desde las palabras de recuperación.",failed:"El restablecimiento desde tu clave de recuperación ha fallado, por favor vuelve a intentarlo."},stepBackup:{beforeProceed:"Antes de continuar, por favor lee estas importantes consideraciones de seguridad:",createBackup:"Ahora crearás una copia de seguridad en tu tarjeta microSD.",createBackupMnemonic:"Ahora escribirás las palabras de recuperación."},stepBackupSuccess:{fundsSafe:"Para mantener seguros tus fondos, por favor recuerda lo siguiente:",title:"Copia de seguridad restablecida!"},stepConnected:{unlock:"Introduce la contraseña de tu BitBox02 para desbloquearla."},stepCreate:{description:"Este nombre es utilizado como el nombre del dispositivo y el de la copia de seguridad.",nameLabel:"Nombre de la BitBox02",namePlaceholder:"Mi BitBox02",title:"Selecciona el nombre de la BitBox02",toastMicroSD:"Por favor, inserte su tarjeta microSD en su BitBox02 que se utilizará para almacenar una copia de seguridad de la billetera."},stepCreateSuccess:{removeMicroSD:"Por favor, extrae la tarjeta microSD de tu BitBox02 y guárdala en un lugar seguro. ",storeMnemonic:"Guarde sus palabras de recuperación en un lugar seguro",success:"Ha creado su copia de seguridad con éxito."},stepInsertSD:{insertSDCard:"Por favor, introduce una microSD en tu BitBox02 para continuar.",insertSDcardTitle:"Introduce la tarjeta microSD"},stepPassword:{e104:"Se canceló la configuración de la contraseña.",title:"Establece la contraseña de tu BitBox02",useControls:"Utiliza los controles de tu BitBox02 para establecer la contraseña."},stepUninitialized:{create:"Quiero configurar una nueva BitBox02.",restore:"Quiero recuperar mi billetera desde una copia de seguridad.",restoreMicroSD:"Recupera desde una tarjeta microSD",restoreMnemonic:"Restaurar desde las palabras de recuperación",title:"Instala tu BitBox02"},success:{text:`Perfecto! Tu BitBox02 está lista para ser usada. + +Para más información sobre cómo usar la BitBoxApp, por favor utiliza la guía in-app haciendo clic en el signo de interrogación de la esquina superior derecha. `,title:"Estas preparado para usar la billetera BitBox."}},U8={button:"Parpadeo"},q8={button:"Actualiza ahora el firmware",button_install:"Instalar el nuevo firmware ahora",progress:"Actualizando: {{progress}}%",progress_install:"Instalando: {{progress}}%",success:"Actualización completada! Por favor, vuelva a conectar el dispositivo. Esta vez, no toque el botón."},H8={abort:"Cancel",back:"Atrás",buy:"Compra",changepin:"Cambia contraseña del dispositivo",check:"Comprobar la copia de seguridad",continue:"Continua",copy:"Copia",create:"Crea",dismiss:"Descartar",done:"Hecho",download:"Descarga",hiddenwallet:"Crea el monedero oculto",next:"Siguiente",ok:"OK",previous:"Anterior",receive:"Recibe",restore:"Restaurar",select:"Selecciona",send:"Envía",unlock:"Desbloquea",update:"Actualiza",upgrade:"Actualizar"},K8={exchange:{bankTransfer:"Transferencia bancaria",bestDeal:"La mejor oferta",creditCard:"Tarjeta de crédito",fast:"Rápido",fee:"tarifa",infoContent:{moonpay:{fees:{bankTransfer:"Transferencia bancaria: {{fee}}%%.",creditDebitCard:"Tarjeta de crédito/débito: {{fee}}%%.",learnMore:"Más información sobre Moonpay",title:"Tasas"},fullCurrenciesList:"Consulte aquí la lista completa de monedas",payment:{asteriskText:"* No disponible para residentes en EE.UU.",bankTransfer:"Transferencia bancaria",bankTransferDetails:{pix:"PIX (transacciones BR sólo en Brasil)",sepa:"SEPA y SEPA Instant (sólo transacciones en euros en países SEPA)",uk:"Pagos rápidos en el Reino Unido (transacciones en GBP sólo en el Reino Unido)"},creditDebitCard:"Tarjeta de crédito/débito",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa y Maestro"},learnMore:"Ver más detalles sobre los métodos de pago",title:"Formas de pago"},supportedCurrencies:"Compatible con las principales monedas fiduciarias: USD, EUR, CHF y más."},pocket:{fees:{info:"Transferencia bancaria: {{fee}}% ",title:"Tasas"},learnMore:"Más información sobre Pocket",payment:{bankTransfer:"Transferencia bancaria",bankTransferDetails:{sepa:"SEPA y SEPA Instant (sólo transacciones en euros en países SEPA)",sic:"Swiss Interbank Clearing (transacciones en CHF solo en CH/LI)",uk:"UK Faster Payments (transacciones en GBP sólo en el Reino Unido)"},bankTransferReccuring:"¿Cómo configurar compras recurrentes con una orden permanente? ",title:"Formas de pago"},supportedCurrencies:"Admite monedas europeas: EUR, GBP y CHF. ",verification:{info:"Solo requiere verificación de identidad por encima de los puntos de inicio diarios y anuales. ",link:"Encuentre los puntos de inicio actuales aquí ",title:"Verificación de identidad "}},region:{title:"Seleccione la región en la que está registrada su cuenta bancaria para ver las opciones disponibles."}},noExchanges:"Lo sentimos, no hay intercambios disponibles en esta región.",region:"Región",selectRegion:"No especificado",title:"Comprar {{nombre}}"},info:{continue:"Acepta y continua",crypto:"crypto",disclaimer:{intro:["Nos asociamos con MoonPay para ofrecerte una forma sencilla de comprar {{name}} directamente con BitBoxApp. Con unos pocos clics. ","MoonPay es una plataforma que hace fácil y rápida la compra de {{name}} en más de 160 países."],payment:{details:"Puedes comprar {{name}} inmediatamente a través de MoonPay con los siguientes métodos de pago. Los pedidos con tarjeta de crédito o débito son inmediatos y prácticos, pero más caros debido al mayor riesgo de retrocesos de cargos a tarjetas. Recomendamos utilizar la opción de transferencia bancaria para grandes cantidades. La tarifa mínima es de 4 EUR.",footnote:"Tenga en cuenta que los tipos de cambio de MoonPay pueden diferenciarse de los utilizados en BitBoxApp, lo que se nota en cantidades ligeramente diferentes.",table:{"1_description":"Tarifa baja, puede tardar 3 días laborales","1_method":"Transferencias bancarias (SEPA)","2_description":"Tarifas altas pero inmediato y rápido","2_method":"Tarjetas de crédito & débito",description:"Descripción",fee:"Comisión",method:"Metodo"},title:"Métodos de pago y tarifas"},privacyPolicy:"MoonPay política de privacidad",protection:{description:"BitBoxApp no ​​recopila ningún dato al comprar {{name}}, los fondos entrantes se tratan como una transacción normal. MoonPay necesita recoger algunos datos personales para operar. Su Política de privacidad explica en detalle cómo se manejan esos datos.",descriptionGeneric:"BitBoxApp no recopila ningún dato cuando se compra {{name}}, los fondos entrantes se tratan como una transacción normal. Sin embargo, las bolsas asociadas necesitan recopilar cierta información para operar. Consulta sus respectivas políticas de privacidad para ver con más detalle cómo se gestionan los datos.",title:"Protección de Datos"},security:{description:`Cuando compras {{name}} por MoonPay, utilizas un servicio externo. Este servicio está fuera del alcance de la modelación de riesgos de seguridad BitBox02 y depende de la seguridad y protección del entorno en el que se ejecuta el software BitBoxApp. + +`,descriptionGeneric:"Cuando compras {{name}} a través de una casa de cambio asociada, estás utilizando un servicio externo. Este servicio está fuera del alcance del modelo de amenazas de seguridad de BitBox02 y depende de la seguridad del entorno en el que se ejecuta el software de BitBoxApp.",link:"Modelación de riesgos",title:"Modelo de seguridad"},title:"Bienvenido. Estas en el sitio correcto para comprar {{name}}"},next:"Siguiente",selectLabel:"Elige tu cuenta",selectPlaceholder:"Seleccione una moneda",skip:"No mostrar de nuevo",title:"Comprar {{name}}"},pocket:{data:{link:"Política de privacidad de Pocket",p1:"La BitBoxApp no recoge ningún dato al comprar bitcoin, los fondos entrantes se tratan como una transacción normal. Pocket necesita recoger algunos datos personales para funcionar. Su Política de Privacidad explica en detalle cómo se manejan esos datos.",title:"Protección de datos"},kyc:{link:"Preguntas más frecuentes de Pocket",p1:"Pocket intenta reducir al mínimo los requisitos de identificación. Para compras inferiores a 950 EUR (1000 CHF) al día, no se requieren documentos adicionales. Para compras superiores a esta cantidad, tendrás que programar una llamada con Pocket para completar el proceso KYC/AML necesario.",title:"KYC/AML"},payment:{p1:"Puedes comprar bitcoin instantáneamente con Pocket a través de una transferencia bancaria SEPA. La comisión es del 1,5% y el bitcoin se deposita en su BitBox lo antes posible después de que Pocket reciba la transferencia bancaria (normalmente en el mismo día).",p2:"Tenga en cuenta que los tipos de cambio de Pocket pueden diferir de los utilizados en la BitBoxApp, dando lugar a importes ligeramente diferentes.",title:"Formas de pago y tasas"},previousTransactions:"El historial de transacciones de esta cuenta no está vacío. Compartir esta cuenta hará que todas sus transacciones pasadas y futuras sean visibles para Pocket. ¿Proceder de todos modos?",security:{link:"Modelo de amenazas a la seguridad BitBox02",p1:"Cuando compras bitcoin a través de Pocket, estás utilizando un servicio externo. Este servicio está fuera del alcance del modelo de amenaza de seguridad de BitBox02 y depende de la seguridad del entorno en el que se ejecuta el software de BitBoxApp. Sin embargo, trabajamos juntos para mejorar la seguridad utilizando un mecanismo de autenticación de dos factores para verificar la dirección a la que estás recibiendo.",title:"Modelo de seguridad"},usedAddress:"La dirección {{address}} ya ha sido utilizada, por favor comience de nuevo con una nueva dirección.",verifyBitBox02:"Compruebe que la dirección que ha recibido por correo electrónico coincide con la que aparece en su Bitbox. Si es posible, debería abrir el correo electrónico en un segundo dispositivo para mayor seguridad. ",welcome:{p1:"Nos asociamos con Pocket para ofrecerte una forma sencilla de comprar bitcoin directamente dentro de la BitBoxApp. Es sólo un par de clics.",p2:"Pocket es una plataforma suiza que facilita y agiliza la compra de bitcoins en la mayor parte de Europa (en cualquier lugar donde se admitan transferencias bancarias SEPA).",p3:"Con Pocket, también puede hacer compras periódicas a través de órdenes bancarias permanentes, por lo que puede hacer DCA (dollar-cost averaging) con facilidad.",title:"Bienvenido a su ventanilla única para comprar bitcoin"}},title:"Comprar {{name}}"},G8={newTitle:"Nueva contraseña del dispositivo",oldLabel:"Contraseña actual del dispositivo"},Q8={dataMissing:"Recopilando tus datos históricos. Permanece atento.",dataOldTimestamp:"Actualización de los tipos de cambio históricos. El gráfico no muestra datos después de {{time}}.",dataUpdating:"actualizando datos",filter:{all:"Todo",month:"Mes",week:"Semana",year:"Año"}},Y8="comprobando tarjeta micro SD",Z8="Haz clic aquí.",J8={abortInfo:"Toque para ",abortInfoRedText:"Cancel",approveInfo:"Mantenga 4+ segundos para ",approveInfoGreenText:"confirma",info:"Continua en tu Bitbox",infoWhenPaired:"Primero en el móvil sincronizado y luego tu BitBox"},X8="Por favor confirma en tu dispositivo.",eU={promptNoName:"Por favor conecta tu BitBox02 para continuar",promptWithName:'Por favor, conecta tu BitBox02 llamada "{{nombre}}" para continuar '},tU={toggle:"Modo oscuro"},nU={appUpradeRequired:"Tu BitBox no es compatible con esta aplicación de escritorio. Por favor descarga e instale la última versión.",keystoreConnected:"Billetera conectada"},aU={button:"Activa autorización de dos factores (2FA)",condition1:"¿Tienes una copia de seguridad?",condition2:"¿Funciona la verificación de la aplicación móvil?",condition3:"2FA DESACTIVA las copias de seguridad y la sincronización con las aplicaciones móviles. El dispositivo debe ser REINICIADO para salir de 2FA!",confirm:"Activa autorización de dos factores (2FA)",title:"Activa autorización de dos factores (2FA)"},iU={backups:{manageBackups:{description:"Crea o verifica la copia de seguridad de tu tarjeta microSD."},showRecoveryWords:{description:"Mostrar y verificar palabras de recuperación."},title:"Copias de seguridad"},deviceInformation:{attestation:{description:"La BitBoxApp comprueba si tu dispositivo es auténtico."},deviceName:{description:"Cambia el nombre de tu dispositivo."},rootFingerprint:{description:"La huella raíz es un identificador único para la billetera actualmente en uso. Puede ayudarte a distinguir entre diferentes billeteras si utilizas frases de contraseña."},securechip:{description:"El modelo del chip seguro."},title:"Información del dispositivo"},expert:{factoryReset:{description:"Restablece tu dispositivo a los valores de fábrica. ¡Esto borra la billetera de tu BitBox02!",title:"Restablecimiento de fábrica"},goToStartupSettings:{description:"Entra en el bootloader de la BitBox02. Puedes activar el hash del firmware desde aquí."},passphrase:{description:"",title:"Contraseña"}},firmware:{firmwareVersion:"Versión del firmware",newVersion:{label:"Versión disponible"},title:"Firmware",upToDate:"Tu dispositivo está actualizado.",upgradeAvailable:"Nueva actualización disponible",version:{label:"Versión"}},hardware:{attestation:{false:"Error en la comprobación de autenticidad",label:"Comprobación de autenticidad",true:"Su BitBox02 es auténtico"},sdcard:{false:"No insertado",label:"Tarjeta micro SD",true:"Insertado"},securechip:"Chip de seguridad",title:"Hardware"},loading:"Recuperando información del dispositivo ...",pairing:{lock:{false:"Desactivado",label:"Autorización de dos factores (2FA)",true:"Activado"},mobile:{false:"Cerrado",label:"Aplicación móvil",true:"Abre"},status:{false:"No sincronizado",label:"Estado",true:"Sincronizado"},title:"Sincronización"},secrets:{manageBackups:"Administrar copias de seguridad",title:"Seguridad"}},oU="¿Tu BitBox ha sido suministrado con una contraseña de recuperación? Si es así, detenga el proceso de configuración y ponte en contacto con el servicio de asistencia inmediatamente. Shift nunca te dará una billetera confeccionado ni hará recomendaciones de contraseña.",rU={cancel:"Cancela",confirm:"Confirma",confirmTitle:"Confirmación"},sU={accountAlreadyExists:"La cuenta ya existe.",accountLimitReached:"No se puede añadir la cuenta. El número máximo de cuentas para esta moneda ha sido alcanzado.",aoppCallback:"Ha habido un error entregando la dirección a{{host}}.",aoppInvalidRequest:"Solicitud inválida.",aoppNoAccounts:"No hay cuentas disponibles.",aoppSigningAborted:"Solicitud de propiedad de la dirección cancelada.",aoppUnknown:"Un error desconocido ha ocurrido.",aoppUnsupportedAsset:"El activo no es soportado.",aoppUnsupportedFormat:"No hay cuentas disponibles que soporten el formato de direcciones solicitado.",aoppUnsupportedKeystore:"El dispositivo conectado no puede firmar mensajes para este activo.",aoppVersion:"Versión desconocida.",wrongKeystore:"Se ha conectado una billetera incorrecta. Por favor, asegúrese de insertar el dispositivo correcto que coincida con esta cuenta.",wrongKeystore2:" Si utiliza la frase de contraseña opcional, asegúrese de haber introducido la frase de contraseña correcta para la cuenta."},lU={default:"predeterminado",setDefault:"Establecer {{code}} predeterminado",title:"Monedas"},cU={appVersion:"Versión de app:"},uU={enabled_false:"Desactivado",enabled_true:"Activado"},dU="Ocurrió un error. Si observa algún problema, por favor reinicie la aplicación.",pU={buttons:{create:"Crear una billetera nueva",restore:"Restaurar una billetera desde una copia de seguridad"},paragraph:"Por favor, selecciona una de las siguientes opciones:",step:{1:{title:"Información de seguridad"},2:{description:"Establece una contraseña del dispositivo",title:"Dispositivo"},"3-create":{description:"Crear una billetera nueva",title:"Billetera"},"3-restore":{description:"desde una copia de seguridad",title:"Restaurar"},"4-create":{title:"Resumen"},"4-restore":{title:"Resumen"}}},hU={accountDescription:{text:"Este es el resumen de tu cuenta. Muestra las transacciones entrantes y salientes. El saldo se muestra para cada cuenta por separado. Consulta la guía de configuración para obtener más información sobre los diferentes tipos de cuentas.",title:"¿Qué me muestra esta página?"},accountFiat:{text:"Sí. Puedes hacer clic en cualquier ticker para rotar a través de varias monedas fiat. También puedes cambiar la lista de monedas en la configuración.",title:"¿Puedo mostrar otros tipos de cambio?"},accountIncomingBalance:{text:'"Entrante" resume los importes transferidos pero que todavía no han sido confirmados por la red.',title:'¿Qué significa "Entrante"?'},accountInfo:{multipleXPubs:{text:`Cada xpub está relacionada con el "Tipo" mostrado: tanto "Native Segwit (bech32)", "Wrapped Segwit" como "Taproot" (Bitcoin only). Estos son tipos de script utilizados por {{coinName}}. La BitBoxApp las combina, soportando múltiples tipos de script en la misma cuenta. Porque cada tipo de script proporciona una xpub diferente, hay múltiples xpubs por cuenta. + +Si constantemente recibe en la dirección por defecto (Native Segwit), solo necesita la "bech32" xpub. Sin embargo, si también recibe fondos en "Wrapped Segwit" o "Taproot", también necesitara utilizar las claves públicas extendidas de "Wrapped Segwit" y "Taproot" respectivamente.`,title:"¿Porqué hay múltiples xpubs?"},privacy:{text:`Para esta cuenta específica, la clave pública extendida revela todo el historial financiero, el balance en la cuenta, y todas las transacciones futuras. Pero el xpub no permite que nadie gaste tus monedas. + +Si le proporcionas una xpub a alguien, deberás tener en cuenta que esa persona o empresa pueden ver otras transacciones de la misma cuenta. Por lo tanto, es una buena idea utilizar esa cuenta solamente con ese propósito y guardar otros fondos en cuentas diferentes.`,title:"¿Necesito guardar mi xpub en secreto?"},verify:{text:"Si, siempre es una buena idea hacer una doble verificación de tu xpub. Si alguien va a generar direcciones a partir de esta xpub para mandarte dinero, esto es especialmente importante. Tendrá que verificarla en el dispositivo para asegurarse que esa xpub le pertenece; en caso contrario, todos los fondos podrían ir a direcciones incorrectas.",title:"¿Necesito verificar la xpub en el dispositivo?"},xpub:{text:`Una clave pública extendida (xpub) es una clave raíz de la cual se obtienen todas las direcciones de recepción de una cuenta. +Se proporciona para uso avanzado e interoperabilidad con billeteras watch-only, como Electrum o Sentinel. Si recibe otro tipo de direcciones, por favor importe todos los formatos de xpub en la billetera watch-only para poder visualizar todas las monedas. +Tenga en cuenta que, las billeteras de terceros puede que no soporten Taproot xpubs todavía.`,title:"¿Qué es una clave pública extendida?"}},accountRates:{text:"Los tipos de cambio se actualizan cada minuto desde CoinGecko.",title:"¿Qué tipo de cambio se utiliza?"},accountReload:{text:"No hace falta. Toda la información de las transacciones se actualiza automáticamente.",title:"¿Puedo recargar el historial de transacciones?"},accountSendDisabled:{text:'El botón "Enviar" se activa cuando tu saldo es mayor que cero.',title:"¿Por qué no puedo enviar ningún {{unit}}?"},accountSummaryAmount:{text:`La cantidad total es la suma de todas tus cuentas criptográficas. Los tipos de cambio se consiguen de coingecko.com. + +Nota: Si usas MyEtherWallet para tokens no admitidos en BitBoxApp, no se incluirán en la cantidad que se muestra.`,title:"¿Cómo se calcula la suma total?"},accountSummaryDescription:{text:"Aquí puede ver el rendimiento de tu billetera a lo largo del tiempo. Debajo del gráfico se muestra un resumen de sus cuentas criptográficas individuales.",title:"¿Qué me muestra esta página?"},accountTransactionAttributesBTC:{text:`Tamaño virtual: se utiliza para determinar la tarifa de la red. Habrás ahorrado con éxito en comisiones si son más pequeñas que la transacción. +Tamaño: Tamaño real de la transacción en bytes cuando se presenta por entregas de acuerdo con la blockchain por debajo. +Peso: Introducido con Segwit, es una nueva métrica para evaluar los tamaños de transacción y bloque. Cada byte testigo segregado cuenta como uno, todo lo demás como cuatro unidades de peso. En lugar de un megabyte en tamaño real, el límite de tamaño de bloque ahora es de cuatro millones de unidades de peso.`,title:"Detalles de la transacción relacionados con Bitcoin"},accountTransactionAttributesGeneric:{text:`Confirmaciones: Cuando tu transacción se transmita por primera vez, no se confirmará. Tienes que esperar a que un minero lo incluya en un bloque, después de lo cual tendrá 1 confirmación. Desde ese momento, cada bloque transmitido en la red agregará otra confirmación a tu transacción. En general, los comerciantes y otros actores de la red solo aceptarán transacciones con confirmaciones de entre 3-6 antes de considerar la transacción como liquidada. +ID de transacción: un número de identificación único que se puede usar para buscar una transacción en un explorador de bloques. +Cuota: los mineros reciben una tarifa de transacción como incentivo para incluir las transacciones en los bloques que explotan. Para obtener más información, haz clic en el botón enviar.`,title:"¿Cuál es la información que se muestra en los detalles de la transacción?"},accountTransactionConfirmation:{text:"Esta es una transacción que se ha transmitido a la red y espera ser confirmada.",title:"¿Qué es una transacción pendiente?"},accountTransactionLabel:{text:`Es la dirección donde recibiste o enviaste tus monedas. +Una dirección codifica cómo (y por lo tanto, por quién) se pueden gastar las monedas.`,title:"¿Qué dirección se muestra para cada transacción?"},accountTransactionTime:{text:"El tiempo que la transacción ha sido confirmada en el blockchain.",title:"¿Qué hora se muestra?"},accounts:{howManyAccounts:{text:`Bitcoin y Litecoin pueden tener una cantidad arbitraria de cuentas. Después de cinco cuentas, sólo se puede añadir otra cuenta si se ha utilizado la anterior. +Otras monedas pueden tener un máximo de cinco cuentas.`,title:"¿Cuántas cuentas puedo crear?"},howtoAddTokens:{text:'Tokens que utilicen el estándar ERC20 están conectados a una cuenta específica de Ethereum. Para permitir o inutilizar un token en particular, abra la ventana de "Administrar cuentas", despliegue su cuenta Ethereum y active o desactive su token deseado.',title:"¿Cómo puedo añadir tokens adicionales?"},moveFunds:{text:"Si. Pero porque las cuentas son independientes, necesitará enviar los fondos utilizando una transacción normal.",title:"¿Puedo mover fondos entre cuentas?"},recoverAccounts:{text:"Si. La BitBoxApp crea cuentas utilizando estándares muy establecidos compatibles con la mayoría de otras carteras crypto.",title:"¿Puedo recuperar mis cuentas de otras carteras?"},whatAreAccounts:{text:"Su cartera puede administrar cuentas de la misma moneda. Las cuentas son útiles cuando se quiere guardar los fondos de forma separada.",title:"¿Qué son las cuentas?"},whatIsRememberWallet:{text:`Activando "Recordar billetera" podrás ver las cuentas de esta billetera en la BitBoxApp incluso cuando la BitBox02 no esté conectada. Esto te permite comprobar tu saldo y portafolio siempre que quieras. La BitBox02 necesita estar conectada y desbloqueada para enviar o recibir monedas. + +Desactivar "Recordar billetera" requiere que conectes la BitBox02 respectiva (o frase de contraseña) para ver esas cuentas en la BitBoxApp.`,title:'¿Qué ocurre cuando activo/desactivo "Recordar billetera"?'},whyIsThisUseful:{text:'Las cuentas son geniales para la gestión de fondos para diferentes personas o propósitos porque están separados. También puede compartir la "clave pública extendida" de una cuenta sin revelar nada sobre las otras cuentas. Esto permite recibir fondos repetidamente sin reutilizar direcciones, tanto para recibir su salario o comprar crypto de forma habitual.',title:"¿Porqué es esto útil?"}},appendix:{link:"¡Contacta con nosotros!",text:"¿Otra pregunta?"},backups:{check:{text:'"Comprobar copia de seguridad" te permite verificar que tienes una copia de seguridad operativa correspondiente a tu monedero actual. También se puede usar para verificar que todavía tienes la contraseña de recuperación correcta. Puedes verificar tu contraseña de recuperación principal o tu contraseña de recuperación oculta.',title:"¿Qué es 'Comprobar la copia de seguridad'?"},encrypt:{text:"No, pero necesitas tu contraseña de recuperación para obtener el monedero de la semilla guardada.",title:"¿Puedo encriptar la copia de seguridad?"},howOften:{text:`La copia de seguridad se genera automáticamente cuando se crea un nuevo monedero. Sólo tienes que hacer una nueva copia de seguridad si tu tarjeta micro SD está perdida o dañada, o si quieres usar varias tarjetas micro SD como copias de seguridad. +No es necesario crear nuevas copias de seguridad después de la actividad de transacción. Todos tus datos de transacción pueden ser recreados por tu única copia de seguridad que se generó automáticamente para ti.`,title:"¿Con qué frecuencia tengo que hacer una copia de seguridad?"},whatIsABackup:{text:"Esto es una copia de la semilla en una tarjeta micro SD. La semilla junto con tu contraseña de recuperación genera tu monedero.",title:"¿Qué es una copia de seguridad?"}},backupsBB02:{check:{text:"'Comprobar copia de seguridad' te permite verificar que tienes una copia de seguridad funcional y que corresponde a tu monedero actual.",title:"¿Qué es 'Comprobar la copia de seguridad'?"},encrypt:{text:'No. Por favor mantén la microSD en un lugar seguro porque contiene la semilla para recuperar tu monedero sin encriptar. Si deseas proteger con contraseña tu semilla, puedes activar una frase de contraseña (passphrase) opcional en los ajustes, debajo de "Ajustes del dispositivo". ',title:"¿Puedo encriptar la copia de seguridad?"},whatIsABackup:{text:"Es una copia de la semilla en la tarjeta microSD.",title:"¿Qué es una copia de seguridad?"}},bitbox:{"2FA":{text:`Cuando 2FA está habilitado, todas las transacciones deben aprobarse en el teléfono móvil sincronizado para poder gastar monedas. Técnicamente, se envía un número encriptado de un solo uso a la aplicación móvil, donde se descifra y se devuelve al BitBox al presionar el botón Aceptar. Esta comunicación con el dispositivo se realiza a través del canal entre el teléfono móvil y esta aplicación de escritorio establecida durante la sincronización. + +Asegúrate de hacer una copia de seguridad de tu monedero y sincroniza la aplicación móvil antes de habilitar 2FA. Una vez habilitado, las sincronizaciones entre la ranura micro SD y las aplicaciones móviles se deshabilitan. Se pueden volver a habilitar reiniciando el BitBox, algo que borrará el dispositivo.`,title:"¿Cómo funciona la autorización de dos factores (2FA)?"},disable2FA:{text:`Para deshabilitar 2FA, debes restablecer su BitBox y luego restaurar el monedero desde su copia de seguridad. Asegúrate de que todavía tienes la tarjeta micro SD con la copia de seguridad y que aún recuerdas la contraseña de recuperación. Luego pulsa 'Restablecer dispositivo'. Establece una nueva contraseña de dispositivo y elija 'O restaurar una copia de seguridad'. Selecciona la copia de seguridad que has hecho del monedero, haz clic en "Restaurar" e ingresa la contraseña de recuperación que utilizaste al crear el monedero.`,title:"¿Cómo puedo desactivar la autorización de dos factores (2FA)?"},ejectBitbox:{text:"Puedes desconectar el BitBox en cualquier momento sin tener que expulsarlo primero.",title:"¿Cómo puedo expulsar el BitBox?"},ejectSD:{text:"Puedes retirar la tarjeta micro SD de BitBox en cualquier momento siempre que no esté en el proceso de crear o restaurar una copia de seguridad.",title:"¿Cómo puedo expulsar la tarjeta micro SD?"},hiddenWallet:{text:"Es un segundo monedero en el mismo dispositivo protegido por una contraseña de dispositivo y una contraseña de recuperación diferentes, que puedes usar para una negación creíble. La misma semilla de copia de seguridad se usa para tu monedero normal y oculto, por lo que no se requiere una copia de seguridad adicional.",title:"¿Qué es un monedero oculto?"},legacyHiddenWallet:{text:"Primero haz clic en el botón de abajo (disponible si el BitBox está desbloqueado con la contraseña del dispositivo principal y la 2FA está desactivada), luego vuelve a conectar su Bitbox y desbloquea con la contraseña oculta del dispositivo.",title:"¿Cómo accedo el monedero oculto heredado?"},pairing:{text:"Después de haber descargado nuestra aplicación móvil para iOS o Android, escanea el código QR mostrado, que establece un canal seguro entre la aplicación móvil y esta aplicación. Una vez escaneado, sige las instrucciones en la aplicación móvil.",title:"Cómo sincronizo de forma segura con mi teléfono"}},cointracking:{text:`Haga click en el botón "Exportar" y abra la carpeta de descargas donde encontrará el CSV exportado. +A continuación haga click en el enlace de abajo, cargue su archivo BitBox CSV e importe los datos para ser utilizados por su gestor de CoinTracking y crear sus informes fiscales.`,title:"¿Cómo importar mis transacciones a CoinTracking?"},device:{attestation:{link:{text:"Más información sobre el control de autenticidad"},text:"La BitBoxApp realiza una comprobación de atestación en la BitBox02 para verificar si el dispositivo es genuino. La comprobación se realiza localmente y no se conecta a ningún servidor.",title:"¿Cómo funciona el control de autenticidad?"},name:{text:"Este es el nombre de tu wallet y de la copia de seguridad. El nombre se utiliza para futuras copias de seguridad y se puede utilizar para ayudar a distinguir entre diferentes billeteras. Se puede cambiar en cualquier momento, pero ten en cuenta que las copias de seguridad realizadas antes del cambio seguirán utilizando el nombre anterior.",title:"¿Para qué se utiliza el nombre BitBox02?"},"secure-chip":{link:{text:"Más información sobre el chip seguro"},text:"Esta información muestra el número de modelo del chip seguro, el chip más actualizado es ATECC608B con características de seguridad mejoradas en comparación con los modelos anteriores.",title:"¿Por qué mostrar el modelo de chip seguro?"}},receive:{address:{text:"Puedes dar la dirección a otras personas para que te envíen monedas. Solo tienes que asegurarte de que envíen a la dirección correcta.",title:"¿Qué hago con una dirección?"},addressChange:{text:"En cuanto se utilice una dirección en una transacción, se agrega una nueva dirección a la lista para reemplazarla. Siempre habrá 20 direcciones no utilizadas disponibles en la lista.",title:"¿Cuándo cambian las direcciones?"},addressFormats:{text:`Por defecto, el tipo de dirección es Native Segwit. Esta dirección es ampliamente adoptada por otras carteras/exchanges y proporciona las mejores comisiones para las transacciones del día a día. En cambio, se puede elegir enviar a Taproot (Bitcoin Only), que es el último tipo de direcciones, pero puede que no sea ampliamente soportada todavía. Como alternativa, si tiene complicaciones enviando a Native Segwit (el tipo de dirección por defecto), puede intentar cambiar al antiguo tipo de dirección Wrapped Segwit que puede ser compatible con mas carteras/exchanges. +`,title:'¿Cuándo utilizar "cambio de tipo de dirección"?'},howVerify:{text:`Para la BitBox01, haz clic en el icono BitBox en la barra lateral de la izquierda y revisa las opciones de emparejamiento. Esta guía se actualizará y podrás seguir las nuevas instrucciones desde allí. +Para la BitBox02, puedes verificar las direcciones directamente en tu dispositivo durante el proceso de envío y recepción. `,title:"¿Cómo puedo verificar una dirección de forma segura?"},plugout:{text:"No, una vez ha enviado las monedas a su dirección de BitBox, no tendrá que dejar su BitBox enchufada. Puede desconectar su BitBox cuando quiera.",title:"¿Necesito dejar conectada mi BitBox mientras recibo?"},why20:{text:'Durante la inicialización, la app genera direcciones derivadas de tu semilla para ver si han recibido fondos. Como la app puede generar un número casi infinito de direcciones, se podría pasar años determinando el saldo. Para limitar esta búsqueda se para después de encontrar 20 direcciones que nunca han recibido fondos. Esto es un "intervalo límite" y 20 es el estándar de-facto aunque el número es arbitrario. Estas son las 20 direcciones que puedes escoger.',title:"¿Por qué solo 20 direcciones?"},whyMany:{text:"Por razones de privacidad y seguridad, nunca debes utilizar la misma dirección dos veces. Haz clic en 'Siguiente' para obtener una nueva dirección para un propósito diferente. Puedes generar hasta 20 direcciones a la vez. Todas las direcciones se derivan de tu semilla única de la copia de seguridad.",title:"¿Por qué hay tantas direcciones?"},whyVerify:{text:"Una de las razones por las que comprar una cartera de hardware como la BitBox es que no debes confiar en tu ordenador debido a sus numerosos vectores de ataque. No debes confiar en que tu ordenador genere y muestre direcciones auténticas. El botón para verificar la dirección de manera segura hace que BitBox envíe la dirección a un teléfono móvil sincronizado, desde el cual también puedes escanear y verificar el código QR.",title:"¿Por qué debo verificar la dirección de forma segura?"}},send:{change:{text:"El cambio será devuelto a una dirección Taproot si al menos tiene un UTXO Taproot. Si utiliza coin control, el cambio será devuelto a una dirección Taproot si al menos hay un Taproot UTXO entre los UTXOs seleccionados. En el resto de casos, el cambio será devuelto a una dirección Native Segwit.",title:"¿Cómo se determina la dirección de cambio?"},fee:{text:`La tarifa se basa en el tamaño de los datos de la transacción y no en su cantidad. Los objetivos de tiempo de la tarifa se calculan mediante el algoritmo de estimación de tarifa de Bitcoin Core para cada prioridad de red que elijas. Serán mostrados si tienen un valor diferente del siguiente objetivo. +Económico: 24 bloques (alrededor de 4 horas para Bitcoin, 1 hora para Litecoin) +Bajo: 12 bloques (alrededor de 2 horas para Bitcoin, 30 minutos para Litecoin) +Normal: 6 bloques (alrededor de 1 hora para Bitcoin, 15 minutos para Litecoin) +Alto: 2 bloques (alrededor de 20 minutos para Bitcoin, 5 minutos para Litecoin) +(Un bloque de Bitcoin tarda un promedio diez minutos para que se mine (2.5 minutos en Litecoin), y la congestión de la red puede hacer variar considerablemente los períodos arriba mencionados).`,title:"¿Cómo se determina la comisión?"},plugout:{text:"No, una vez ya ha realizado la transacción, no necesita dejar su BitBox conectada. Puede desconectar su BitBox cuando quiera.",title:"¿Necesito dejar mi BitBox conectada mientras envío?"},priority:{text:"Cuanto mayor sea la comisión que estás dispuesto a pagar, más rápido se confirmará tu transacción por la red.",title:"¿Cuál es la prioridad de la red?"},revert:{text:`Una vez que se firma y se envía una transacción (que se transmite a la red), ya no puede revertirse. ¡Verifica las transacciones (también la comisión) correctamente antes de firmar! +Si conoces al destinatario y él o ella está dispuesto a enviarte la misma cantidad de vuelta (menos los cargos por transacción), puedes entonces enviarle una nueva dirección de recepción.`,title:"¿Puedo revertir una transacción?"},whyFee:{text:`Las transacciones compiten para ser confirmadas por un minero. Los mineros eligen las transacciones que se incluirán en la blockchain en función de tu tarifa. +Los mineros votan sobre el historial de las transacciones. Dado que no hay un tercero de confianza para imponer un voto por persona (que es el eje central de las blockchains), los mineros votan sobre las transacciones sacrificando un recurso caro como la potencia de cálculo. Como recompensa por su trabajo, pueden reclamar monedas recién creadas y la tarifa de todas las transacciones que incluyeron.`,title:"¿Por qué hay una tarifa de red?"}},"settings-electrum":{connection:{text:`Si solo tiene la intención de conectarse a tu nodo cuando esté en la misma red (por ejemplo, la red wifi de tu hogar), entonces es suficiente usar la comunicación de red regular. +En este caso, es recomendable que el servidor Electrum proporcione un certificado TLS para encriptar la comunicación. +Si tu intención es conectarse a tu nodo desde cualquier lugar, usar Tor es la mejor opción. En ese caso, no es necesario ningún certificado TLS. + +`,title:"Debo usar Clearnet TCP, TLS o Tor?"},instructions:{link:{text:"Guía para conectar tu nodo"},text:"Para el tutorial competo, por favor visita nuestra guía: ",title:"¿Como conecto mi BitBoxApp con mi nodo?"},options:{text:`Hay varias opciones para usar su propio nodo, como comprar un dispositivo terminado, construir el tuyo propio o usar Bitcoin Core. +Si quieres conectar tu BitBoxApp a tu nodo, asegúrate de que ejecutas un servidor Electrum. Este es un programa que permite que una app del monedero se comunica con su nodo completo. +Las opciones incluyencompatibles Electrs, Electrum Personal Server (EPS) o Bitcoin Wallet Tracker (BTW).`,title:"¿Qué opciones existen para ejecutar un nodo?"},tor:{text:`Tor significa 'The Onion Router', es un software gratuito y de fuente abierta que ofrece muchos beneficios de privacidad. Es muy útil cuando se usa Bitcoin. +Si tienes la intención de conectarte a su nodo a través de Tor, asegúrate de que Tor esté instalado en tu ordenador y luego activa Tor Proxy en la configuración de BitBoxApp. +En la mayoría de los sistemas operativos, hay dos formas de ejecutar Tor: +1. Tor Browser: descarga y abre el Tor Browser. Esto permitirá que BitBoxApp se conecte a la red Tor configurando el puerto 9150 en la configuración del proxy Tor. +2. Servicio Tor en segundo plano: instala el Tor daemon, que siempre se usa en segundo plano. BitBoxApp puede conectarse configurando el puerto 9050 en la configuración del proxy Tor. + +`,title:"¿Que es un Tor, Tor proxy y en que puerto lo debería usar?"},what:{text:"Es posible conectar tu wallet a tu propio nodo completo Bitcoin en vez de utilizar los servidores Shift.",title:"¿Qué es esto?"},why:{text:`No es necesario ejecutar su propio nodo, pero mejora la privacidad y reduce la necesidad de confiar en los demás. +En primer lugar, significa que estás utilizando Bitcoin de forma más privada, ya que BitBoxApp no ​​se conectará a nuestros servidores para recuperar su historial de transacciones; en su lugar, obtendrá esa información de su propio nodo. +En segundo lugar, ejecutar tu propio nodo significa que tu nodo verifica todas las transacciones por sí mismo, asegurándose de que se cumplan las reglas de consenso.`,title:"¿Por qué debería ejecutar mi propio nodo?"}},settings:{sats:{text:'Un Satoshi ("sat" para abreviar) es la unidad más pequeña de Bitcoin. Un Satoshi es la cienmillonésima parte de un bitcoin (0,00000001 BTC). Debe su nombre al creador de Bitcoin, Satoshi Nakamoto.',title:"¿Qué es un Satoshi?"},servers:{text:`Esta aplicación se comunica con los servidores de Shift Crypto para buscar actualizaciones, cargar transacciones y enviar información a aplicaciones móviles sincronizadas. +Además, recupera los últimos tipos de cambio de CoinGecko. Todas las conversiones se calculan de forma local lo que significa que no se envían las cantidades que uno tiene a ningún servidor. +Nota: Para Ethereum y tokens ERC20, utilizamos la API de Etherscan.io`,title:"¿Con qué servidores se comunica esta aplicación?"}},title:"Guía",toggle:{close:"Cerrar la guía",open:"Guía"},trackingModePortfolioChart:{text:"En el ordenador de sobremesa, sitúe el cursor sobre el gráfico. En móvil, mantén el dedo sobre el gráfico y arrástralo horizontalmente.",title:"¿Cómo ver los valores históricos en el gráfico?"},unlock:{forgotDevicePassword:{text:"Debe restablecer el dispositivo y recuperar el mondero desde una copia de seguridad, utilizando la contraseña de recuperación.",title:"¿Qué hago si olvido la contraseña del dispositivo?"},reset:{text:"Introduzca una contraseña de dispositivo incorrecta 15 veces. Los últimos intentos requieren mantener pulsado el dispositivo .",title:"¿Cómo reinicio el dispositivo?"}},waiting:{deviceNotRecognized:{text:`El dispositivo debe parpadear una vez se haya insertado. Asegúrese de que se inserta de la manera correcta. Si tiene problemas, por favor contáctenos a través del siguiente enlace. +La BitBox01 no es soportada en los móviles/celulares. Por favor utilice la BitBoxApp de escritorio para conectar su BitBox01.`,title:"Mi dispositivo no está reconocido"},getDevice:{link:{text:"Encargue un BitBox"},text:"Puedes comprar un BitBox en nuestra tienda online:",title:"¿Cómo puedo obtener un dispositivo?"},internet:{text:"Sí, se necesita una conexión a Internet para sincronizar el monedero, enviar transacciones y recuperar los últimos tipos de cambio.",title:"¿Esta aplicación requiere conexión a internet?"},lostDevice:{link:{text:"Centro de respaldo (backup)"},text:"Puede recuperar sus cuentas en un nuevo BitBox o con nuestro centro de copia de seguridad.",title:"Perdí mi dispositivo. ¿Ahora qué?"},useWithoutDevice:{text:"Lamentablemente, esto todavía no es posible en este momento.",title:"¿Puedo usar la aplicación sin un dispositivo?"},welcome:{text:"Gracias por utilizar esta aplicación creada por Shift Crypto en Suiza. Todavía está en beta y agradecemos cualquier comentario que tenga que compartir. Por favor, de su opinión utilizando el enlace en la parte inferior.",title:"¡Bienvenido a la aplicación de BitBox!"}},walletConnect:{noPreviousConnections:{text:"Si estás usando un nuevo teléfono/ordenador con la BitBoxApp, entonces tendrás que conectarte de nuevo a la DApps. A continuación, verá sus monedas en la dapp de nuevo como de costumbre.",title:"No veo mis conexiones previas."},supportedNetworks:{text:"Actualmente, sólo Ethereum mainnet es compatible utilizando WalletConnect en la BitBoxApp. Para utilizar otras cadenas compatibles con EVM, por favor utilice la extensión de navegador Rabby wallet.",title:"¿Qué redes son compatibles?"},whatIsWalletConnect:{text:"WalletConnect es un protocolo de comunicación para aplicaciones web3. Permite conectarse cómodamente a DApps basadas en Ethereum y billeteras web sin necesidad de utilizar una app de terceros, lo que resulta especialmente útil para los usuarios de Android de la BitBoxApp.",title:"¿Qué es WalletConnect?"}}},mU={blocksSynced:"{{blocks}} bloques sincronizados"},fU={info1HTML:"Para fines de negación plausible, se puede crear un monedero oculto basada en una diferente combinación de contraseña de recuperación y contraseña del dispositivo.",info2HTML:"Defina la contraseña del dispositivo y la contraseña de recuperación que quieres asociar con su monedero oculto a continuación. La contraseña del dispositivo y la contraseña de recuperación deben ser diferentes de los que has definido para tu monedero principal.",passwordLabel:"Contraseña de recuperación oculta",passwordPlaceholder:"Por favor confirma la contraseña de recuperación oculta",pinLabel:"Contraseña oculta del dispositivo",pinRepeatLabel:"Repita la contraseña del dispositivo oculto",pinRepeatPlaceholder:"Por favor confirma la contraseña oculta del dispositivo",success:"Monedero oculto creado con éxito. Vuelve a enchufar tu BitBox para desbloquearlo."},gU={create:"Establece contraseña del dispositivo",creating:"Configuración de la contraseña del dispositivo ...",error:{e102:"La contraseña del dispositivo debe constar de al menos 4 caracteres."},info:{description1:"Elije la contraseña de tu dispositivo. Esto se utilizará para desbloquear su BitBox.",description2:"Puedes usar números, letras y símbolors. Las contraseñas largas ofrecen mayor seguridad.",description3:"Si pierdes la contraseña del dispositivo, tendrás que restablecer tu dispositivo y recuperar la copia de seguridad de su monedero.",subtitle:"Ahora configurará la contraseña de su dispositivo.",title:"Iniciando su dispositivo"},input:{label:"Contraseña del dispositivo",labelRepeat:"Repita la contraseña del dispositivo",placeholderRepeat:"Por favor confirma la contraseña del dispositivo"}},vU="Formato inválido",bU={title:"Selecciona el idioma"},kU={disable:"Desactiva monedero oculto heredado",enable:"Activa monedero oculto heredado",successDisable:"Se desactivó con éxito el legado del monedero oculto.",successEnable:"El monedero oculto heredado se habilitó con éxito. Vuelva a enchufar su BitBox e ingresa la contraseña del dispositivo oculto para acceder al monedero oculto heredado."},xU="cargando…",yU={accountHidden:"Esta cuenta ha sido ocultada de tus cuentas de sólo vigilancia. Para volver a verla, conecta tu BitBox02.",editAccount:"Editar",editAccountNameTitle:"Editar nombre de cuenta",noAccounts:"No se han encontrado cuentas",settings:{hideTokens:"Ocultar tokens",showTokens:"Mostrar tokens ({{activeTokenCount}})"},settingsButtonDescription:"Añadir y mostrar/ocultar cuentas",title:"Administrar cuentas",watchAccount:"Cuenta de vigilancia",watchAccountDescription:"Esta cuenta forma parte de tus cuentas de vigilancia. Puedes ocultarla de tus cuentas de solo vigilancia utilizando el conmutador."},wU={usingMobileDataWarning:`Uso de datos móviles: esta aplicación puede descargar hasta unos cientos de megabytes de datos de blockchain después de desbloquear una cuenta. Por favor, conéctate a una red Wi-Fi para evitar el uso de datos móviles. Después de descartarlo, este mensaje no se mostrará nuevamente. + +`},jU={about:{appVersion:{title:"Versión de la aplicación"}},advancedSettings:{authentication:{description:"Bloquea el acceso a la aplicación con bloqueo de pantalla/huella dactilar.",title:"Bloqueo de pantalla"},coinControl:{description:""},customFees:{description:"Le permite introducir su propia tarifa al enviar."},torProxy:{description:"Conéctate a través de Tor para mejorar la privacidad."}},appearance:{activeCurrencies:{description:"Estas monedas adicionales se pueden cambiar a través de la página de su cuenta.",title:"Divisas activas"},darkmode:{description:"Ver la BitBoxApp en modo oscuro."},defaultCurrency:{description:"Selecciona tu moneda predeterminada",title:"Moneda predeterminada"},enableWallet:{description:"Deshabilitar tu cuenta significa que no aparecerá en la barra lateral ni en la billetera. Siempre puedes volver a activarla desde aquí. Las monedas de esta cuenta no se verán afectadas y permanecerán seguras.",title:"Activar/desactivar billetera"},hideAmounts:{description:"Muestra un conmutador para ocultar tu saldo y los importes para mejorar tu privacidad cuando utilices la aplicación en público.",hideAmounts:"Ocultar importes",showAmounts:"Mostrar importes",title:"Permitir ocultar importes"},language:{description:"Qué idioma quieres que utilice la BitBoxApp.",title:"Idioma"},remebmerWallet:{name:"Recuerde la billetera",warning:"Esto eliminará tu billetera recordada. Para verlo de nuevo, necesitará conectar la BitBox02 para esta billetera. Las monedas de esta billetera no se verán afectadas. ¿Desea continuar?",warningTitle:"Desactivar recuerde la billetera"},toggleSats:{description:"Habilitar o deshabilitar Satoshis."}}},BU={input:{description:"(opcional)",placeholder:"añade nota"},title:"Nota"},SU={newTxs_one:"Nueva transacción en: {{accountName}}",newTxs_other:"{{count}} nuevas transacciones en: {{accountName}}"},zU={aborted:{text:"La sincronización ha sido cancelada desde la aplicación móvil.",title:"Abortado"},button:"Sincronizar aplicación móvil",confirm:"¿Estás seguro de que quieres sincronizar su BitBox? Ten en cuenta que después, se necesitará el teléfono móvil para realizar una transacción.",connectOnly:{button:"Conectar aplicación móvil",title:"Escanea con nuestra aplicación móvil seleccionando el elemento de menú 'Conectar a la nueva aplicación de escritorio'"},error:{text:"Algo salió mal. Por favor empieza de nuevo.",title:"Error"},pullFailed:{text:"Ha habido un error recibiendo un mensaje de tu móvil a través del relay server. Éste puede estar sin conexión, por favor contacte al soporte técnico.",title:"Solicitud fallida"},reconnectOnly:{button:"Volver a conectar la aplicación móvil"},scanningFailed:{text:"El móvil no ha podido escanear el mensaje con éxito. Por favor inténtalo de nuevo.",title:"Escaneo fallido"},start:{hideAppQRCode:"Ocultar código QR",revealAppQRCode:"Mostrar código QR",step1:"Si no tiene la aplicación móvil, puede escanear el código QR para la App Store de Apple o la Play Store de Google, según el teléfono que tengas.",step2:"Escanee con nuestra aplicación móvil, que puede encontrar bajo el nombre 'Digital Bitbox 2FA' en las tiendas de aplicaciones para iOS y Android:"},started:{text:"Ahora sige por favor las instrucciones en la aplicación móvil.",title:"Genial"},success:{text:"¡Enhorabuena, has sincronizado su BitBox con la aplicación móvil!",title:"Éxito"},timeout:{text:"La sincronización expiró después de dos minutos. Empieza de nuevo si aún quieres sincronizar la aplicación móvil.",title:"Se acabó el tiempo"},title:"Sincronización móvil"},CU={considerations:{button:"Consideraciones de la copia de seguridad",message:`La frase de contraseña añade una capa de protección a tu billetera de copia de seguridad (de la tarjeta microSD o palabras de recuperación). Si alguien tiene acceso a tu copia de seguridad, también necesitará la frase de contraseña para acceder a tu billetera. + + +Sin embargo, esto significa que necesitarás tanto la frase de contraseña como la copia de seguridad de tu billetera para restaurar tu billetera con la frase de contraseña, en caso de que tu BitBox02 se pierda o se rompa. Si olvidas o pierdes tu contraseña, perderás el acceso a todas las monedas de esa billetera. + +Cuando almacenes tu frase de contraseña, considera ponerla en un lugar distinto a la de tu copia de seguridad. De este modo, si alguien encuentra la copia de seguridad, no encontrará también la frase de contraseña.`,title:"Consideraciones de la copia de seguridad"},disable:"Desactivar passphrase",disableInfo:{button:"Desactivar",message:`Tras desactivar la passphrase, no se le volverá a preguntar para que introduzca una passphrase tras desbloquear su BitBox02. Por lo que entrara en su cartera por defecto. +Cualquier moneda de su cartera con passphrase seguirá estando en esa cartera, sin embargo no tendrá acceso a ella porque tras desbloquear su BitBox02, abrirá su cartera por defecto. +Para acceder a su cartera con passphrase de nuevo, simplemente vuelva a activar la opción de passphrase e introduzca la passphrase correcta tras desbloquear la BitBox02. +Consejo: Puede seguir entrando en su cartera original dejando la passphrase vacía.`},enable:"Activar passphrase",error:{e104:"El cambio en la característica de passphrase fue abortado."},how:{button:"Cómo se ve",message:`Una passphrase no funciona como una contraseña a las que estamos habituados. Si se equivoca en un carácter de su passphrase, no será notificado. Esto es porque cada passphrase crea una cartera diferente y válida al mismo tiempo. Esto significa que se pueden utilizar tantas pasprases como carteras se deseen. Pero solo se puede acceder a cada cartera cuando se introduce su passphrase correspondiente. +Cuando conecte su BotBox02, será preguntado por su contraseña como siempre. Después, se le solicitará que introduzca la passphrase en el dispositivo. +Tras introducir la passphrase, se le mostrará la passphrase que ha introducido. Esto es para confirmar que ha sido introducida correctamente.`,title:"Como funciona"},intro:{message:`Una passphrase proporciona una capa de seguridad por encima de su cartera. +Aprendamos cómo funciona.`,title:"Configurar passphrase"},progressDisable:{message:"Confirme en su BitBox que quiere desactivar la opción de passphrase.",title:"Confirme en el dispositivo"},progressEnable:{message:"Confirme en su BitBox que quiere activar la opción de passphrase.",title:"Confirme en el dispositivo"},successDisabled:{message:`Passphrase opcional activada satisfactoriamente! +A partir de ahora se le solicitara introducir una passphrase.`,messageEnd:"Por favor vuelva a conectar ahora su BitBox02.",title:"Passphrase activado"},successEnabled:{message:`Passphrase opcional desactivada satisfactoriamente! +A partir de ahora no se le solicitará introducir una passphrase.`,messageEnd:"Por favor vuelva a conectar su BitBox02 ahora.",tips:"Consejos",tipsList:["Le sugerimos enviar una pequeña cantidad a su cartera con passphrase primero. Después desconecte y vuelva a conectar la BitBox02 e introduzca su contraseña y su passphrase. Si ha introducido la passphrase correctamente, debería ver las monedas en su cartera.","Si quiere entrar en su cartera original sin passphrase, puede seguir haciéndolo no introduciendo nada cuando le solicite introducir la passphrase. O puede desactivar la característica de passphrase."],title:"Passphrase desactivada"},summary:{button:"Activar passphrase",title:"Resumen",understand:"Entiendo como funciona la passphrase y sus riesgos asociados.",understandList:["La passphrase es una capa adicional de seguridad por encima de su copia de seguridad.","Introducir un passphrase diferente siempre generará carteras diferentes.","Para restaurar su cartera necesita tanto la passphrase como la copia de seguridad.","Si olvidas tu frase de contraseña, ya no podrás acceder a tus monedas."]},what:{button:"Aprenda como funciona",message:`Una billetera se crea (deriva) a partir de un número aleatorio muy grande, también conocido como semilla. Esta semilla se crea cuando configuras por primera vez tu BitBox02 y se respalda con la tarjeta microSD o las palabras de recuperación. Cualquiera que tenga acceso a la semilla tiene control total sobre los fondos de esa billetera. + +Una frase de contraseña es un secreto opcional, añadido a la semilla. Cuando se utiliza una frase de contraseña, cada frase de contraseña crea una nueva billetera basada en la semilla + frase de contraseña (secreto opcional). Una frase de contraseña puede ser cualquier cosa: letras, palabras, caracteres especiales o incluso puede estar vacía. De hecho, la billetera predeterminadamente se deriva de la semilla + frase de contraseña vacía. + +La frase de contraseña forma parte del estándar BIP39, lo que significa que es compatible con todos las billeteras que admitan el mismo estándar.`,title:"¿Qué es una passphrase?"},why:{button:"Porqué utilizar una passphrase",message:`La BitBox02 protege la semilla contra la extracción desde el propio dispositivo, pero la copia de seguridad (tarjeta microSD o palabras de recuperación) da acceso completo a la billetera. ¡Por eso debe guardarse en un lugar seguro! + + +Dado que una frase de contraseña crea una nueva billetera utilizando tu semilla existente, la billetera con frase de contraseña requiere tanto tu reserva de seguridad COMO tu frase de contraseña para restaurarla. La ventaja de esto es que si alguien encuentra tu copia de seguridad, seguirá necesitando la frase de contraseña para acceder a la billetera con la frase de contraseña. + + +Además, la función de la frase de contraseña permite crear varias billeteras en el mismo dispositivo, o "billeteras ocultas", además del predeterminado.`,title:"¿Porqué utilizar una passphrase?"}},DU={show:"Mostrar {{label}}",warning:{caps:"AVISO: el bloqueo de mayúsculas (⇪) está activado",paste:'para pegar texto, activa "MOSTRAR {{label}}"'}},AU={button:"Generar número aleatorio",description:"Tu BitBox ha generado el siguiente número aleatorio de {{bits}} bits:"},_U={changeScriptType:"Tipo de dirección del cambio",label:"Tu dirección",onlyThisCoin:{description:"Para recibir otros tokens, por favor actívalos en la configuración. Si depositas otros tokens, podrían no ser accesibles. ",warning:"Asegúrate de recibir solo {{coinName}} en esta dirección."},scriptType:{p2tr:"Taproot (Nuevo formato)",p2wpkh:"Native Segwit (por defecto)","p2wpkh-p2sh":"Wrapped Segwit (formato compatible)"},selectAccount:"Seleccionar cuenta ",showFull:"Muestra y verifica la dirección completa en el dispositivo",taprootWarning:"Nota: Taproot es una nueva característica de Bitcoin y todavía no es ampliamente aceptada. Los fondos recibidos en direcciones Taproot pueden no ser mostradas en carteras de terceros. Muchas carteras y exchanges no pueden enviar a direcciones Taproot.",title:"Recibe {{accountName}}",verify:"Verificar la dirección de forma segura",verifyBitBox01:"Verifica la dirección completa en la app móvil",verifyBitBox02:"Verifica la dirección en la BitBox02",verifyInstruction:"Por favor, verifica que esta dirección encaja con la de tu dispositivo.",warning:{secureOutput:"Por favor, sincroniza su BitBox con tu dispositivo móvil para activar la verificación segura de la dirección. Ve a 'Administrar dispositivo' en la barra lateral."}},TU={description:"Todos los datos serán borrados de este dispositivo. ¡Eso incluye tu clave privada!",notReset:"Dispositivo NO reseteado.",title:"Resetear dispositivo de fábrica",understand:"Tengo una copia de seguridad y conozco mi contraseña de recuperación",understandBB02:"Tengo una copia de seguridad válida"},EU={create:{description1:"Antes de configurar su dispositivo, se recomienda que lo hagas en un entorno seguro.",description2:"Se le pedirá que crea dos contraseñas.",description3:"La primera es la contraseña del dispositivo que desbloquea su dispositivo BitBox y puede cambiarse más tarde.",description4:"El segundo es el contraseña de recuperación que desbloquea tu monedero. Esta contraseña no se puede cambiar más tarde.",description5:"Se realizará una copia de seguridad del monedero que creaste en un archivo de la tarjeta micro SD proporcionada. Esto se puede usar en una emergencia para recuperar tus fondos usando tu contraseña de recuperación.",title:"Información de seguridad"},restore:{description1:"Se te pedirá que insertes la tarjeta micro SD que utilizó para guardar su copia de seguridad.",description2:"Para recuperar tu dispositivo necesitarás tu contraseña de recuperación. ",description3:"Por favor ten cuidado al ingresar la contraseña de recuperación. Cualquier contraseña que ingreses creará un monedero válida. Si introduces la contraseña incorrecta, es posible que ves un saldo del monedero que no esperas.",title:"Información de seguridad"}},PU={agreements:{"funds-access":"NO podré acceder a mis fondos si olvido mi contraseña de recuperación","password-change":"NO puedo cambiar la contraseña de recuperación más tarde","password-required":"La contraseña de recuperación es necesaria para restaurar un monedero desde una copia de seguridad"},create:"Crea monedero",creating:"Creando monedero",description:"Entiendo que:",error:{e102:"La contraseña debe contener al menos 4 caracteres.",e200:"Debe insertar una tarjeta micro SD en su BitBox para crear un mondero, de modo que se pueda crear una copia de seguridad automáticamente."},info:{button:"Establecer contraseña de recuperación ahora",description1:"Inserta la tarjeta micro SD en el BitBox",description2:'Elija una contraseña de recuperación para el monedero y seleccione "Establecer contraseña de recuperación ahora"',description3:"La copia de seguridad en la tarjeta micro SD y su contraseña de recuperación es el único método para recuperar sus fondos en caso de pérdida o robo del dispositivo BitBox.",description4:"No puede cambiar su contraseña de recuperación más adelante sin transferir sus fondos.",title:"Crear una cartera nueva"},password:{label:"Contraseña de recuperación",repeatPlaceholder:"Repita la contraseña de recuperación"},walletName:{label:"Nombre del monedero"}},NU={error:{e200:"La recuperación de un monedero a partir de una copia de seguridad requiere la tarjeta micro SD."},info:{description1:'Inserta la tarjeta micro SD en el BitBox y haga clic en "Continuar"',description2:'Elija una copia de seguridad y haga clic en "Restablecer"',description3:"Ingresa la contraseña de recuperación",description4:"Debes confirmar para entender que una contraseña incorrecta creará una cartera diferente.",title:"Cómo restaurar un monedero desde una copia de seguridad"}},LU={abort:"La transacción ha sido cancelada.",address:{label:"Dirección del receptor",placeholder:"Introduce dirección!"},amount:{label:"Cantidad",placeholder:"Introduzca la cantidad"},availableBalance:"Saldo disponible",button:"Revisar ",coincontrol:{address:"Dirección",outpoint:"Anotar",title:"Enviar desde salida"},confirm:{"selected-coins":"Monedas seleccionadas",title:"Confirma y envía la transacción",total:"Total"},error:{erc20InsufficientGasFunds:"Parece que no tiene suficiente Ether para pagar esta transacción ERC20. Por favor, asegúrese de que tiene suficiente Ether en su wallet.",feeTooLow:"La tarifa de red es demasiado baja",feesNotAvailable:"No se pueden estimar las tarifas de red",insufficientFunds:"fondos insuficientes",invalidAddress:"dirección inválida",invalidAmount:"Cantidad inválida",invalidData:"Datos inválidos"},fee:{customPlaceholder:"Introduzca la cantidad",label:"Tarifa de red",placeholder:"No disponible"},feeTarget:{customLabel:"Tarifa de red",customLabel_eth:"Precio del Gas",description:{economy:"24 bloques (alrededor de 4 horas para Bitcoin, 1 hora para Litecoin)",economy_eth:"30 minutos o menos",economy_ltc:"1 hora (24 bloques)",high:"2 bloques (alrededor de 20 minutos para Bitcoin, 5 minutos para Litecoin)",high_eth:"30 segundos o menos",high_ltc:"5 minutos (2 bloques)",low:"12 bloques (alrededor de 2 horas para Bitcoin, 30 minutos para Litecoin)",low_eth:"5 minutos o menos",low_ltc:"30 minutos (12 bloques)",normal:"6 bloques (alrededor de 1 hora para Bitcoin, 15 minutos para Litecoin)",normal_eth:"2 minutos o menos",normal_ltc:"15 minutos (6 bloques)"},estimate:"Tiempo de espera estimado:",label:{custom:"A medida",economy:"Económico",high:"Alto",low:"Bajo",normal:"Normal"},placeholder:"Calculando la tarifa de red..."},maximum:"Enviar todo",maximumSelectedCoins:"Enviar monedas seleccionadas",noFeeTargets:"Las estimaciones de tarifas no están disponibles actualmente. Vuelva a intentarlo más tarde o introduzca una tarifa personalizada.",priority:"Prioridad",scanQR:"Escanear código QR",signprogress:{description:"Esta es una transacción que contiene una gran cantidad de datos. Para firmar en su totalidad la transacción, se le pedirá que confirme {{steps}} veces.",label:"En curso"},success:"La transacción ha sido firmada y enviada.",title:"Envía {{accountName}}",toggleCoinControl:"Activar/Desactivar control de monedas/UTXO",transactionDetails:"Detalles de la transacción"},IU={about:"Acerca de",accounts:"Cuentas",advancedSettings:"Configuración avanzada",appearance:"Apariencia",electrum:{add:"Añadir un servidor","add-server":"Añadir",check:"Comprobar",checkFailed:"Falló",checkSuccess:"La conexión establecida con éxito a {{host}}",checking:"Comprobación","download-cert":"Descarga certificado remoto","remove-server":"Elimina",removeConfirm:"Eliminar {{server}}?",reset:"Restablecer a predeterminados",resetConfirm:"¿Desea eliminar todos los servidores e instalar los servidores predeterminados?",servers:"Servidores",step1:"1","step1-text":"Introduzca el punto final.",step2:"2","step2-text":"Introduzca un certificado de la cadena de certificados del servidor. Alternativamente, descarga el certificado remoto y compárelo visualmente.","step2-text-tcp":"Puedes omitir este paso si no quieres utilizar TLS.",step3:"3","step3-text":"Comprueba la conexión y añade el servidor.",step4:"4","step4-text":"Reinicia el monedero. Si no eliminas los servidores predeterminados, tu propio nodo se agregará como redundancia.","title-btc":"Servidores de Bitcoin Electrum","title-ltc":"Servidores de Litecoin Electrum","title-tbtc":"Servidores de Bitcoin Testnet Electrum","title-tltc":"Servidores de Litecoin Testnet Electrum"},expert:{coinControl:"Activa control de monedas",electrum:{description:"Puedes conectarte a tu propio nodo Electrum completo.",title:"Conecta tu propio nodo completo"},fee:"Activar tarifas de red personalizadas",setProxyAddress:"Establece dirección proxy",title:"Configuración avanzada",useProxy:"Activar tor proxy",useSats:"Mostrar valores BTC en Satoshis"},header:{home:"Home"},info:{"out-of-date":"Nueva actualización disponible",title:"Información","up-to-date":"Su aplicación está actualizada",version:"Versión del App"},restart:"Por favor, reinicia la BitBoxApp para que los cambios tengan efecto.",services:{title:"Servicios"},success:"Por favor desenchufa y vuelva a enchufar el BitBox para que los cambios surjan efecto.",title:"Ajustes"},$U="Dispositivo de configuración",MU={buy:"Compra criptomoneda",device:"Administra dispositivo",leave:"Salir",settings:"Ajustes"},OU={create:{info1:"Su monedero se ha respaldado de manera segura en la tarjeta micro SD. Retírelo y guárdalo en un lugar seguro. ",info2:"Has creado una contraseña de dispositivo seguro que desbloquea el BitBox.",info3:"Has creado una contraseña de recuperación segura para su monedero que desbloquea sus fondos y recupera sus copias de seguridad.",summary:"Aquí hay un resumen de lo que has hecho.",title:"Éxito"},getstarted:"Empieza",restore:{summary:"Has restaurado con éxito un monedero de su copia de seguridad.",title:"Éxito"}},RU={confirmation:"Confirmaciones",details:{activity:"Actividades",address:"Dirección",amount:"Cantidad",date:"Fecha",fiat:"Fiat",fiatAmount:"Cantidad Fiat",fiatAtTime:"Fiat en el momento de la transacción",status:"Estado",type:"Tipo"},explorer:"ID de transacción",explorerTitle:"Abrir en el bloque externo Explorer",fee:"Tarifa de red",fiatHistorical:"Historial",gas:"Gas",note:{edit:"Edita nota",save:"Guarda nota"},pending:"Transacción pendiente",size:"Tamaño",status:{complete:"Acabado",failed:"Falló",pending:"Pendiente"},tx:{received:"Recibido a",sent:"Enviado a"},vsize:"Tamaño virtual",weight:"Peso"},FU={errorLoadTransactions:"Se ha producido un error al cargar las transacciones",placeholder:"Sin transacciones todavía."},VU="Ocurrió un error desconocido: {{errorMessage}}",WU={description:"Ingresa la contraseña de tu dispositivo para desbloquear el dispositivo.",error:{e109_normal:"Contraseña incorrecta del dispositivo. {{remainingAttempts}} intentos permanecen antes de que el dispositivo se reinicie.",e109_touch:"$t(unlock.error.e109_normal) El siguiente inicio de sesión requiere mantener presionado el botón táctil.",e113:"Debido a muchos intentos de inicio de sesión, el siguiente inicio de sesión requiere mantener presionado el botón táctil durante 4 segundos."},input:{label:"Contraseña del dispositivo",placeholder:"Ingresa la contraseña de tu dispositivo para desbloquear el dispositivo"},unlocking:"Desbloqueando..."},UU={button:"Actualización de firmware",description:"¿Quieres actualizar el Firmware de la versión {{currentVersion}} a {{newVersion}}?",label:"Se requiere una actualización de firmware para tu BitBox.",locked:"Para actualizar desde {{currentVersion}} a {{newVersion}}, por favor haz un toque largo.",title:"Actualización de firmware",unlocked:"El gestor de arranque está desbloqueado. Para continuar, por favor:",unlocked1:"Desconecta y vuelva a conectar su Bitbox",unlocked2:"El LED se encenderá cuando su BitBox se vuelva a enchufar.",unlocked3:"Toque el botón táctil cuando el LED se encienda"},qU={connect:{button:"Conectar",dappLabel:"Introduzca la dirección URI de la aplicación ",invalidPairingUri:"Uri de emparejamiento no válido"},dashboard:{allSessions:"Todas las sesiones",disclaimer:"Walletconnect es un protocolo para conectarse a dapps basadas en Ethereum. Estas dapps están gestionadas por servicios de terceros, así que conéctate solo a dapps en las que confíes y asegúrate de saber siempre lo que estás firmando al realizar una transacción.",newConnection:"Nueva conexión",noConnectedSessions:"Actualmente no hay cuentas conectadas a ninguna dapps."},invalidPairingChain:"Error al aprobar el emparejamiento. Asegúrese de utilizar una de las cadenas admitidas: {{cadenas}}",pairingRequest:{approve:"Aprobar conexión",reject:"Rechazar",title:"Nueva solicitud de conexión de"},pairingSuccess:"Dapp conectada con éxito. Puede continuar en el sitio web de la dapp.",signingRequest:{account:"Cuenta",chain:"Cadena",dapp:"Dapp",data:"Datos",dataParsingError:"Error al analizar los datos",decodeError:"No se ha podido descodificar el mensaje",method:{sendTransaction:"Firmar y enviar la transacción",signMessage:"Firmar el mensaje",signTransaction:"Firmar la transacción",signTypedData:"Firmar los datos escritos"},successfullySigned:"Solicitud firmada con éxito",walletConnectRequest:"Solicitud de WalletConnect"},useNewUri:"Este URI ya ha sido utilizado para intentar una conexión. Por favor, utilice un nuevo URI.",walletConnect:"WalletConnect"},HU={receivePairing:"Por favor, sincroniza el BitBox para activar la verificación segura de la dirección. Ve a 'Administrar dispositivo' en la barra lateral.",sdcard:"Manten la tarjeta micro SD guardada aparte del BitBox, a menos que desee administrar las copias de seguridad.",sendPairing:"Por favor, sincroniza el BitBox para verificar con seguridad los detalles de la transacción. Vaya a 'Administrar dispositivo' en la barra lateral."},KU={connect:"Conecta tu BitBox02",getStarted:"Vamos a comenzar instalando el firmware en su BitBox02.",insertBitBox02:"Si estás usando BitBox02, por favor toca el dispositivo para continuar.",insertDevice:"Por favor conecta tu dispositivo para comenzar",title:"Bienvenido"},GU={account:T8,accountInfo:E8,accountSummary:P8,addAccount:N8,aopp:L8,app:I8,auth:$8,backup:M8,bb02Bootloader:O8,bitbox:R8,bitbox02Interact:F8,bitbox02Settings:V8,bitbox02Wizard:W8,blink:U8,bootloader:q8,button:H8,buy:K8,changePin:G8,chart:Q8,checkSDcard:Y8,clickHere:Z8,confirm:J8,confirmOnDevice:X8,connectKeystore:eU,darkmode:tU,device:nU,deviceLock:aU,deviceSettings:iU,deviceTampered:oU,dialog:rU,error:sU,fiat:lU,footer:cU,generic:uU,genericError:dU,goal:pU,guide:hU,headerssync:mU,hiddenWallet:fU,initialize:gU,invalidFormat:vU,language:bU,legacyhiddenwallet:kU,loading:xU,manageAccounts:yU,mobile:wU,newSettings:jU,note:BU,notification:SU,pairing:zU,passphrase:CU,password:DU,random:AU,receive:_U,reset:TU,securityInformation:EU,seed:PU,seedRestore:NU,send:LU,settings:IU,setup:$U,sidebar:MU,success:OU,transaction:RU,transactions:FU,unknownError:VU,unlock:WU,upgradeFirmware:UU,walletConnect:qU,warning:HU,welcome:KU},QU={disconnect:"Povezava je prekinjena. Poizkušam ponovno...",export:"Izvoz",exportTransactions:"Izvozite transakcije v CSV datoteko in odložite v lokalno mapo.",fatalError:"Ups, nepričakovana napaka",incoming:"Dohodni",initializing:"Pridobivam podatke iz verige blokov...",maybeProxyError:"Tor proxy omogočen. Prepričajte se, da Tor proxy deluje pravilno, ali onemogočite proxy.",reconnecting:"Povezava je prekinjena, poizkušam s ponovno vzpostavitvijo...",syncedAddressesCount:"Prešteto št. naslovov: {{count}}"},YU={address:"Naslov",buyCTA:{buy:"Kupi",buyCrypto:"Kupi kripto",information:{looksEmpty:"Denarnica je prazna.",start:"Začnite tako, da pošljete nekaj kovancev v denarnico ali jih kupite neposredno v aplikaciji BitBoxApp."}},extendedPublicKey:"Razširjen javni ključ",label:"Podatki o računu",scriptType:"Tip skripte",title:"Podatki o računu",verify:"Potrdi na napravi",xpubTypeChangeBtn:{p2pkh:"Ogled razširjenega javnega ključa P2PKH",p2tr:"Oglejte Taproot",p2wpkh:"Ogled Native Segwit","p2wpkh-p2sh":"Ogled razširjenega javnega ključa P2SH"},xpubTypeInfo:"Prikazan je {{scriptType}} razširjen javni ključ ({{current}} od {{numberOfXPubs}})"},ZU={availableBalance:"Razpoložljivo stanje",balance:"Stanje",exportSummary:"Izvozi povzetek računa v mapo za prenos, kot datoteko CSV",fiatBalance:"Stanje v fiat valuti",name:"Ime računa",noAccount:"Ni računov za prikaz.",subtotalWithCoinName:"Skupaj ({{coinName}})",title:"Moj portfelj",total:"Skupaj",transactionHistory:"Zgodovina transakcij"},JU={chooseName:{nextButton:"Dodaj račun",step:"Poimenuj račun",title:"Poimenuj račun"},selectCoin:{nextButton:"Naprej",step:"Izberi kovanec",title:"Izberi kriptovaluto"},success:{addAnotherAccount:"Dodajte nov račun",message:" {{accountName}} je zdaj dodan med vaše račune.",nextButton:"OK",step:"Zaklljučeno",title:"Račun dodan"},title:"Dodajte račun"},XU={addressRequest:"{{host}} zahteva naslov prejemnika.",addressRequestWithLogo:"zahteva naslov prejemnika",banner:"Zahteva po naslovu je v teku.",errorTitle:"Napaka med zahtevo za naslov",labelAddress:"Naslov",labelMessage:"Sporočilo",reverifyInfoText:"Potrdite naslov",signing:"Za nadaljevanje podpišite sporočilo na napravi",success:{message:"Nadaljujte na {{host}}",title:"Naslov uspešno poslan"},syncing:"Počakajte trenutek, poteka sinhronizacija računa.",title:"Zahteva za naslov"},e6={upgrade:"Na voljo je nova verzija te aplikacije! Prosimo vas, da jo nadgradite iz verzije {{current}} na {{version}}."},t6={authButton:"Potrdi",title:"Za nadaljevanje potrdite"},n6={check:{checking:"Preverjam varnostno kopijo...",confirmTitle:"Preverite varnostno kopijo",notOK:"Varnostna kopija se NE ujema s trenutno denarnico.",ok:"Varnostna kopija se ujema z denarnico.",password:{label:"Geslo za obnovo varnostne kopije",placeholder:"Geslo za obnovo varnostne kopije",showLabel:"geslo za obnovo varnostne kopije"},success:"Varnostna kopija uspešno preverjena:",title:"Preverite varnostno kopijo"},create:{alreadyExists:"Veljavno varnostno kopijo že imate. Ali jo ponovno želite ustvariti?",fail:"Ustvarjanje varnostne kopije NI uspelo!",info:"Prosimo vnesite geslo za obnovo trenutne denarnice za potrditev.",name:{label:"Ime varnostne kopije",placeholder:"Poimenujte varnostno kopijo"},password:{label:"Obnovitveno geslo",placeholder:"Prosimo vnesite obnovitveno geslo"},title:"Ustvarite varnostno kopijo - backup",verificationFailed:'Obnovitveno geslo se NE ujema s trenutno denarnico. Varnostna kopija je bila ustvarjena. Prosimo uporabite "Preverite varnostno kopijo" da potrdite geslo za obnovo.'},description:"Izberite datoteko z varnostno kopijo denarnice",insert:"Prosimo vstavite microSD kartico za upravljanje z varnostnimi kopijami.",insertButton:"Vstavil sem microSD kartico",list:"Varnostne kopije na microSD kartici",noBackups:"Na tej microSD kartici ni varnostnih kopij.",restore:{confirmTitle:"Obnovite varnostno kopijo",error:{e200:"MicroSD kartica ni bila zaznana",general:"Napaka pri obnovitvi varnostne kopije"},password:{label:"Geslo za obnovitev ali skrito geslo za obnovitev varnostne kopije",placeholder:"Geslo za obnovitev",repeatPlaceholder:"Ponovite geslo za obnovitev",showLabel:"Geslo za obnovitev"},restoring:"Obnavljanje varnostne kopije ...",selectedBackup:"{{backupName}} ustvarjen {{createdDateTime}} bo obnovljen.",title:"Obnovi",understand:"Razumem, da bo nepravilno geslo za obnovitev ustvarilo drugo, novo denarnico"},showMnemonic:{description:`Prikazano vam bo do 24 besed, ki tvorijo varnostno kopijo denarnice. Zapišite jih na papir. + +Ne hranite jih digitalno in jih ne fotografirajte. + +Ne izgovarjajte besed na glas. + +Ta varnostna kopija ni zaščitena z geslom. + +Po končanem prikazu besed boste morali vsako še potrditi na napravi.`,title:"Prikaži seznam besed",warning:"Nikoli ne delite obnovitvenih besed z nikomer. Te besede omogočajo popoln dostop do vaše denarnice. Če vas kdo sprašuje po teh besedah, gre zelo verjetno za prevaro. Ne delite jih z neznanci!"},title:"Upravljanje varnostnih kopij"},a6={abort:"Ne nadgradi - vrni me nazaj",abort_noUpgrade:"Vrni me nazaj",advanced:{label:"Napredne nastavitve",toggleShowFirmwareHash:"Ob zagonu vedno prikaži binarno vrednost strojne programske opreme (firmware hash)"},flipscreen:"Obrnite sliko na zaslonu",orientation:"Je zaslon na napravi obrnjen v napačno smer?",success:"Nadgradnja uspešna! Nadaljevanje v {{rebootSeconds}} sekundah...",success_install:"Namestitev uspešna! Nadaljevanje v {{rebootSeconds}} sekundah..."},i6={error:{e10000:"Trenutno geslo naprave je napačno.",e10001:"Gesla naprave ni bilo mogoče zamenjati",e102:"Geslo mora vsebovati najmanj 4 znake.",e112:"Geslo skrite denarnice ne more biti enako kot geslo glavne denarnice."}},o6={confirmDate:"Potrdite današnji datum na BitBox02",confirmDateText:"Vnešen datum bo uporabljen za kreiranje varnostne kopije.",confirmName:"Potrdite ime na zaslonu BitBox02",confirmWords:"Zapišite si {{amount}} obnovitvenih besed iz vašega BitBoxa",confirmWordsText:"Po tem koraku BitBox02 zahteva potrditev vsake besede na zaslonu, da se prepričate, da ste varnostno kopijo zapisali pravilno.",followInstructions:"Prosimo upoštevajte navodila na zaslonu naprave.",followInstructionsMnemonic:"Upoštevajte navodila za obnovitev iz seznama besed na napravi in obnovite denarnico.",followInstructionsMnemonicTitle:"Obnovi iz seznama besed"},r6={deviceName:{current:"Trenutno ime naprave",error:"Imena naprave ni bilo mogoče nastaviti",error_104:"Potrditev imena je bilo prekinjeno na napravi",input:"Novo ime",placeholder:"Novo ime naprave",title:"Nastavite ime tej napravi"},gotoStartupSettings:{description:"To bo znova zagnalo vaš BitBox02 in začelo nastavitev zagona.",title:"Pojdite na začetne nastavitve"}},s6={advanced:{button:"Napredne možnosti",outOfDate:"Strojna programska oprema (firmware) je prestara za to funkcijo",seed12WordInfo:"Število besed kasneje ni možno spremeniti.",seed12WordLabel:"Ustvari 12 besedno seme namesto 24 besednega",seed12WordText:"BitBox privzeto uporablja 24 besedno seme. Na voljo je tudi 12 besedno seme. Obe podprti dolžini semena sta dovolj varni proti strojnemu uganjevanju (brute force). ",skipSDCardLabel:"Ne ustvari varnostne kopije na micro SD kartico ampak prikaži semenske besede",skipSDCardText:"Kasneje lahko vedno ustvarite varnostno kopijo na micro SD kartico ali ponovno prikažete semenske besede. To opcijo najdete v Nastavitvah.",title:"Napredne možnosti arhivske kopije"},attestationFailed:"Preverjanje ni uspelo, kar je lahko posledica ponovnega zagona aplikacije, medtem ko je naprava čakala na uporabniški vnos (dotik). Napravo znova vklopite in poskusite znova. Če težava ne izgine, se obrnite na support@bitbox.swiss (v angleščini).",backup:{point1:"Izberite varnostno kopijo na microSD kartici",point2:"Nastavite geslo za svojo napravo",restoreText:"Ok, obnovimo varnostno kopijo!",text1:"Super, vaše geslo za BitBox02 je zdaj nastavljeno in denarnica je ustvarjena. Zdaj je čas, da ustvarite prvo varnostno kopijo. Prepričajte se, da je microSD kartica vstavljena v BitBox02 in nato nadaljujte.",text2:"Če želite ustvariti varnostno kopijo, sledite navodilom na zaslonu naprave.",text3:"Ko ustvarite varnostno kopijo, odstranite microSD kartico in jo shranite na varno lokacijo. Vsebina kartice ni zaščitena z geslom. Nikoli je ne vstavite v nobeno drugo napravo, razen v vaš BitBox02.",userConfirmation1:"Varnostno kopijo je potrebno hraniti na varnem mestu",userConfirmation2:"Moja varnostna kopija ni zaščitena z geslom. Vsak, ki ima dostop do nje, lahko dostopa do moje denarnice.",userConfirmation3:"Če izgubim ali poškodujem svoj BitBox02, je edini način, da povrnem svoja sredstva, obnovitev iz varnostne kopije.",userConfirmation4:"Če izgubim ali poškodujem tako varnostno kopijo kot svoj BitBox02, so moja sredstva izgubljena.",userConfirmation5:"Ustvarjeno varnostno kopijo na microSD kartici ne smem vtakniti v PC, telefon, tiskalnik ali katero koli drugo napravo razen v BitBox02.",userConfirmation5mnemonic:"Semenskih besed NE bom vpisoval v računalnike, telefone, tablice ali katere koli druge naprave, kot le v BitBox02."},create:{button:"Poimenujte napravo in nadaljujte",info:"To so osnovni koraki, ki jih boste izvedli za nastavitev BitBoxa: ",inputTitle:"Ime denarnice",point1:"Poimenujte napravo",point2:"Izberite si geslo za svojo napravo",point3:"Ustvarite varnostno kopijo",text:"Ok, pa ustvarimo novo denarnico!"},createBackupAborted:"Kreiranje varnostne kopije je prekinjeno.",createBackupFailed:"Ustvarjanje varnostne kopije ni uspelo, poskusite znova.",initialize:{passwordText:"Zdaj pa določite geslo za vašo napravo. Za vnos in izbiro gesla uporabite kontrolne drsnike na BitBoxu.",passwordTitle:"Nastavite geslo za vaš BitBox",text:"Seznanjanje je bilo uspešno! Zdaj pa pripravimo vašo napravo. Začnite z ustvarjanjem nove denarnice ali obnovitvijo denarnice iz obstoječe varnostne kopije. Prepričajte se, da imate v BitBox02 vstavljeno microSD kartico ",tip:"Priporočamo vam, da te postopke opravite v varnem in zasebnem okolju.",title:"Zaženite in nastavite BitBox02"},insertSDCard:"Prepričajte se, da imate v BitBox02 vstavljeno microSD kartico.",noPasswordMatch:"Gesli se nista ujemali. Poskusite znova.",pairing:{failed:"Seznanjanje je bilo prekinjeno. Ponovno priklopite BitBox02.",paired:"Na napravi ste potrdili, da se koda ujema. Prosimo nadaljujte.",title:"Potrditev seznanitvene kode",unpaired:"Zaznana je bila nova BitBox02 naprava. Preverite, ali se prikazana koda ujema s tisto na zaslonu naprave."},restoreFromMnemonic:{e104:"Ponastavitev iz semenskih besed je bilo ustavljeno.",failed:"Obnova iz seznama besed ni uspela. Poskusite znova."},stepBackup:{beforeProceed:"Pred nadaljevanjem preberite naslednje pomembne varnostne vidike:",createBackup:"Zdaj boste ustvarili varnostno kopijo na microSD kartici .",createBackupMnemonic:"Zdaj zapišite semenske besede na papir ali jeklo"},stepBackupSuccess:{fundsSafe:"Če želite ohraniti sredstva varna, upoštevajte naslednje:",title:"Varnostna kopija obnovljena!"},stepConnected:{unlock:"Vnesite izbrano geslo, kot ponazarja video"},stepCreate:{description:"To ime je uporabljeno kot ime naprave in ime varnostne kopije.",nameLabel:"Vnesite željeno ime naprave",namePlaceholder:"Moj BitBox02",title:"Izberite ime za vaš BitBox02",toastMicroSD:"Vstavite microSD kartico v BitBox02. Na njo bo zapisana varnostna kopija denarnice."},stepCreateSuccess:{removeMicroSD:"Odstranite microSD kartico z naprave in jo shranite na varno mesto.",storeMnemonic:"Predlagamo, da shranite te obnovitvene besede na varno lokacijo",success:"Uspešno ste ustvarili varnostno kopijo."},stepInsertSD:{insertSDCard:"Vstavite microSD kartico v BitBox02.",insertSDcardTitle:"Vstavite microSD kartico"},stepPassword:{e104:"Nastavitev gesla je bila prekinjena.",title:"Nastavite geslo za BitBox02",useControls:"S pomočjo drsnikov na robu naprave si nastavite geslo."},stepUninitialized:{create:"Želim postaviti nov BitBox02.",restore:"Želim obnoviti denarnico iz varnostne kopije.",restoreMicroSD:"Obnovi iz microSD kartice",restoreMnemonic:"Obnovi iz seznama besed",title:"Nastavite svoj BitBox02"},success:{text:`Bravo! Vaš BitBox02 je zdaj pripravljen za uporabo. + +Za dodatne informacije o uporabi aplikacije BitBoxApp uporabite vodnik. Na voljo je s klikom na vprašaj v zgornjem desnem kotu.`,title:"Zdaj ste pripravljeni za delo z BitBox denarnico!"}},l6={button:"Sproži utripanje na napravi"},c6={button:'Nadgradi "firmware"',button_install:"Namestite firmware",progress:"Nadgrajujem: {{progress}}%",progress_install:"Nameščanje: {{progress}}%",success:"Nadgradnja uspešna! Izključite in ponovno priključite napravo v USB režo. Tokrat se ne dotikajte gumba."},u6={abort:"Prekini",back:"Nazaj",buy:"Kupi",changepin:"Spremenite geslo naprave",check:"Preverite varnostno kopijo",continue:"Nadaljujte",copy:"Kopiraj",create:"Ustvari",dismiss:"Zavrnite",done:"Potrdi izbiro",download:"Prenesi",hiddenwallet:"Ustvarite skrito denarnico",next:"Naprej",ok:"OK",previous:"Nazaj",receive:"Prejmi",restore:"Obnovi",select:"Izberite",send:"Pošlji",unlock:"Odklenite denarnico",update:"Osveži",upgrade:"Nadgradi"},d6={exchange:{bankTransfer:"Bančno nakazilo",bestDeal:"Najboljša ponudba",creditCard:"Kreditna karica",fast:"Hitro",fee:"provizija",infoContent:{moonpay:{fees:{bankTransfer:"Bančno nakazilo: {{fee}}%",creditDebitCard:"Kreditna/debetna kartica: {{fee}}%",learnMore:"Več o storitvi MoonPay",title:"Provizije"},fullCurrenciesList:"Tu je na voljo seznam vseh valut",payment:{asteriskText:"* Ni na voljo za rezidente ZDA",bankTransfer:"Bančno nakazilo*",bankTransferDetails:{pix:"PIX (BR transakcije, samo v Braziliji)",sepa:"SEPA in SEPA Instant (samo EUR transakcije v državah SEPA)",uk:"UK Faster Payments (samo GBP transakcije v Združenem kraljestvu)"},creditDebitCard:"Kreditna/debetna kartica",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa in Maestro"},learnMore:"Oglejte si podrobnosti o načinih plačila",title:"Načini plačila"},supportedCurrencies:"Podpira vse glavne fiat valute: USD, EUR, CHF in druge"},pocket:{fees:{info:"Bančno nakazilo: {{fee}}%",title:"Provizije"},learnMore:"Več o storitvi Pocket",payment:{bankTransfer:"Bančno nakazilo",bankTransferDetails:{sepa:"SEPA in SEPA instant (transakcije v EUR znotraj SEPA podprtih držav)",sic:"Švicarska medbančna poravnava (samo za transakcije v CHF v CH/LIE)",uk:"UK Faster Payments (samo transakcije v GBP v UK)"},bankTransferReccuring:"Kako nastavimo ponavljajoče nakupe z enim naročilom?",title:"Načini plačila"},supportedCurrencies:"Podpira evropske valute: EUR, GBP in CHF",verification:{info:"Preverjanje identitete je zahtevano le nad dnevnim in letnim limitom.",link:"Trenutni limiti",title:"Preverjanje identitete"}},region:{title:"Izberite regijo, v kateri je registriran vaš bančni račun, da vidite možnosti, ki so vam na voljo."}},noExchanges:"V tej regiji žal ni razpoložljivih menjalnic.",region:"Regija",selectRegion:"Ni navedeno",title:"Kupi {{name}}"},info:{continue:"Potrdi in nadaljuj",crypto:"kripto",disclaimer:{intro:["V sodelovanju z MoonPay vam ponujamo možnost nakupa {{name}} neposredno znotraj BitBoxApp. S samo nekaj kliki.","MoonPay je regulirana platforma za finančne storitve, ki omogoča preprost in hiter nakup {{name}} v več kot 160 državah"],payment:{details:"{{name}} je možno kupiti takoj prek storitve MoonPay z naslednjimi načini plačila. Plačila s kreditno ali debetno kartico so takojšnja in priročna, vendar dražja. Za večje zneske priporočamo uporabo bančnega nakazila. Minimalna pristojbina je 4 EUR.",footnote:"Menjalni tečaji storitve MoonPay se lahko razlikujejo od tistih, ki se uporabljajo v BitBoxApp.",table:{"1_description":"Najnižja provizija, lahko traja do 3 delovne dni","1_method":"Bančno nakazilo (SEPA)","2_description":"Višja provizija a takojšnja izvršitev","2_method":"Kreditna ali debetna kartica",description:"Opis",fee:"Provizija",method:"Način plačila"},title:"Načini plačila in provizije"},privacyPolicy:"Politika zasebnosti storitve MoonPay",protection:{description:`BitBoxApp ne zbira nobenih podatkov ob nakupu preko MoonPay. +Prilivi se obravnavajo in so prikazani kot običajna transakcija. MoonPay za svoje delovanje zbira nekaj osebnih podatkov. Njihova politika zasebnosti podrobno pojasnjuje, kako ravna s temi podatki.`,descriptionGeneric:"Aplikacija BitBoxApp ne zbira podatkov ob nakupu {{name}}, vhodna sredstva se obravnavajo kot običajna transakcija. Pričakujemo, da morajo partnerske borze zbrati nekaj vaših informacij za njihovo poslovanje. Oglejte si njihove pravilnike o zasebnosti, da vidite kako postopajo z vašimi podatki.",title:"Zaščita podatkov"},security:{description:"Za nakup {{name}} preko MoonPay uporabljate zunanjo storitev. Ta storitev ne sodi v obseg zaščite, ki jo nudi BitBox02 in temelji na varnosti in zaščiti okolja, v katerem deluje programska oprema BitBoxApp.",descriptionGeneric:"Pojasnilo: Ko uporabite partnerske menjalnice za nakup {{name}}, uporabljate zunanjo storitev. Le-ta ni del naše varnostne politike in ni del zaščite, ki jo ponuja BitBox02 temveč je odvisna od okolja (operacijski sistem, omrežje) na katerem uporabljate BitBoxApp.",link:"Več o varni uporabi",title:"Model varnostnega sistema"},title:"Dobrodošli! Ste na pravem na mestu za nakup {{name}}"},next:"Naprej",selectLabel:"Izberite svoj račun",selectPlaceholder:"Izberi kovanec",skip:"Ne prikazuj več",title:"Kupi {{name}}"},pocket:{data:{link:"Varovanje zasebnosti storitve Pocket",p1:"Aplikacija BitBoxApp ne zbira podatkov ob nakupu bitcoina, vhodna sredstva se obravnavajo kot običajna transakcija. Pocket mora za svoje delovanje zbrati nekaj vaših osebnih podatkov. Njihov pravilnik o zasebnosti podrobno pojasnjuje, kako ravnajo s temi podatki.",title:"Varovanje podatkov"},kyc:{link:"Preberite FAQ (odgovore na pogosta vprašanja) storitve Pocket",p1:"Storitev Pocket skuša število postopkov za KYC (know-your-customer; prepoznavo kupca) opraviti v najmanjši možni meri. Za nakupe pod 1000 CHF na dan dodatni dokumenti niso potrebni. Za nakupe nad tem zneskom se boste morali dogovoriti za klic z družbo Pocket, da opravite potreben postopek KYC/AML.",title:"KYC/AML"},payment:{p1:"Bitcoin lahko zelo hitro kupite s storitvijo Pocket z bančnim nakazilom tipa SEPA. Provizija znaša 1,5 %, bitcoin pa se v vašo denarnico nakaže takoj, ko Pocket prejme vaše bančno nakazilo (običajno v istem dnevu).",p2:"Upoštevajte, da se lahko menjalni tečaji v aplikaciji BitBoxApp razlikujejo od menjalnih tečajev v aplikaciji Pocket, zaradi česar so zneski nekoliko drugačni.",title:"Načini plačila in provizije"},previousTransactions:"Zgodovina transakcij tega računa ni prazna. Če boste ta račun delili, bodo vse pretekle in prihodnje transakcije na njem vidne storitvi Pocket. Ali vseeno nadaljujete?",security:{link:"Model varnosti in zaščite BitBox02",p1:`Ob nakupu bitcoina preko storitve Pocket, uporabljate zunanjo storitev. Le-ta je izven zaščite, ki jo nudi BitBox02. Varnost in zaščita sta odvisna od okolja v katerem uporabljate BitBoxApp. +Skupaj s storitvijo Pocket delujemo na način, da z dvofaktorsko avtentikacijo preverjamo naslov na katerega prejemate bitcoin.`,title:"Varnostni model storitve Pocket"},usedAddress:"Naslov {{address}} je bil že uporabljen. Prosimo začnite ponovno.",verifyBitBox02:"Preverite, ali se naslov, ki ste ga prejeli po e-pošti, ujema z naslovom, prikazanim na napravi. Še bolj varno je, da e-poštno sporočilo odprete in preberete v drugi napravi, če je to mogoče.",welcome:{p1:"S storitvijo Pocket sodelujemo, da bi vam omogočili enostaven način nakupa bitcoina neposredno v BitBoxApp. V le nekaj klikih.",p2:"Pocket je Švicarska platforma ki omogoča hiter in enostaven nakup bitcoina v večini Evropskih držav.",p3:"S storitvijo Pocket lahko enostavno vzpostavite redni intervalni nakup bitcoina s pomočjo rednih bančnih nakazil. T.i. DCA (dollar-cost averaging) ",title:"Dobrodošli na pravem mestu za nakup bitcoinov"}},title:"Kupi {{name}}"},p6={newTitle:"Novo geslo naprave",oldLabel:"Trenutno geslo naprave"},h6={dataMissing:"Še vedno pridobivamo informacije. Poskusite znova čez nekaj minut. Čiči pa čaki™",dataOldTimestamp:"Nalagamo tečaje. Graf ne prikazuje vrednosti po {{time}}.",dataUpdating:"posodabljam...",filter:{all:"Vse",month:"Mesec",week:"Teden",year:"Leto"}},m6="preverjanje microSD kartice",f6="Kliknite tukaj.",g6={abortInfo:"Hiter dotik za ",abortInfoRedText:"prekinitev",approveInfo:"Dotaknite se gumba za vsaj 4 sekunde ",approveInfoGreenText:" za potrditev",info:"Nadaljujte na BitBoxu.",infoWhenPaired:"Najprej na seznanjeni mobilni napravi in ​​nato na BitBoxu"},v6="Nadgradnjo potrdite na BitBox-u",b6={promptNoName:"Za nadaljevanje priklopite BitBox02",promptWithName:'Za nadaljevanje priklopite vaš BitBox02 z imenom "{{name}}"'},k6={toggle:"Temen način"},x6={appUpradeRequired:"BitBox ni združljiv s to verzijo namizne aplikacije. Prenesite in namestite najnovejšo različico."},y6={button:"Omogočite dvofaktorsko avtentikacijo (2FA)",condition1:"Imate varnostno kopijo?",condition2:"Ali deluje preverjanje v mobilni aplikaciji?",condition3:"2FA ONEMOGOČA varnostne kopije in seznanjanje z mobilno aplikacijo. Naprava mora biti resetirana za izhod iz dvofaktorskega (2FA) načina!",confirm:"Omogočite dvofaktorsko avtentikacijo (2FA)",title:"Omogočite dvofaktorsko avtentikacijo (2FA)"},w6={backups:{manageBackups:{description:"Prikaži in preveri varnostno kopijo na Micro SD kartici."},showRecoveryWords:{description:"Prikaži in potrdi semenske besede."},title:"Varnostne kopije"},deviceInformation:{attestation:{description:"BitBoxApp preverja, če je naprava avtentična."},deviceName:{description:"Spremenite ime naprave"},rootFingerprint:{description:"Korenski prstni odtis je unikaten identifikator denarnice, ki je trenutno v uporabi. Če uporabljate frazemska gesla (passphrases), vam lahko pomaga pri razlikovanju med različnimi denarnicami."},securechip:{description:"Model varnega čipa"},title:"Informacije o napravi"},expert:{factoryReset:{description:"Ponastavite napravo na tovarniške nastavitve. Ta postopek izbriše denarnico na BitBoxu.",title:"Tovarniška nastavitev"},goToStartupSettings:{description:'Vstopite v način "bootloader" na napravi. S tem lahko omogočite prikaz zgoščene vrednosti strojne programske opreme (firmware hash).'},passphrase:{description:"Vklopi ali izklopi možnost geselske fraze",title:"Geselska fraza"}},firmware:{firmwareVersion:"Različica strojne programske opreme (firmware)",newVersion:{label:"Razpoložljiva različica"},title:"Verzija strojne programske opreme (firmware)",upToDate:"Vaša naprava je posodobljena",upgradeAvailable:"Na voljo je nova nadgradnja",version:{label:"Različica"}},hardware:{attestation:{false:"Preverjanje pristnosti ni uspelo",label:"Preverjanje pristnosti",true:"BitBox02 je pristen!"},sdcard:{false:"Ni vstavljena",label:"microSD kartica",true:"Vstavljena"},securechip:"Verzija varnega čipa",title:"Naprava"},loading:"Pridobivam informacije o napravi ...",pairing:{lock:{false:"Onemogočeno",label:"Dvo faktorska avtentikacija (2FA)",true:"Omogočeno"},mobile:{false:"Zaprto",label:"Mobilna aplikacija",true:"Odpri"},status:{false:"Ni uparjen",label:"Status",true:"Uparjen"},title:"Seznanjanje (uparitev)"},secrets:{manageBackups:"Upravljanje varnostnih kopij",title:"Varnost"}},j6=`Ali ste prejeli BitBox skupaj z geslom za obnovitev? +Če je tako, takoj zaustavite postopek namestitve in stopite v stik z nami. +Shift nikoli ne izroča pred-pripravljene denarnice ali pred pripravljenih gesel.`,B6={cancel:"Nazaj",confirm:"Potrdite",confirmTitle:"Potrditev"},S6={accountAlreadyExists:"Ta račun že obstaja.",accountLimitReached:"Novega računa ni mogoče dodati. Doseženo je največje število računov za ta kovanec.",aoppCallback:"Napaka pri dostavi naslova do {{host}}.",aoppInvalidRequest:"Napačna poizvedba",aoppNoAccounts:"Nobenega računa ni na razpolago.",aoppSigningAborted:"Aopp postopek preklican",aoppUnknown:"Neznana napaka...",aoppUnsupportedAsset:"Izbrano sredstvo ni podprto.",aoppUnsupportedFormat:"Na voljo ni računov, ki podpirajo zahtevano obliko naslova.",aoppUnsupportedKeystore:"Povezana naprava ne more podpisati sporočil za to sredstvo",aoppVersion:"Neznana različica",wrongKeystore:"Priključena je napačna denarnica. Vstavite pravo napravo BitBox02, ki ustreza temu računu.",wrongKeystore2:"Če uporabljate frazemsko geslo (passphrase), se prepričajte, da ste ga pravilno vnesli za ta račun."},z6={default:"Privzeto",setDefault:"Nastavite {{code}} kot privzeto",title:"Valute"},C6={appVersion:"Različica aplikacije:"},D6={enabled_false:"Onemogočeno",enabled_true:"Omogočeno"},A6="Pojavila se je napaka. Če opazite kakršne koli težave, znova zaženite aplikacijo.",_6={buttons:{create:"Ustvarite novo denarnico",restore:"Obnovite denarnico iz varnostne kopije"},paragraph:"Izberite eno od naslednjih možnosti:",step:{1:{title:"Varnostne informacije"},2:{description:"Ustvarite geslo naprave",title:"Naprava"},"3-create":{description:"Ustvarite novo denarnico",title:"Denarnica"},"3-restore":{description:"iz varnostkopije",title:"Obnovi"},"4-create":{title:"Povzetek"},"4-restore":{title:"Povzetek"}}},T6={accountDescription:{text:"To je pregled vašega računa. Prikazuje dohodne in odhodne transakcije. Stanje je prikazano za vsak račun posebej. Oglejte si pomoč v Nastavitvah, če želite izvedeti več o različnih vrstah računov.",title:"Kaj mi prikazuje ta stran?"},accountFiat:{text:"Seveda, kliknite na oznako valute in jo zamenjate. V nastavitvah lahko določate seznam valut, ki se prikazujejo tu.",title:"Ali lahko preverim vrednost v drugih fiat valutah?"},accountIncomingBalance:{text:"Tu je zbrana vsota zneskov, ki se prenašajo na vaš račun, vendar jih omrežje še ni potrdilo.",title:"Kaj pomeni dohodni?"},accountInfo:{multipleXPubs:{text:`Vsak xpub (razširjen javni ključ) je vezan na prikazan tip naslova: "Native Segwit (bech32)", "Wrapped Segwit" ali "Taproot" (samo za Bitcoin). To so vrste skript, ki jih uporablja {{coinName}}. Aplikacija BitBoxApp jih združuje in podpira več vrst skript na istem računu. Ker vsaka vrsta skripta daje drugačen xpub, je na računu več xpubov. + +Če sredstva stalno prejemate na privzeti naslov (Native Segwit), potrebujete samo "bech32" xpub. Če pa sredstva prejemate tudi na tip naslova "Wrapped Segwit" ali "Taproot", morate uporabiti tudi razširjene javne ključe "Wrapped Segwit" oziroma "Taproot".`,title:"Zakaj je tu več xpub-ov?"},privacy:{text:`xpub ali razširjen javni ključ za določen račun, razkriva celotno finančno zgodovino tega računa: transakcije v preteklosti, stanje računa in prihodnje transakcije. Dostop do xpub-a pa nikomur ne omogoča premika vaših kovancev. + +V kolikor nekomu posredujete xpub se morate zavedati, da lahko ta oseba ali podjetje vidi vse dogajanje na temu računu (za vsak naslov tega računa). Premislite torej katera in koliko sredstev boste upravljali na računu, ki ga dajete nekomu na vpogled.`,title:"Ali moram svoje xpub-e ohraniti zasebne in na varnem?"},verify:{text:"Da, vedno je dobro dvakrat preveriti xpub. Če bo nekdo drug iz tega xpub-a ustvaril naslove za prejemanje in vam pošiljal denar, je to še posebej pomembno. Preveriti ga morate na napravi, da se prepričate, da ta xpub pripada vam. V nasprotnem primeru bi lahko vsa sredstva šla na napačne naslove (ki si jih morda ne lastite vi).",title:"Ali moram preveriti xpub na napravi?"},xpub:{text:`Razširjeni javni ključ (xpub) je osnovni ključ, iz katerega izhajajo vsi prejemni naslovi računa. +Tu jih prikazujemo za namene napredne uporabe, kot na primer za uporabo v opazovalnih denarnicah (watch only wallets), kot sta Electrum ali Sentinel. Če imate prejeme sredstev na različne tipe naslovov, uporabite "xpub" vseh tipov naslovov, da jih boste lahko videli vse svoje kovance v teh denarnicah. + +Pozor, nekatere denarnice še ne podpirajo vseh tipov naslovov, kot je npr Taproot.`,title:"Kaj je razširjeni javni ključ?"}},accountRates:{text:"Menjalni tečaji se vsako minuto posodobijo s strani CoinGecko.",title:"Od kod izvirajo prikazani menjalni tečaji?"},accountReload:{text:"Vsi podatki o transakcijah se posodabljajo samodejno.",title:"Kako lahko ponovno naložim zgodovino transakcij?"},accountSendDisabled:{text:"Gumb »Pošlji« se aktivira, ko je stanje večje od nič.",title:"Zakaj ne morem poslati nobenega {{unit}}?"},accountSummaryAmount:{text:`Skupni znesek je vsota vseh vaših kripto računov. Menjalni tečaji so na voljo na spletnem mestu coingecko.com. + +Opomba: Če MyEtherWallet uporabljate za žetone, ki jih BitBoxApp ne podpira, ti ne bodo vključeni v prikazani znesek.`,title:"Kako se izračunava skupni znesek?"},accountSummaryDescription:{text:"Tu si lahko ogledate gibanje vašega skupnega portfelja skozi čas. Povzetek posameznih računov je prikazan pod grafom.",title:"Kaj prikazuje ta stran?"},accountTransactionAttributesBTC:{text:`Virtualna velikost: Uporablja se za določanje omrežnine. Na omrežnini ste uspešno prihranili, ko je ta manjša od velikosti transakcije. +Velikost: Dejanska velikost transakcije v bajtih, ko je serializirana glede na izbrano verigo blokov. +Teža: Uvedena s sistemom Segwit, je nova metrika za ovrednotenje velikosti transakcij in blokov. Vsak bajt "segregated witness" šteje kot ena, vsi ostali kot štiri enote teže. Namesto enega megabajta dejanske velikosti je zdaj nova omejitev velikosti blokov na štiri milijone enot teže.`,title:"Kako je s podatki o Bitcoin transakcijah?"},accountTransactionAttributesGeneric:{text:`Potrditve: Ko se transakcija objavi v omrežju, je sprva nepotrjena. Počakati je potrebno da jo nek rudar vključi v blok in s tem potrdi (rudari). Po tem bo imela transakcija 1 (eno) potrditev. Vsak novi blok, ki se objavi v omrežju s to transakcijo, doda še eno potrditev. V splošnem velja, da trgovci in drugi prejemniki, kot dokončne sprejemajo samo transakcije s 3 do 6 potrditvami. +ID transakcije: Unikatna identifikacijska številka transakcije, ki jo lahko uporabite za iskanje v raziskovalcih verige blokov. +Omrežnina: Rudarjem se plača omrežnina (provizija), kot spodbuda za vključitev transakcij v bloke, ki jih rudarijo oz izračunavajo. +Če želite izvedeti več, kliknite gumb Pošlji.`,title:"Kaj je prikazano v podatkih o transakcijah?"},accountTransactionConfirmation:{text:"To je transakcija, ki je že objavljena v omrežju, vendar še ni potrjena.",title:"Kaj je nepotrjena transakcija?"},accountTransactionLabel:{text:"To je naslov, na katerega ste prejeli kovance ali iz njega kovance poslali.",title:"Kateri naslov je prikazan za vsako transakcijo?"},accountTransactionTime:{text:"Zabeležen čas, ko je transakcija potrjena v verigi blokov (v blockchainu).",title:"Kateri čas je prikazan?"},accounts:{howManyAccounts:{text:"Za Bitcoin in Litecoin lahko odprete več računov. Po petih odprtih računih, lahko dodate novega le če je zadnji že v uporabi. Pri vseh preostalih kovancih podpiramo največ pet računov.",title:"Koliko računov lahko ustvarim?"},howtoAddTokens:{text:"Žetoni, ki uporabljajo standard ERC20, so vezani na določen Ethereum račun. Če želite omogočiti ali onemogočiti določen žeton, odprite »Upravljanje računov«, razširite račun Ethereum in vklopite ali izklopite želeni žeton.",title:"Kako lahko dodam dodatne žetone?"},moveFunds:{text:"Lahko a z običajno transakcijo, iz enega naslova na drugega. Računi so neodvisni med seboj, zato drugačna pot ni mogoča.",title:"Ali je možno premikati sredstva med računi?"},recoverAccounts:{text:"Da. BitBoxApp ustvarja račune z uveljavljenimi standardi, združljivimi z večino drugih kripto denarnic.",title:"Ali lahko obnovim račune na drugih denarnicah?"},whatAreAccounts:{text:"Vaša denarnica lahko upravlja več računov istega kovanca. Računi so koristni, če želite sredstva hraniti ločeno.",title:"Kaj so računi?"},whyIsThisUseful:{text:'Računi so odlični za upravljanje sredstev za različne ljudi ali namene, ker so ločeni. Svoj "razširjeni javni ključ" računa lahko delite, ne da bi razkrili česarkoli o svojih drugih računih. To vam omogoča večkratno prejemanje sredstev brez ponovne uporabe naslovov, na primer prejemanja plače ali rednega nakupa kriptovalut.',title:"Zakaj je to uporabno?"}},appendix:{link:"Kontaktirajte nas!",text:"Imate še kakšno vprašanje?"},backups:{check:{text:"»Preverba varnostne kopije« služi preverjanju, ali imate pravilno ustvarjeno in aktualno varnostno kopijo, ki ustreza vaši trenutni denarnici. To uporabite tudi za preverjanje vašega gesla za obnovitev.",title:'Kaj je "Preverba varnostne kopije"?'},encrypt:{text:"Ne, vendar je geslo za obnovo potrebno za pridobitev denarnice iz shranjenega semena.",title:"Ali lahko kriptiram varnostno kopijo?"},howOften:{text:`Varnostna kopija se ustvari samodejno, ko ustvarite novo denarnico. Novo varnostno kopijo morate ustvariti le v primeru, če je vaša microSD kartica z aktualno varnostno kopijo izgubljena, poškodovana ali če želite več varnostnih kopij. +Po posameznih transakcijah vam ni treba ustvarjati novih varnostnih kopij! +Vse transakcije, ki ste jih naredili po kreiranju varnostne kopije, lahko obnovite z eno samo varnostno kopijo.`,title:"Kako pogosto moram narediti varnostno kopijo?"},whatIsABackup:{text:"Gre za kopijo semena ki jo naprava shrani na microSD kartico. Seme, skupaj z vašim geslom za obnovitev, ustvari denarnico.",title:"Kaj je varnostna kopija?"}},backupsBB02:{check:{text:"To preverjanje vam omogoča, da ugotovite, ali imate delujočo varnostno kopijo, ki ustreza trenutni denarnici.",title:'Kaj je "Preveri varnostne kopije"?'},encrypt:{text:"Ne. Prosimo, hranite microSD kartico na varnem mestu, saj vsebuje nešifrirano seme (seed) za obnovitev denarnice. Če želite zaščititi svoje seme z geselsko frazo, jo lahko omogočite v naprednih nastavitvah v razdelku Upravljanje naprave.",title:"Ali lahko šifriram varnostno kopijo?"},whatIsABackup:{text:"Gre za kopijo semena na microSD kartici.",title:"Kaj je varnostna kopija?"}},bitbox:{"2FA":{text:`Ko je 2FA omogočena, je potrebno na uparjenem telefonu odobriti vse izvedene transakcije, da bi premaknili kovance. +V ozadju se kriptirana unikatna vrednost pošlje v aplikacijo na telefonu, se tam dešifrira in ko pritisnete gumb "Sprejmi" se vrne v BitBox. Komunikacija z napravo se izvaja preko kanala, ki je bil vzpostavljen med uparjevanjem s telefonom, in to namizno aplikacijo. + +POZOR: Predno omogočite 2FA, bodite pozorni, da varnostno kopirate svojo denarnico in uparite telefon. Ko je 2FA omogočena, je namreč microSD kartica onemogočena in uparjevanje s telefonom ni možno. To dvoje lahko znova omogočite le po ponastavitvi BitBox01, ki izbriše napravo (in s tem denarnico)!`,title:"Kako deluje dvofaktorska avtentikacija (2FA)?"},disable2FA:{text:`Če želite onemogočiti 2FA, morate ponastaviti (resetirati) in s tem izbrisati denarnico na BitBox-u in jo nato obnoviti iz varnostne kopije. Prepričajte se, da imate še vedno microSD kartico z varnostno kopijo in shranjeno veljavno in pravilno geslo za obnovo te denarnice. +Šele nato pritisnite »Ponastavi napravo«. Nastavite novo geslo naprave in izberite »Obnovite varnostno kopijo«. Izberite pravo varnostno kopijo, ki ste jo naredili iz denarnice, kliknite »Obnovi« in vnesite geslo za obnovitev, ki ste ga kreirali pri ustvarjanju denarnice.`,title:"Kako onemogočim dvo faktorsko avtentikacijo (2FA)?"},ejectBitbox:{text:"BitBox lahko izklopite kadarkoli oz. iztaknete iz USB vhoda.",title:"Kako lahko odklopim BitBox?"},ejectSD:{text:"MicroSD lahko odstranite iz BitBoxa kadarkoli, razen, ko ste v procesu ustvarjanja ali obnavljanja varnostne kopije.",title:"Kdaj lahko odstranim microSD kartico?"},hiddenWallet:{text:"Gre za drugo denarnico na isti napravi, zaščiteno z različnim geslom naprave in obnovitvenim geslom, ki ga lahko uporabite za verodostojno zanikanje. Enako rezervno seme se uporablja za normalno in skrito denarnico, zato dodatna varnostna kopija ni potrebna.",title:"Kaj je skrita denarnica?"},legacyHiddenWallet:{text:"Najprej kliknite spodnji gumb (na voljo le, če je BitBox odklenjen z glavnim geslom naprave in je 2FA onemogočen), nato ponovno vklopite Bitbox in ga odklenite s svojim alternativnim geslom naprave.",title:"Kako dostopam do skrite denarnice?"},pairing:{text:"Ko naložite našo mobilno aplikacijo za iOS ali Android, skenirajte prikazano QR kodo, ki vzpostavi varen kanal med mobilno aplikacijo in to aplikacijo. Poskenirajte in sledite navodilom v mobilni aplikaciji.",title:"Kako varno uparite BitBox01 s telefonom"}},cointracking:{text:'Kliknite gumb "Izvozi" in odprite mapo za prenose, v kateri boste našli izvoz v .CSV datoteki. Nato kliknite spodnjo povezavo, naložite to .CSV datoteko in uvozite podatke, da jih boste lahko uporabili za storitev CoinTracking in za pripravo davčnih poročil (samo za določene države!).',title:"Kako uvozim svoje transakcije v storitev CoinTracking?"},device:{attestation:{link:{text:"Preberite si več o preverjanju pristnosti"},text:"Aplikacija BitBoxApp opravi preverjanje pristnosti na napravi BitBox02, da preveri, ali je naprava originalna. Preverjanje se opravi lokalno in brez povezave z zunanjim strežnikom.",title:"Kako poteka preverjanje pristnosti?"},name:{text:"To je ime vaše denarnice in varnostne kopije. Ime se uporablja za prihodnje varnostne kopije in se lahko uporablja za lažje razlikovanje med različnimi denarnicami. Spremenite ga lahko kadar koli, vendar upoštevajte, da bodo varnostne kopije, izdelane pred spremembo, še vedno uporabljale prejšnje ime.",title:"Za kaj se uporablja ime denarnice BitBox02?"},"secure-chip":{link:{text:"Preberite več o varnem čipu"},text:"Ker je verzija čipa dobra informacija o varnosti naprave. Najsodobnejši čip je ATECC608B z izboljšanimi varnostnimi funkcijami v primerjavi s starejšimi modeli.",title:"Zakaj prikazujemo model varnega čipa?"}},receive:{address:{text:`Pošljite ali predajte ga drugim, da vam lahko nanj pošiljajo kovance. +Priporočamo, da se s prejemnikom naslova prepričate, da je prejel enak naslov, kot ste mu ga poslali. Obstaja namreč možnost, da na poti do prejemnika naslova programska oprema zamenjala naslov s svojim.`,title:"Kaj lahko počnem z naslovom?"},addressChange:{text:"Takoj, ko opravite transakcijo, se na seznam samodejno doda nov naslov. Tako je vedno na voljo 20 naslovov, ki še nikoli niso prejeli nobenega kovanca.",title:"Kdaj se naslovi spremenijo?"},addressFormats:{text:`Privzet tip naslova je "Native Segwit" t.i. bech32 tip naslova. Podprt je že v mnogih drugih denarnicah in menjalnicah, saj ponuja najnižje provizije na transakcije. Poleg tega, lahko izbirate še med drugimi tipi naslovov. Novejši je Taproot (velja samo za Bitcoin), starejši pa "Wrapped Segwit". +`,title:"Kdaj uporabiti »Spremenite tip naslova«?"},howVerify:{text:`Če imate BitBox01 kliknite ikono BitBox na stranskem stolpcu na levi strani in glejte poglavje seznanitve. Vodnik se bo posodobil in od tam lahko nadaljujete po navodilih. +Z BitBox02 lahko med postopkom pošiljanja/prejemanja preverite naslove neposredno na napravi.`,title:"Kako lahko varno preverim naslov?"},plugout:{text:"Ne, BitBox lahko odklopite. Ko pošljete kovance na naslov generiran z BitBox02, vam naprave ni treba pustiti priključene v računalnik ali telefon.",title:"Je potrebno imeti BitBox02 priklopljen vse dokler ne prejmem sredstev?"},why20:{text:`Med zagonom aplikacija ustvari naslove, pridobljene iz vašega semena, in preveri, ali so prejeli sredstva. Aplikacija lahko ustvari skoraj neskončno število naslovov in bi lahko porabila leta, da določi pravo stanje za vsak naslov. +Da omejimo čas iskanja, se prikaz ustavi po prvih 20 najdenih naslovov, ki nikoli niso prejeli sredstev. To je namenska omejitev in 20 je de-facto standard, čeprav je število poljubno. To je 20 naslovov, med katerimi lahko izbirate.`,title:"Zakaj le 20 naslovov?"},whyMany:{text:`Za ohranjanje vaše zasebnosti in varnosti nikoli ne uporabite istega naslova dvakrat. +Če ste že uporabili naslov, kliknite na puščico v desno za nov naslov. Naenkrat lahko ustvarite do 20 naslovov. Na naslove lahko gledate, kot na številke izdanih računov. Vsi naslovi so pridobljeni iz istega semena.`,title:"Zakaj toliko naslovov?"},whyVerify:{text:`Vašemu računalniku ne zaupajte, da ustvarja in prikazuje pristne naslove. Zaradi velike kompleksnosti je bistveno lažja tarča in bolj občutljiv kot denarnica s strojno opremo. +Za BitBox01 - gumb za preverjanje naslova varno pošlje naslov na seznanjen mobilni telefon, iz katerega lahko tudi skenirate in preverite QR kodo. +Na BitBox02 lahko naslov preverite neposredno na zaslonu.`,title:"Zakaj moram varno preveriti naslov?"}},send:{change:{text:"Višek (change) bo vrnjen na naslov Taproot, če imate vsaj en Taproot UTXO (Taproot naslov z nekaj sredstvi). Če uporabljate nadzor kovancev, bo sprememba vrnjena na Taproot naslov, če je med izbranimi UTXO vsaj en tipa Taproot. V vseh drugih primerih se sprememba vrne na Native Segwit (bech32) naslov.",title:"Kako je definirano vračilo viškov?"},fee:{text:`Omrežnina (ali prostovoljni prispevek rudarjem, provizija) temelji na velikosti podatkov v transakciji in ne na njenem znesku. Ciljne omrežnine se izračunajo po algoritmu za ocenjevanje omrežnin Bitcoin Core glede na izbrano prioriteto. Prikažejo se, če imajo drugačno vrednost od spodnjih. +Varčna: 24 blokov (približno 4 ure za Bitcoin, 1 ura za Litecoin) +Nizka: 12 blokov (približno 2 uri za Bitcoin, 30 minut za Litecoin) +Običajna: 6 blokov (približno 1 ura za Bitcoin, 15 minut za Litecoin) +Visoka: 2 bloka (približno 20 minut za Bitcoin, 5 minut za Litecoin) +(Izračun bloka v Bitcoin omrežju traja v povprečju deset minut in 2,5 minute za Litecoin. Obremenitev omrežja in s tem omrežnine se lahko v zgornjih obdobjih močno razlikujejo.)`,title:"Kako se določi vrednost omrežnine?"},plugout:{text:"Ne, ko enkrat opravite prenos sredstev (transakcijo), vam BitBoxa ni treba imeti več priklopljenega. Lahko jo izključite.",title:"Ali moram imeti BitBox priklopljen ves čas pošiljanja?"},priority:{text:"Višjo omrežnino, ki ste jo pripravljeni plačati, hitreje bo vaša transakcija potrjena v omrežju.",title:"Kakšna je prednost omrežja?"},revert:{text:`Ko je transakcija podpisana in poslana (tj. predvajana v omrežje), je ni več mogoče razveljaviti. Pred podpisom torej preverite transakcije (vključno s provizijo)! +Če prejemnika poznate in vam je pripravljen poslati isti znesek (minus transakcijske provizije), mu lahko pošljete nov naslov za prejem kovancev.`,title:"Ali lahko povrnem transakcijo?"},whyFee:{text:`S prispevkom oz. omrežnino, ki jo prinašajo, transakcije med seboj tekmujejo, da jih potrdi rudar. Rudarji praviloma najprej izberejo tiste transakcije, ki jim prinašajo višje omrežnine (provizije). +Bitcoin rudarji lahko za nagrado za opravljeno računsko delo poberejo omrežnine, plačane pri transakcijah, ki jih potrdijo, skupaj z novo nastalimi bitcoini. Rudarjenje je specializiran in konkurenčen trg, kjer se nagrade delijo glede na število opravljenih izračunov. `,title:"Zakaj obstaja omrežnina?"}},"settings-electrum":{connection:{text:`Če se želite s svojim vozliščem (full node) povezati le, ko ste v istem omrežju (npr. domači wifi), zadostuje uporaba običajne omrežne komunikacije. +V tem primeru je priporočljivo, da strežnik Electrum zagotovi potrdilo TLS za šifriranje komunikacije. +Če se nameravate s svojim vozliščem povezati od kjer koli drugje, je boljša možnost uporaba omrežja Tor. V tem primeru ni potrebno potrdilo TLS.`,title:"Ali naj uporabim nešifrirano povezavo TCP, TLS ali Tor?"},instructions:{link:{text:"Vodnik za povezavo lastnega vozlišča"},text:"Za obširnejša navodila obiščite naš vodič (v angleščini):",title:"Kako povežem BitBoxApp s svojim polnim vozliščem?"},options:{text:`Obstaja več možnosti za postavitev lastnega vozlišča, kot na primer nakup končanega izdelka, ki je namenjen le temu, izdelava lastnega ali zagon programja Bitcoin Core na računalniku. +Če želite BitBoxApp povezati s svojim vozliščem, se prepričajte, da na njem teče tudi strežnik Electrum. To je namenski program, ki aplikaciji denarnice (kot je BitBoxApp) omogoča komunikacijo s polnim vozliščem. +Podprte možnosti vključujejo programje Electrs, Electrum Personal Server (EPS) ali Bitcoin Wallet Tracker (BTW).`,title:"Kakšne možnosti obstajajo za zagon/nakup vozlišča?"},tor:{text:`Tor pomeni 'The Onion Router', ki je brezplačna in odprtokodna programska oprema, ki ponuja višjo stopnjo zasebnosti in je še posebej uporabna pri uporabi Bitcoina. +Če se nameravate povezati s vozliščem prek omrežja Tor, se prepričajte, da je Tor nameščen na računalniku in nato v nastavitvah BitBoxApp omogočite Tor Proxy. +V večini operacijskih sistemov obstaja dva načina dostopa do Tor-a: +1. Brskalnik Tor: prenesite in odprite brskalnik Tor. To bo omogočilo BitBoxApp, da se poveže z omrežjem Tor. V nastavitvah vpišite vrata (port) 9150 v nastavitvah za proxy strežnik. +2. To v ozadju: Namestite demon Tor, ki vedno deluje v ozadju operacijskega sistema. Nato se lahko BitBoxApp poveže preko Tor-a z nastavitvijo vrat 9050 v nastavitvah za proxy strežnik.`,title:'Kaj je Tor, Tor proxy in kater "port" naj uporabim?'},what:{text:"Denarnico lahko povežete s svojim polnim vozliščem, namesto da uporabljate strežnike podjetja Shift.",title:"Kaj je to?"},why:{text:`Vzdrževanje lastnega vozlišča ni potrebno, izboljša pa zasebnost in zniža potrebo po zaupanju drugim. +Prvič, to pomeni, da bolj zasebno uporabljate Bitcoin (omrežje), saj se BitBoxApp ne bo povezal z našimi strežniki, da bi prejel vašo zgodovino transakcij; namesto tega bo podatke prejel od vašega vozlišča. +Drugič, imeti lastno vozlišče pomeni, da vozlišče samo preverja vse transakcije in poskrbi, da so pravila omrežja Bitcoin za vas uveljavljena.`,title:"Zakaj naj poganjam svoje vozlišče?"}},settings:{sats:{text:"Satoshi (satoši, krajše sat) je najmanjša enota Bitcoina. En satoši je stomilijonska enota bitcoina (0,00000001 BTC). Ime je dobila po avtorju Bitcoina, Satoshiju Nakamotu.",title:"Kaj je Satoshi?"},servers:{text:`Ta aplikacija komunicira s strežniki podjetja Shift Crypto AG, da preveri posodobitve, naloži transakcije in pošilja informacije v uparjene mobilne aplikacije. +Aplikacija pridobiva najnovejše tečaje pri CoinGecko. Vse konverzije so izračunane lokalno, kar pomeni, da se podatki o znesku vaše transakcije nikoli ne pošljejo ven iz aplikacije. +Opomba: Za Ethereum in ERC20 žetone uporabljamo API-je Etherscan.io.`,title:"S katerimi strežniki govori ta aplikacija?"}},title:"Vodič vam v pomoč",toggle:{close:"Zapri",open:"Pomoč"},trackingModePortfolioChart:{text:"V namizni aplikaciji pojdite z miško čez graf. V mobilni aplikaciji, pritisnite na grafi in podrsajte po njem levo ali desno.",title:"Kako preverim vrednosti na grafu za določen dan?"},unlock:{forgotDevicePassword:{text:"Ponastaviti morate napravo (reset) in obnoviti denarnico iz varnostne kopije z geslom za obnovitev.",title:"Kaj lahko storim, če pozabim geslo naprave?"},reset:{text:"Vnesite napačno geslo naprave 15-krat. V zadnjih nekaj poskusih je potreben dolg dotik naprave.",title:"Kako ponastavim napravo?"}},waiting:{deviceNotRecognized:{text:`Ko jo vstavite, naprava utripne enkrat. Prepričajte se, da je pravilno obrnjena v USB reži. Če imate težave, nas kontaktirajte preko spodnje povezave. + +BitBox01 ni podprt v mobilni aplikaciji. Za povezavo z BitBox01 uporabite BitBoxApp na namizju.`,title:"Moj BitBox01 ni prepoznan"},getDevice:{link:{text:"Naročite BitBox"},text:"BitBox lahko kupite v naši spletni trgovini (link spodaj) ali pri naših partnerjih.",title:"Kje lahko kupim BitBox?"},internet:{text:"Da, internetna povezava je potrebna za sinhronizacijo denarnice, za pošiljanje transakcij in pridobivanje menjalnih tečajev.",title:"Ali ta aplikacija zahteva internetno povezavo?"},lostDevice:{link:{text:"Varnostne kopije"},text:"Vaša sredstva lahko enostavno obnovite z novo BitBox denarnico ali z drugo BIP39 napravo. V pomoč smo spisali postopek v članku:",title:"Izgubil sem napravo. Kaj pa zdaj?"},useWithoutDevice:{text:"Na žalost to trenutno še ni mogoče.",title:"Ali lahko aplikacijo uporabljam brez BitBoxa?"},welcome:{text:`Podjetje Shift Crypto iz Švice se vam zahvaljuje, ker uporabljate BitBoxApp. +Vaše predloge za izboljšavo zelo cenimo in si jih želimo. Vaš odziv pričakujemo na povezavi na dnu.`,title:"Pozdravljeni v aplikaciji BitBox!"}},walletConnect:{noPreviousConnections:{text:"Če uporabljate nov telefon ali računalnik z aplikacijo BitBoxApp, se boste morali ponovno povezati z DApps. Svoje kovance boste nato ponovno videli v izbranih DApp kot običajno.",title:"Mojih prejšnjih povezav ne vidim."},supportedNetworks:{text:"V BitBoxApp je trenutno z WalletConnect podprto le Ethereum omrežje. Za uporabo drugih verig, združljivih z EVM, uporabite storitev Rabby v brskalniku (browser extension wallet).",title:"Katera omrežja so podprta?"},whatIsWalletConnect:{text:"WalletConnect je komunikacijski protokol za web3 aplikacije. Omogoča vam priročno povezavo z decentraliziranimi avtonomnimi aplikacijami (DApps) in spletnimi denarnicami, ki temeljijo na Ethereumu, brez uporabe aplikacije tretje osebe. To je še posebej uporabno za uporabnike aplikacije BitBoxApp na Androidu.",title:"Kaj je WalletConnect?"}}},E6={blocksSynced:"{{blocks}} sinhroniziranje blokov"},P6={info1HTML:"Za namene verodostojnega zanikanja (obstoja prave denarnice) lahko ustvarite skrito denarnico na podlagi drugačne (alternativne) kombinacije gesla in gesla za obnovitev varnostne kopije. ",info2HTML:"Določite geslo naprave in geslo za obnovitev, ki ju želite povezati s spodnjo skrito denarnico. To geslo naprave in geslo za obnovitev morata biti drugačna od tistih, ki ste ju določili za primarno denarnico.",passwordLabel:"Skrito geslo za obnovitev",passwordPlaceholder:"Potrdite skrito geslo za obnovitev",pinLabel:"Geslo za skrito denarnico",pinRepeatLabel:"Ponovite geslo skrite denarnice",pinRepeatPlaceholder:"Prosimo potrdite geslo skrite denarnice",success:"Skrita denarnica je bila uspešno ustvarjena. Iztaknite in ponovno vtaknite BitBox v USB vhod, da jo odklenete."},N6={create:"Ustvarite geslo naprave",creating:"Kreiram geslo naprave ...",error:{e102:"Geslo naprave mora vsebovati najmanj 4 znake."},info:{description1:"Vpišite novo geslo naprave. To bo uporabljeno za odklepanje BitBox-a.",description2:"Uporabite lahko številke, črke in simbole. Daljša gesla so varnejša.",description3:"Če izgubite geslo naprave, boste morali ponastaviti napravo in obnoviti varnostno kopijo denarnice.",subtitle:"Zdaj boste vpisali novo geslo naprave",title:"Izvaja se prvi zagon vaše naprave"},input:{label:"Geslo naprave",labelRepeat:"Ponovite geslo naprave",placeholderRepeat:"Prosimo, potrdite geslo naprave"}},L6="Neveljavna oblika",I6={title:"Izberite jezik"},$6={disable:"Onemogoči starejšo skrito denarnico (legacy wallet)",enable:"Omogoči skrito denarnico starejšega formata (legacy)",successDisable:"Skita denarnica bitcoin računa starejše generacije je onemogočena.",successEnable:"Skrita denarnica starejšega formata je uspešno omogočena. Znova priključite svoj BitBox in skrbno vnesite geslo naprave za dostop do starejše skrite denarnice."},M6="nalaganje…",O6={accountHidden:"Ta račun je bil skrit in ga ni več na seznamu opazovalnih računov. Če ga želite videti ponovno, priklopite vaš Bitbox02.",editAccount:"Uredi",editAccountNameTitle:"Uredi ime računa",noAccounts:"ni računov",settings:{hideTokens:"Skrij žetone",showTokens:"Prikaži žetone ({{activeTokenCount}})"},settingsButtonDescription:"Dodajaj in aktiviraj/deaktiviraj račune",title:"Upravljanje računov",watchAccount:"Opazovalni račun",watchAccountDescription:"Ta račun je del vaših opazovalnih računov. Z drsnikom ga lahko skrijete."},R6={usingMobileDataWarning:`Uporaba podatkov na mobilni napravi: ta aplikacija lahko po odklepanju računa naloži do nekaj sto megabajtov podatkov. Če želite preprečiti uporabo mobilnih podatkov, se povežite z Wi-Fi omrežjem. +To sporočilo ne bo več prikazano, če ga ugasnete.`},F6={about:{appVersion:{title:"Verzija aplikacije"}},advancedSettings:{authentication:{description:"Prepreči dostop do aplikacije z zaklepom zaslona.",title:"Zaklep zaslona"},coinControl:{description:"Za večjo stopnnjo zasebnosti izberite kateri UTXO naj bo del transakcije."},customFees:{description:"To vam omogoča vnos poljubne višine provizije za transakcijo."},torProxy:{description:"Povežite se preko Tor omrežja za več zasebnosti."}},appearance:{activeCurrencies:{description:"Te dodatne valute lahko izmenjujoče prikazujete na strani računov.",title:"Aktivne valute"},darkmode:{description:"BitBoxApp v temnem načinu"},defaultCurrency:{description:"Izberite privzeto valuto",title:"Privzeta valuta"},hideAmounts:{description:"Prikaže preklopnik za skrivanje stanja in zneskov, za vašo večjo zasebnost, ko aplikacijo uporabljate na javnem mestu.",hideAmounts:"Skrij zneske",showAmounts:"Prikaži zneske",title:"Dovoli skrivanje zneskov"},language:{description:"Izberite jezik, ki ga želite uporabiti v BitBoxApp-u.",title:"Jezik"},toggleSats:{description:"Prikažite ali skrijte Satošije (sats)."}}},V6={input:{description:"(opcijsko)",placeholder:"Dodaj opombo"},title:"Opomba"},W6={newTxs_one:"{{count}} novih transakcij na: {{accountName}}",newTxs_other:"{{count}} novih transakcij na: {{accountName}}"},U6={aborted:{text:"Uparjanje je bilo prekinjeno s strani mobilne aplikacije.",title:"Prekinjeno"},button:"Uparite z mobilno aplikacijo",confirm:"Ali ste prepričani, da želite upariti svoj BitBox? Upoštevajte, da je po uparitvi mobilni telefon vedno potreben za izvedbo transakcije.",connectOnly:{button:"Povežite z mobilno aplikacijo",title:"Skenirajte z našo mobilno aplikacijo tako, da izberete menijsko točko »Connect to new desktop app«"},error:{text:"Nekaj ​​je šlo narobe. Prosimo, začnite znova.",title:"Napaka"},pullFailed:{text:"Sporočila iz mobilnega telefona ni bilo mogoče pridobiti prek relejskega strežnika. Strežnik je morda brez povezave. Prosimo, obrnite se na podporo.",title:"Parjenje ni uspelo"},reconnectOnly:{button:"Ponovno vzpostavite povezavo z mobilno aplikacijo"},scanningFailed:{text:"Mobilnik ni uspešno skeniral sporočila. Prosimo poskusite ponovno.",title:"Skeniranje ni uspelo"},start:{hideAppQRCode:"Skrij kodo QR",revealAppQRCode:"Prikaži QR kodo",step1:"Če mobilne aplikacije še nimate, lahko skenirate QR kodo za Apple App Store ali Google Play Store, odvisno od tega, kateri telefon imate.",step2:"Skenirajte z našo mobilno aplikacijo, ki jo najdete pod imenom „Digital Bitbox 2FA“ v trgovinah z aplikacijami za iOS in Android:"},started:{text:"Prosimo sledite navodilom v mobilni aplikaciji.",title:"Super"},success:{text:"Čestitamo, uspešno ste uparili BitBox z mobilno aplikacijo!",title:"Uspelo je!"},timeout:{text:"Seznanitev je potekla po dveh minutah. Začnite znova, če želite BitBox še vedno upariti z mobilno aplikacijo.",title:"Odmor"},title:"Mobilno seznanjanje"},q6={considerations:{button:"",message:`Geselska fraza zagotavlja dodaten nivo zaščite varnostni kopiji vaše denarnice (bodisi na microSD kartici ali 24 besedam). Če nekdo pridobi dostop do vaše varnostne kopije (na kartici ali besede), bo za dostop do vaše denarnice potreboval tudi geselsko frazo. + +To pa pomeni, da boste potrebovali oboje - geselsko frazo in varnostno kopijo denarnice, da bi obnovili tako zaščiteno denarnico, če se vaš BitBox02 pokvari ali ga izgubite. Če pozabite ali izgubite to geslo, boste izgubili dostop do vseh kovancev v tej denarnici! + +Geselsko frazo shranjujte ločeno od varnostne kopije. S tem preprečite vdor v denarnico, če nekdo najde le njeno varnostno kopijo.`,title:"Razmislek o varnostni kopiji"},disable:"Onemogoči geselsko frazo",disableInfo:{button:"Izklopi",message:`Po izklopu geselske fraze, vas BitBox ob odklepu ne bo več spraševal po njej. S tem boste vstopili v privzeto denarnico. + +Vsi kovanci v denarnici, zaščiteni z izbrano geselsko frazo, bodo še vedno v tej denarnici, vendar do njih ne boste mogli dostopati, saj boste po odklepanju naprave odprli svojo privzeto denarnico. + +Da bi znova odprli denarnico, ki je zaščitena z geselsko frazo, enostavno ponovno omogočite to funkcijo in vnesite izbrano geselsko frazo na BitBox02. + +Namig: Kljub temu lahko dostopate do privzete denarnice, le geselske fraze ne vtipkavajte ob vstopu v BitBox.`},enable:"Omogoči geselsko frazo",error:{e104:"Sprememba geselske fraze je bila prekinjena..."},how:{button:"Kako izgleda",message:`Geselska fraza ne deluje tako kot "navadno" geslo, ki ste ga vajeni. Če se ob vnosu geselske fraze zatipkate, na napako NE boste opozorjeni. To pa zato, ker vsaka geselska fraza ustvari različno a veljavno denarnico. To pomeni, da lahko uporabljate več geselskih fraz za več denarnic na BitBox02. Vse te denarnice so na BitBox02 dostopne le po vsakokratnem vnosu ustrezne geselske fraze. + +Ob priključitvi naprave BitBox02 boste, kot običajno, pozvani k vpisu gesla naprave. Nato boste morali v napravo vnesti še geselsko frazo. + +Po vnosu fraze se vam bo ta prikazala na zaslonu. Tako boste lahko potrdili, da ste jo vnesli pravilno oz. da ste vnesli željeno. +`,title:"Kako deluje"},intro:{message:`Geselska fraza zagotavlja dodatni nivo varnosti za vašo denarnico. +Spoznajmo, kako deluje.`,title:"Vnesite željeno geselsko frazo"},progressDisable:{message:"Na BitBoxu potrdite, da želite onemogočiti geselsko frazo.",title:"Potrdite na napravi"},progressEnable:{message:"Na BitBoxu potrdite, da želite omogočiti geselsko frazo.",title:"Potrdite na napravi"},successDisabled:{message:`Geselska fraza uspešno omogočena! +Odslej jo boste vselej vnašali v napravo.`,messageEnd:"Prosimo ponovno priklopite BitBox02",title:"Geselska fraza omogočena"},successEnabled:{message:`Geselska fraza uspešno onemogočena! +Naprava vas po njej ne bo več spraševala ob odklepanju.`,messageEnd:"Prosimo ponovno priklopite BitBox02",tips:"Namigi",tipsList:["Priporočamo, da v denarnico zaščiteno s frazo najprej pošljete majhen znesek. Nato BitBox ponovno priklopite in vnesite geslo ter frazo. Če vse vnesete pravilno, boste lahko videli in upravljali kovance na tej denarnici. ","Če želite dostopati do privzete denarnice, nezaščitene z geselsko frazo, to še vedno lahko storite tako, da preskočite korak, ko vas BitBox povabi k vnosu faze."],title:"Geselska fraza onemogočena"},summary:{button:"Omogočite geselsko frazo",title:"Povzetek",understand:"Razumem kako deluje geselska fraza in vsa povezana tveganja.",understandList:["Geselska fraza je dodaten nivo zaščite za varnostno kopijo.","Če vnesete različno geselsko frazo, boste vedno ustvarili različno denarnico.","Za obnovitev denarnice potrebujete oboje, geselsko frazo in varnostno kopijo.","Če pozabite ali izgubite svojo geselsko frazo, izgubite dostop do svojih kovancev."]},what:{button:"Spoznajte kako to deluje",message:`Denarnica je ustvarjena (pridobljena) iz zelo velikega naključnega števila, znanega tudi kot seme (seed). To seme je ustvarjeno ob prvi nastavitvi naprave BitBox02 in je varnostno kopirano na microSD kartici ali z 24 besedami. Vsakdo, ki ima dostop do semena, ima popoln nadzor nad sredstvi v tej denarnici. + +Geselska fraza ali passphrase je opcijska skrivnost, ki je dodana semenu. Pri uporabi geselske fraze vsaka ustvari novo denarnico na podlagi preračuna semena + geselske fraze. Geselska fraza je lahko karkoli: črke, besede, posebni znaki ali pa je lahko celo prazna. Privzeta denarnica dejansko izhaja iz semena + prazne fraze. + +"Passphrase" ali geselska fraza je del BIP39 priporočila, kar pomeni, da je kompatibilna z vsemi denarnicami, ki sledijo temu priporočilu (ali kvazi standardu)`,title:"Kaj je geselska fraza?"},why:{button:"Zakaj uporabiti geselsko frazo?",message:`BitBox02 varuje seme (skrivnost, ki jo ustvari) pred odtujitvijo (kopiranjem) iz same naprave, vendar varnostna kopija (na microSD kartici ali izpis 24 besed) omogoča popoln dostop do denarnice. Zato jo je treba hraniti na varnem mestu! + +Ker geselska fraza ustvari novo denarnico z uporabo vašega obstoječega semena, denarnica zaščitena s frazo za obnovo zahteva oboje varnostno kopijo in geselsko frazo. Prednost tega je, da če nekdo najde vašo varnostno kopijo (v obliki 24 besed ali na microSD kartici), za dostop do kovancev še vedno potrebuje geselsko frazo. + +Poleg tega lahko z uporabo več geselskih fraz na enem BitBox-u upravljate mnogo med seboj ločenih denarnic!`,title:"Zakaj uporabiti geselsko frazo?"}},H6={show:"Prikaži {{label}}",warning:{caps:"OPOZORILO: Vklopljene imate VELIKE ČRKE (⇪)",paste:'da prilepite besedilo, omogočite "PRIKAŽI {{label}}"'}},K6={button:"Ustvari naključno število",description:"BitBox je ustvaril {{bits}}-bitno naključno število:"},G6={changeScriptType:"Spremenite tip naslova",label:"Vaš naslov",onlyThisCoin:{description:"Če želite prejemati druge podprte žetone, jih omogočite v nastavitvah. Če na naslove, ki so na voljo nakažete/pošljete nepodprte žetone, zelo verjetno ne bodo vidni/ dostopni.",warning:"Prepričajte se, da na ta naslov prejemate le {{coinName}}."},scriptType:{p2tr:"Taproot (najnovejša oblika)",p2wpkh:"Native Segwit (privzeto)","p2wpkh-p2sh":"Wrapped Segwit (starejši tip)"},selectAccount:"Izberite račun",showFull:"Pokaži in preveri polni naslov na napravi",taprootWarning:"Opomba: Taproot je nov tip Bitcoin naslova, ki ni še povsod podprt. Sredstva, prejeta na Taproot naslov, morda ne bodo vidna v drugih denarnicah s katerim dostopate do svoje naprave. Številne denarnice in menjalnice še niso zmožne poslati na Taproot naslove.",title:"Prejmi {{accountName}}",verify:"Skrbno preverite naslov",verifyBitBox01:"Preverite naslov v mobilni aplikaciji",verifyBitBox02:"Preverite naslov na BitBox02",verifyInstruction:"Preverite, da se prikazan naslov ujema s tistim, ki je prikazan na BitBoxu in to potrdite na napravi.",warning:{secureOutput:"Prosimo, uparite BitBox z mobilno aplikacijo, da omogočite varno preverjanje naslovov. Pojdite na »Upravljanje naprave« v stranski vrstici."}},Q6={description:"Vsi podatki na napravi bodo izbrisani. To vključuje vaš zasebni ključ!",notReset:"Naprava NI ponastavljena.",title:"Ponastavi napravo (reset)",understand:"Imam varnostno kopijo in poznam geslo za njeno obnovitev",understandBB02:"Imam veljavno varnostno kopijo"},Y6={create:{description1:"Priporočamo, da prvo nastavitev naprave izvedete v varnem okolju, kjer vas nihče ne opazuje in ne more beležiti vnašanja gesla.",description2:"Od vas se bo zahtevalo, da ustvarite dve gesli.",description3:"Prvo je geslo naprave, ki odklene vaš BitBox (napravo). Pozneje ga lahko spremenite.",description4:"Drugo je geslo za obnovitev, ki odklene vašo denarnico. Tega gesla kasneje ni mogoče spremeniti!",description5:"Ko ustvarite denarnico, bo ta shranjena v datoteko na microSD kartico. To lahko uporabite v nujnih primerih za povrnitev sredstev s pomočjo gesla za obnovitev.",title:"Pomembne informacije"},restore:{description1:"Vstaviti boste morali microSD kartico, ki ste jo uporabili za shranjevanje varnostne kopije.",description2:"Če želite obnoviti denarnico, boste potrebovali geslo za obnovitev.",description3:"Bodite previdni in natančni pri vnosu gesla. Vsako geslo, ki ga vnesete, bo ustvarilo novo veljavno denarnico. Če vnesete napačno geslo, se vam bo verjetno prikazalo stanje denarnice, ki ga ne pričakujete.",title:"Varnostne informacije"}},Z6={agreements:{"funds-access":"da ostanem BREZ DOSTOPA do svojih sredstev, če pozabim to geslo!","password-change":"pozneje NI MOŽNO spremeniti gesla za obnovitev!","password-required":"Obnovitveno geslo je potrebno za obnovitev denarnice iz varnostne kopije"},create:"Ustvari denarnico",creating:"Ustvarjanje denarnice",description:"Razumem da:",error:{e102:"Geslo mora vsebovati najmanj 4 znake.",e200:"Za kreiranje nove denarnice morate v BitBox vstaviti microSD kartico. S tem omogočite samodejno kreiranje varnostne kopije."},info:{button:"Zdaj nastavite geslo za obnovo denarnice",description1:"Vstavite microSD kartico v BitBox",description2:'Ustvarite geslo za obnovitev denarnice in izberite "Nastavi geslo za obnovitev"',description3:"Varnostna kopija na microSD kartici in geslo za obnovitev je edina metoda za povrnitev sredstev v primeru izgubljenega, uničenega ali ukradene denarnice BitBox01.",description4:"Pozneje ni možno spremeniti gesla za obnovitev brez prenosa sredstev.",title:"Ustvarite novo denarnico"},password:{label:"Geslo za obnovitev",repeatPlaceholder:"Ponovite geslo za obnovitev"},walletName:{label:"Ime denarnice"}},J6={error:{e200:"Obnova oz. priklic denarnice iz varnostne kopije zahteva microSD kartico."},info:{description1:'Vstavite microSD kartico v BitBox in kliknite "Nadaljujte"',description2:"Izberite varnostno kopijo in kliknite »Obnovi«",description3:"Vnesite geslo za obnovo",description4:"Potrdite, da razumete, da bo napačno geslo ustvarilo drugo, novo denarnico.",title:"Kako obnoviti denarnico iz varnostne kopije"}},X6={abort:"Transakcija je bila prekinjena.",address:{label:"Naslov prejemnika",placeholder:"Vnesite naslov"},amount:{label:"Znesek",placeholder:"Vnesite znesek"},availableBalance:"Razpoložljivo stanje",button:"Podpiši in pošlji",coincontrol:{address:"Naslov",outpoint:"",title:"Pošlji iz (output):"},confirm:{"selected-coins":"Izbrani kovanci",title:"Potrdite in pošljite transakcijo",total:"Skupaj"},error:{erc20InsufficientGasFunds:"Kot kaže na vašem računu ni dovolj ETH za plačilo transakcije za premik ERC02 žetona. Poskrbite za zadostno količino ETH na vašem Ethereum računu.",feeTooLow:"Omrežnina je prenizka",feesNotAvailable:"Provizije ni moč oceniti",insufficientFunds:"nezadostna sredstva",invalidAddress:"neveljaven naslov",invalidAmount:"neveljaven znesek",invalidData:"neveljavni podatki"},fee:{customPlaceholder:"Vnesite znesek",label:"Omrežnina",placeholder:"Ni na voljo"},feeTarget:{customLabel:"Stopnja provizije",customLabel_eth:"Vrednost Gas-a",description:{economy:"4 ure (24 blokov)",economy_eth:"30 minut ali manj",economy_ltc:"1 ura (24 blokov)",high:"20 minut (2 bloka)",high_eth:"30 sekund ali manj",high_ltc:"5 minut (2 bloka)",low:"2 uri (12 blokov)",low_eth:"5 minut ali manj",low_ltc:"30 minut (12 blokov)",normal:"1 ura (6 blokov)",normal_eth:"2 minuti ali manj",normal_ltc:"15 minut (6 blokov)"},estimate:"Predviden čas potrditve:",label:{custom:"Po meri",economy:"Ekonomična",high:"Visoka",low:"Nizka",normal:"Normalna"},placeholder:"Preračunavam..."},maximum:"Pošlji vse",maximumSelectedCoins:"Pošlji izbrane kovance",noFeeTargets:"Generirane provizije trenutno niso dostopne. Prosimo poizkusite ponovno ali vnesite poljubno višino provizije.",priority:"Omrežnina",scanQR:"Skenirajte QR kodo",signprogress:{description:"Ta transakcija vsebuje veliko podatkov. Če želite v celoti podpisati transakcijo, boste morali potrditi {{steps}} krat.",label:"V teku"},success:"Transakcija je bila podpisana in poslana.",title:"Pošlji {{accountName}}",toggleCoinControl:"Odpri nadzor nad kovanci",transactionDetails:"Podrobnosti transakcije"},eq={about:"O nastavitvah",accounts:"Računi",advancedSettings:"Napredne nastavitve",appearance:"Izgled",electrum:{add:"Dodaj strežnik","add-server":"Dodaj",check:"Preveri",checkFailed:"Ni uspelo",checkSuccess:"Uspelo je vzpostaviti povezavo do {{host}}",checking:"Preverjam","download-cert":"Prenesite oddaljeni certifikat","remove-server":"Odstrani",removeConfirm:"Odstrani {{server}}?",reset:"Ponastavi na privzeto",resetConfirm:"Ali želite odstraniti vse strežnike in namestiti privzete strežnike?",servers:"Strežniki",step1:"1","step1-text":"Vnesite končno točko.",step2:"2","step2-text":"Vnesite certifikat strežniške verige potrdil. Lahko pa prenesete oddaljeno potrdilo in ga vizualno primerjate.","step2-text-tcp":"Ta korak lahko preskočite, če ne želite uporabljati TLS.",step3:"3","step3-text":"Preverite povezavo in dodajte strežnik.",step4:"4","step4-text":"Znova zaženite denarnico. Če ne odstranite privzetih strežnikov, bo vaše lastno vozlišče dodano kot redundančno.","title-btc":"Strežniki Bitcoin Electrum-a","title-ltc":"Strežniki Litecoin Electrum-a","title-tbtc":"Strežniki Bitcoin Testnet Electrum-a","title-tltc":"Strežniki Litecoin Testnet Electrum-a"},expert:{coinControl:"Omogoči nadzor nad kovanci (Coin control)",electrum:{description:"Povežete lahko svoje Electrum vozlišče.",title:"Povežite svoje polno vozlišče"},fee:"Omogoči provizije po meri",setProxyAddress:"Nastavite naslov proxy strežnika",title:"Napredne nastavitve",useProxy:"Omogoči tor proxy",useSats:"Prikaži vrednosti v Satoshi-jih"},header:{home:"Domov"},info:{"out-of-date":"Na voljo je nova nadgradnja",title:"Info","up-to-date":"Aplikacija je posodobljena",version:"Verzija aplikacije"},restart:"Znova zaženite BitBoxApp, da spremembe začnejo veljati.",services:{title:"Storitve"},success:"Iztaknite in ponovno vtaknite BitBox v USB, da začnejo veljati ustvarjene spremembe.",title:"Nastavitve"},tq="Nastavitev naprave",nq={buy:"Kupite kripto",device:"Upravljanje naprave",leave:"Zapusti",settings:"Nastavitve"},aq={create:{info1:`Vaša denarnica je arhivirana na microSD kartico. +Odstranite jo in jo varno shranite.`,info2:"Ustvarili ste varno geslo, ki odklene BitBox.",info3:"Ustvarili ste varno geslo za obnovitev denarnice, ki odklene sredstva in obnovi varnostne kopije.",summary:"Preberite povzetek storjenega:",title:"Uspelo je!"},getstarted:"Začnite",restore:{summary:"Uspešno ste obnovili denarnico.",title:"Uspelo je!"}},iq={confirmation:"Št. potrditev",details:{activity:"Dejavnost",address:"Naslov",amount:"Znesek",date:"Datum",fiat:"V fiat valuti",fiatAmount:"Znesek v fiat valuti",fiatAtTime:"Vrednost v času transakcije",status:"Stanje",type:"Tip"},explorer:"ID transakcije",explorerTitle:"Odpri v zunanjem raziskovalcu",fee:"Omrežnina",fiatHistorical:"Zgodovinsko",gas:"Gas",note:{edit:"Uredi opombo",save:"Shrani opombo"},pending:"Nedokončana transakcija",size:"Velikost",status:{complete:"Zaključeno",failed:"Ni uspelo",pending:"V teku"},tx:{received:"Prejeto na",sent:"Poslano na"},vsize:"Virtualna velikost",weight:"Utež"},oq={errorLoadTransactions:"Napaka pri nalaganju transakcij.",placeholder:"Ni transakcij."},rq="Prišlo je do neznane napake: {{errorMessage}}",sq={description:"Vnesite geslo, da odklenete napravo.",error:{e109_normal:"Napačno geslo naprave. Št. poskusov pred ponastavitvijo naprave: {{remainingAttempts}}",e109_touch:"$t(unlock.error.e109_normal) Naslednja prijava zahteva daljše držanje gumba na dotik.",e113:"Zaradi prevelikega števila poskusov prijave, morate za novo prijavo pridržati tipko za dotik vsaj 4 sekunde."},input:{label:"Geslo naprave",placeholder:"...vnesite tukaj."},unlocking:"Odklepanje..."},lq={button:"Nadgradite strojno programsko opremo",description:"Ali želite nadgraditi strojno programsko opremo iz različice {{currentVersion}} na {{newVersion}}?",label:"Vaš BitBox zahteva nadgradnjo strojne programske opreme.",locked:"Za nadgradnjo z {{currentVersion}} na {{newVersion}}, izvedite dolg pritisk na LED lučko.",title:"Nadgradite strojno programsko opremo",unlocked:"Zaganjalnik (bootloader) je odklenjen. Če želite nadaljevati:",unlocked1:"Iztaknite in ponovno priključite svoj Bitbox",unlocked2:"Ko bo BitBox01 ponovno priključen bo zasvetila LED lučka",unlocked3:"Ko zasveti LED lučka, se jo dotaknite"},cq={connect:{button:"Poveži",dappLabel:"Vnesi URI naslov za DApp",invalidPairingUri:"Napačen povezovalni URI"},dashboard:{allSessions:"Vse seje",disclaimer:"WalletConnect je protokol za povezavo z decentraliziranimi avtonomnimi aplikacijami (Dapps), ki temeljijo na Ethereumu. Te Dapps-e upravljajo tretje oseb (in ne Shift Crypto ali WalletConnect), zato se povežite le s tistimi, ki jim zaupate, in se prepričajte, da vedno veste, kaj podpisujete, ko opravljate transakcijo.",newConnection:"Nova povezava",noConnectedSessions:"Noben račun ni povezan s katero od DApp-ov"},invalidPairingChain:"Napaka pri potrditvi povezave. Prepričajte se, da uporabljate eno od podprtih verig: {{chains}}",pairingRequest:{approve:"Potrdi povezavo",reject:"Zavrni",title:"Zahteva za novo povezavo od"},pairingSuccess:"DApp je uspešno povezana. Nadaljujete lahko na spletni strani te DApp.",signingRequest:{account:"Račun",chain:"Omrežje",dapp:"Dapp",data:"Podatki",dataParsingError:"Podatkov nismo uspeli razčleniti",decodeError:"Sporočila nismo uspeli dekodirati",method:{sendTransaction:"Podpiši in pošlji transakcijo",signMessage:"Podpiši sporočilo",signTransaction:"Podpiši transakcijo",signTypedData:"Podpiši vnesene podatke"},successfullySigned:"Zahteva je uspešno podpisana",walletConnectRequest:"WalletConnect zahteva "},useNewUri:"Ta URI je bil že uporabljen za poskus vzpostavitve povezave. Uporabite nov URI.",walletConnect:"WalletConnect"},uq={receivePairing:"Prosimo, da seznanite BitBox01 s pametnim telefonom, da si omogočite varno preverjanje naslovov. Pojdite na »Upravljanje naprave« v stranski vrstici.",sdcard:"MicroSD kartico hranite ločeno od BitBoxa, razen ko upravljate z varnostnimi kopijami.",sendPairing:`Za varno preverjanje podrobnosti o transakcijah seznanite BitBox +z mobilno napravo. Pojdite na »Upravljanje naprave« v stranski vrstici.`},dq={connect:"Vklopi BitBox02",getStarted:"Začnimo z namestitvijo strojne programske opreme (firmware)",insertBitBox02:"Na BitBox02 se dotaknite željene strani zaslona. ",insertDevice:"Za začetek, priključite denarnico",title:"Dobrodošli"},pq={account:QU,accountInfo:YU,accountSummary:ZU,addAccount:JU,aopp:XU,app:e6,auth:t6,backup:n6,bb02Bootloader:a6,bitbox:i6,bitbox02Interact:o6,bitbox02Settings:r6,bitbox02Wizard:s6,blink:l6,bootloader:c6,button:u6,buy:d6,changePin:p6,chart:h6,checkSDcard:m6,clickHere:f6,confirm:g6,confirmOnDevice:v6,connectKeystore:b6,darkmode:k6,device:x6,deviceLock:y6,deviceSettings:w6,deviceTampered:j6,dialog:B6,error:S6,fiat:z6,footer:C6,generic:D6,genericError:A6,goal:_6,guide:T6,headerssync:E6,hiddenWallet:P6,initialize:N6,invalidFormat:L6,language:I6,legacyhiddenwallet:$6,loading:M6,manageAccounts:O6,mobile:R6,newSettings:F6,note:V6,notification:W6,pairing:U6,passphrase:q6,password:H6,random:K6,receive:G6,reset:Q6,securityInformation:Y6,seed:Z6,seedRestore:J6,send:X6,settings:eq,setup:tq,sidebar:nq,success:aq,transaction:iq,transactions:oq,unknownError:rq,unlock:sq,upgradeFirmware:lq,walletConnect:cq,warning:uq,welcome:dq},hq={disconnect:"...החיבור אבד. מנסה שוב",export:"ייצוא",exportTransactions:"יצא עסקאות כקובץ רשומות לתיקיית ההורדות",fatalError:".אירעה שגיאה לא צפויה",incoming:"נכנס",initializing:"מייבא נתונים מהבלוקצ׳יין..",reconnecting:"...החיבור אבד, מנסה להתחבר מחדש",syncedAddressesCount:"כתובות {{count}} סורק"},mq={address:"כתובת",extendedPublicKey:"מפתח ציבורי מורחב",label:"פרטי חשבון",title:"פרטי חשבון",verify:"אמת עם ההתקן"},fq={availableBalance:"יתרה זמינה",balance:"יתרה",exportSummary:"ייצא סיכום חשבונות כקובץ רשומות לתיקיית ההורדות",fiatBalance:"יתרה במטבע פיאט",name:"שם חשבון",noAccount:"אין חשבונות להצגה",title:"סיכום חשבונות",total:"סכום סופי",transactionHistory:"היסטוריית עסקאות"},gq={title:"הוספת חשבון"},vq={upgrade:"גרסה חדשה של תכנה זו זמינה! אנא עדכן מ{{current}} ל{{version}}"},bq={check:{checking:"...בודק גיבוי",confirmTitle:"בדיקת גיבוי",notOK:".הגיבוי לא תואם את הארנק",ok:".הגיבוי תואם את הארנק",password:{label:"סיסמת שיחזור",placeholder:"סיסמת שיחזור",showLabel:"סיסמת שיחזור"},success:":גיבוי אומת בהצלחה",title:"בדיקת גיבוי"},create:{alreadyExists:"?ברשותך גיבוי תקין. האם ליצור חדש כעת",fail:"!יצירת הגיבוי לא הצליחה",info:".אנא הזן את סיסמת הגיבוי של ארנק זה לצורך אימות",name:{label:"שם הגיבוי",placeholder:"אנא תן שם לגיבוי"},password:{label:"סיסמת שיחזור",placeholder:"אנא הזן את סיסמת שיחזור"},title:"יצירת גיבוי",verificationFailed:".סיסמת השחזור אינה תואמת את הארנק הנוכחי. גיבוי נוצר. אנא בדוק את סיסמת השיחזור שוב"},description:"בחר קובץ גיבוי לארנק",insert:"אנא הכנס כרטיס זיכרון בכדי לנהל גיבויים",insertButton:"הכנסתי את כרטיס הזיכרון",list:"גיבויי כרטיס הזיכרון שלך",noBackups:"כרטיס הזיכרון אינו מכיל גיבויים",restore:{confirmTitle:"שיחזור גיבוי",error:{e200:"כרטיס זיכרון לא נמצא",general:"שגיאה בשיחזור הגיבוי"},password:{label:"סיסמת שיחזור או סיסמת שיחזור מוסתרת",placeholder:"סיסמת שיחזור",repeatPlaceholder:"חזור פעם נוספת על סיסמת השיחזור",showLabel:"סיסמת שיחזור"},restoring:"...משחזר גיבוי",title:"שיחזור",understand:"אני מבין שסיסמת שחזור שגויה תיצור ארנק שונה"},showMnemonic:{description:`.כעת יוצגו 24 מילים, המייצגות גיבוי לארנק. רשום אותם על דף נייר + +אל תאחסן אותם ברשת או תצלם אותם +אל תאמר מילים אלו בקול +הגיבוי אינו מאובטח בסיסמה + +.לאחר מכן, תתבקש לאשר כל מילה`,title:"mnemonic seed -הצג"},title:"נהל גיבויים"},kq={abort:"אל תשדרג - קח אותי חזרה",advanced:{label:"הגדרות מתקדמות",toggleShowFirmwareHash:"הצג את גיבוב הקושחה בכל הדלקה "},flipscreen:"הפוך מסך",orientation:"?ההתקן מכוון בכיוון שגוי",success:"...עדכון צלח! ממשיך בעוד {{rebootSeconds}} שניות"},xq={error:{e10000:".סיסמה שגויה עבור התקן נוכחי",e10001:"החלפת סיסמת התקן נכשלה",e102:".הסיסמה חייבת להיות בת 4 תווים לפחות",e112:".סיסמת התקן חבויה לא יכולה להיות זהה לסיסמת התקן ראשית"}},yq={confirmDate:"אשר את התאריך של היום בביטבוקס02",confirmDateText:".התאריך ישמש ליצירת הגיבוי",confirmName:"אשר את השם בביטבוקס02",followInstructions:"אנא התקדם לפי הוראות בביטבוקס02",followInstructionsMnemonic:"mnemonic seed -המשך עם ההוראות לפי המופיע בביטבוקס02 שלך כדי לשחזר מ"},wq={deviceName:{current:"שם התקן נוכחי",input:"שם ביטבוקס02",placeholder:"שם התקן חדש",title:"קבע שם לביטבוקס02"}},jq={attestationFailed:".תעודת ההתקן נכשלה, זה יכול לנבוע מההפעלה מחודשת של היישום בזמן שהמכשיר חיכה לקלט מהמשתמש. התחבר מחדש ונסה שוב",backup:{point1:"בחר גיבוי מכרטיס הזיכרון",point2:"קבע סיסמה להתקן",restoreText:"!אוקי, משחזר מהגיבוי",text1:".נהדר, הסיסמה לביטבוקס02 נקבעה והארנק נוצר. כעת זה הזמן ליצור את הגיבוי הראשון. אנא וודא שכרטיס הזיכרון נמצא בתוך הביטבוקס02 ולאחר-מכן המשך",text2:"אנא עקוב אחר ההוראות המופיעות על גבי מסך ההתקן בכדי ליצור גיבוי",text3:".לאחר שהגיבוי נוצר, אנא הסר את כרטיס הזיכרון ואחסן את זה במקום בטוח. המידע המוכל בכרטיס הזיכרון אינו מוגן בסיסמה. לעולם אל תכניס את כרטיס הזיכרון לביטבוקס02 שאינו שלך",userConfirmation1:".אני אמור לשמור על הגיבוי במקום מאובטח",userConfirmation2:".הגיבוי שלי אינו מוגן בסיסמה. כל אחד עם גישה לגיבוי יכול לגשת לארנק שלי",userConfirmation3:".אם אאבד או שהביטבוקס02 יפגע, הדרך היחידה לשחזר את הנכסים היא באמצעות הגיבוי שלי",userConfirmation4:".אם אאבד או יפגעו, ביטבוקס02 והגיבוי, כל הנכסים יאבדו",userConfirmation5:"אני לא אמור להכניס את כרטיס הזיכרון לשום מחשב, פלאפון, מדפסת או מכשיר אחר מלבד לארנק"},create:{button:"הזן שם להתקן והמשך",info:":מספר צעדים בסיסיים בהגדרת ההתקן",inputTitle:"שם ארנק",point1:"הזן שם להתקן",point2:"הזן סיסמה להתקן",point3:"צור גיבוי",text:"!אוקיי, בואו ניצור ארנק חדש"},createBackupFailed:".יצירת גיבוי נכשלה, נסה שוב",initialize:{passwordText:".עכשיו נקבע סיסמה להתקן. השתמש בחיישני הביטבוקס כדי לבחור סיסמה",passwordTitle:"קבע סיסמה לביטבוקס שלך",text:"צימוד התקן נוצר בהצלחה! כעת יש לאתחל את הביטבוקס02. התחל בבחירת יצירת ארנק חדש או שיחזור מתוך גיבוי קיים. אנא וודא כי הכנסת את כרטיס הזיכרון לביטבוקס02",tip:".אנו ממליצים שתמשיך במקום בטוח",title:"אתחל את ההתקן"},insertSDCard:"אנא וודא שכרטיס הזיכרון נמצא בתוך הביטבוקס02",noPasswordMatch:".סיסמאות לא תואמות, אנא נסה שוב",pairing:{failed:".צימוד לא אושר. חבר מחדש את הביטבוקס02",paired:".אישרת כי הצופן זהה בהתקן. אם זה נכון, אתה יכול להמשיך בלחיצה על הכפתור מטה",title:"אמת צופן צימוד",unpaired:".ביטבוקס02 חדש זוהה. אנא אמת שהצופן תואם לזה המוצג על המסך. אם הצופן זהה, גע בלחצן האישור ולחץ על הכפתור מטה כדי להמשיך"},restoreFromMnemonic:{failed:".נכשל, אנא נסה שוב mnemonic seed -שיחזור מ"},stepBackup:{beforeProceed:":לפני שתמשיך, אנא קרא את שיקולי האבטחה החשובים הבאים",createBackup:".גיבוי לא יווצר בכרטיס הזיכרון"},stepBackupSuccess:{fundsSafe:":על-מנת לאבטח את הנכסים, זכור",title:"!הגיבוי שוחזר"},stepConnected:{unlock:"הזן את סיסמת הביטבוקס02 כדי לבטל נעילה"},stepCreate:{nameLabel:"שם ביטבוקס02",namePlaceholder:"הביטבוקס02 שלי",title:"בחר שם לביטבוקס02",toastMicroSD:".אנא וודא כי כרטיס הזיכרון נמצא בתוך הביטבוקס02"},stepCreateSuccess:{removeMicroSD:".אנא הסר את כרטיס הזיכרון מהביטבוקס02 ואחסן אותו במקום בטוח",success:".יצרת בהצלחה גיבוי"},stepInsertSD:{insertSDCard:".אנא הכנס כרטיס זיכרון לתוך הביטבוקס02 כדי להמשיך",insertSDcardTitle:".הכנס כרטיס זיכרון"},stepPassword:{title:"קבע סיסמה לביטבוקס02",useControls:".השתמש בפקדים כדי לקבוע סיסמה לביטבוקס02"},stepUninitialized:{create:".אני מעוניין להגדיר ביטבוקס02 חדש",restore:".אני רוצה לשחזר את הארנק שלי מגיבוי",restoreMicroSD:"שחזר מכרטיס זיכרון",restoreMnemonic:"mnemonic seed -שיחזור",title:"הגדר את הביטבוקס02 שלך"},success:{text:`.הידד! הביטבוקס02 שלך מוכן לשימוש + +.בשביל מידע נוסף כיצד להשתמש בתכנה, השתמש במדריך המובנה בלחיצת על כפתור השאלה בפינה הימנית העליונה`,title:"!אתה מוכן להמשיך"}},Bq={button:"הבהוב"},Sq={button:"שדרג קושחה עכשיו",progress:"%משדרג: {{progress}}",success:".שודרג בהצלחה! אנא חבר מחדש את ההתקן. הפעם, אל תגע בכפתור"},zq={abort:"בטל",back:"חזור",buy:"קנה",changepin:"החלף סיסמת התקן",check:"בדוק גיבוי",continue:"המשך",copy:"העתק",create:"צור",download:"הורד",hiddenwallet:"צור ארנק מוסתר",next:"הבא",ok:"בסדר",previous:"הקודם",receive:"קבל",restore:"שחזר",select:"בחר",send:"שלח",unlock:"בטל נעילה",update:"עדכן",upgrade:"שדרג"},Cq={title:"קנה {{name}}"},Dq={newTitle:"סיסמת התקן חדשה",oldLabel:"סיסמת התקן נוכחית"},Aq={dataMissing:"אנחנו עדיין אוספים נתונים, נסה בעוד מספר דקות פעם נוספת",dataUpdating:"...מעדכן נתונים",filter:{all:"הכל",month:"חודש",week:"שבוע",year:"שנה"}},_q="בודק כרטיס זיכרון",Tq=".לחץ כאן",Eq={abortInfo:"הקש כדי",abortInfoRedText:"לבטל",approveInfo:"החזק 4+ שניות כדי",approveInfoGreenText:"לאשר",info:".המשך בביטבוקס",infoWhenPaired:"תחילה במכשיר המוצמד ואז בביטבוקס"},Pq=".אנא אשר בהתקן שלך",Nq={appUpradeRequired:".הביטבוקס שלך אינו נתמך על-ידי היישום. הורד והתקן את הגרסה האחרונה"},Lq={button:"אשר אימות דו-שלבי",condition1:"?יש ברשותך גיבוי",condition2:"?האם האימות בידי היישום עובד",condition3:"אימות דו-שלבי משבית גיבויים וצימוד למכשיר נייד. ההתקן חייב להתאתחל בכדי לצאת מאימות דו-שלבי",confirm:"אפשר אימות דו-שלבי",title:"אפשר אימות דו-שלבי"},Iq={firmware:{newVersion:{label:"גרסה זמינה"},title:"קושחה",upToDate:"ההתקן שלך מעודכן",version:{label:"גרסה"}},hardware:{sdcard:{false:"לא הוכנס",label:"כרטיס זיכרון",true:"הכנס"},title:"תכנה"},loading:"מאחזר מידע על התקן",pairing:{lock:{false:"בטל",label:"אימות דו-שלבי",true:"אפשר"},mobile:{false:"סגור",label:"יישום נייד",true:"פתח"},status:{false:"לא צומד",label:"מצב",true:"צומד"},title:"מצמיד"},secrets:{manageBackups:"נהל גיבויים",title:"סודות"}},$q=".הביטבוקס שלך סופק עם סיסמת שיחזור? אם כן, עצור מיד את התהליך וצור קשר עם התמיכה. החברה לעולם לא תספק ארנק מוגדר או תמליץ על סיסמאות",Mq={cancel:"בטל",confirm:"אשר",confirmTitle:"אישור"},Oq={default:"ברירת מחדל",setDefault:"הגדר {{code}} כברירת מחדל",title:"מטבעות"},Rq={appVersion:"גרסת תכנה:"},Fq={enabled_false:"מושבת",enabled_true:"מופעל"},Vq="שגיאה התרחשה. אם אתה מבחין בחריגות, התחל מחדש את התכנה.",Wq={buttons:{create:"צור ארנק חדש",restore:"שחזר ארנק מגיבוי"},paragraph:"בחר אחת מהאפשרויות הבאות:",step:{1:{title:"מידע אודות אבטחה"},2:{description:"קבע סיסמת התקן",title:"התקן"},"3-create":{description:"צור ארנק חדש",title:"ארנק"},"3-restore":{description:"מגיבוי",title:"שיחזור"},"4-create":{title:"סיכום"},"4-restore":{title:"סיכום"}}},Uq={accountDescription:{text:".סקירת החשבון שלך מציגה את היתרה הזמינה שלך כמו גם עסקאות נכנסות ויוצאות. המדריך שלנו ב'הגדרות 'כולל מידע נוסף על כל סוג חשבון",title:"?מה עמוד זה מציג לי"},accountFiat:{text:".כן. לחץ על השער ההמרה כדי לעבור למטבע פיאט אחר. ניתן לשנות את רשימת המטבעות בהגדרות",title:"?האם אוכל להציג שיעורי המרה אחרים"},accountIncomingBalance:{text:".סכומים המתקבלים לארנק שלך אל טרם אושרו ברשת",title:"?למה הכוונה במתקבלים"},accountInfo:{xpub:{text:`.מפתח ציבורי מורחב הוא מקור כל כתובות הקבלה של המשתמש +.המפתח מסופק פה לשימוש מתקדם ושיתוף עם ארנקי תצוגה בלבד, כמו אלקטרום או סנטינל`,title:"?מה זה מפתח ציבורי מורחב"}},accountRates:{text:"אנחנו מעדכנים את שערי החליפין אחת לדקה לפי קריפטו-קומפר.",title:"?אילו שערי חליפין חלים"},accountReload:{text:".אין צורך. פרטי העסקה שלך מתעדכנים אוטומטית",title:"?אני יכול לטעון מחדש את היסטוריית העסקאות"},accountSendDisabled:{text:".כפתור 'שלח' זמין כשהיתרה גדולה מאפס",title:"?מדוע אני לא יכול לשלוח עד {{unit}}"},accountSummaryAmount:{text:`coingecko.com הסכום הסופי הוא סכימת כל חשבונות הקריפטו שלך. שערי המרה נלקחים מ + +לאסימונים שלא נתמכים בתכנה זו, הם לא יכללו בכמות המוצגת MyEtherWallet הערה: אם אתה משתמש ב + +`,title:"?כיצד הכמות הסופית מחושבת"},accountSummaryDescription:{text:"כאן תוכל לראות את ביצועי תיק ההשקעות שלך לאורך זמן. סיכום של ארנקי הקריפטו שלך מוצגים תחת טבלה זו",title:"?מה עמוד זה מראה לי"},accountTransactionAttributesBTC:{text:`.גודל וירטואלי: קובע את דמי הרשת. חסכת בהצלחה בעמלות אם הוא קטן מגודל העסקה +.גודל: גודל עסקה בפועל בבתים בהמשכים לפי הבלוקצ׳יין הבסיסי +.כדי להעריך גדלים של עסקאות וחסימה. כל ביי עד מופרד נחשב לאחת, וכל השאר כארבע יחידות משקל. במקום מגה-בייט אחת בגודל בפועל, מגבלת גודל החסימה היא כעת ארבעה מיליון יחידות משקל SegWit משקל: ערך חדש שהוצג עם`,title:"?מה לגבי פרטים מדוייקים של עסקת ביטקויין"},accountTransactionAttributesGeneric:{text:`.אישורים: שידור העסקה שלך אינו מאושר עד שכורה יכלול אותו בבלוק, שלאחריו יש אישור אחד. כל בלוק המשודר ברשת מוסיף אישור נוסף לעסקה שלך. בדרך כלל סוחרים ומשתמשים אחרים ברשת יאשרו עסקאות רק בין שלוש לשש אישורים +.מזהה עסקה: מספר זיהוי ייחודי המאפשר לחפש עסקה בחוקר בלוקים +.עמלה: לכורים משולמים עמלת עסקה כתמריץ לכלול עסקאות בגושים שהם מכורים. למידע נוסף, לחץ על כפתור שלח`,title:"?מה הם האישורים בפרטי העסקה"},accountTransactionConfirmation:{text:".עסקה ששודרה לרשת אך טרם אושרה",title:"?מה היא עסקה בהמתנה"},accountTransactionLabel:{text:".זו היא הכתובת אליה התקבלו או נשלחו ממנה מטבעות",title:"?מה היא הכתובת המוצגת לכל עסקה"},accountTransactionTime:{text:".שעת אישור ביצוע העסקה לפי הבלוקצ׳יין",title:"?מה הוא הזמן המוצג"},appendix:{link:"צור עימנו קשר",text:"שאלה נוספת?"},backups:{check:{text:".בדיקת גיבוי' מאפשר לך לאשר כי ברשותך גיבוי תקין המגיב לארנק הנוכחי שלך. בדיקה זו גם מוודאת שיש ברשותך את סיסמת השיחזור הנכונה. באפשרותך לבדוק את סיסמת השיחזור הראשית או סיסמת השיחזור המוסתרת'",title:"'מה זה 'בדיקת גיבוי"},encrypt:{text:".המאוחסן Seed -לא, אך סיסמת השחזור שלך נדרשת כדי להפיק את הארנק מה",title:"?האם ניתן להצפין את הגיבוי"},howOften:{text:`.הגיבוי נוצר באופן אוטומטי כשארנק חדש נוצר. עלייך ליצור גיבוי חדש רק אם כרטיס הזיכרון אבד או ניזוק, או אם ברצטנך להחזיק מספר עותקים לגיבוי +.אין צורך ליצור גיבוי אחרי עסקאות. כל נתוני העסקאות נוצרים מחדש באמעצות הגיבוי שנוצר אוטומטית בשבילך`,title:"?באיזו תדירות עלי לבצע גיבוי"},whatIsABackup:{text:".עם סיסמת השיחזור יוצרים את הארנק שלך Seed -על גבי כרטיס הזיכרון. ה Seed -זהו העתק של ה",title:"?מה זה גיבוי"}},backupsBB02:{check:{text:".בדיקת גיבוי' מאפשר לך לאשר כי ברשותך גיבוי תקין המגיב לארנק הנוכחי שלך'",title:"?'מה זה 'בדיקת גיבוי"},encrypt:{text:'.באמצעות סיסמה, תוכל לאפשר ביטוי סיסמא אופציונאלי בהגדרות המומחה תחת "נהל מכשיר״ Seed -הלא מוצפן כדי לשחזר את הארנק. אם ברצונך להגן על ה Seed -לא. אנא שמור על בטיחות כרטיס הזיכרון, מכיוון שהוא מכיל את ה',title:"?האם ניתן להצפין את הגיבוי"},whatIsABackup:{text:".על גבי כרטיס הזיכרון Seed -זה הוא העתק של ה",title:"?מה זה גיבוי"}},bitbox:{"2FA":{text:`.כאשר אימות דו-שלבי מופעל, יש לאשר את כל העסקאות בטלפון הנייד המוצמד כדי לשלוח מטבעות. מתחת ל״פני השטח״ נשלח לאפליקציה הסלולרית מספר מוצפן לשימוש חד-פעמי, מפוענח שם, ומוחזר לביטבוקס בעת לחיצה על כפתור קבל. תקשורת זו עם המכשיר נעשית דרך הערוץ שבין הטלפון הנייד לבין אפליקציית שולחן העבודה הזו שנוצרה במהלך ההצמדה + +.הקפד לגבות את הארנק שלך ולשייך את האפליקציה לנייד לפני שתפעיל את האימות הדו-שלבי. לאחר ההפעלה, חריץ כרטיס הזיכרון והתאמת היישום לנייד מושבתים. ניתן להפעיל אותם מחדש על ידי איפוס הביטבוקס שמוחק את המכשיר`,title:"?איך אימות דו-שלבי עובד"},disable2FA:{text:"על-מנת לבטל את האימות הדו-שלבי, עלייך לאתחל מחדש את הביטבוקס ולאחר מכן לשחזר את הארנק מהגיבוי. אנא וודא כי יש ברשותך את כרטיס הזיכרון עם הגיבוי ושהינך זוכר את סיסמת השיחזור. לאחר מכן לחץ 'אפס התקן'. הגדר סיסמת התקן חדשה ובחר באפשרות 'או שחזר מגיבוי'. בחר את הגיבוי שיצרת לארנק ולחץ 'שחזר' והזן את סיסמת השיחזור שהשתמשת בה בכדי ליצור את הארנק.",title:"?איך אני יכול להשבית את האימות הדו-שלבי"},ejectBitbox:{text:".ניתוק הביטבוקס אפשרי בכל שלב",title:"?כיצד ניתן לנתק את הביטבוקס"},ejectSD:{text:".הסרת כרטיס הזיכרון מהביטבוקס אפשרית בכל שלב, מלבד כאשר בתהליך או ביצירת גיבוי",title:"?כיצד ניתן לנתק את כרטיס הזיכרון"},hiddenWallet:{text:".גיבוי משמש לארנק הרגיל והחבוי שלך, כך שלא נדרש גיבוי נוסף Seed -זהו ארנק שני על אותו התקן, מוגן באמצעות סיסמת התקן ושיחזור שונה עם אותו",title:"?מה הוא ארנק מוסתר"},legacyHiddenWallet:{text:".תחילה הקש על הכפתור מטה (זמין אם הביטבוקס לא נעול עם הסיסמת ההתקן הראשית ואימות דו-שלבי מושבת), לאחר מכן חבר את הביטבוקס מחדש ותבטל את הנעילה עם סיסמת ההתקן הסודית",title:"?כיצד לגשת לארנק מוסתר מהדור הקודם"},pairing:{text:`.המגדיר ערוץ מאובטח בין המכשיר היישום לתכנה, QRלאחר הורדת יישום הנייד שלנו לאייפון או לאנדראודי, תסרוק את צופן ה +.לאחר הסריקה, עקוב אחר ההוראות ביישום הנייד`,title:"כיצד לצמד באופן מאובטח את מכשיר הפלאפון"}},receive:{address:{text:"באפשרותך לתת את הכתובת לאחרים בכדי לשלוח לך מטבעות. תוודא שאתה שולח את הכתובת הנכונה",title:"?מה אני עושה עם כתובת"},addressChange:{text:".ברגע שעסקה מתבצעת, כתובת חדשה נוצרת ומוספת לרשימה, כך שתמיד יש ברשותך 20 כתובות שמעולם לא קיבלו מטבעות",title:"?מתי כתובות משתנות"},addressFormats:{text:"כברירת מחדל, ארנק הביטבוקס משתמש בכתובות מהסוג החדש ביותר. אם קיימת בעיה בשימוש בסוג כתובות אלו, ניתן ללחוץ על שינוי סוג הכתובות לסוג הקודם",title:"?מה ההבדלים בין כתובות מהדור הקודם לדור החדש"},howVerify:{text:`בביטבוקס01, לחץ על סמל הביטבוקס בתפריט בצד שמאל וחפש את הגדרת הצימוד. המדריך יתעדכן ותוכל להמשיך במעקב אחרי ההוראות משם +בביטבוקס02, תוכל לאשר את הכתובת ישירות מההתקן בזמן תהליך השליחה או הקבלה`,title:"?כיצד אני יכול לאמת בבטחה כתובת"},why20:{text:'.כדי לראות אם קיבלו כספים. מכיוון שהאפליקציה יכולה לייצר מספר אינסופי כמעט של כתובות, היא עשויה להקדיש שנים לקביעת היתרה. כדי להגביל חיפוש זה הוא מפסיק לאחר שהוא רואה 20 כתובות שמעולם לא קיבלו כספים. זהו "גבול הפער" ו- 20 הוא תקן דה-פקטו אם כי המספר הוא שרירותי. אלה 20 הכתובות בהן תוכלו לבחור Seed -במהלך האיתול, היישום מייצר כתובות הנגזרות מה',title:"?מדוע רק 20 כתובות"},whyMany:{text:".הגיבוי היחיד שלך Seed -כדי לשמור על פרטיות וביטחון, לעולם אל תמסור את אותה כתובת פעמיים. אם השתמשת בכתובת, לחץ על החץ ימינה לקבלת כתובת חדשה. אתה יכול ליצור עד 20 כתובות בכל פעם. חשוב על כתובות כמו מספרי חשבוניות. כל הכתובות נגזרות מ",title:"?מדוע מספר רב כל-כך של כתובות"},whyVerify:{text:"אין לסמוך על המחשב שלך כדי ליצור ולהציג כתובות אותנטיות. מחשב המחובר לרשת הופך אותו לפגיע באופן משמעותי יותר מארנק חומרה. עבור ביטבוקס01, הכפתור לאימות הכתובת שולח את הכתובת בצורה בטוחה לטלפון הנייד המוצמד, ממנו תוכלו לסרוק ולאמת את צופן ה״קיו-אר״. לגבי ביטבוקס02, ניתן לאמת את הכתובת ישירות על גבי מסך הביטבוקס02",title:"מדוע עליי לאמת את הכתובת בצורה מאובטחת?"}},send:{fee:{text:`.העמלה מבוססת על גודל נתוני העסקה ולא על גובהם. יעדי העמלות מחושבים על ידי אלגוריתם הערכת העמלות של ליבת הביטקוין לכל עדיפות ברשת שבחרת. הם מוצגים אם יש להם ערך שונה מהיעד למטה +(חסכוני: 24 בלוקים (בערך 4 שעות לביטקוין, שעה עבור לייטקויין +(נמוך: 12 בלוקים (בערך שעתיים לביטקוין, 30 דקות עבור לייטקויין +(רגיל: 6 בלוקים (כשעה לביטקוין, 15 דקות עבור לייטקויין +(גבוה: 2 חסימות (בערך 20 דקות לביטקוין, 5 דקות עבור לייטקויין +לבלוק לוקח עשר דקות בממוצע לביטקוין (2.5 דקות בלייטקויין) ועומס הרשת עשוי להשתנות במידה ניכרת בתקופות שלעיל`,title:"?כיצד העמלה נקבעת"},priority:{text:".ככל שהעמלה אותה תהיה מוכן לשלם תהיה גבוהה יותר, כך העסקה תאושר מהר יותר ברשת",title:"?מה היא עדיפות הרשת"},revert:{text:`!מרגע שעסקה נחתמה ונשלחה לרשת, אין אפשרות לבטלה. אשר את העסקאות (כולל עמלה) היטב לפני החתימה +.אם אתה מכיר את המען והוא או היא מעוניים להשיב את הסכום (פחות עמלה העסקה) בחזרה אלייך, תוכל לשלוח להם כתובת חדשה לקבלה`,title:"?האם אוכל לבטל עסקה"},whyFee:{text:`.עסקאות מתמודדות עם אישור הכורה. כורים בוחרים בעסקאות שייכללו בבלוקצ׳יין בהתבסס על עמלתם +כורים מצביעים על היסטוריית העסקאות. מכיוון שאין גורם שלישי מהימן אשר יאכוף קול אחד לאדם (וזה כל העניין של מחסומי חסימות), כורים מצביעים על עסקאות בכך שהם מקריבים משאב יקר כמו כוח מחשוב. כפרס על עבודתם, הם יכולים לתבוע מטבעות חדשים שנוצרו ואת שכר הטרחה של כל העסקאות שהם כללו`,title:"?מדוע יש עמלת רשת"}},"settings-electrum":{connection:{text:`אם ברצונך להתחבר לצומת רק כאשר אתה על אותה רשת (לדוגמה, רשת הוויפי הביתית), שימוש בתקשורת רגילה מספיק +במקרה שכזה, מומלץ ששרת האלקום יספק אישור טי.אל.אס להצפנת התקשורת +אם ברצונך להתחבר לצומת שלך מכל מקום, שימוש בתור מומלץ יותר. אין צורך באישור טי.אל.אס במקרה זה`,title:"?האם עלי להשתמש בתור, טי.אל.אס או טי.סי.פי"},instructions:{link:{text:"מדריך לחיבור לצומת שלך"},text:":למדריך המלא, בקר בעמוד ההדרכה",title:"?כיצד אני מחבר את תכנת הארנק לצומת המלא שלי"},options:{text:`קיימות מספר דרכים להריץ צומת מלא. ניתן לקנות מוצר מוגמר, לבנות אחד לבד או להריץ ליבת ביטקוין +אם ברצונך לחבר את תכנת הארנק לצומת שלך, וודא כי הוא מריץ שרת אלקטרום. זו תכנה ייעודית המאפשרת לארנק תקשורת לצומת המלא שלך +תכנות אפשריות הינן אלקטרס, שרת אלקטרום פרטי או טראקר`,title:"?אילו אופציות קיימות להרצת צומת"},tor:{text:`תור הינה תכנית קוד פתוח חינמית המאפשרת המון יתרונות פרטיות, במיוחד שימושי בשימוש בביטקוין. אם בכוונתך להתחבר לצומת שלך באמצעות תור, וודא שתור מותקן על המחשב ואפשר את תור פרוקסי בהגדרות התכנה. ברב מערכות ההפעלה קיימות שתי אפשריות להרצת תומר: +הראשונה - להוריד דפדפן תור ולהתחבר לרשת באמצעות פורט 9150 +השניה - הרצת שירותי תור ברקע +תכנת הארנק תוכל כך להתחבר באמצעות פורט 9050 בהגדרות התכנה`,title:"?מה זה תור, פרוקסי תור ובאיזה פורט עלי להשתמש"},what:{text:"קיימת אפשרות להפעיל את הארנק שלך בעזרת צומת במקום להשתמש בשרתי החברה",title:"?מה זה"},why:{text:"הרצת צומת משלך אינה הכרחית אך משפרת את הפרטיות ומורידה את הצורך בלסמוך על אחרים. ראשית, זה אומר שתשתמש בביטקוין בצורה פרטית יותר, שכן התכנה לא תתחבר לשרתים שלנו - ההיסטוריה תלקח מהצומת שלך. שנית, הרצת צומת משמעותה וידוא כל הטרנזקציות בעצמך.",title:"?מדוע שאריץ צומת מלא משלי"}},settings:{servers:{text:`כדי לבדוק עדכונים, לטעון עסקאות ולשלוח מידע לאפליקציות סלולריות מותאמות Shift Crypto -יישום זה מתקשר עם שרתי + האפליקציה מאחזרת גם את שערי החליפין האחרונים מהפלטפורמה של קריפטו-קומפר +,כל ההמרות מחושבות באופן מקומי, כלומר לא מועברים אי פעם נתונים על סכום העסקה שלך +.Etherscan.io APIs -אנחנו משתמשים ב ERC20 -בשביל מטבעות אית׳ריום ו`,title:"?עם אילו שרתים התכנה מתקשרת"}},title:"מדריך",toggle:{close:"סגור מדריך",open:"מדריך"},unlock:{forgotDevicePassword:{text:".עלייך לאתחל מחדש את ההתקן ולשחזר את הארנק מגיבוי, באמצעות סיסמת השיחזור",title:"?מה לעשות אם שכחתי את סיסמת ההתקן"},reset:{text:".הזן סיסמה שגויה 15 פעמים. הנסיונות האחרונים דורשים מגע ארוך יותר על ההתקן",title:"?כיצד אני מאתחל את ההתקן"}},waiting:{deviceNotRecognized:{text:"ההתקן אמור להבהב פעם אחת כשמוכנס. וודא כי הכנסת בצד הנכון. אם קיימת בעיה, אנא צור קשר באמצעות הקישור למטה",title:"התקן הביטבוקס01 שלי לא מזוהה"},getDevice:{link:{text:"הזמן התקן ביטבוקס"},text:":באפשרותך לרכוש התקן ביטבוקס בחנות המקוונת",title:"?כיצד אני יכול להשיג התקן"},internet:{text:"כן, חיבור לאינטרנט נדרש כדי לסנכרן את הארנק, להוציא עסקאות ולחזר שערי חליפין עדכניים",title:"האם התכנה דורשת חיבור לאינטרנט?"},lostDevice:{link:{text:"מרכז הגיבויים"},text:"באפשרותך לשחזר את חשבונותך באמצעות התקן ביטבוקס חדש או במרכז הגיבויים",title:"?איבדתי את ההתקן. מה עכשיו"},useWithoutDevice:{text:".לצערנו, זה לא אפשרי כרגע",title:"?האם ניתן להשתמש בתכנה ללא התקן"},welcome:{text:`תודה על השימוש בתכנה שנבנתה ע״י שיפט קריפטו בשוויץ +אנחנו מעריכים כל משוב, ניתן לרשום לנו בקישור למטה`,title:"!ברוך הבא לתכנת הביטבוקס"}}},qq={blocksSynced:"{{blocks}} בלוקים הסתנכרנו"},Hq={info1HTML:".שונותלמטרות חשאיות ופרטיות, ארנק פרטי יווצר על בסיס שילוב סיסמת התקן + סיסמת שיחזור",info2HTML:".הגדר את סיסמת ההתקן וסיסמת השיחזור שברצונך לשייך לארנק הסודי שמתחת. סיסמת ההתקן והשיחזור חייבות להיות שונות מאלו שהגדרת לארנק הראשי שלך",passwordLabel:"סיסמת שחזור מוסתרת",passwordPlaceholder:"נא אשר את סיסמת השחזור המוסתרת",pinLabel:"סיסמת התקן מוסתרת",pinRepeatLabel:"חזור על סיסמת ההתקן המוסתרת",pinRepeatPlaceholder:"נא אשר את סיסמת ההתקן המוסתרת",success:".ארנק מוסתר נוצר בהצלחה. חבר מחדש את התקן הביטבוקס כדי לבטל את נעילתו"},Kq={create:"קבע סיסמת התקן",creating:"...קובע סיסמת התקן",error:{e102:".סיסמת ההתקן חייבת להכיל לפחות 4 תווים"},info:{description1:".בחר את סיסמת ההתקן. סיסמה זו תשמש אותך בביטול נעילת הביטבוקס",description2:".באפשרותך להשתמש במספרים, תווים וסימנים. סיסמאות ארוכות הינן בטוחות יותר",description3:".אם סיסמת ההתקן תאבד, עלייך לבצע איתחול ושיחזור של גיבוי הארנק",subtitle:"כעת תגדיר את סיסמת ההתקן שלך",title:"מאתחל את ההתקן"},input:{label:"סיסמת התקן",labelRepeat:"חזור על סיסמת ההתקן",placeholderRepeat:"נא אשר את סיסמת ההתקן"}},Gq="תצורה שגויה",Qq={title:"בחר שפה"},Yq={disable:"השבת כתובת קדומה של ארנק מוסתר",enable:"הפעל כתובת קדומה של ארנק מוסתר",successDisable:"השבתת כתובת קדומה של ארנק מוסתר הצליחה",successEnable:"הפעלת כתובת קדומה של ארנק מוסתר הצליחה. חבר מחדש את הביטבוקס והזן את סיסמת ההתקן המוסתר בכדי לגשת לכתובת הארנק המוסתר הקדומה"},Zq="...טוען",Jq={usingMobileDataWarning:`.כדי להימנע משימוש בנתונים ניידים WiFi-שימוש בנתונים ניידים: יישום זה עשוי להוריד עד כמה מאות מגה-בייט של נתוני כותרות מהבלוקצ׳יין לאחר ביטול נעילת חשבון. אנא התחבר ל +.לאחר הביטול, הודעה זו לא תוצג שוב`},Xq={input:{description:"אופציונאלי",placeholder:"...הוסף הערה"},title:"הערה"},e9={newTxs_one:"{{count}} עסקה חדשה ב: {{accountName}}",newTxs_other:"{{count}} עסקה חדשה ב: {{accountName}}"},t9={aborted:{text:".הצימוד בוטל על-ידי יישום הנייד",title:"בוטל"},button:"הצמד ליישום הנייד",confirm:".אתה בטוח שברצונך לצמד את הביטבוקס שלך? שים לב כי לאחר מכן, הנייד יידרש כדי לבצע עסקאות",connectOnly:{button:"חבר יישום נייד",title:"'סרוק באמצעות היישום הנייד שלנו, על-ידי בחירה בתפריט ב'חבר תכנה חדשה"},error:{text:".משהו השתבש. התחל מחדש",title:"שגיאה"},pullFailed:{text:".משיכת הודעה מהנייד שלך נכשלה דרך שרת הממסרים. שרת הממסר עשוי להיות במצב לא מקוון, אנא צור קשר עם התמיכה",title:"משיכה נכשלה"},reconnectOnly:{button:"חבר מחדש את יישום הנייד"},scanningFailed:{text:".הנייד לא הצליח לסרוק את ההודעה בהצלחה. נסה שוב",title:"סריקה נכשלה"},start:{hideAppQRCode:"QR הסתר צופן",revealAppQRCode:"QR הצג צופן",step1:".לחנות של אפל או גל גוגל, תלוי במכשיר הפלאפון שלך QR אם אין ברשותך את היישום הנייד, תוכל לסרוק צופן",step2:"Digital BitBox 2FA -סרוק באמצעות היישום הנייד, הניתן למציאה בחנות היישומים של אפל או אנדרואיד תחת השם"},started:{text:"כעת, עקוב אחר ההוראות ביישום הנייד",title:"נהדר"},success:{text:"!מזל טוב, הצמדת בהצלחה את התקן הביטבוקס שברשותך עם היישום הנייד",title:"הצלחה"},timeout:{text:"זמן הצימוד נגמר לאחר שתי דקות. התחל שוב אם ברצונך לצמד עם היישום הנייד",title:"הזמן תם"},title:"צימוד לנייד"},n9={show:"הצג {{label}}",warning:{caps:"אזהרה: קאפסלוק (⇪) מופעל",paste:"״בכדי להדביק תמליל, אפשר ״הצג {{label}}"}},a9={button:"צור מספר אקראי",description:":הביטבוקס שלך יצר מספר של {{bits}}-ביטים אקראי"},i9={label:"כתובתך",onlyThisCoin:{description:".בכדי לקבל אסימונים אחרים, אפשר אותם בהגדרות. אם תפקיד אסימונים שונים, ייתכן שהם לא יהיו נגישים",warning:".וודא כי אתה מקבל {{coinName}} בלבד בכתובת זו"},showFull:"הראה ואמת כתובת מלאה בהתקן",title:"קבל {{accountName}}",verify:"וודא כתובת בצורה מאובטחת",verifyBitBox01:"וודא כתובת ביישום הנייד",verifyBitBox02:"וודא כתובת בביטבוקס02",verifyInstruction:".אנא וודא אם הכתובת הבאה תואמת את הכתובת המוצגת על גבי ההתקן שלך",warning:{secureOutput:".אנא צמד את הביטבוקס שלך עם היישום הנייד בכדי לאבטח וידוא הכתובת. השתמש ב'נהל התקנים' בתפריט הצד"}},o9={description:"!כל המידע שבהתקן יימחק, זה כולל את המפתח הפרטי שלך",notReset:".התקן לא אופס",title:"שיחזור הגדרות יצרן",understand:"יש ברשותי גיבוי וסיסמת שיחזור",understandBB02:"יש ברשותי גיבוי תקין"},r9={create:{description1:".אנו ממליצים שתגדיר את המכשיר סביבה בטוחה, כלומר הרחק מאנשים אחרים שעלולים לראות את הסיסמה שתבחר",description2:".תתבקש ליצור שתי סיסמאות",description3:".הראשונה הינה סיסמת ההתקן שתבטל את נעילת התקן הביטבוקס שלך וניתנת לשינוי מאוחר יותר",description4:".השנייה הינה סיסמת השיחזורשמבטלת את נעילת הארנק שלך. סיסמה זו לא יכולה להשתנות מאוחר יותר",description5:"הארנק ייצור קובץ גיבוי על גבי כרטיס הזיכרון שסופק. ניתן להשתמש בו במקרה חירום בכדי לשחזר את הנכסים באמצעות סיסמת השיחזור",title:"מידע אודות אבטחה"},restore:{description1:".תתבקש להכניס את כרטיס הזיכרון שעליו מאוחסן הגיבוי",description2:"בכדי לשחזר את ההתקן, תצטרך את סיסמת השיחזור",description3:".אנא שים לב כאשר אתה מזין את סיסמת השיחזור. כל סיסמה שתזין תיצור ארנק תקין. אם תזין סיסמה שגויה יוצג בפנייך ארנק עם יתרה שלא ציפית לה",title:"מידע אודות אבטחה"}},s9={agreements:{"funds-access":"אני לא אוכל לגשת לנכסים שלי אם אשכח את סיסמת השיחזור","password-change":"אני לא יכול לשנות את סיסמת השחזור מאוחר יותר","password-required":"סיסמת השיחזור נחוצה לכדי לשחזר ארנק מהגיבוי"},create:"צור ארנק",creating:"יוצר ארנק",description:":אני מבין ש",error:{e102:".הסיסמה חייבת להכין לפחות 4 תווים",e200:".עלייך להכניס כרטיס זיכרון להתקן הביטבוקס, על-מנת ליצור ארנק, כדי שגיבוי יווצר אוטומטי"},info:{button:"קבע סיסמת שיחזור כעת",description1:"הכנס כרטיס זיכרון להתקן הביטבוקס",description2:"״בחר סיסמת שיחזור לארנק וסמן ״הגדר סיסמת שיחזור כעת",description3:".הגיבוי באמצעות כרטיס הזיכרון וסיסמת השיחזור הן הדרכים היחידות לשחזר את הנכסים, במקרה של אובדן או גניבת התקן ביטבוקס",description4:".אין באפשרותך לשנות את סיסמת השיחזור בהמשך, מבלי לשנע את נכסייך",title:"צור ארנק חדש"},password:{label:"סיסמת שיחזור",repeatPlaceholder:"חזור על סיסמת השיחזור"},walletName:{label:"שם ארנק"}},l9={error:{e200:".בשיחזור ארנק מגיבוי נדרש כרטיס הזיכרון"},info:{description1:"״הכנס את כרטיס הזיכרון להתקן הביטבוקס ולחץ ״המשך",description2:"״בחר גיבוי ולחץ ״שחזר",description3:"הקש את סיסמת השיחזור",description4:".עליך לאשר כדי הבנת שסיסמה שגויה תיצור ארנק שונה",title:"כיצד לשחזר ארנק מגיבוי"}},c9={abort:"העסקה בוטלה",address:{label:"כתובת מען",placeholder:"הכנס כתובת"},amount:{label:"סכום",placeholder:"הכנס סכום"},availableBalance:"יתרה זמינה",button:"סקירה",coincontrol:{address:"כתובת",outpoint:"נקודת יציאה",title:"שלח מהפלט"},confirm:{"selected-coins":"מטבעות נבחרים",title:"אשר ובצע עסקה",total:"סכום סופי"},error:{feeTooLow:"עמלה נמוכה מדי",insufficientFunds:"אין די כספים",invalidAddress:"כתובת שגויה",invalidAmount:"סכום שגוי",invalidData:"מידע שגוי"},fee:{customPlaceholder:"הכנס סכום",label:"עמלת רשת",placeholder:"לא זמין"},feeTarget:{description:{economy:"(בלוקים: 24 (סביב ה4 שעות לביטקויין, שעה ללייטקויין",economy_ltc:"(שעה (24 בלוקים",high:"(בלוקים: 2 (סביב ה20 דקות לביטקויין, 5 דקות ללייטקויין",high_ltc:"(חמש דקות (2 בלוקים",low:"(בלוקים: 12 (סביב השעתיים לביטקויין, 30 דקות ללייטקויין",low_ltc:"(חצי שעה (12 בלוקים",normal:"(בלוקים: 6 (סביב השעה לביטקויין, רבע שעה ללייטקויין",normal_ltc:"(רבע שעה (6 בלוקים"},estimate:":זמן המתנה משוער",label:{custom:"מותאם",economy:"חסכוני",high:"גבוה",low:"נמוך",normal:"רגיל"},placeholder:"...מחשב הערכת עמלה"},maximum:"שלח הכל",priority:"עדיפות",scanQR:"QR סרוק צופן",signprogress:{description:".עסקה זו כוללת המון מידע. כדי לחתום על עסקה זו לחלוטין, תתבקש לאשר {{steps}} פעמים",label:"התקדמות"},success:"העסקה נחתמה ונשלחה",title:"שלח {{accountName}}",toggleCoinControl:"הפעל שליטת מטבע",transactionDetails:"פרטי עסקה"},u9={electrum:{add:"הוסף שרת","add-server":"הוסף",check:"בדוק",checkFailed:"נכשל",checkSuccess:"חיבור נוצר בהצלחה ל{{host}}",checking:"בודק","download-cert":"הורד אישור מרחוק","remove-server":"הסר",removeConfirm:"?הסר {{server}}",reset:"אתחל לברירת מחדל",resetConfirm:"?האם ברצונך למחוק את כל השרתים ולהתקין את שרתי ברירת המחדל",servers:"שרתים",step1:"1","step1-text":"הכנס נקודת קצה",step2:"2","step2-text":"הזן אישור של שרשרת האישורים של השרת. לחלופין, הורד את האישור המרוחק והשווה אותו חזותית","step2-text-tcp":"TLS -שלב זה ניתן למעבר אם אינך מעוניין להשתמש בפרוטוקול",step3:"3","step3-text":"בדוק את החיבור והוסף את השרת",step4:"4","step4-text":"אתחל מחדש את הארנק. אם לא תסיר את שרתי ברירת המחדל, הצומת שלך יתווסף כיתירות","title-btc":"שרתי ביטקוין אלקטרום","title-ltc":"שרתי לייטקויין אלקטרום","title-tbtc":"Bitcoin Testnet Electrum שרתי","title-tltc":"Litecoin Testnet Electrum שרתי"},expert:{coinControl:"אפשר ניהול מטבע",electrum:{title:"חבר את הצומת המלא שלך"},fee:"אפשר ניהול עמלות",setProxyAddress:"קבע כתובת פרוקסי",title:"הגדרות מתקדמות",useProxy:"הפעל פרוקסי תור"},header:{home:"בית"},restart:".אתחל מחדש את התכנה בכדי שהשינויים יתממשו",services:{title:"שירותים"},success:".נתק וחבר מחדש את ההתקן בכדי שהשינויים יתממשו",title:"הגדרות"},d9="הגדר התקן",p9={device:"נהל התקן",leave:"עזוב",settings:"הגדרות"},h9={create:{info1:"הארנק שלך גובה באופן מאובטח לכרטיס הזיכרון. הסר ושמור אותו בבטחה.",info2:"יצרת סיסמת מאובטחת להתקן אשר מבטלת את נעילתו.",info3:".יצרת סיסמת שיחזור מאובטחת לארנק שלך, כזו המאפשרת פתיחה ושיחזור כל הנכסים מהגיבוי",summary:"הנה סיכום של מה שעשית",title:"הצלחה"},getstarted:"התחל",restore:{summary:".שיחזרת בהצלחה ארנק מתוך הגיבוי",title:"הצלחה"}},m9={confirmation:"אישורים",details:{activity:"פעילות",address:"כתובת",amount:"כמות",date:"תאריך",fiat:"פיאט",fiatAmount:"כמות פיאט",status:"מצב",type:"סוג"},explorer:"מזהה עסקה",explorerTitle:"פתח בחוקר בלוקים חיצוני",fee:"עמלה",fiatHistorical:"היסטורי",gas:"גז",note:{edit:"ערוך הערה",save:"שמור הערה"},pending:"עסקה ממתינה",size:"גודל",status:{complete:"הושלם",failed:"נכשל",pending:"ממתין"},tx:{received:"קבל אל",sent:"שלח ל"},vsize:"גודל וירטואלי",weight:"משקל"},f9={placeholder:".אין עסקאות עדיין"},g9="שגיאה לא ידועה התרחשה: {{errorMessage}}",v9={description:".הזן את סיסמת ההתקן בכדי לבטל את נעילתו",error:{e109_normal:".סיסמת התקן שגויה. {{remainingAttempts}} נסיונות נותרו לפני מחיקת ההתקן",e109_touch:".$t(unlock.error.e109_normal) ההתחברות הבאה תדרוש החזקה של מקש המגע",e113:".עקב נסיונות רבים, ההתחברות הבאה דורשת החזקה של מקש המגע למשך 4 שניות"},input:{label:"סיסמת ההתקן",placeholder:"הזן את סיסמת ההתקן כדי לבטל את נעילתו"},unlocking:"...מבטל נעילה"},b9={button:"עדכון קושחה",description:"?אתה מעוניין לשדרג את הקושחה מ{{currentVersion}} ל{{newVersion}}",label:"ההתקן שלך דורש עדכון קושחה",locked:"כדי לשדרג מ{{currentVersion}} ל{{newVersion}}}, גע לחיצה ארוכה",title:"עדכן קושחה",unlocked:":האיתחול נעול. כדי להמשיך",unlocked1:"נתק וחבר מחדש את ההתקן",unlocked2:"נורית הלד תדלק בביטבוקס שלך כשהוא יחובר בחזרה",unlocked3:"גע במקש המגע כשמנורת הלד נדלקת"},k9={receivePairing:".הצמד את הביטבוקס שלך על-מנת לאפשר ווידוא עסקאות באופן בטוח. בחר ב'נהל התקן' בתפריט הצד",sdcard:"שמור על כרטיס הזיכרון הרחק מההתקן, אלמלא אתה מעוניין לנהל את הגיבויים",sendPairing:".הצמד את הביטבוקס שלך על-מנת לאמת פרטי עסקאות. בחר ב'נהל התקן' בתפריט הצד"},x9={insertBitBox02:"גע בהתקן כדי להמשיך",insertDevice:"חבר את ההתקן בכדי להתחיל",title:"ברוך הבא"},y9={account:hq,accountInfo:mq,accountSummary:fq,addAccount:gq,app:vq,backup:bq,bb02Bootloader:kq,bitbox:xq,bitbox02Interact:yq,bitbox02Settings:wq,bitbox02Wizard:jq,blink:Bq,bootloader:Sq,button:zq,buy:Cq,changePin:Dq,chart:Aq,checkSDcard:_q,clickHere:Tq,confirm:Eq,confirmOnDevice:Pq,device:Nq,deviceLock:Lq,deviceSettings:Iq,deviceTampered:$q,dialog:Mq,fiat:Oq,footer:Rq,generic:Fq,genericError:Vq,goal:Wq,guide:Uq,headerssync:qq,hiddenWallet:Hq,initialize:Kq,invalidFormat:Gq,language:Qq,legacyhiddenwallet:Yq,loading:Zq,mobile:Jq,note:Xq,notification:e9,pairing:t9,password:n9,random:a9,receive:i9,reset:o9,securityInformation:r9,seed:s9,seedRestore:l9,send:c9,settings:u9,setup:d9,sidebar:p9,success:h9,transaction:m9,transactions:f9,unknownError:g9,unlock:v9,upgradeFirmware:b9,warning:k9,welcome:x9},w9={disconnect:"Connessione interrotta. Riprovo...",export:"Esporta",exportTransactions:"Esporta transazioni in formato CSV nella cartella download",fatalError:"Si è verificato un errore inatteso",incoming:"In entrata",initializing:"Raccolgo informazioni dalla blockchain",maybeProxyError:"Proxy Tor attivato. Assicurati che il tuo proxy Tor funzioni correttamente, oppure disabilita l'impostazione del proxy.",reconnecting:"Connessione persa, provo a riconnettermi...",syncedAddressesCount:"{{count}} indirizzi letti"},j9={address:"Indirizzo",buyCTA:{buy:"Acquista {{unit}}",buyCrypto:"Acquista cryptovalute",information:{looksEmpty:"Sembra che il portafoglio sia vuoto.",start:"Iniziate depositando alcune valute nel portafoglio o acquistando direttamente nella BitBoxApp."}},extendedPublicKey:"Chiave pubblica estesa",label:"Informazioni sull'account",scriptType:"Tipo di script",title:"Informazioni sull'account",verify:"Verifica sul dispositivo",xpubTypeChangeBtn:{p2pkh:"Visualizza la chiave pubblica estesa di P2PKH",p2tr:"Visualizza Taproot",p2wpkh:"Visualizza Native Segwit","p2wpkh-p2sh":"Visualizza la chiave pubblica estesa Segwit più vecchia"},xpubTypeInfo:"Attualmente viene visualizzata la chiave pubblica estesa {{scriptType}} ({{current}} di {{numberOfXPubs}})"},B9={availableBalance:"Saldo disponibile",balance:"Saldo",exportSummary:"Esporta il riepilogo dell'account in formato CSV nella cartella download",fiatBalance:"Saldo fiat",name:"Nome account",noAccount:"Non ci sono account da mostrare",subtotalWithCoinName:"Totale ({{coinName}})",title:"Il mio portafoglio",total:"Totale",transactionHistory:"Storico transazioni"},S9={chooseName:{nextButton:"Aggiungi account",step:"Nome dell'account",title:"Assegna un nome all'account"},selectCoin:{nextButton:"Avanti",step:"Seleziona valuta",title:"Seleziona cryptovaluta"},success:{addAnotherAccount:"Aggiungi un nuovo account",message:"{{accountName}} è stato aggiunto ai tuoi account.",nextButton:"Fatto",step:"Finito",title:"Account aggiunto"},title:"Aggiungi account"},z9={addressRequest:"{{host}} richiede un indirizzo di ricezione.",addressRequestWithLogo:`richiede un indirizzo di ricezione +`,banner:"Richiesta dell'indirizzo in corso",errorTitle:"Errore durante la richiesta dell'indirizzo",labelAddress:"Indirizzo",labelMessage:"Messaggio",reverifyInfoText:"Verifica indirizzo",signing:`Per procedere, firmare il messaggio sul BitBox02 +`,success:{message:"Continua su {{host}}",title:"Indirizzo inviato con successo"},syncing:`Sincronizzazione dell'account, attendere prego. +`,title:"Richiesta di indirizzo"},C9={upgrade:"E' disponibile una nuova versione di questa app! Aggiorna dalla {{current}} alla {{version}}."},D9={authButton:"Autenticati",title:"Autenticati per continuare"},A9={check:{checking:"Sto verificando backup...",confirmTitle:"Verifica backup",notOK:"Il backup NON combacia con il portafoglio.",ok:"Il backup combacia con il portafoglio.",password:{label:"Password di recupero",placeholder:"Password di recupero",showLabel:"password di recupero"},success:"Back verificato con successo:",title:"Verifica backup"},create:{alreadyExists:"Hai già un backup valido. Vuoi ricrearlo?",fail:"Creazione backup FALLITA!",info:"Inserisci la password di recupero del portafoglio attuale per la verifica.",name:{label:"Nome del backup",placeholder:"Assegna un nome al backup"},password:{label:"Password di recupero",placeholder:"Inserisci la tua password di recupero"},title:"Crea backup",verificationFailed:"La password di recupero NON corrisponde al portafoglio attuale. Il backup è stato creato. Per favore usa 'Controlla backup' per verificare di nuovo la tua password di recupero."},description:"Scegli il file di backup del wallet",insert:"Inserisci la carta microSD per gestire i backup.",insertButton:"Ho inserito la carta microSD",list:"I tuoi backup sulla carta microSD",noBackups:"Non ci sono backup su questa carta microSD",restore:{confirmTitle:"Ripristina backup",error:{e200:"Carta microSD non trovata",general:"Errore nel ripristino del backup"},password:{label:"Password di recupero o password di recupero nascosta",placeholder:"Password di recupero",repeatPlaceholder:"Ripeti password di recupero",showLabel:"Password di recupero"},restoring:"Ripristino backup...",selectedBackup:"{{backupName}} creato in data {{createdDateTime}} verrà ripristinato.",title:"Ripristina",understand:"Capisco che una password di recupero errata creerà un portafoglio diverso"},showMnemonic:{description:`Ti verranno mostrate le parole di recupero, che formano un backup del tuo portafoglio. Scrivile su carta. + +Non custodirle digitalmente e non fotografarle. + +Non pronunciare le parole ad alta voce. + +Questo backup non è protetto da password. + +In seguito ti sarà richiesto di confermare ogni parola.`,title:"Mostra le parole di recupero",warning:"Non condividere le tue parole di recupero con nessuno. Le parole di recupero danno pieno accesso al tuo portafogli. Se qualcuno ti chiede le tue parole di recupero, vuole truffarti. Non condividerle!"},title:"Gestisci i backup"},_9={abort:"Non aggiornare - riportami indietro",abort_noUpgrade:"Indietro",advanced:{label:"Impostazioni avanzate",toggleShowFirmwareHash:"Mostrami l'hash del firmware ogni volta all'avvio"},flipscreen:"Capovolgi schermo",orientation:"Orientamento del dispositivo sbagliato?",success:"Aggiornamento riuscito! Passo successivo in {{rebootSeconds}} secondi...",success_install:"Installazione riuscita! Continua tra {{rebootSeconds}} secondi..."},T9={error:{e10000:"Password errata per questo dispositivo",e10001:"Impossibile sostituire la password del dispositivo",e102:"La password deve essere di almeno 4 caratteri.",e112:"La password nascosta non può essere uguale alla password principale del dispositivo."}},E9={confirmDate:"Conferma la data di oggi sul tuo BitBox02",confirmDateText:"Questa data sarà usata per creare il tuo backup.",confirmName:"Conferma il nome sul BitBox02",confirmWords:"Prendi nota delle {{amount}} parole di recupero dal tuo BitBox02",confirmWordsText:"In seguito il BitBox02 ti chiederà di confermare ogni parola per verificare la correttezza del tuo backup.",followInstructions:"Segui le istruzioni sul tuo BitBox02",followInstructionsMnemonic:"Segui le istruzioni sul tuo BitBox02 per ripristinare utilizzando le parole di recupero.",followInstructionsMnemonicTitle:`Ripristina da parole di recupero +`},P9={deviceName:{current:"Nome attuale del dispositivo",error:"Non è stato possibile configurare il nome del dispositivo",error_104:"La conferma del nome del dispositivo è stata abortita sul dispositivo.",input:"Nome del BitBox02",placeholder:"Nuovo nome del dispositivo",title:"Imposta il nome del BitBox02"},gotoStartupSettings:{description:"Questo riavvia il BitBox02 e inizializza le impostazioni di avvio.",title:`Vai alle impostazioni di avvio +`}},N9={advanced:{button:"Opzioni avanzate",outOfDate:"Firmware non aggiornato per questa funzionalità",seed12WordInfo:"Attenzione, il numero di parole non potrà essere modificato dopo la creazione del portafogli.",seed12WordLabel:"Crea un seed da 12 parole invece di 24",seed12WordText:"Il BitBox02 di default usa un seed da 24 parole. All'atto pratico, entrambe le lunghezze del seed sono sicure contro attacchi di tipo brute force. Alcuni utenti potrebbero preferire la comodità di un seed da 12 parole.",skipSDCardLabel:"Salta il backup su microSD e sostituiscilo annotando le parole di recupero",skipSDCardText:"Hai sempre l'opzione di creare un backup su microSD o annotare le parole di recupero dopo il setup. Puoi farlo dalle impostazioni.",title:"Opzioni di backup avanzate"},attestationFailed:"L'attestazione del dispositivo non è riuscita. Ciò potrebbe essere dovuto al riavvio dell'app mentre il dispositivo stava aspettando l'input dell'utente. Si prega di ricollegarsi e riprovare. Contattare support@bitbox.swiss se l'errore persiste.",backup:{point1:"Scegli un backup sulla carta microSD",point2:"Imposta una password per il tuo dispositivo",restoreText:"Ok, ripristiniamo un backup!",text1:"Bene, la tua password di BitBox02 è ora impostata e il portafoglio creato. Ora è il momento di creare il tuo primo backup. Assicurati che la tua scheda microSD sia inserita nel tuo BitBox02 e continua.",text2:"Segui le istruzioni sullo schermo del tuo dispositivo per creare un backup.",text3:"Dopo che il backup è stato creato, rimuovi la scheda microSD e conservala in un luogo sicuro. Il contenuto della scheda microSD non è protetto da password. Non inserirla mai in nessun altro dispositivo che non sia il tuo BitBox02.",userConfirmation1:"Devo conservare il backup in un luogo sicuro.",userConfirmation2:"Il backup non è protetto da una password. Chiunque abbia accesso ad esso può accedere anche al mio portafoglio.",userConfirmation3:"Se perdo o danneggio il mio BitBox02, l'unico modo per recuperare i miei fondi è ripristinare il backup.",userConfirmation4:"Se perdo o danneggio sia il backup che il dispositivo BitBox02, i miei fondi andranno persi.",userConfirmation5:"Non devo inserire il mio backup su scheda microSD in un computer, telefono, stampante o qualsiasi altro dispositivo che non sia un BitBox02.",userConfirmation5mnemonic:"Non devo inserire le mie parole di recupero in un computer, telefono, stampante o altro dispositivo diverso da BitBox02."},create:{button:"Assegnare un nome al dispositivo e continuare",info:"Ecco i passaggi necessari per configurare il tuo BitBox: ",inputTitle:"Nome del portafoglio",point1:"Dai un nome al tuo dispositivo",point2:"Imposta una password per il tuo dispositivo",point3:"Crea un backup",text:"Bene, ora creiamo un nuovo portafoglio!"},createBackupAborted:"Creazione del backup interrotta.",createBackupFailed:"Creazione del backup fallita. Riprovare.",initialize:{passwordText:"Ora impostiamo la password del dispositivo. Usa i controlli sul tuo BitBox per scegliere i caratteri della password.",passwordTitle:"Imposta la password per il tuo BitBox",text:"BitBox02 abbinato con successo! Ora inizializziamo il tuo dispositivo. Inizia scegliendo se creare un nuovo portafoglio o ripristinare un portafoglio da un backup esistente. Assicurati di avere una scheda microSD inserita nel tuo BitBox02",tip:"Ti consigliamo di procedere in un luogo sicuro.",title:"Inizializza il tuo BitBox"},insertSDCard:"Assicurati di aver inserito la scheda microSD nel tuo BitBox02.",noPasswordMatch:"Le password non corrispondono. Riprovare.",pairing:{failed:"Abbinamento non confermato. Ricollega il tuo BitBox02.",paired:"Hai confermato il seguente codice sul tuo dispositivo. Puoi continuare.",title:"Verifica il codice di abbinamento",unpaired:"È stato rilevato un nuovo BitBox02. Si prega di verificare che il seguente codice corrisponda a quello mostrato sul tuo dispositivo. Se il codice corrisponde, tocca sotto il segno di spunta sul tuo BitBox02 e poi clicca sul pulsante qui sotto per continuare."},restoreFromMnemonic:{e104:"Il ripristino tramite parole di recupero è stato cancellato.",failed:"Ripristino con parole di recupero non riuscito. Riprovare."},stepBackup:{beforeProceed:"Prima di procedere, leggi queste importanti considerazioni sulla sicurezza:",createBackup:"Ora si procede a creare un backup sulla scheda microSD.",createBackupMnemonic:"Scrivi le parole di recupero."},stepBackupSuccess:{fundsSafe:"Per tenere i tuoi fondi al sicuro, ricordati quanto segue:",title:"Backup ripristinato!"},stepConnected:{unlock:"Inserisci la password del BitBox02 per sbloccare."},stepCreate:{description:"Questo nome viene utilizzato come nome del dispositivo e per il backup.",nameLabel:"Nome del BitBox02",namePlaceholder:"Il mio BitBox02",title:"Scegli il nome del BitBox02",toastMicroSD:"Inserisci nel tuo BitBox02 la scheda microSD che sarà utilizzata per salvare un backup del tuo portafogli."},stepCreateSuccess:{removeMicroSD:"Rimuovere la scheda microSD dal BitBox02 e conservarla in un luogo sicuro.",storeMnemonic:"Custodisci le tue parole di recupero in un posto sicuro",success:"Il backup è stato creato con successo."},stepInsertSD:{insertSDCard:"Inserisci la scheda microSD nel BitBox02 per continuare.",insertSDcardTitle:"Inserire la scheda microSD"},stepPassword:{e104:"L'impostazione della password è stata cancellata.",title:"Impostare la password del BitBox02",useControls:"Usa i controlli sul tuo BitBox02 per impostare la password."},stepUninitialized:{create:"Vorrei configurare un nuovo BitBox02.",restore:"Vorrei ripristinare il mio portafoglio da un backup.",restoreMicroSD:"Ripristina dalla scheda microSD",restoreMnemonic:"Ripristina utilizzando le parole di recupero",title:"Configurare il BitBox02"},success:{text:`Urrà! Il tuo BitBox02 è ora pronto all'uso. + +Per ulteriori informazioni su come utilizzare la BitBoxApp, si prega di utilizzare la guida in-app cliccando sul punto di domanda in alto a destra.`,title:"Pronti a partire!"}},L9={button:"Lampeggia"},I9={button:"Aggiornare il firmware",button_install:"Installa il firmware adesso",progress:"Aggiornamento: {{progress}}%",progress_install:`Installazione: {{progress}}% +`,success:"Aggiornamento riuscito! Ricollegare il dispositivo. Questa volta non toccare il pulsante."},$9={abort:"Interrompere",back:"Indietro",buy:"Acquista",changepin:"Cambia la password del dispositivo",check:"Verifica il backup",continue:"Continua",copy:"Copia",create:"Creare",dismiss:"Sospendi",done:"Fatto",download:"Scarica",hiddenwallet:"Crea un portafoglio nascosto",next:"Successivo",ok:"OK",previous:"Precedente",receive:"Ricevi",restore:"Ripristina",select:"Selezionare",send:"Invia",unlock:"Sblocca",update:"Aggiorna",upgrade:"Aggiorna"},M9={exchange:{bankTransfer:"Bonifico bancario",bestDeal:"Miglior prezzo",creditCard:"Carta di credito",fast:"Rapido",fee:"commissione",infoContent:{moonpay:{fees:{bankTransfer:"Bonifico Bancario: {{fee}}%",creditDebitCard:"Carta di debito/credito: {{fee}}%",learnMore:"Scopri di più su Moonpay",title:"Commissioni"},fullCurrenciesList:"Vedi la lista completa di valute qui",payment:{asteriskText:"* Non disponibile per i residenti in US",bankTransfer:"Bonifico bancario*",bankTransferDetails:{pix:"PIX (Transazioni BR esclusivamente in Brasile)",sepa:"SEPA e SEPA istantaneo (transazioni EUR esclusivamente in Paesi SEPA)",uk:"UK Faster Payments (transazioni GBP esclusivamente in UK)"},creditDebitCard:"Carta di credito/debito",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa e Maestro"},learnMore:"Vedi più dettagli sui metodi di pagamento",title:"Metodi di pagamento"},supportedCurrencies:"Supporta tutte le principali valute fiat: USD, EUR, CHF, and altre."},pocket:{fees:{info:"Bonifico bancario: {{fee}}%",title:"Commissioni"},learnMore:"Scopri di più su Pocket",payment:{bankTransfer:"Bonifico bancario",bankTransferDetails:{sepa:"SEPA e SEPA istantaneo (per le transazioni in EUR nei Paesi SEPA)",sic:"Swiss Interbank Clearing (per le transazioni in CHF in CH/LI)",uk:"UK Faster Payments (per le transazioni GBP in UK)"},bankTransferReccuring:"Come impostare degli acquisti ricorrenti tramite un ordine permanente?",title:"Metodi di pagamento"},supportedCurrencies:"Supporta le seguenti valute Europee: EUR, GBP e CHF",verification:{info:"Richiede una verifica dell'identità solamente al di sopra delle soglie giornaliere ed annuali",link:"Trova le soglie aggiornate qui",title:"Verifica dell'identità"}},region:{title:"Selezione il Paese in cui hai registrato il tuo conto bancario per vedere le opzioni disponibili per te."}},noExchanges:"Mi dispiace, non ci sono exchange disponibili in questo Paese",region:"Paese",selectRegion:"Non specificato",title:"Compra {{name}}"},info:{continue:"Accetta e continua",crypto:"crypto",disclaimer:{intro:["Siamo una partnership MoonPay per offrirti un modo semplice per comprare {{name}} direttamente all'interno della BitBoxApp. Bastano pochi click.","MoonPay è una piattaforma che rende comprare {{name}} facile e veloce in oltre 160 paesi."],payment:{details:"Puoi comprare {{name}} istantaneamente tramite MoonPay con i seguenti metodi di pagamento. Gli ordini con carta di credito o di debito sono immediati e convenienti, ma più costosi a causa del maggior rischio di chargeback. Raccomandiamo di usare l'opzione del bonifico bancario per importi maggiori. La tariffa minima è di 4 USD/EUR o equivalente.",footnote:"Si prega di notare che i tassi di cambio di MoonPay possono differire da quelli utilizzati nella BitBoxApp, risultando in importi leggermente diversi.",table:{"1_description":"Tariffe più basse, possono richiedere fino a 3 giorni lavorativi","1_method":"Trasferimenti bancari (SEPA)","2_description":"Commissioni più alte, ma veloce ed istantaneo","2_method":"Carte di debito e credito",description:"Descrizione",fee:"Commissione",method:"Metodo"},title:"Metodi di pagamento e commissioni"},privacyPolicy:"Privacy policy di MoonPay",protection:{description:"La BitBoxApp non raccoglie alcun dato quando si acquista {{name}} ed i fondi in entrata sono trattati come una normale transazione. MoonPay ha bisogno di raccogliere alcuni dati personali per operare. La loro privacy policy spiega in dettaglio come questi dati vengono gestiti.",descriptionGeneric:"BitBoxApp non registra nessun dato durante l'acquisto di {{name}}, i fondi in entrata sono trattati come comuni transazioni. Ciò nonostante, gli exchange partner hanno bisogno di alcune informazioni per poter operare. Fai riferimento alle rispettive privacy policy per verificare come i dati vengono gestiti.",title:"Protezione dei dati"},security:{description:`Quando acquisti {{name}} tramite MoonPay, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione.`,descriptionGeneric:`Quando acquisti {{name}} tramite un exchange partner, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione.`,link:"Security threat model",title:"Security model"},title:"Benvenuto nel tuo sportello unico per l'acquisto di {{name}}"},next:"Prossimo",selectLabel:"Scegli un account",selectPlaceholder:"Seleziona una valuta",skip:"Non mostrare più",title:"Acquista {{name}}"},pocket:{data:{link:"Privacy policy di Pocket",p1:"BitBoxApp non registra nessun dato durante l'acquisto di Bitcoin, i fondi in entrata sono trattati come comuni transazioni. Pocket ha bisogno di alcune informazioni personali per poter operare. La loro privacy policy spiega in dettaglio come i dati vengono gestiti.",title:"Protezione dei dati"},kyc:{link:"Leggi le FAQ di Pocket",p1:"Pocket cerca di mantenere al minimo il KYC. Per acquisti al di sotto dei 950 EUR (1000 CHF) al giorno, non è necessario nessun documento aggiuntivo. Per acquisti di importi superiori, sarà necessario programmare una call con Pocket per completare le necessarie procedure KYC/AML.",title:"KYC/AML"},payment:{p1:"Puoi comprare Bitcoin istantaneamente con Pocket tramite un bonifico bancario SEPA. La commissione è del 1,5% e i Bitcoin vengono depositati sul tuo BitBox appena possibile una volta che Pocket ha ricevuto il bonifico (di solito in giornata).",p2:"Si prega di notare che i tassi di scambio utilizzati da Pocket potrebbero differire da quelli utilizzati nella BitBoxApp, risultando in importi leggermente diversi.",title:"Metodi di pagamento e commissioni"},previousTransactions:"Lo storico di transazioni di questo account non è vuoto. Condividere questo account renderà tutte le transazioni passate e future visibili per Pocket. Procedere comunque? ",security:{link:'"BitBox02 security threat model"',p1:`Quando acquisti Bitcoin tramite Pocket, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione. Comunque, lavoriamo insieme per migliorare la sicurezza utilizzando un meccanismo di autenticazione a due fattori per verificare il tuo indirizzo di ricezione.`,title:"Modello di sicurezza "},usedAddress:"L'indirizzo {{address}} è già stato utilizzato, per favore ricomincia da capo con un nuovo indirizzo.",verifyBitBox02:"Per favore, verifica che l'indirizzo che hai ricevuto via email corrisponda a quello visualizzato sul tuo BitBox. Se possibile, dovresti aprire la mail su un secondo dispositivo per maggiore sicurezza.",welcome:{p1:"Collaboriamo con Pocket per offrirti un modo fluido per acquistare Bitcoin direttamente nella BitBoxApp. Sono solo pochi click.",p2:"Pocket è una piattaforma Svizzera che rende semplice e veloce acquistare Bitcoin in gran parte dell'Europa (ovunque un bonifico bancario SEPA sia supportato).",p3:"Con Pocket, puoi anche acquistare regolarmente tramite singoli bonifici bancari, quindi puoi fare DCA (dollar-cost averaging) con semplicità.",title:"Benvenuto nel tuo sportello unico per l'acquisto di Bitcoin"}},title:"Acquista {{name}}"},O9={newTitle:"Nuova password del dispositivo",oldLabel:"Password attuale del dispositivo"},R9={dataMissing:"Raccolta di dati ... rimanete collegati.",dataOldTimestamp:"Aggiornamento dei tassi di cambio storici. Il grafico non visualizza dati posteriori al {{time}}",dataUpdating:"aggiornamento dei dati ...",filter:{all:"Tutto",month:"Mese",week:"Settimana",year:"Anno"}},F9="verifica della scheda microSD",V9="Clicca qui.",W9={abortInfo:"Tocca per",abortInfoRedText:"interrompere",approveInfo:"Tocca per almeno 4 secondi per",approveInfoGreenText:"confermare",info:"Continua sul tuo BitBox",infoWhenPaired:"Prima sul cellulare accoppiato e poi sul tuo BitBox"},U9="Conferma sul tuo dispositivo.",q9={promptNoName:"Connetti il tuo BitBox02 per continuare",promptWithName:'Connetti il tuo BitBox02 con nome "{{name}}" per continuare'},H9={toggle:"Modalità scura"},K9={appUpradeRequired:"Il tuo BitBox non è compatibile con questa versione dell'applicazione desktop. Installa l'ultima versione."},G9={button:"Abilita autenticazione a due fattori (2FA)",condition1:"Hai un backup?",condition2:"La verifica via applicazione mobile funziona?",condition3:"2FA DISABILITA i backup e l'abbinamento dell'applicazione mobile. Il dispositivo deve essere resettato per uscire da 2FA!",confirm:"Abilita autenticazione a due fattori (2FA)",title:"Abilita autenticazione a due fattori (2FA)"},Q9={backups:{manageBackups:{description:"Crea o verifica il tuo backup su microSD."},showRecoveryWords:{description:"Mostra e verifica le parole di recupero."},title:"Backup"},deviceInformation:{attestation:{description:"La BitBoxApp verifica che il tuo dispositivo sia autentico."},deviceName:{description:"Modifica il nome del tuo dispositivo."},rootFingerprint:{description:"La root fingerprint è un identificatore univoco del portafogli attualmente in uso. Ti può aiutare a distinguere portafogli diversi se usi la passphrase."},securechip:{description:"Modello del secur chip."},title:"Informazioni sul dispositivo"},expert:{factoryReset:{description:"Ripristina il dispositivo alle impostazioni di fabbrica. Questo cancella il portafogli sul tuo BitBox02!",title:"Ripristino alle impostazioni di fabbrica"},goToStartupSettings:{description:"Entra nel bootloader del BitBox02. Da qui puoi abilitare il firmware hash"},passphrase:{description:"Abilita o disabilita la passphrase.",title:"Passphrase"}},firmware:{firmwareVersion:"Versione Firmware",newVersion:{label:"Versione disponibile"},title:"Firmware",upToDate:"Il tuo dispositivo è aggiornato",upgradeAvailable:"Nuovo upgrade disponibile",version:{label:"Versione"}},hardware:{attestation:{false:"Verifica di autenticità fallita",label:"Verifica di autenticità",true:"Il tuo Bitbox02 è autentico"},sdcard:{false:"Non inserita",label:"carta microSD",true:"Inserita"},securechip:"Secure chip",title:"Hardware"},loading:"Recupero delle informazioni sul dispositivo...",pairing:{lock:{false:"Disabilitato",label:"Autenticazione a due fattori",true:"Abilitato"},mobile:{false:"Chiuso",label:"Applicazione mobile",true:"Aperto"},status:{false:"Non abbinato",label:"Status",true:"Abbinato"},title:"Abbinamento"},secrets:{manageBackups:"Gestione backup",title:"Segreti"}},Y9="Il tuo BitBox è stato fornito con una password di recupero? Se è così, interrompi il processo di configurazione e contatta il supporto immediatamente. Shift non ti fornirà mai un portafoglio pronto né ti consiglierà una password.",Z9={cancel:"Annulla",confirm:"Conferma",confirmTitle:"Conferma"},J9={accountAlreadyExists:"L'account esiste già.",accountLimitReached:"Impossibile aggiungere un account. È stato raggiunto il numero massimo di account per questa moneta.",aoppCallback:`Si è verificato un errore nella consegna dell'indirizzo a {{host}}. +`,aoppInvalidRequest:"Richiesta non valida",aoppNoAccounts:"Non ci sono account disponibili.",aoppSigningAborted:`Richiesta di proprietà dell'indirizzo annullata. +`,aoppUnknown:`Si è verificato un errore sconosciuto. +`,aoppUnsupportedAsset:"The asset is not supported.",aoppUnsupportedFormat:"Non ci sono account disponibili che supportino il formato di indirizzo richiesto.",aoppUnsupportedKeystore:`Il dispositivo collegato non può firmare i messaggi per questo asset. +`,aoppVersion:"Versione sconosciuta.",wrongKeystore:"Portafogli connesso errato. Assicurati di inserire il dispositivo corretto per questo account.",wrongKeystore2:"Se stai utilizzando la passphrase opzionale, assicurati di avere inserito quella corretta per questo account."},X9={default:"predefinito",setDefault:"Imposta {{code}} come valuta predefinita",title:"Valute"},eH={appVersion:"Versione dell'app:"},tH={enabled_false:"Disabilitato",enabled_true:"Abilitato"},nH="Si è verificato un errore. Se noti qualche problema, riavvia l'applicazione.",aH={buttons:{create:"Creare un nuovo portafoglio",restore:"Ripristina un portafoglio dal backup"},paragraph:"Seleziona una delle seguenti opzioni:",step:{1:{title:"Informazioni sulla sicurezza"},2:{description:"Impostare la password del dispositivo",title:"Dispositivo"},"3-create":{description:"Crea un nuovo portafoglio",title:"Portafoglio"},"3-restore":{description:"da un backup",title:"Ripristina"},"4-create":{title:"Riassunto"},"4-restore":{title:"Riassunto"}}},iH={accountDescription:{text:"La panoramica dell'account mostra il tuo saldo disponibile e le transazioni in entrata e in uscita. La nostra guida in 'Impostazioni' contiene maggiori informazioni sui diversi tipi di account. ",title:"Cosa contiene questa pagina?"},accountFiat:{text:"Si. Clicca su qualsiasi ticker per scorrere tra le valute fiat. Puoi cambiare la lista delle valute nelle impostazioni.",title:"Posso visualizzare altri tassi di conversione?"},accountIncomingBalance:{text:"Le somme in entrata riassumono gli importi trasferiti a voi ma non ancora confermati dalla rete.",title:"Cosa significa somme in entrata?"},accountInfo:{multipleXPubs:{text:`Ogni xpub è legata al "Tipo" indicato: "Native Segwit (bech32)", "Wrapped Segwit" o "Taproot" (solo Bitcoin). Questi sono i tipi di script utilizzati da {{coinName}}. La BitBoxApp li combina, supportando più tipi di script nello stesso account. Poiché ogni tipo di script fornisce un xpub diverso, esistono più xpub per account. + +Se si riceve sempre sull'indirizzo predefinito (Native Segwit), è necessario solo l'xpub "bech32". Tuttavia, se si ricevono fondi anche su "Wrapped Segwit" o "Taproot", è necessario utilizzare anche le chiavi pubbliche estese "Wrapped Segwit" e "Taproot" rispettivamente.`,title:`Perché ci sono diverse xpub? +`},privacy:{text:`Per questo specifico account, la chiave pubblica estesa rivela l'intera storia finanziaria, il saldo dell'account e tutte le transazioni future. L'xpub però non consente a nessuno di spendere i tuoi fondi. + +Se si condivide un'xpub con qualcuno, si deve essere consapevoli che questa persona o azienda può vedere tutte le altre transazioni dello stesso account. Pertanto, è bene utilizzare quell'account solo per questo scopo e conservare gli altri fondi in account diversi.`,title:"Devo tenere la my xpub segreta?"},verify:{text:"Sì, è sempre una buona idea ricontrollare la propria xpub. E' particolarmente importante nel caso in cui qualcun altro generi indirizzi di ricezione da questa xpub per inviare denaro. È necessario verificarla sul dispositivo per assicurarsi che questa xpub appartenga a voi; in caso contrario, tutti i fondi potrebbero andare a indirizzi sbagliati.",title:`È necessario verificare l'xpub sul dispositivo? +`},xpub:{text:`Una chiave pubblica estesa è una chiave "root" da cui derivano tutti gli indirizzi di ricezione di un account. + +È fornita qui per un uso avanzato e per l'interoperabilità con portafogli watch-only, come Electrum o Sentinel. Se hai ricevuto su diversi tipi di indirizzo, importa tutti i diversi formati xpub nel portafoglio watch-only per vedere tutte le tue valute. + +Nota bene: i portafogli di terze parti potrebbero non supportare ancora gli xpub di Taproot.`,title:"Cos'è una chiave pubblica estesa?"}},accountRates:{text:"Aggiorniamo i tassi di cambio ogni minuto da CoinGecko.",title:"Quali tassi di cambio si applicano?"},accountReload:{text:"Non ce n'è bisogno. Le informazioni sulla tua transazione vengono aggiornate automaticamente.",title:"Posso ricaricare la cronologia delle transazioni?"},accountSendDisabled:{text:"Il pulsante 'Invia' è attivo quando hai un saldo maggiore di zero.",title:"Perché non posso inviare {{unit}}?"},accountSummaryAmount:{text:`L'importo totale è la somma di tutti i tuoi account. I tassi di cambio sono ottenuti da coingecko.com. + +Nota: se usi MyEtherWallet per i token non supportati nella BitBoxApp, questi non saranno inclusi nell'importo visualizzato.`,title:"Come viene calcolato l'importo totale?"},accountSummaryDescription:{text:"Qui pui vedere la performance del tuo portafogli nel tempo. Sotto il grafico viene visualizzato un riepilogo dei diversi account.",title:"Cosa contiene questa pagina?"},accountTransactionAttributesBTC:{text:`Dimensione virtuale: Determina la tassa di rete. Si risparmia sulle commissioni se è più piccola della dimensione della transazione. +Dimensione: Dimensione effettiva della transazione in byte quando serializzata secondo la blockchain sottostante. +Peso: Una nuova metrica introdotta con Segwit per valutare le dimensioni delle transazioni e dei blocchi. Ogni byte del "segregated witness" conta come uno, tutto il resto come quattro unità di peso. Invece di un megabyte di dimensione effettiva, il limite della dimensione del blocco è ora di quattro milioni di unità di peso.`,title:"E i dettagli delle transazioni in Bitcoin?"},accountTransactionAttributesGeneric:{text:`Conferme: La tua prima transazione trasmessa non è confermata fino a quando un minatore la include in un blocco, dopo di che ha una conferma. Ogni blocco trasmesso sulla rete aggiunge un'altra conferma alla tua transazione. Generalmente i commercianti e gli altri attori della rete saldano solo le transazioni con un numero di conferme compreso tra tre e sei. +ID della transazione: Un numero di identificazione unico che permette di cercare una transazione in un esploratore di blocchi. +Commissione: Ai minatori viene pagata una tassa di transazione come incentivo per includere le transazioni nei blocchi che estraggono. Per saperne di più, clicca sul pulsante invia.`,title:"Quali sono le informazioni nei dettagli della transazione?"},accountTransactionConfirmation:{text:"Una transazione trasmessa alla rete ma non ancora confermata.",title:"Cos'è una transazione in sospeso?"},accountTransactionLabel:{text:"L'indirizzo da cui hai ricevuto o a cui hai inviato delle monete.",title:"Quale indirizzo viene visualizzato per ogni transazione?"},accountTransactionTime:{text:"Il tempo di conferma della transazione su blockchain.",title:"Che ora viene visualizzata?"},accounts:{howManyAccounts:{text:`Non c'è un limite al numero di account Bitcoin e Litecoin supportati. Dopo il quinto account, potrai aggiungerne uno nuovo solo se il precedente è già stato utilizzato. +`,title:"Quanti account posso creare?"},howtoAddTokens:{text:'I token che utilizzano lo standard ERC20 sono legati a uno specifico account Ethereum. Per attivare o disattivare un determinato token, aprire la schermata "Gestisci account", espandere il proprio account Ethereum e attivare o disattivare il token desiderato.',title:`Come posso aggiungere più token? +`},moveFunds:{text:`Sì, ma poiché gli account sono indipendenti, è necessario inviare i fondi con una transazione regolare. +`,title:"Posso spostare fondi tra account diversi?"},recoverAccounts:{text:"Sì. BitBoxApp crea account utilizzando standard consolidati e compatibili con la maggior parte degli altri portafogli di criptovalute.",title:`Posso recuperare i miei account con altri portafogli? +`},whatAreAccounts:{text:"Il portafoglio può gestire più account della stessa moneta. Diversi account sono utili quando si desidera mantenere i fondi separati.",title:"Cosa sono gli account?"},whyIsThisUseful:{text:'Gli account sono ottimi per gestire fondi per persone o scopi diversi, perché sono separati. È inoltre possibile condividere la "chiave pubblica estesa" di un account senza rivelare nulla degli altri account. Ciò consente di ricevere ripetutamente fondi senza riutilizzare gli indirizzi, ad esempio per ricevere lo stipendio o per acquistare regolarmente criptovalute.',title:"Perchè è utile?"}},appendix:{link:"Contattaci",text:"Altre domande?"},backups:{check:{text:"'Controlla backup' ti permette di verificare di avere un backup funzionante corrispondente al tuo portafoglio attuale. Può anche essere usato per verificare che tu abbia ancora la password di recupero corretta. Puoi controllare la tua password di recupero principale o la tua password di recupero nascosta.",title:"Cos'è il 'Controlla backup'?"},encrypt:{text:'No, ma la tua password di recupero è necessaria per ricavare il portafoglio dal "seed" memorizzato.',title:"Posso criptare il backup?"},howOften:{text:`Il backup viene generato automaticamente quando viene creato un nuovo portafoglio. Devi fare un nuovo backup solo se la tua scheda microSD viene persa o danneggiata, o se vuoi usare più schede microSD come backup. +Non è necessario creare nuovi backup dopo l'attività di transazione. Tutti i dati delle tue transazioni possono essere ricreati dal tuo singolo backup che è stato generato automaticamente per te.`,title:"Quanto spesso devo fare un backup?"},whatIsABackup:{text:'È una copia del "seed" su una scheda microSD. Il "seed" insieme alla tua password di recupero genera il tuo portafoglio.',title:"Cos'è un backup?"}},backupsBB02:{check:{text:"'Controlla backup' ti permette di verificare che hai un backup funzionante corrispondente al tuo portafoglio attuale.",title:"Cos'è il 'Controlla backup'?"},encrypt:{text:'No. Tieni la scheda microSD al sicuro, perché contiene il "seed" non criptato per recuperare il tuo portafoglio. Se desideri proteggere con una password il tuo seed, puoi abilitare una passphrase opzionale nelle impostazioni avanzate sotto " Gestisci dispositivo ".',title:"Posso criptare il backup?"},whatIsABackup:{text:'È una copia del "seed" su una scheda microSD.',title:"Cos'è un backup?"}},bitbox:{"2FA":{text:`Quando la 2FA è abilitata, tutte le transazioni devono essere approvate sul cellulare abbinato per poter spendere fondi. Un numero monouso criptato viene inviato all'applicazione mobile, decriptato lì, e restituito al BitBox quando si preme il pulsante "Accetta". Questa comunicazione con il dispositivo avviene tramite un canale tra il telefono cellulare e l'applicazione desktop stabilita durante l'abbinamento. + +Assicurati di fare il backup del tuo portafoglio e di abbinare l'applicazione mobile prima di abilitare il 2FA. Una volta abilitato, lo slot microSD e l'abbinamento dell'applicazione mobile sono disabilitati. Possono essere riabilitati resettando il BitBox, che cancella il dispositivo.`,title:"Come funziona l'autorizzazione a due fattori (2FA)?"},disable2FA:{text:"Per disabilitare il 2FA, è necessario resettare il BitBox e poi ripristinare il portafoglio dal suo backup. Assicurati di avere ancora la scheda microSD con il backup e di ricordare ancora la password di recupero. Poi premi 'Reset dispositivo'. Imposta una nuova password del dispositivo e scegli 'Ripristina un backup'. Seleziona il backup che hai fatto dal portafoglio, clicca su 'Ripristina' e inserisci la password di recupero che hai usato quando hai creato il portafoglio.",title:"Come posso disabilitare l'autorizzazione a due fattori (2FA)?"},ejectBitbox:{text:"È possibile scollegare il BitBox in qualsiasi momento senza doverlo prima espellere.",title:"Come posso espellere il BitBox?"},ejectSD:{text:"È possibile rimuovere la scheda microSD dal BitBox in qualsiasi momento, purché non si stia creando o ripristinando un backup.",title:"Come posso espellere la scheda microSD?"},hiddenWallet:{text:'Si tratta di un secondo portafoglio sullo stesso dispositivo protetto da una password diversa da quella del dispositivo e quella di recupero, che puoi usare per una negazione plausibile. Lo stesso "seed" di backup viene utilizzato sia per il portafoglio normale che per quello nascosto, quindi non è necessario un backup aggiuntivo.',title:"Cos'è un portafoglio nascosto?"},legacyHiddenWallet:{text:"Prima clicca il pulsante qui sotto (disponibile se il BitBox è sbloccato con la password del dispositivo principale e 2FA è disabilitato), poi ricollega il tuo Bitbox e sbloccalo con la tua password del dispositivo nascosto.",title:"Come si accede al portafoglio nascosto legacy?"},pairing:{text:"Dopo aver scaricato la nostra applicazione mobile per iOS o Android, scansiona il codice QR visualizzato, che stabilisce un canale sicuro tra l'applicazione mobile e questa applicazione. Una volta scansionato, segui le istruzioni dell'applicazione mobile.",title:"Come abbinare in modo sicuro il tuo telefono"}},cointracking:{text:`Fai clic sul pulsante "Esporta" e apri la cartella dei download dove troverai l'esportazione CSV. Quindi fai clic sul link sottostante, carica il tuo file CSV BitBox e importa i dati per utilizzarli nel tuo gestore del portafoglio CoinTracking e per creare le tue dichiarazioni fiscali. +`,title:"Come importo le mie transazioni in CoinTracking?"},device:{attestation:{link:{text:"Leggi di più sulla verifica di autenticità"},text:"La BitBoxApp effettua una verifica di autenticità sul BitBox02 per assicurarsi che il dispositivo sia autentico. La verifica viene eseguita localmente e non si connette a nessun server",title:"Come funziona la verifica di autenticità?"},name:{text:"Questo è il nome del tuo portafoglio e del backup. Il nome è utilizzato per i backup futuri e può essere utilizzato per distinguere tra differenti portafogli. Può essere cambiato in ogni momento, ma tieni presente che i backup fatti prima del cambio avranno il nome precedente.",title:"Per cosa è utilizzato il nome del BitBox02?"},"secure-chip":{link:{text:"Leggi di più sul secure chip"},text:"Questa informazione mostra il modello del secure chip. Quello più aggiornato è ATECC608B, con funzionalità di sicurezza migliorate rispetto ai modelli precedenti.",title:"Perchè mostrare il modello del secure chip?"}},receive:{address:{text:"Puoi dare l'indirizzo ad altri per farti inviare dei fondi. Assicurati che stiano inviando all'indirizzo corretto.",title:"Cosa devo fare con un indirizzo?"},addressChange:{text:"Non appena si effettua una transazione, un nuovo indirizzo viene automaticamente aggiunto alla lista, quindi ci sono sempre 20 indirizzi disponibili che non hanno mai ricevuto fondi.",title:"Quando cambiano gli indirizzi?"},addressFormats:{text:"Da impostazione predefinita, il tipo di indirizzo è Native Segwit. Questo tipo di indirizzo è ampiamente adottato da altri portafogli/exchange e offre le migliori tariffe per le transazioni quotidiane. Tuttavia, si può anche scegliere di inviare a Taproot (solo Bitcoin), il tipo di indirizzo più recente, ma potenzialmente non ancora ampiamente supportato. In alternativa, se avete problemi a inviare a Native Segwit (predefinito), potete provare a passare al tipo di indirizzo più vecchio Wrapped Segwit, che potrebbe essere compatibile con più portafogli/scambi.",title:'Quando uso "Cambia tipo di indirizzo"?'},howVerify:{text:`Per il BitBox01, clicca sull'icona BitBox nella barra laterale a sinistra e vedi la sezione Abbinamento. La guida si aggiornerà e potrai continuare a seguire le istruzioni da lì. +Per il BitBox02, è possibile verificare gli indirizzi direttamente sul dispositivo durante il processo di invio/ricezione.`,title:"Come posso verificare un indirizzo in modo sicuro?"},plugout:{text:"No, una volta inviate le valute al proprio indirizzo BitBox, non è necessario lasciare il BitBox collegato. Siete liberi di scollegare il vostro BitBox.",title:"È necessario lasciare il BitBox collegato durante la ricezione?"},why20:{text:`Durante l'avvio l'app genera indirizzi derivati dal vostro "seed" per vedere se hanno ricevuto fondi. Poiché l'app può generare un numero quasi infinito di indirizzi, potrebbero passare anni perché determini il saldo. Per limitare questa ricerca, la app si ferma quando vede 20 indirizzi che non hanno mai ricevuto fondi. Questo è il "gap limit" e 20 è uno standard applicato de-facto anche se il numero è arbitrario. Questi sono i 20 indirizzi tra cui puoi scegliere.`,title:"Perché solo 20 indirizzi?"},whyMany:{text:'Per mantenere la privacy e la sicurezza, non dare mai lo stesso indirizzo due volte. Se hai usato un indirizzo, clicca sulla freccia a destra per un nuovo indirizzo. Puoi generare fino a 20 indirizzi alla volta. Pensa agli indirizzi come ai numeri di fattura. Tutti gli indirizzi sono derivati dal tuo singolo "seed" di backup.',title:"Perché così tanti indirizzi?"},whyVerify:{text:"Non dovresti fidarti del computer per generare e visualizzare indirizzi genuini. L'ampia superficie di attacco lo rende molto più vulnerabile di un hardware wallet. Nel caso del BitBox01, il pulsante per verificare l'indirizzo invia in modo sicuro l'indirizzo a un telefono cellulare associato, dal quale è anche possibile scansionare e verificare il codice QR. Per il BitBox02, l'indirizzo può essere verificato direttamente sul display del BitBox02.",title:"Perché dovrei verificare l'indirizzo in modo sicuro?"}},send:{change:{text:"Il resto verrà restituito a un indirizzo Taproot se è presente almeno un UTXO Taproot. Se si usa il coin control, il resto verrà restituito a un indirizzo Taproot se c'è almeno un UTXO Taproot tra gli UTXO selezionati. In tutti gli altri casi, il resto viene restituito a un indirizzo Native Segwit.",title:"Come viene determinato l'output del resto?"},fee:{text:`La commissione si basa sulla dimensione dei dati della transazione e non sulla sua quantità. +le commissioni sono calcolate dall'algoritmo di stima di Bitcoin Core per ogni priorità di rete scelta. Sono mostrate se hanno un valore diverso rispetto a quelli qui sotto. +Economica: 24 blocchi (circa 4 ore per Bitcoin, 1 ora per Litecoin) +Basso: 12 blocchi (circa 2 ore per Bitcoin, 30 minuti per Litecoin) +Normale: 6 blocchi (circa 1 ora per il Bitcoin, 15 minuti per il Litecoin) +Alto: 2 blocchi (circa 20 minuti per il Bitcoin, 5 minuti per il Litecoin) +(Un blocco impiega in media dieci minuti per Bitcoin (2,5 minuti in Litecoin) per essere estratto e il carico della rete può variare considerevolmente nei periodi di cui sopra).`,title:"Come sono determinate le commissioni?"},plugout:{text:"No, una volta effettuata una transazione, non è necessario lasciare il BitBox collegato. Si è liberi di scollegare il BitBox.",title:"È necessario lasciare il BitBox collegato durante l'invio?"},priority:{text:"Più commissioni paghi, tipicamente più velocemente le transazioni sono confermate dalla rete",title:"Cos'è la priorità di rete?"},revert:{text:`Una volta che una transazione è firmata e inviata (cioè trasmessa alla rete), non può più essere annullata. Verificate bene le transazioni (compresa la commissione) prima di firmare! +Se conosci il destinatario e lui/lei è disposto/a a rimandarti lo stesso importo (meno le commissioni della transazione), puoi inviargli/le un nuovo indirizzo di ricezione.`,title:"Posso revocare una transazione?"},whyFee:{text:`Le transazioni sono in competizione per essere confermate da un minatore. I minatori scelgono le transazioni da includere nella blockchain in base al loro compenso. +I minatori votano sulla storia delle transazioni. Dal momento che non c'è una terza parte fidata che faccia rispettare un voto per persona (che è l'intero scopo delle blockchain), i minatori votano sulle transazioni sacrificando una risorsa costosa come la potenza di calcolo. Come ricompensa per il loro lavoro, possono reclamare fondi appena creati e le commissioni di tutte le transazioni che hanno incluso.`,title:"Perché ci sono delle commissioni di rete?"}},"settings-electrum":{connection:{text:`Se intendete connettervi al vostro nodo solo quando siete sulla stessa rete (ad esempio il wifi di casa vostra), allora è sufficiente utilizzare la normale comunicazione di rete. +In questo caso è consigliabile che il vostro server Electrum fornisca un certificato TLS per cifrare la comunicazione. +Se avete intenzione di connettervi al vostro nodo da qualsiasi luogo, usare Tor è l'opzione migliore. In questo caso non è necessario alcun certificato TLS.`,title:"Meglio usare clearnet TCP, TLS o Tor?"},instructions:{link:{text:"Guida per collegare il tuo nodo"},text:"Per un tutorial completo, visitate la nostra guida:",title:"Come faccio a collegare la mia BitBoxApp al mio full node?"},options:{text:`Ci sono diverse opzioni per utilizzare il proprio nodo come acquistare un dispositivo finito, costruire il proprio o utilizzare Bitcoin Core. +Se vuoi collegare la BitBoxApp al tuo nodo, assicurati che esegua un server Electrum. Questo è un programma dedicato che permette ad un'app portafoglio di comunicare con il tuo nodo. +Le opzioni supportate includono Electrs, Electrum Personal Server (EPS) o Bitcoin Wallet Tracker (BTW).`,title:"Quali opzioni ci sono per gestire un nodo?"},tor:{text:`Tor è l'acronimo di 'The Onion Router', che è un software gratuito e open source che offre un sacco di vantaggi per la privacy ed è particolarmente utile quando si usa Bitcoin. +Se hai intenzione di connetterti al tuo nodo tramite Tor, assicurati che Tor sia installato sul tuo computer e poi abilita il Proxy Tor nelle impostazioni di BitBoxApp. +Sulla maggior parte dei sistemi operativi ci sono due modi per eseguire Tor: +1. 1. Tor Browser: scaricare e aprire il Tor Browser. Questo permetterà alla BitBoxApp di connettersi alla rete Tor impostando la porta 9150 nelle impostazioni del proxy Tor. +2. Servizio Tor in background: installare il daemon Tor, che viene sempre eseguito in background. La BitBoxApp può quindi connettersi impostando la porta 9050 nelle impostazioni del proxy Tor.`,title:"Cos'è Tor, Tor proxy e quale porta usare?"},what:{text:"È possibile utilizzare il tuo portafoglio con il mio full node invece di usare i server di Shift?",title:"Cosa significa?"},why:{text:`Utilizzare il proprio nodo non è necessario, ma migliora la privacy e riduce la necessità di fidarsi degli altri. +In primo luogo, significa che stai usando Bitcoin più privatamente, poiché la BitBoxApp non si connetterà ai nostri server per recuperare la tua storia delle transazioni; invece recupererà quelle informazioni dal tuo nodo. +In secondo luogo, utilizzare il tuo nodo significa che il tuo nodo verifica tutte le transazioni, assicurandosi che le regole di consenso siano applicate.`,title:"Perché dovrei utilizzare il mio nodo?"}},settings:{sats:{text:"Un Satoshi ('sat' in breve) è la più piccola unità di Bitcoin. Un Satoshi è un centomilionesimo di Bitcoin (0.00000001 BTC). E' stato chiamato così in omaggio al creatore di Bitcoin, Satoshi Nakamoto.",title:"Cos'è un Satoshi? "},servers:{text:`Questa app comunica con i server Shift Crypto per controllare gli aggiornamenti, caricare le transazioni e inviare informazioni alle app mobili abbinate. +L'app recupera anche gli ultimi tassi di cambio da CoinGecko. Tutte le conversioni sono calcolate localmente, il che significa che nessun dato sull'importo della tua transazione viene mai trasmesso. +Nota: Per Ethereum e i Token ERC20, usiamo le API di Etherscan.io.`,title:"A quali server si connette questa app?"}},title:"Guida",toggle:{close:"Chiudi guida",open:"Guida"},trackingModePortfolioChart:{text:"Su Desktop, sposta il cursore sopra al grafico. Da mobile, tieni il dito premuto sul grafico e spostalo orizzontalmente.",title:"Come visualizzare lo storico dei prezzi sul grafico? "},unlock:{forgotDevicePassword:{text:"Devi resettare il dispositivo e ripristinare il portafoglio da un backup, utilizzando la password di recupero.",title:"Cosa devo fare se ho dimenticato la password del dispositivo?"},reset:{text:"Inserisci una password errata del dispositivo per 15 volte. Gli ultimi tentativi richiedono un lungo tocco sul dispositivo.",title:"Come faccio a resettare il dispositivo?"}},waiting:{deviceNotRecognized:{text:`Il dispositivo dovrebbe lampeggiare una volta quando viene inserito. Assicurati che sia inserito nel modo giusto. Se hai problemi, contattaci attraverso il link qui sotto. + +Il BitBox01 non è supportato su dispositivi mobili. Utilizzare la BitBoxApp su desktop per collegare il BitBox01.`,title:"Il mio BitBox01 non viene riconosciuto"},getDevice:{link:{text:"Ordina un BitBox"},text:"Puoi comprare una BitBox nel nostro negozio online:",title:"Come posso ottenere un dispositivo?"},internet:{text:"Sì, è necessaria una connessione internet per sincronizzare il portafoglio, inviare transazioni e recuperare gli ultimi tassi di cambio.",title:"Questa app richiede una connessione a internet?"},lostDevice:{link:{text:"Backup center"},text:"Puoi recuperare i tuoi account su un nuovo BitBox o con il nostro Backup center.",title:"Ho perso il mio dispositivo. E adesso?"},useWithoutDevice:{text:"Purtroppo, questo non è ancora possibile al momento.",title:"Posso usare l'applicazione senza un dispositivo?"},welcome:{text:"Grazie per aver usato questa app costruita da Shift Crypto in Svizzera. Apprezziamo qualsiasi input che hai da condividere. Inviaci il tuo feedback utilizzando il link in basso.",title:"Benvenuti nella BitBoxApp!"}},walletConnect:{noPreviousConnections:{text:"Se utilizzi la BitBoxApp su un nuovo telefono/computer, dovrai riconnetterti alle DApp per vedere le valute collegate come al solito.",title:"Non vedo le mie connessioni precedenti."},supportedNetworks:{text:"Al momento, solo la mainnet Ethereum è supportata da WalletConnect nella BiBoxApp. Se hai bisogno di un portafogli per altre chain EVM puoi utilizzare l'estensione per il browser Rabby.",title:"Quali reti sono supportate?"},whatIsWalletConnect:{text:"WalletConnect è un protocollo di comunicazione per applicazioni web3. Ti permette di connetterti comodamente a DApp e portafogli web senza dover usare un'altra app. Particolarmente utile per gli utenti Android della BitBoxApp.",title:"Cos'è WalletConnect?"}}},oH={blocksSynced:"{{blocks}} blocchi sincronizzati"},rH={info1HTML:"Per scopi di negazione plausibile, un portafoglio nascosto può essere creato sulla base di una combinazione diversa di password del dispositivo + password di recupero.",info2HTML:"Definisci la password del dispositivo e la password di recupero che vuoi associare al tuo portafoglio nascosto qui sotto. La password del dispositivo e la password di recupero devono essere diverse da quelle che hai definito per il tuo portafoglio principale.",passwordLabel:"Password di recupero nascosta",passwordPlaceholder:"Si prega di confermare la password di recupero nascosta",pinLabel:"Password nascosta del dispositivo",pinRepeatLabel:"Ripetere la password del dispositivo nascosto",pinRepeatPlaceholder:"Si prega di confermare la password del dispositivo nascosto",success:"Portafoglio nascosto creato con successo. Ricollega il tuo BitBox per sbloccarlo."},sH={create:"Imposta la password del dispositivo",creating:"Impostazione della password del dispositivo...",error:{e102:"La password del dispositivo deve essere composta da almeno 4 caratteri."},info:{description1:"Scegli la password del tuo dispositivo. Questa sarà usata per sbloccare il tuo BitBox.",description2:"Puoi usare numeri, lettere e simboli. Password più lunghe offrono maggiore sicurezza.",description3:"Se perdi la password del dispositivo, dovrai resettare il tuo dispositivo e ripristinare il backup del portafoglio.",subtitle:"Ora imposterai la password del tuo dispositivo",title:"Inizializzazione del dispositivo"},input:{label:"Password del dispositivo",labelRepeat:"Ripetere la password del dispositivo",placeholderRepeat:"Si prega di confermare la password del dispositivo"}},lH="Formato non valido",cH={title:"Seleziona lingua"},uH={disable:"Disattiva il portafoglio nascosto legacy",enable:"Abilita il portafoglio nascosto legacy",successDisable:"Portafoglio nascosto legacy disattivato con successo",successEnable:"Il portafoglio nascosto legacy è stato attivato con successo. Ricollega il tuo BitBox e inserisci la password del dispositivo nascosto per accedere al portafoglio nascosto legacy."},dH="caricamento...",pH={accountHidden:"Questo account è stato nascosto dalla lista degli account watch-only. Per vederlo di nuovo, connetti il tuo BitBox02",editAccount:"Modifica",editAccountNameTitle:"Modifica il nome dell'account",noAccounts:"Nessun account trovato",settings:{hideTokens:"Nascondi token",showTokens:"Mostra token ({{activeTokenCount}})"},settingsButtonDescription:"Aggiungi e mostra/nascondi gli account",title:"Gestisci gli account",watchAccount:"Watch-only account",watchAccountDescription:"Questo account è stato aggiunto alla lista degli account watch-only. Disattiva per nasconderlo."},hH={usingMobileDataWarning:"Utilizzo di dati mobili: dopo aver sbloccato un account questa app può scaricare fino a qualche centinaio di megabyte di dati dell'intestazione della blockchain. Si prega di connettersi al Wi-Fi per evitare di utilizzare i dati mobili. Dopo averlo chiuso, questo messaggio non verrà più visualizzato."},mH={about:{appVersion:{title:"Versione dell'app"}},advancedSettings:{authentication:{description:"Blocca l'accesso all'app con blocco schermo/impronta digitale.",title:"Blocco schermo"},coinControl:{description:"Seleziona quali UTXOs fanno parte di una transazione per aiutarti ad aumentare la tua privacy."},customFees:{description:"Ti permette di inserire una fee a tua discrezione all'invio."},torProxy:{description:"Connettiti tramite Tor per una migliore privacy."}},appearance:{activeCurrencies:{description:"Puoi ruotare tra queste valute aggiuntive dalla pagina del tuo account.",title:"Valute attive"},darkmode:{description:"Visualizza la BitBoxApp in modalità scura."},defaultCurrency:{description:"Selezione la valuta di default",title:"Valuta di default"},hideAmounts:{description:"Visualizza un'opzione per nascondere il tuo bilancio e gli importi per aumentare la tua privacy quando usi l'app in pubblico.",hideAmounts:"Nascondi importi",showAmounts:"Mostra importi",title:"Abilita importi nascosti"},language:{description:"In che lingua preferisci visualizzare la BitBoxApp.",title:"Lingua"},toggleSats:{description:"Abilita o disabilita i Satoshi"}}},fH={input:{description:"(facoltativo)",placeholder:"Aggiungi nota..."},title:"Nota"},gH={newTxs_one:"Nuova transazione in: {{accountName}}",newTxs_other:"{{count}} nuove transazioni in: {{accountName}}"},vH={aborted:{text:"L'abbinamento è stato interrotto dall'applicazione mobile.",title:"Interrotto"},button:"Abbina l'applicazione mobile",confirm:"Sei sicuro/a di voler abbinare il tuo BitBox? Si noti che in seguito, il telefono cellulare sarà necessario per eseguire transazioni.",connectOnly:{button:"Collegare l'applicazione mobile",title:"Esegui la scansione con la nostra applicazione mobile selezionando la voce di menu 'Connetti a nuova applicazione desktop'."},error:{text:"Qualcosa è andato storto. Per favore, ricomincia.",title:"Errore"},pullFailed:{text:"Impossibile estrarre un messaggio dal tuo cellulare attraverso il server relay. Il server potrebbe essere offline, contatta il supporto.",title:"Fallito"},reconnectOnly:{button:"Riconnetti applicazione mobile"},scanningFailed:{text:"Il cellulare non è stato in grado di scansionare il messaggio con successo. Si prega di riprovare.",title:"Scansione fallita"},start:{hideAppQRCode:"Nascondi il codice QR",revealAppQRCode:"Mostra il codice QR",step1:"Se non hai l'applicazione mobile, puoi scansionare il codice QR per l'App Store di Apple o il Play Store di Google, a seconda del telefono che usi.",step2:"Scansiona con la nostra applicazione mobile, che puoi trovare sotto il nome 'Digital Bitbox 2FA' negli app store per iOS e Android:"},started:{text:"Ora segui le istruzioni dell'applicazione mobile.",title:"Ottimo"},success:{text:"Congratulazioni, hai abbinato con successo il tuo BitBox con l'applicazione mobile",title:"Successo"},timeout:{text:"L'abbinamento è scaduto dopo due minuti. Ricomincia se vuoi ancora abbinare l'applicaione mobile.",title:"Timeout"},title:"Abbinamento telefono cellulare"},bH={considerations:{button:`Considerazioni sul backup +`,message:`La passphrase aggiunge un livello di protezione al backup del portafoglio (scheda microSD o parole di recupero). Se qualcuno ha accesso al vostro backup, avrà bisogno anche della passphrase per accedere al vostro portafoglio. + +Tuttavia, questo significa che saranno necessari sia la passphrase che il backup del portafoglio per ripristinare il portafoglio abilitato alla passphrase, nel caso in cui il BitBox02 venga perso o rotto. Se si dimentica o si perde la passphrase, si perde l'accesso a tutte le valute del portafoglio. + +Quando si memorizza la passphrase, si consiglia di conservarla in un luogo separato rispetto al backup. In questo modo, se qualcuno trova il backup, non troverà anche la passphrase.`,title:"Considerazioni sul backup"},disable:"Disabilita la passphrase",disableInfo:{button:"Disabilita",message:`Una volta disabilitata la passphrase, non verrà più richiesto di inserire una passphrase dopo aver sbloccato il BitBox02. Pertanto, si accederà al proprio portafoglio predefinito. + +Tutte le valute presenti nel portafoglio con la passphrase saranno ancora presenti in quel portafoglio, ma non sarà possibile accedervi perché, dopo aver sbloccato il BitBox02, si aprirà il portafoglio predefinito. + +Per accedere nuovamente ai portafogli di passphrase, è sufficiente riattivare la funzione passphrase e inserire la relativa passphrase dopo aver sbloccato il BitBox02. + +Suggerimento: È ancora possibile accedere al portafoglio originale lasciando la passphrase vuota.`},enable:"Abilita la passphrase",error:{e104:"La modifica dell'impostazione della passphrase è stata interrotta."},how:{button:"Come si presenta",message:`Una passphrase non funziona come una password a cui si è abituati. Se si sbaglia a digitare la passphrase, non si riceve alcuna notifica. Questo perché ogni passphrase crea un portafoglio diverso, ma valido. Ciò significa che è possibile utilizzare diverse passphrase per tanti portafogli quanti se ne desiderano. Ma si può accedere a ciascun portafoglio solo digitando la passphrase corrispondente. + +Quando si collega il BitBox02, viene richiesta la password del dispositivo come di consueto. Successivamente, verrà richiesto di inserire una passphrase sul dispositivo. + +Dopo aver inserito la passphrase, vi verrà mostrata la passphrase inserita. In questo modo si può confermare di averla inserita correttamente.`,title:"Come funziona"},intro:{message:`Una passphrase fornisce un ulteriore livello di sicurezza oltre al portafoglio. +Scopriamo come funziona.`,title:"Impostare la passphrase"},progressDisable:{message:"Confermare sul BitBox che si desidera disabilitare la passphrase opzionale.",title:"Conferma sul dispositivo"},progressEnable:{message:"Confermare su BitBox che si desidera abilitare la passphrase opzionale.",title:"Conferma sul dispositivo"},successDisabled:{message:`Passphrase opzionale attivata con successo! +D'ora in poi verrà richiesto di fornire una passphrase.`,messageEnd:`Ricollegare ora il BitBox02. +`,title:"Passphrase abilitata"},successEnabled:{message:`Passphrase opzionale disabilitata con successo! + +Non verrà più richiesto di fornire una passphrase.`,messageEnd:`Ricollegare ora il BitBox02. +`,tips:"Suggerimenti",tipsList:["Si consiglia di inviare prima un piccolo importo al portafoglio con passphrase. Quindi scollegare e ricollegare il BitBox02 e inserire la password e la passphrase. Se la passphrase è stata inserita correttamente, si dovrebbero vedere i fondi nel portafoglio.","Se si desidera accedere al portafoglio originale senza passphrase, è ancora possibile farlo non inserendo nulla quando viene richiesto di inserire la passphrase. Oppure puoi disattivare la funzione passphrase."],title:"Passphrase disabilitata"},summary:{button:"Passphrase disabilitata",title:"Riepilogo",understand:`Ho capito come funziona la passphrase e i rischi ad essa associati. +`,understandList:[`La passphrase è un ulteriore livello di sicurezza oltre al backup. +`,`L'inserimento di una passphrase diversa genererà sempre un portafoglio diverso. +`,"Per ripristinare il portafoglio sono necessari sia la passphrase che il backup.",`Se si dimentica la passphrase, non è più possibile accedere ai propri fondi. +`]},what:{button:"Scopri come funziona",message:`Un portafoglio viene creato (derivato) da un numero casuale molto grande, noto anche come seed. Questo seed viene creato quando si configura per la prima volta il BitBox02 e viene salvato nella scheda microSD o in una lista di parole di recupero. Chiunque abbia accesso al seed ha il pieno controllo sui fondi di quel portafoglio. + +Una passphrase è un segreto opzionale, aggiunto al seed. Quando si usa una passphrase, ogni passphrase crea un nuovo portafoglio basato sul seed + passphrase (segreto opzionale). Una passphrase può essere qualsiasi cosa: lettere, parole, caratteri speciali o può anche essere vuota. Il portafoglio predefinito deriva infatti dal seed + passphrase vuota. + +La passphrase fa parte dello standard BIP39, il che significa che è compatibile con tutti i portafogli che supportano lo stesso standard.`,title:"Cos'è una passphrase?"},why:{button:"Perchè usare una passphrase",message:`BitBox02 protegge il seed dall'estrazione dal dispositivo stesso, ma il backup (scheda microSD o parole di recupero) dà pieno accesso al portafoglio. Per questo motivo deve essere conservato in un luogo sicuro! + +Poiché una passphrase crea un nuovo portafoglio utilizzando il seed esistente, il portafoglio con l apassphrase richiede sia il backup che la passphrase per il ripristino. Il vantaggio è che se qualcuno trova il vostro backup, ha comunque bisogno della passphrase per accedere al portafoglio con la passphrase. + +Inoltre, la funzione passphrase consente di creare più portafogli sullo stesso dispositivo, o "portafogli nascosti", oltre a quello predefinito.`,title:"Perchè usare una passphrase?"}},kH={show:"Mostra {{label}}",warning:{caps:'per incollare il testo, attivare "MOSTRA {{etichetta}}"',paste:'per incollare il testo, attivare "MOSTRA {{label}}"'}},xH={button:"Genera un numero casuale",description:"Il tuo BitBox ha generato il seguente numero casuale {{bits}}-bit:"},yH={changeScriptType:"Cambia il tipo di indirizzo",label:"Il tuo indirizzo",onlyThisCoin:{description:"Per ricevere altri token, abilitali nelle impostazioni. Se depositi altri token, potrebbero non essere accessibili.",warning:"Assicurati di ricevere solo {{coinName}} su questo indirizzo."},scriptType:{p2tr:"Taproot (formato più recente)",p2wpkh:"Native Segwit (predefinito)","p2wpkh-p2sh":"Wrapped Segwit (formato compatibile)"},selectAccount:"Scegli un account",showFull:"Mostra e verifica l'indirizzo completo sul dispositivo",taprootWarning:"Nota: Taproot è una nuova funzione di Bitcoin e non è ancora ampiamente adottata. I fondi ricevuti sugli indirizzi Taproot potrebbero non essere visibili nei portafogli di terze parti. Molti portafogli e exchange non sono ancora in grado di inviare ad indirizzi Taproot.",title:"Ricevi {{accountName}}",verify:"Verificare l'indirizzo in modo sicuro",verifyBitBox01:"Verificare l'indirizzo sull'applicazione mobile",verifyBitBox02:"Verificare l'indirizzo sul BitBox02",verifyInstruction:"Verifica che il seguente indirizzo corrisponda a quello visualizzato sul tuo dispositivo.",warning:{secureOutput:"Si prega di associare il tuo BitBox con il tuo dispositivo mobile per abilitare la verifica sicura dell'indirizzo. Vai su 'Gestisci dispositivo' nella barra laterale."}},wH={description:"Tutti i dati saranno cancellati dal dispositivo. Inclusa la tua chiave privata!",notReset:"Dispositivo NON resettato.",title:"Ripristino di fabbrica del dispositivo",understand:"Ho un backup e conosco la mia password di recupero",understandBB02:"Ho un backup valido"},jH={create:{description1:"Ti consigliamo di impostare il tuo dispositivo in un ambiente sicuro, cioè lontano da altre persone che potrebbero vedere la password che hai scelto.",description2:"Ti verrà chiesto di creare due password.",description3:"La prima è la password del dispositivo che sblocca il tuo dispositivo BitBox e può essere cambiata in seguito.",description4:"La seconda è la password di recupero che sblocca il tuo portafoglio. Questa password non può essere cambiata in seguito.",description5:"Il portafoglio creato sarà salvato in un file sulla scheda microSD fornita. Questo può essere utilizzato in caso di emergenza per recuperare i tuoi fondi utilizzando la tua password di recupero.",title:"Informazioni di sicurezza"},restore:{description1:"Ti verrà chiesto di inserire la scheda microSD che hai usato per memorizzare il tuo backup.",description2:"Per ripristinare il tuo dispositivo avrai bisogno della tua password di recupero. ",description3:"Fai attenzione quando inserisci la password di recupero. Qualsiasi password inserita creerà un portafoglio valido. Se inserisci la password sbagliata, potrebbe esserti mostrato un saldo del portafoglio che non ti aspetti.",title:"Informazioni di sicurezza"}},BH={agreements:{"funds-access":"NON potrò accedere ai miei fondi se dimentico la mia password di recupero","password-change":"NON posso cambiare la password di recupero in futuro.","password-required":"La password di recupero è necessaria per ripristinare un portafoglio da un backup"},create:"Crea un portafoglio",creating:"Creazione del portafoglio",description:"Capisco che:",error:{e102:"La password deve essere composta da almeno 4 caratteri.",e200:"È necessario inserire una scheda microSD nel tuo BitBox per creare un portafoglio, così un backup può essere creato automaticamente."},info:{button:`Imposta ora la password di recupero +`,description1:"Inserire la scheda microSD nel BitBox",description2:'Scegli una password di recupero per il portafoglio e seleziona "Imposta password di recupero ora".',description3:"Il backup su scheda microSD e la password di recupero sono l'unico metodo per recuperare i tuoi fondi in caso di perdita o furto del dispositivo BitBox.",description4:"Non è possibile cambiare la password di recupero in futuro senza dover trasferire i tuoi fondi.",title:"Crea un nuovo portafoglio"},password:{label:"Password di recupero",repeatPlaceholder:"Ripeti la password di recupero"},walletName:{label:"Nome del portafoglio"}},SH={error:{e200:"Il ripristino di un portafoglio da un backup richiede la scheda microSD."},info:{description1:'Inserire la scheda microSD nel BitBox e cliccare su "Continua".',description2:'Scegliete un backup e cliccate su "Ripristina".',description3:"Inserisci la password di recupero",description4:"Confermo di aver capito che una password errata creerà un portafoglio diverso.",title:"Come ripristinare un portafoglio da un backup"}},zH={abort:"La transazione è stata annullata",address:{label:"Indirizzo del destinatario",placeholder:"Inserisci indirizzo"},amount:{label:"Importo",placeholder:"Inserisci importo"},availableBalance:"Saldo disponibile",button:"Controlla",coincontrol:{address:"Indirizzo",outpoint:"Outpoint",title:"Invia da un output"},confirm:{"selected-coins":"Seleziona valute",title:"Conferma ed invia transazione",total:"Totale"},error:{erc20InsufficientGasFunds:"Sembra che tu non abbia abbastanza Ether per pagare questa transazione ERC20. Per favore, assicurati di avere abbastanza Ether nel tuo portafoglio.",feeTooLow:"commissione troppo bassa",feesNotAvailable:`Impossibile stimare le commissioni +`,insufficientFunds:"fondi insufficienti.",invalidAddress:"indirizzo non valido",invalidAmount:"importo non valido",invalidData:"dati non validi"},fee:{customPlaceholder:"Inserisci importo",label:"Commissioni di rete",placeholder:"Non disponibile"},feeTarget:{customLabel:"Tariffa",customLabel_eth:"Gas",description:{economy:"4 ore (24 blocchi)",economy_eth:"30 minuti al massimo",economy_ltc:"1 ora (24 blocchi)",high:"20 minuti (2 blocchi)",high_eth:"30 secondi al massimo",high_ltc:"5 minuti (2 blocchi)",low:"2 ore (12 blocchi)",low_eth:"5 minuti al massimo",low_ltc:"30 minuti (12 blocchi)",normal:"6 blocchi (circa 1 ora per Bitcoin, 15 minuti per Litecoin)",normal_eth:"2 minuti al massimo",normal_ltc:"15 minuti (6 blocchi)"},estimate:"Tempo di conferma stimato:",label:{custom:"Personalizzata",economy:"Economica",high:"Alta",low:"Bassa",normal:"Normale"},placeholder:"Calcolo delle commissioni..."},maximum:"Invia tutto",maximumSelectedCoins:`Invia le valute selezionate +`,noFeeTargets:"La stima delle fee al momento non è disponibile. Inserisci una fee a tua discrezione o riprova più tardi.",priority:"Priorità",scanQR:"Leggi il QR code",signprogress:{description:"Questa è una transazione che contiene molti dati. Per firmare la transazione, ti verrà chiesto di confermare {{steps}} volte.",label:"Progresso"},success:"La transazione è stata firmata ed inviata.",title:"Invia {{accountName}}",toggleCoinControl:"Toggle coin control",transactionDetails:"Dettagli della transazione"},CH={about:"About",accounts:"Accounts",advancedSettings:"Impostazioni avanzate",appearance:"Aspetto",electrum:{add:"Aggiungi un server","add-server":"Aggiungi",check:"Verifica",checkFailed:"Fallito",checkSuccess:"Connessione stabilita con {{host}}",checking:"Verifico","download-cert":"Scarica certificato remoto","remove-server":"Rimuovi",removeConfirm:"Rimuovere {{server}}?",reset:"Ripristina le impostazioni predefinite",resetConfirm:"Vuoi rimuovere tutti i server e installare quelli di default?",servers:"Server",step1:"1","step1-text":"Inserisci l'endpoint.",step2:"2","step2-text":"Inserisci un certificato della catena dei certificati del server. In alternativa, scarica il certificato remoto e confrontalo visivamente.","step2-text-tcp":"Puoi saltare questo passo se non vuoi usare TLS.",step3:"3","step3-text":"Controlla la connessione e aggiungi il server.",step4:"4","step4-text":"Riavvia il portafoglio. Se non rimuovi i server di default, il tuo nodo sarà aggiunto come ridondanza.","title-btc":"Bitcoin Electrum servers","title-ltc":"Litecoin Electrum servers","title-tbtc":"Bitcoin Testnet Electrum servers","title-tltc":"Litecoin Testnet Electrum servers"},expert:{coinControl:'Abilita "coin control"',electrum:{description:"Puoi connetterti al tuo full node Electrum",title:"Connetti il tuo full node"},fee:"Abilitare commissioni personalizzate",setProxyAddress:"Imposta indirizzo proxy",title:"Impostazioni avanzate",useProxy:"Abilita il proxy per tor",useSats:"Mostra i valori BTC in Satoshi"},header:{home:"Home"},info:{"out-of-date":"Nuovo aggiornamento disponibile",title:"Informazioni","up-to-date":"La tua app è aggiornata",version:"Versione App"},restart:"Si prega di riavviare la BitBoxApp affinché le modifiche abbiano effetto.",services:{title:"Servizi"},success:"Si prega di scollegare e ricollegare il BitBox affinché le modifiche abbiano effetto.",title:"Impostazioni"},DH="Imposta il dispositivo",AH={buy:"Acquista criptovalute",device:"Gestisci il dispositivo",leave:"Esci",settings:"Impostazioni"},_H={create:{info1:"Il tuo portafoglio è stato salvato in modo sicuro sulla scheda microSD. Rimuovila e tienila al sicuro.",info2:"Hai creato una password sicura del dispositivo che sblocca il BitBox.",info3:"Hai creato una password di recupero sicura per il tuo portafoglio che sblocca i tuoi fondi e ripristina i tuoi backup.",summary:"Ecco un riassunto di quello che hai fatto",title:"Successo"},getstarted:"Inizia",restore:{summary:"Hai ripristinato con successo un portafoglio dal tuo backup.",title:"Successo"}},TH={confirmation:"Conferme",details:{activity:"Attività",address:"Indirizzo",amount:"Importo",date:"Data",fiat:"Fiat",fiatAmount:"Importo fiat",fiatAtTime:"Fiat al tempo della transazione",status:"Status",type:"Tipo"},explorer:"ID della transazione",explorerTitle:"Apri in un esploratore di blocchi esterno",fee:"Commissione",fiatHistorical:"Storico",gas:"Gas",note:{edit:"Modifica nota",save:"Salva nota"},pending:"Transazione in sospeso",size:"Dimensione",status:{complete:"Completata",failed:"Fallita",pending:"In sospeso"},tx:{received:"Ricevuta a",sent:"Inviata a"},vsize:"Dimensione virtuale",weight:"Peso"},EH={errorLoadTransactions:"Si è verificato un errore nel carimento delle transazioni",placeholder:"Nessuna transazione."},PH="Si è verificato un errore sconosciuto: {{errorMessage}}",NH={description:"Inserisci la password del tuo dispositivo per sbloccarlo.",error:{e109_normal:"Password del dispositivo errata. Restano ancora {{remainingAttempts}} tentativi prima che il dispositivo venga resettato.",e109_touch:"$t(unlock.error.e109_normal) Il prossimo login richiede di tenere premuto il pulsante touch.",e113:"A causa di molti tentativi di login, il login successivo richiede di tenere premuto il pulsante a sfioramento per 4 secondi."},input:{label:"Password del dispositivo",placeholder:"Inserisci la password del tuo dispositivo per sbloccare il dispositivo"},unlocking:"Sblocco..."},LH={button:"Aggiorna il firmware",description:"Vuoi aggiornare il firmware dalla versione {{currentVersion}} alla {{newVersion}}?",label:"Il tuo BitBox richiede un aggiornamento del firmware.",locked:"Per aggiornare da {{currentVersion}} a {{newVersion}}, fai un tocco lungo.",title:"Aggiorna il firmware",unlocked:"Il bootloader è sbloccato. Per continuare, per favore:",unlocked1:"Scollegare e ricollegare il vostro Bitbox",unlocked2:"Il LED si accende quando il tuo BitBox è ricollegato",unlocked3:"Tocca il pulsante a sfioramento quando il LED si accende"},IH={connect:{button:"Conneti",dappLabel:"Inserire indirizzo URI della DApp",invalidPairingUri:"URI di connessione non valido"},dashboard:{allSessions:"Tutte le sessioni",disclaimer:"WalletConnect è un protocollo per connettersi a Dapp basate su Ethereum. Queste DApp sono gestite da servizi di terze parti, per cui connettiti solo a DApp di cui ti fidi e accertati di sapere sempre cosa stai firmando quando crei una transazione.",newConnection:"Nuova Connessione",noConnectedSessions:"Nessun account è connesso a DApp al momento."},invalidPairingChain:"Errore nell'approvazione della connessione. Assicurati di utilizare una delle chain supportate: {{chains}}",pairingRequest:{approve:"Approva Connessione",reject:"Rifiuta",title:"Nuova richista di connessione da"},pairingSuccess:"DApp connessa. Puoi continuare sul sito della DApp.",signingRequest:{account:"Account",chain:"Chain",dapp:"DApp",data:"Dati",dataParsingError:"Parse dei dati fallto.",decodeError:"Decodifica del messaggio fallita",method:{sendTransaction:"Firma ed invia transazione",signMessage:"Firma messaggio",signTransaction:"Firma transazione",signTypedData:"Firma typed data"},successfullySigned:"Richiesta firmata con successo",walletConnectRequest:"Richiesta WalletConnect"},useNewUri:"Questo URI è già stato utilizzato per provare a connettersi. Per favore, utilizzare un nuovo URI.",walletConnect:"WalletConnect"},$H={receivePairing:`Si prega di associare il BitBox per abilitare la verifica sicura dell'indirizzo. Vai su "Gestisci dispositivo" nella barra laterale.`,sdcard:"Tenere la scheda microSD separata dal BitBox, a meno che non si vogliano gestire i backup.",sendPairing:"Si prega di abbinare il BitBox per verificare in modo sicuro i dettagli della transazione. Vai su 'Gestisci dispositivo' nella barra laterale."},MH={connect:"Connetti BitBox02",getStarted:"Iniziamo con l'installazione del firmware sul BitBox02.",insertBitBox02:"Se hai collegato un BitBox02, tocca il dispositivo per continuare.",insertDevice:"Collega il tuo dispositivo per cominciare",title:"Benvenuto"},OH={account:w9,accountInfo:j9,accountSummary:B9,addAccount:S9,aopp:z9,app:C9,auth:D9,backup:A9,bb02Bootloader:_9,bitbox:T9,bitbox02Interact:E9,bitbox02Settings:P9,bitbox02Wizard:N9,blink:L9,bootloader:I9,button:$9,buy:M9,changePin:O9,chart:R9,checkSDcard:F9,clickHere:V9,confirm:W9,confirmOnDevice:U9,connectKeystore:q9,darkmode:H9,device:K9,deviceLock:G9,deviceSettings:Q9,deviceTampered:Y9,dialog:Z9,error:J9,fiat:X9,footer:eH,generic:tH,genericError:nH,goal:aH,guide:iH,headerssync:oH,hiddenWallet:rH,initialize:sH,invalidFormat:lH,language:cH,legacyhiddenwallet:uH,loading:dH,manageAccounts:pH,mobile:hH,newSettings:mH,note:fH,notification:gH,pairing:vH,passphrase:bH,password:kH,random:xH,receive:yH,reset:wH,securityInformation:jH,seed:BH,seedRestore:SH,send:zH,settings:CH,setup:DH,sidebar:AH,success:_H,transaction:TH,transactions:EH,unknownError:PH,unlock:NH,upgradeFirmware:LH,walletConnect:IH,warning:$H,welcome:MH};function Mu(t){return t.replace("_","-")}const tk=t=>Mu(t).split("-")[0],RH=t=>{try{const e=Mu(t);return new Intl.Locale(e).region||""}catch{return""}},nk="en",FH={type:"languageDetector",async:!0,detect:t=>{Z("config").then(({backend:e})=>{if(e&&e.userLanguage){t(e.userLanguage);return}Z("native-locale").then(n=>{if(typeof n=="string"&&n){try{new Date().toLocaleString(Mu(n))}catch{t(nk);return}t(Mu(n));return}t(nk)})})},init:()=>{},cacheUserLanguage:()=>{}};let hc={};const Bt=()=>Z("config"),at=t=>Bt().then((e={})=>{const n=Object.assign(e,{backend:Object.assign({},e.backend,hc.backend,t.backend),frontend:Object.assign({},e.frontend,hc.frontend,t.frontend)});return hc=n,H("config",n).then(()=>(hc={},n))}),VH="fe4e5a24-e4a2-4903-96fc-3d62c11fc502";let WH=se.use(FH);WH.init({fallbackLng:"en",ns:["app","wallet"],defaultNS:"app",debug:!1,returnObjects:!0,interpolation:{escapeValue:!1},react:{useSuspense:!0},backend:{projectId:VH,referenceLng:"en"}});se.addResourceBundle("ar","app",b_);se.addResourceBundle("cs","app",IT);se.addResourceBundle("de","app",eP);se.addResourceBundle("en","app",bN);se.addResourceBundle("fr","app",IL);se.addResourceBundle("ja","app",e$);se.addResourceBundle("ms","app",TO);se.addResourceBundle("nl","app",HR);se.addResourceBundle("ru","app",hM);se.addResourceBundle("pt","app",uF);se.addResourceBundle("hi","app",m4);se.addResourceBundle("bg","app",b5);se.addResourceBundle("tr","app",wV);se.addResourceBundle("zh","app",zW);se.addResourceBundle("fa","app",_8);se.addResourceBundle("es","app",GU);se.addResourceBundle("sl","app",pq);se.addResourceBundle("he","app",y9);se.addResourceBundle("it","app",OH);se.on("languageChanged",t=>hj().then(e=>{let n=t===e;if(!n){const i=tk(t),o=tk(e);n=i===o}return at({backend:{userLanguage:n?null:t}})}));const UH=/^(.*)(.*)<\/strong>(.*)$/;function Qe({tagName:t,markup:e,...n}){if(typeof e!="string")return null;const a=UH.exec(e);return a===null||a.length!==4?x.createElement(t,n,e):x.createElement(t,n,a[1],x.createElement("strong",null,a[2]),a[3])}const ia=({tagName:t,markup:e,withBreaks:n,...a})=>r.jsx(r.Fragment,{children:e.split(` +`).map((i,o)=>r.jsxs(x.Fragment,{children:[r.jsx(Qe,{tagName:t,markup:i,...a}),n&&r.jsx("br",{})]},`${i}-${o}`))}),gg=x.createContext({}),Kn=()=>{const{isDarkMode:t,toggleDarkmode:e}=x.useContext(gg);return{isDarkMode:t,toggleDarkmode:e}},qH=""+new URL("alert-triangle-c0e6e5bc.svg",import.meta.url).href,HH=""+new URL("bitbox02-stylized-reflection-dark-999a6f95.png",import.meta.url).href,KH=""+new URL("bitbox02-stylized-reflection-light-f309683e.png",import.meta.url).href,GH=""+new URL("info-26f99441.svg",import.meta.url).href,QH=""+new URL("arrow-circle-left-9f2ad442.svg",import.meta.url).href,YH=""+new URL("arrow-circle-left-active-8b0e4994.svg",import.meta.url).href,ZH=""+new URL("arrow-circle-right-539c2d63.svg",import.meta.url).href,JH=""+new URL("arrow-circle-right-active-adcebbe6.svg",import.meta.url).href,XH=""+new URL("bank-158b6fd3.svg",import.meta.url).href,e7=""+new URL("bank-light-f346a8d5.svg",import.meta.url).href,t7=""+new URL("buy-info-62104e12.svg",import.meta.url).href,n7=""+new URL("checked-small-e69d552e.svg",import.meta.url).href,a7=""+new URL("check-3b2dbd3d.svg",import.meta.url).href,i7=""+new URL("chevron-right-dark-19859d9c.svg",import.meta.url).href,o7=""+new URL("chevron-left-dark-5fd1eb30.svg",import.meta.url).href,r7=""+new URL("cancel-7c172dc6.svg",import.meta.url).href,s7=""+new URL("credit-card-4765ab65.svg",import.meta.url).href,l7=""+new URL("credit-card-light-2e98f359.svg",import.meta.url).href,c7=""+new URL("edit-d4eb4ce9.svg",import.meta.url).href,u7=""+new URL("edit-light-137645b5.svg",import.meta.url).href,d7=""+new URL("edit-active-7d462b32.svg",import.meta.url).href,Es=""+new URL("eth-color-abf7bd86.svg",import.meta.url).href,p7=""+new URL("red-dot-3af757ce.svg",import.meta.url).href,h7=""+new URL("copy-e63679e5.svg",import.meta.url).href,m7=""+new URL("close-7942a261.svg",import.meta.url).href,f7=""+new URL("close-x-white-4513b38d.svg",import.meta.url).href,g7=""+new URL("close-x-dark-8785056c.svg",import.meta.url).href,v7=""+new URL("external-link-9b9f4e59.svg",import.meta.url).href,b7=""+new URL("eye-closed-5e84a2bd.svg",import.meta.url).href,k7=""+new URL("eye-opened-a7f89876.svg",import.meta.url).href,x7=""+new URL("eye-opened-dark-22d34f27.svg",import.meta.url).href,y7=""+new URL("globe-dark-22dc5c2d.svg",import.meta.url).href,w7=""+new URL("globe-light-8ff28dea.svg",import.meta.url).href,j7=""+new URL("guide-610ad534.svg",import.meta.url).href,B7=""+new URL("menu-dark-b1183a6b.svg",import.meta.url).href,S7=""+new URL("menu-light-02b63490.svg",import.meta.url).href,z7=""+new URL("wallet-connect-dark-74cac7bd.svg",import.meta.url).href,C7=""+new URL("wallet-connect-light-17eaae81.svg",import.meta.url).href,D7=""+new URL("wallet-connect-default-40d2960e.svg",import.meta.url).href,A7="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACowAAAqMBZNxfiQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOMSURBVGiB7ZjPS5RBGMe/877vrluJmLqR4KEfICJ46CB0CNwOGS5sLf0FYq63grqWseipJOzaD6N7lyBSUohAgkDpkgcREiI96Wp00d33dZ4Ou67uvvP6zjvvLFvg97bzzjzP892Z+bwzL3CsY4USq1Xg3FCqnwx+v5iEnra+mp6rRZ6aGNgaSV3hnH8GYJaaHIN4omVq5ovuXIbugJRNWJz4cxwUDwAWN4wXlE1YuvNpN5BbO5UBodv1gNC9ud44rDuf1iW0PZhu3rPsFQBxjy4bphPpPP3m3W9dObXOgGMWRuFdPADEuWU/1JlT2wxsZJKdjNgSgIhP1wIx6om/nF7RkVfbDDDOJuBfPABEGbEn2vLqCFJi/sdAiblxvfX1+9mwuUPPAGUTFpl8MvA4k0/qwGpoA57Y9JMmrIZaQhLY9FNorIaagRISVYsHgDiP2A/C1KA8AyVsfgcQrX4WSyQR679V0bYz8xb5eeE+D4VV5U3EOJsAcxcPAIhEYcbPVva3PAm7j9W0Sh1KSyg3lOoHww3PDoW8q4lsd9sh3cwNpfpVaglsQAabZBfcjQVB2+ExilgNbGBzvXHYD5skKNZnBopY/XXydtB6AhnYHkw3M6Ix346CYkWmqsUYG98eTDcHqSmQAVlsCosVLSu3AmNV2sBGJtlJwB2ZvqI9INwXorGEuxuZZKdsXdIGSqdNMTarJaKQxBIqKdBpVcqALzarJPy3/TZxpaSx6mtA5bQppJD8DBT7S2LV14AMNl0SUUhyDxwMkMPqkQaksVmd27bdjYJ94ScZrB5pQPW06XppEYEcgSl/+WLV00AQbLrkOADn5Z/k2ACRUig/rHpukiNPmxJyVpeBSHE45XdVwwA+p1XhfUDlkl5reX0EcC0h1Ut6reWFVZcBJWyKxBjMM+0w4+0A0/D1xgOrFZE1XNKLQWMn0HRvHNaFLgCA82MZf56NgnZ3woQFBB8BKmZAwyUdABDrGygXDwDWxS7E+gbChgUEWC0bCIXNKrHGJqk2FVVjtWyghCplbB5WYWG+4sVFjo3CwryO0AAQZcDj/R8MqA02zY5zaLh8FSAg//UT9tZ/6gxfxiqjbNbIrS0uAnRJa4ba61trR28v+xdfWtJiuGZwttdW7zpURUCb0WCaswC26l2MgnIN+egcA4CtkWQP5+wRgPN1LkpODKsGx1jL1IelepdyrP9efwF60oqTW0b3mgAAAABJRU5ErkJggg==",_7=""+new URL("warning-outlined-85e7fbc2.svg",import.meta.url).href,T7=""+new URL("qr-dark-f8424fb2.svg",import.meta.url).href,E7=""+new URL("qr-light-d5293809.svg",import.meta.url).href,P7=""+new URL("save-eb1c51e8.svg",import.meta.url).href,N7=""+new URL("save-light-8e93cb91.svg",import.meta.url).href,L7=""+new URL("selected-check-light-a46bd108.svg",import.meta.url).href,I7=""+new URL("usb-success-f34b1205.svg",import.meta.url).href,$7="_expandIcon_j17uw_1",mj={expandIcon:$7},M7=()=>r.jsxs("svg",{className:mj.expandIcon,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"11",cy:"11",r:"8"}),r.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),r.jsx("line",{x1:"11",y1:"8",x2:"11",y2:"14"}),r.jsx("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]}),O7=()=>r.jsxs("svg",{className:mj.expandIcon,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"11",cy:"11",r:"8"}),r.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),r.jsx("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]}),vg=({className:t,...e})=>r.jsxs("svg",{className:`checked ${t||""}`,viewBox:"0 0 52 52",...e,children:[r.jsx("circle",{className:"checked-circle",cx:"26",cy:"26",r:"25",fill:"none"}),r.jsx("path",{className:"checked-check",fill:"none",d:"M14.1 27.2l7.1 7.2 16.7-16.8"})]}),R7=({className:t,...e})=>r.jsx("svg",{className:`caretDown ${t||""}`,viewBox:"0 0 1024 1024",...e,children:r.jsx("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"})}),ak=({expand:t=!0})=>t?r.jsx(M7,{}):r.jsx(O7,{}),$m=t=>r.jsx("img",{src:GH,draggable:!1,...t}),fj=t=>r.jsx("img",{src:HH,draggable:!1,...t}),gj=t=>r.jsx("img",{src:KH,draggable:!1,...t}),vj=t=>r.jsx("img",{src:QH,draggable:!1,...t}),bj=t=>r.jsx("img",{src:YH,draggable:!1,...t}),kj=t=>r.jsx("img",{src:ZH,draggable:!1,...t}),xj=t=>r.jsx("img",{src:JH,draggable:!1,...t}),F7=t=>r.jsx("img",{src:XH,draggable:!1,...t}),V7=t=>r.jsx("img",{src:e7,draggable:!1,...t}),W7=t=>r.jsx("img",{src:t7,draggable:!1,...t}),Bd=t=>r.jsx("img",{src:n7,draggable:!1,...t}),yj=t=>r.jsx("img",{src:a7,draggable:!1,...t}),U7=t=>r.jsx("img",{src:o7,draggable:!1,...t}),di=t=>r.jsx("img",{src:i7,draggable:!1,...t}),bg=t=>r.jsx("img",{src:r7,draggable:!1,...t}),q7=t=>r.jsx("img",{src:s7,draggable:!1,...t}),H7=t=>r.jsx("img",{src:l7,draggable:!1,...t}),wj=t=>r.jsx("img",{src:p7,draggable:!1,...t}),K7=t=>r.jsx("img",{src:h7,draggable:!1,...t}),G7=t=>r.jsx("img",{src:m7,draggable:!1,...t}),El=t=>r.jsx("img",{src:f7,draggable:!1,...t}),jj=t=>r.jsx("img",{src:g7,draggable:!1,...t}),Q7=t=>r.jsx("img",{src:c7,draggable:!1,...t}),Y7=t=>r.jsx("img",{src:u7,draggable:!1,...t}),Z7=t=>r.jsx("img",{src:d7,draggable:!1,...t}),ik=t=>r.jsx("img",{src:Es,draggable:!1,...t}),J7=t=>r.jsx("img",{src:v7,draggable:!1,...t}),X7=t=>r.jsx("img",{src:b7,draggable:!1,...t}),eK=t=>r.jsx("img",{src:k7,draggable:!1,...t}),tK=t=>r.jsx("img",{src:x7,draggable:!1,...t}),nK=t=>r.jsx("img",{src:y7,draggable:!1,...t}),aK=t=>r.jsx("img",{src:w7,draggable:!1,...t}),iK=t=>r.jsx("img",{src:j7,draggable:!1,...t}),Bj=t=>r.jsx("img",{src:B7,draggable:!1,...t}),oK=t=>r.jsx("img",{src:S7,draggable:!1,...t}),rK=t=>r.jsx("img",{src:z7,draggable:!1,...t}),Ou=t=>r.jsx("img",{src:C7,draggable:!1,...t}),sK=t=>r.jsx("img",{src:D7,draggable:!1,...t}),Sj=t=>r.jsx("img",{src:A7,draggable:!1,...t}),lK=t=>r.jsx("img",{src:_7,draggable:!1,...t}),cK=t=>r.jsx("img",{src:T7,draggable:!1,...t}),uK=t=>r.jsx("img",{src:E7,draggable:!1,...t}),dK=t=>r.jsx("img",{src:P7,draggable:!1,...t}),pK=t=>r.jsx("img",{src:N7,draggable:!1,...t}),hK=t=>r.jsx("img",{src:L7,draggable:!1,...t}),zj=t=>r.jsx("img",{src:I7,draggable:!1,...t}),kg=t=>r.jsx("img",{src:qH,draggable:!1,...t}),mK=""+new URL("app-logo-inverted-9476ef43.svg",import.meta.url).href,fK=""+new URL("app-logo-e5554192.svg",import.meta.url).href,gK=""+new URL("bitbox-logo-beddd362.svg",import.meta.url).href,vK=""+new URL("bitbox02-logo-4584514f.svg",import.meta.url).href,bK=""+new URL("bitbox02inverted-logo-981de13d.svg",import.meta.url).href,Kp=""+new URL("btc-color-0f3883b3.svg",import.meta.url).href,Gp=""+new URL("btc-white-3f92e697.svg",import.meta.url).href,mc=""+new URL("eth-white-7454e0aa.svg",import.meta.url).href,ok=""+new URL("ltc-color-8d6fe1fa.svg",import.meta.url).href,rk=""+new URL("ltc-white-92efa441.svg",import.meta.url).href,kK=""+new URL("swiss-made-open-source-light-124067cd.svg",import.meta.url).href,xK=""+new URL("swiss-made-open-source-dark-10fbd1ed.svg",import.meta.url).href,yK=""+new URL("bat-color-18201db9.svg",import.meta.url).href,wK=""+new URL("bat-white-8b45a88f.svg",import.meta.url).href,jK=""+new URL("dai-color-d504eee3.svg",import.meta.url).href,BK=""+new URL("dai-white-97314f16.svg",import.meta.url).href,SK=""+new URL("link-color-c44bcfb9.svg",import.meta.url).href,zK=""+new URL("link-white-37916eea.svg",import.meta.url).href,CK=""+new URL("mkr-color-4aac955e.svg",import.meta.url).href,DK=""+new URL("mkr-white-ae494065.svg",import.meta.url).href,AK=""+new URL("usdc-color-cab383c5.svg",import.meta.url).href,_K=""+new URL("usdc-white-acee0443.svg",import.meta.url).href,TK=""+new URL("usdt-color-8719df87.svg",import.meta.url).href,EK=""+new URL("usdt-white-c9eaa51c.svg",import.meta.url).href,PK=""+new URL("zrx-color-9f21aaec.svg",import.meta.url).href,NK=""+new URL("zrx-white-2ba7f1d5.svg",import.meta.url).href,LK=""+new URL("wbtc-color-b34f085c.svg",import.meta.url).href,IK=""+new URL("wbtc-white-48159684.svg",import.meta.url).href,$K=""+new URL("paxg-color-5da5c9d3.svg",import.meta.url).href,MK=""+new URL("paxg-white-f05f807e.svg",import.meta.url).href,OK="_logo_gbled_1",RK="_swissOpenSource_gbled_7",FK="_large_gbled_12",li={logo:OK,swissOpenSource:RK,large:FK},Cj=t=>r.jsx("img",{...t,draggable:!1,src:gK,alt:"BitBox",className:li.logo}),VK=t=>r.jsx("img",{...t,draggable:!1,src:vK,alt:"BitBox02",className:li.logo}),WK=t=>r.jsx("img",{...t,draggable:!1,src:bK,alt:"BitBox02",className:li.logo}),xg=t=>r.jsx("img",{...t,draggable:!1,src:fK,alt:"BitBox",className:li.logo}),Sd=t=>r.jsx("img",{...t,draggable:!1,src:mK,alt:"BitBox",className:li.logo}),pi=({large:t,className:e,...n})=>r.jsx("img",{...n,draggable:!1,src:kK,alt:"Swiss Made Open Source",className:`${li.swissOpenSource} ${n.large?li.large:""} ${e||""}`}),hi=({large:t,className:e,...n})=>r.jsx("img",{...n,draggable:!1,src:xK,alt:"Swiss Made Open Source",className:`${li.swissOpenSource} ${n.large?li.large:""} ${e||""}`}),vs={btc:[Kp,Gp],tbtc:[Kp,Gp],rbtc:[Kp,Gp],ltc:[ok,rk],tltc:[ok,rk],eth:[Es,mc],goeth:[Es,mc],sepeth:[Es,mc],erc20Test:[Es,mc],"eth-erc20-usdt":[TK,EK],"eth-erc20-usdc":[AK,_K],"eth-erc20-dai0x6b17":[jK,BK],"eth-erc20-link":[SK,zK],"eth-erc20-bat":[yK,wK],"eth-erc20-mkr":[CK,DK],"eth-erc20-zrx":[PK,NK],"eth-erc20-wbtc":[LK,IK],"eth-erc20-paxg":[$K,MK]};function Ro({coinCode:t,active:e,stacked:n,...a}){return vs[t]?n?r.jsx("div",{children:e?r.jsx("img",{draggable:!1,src:vs[t][0],...a}):r.jsxs("div",{className:"stacked",children:[r.jsx("img",{draggable:!1,src:vs[t][1],...a}),r.jsx("img",{draggable:!1,src:vs[t][0],...a})]})}):r.jsx("img",{draggable:!1,src:vs[t][0],...a}):(console.error("logo undefined for ",t),null)}const UK="_point2bitbox02_1vb0x_1",qK="_caret_1vb0x_5",HK="_bitbox02_1vb0x_10",fc={point2bitbox02:UK,caret:qK,bitbox02:HK},ns=()=>{const{isDarkMode:t}=Kn();return r.jsxs("div",{className:fc.point2bitbox02,children:[r.jsx(R7,{className:fc.caret}),t?r.jsx(gj,{className:fc.bitbox02}):r.jsx(fj,{className:fc.bitbox02})]})},KK="_overlay_1u8gr_1",GK="_activeOverlay_1u8gr_15",QK="_modal_1u8gr_19",YK="_header_1u8gr_31",ZK="_title_1u8gr_31",JK="_contentContainer_1u8gr_37",XK="_small_1u8gr_42",eG="_medium_1u8gr_47",tG="_large_1u8gr_53",nG="_centered_1u8gr_68",aG="_closeButton_1u8gr_78",iG="_slim_1u8gr_105",oG="_padded_1u8gr_109",rG="_content_1u8gr_37",sG="_actions_1u8gr_117",lG="_confirmationLabel_1u8gr_135",cG="_confirmationLabelNumber_1u8gr_144",uG="_disabledLabel_1u8gr_150",dG="_noStep_1u8gr_155",pG="_confirmationInstructions_1u8gr_159",hG="_confirm_1u8gr_135",mG="_image_1u8gr_179",fG="_modalContent_1u8gr_184",gG="_detail_1u8gr_193",vG="_description_1u8gr_217",bG="_buttons_1u8gr_221",kG="_dialogButtons_1u8gr_233",xG="_closingOverlay_1u8gr_244",yG="_open_1u8gr_268",ce={overlay:KK,activeOverlay:GK,modal:QK,header:YK,title:ZK,contentContainer:JK,small:XK,medium:eG,large:tG,centered:nG,closeButton:aG,slim:iG,padded:oG,content:rG,actions:sG,confirmationLabel:lG,confirmationLabelNumber:cG,disabledLabel:uG,noStep:dG,confirmationInstructions:pG,confirm:hG,image:mG,modalContent:fG,detail:gG,description:vG,buttons:bG,dialogButtons:kG,closingOverlay:xG,open:yG};class qe extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.modalContent=x.createRef(),this.state={currentTab:0,renderDialog:!1},this.handleFocus=e=>{const a=e.target.getAttribute("index");this.setState({currentTab:Number(a)})},this.focusWithin=()=>{if(this.modalContent.current){this.focusableChildren=this.modalContent.current.querySelectorAll("a, button, input, textarea");const e=Array.from(this.focusableChildren);for(const n of e)n.classList.add("tabbable"),n.setAttribute("index",e.indexOf(n).toString()),n.addEventListener("focus",this.handleFocus);document.addEventListener("keydown",this.handleKeyDown)}},this.focusFirst=()=>{const e=this.focusableChildren;e.length&&e[0].getAttribute("autofocus")!=="false"&&e[0].focus()},this.updateIndex=e=>{const n=this.getNextIndex(e);this.setState({currentTab:n},()=>{this.focusableChildren[n].focus()})},this.deactivateModal=e=>{!this.modal.current||!this.overlay.current||(this.overlay.current.classList.remove(ce.closingOverlay),this.setState({currentTab:0,renderDialog:!1},()=>{document.removeEventListener("keydown",this.handleKeyDown),this.props.onClose&&e&&this.props.onClose()}))},this.handleKeyDown=e=>{const{disableEscape:n}=this.props,a=e.keyCode===27,i=e.keyCode===9;!n&&a?this.deactivate(!0):i&&e.preventDefault(),i&&e.shiftKey?this.updateIndex(!1):i&&this.updateIndex(!0)},this.deactivate=e=>{var i;if(!this.modal.current||!this.overlay.current)return;this.timerId&&clearTimeout(this.timerId),this.overlay.current.classList.remove(ce.activeOverlay),this.overlay.current.classList.add(ce.closingOverlay),(i=this.modal.current)==null||i.classList.remove(ce.open);const n=o=>{var s;o.target===this.modal.current&&(this.deactivateModal(e),(s=this.modal.current)==null||s.removeEventListener("transitionend",n))};parseFloat(window.getComputedStyle(this.modal.current).transitionDuration)>0?(this.modal.current.addEventListener("transitionend",n),this.timerId=setTimeout(()=>this.deactivateModal(e),400)):this.deactivateModal(e)},this.activate=()=>{this.setState({renderDialog:!0},()=>{!this.modal.current||!this.overlay.current||(this.timerId&&clearTimeout(this.timerId),this.overlay.current.classList.add(ce.activeOverlay),this.timerId=setTimeout(()=>{var e;(e=this.modal.current)==null||e.classList.add(ce.open)},10),this.focusWithin(),this.focusFirst())})}}componentDidMount(){this.props.open&&this.activate()}componentDidUpdate(e){const{open:n}=this.props;if(n&&!e.open){this.activate();return}if(!n&&e.open){this.deactivate(!1);return}}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}getNextIndex(e){const{currentTab:n}=this.state,a=Array.from(this.focusableChildren),i=e?a:a.reverse(),o=e?n:i.length-1-n;let s=e?n+1:i.length-n;return s=i.findIndex((l,c)=>c>=s&&!l.hasAttribute("disabled")),s=s<0?i.findIndex((l,c)=>c<=o&&!l.hasAttribute("disabled")):s,e?s:i.length-1-s}render(){const{title:e,small:n,medium:a,large:i,slim:o,centered:s,onClose:l,disabledClose:c,children:u}=this.props,{renderDialog:d}=this.state,p=n?ce.small:"",h=a?ce.medium:"",m=i?ce.large:"",g=o?ce.slim:"",v=s&&!l?ce.centered:"";return d?r.jsx("div",{className:ce.overlay,ref:this.overlay,children:r.jsxs("div",{className:[ce.modal,p,h,m].join(" "),ref:this.modal,children:[e&&r.jsxs("div",{className:[ce.header,v].join(" "),children:[r.jsx("h3",{className:ce.title,children:e}),l?r.jsxs("button",{className:ce.closeButton,onClick:()=>{this.deactivate(!0)},disabled:c,children:[r.jsx(jj,{className:"show-in-lightmode"}),r.jsx(El,{className:"show-in-darkmode"})]}):null]}),r.jsx("div",{className:[ce.contentContainer,g].join(" "),ref:this.modalContent,children:r.jsx("div",{className:ce.content,children:u})})]})}):null}}function Yt({children:t}){return r.jsx("div",{className:ce.dialogButtons,children:t})}const eu=[{code:"ar",display:"العربية"},{code:"bg",display:"България"},{code:"cs",display:"Čeština"},{code:"de",display:"Deutsch"},{code:"en",display:"English"},{code:"es",display:"Español"},{code:"fa",display:"فارسی"},{code:"fr",display:"Français"},{code:"he",display:"עברית"},{code:"hi",display:"हिन्दी "},{code:"it",display:"Italiano"},{code:"ja",display:"日本語"},{code:"ms",display:"Bahasa Melayu"},{code:"nl",display:"Nederlands"},{code:"pt",display:"Português"},{code:"ru",display:"Русский"},{code:"sl",display:"Slovenščina"},{code:"tr",display:"Türkçe"},{code:"zh",display:"中文"}],wG="_link_28asd_1",jG="_language_28asd_20",BG="_selected_28asd_38",SG="_checked_28asd_46",gc={link:wG,language:jG,selected:BG,checked:SG},Dj=(t,e)=>{const n=e.language;let a=t.findIndex(({code:i})=>i===n);if(a===-1&&n.indexOf("-")>0){const i=n.slice(0,n.indexOf("-"));a=t.findIndex(({code:o})=>o===i)}if(a===-1&&n.indexOf("_")>0){const i=n.slice(0,n.indexOf("_"));a=t.findIndex(({code:o})=>o===i)}return a===-1?0:a},oo=({languages:t})=>{const{t:e,i18n:n}=A(),a=t||eu,[i,o]=x.useState(Dj(a,n)),[s,l]=x.useState(!1),c=(u,d)=>{o(d),l(!1),n.changeLanguage(u)};return a.length===1?null:r.jsxs("div",{children:[r.jsxs("button",{type:"button",title:"Select Language",className:gc.link,onClick:()=>l(!0),children:[r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"12",cy:"12",r:"10"}),r.jsx("line",{x1:"2",y1:"12",x2:"22",y2:"12"}),r.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),a[i].code==="en"?"Other languages":"English"]}),r.jsx(qe,{small:!0,slim:!0,title:e("language.title"),onClose:()=>l(!1),open:s,children:a.map((u,d)=>{const p=i===d;return r.jsxs("button",{type:"button",className:[gc.language,p?gc.selected:""].join(" "),onClick:()=>c(u.code,d),"data-testid":`language-selection-${u.code}`,children:[u.display,p&&r.jsx("svg",{className:gc.checked,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"20 6 9 17 4 12"})})]},u.code)})})]})},ro=()=>{const t=x.useRef(!1);return x.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),t},Aj=t=>{const[e,n]=x.useState(),a=ro(),i=()=>t(o=>{a.current&&n(o)});return x.useEffect(()=>i(),[]),[e,()=>n(void 0)]},_j=t=>{const[e]=Aj(t);return e},me=(t,e)=>{const[n,a]=x.useState(),i=ro(),o=()=>{t!==null&&t().then(s=>{i.current&&a(s)})};return x.useEffect(()=>o(),e||[]),n},zd=(t,e)=>{const[n,a]=x.useState(),i=ro(),o=s=>{i.current&&a(s)};return x.useEffect(()=>(t().then(o),e(o)),[]),n},Tj=()=>Z("version"),Ej=()=>Z("update"),Pj=()=>{const{t}=A(),e=me(Tj);return e?r.jsxs("p",{children:[t("footer.appVersion")," ",e]}):null},zG="_fullscreen_q1y08_1",CG="_dialog_q1y08_22",DG="_fill_q1y08_28",AG="_inner_q1y08_38",_G="_verticallyCentered_q1y08_46",TG="_fit_q1y08_50",EG="_content_q1y08_56",PG="_textCenter_q1y08_61",NG="_header_q1y08_109",LG="_smallHeader_q1y08_130",IG="_title_q1y08_155",$G="_closeButton_q1y08_169",MG="_fullWidth_q1y08_197",OG="_largeIcon_q1y08_215",RG="_buttons_q1y08_240",FG="_footer_q1y08_294",kt={fullscreen:zG,dialog:CG,fill:DG,inner:AG,verticallyCentered:_G,fit:TG,content:EG,textCenter:PG,"text-center":"_text-center_q1y08_62","text-left":"_text-left_q1y08_65",header:NG,smallHeader:LG,title:IG,closeButton:$G,fullWidth:MG,largeIcon:OG,buttons:RG,footer:FG},re=({dialog:t=!1,fitContent:e=!1,fullscreen:n,children:a,minHeight:i,onClose:o,textCenter:s,verticallyCentered:l=!1,width:c,withBottomBar:u})=>{const{isDarkMode:d}=Kn(),p=`${kt[n?"fullscreen":"fill"]} ${l?kt.verticallyCentered:""} ${t?kt.dialog:""}`;let h=kt.inner;e&&(h+=` ${kt.fit}`),s&&(h+=` ${kt.textCenter}`);const m={...i&&{minHeight:i},...c&&{width:c}};return r.jsxs("div",{className:p,children:[r.jsx("div",{className:h,style:m,children:a}),o&&r.jsx("button",{className:kt.closeButton,onClick:o,children:r.jsx(G7,{})}),u&&r.jsx("div",{style:{marginTop:"auto"},children:r.jsxs("footer",{className:kt.footer,children:[d?r.jsx(hi,{}):r.jsx(pi,{}),r.jsx("div",{className:"m-right-half hide-on-small",children:r.jsx(Pj,{})}),r.jsx(oo,{})]})})]})},ue=({children:t,fullWidth:e,minHeight:n,textAlign:a,withIcon:i,...o})=>{const s=a?kt[`text-${a}`]:"",l=e?kt.fullWidth:"",c=`${kt.content} ${l} ${s}`;return r.jsxs("div",{className:c,style:n?{minHeight:n}:{},...o,children:[i==="success"&&r.jsx(vg,{className:kt.largeIcon}),t]})},be=({children:t,small:e,title:n,withAppLogo:a})=>{const{isDarkMode:i}=Kn(),o=e?`${kt.header} ${kt.smallHeader}`:kt.header;return r.jsxs("header",{className:o,children:[a&&(i?r.jsx(Sd,{}):r.jsx(xg,{})),r.jsx("h1",{className:kt.title,children:n}),t]})},Fe=({children:t})=>r.jsx("div",{className:kt.buttons,children:t}),VG="_button_b8ew4_1",WG="_primary_b8ew4_38 _button_b8ew4_1",UG="_secondary_b8ew4_49 _button_b8ew4_1",qG="_danger_b8ew4_67 _button_b8ew4_1",HG="_transparent_b8ew4_84 _button_b8ew4_1",Nj={button:VG,primary:WG,secondary:UG,danger:qG,transparent:HG},Qo=({primary:t,secondary:e,transparent:n,danger:a,className:i="",children:o,disabled:s,...l})=>{const c=[Nj[t&&"primary"||e&&"secondary"||n&&"transparent"||a&&"danger"||"button"],i].join(" ");return s?r.jsx("button",{className:c,disabled:!0,children:o}):r.jsx(Ya,{className:c,...l,children:o})},_=({type:t="button",primary:e,secondary:n,transparent:a,danger:i,className:o="",children:s,...l})=>{const c=[Nj[e&&"primary"||n&&"secondary"||a&&"transparent"||i&&"danger"||"button"],o].join(" ");return r.jsx("button",{type:t,className:c,...l,children:s})},KG="_checkbox_1m6k1_1",GG="_success_1m6k1_33",QG="_warning_1m6k1_37",YG="_info_1m6k1_41",sk={checkbox:KG,success:GG,warning:QG,info:YG},Ve=({disabled:t=!1,label:e,id:n,className:a="",children:i,checkboxStyle:o="default",...s})=>r.jsxs("span",{className:`${sk.checkbox} ${a} ${sk[o]||""}`,children:[r.jsx("input",{type:"checkbox",id:n,disabled:t,...s}),r.jsxs("label",{htmlFor:n,children:[e," ",i]})]}),ZG="_radio_198i3_1",JG={radio:ZG};function yg({disabled:t=!1,label:e,id:n,children:a,...i}){return r.jsxs("span",{className:JG.radio,children:[r.jsx("input",{type:"radio",id:n,disabled:t,...i}),r.jsxs("label",{htmlFor:n,children:[e,a]})]})}const XG="_field_d2mb0_1",eQ={field:XG};function Ps({children:t,...e}){return r.jsx("div",{className:eQ.field,...e,children:t})}const tQ="_input_1dgl0_1",nQ="_isTransparent_1dgl0_58",aQ="_errorText_1dgl0_64",vc={input:tQ,"align-left":"_align-left_1dgl0_12","align-right":"_align-right_1dgl0_16",isTransparent:nQ,errorText:aQ},Ye=x.forwardRef(function({id:e,label:n="",error:a,align:i="left",className:o="",children:s,transparent:l=!1,type:c="text",labelSection:u,...d},p){return r.jsxs("div",{className:[vc.input,vc[`align-${i}`],o,l?vc.isTransparent:""].join(" "),children:[n?r.jsxs("div",{className:"flex flex-row flex-between",children:[r.jsxs("label",{htmlFor:e,className:a?vc.errorText:"",children:[n,a?r.jsxs("span",{children:[":",r.jsx("span",{children:a.toString()})]}):null]}),u&&u]}):null,r.jsx("input",{autoComplete:"off",autoCorrect:"off",spellCheck:!1,type:c,id:e,ref:p,...d}),s]})}),iQ="_label_53nw1_1",oQ={label:iQ};function Mi({className:t,children:e,id:n,...a}){const i=[oQ.label,t].join(" ");return r.jsx("label",{htmlFor:n,className:i,...a,children:e})}const rQ="_select_yd5xu_1",sQ={select:rQ},Ru=({id:t,label:e,options:n=[],...a})=>r.jsxs("div",{className:sQ.select,children:[e&&r.jsx("label",{htmlFor:t,children:e}),r.jsx("select",{id:t,...a,children:n.map(({value:i,text:o,disabled:s=!1})=>r.jsx("option",{value:i,disabled:s,children:o},`${i}`))})]});let J,Qp;const lQ=()=>{const[t,e]=x.useState(!1),[n,a]=x.useState(!0),[i,o]=x.useState(),{t:s}=A();J=(c,u={})=>{const{asDialog:d=!0}=u;Qp=u.callback,e(!0),a(d),o(c)};const l=()=>{Qp&&Qp(),e(!1)};return t&&i?r.jsx("form",{onSubmit:()=>e(!1),children:r.jsxs(re,{dialog:n,fullscreen:!0,textCenter:!n,verticallyCentered:!0,children:[r.jsx(be,{title:r.jsx(ia,{tagName:"span",markup:i})}),r.jsx(Fe,{children:r.jsx(_,{autoFocus:!0,primary:!0,onClick:l,children:s("button.ok")})})]},"alert-overlay")}):null};var oa={signal:1,propertyUpdate:2,init:3,idle:4,debug:5,invokeMethod:6,connectToSignal:7,disconnectFromSignal:8,setProperty:9,response:10};const cQ=function(t,e){if(typeof t!="object"||typeof t.send!="function"){console.error("The QWebChannel expects a transport object with a send function and onmessage callback property. Given is: transport: "+typeof t+", transport.send: "+typeof t.send);return}var n=this;this.transport=t,this.send=function(a){typeof a!="string"&&(a=JSON.stringify(a)),n.transport.send(a)},this.transport.onmessage=function(a){var i=a.data;switch(typeof i=="string"&&(i=JSON.parse(i)),i.type){case oa.signal:n.handleSignal(i);break;case oa.response:n.handleResponse(i);break;case oa.propertyUpdate:n.handlePropertyUpdate(i);break;default:console.error("invalid message received:",a.data);break}},this.execCallbacks={},this.execId=0,this.exec=function(a,i){if(!i){n.send(a);return}if(n.execId===Number.MAX_VALUE&&(n.execId=Number.MIN_VALUE),a.hasOwnProperty("id")){console.error("Cannot exec message with property id: "+JSON.stringify(a));return}a.id=n.execId++,n.execCallbacks[a.id]=i,n.send(a)},this.objects={},this.handleSignal=function(a){var i=n.objects[a.object];i?i.signalEmitted(a.signal,a.args):console.warn("Unhandled signal: "+a.object+"::"+a.signal)},this.handleResponse=function(a){if(!a.hasOwnProperty("id")){console.error("Invalid response message received: ",JSON.stringify(a));return}n.execCallbacks[a.id](a.data),delete n.execCallbacks[a.id]},this.handlePropertyUpdate=function(a){for(var i in a.data){var o=a.data[i],s=n.objects[o.object];s?s.propertyUpdate(o.signals,o.properties):console.warn("Unhandled property update: "+o.object+"::"+o.signal)}n.exec({type:oa.idle})},this.debug=function(a){n.send({type:oa.debug,data:a})},n.exec({type:oa.init},function(a){for(var i in a)new tu(i,a[i],n);for(var i in n.objects)n.objects[i].unwrapProperties();e&&e(n),n.exec({type:oa.idle})})};function tu(t,e,n){this.__id__=t,n.objects[t]=this,this.__objectSignals__={},this.__propertyCache__={};var a=this;this.unwrapQObject=function(c){if(c instanceof Array){for(var u=new Array(c.length),d=0;d{Mm[n].resolve(JSON.parse(a)),delete Mm[n]}),e.objects.backend.pushNotify.connect(n=>{cr.forEach(a=>a(JSON.parse(n)))}),bs=e};for(new cQ(window.qt.webChannelTransport,t);!bs;)await new Promise(e=>setTimeout(e,1));return bs}function Lj(t){return new Promise((e,n)=>{dQ().then(a=>{Yp++,Mm[Yp]={resolve:e,reject:n},a.objects.backend.call(Yp,t)})})}function pQ(t){return cr.push(t),()=>{cr.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=cr.indexOf(t);cr.splice(e,1),cr.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}let Zp=0;const Jp={},nr=[];function Ij(t){return new Promise((e,n)=>{ci()?(typeof window.onAndroidCallResponse>"u"&&(window.onAndroidCallResponse=(a,i)=>{Jp[a].resolve(i),delete Jp[a]}),Zp++,Jp[Zp]={resolve:e,reject:n},window.android.call(Zp,t)):n()})}function hQ(t){return typeof window.onAndroidPushNotification>"u"&&(window.onAndroidPushNotification=e=>{nr.forEach(n=>n(e))}),nr.push(t),()=>{nr.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=nr.indexOf(t);nr.splice(e,1),nr.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}function $j(t,e){return t.startsWith("{{ ")&&t.endsWith(" }}")?e:t}const Mj=$j("{{ API_PORT }}","8082"),mQ=$j("{{ API_TOKEN }}","");function Oj(){return document.URL.startsWith("https://")}function Rj(t){return(Oj()?"https://":"http://")+"localhost:"+Mj+"/api/"+t}function Fj(t){return function(e){return new Promise((n,a)=>{if(e&&e.error){if(e.error.indexOf("hidapi: unknown failure")!==-1)return;console.error("error from endpoint",t,e),J(se.t("genericError")),a(e.error);return}n(e)})}}function Z(t){return Cd()?Lj(JSON.stringify({method:"GET",endpoint:t})):ci()?Ij(JSON.stringify({method:"GET",endpoint:t})):fetch(Rj(t),{method:"GET"}).then(e=>e.json()).then(Fj(t))}function H(t,e){return Cd()?Lj(JSON.stringify({method:"POST",endpoint:t,body:JSON.stringify(e)})):ci()?Ij(JSON.stringify({method:"POST",endpoint:t,body:JSON.stringify(e)})):fetch(Rj(t),{method:"POST",body:JSON.stringify(e)}).then(n=>n.json()).then(Fj(t))}let yi;const co=[];function fQ(t){return co.push(t),yi||(yi=new WebSocket((Oj()?"wss://":"ws://")+"localhost:"+Mj+"/api/events"),yi.onopen=function(){yi&&yi.send("Authorization: Basic "+mQ)},yi.onerror=function(e){console.error("websocket error",e)},yi.onmessage=function(e){const n=JSON.parse(e.data);co.forEach(a=>a(n))},yi.onclose=function(){co.forEach(e=>e({subject:"backend/connected",action:"replace",object:!1}))}),()=>{co.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=co.indexOf(t);co.splice(e,1),co.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}function Yo(t){return Cd()?pQ(t):ci()?hQ(t):fQ(t)}const Fu={};function gQ(t){if("subject"in t&&typeof t.subject=="string"&&Fu[t.subject])for(const e of Fu[t.subject])e(t)}let lk=null;function Vj(t,e){lk||(lk=Yo(gQ));let n=Fu[t];return n===void 0&&(n=[],Fu[t]=n),n.push(e),()=>{n.includes(e)||console.warn("!observers.includes(observer)");const a=n.indexOf(e);n.splice(a,1),n.includes(e)&&console.warn("observers.includes(observer)")}}function Gn(t,e){return Vj(t,n=>{switch(n.action){case"replace":e(n.object);break;case"reload":Z(n.subject).then(a=>e(a)).catch(console.error);break;default:throw new Error(`Event: ${n} not supported`)}})}const vQ=t=>Gn("backend/connected",t),bQ=()=>Z("supported-coins"),kQ=(t,e)=>H("set-account-active",{accountCode:t,active:e}),xQ=(t,e,n)=>H("set-token-active",{accountCode:t,tokenCode:e,active:n}),yQ=(t,e)=>H("rename-account",{accountCode:t,name:e}),wQ=()=>H("accounts/reinitialize"),jQ=()=>Z("testing"),BQ=t=>()=>Z(`qr?data=${encodeURIComponent(t)}`),SQ=()=>Z("config/default"),zQ=t=>H("socksproxy/check",t),CQ=()=>t=>Gn("connect-keystore",e=>{t(e)}),DQ=()=>H("cancel-connect-keystore"),ck=(t,e)=>H("set-watchonly",{rootFingerprint:t,watchonly:e}),AQ=(t=!1)=>H("authenticate",t),_Q=()=>H("force-auth"),Wj=t=>Gn("auth",t),TQ=()=>H("on-auth-setting-changed"),Uj=t=>Gn("keystores",t),EQ=()=>Z("keystores"),PQ="_message_ncb43_1",NQ="_small_ncb43_15",LQ="_success_ncb43_28 _message_ncb43_1",IQ="_info_ncb43_34 _message_ncb43_1",$Q="_warning_ncb43_40 _message_ncb43_1",MQ="_error_ncb43_46 _message_ncb43_1",uk={message:PQ,small:NQ,success:LQ,info:IQ,warning:$Q,error:MQ};function nn({hidden:t,small:e,type:n="message",children:a}){return t?null:r.jsx("div",{className:`${uk[n]} ${e?uk.small:""}`,children:a})}function wg(t){return t.displayName||t.name||"Component"}function qj(t){return function(n){var a;return a=class extends x.Component{componentDidMount(){t.subscribe(this)}componentWillUnmount(){t.unsubscribe(this)}render(){const i=this.props;return r.jsx(n,{...t.state,...i})}},a.displayName=`Share(${wg(n)})`,a}}const OQ=""+new URL("coins-0648651c.svg",import.meta.url).href,RQ=""+new URL("info-67e443f5.svg",import.meta.url).href,FQ=""+new URL("settings-alt-98fdf03d.svg",import.meta.url).href,VQ=""+new URL("settings-alt_disabled-abb2d7e2.svg",import.meta.url).href;function Dd(t,e){return t.find(({code:n})=>e===n)}function Ad(t,e){return e&&_d(e.coinCode)?"Bitcoin":t}function _d(t){switch(t){case"btc":case"tbtc":return!0;default:return!1}}const Hj=t=>t==="BTC"||t==="TBTC"||t==="sat"||t==="tsat";function La(t){switch(t){case"btc":case"tbtc":case"ltc":case"tltc":return!0;default:return!1}}function Fo(t){return t==="eth"||t==="goeth"||t==="sepeth"||t.startsWith("eth-erc20-")}function WQ(t){switch(t){case"btc":case"tbtc":return"btc";case"ltc":case"tltc":return"ltc";case"eth":case"goeth":case"sepeth":return"eth"}}function Td(t){switch(t){case"p2pkh":return"Legacy (P2PKH)";case"p2wpkh-p2sh":return"Wrapped Segwit (P2WPKH-P2SH)";case"p2wpkh":return"Native segwit (bech32, P2WPKH)";case"p2tr":return"Taproot (bech32m, P2TR)"}}function Kj(t){return La(t)?"sat/vB":Fo(t)?"Gwei":""}function Gj(t){return Object.values(t.reduce((e,n)=>{const a=n.keystore.rootFingerprint;return e[a]||(e[a]={keystore:n.keystore,accounts:[]}),e[a].accounts.push(n),e},{})).sort((e,n)=>e.keystore.name.localeCompare(n.keystore.name))}function Qj(t,e){return e.filter(n=>n.keystore.name===t).length>1}const UQ=()=>Z("accounts"),qQ=()=>Z("accounts/total-balance"),Yj=t=>H("accounts/eth-account-code",{address:t}),Zj=t=>Z(`account/${t}/status`),HQ=["p2pkh","p2wpkh-p2sh","p2wpkh","p2tr"],Jj=t=>()=>Z(`account/${t}/info`),Xj=t=>H(`account/${t}/init`),KQ=()=>Z("account-summary"),Ur=t=>Z(`account/${t}/balance`),GQ=(t,{internalTxID:e,note:n})=>H(`account/${t}/notes/tx`,{internalTxID:e,note:n}),QQ=(t,e)=>H(`account/${t}/propose-tx-note`,e),eB=t=>Z(`account/${t}/transactions`),YQ=(t,e)=>Z(`account/${t}/transaction?id=${e}`),ZQ=t=>H(`account/${t}/export`),JQ=(t,e)=>H(`account/${t}/verify-extended-public-key`,{signingConfigIndex:e}),Ed=t=>()=>Z(`account/${t}/receive-addresses`),XQ=t=>H(`account/${t}/sendtx`),eY=t=>Z(`account/${t}/fee-targets`),jg=(t,e)=>H(`account/${t}/verify-address`,e),dk=t=>Z(`account/${t}/utxos`),tB=t=>()=>Z(`account/${t}/has-secure-output`),tY=(t,e)=>H("account-add",{coinCode:t,name:e}),nY=t=>H("test/register",{pin:t}),fl=t=>H(`account/${t}/connect-keystore`),aY=(t,e)=>H(`account/${t}/eth-sign-msg`,e),iY=(t,e,n)=>H(`account/${t}/eth-sign-typed-msg`,{chainId:e,data:n}),oY=(t,e,n,a)=>H(`account/${t}/eth-sign-wallet-connect-tx`,{send:e,chainId:n,tx:a}),rY="_capsWarning_1xqma_1",nB={capsWarning:rY};function Bg(t){const{seePlaintext:e,...n}=t;return r.jsx(Ye,{type:e?"text":"password",...n})}class sY extends x.Component{constructor(){super(...arguments);M(this,"state",{password:"",seePlaintext:!1,capsLock:!1});M(this,"password",x.createRef());M(this,"idPrefix",()=>this.props.idPrefix||"");M(this,"tryPaste",n=>{n.target.type==="password"&&(n.preventDefault(),J(this.props.t("password.warning.paste",{label:this.props.label})))});M(this,"clear",()=>{this.setState({password:"",seePlaintext:!1,capsLock:!1})});M(this,"validate",()=>{if(this.regex&&this.password.current&&!this.password.current.validity.valid)return this.props.onValidPassword(null);this.state.password?this.props.onValidPassword(this.state.password):this.props.onValidPassword(null)});M(this,"handleFormChange",n=>{let a=n.target.value;n.target.type==="checkbox"&&(a=n.target.checked);const i=n.target.id.slice(this.idPrefix().length);this.setState({[i]:a},this.validate)});M(this,"handleCheckCaps",n=>{const a=aB(n);a!==null&&this.setState({capsLock:a})})}UNSAFE_componentWillMount(){window.addEventListener("keydown",this.handleCheckCaps)}componentDidMount(){var n;this.props.pattern&&(this.regex=new RegExp(this.props.pattern)),this.props.autoFocus&&((n=this.password)!=null&&n.current)&&this.password.current.focus()}componentWillUnmount(){window.removeEventListener("keydown",this.handleCheckCaps)}render(){const{t:n,disabled:a,label:i,placeholder:o,pattern:s,title:l,showLabel:c}=this.props,{password:u,seePlaintext:d,capsLock:p}=this.state,h=p&&!d&&r.jsx("span",{className:nB.capsWarning,title:n("password.warning.caps"),children:"⇪"});return r.jsx(Ye,{autoFocus:!0,disabled:a,type:d?"text":"password",pattern:s,title:l,id:this.idPrefix()+"password",label:i,placeholder:o,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:u,labelSection:r.jsx(Ve,{id:this.idPrefix()+"seePlaintext",onChange:this.handleFormChange,checked:d,label:n("password.show",{label:c||i})}),children:h})}}const Sg=He(null,{withRef:!0})(sY);class lY extends x.Component{constructor(){super(...arguments);M(this,"state",{password:"",passwordRepeat:"",seePlaintext:!1,capsLock:!1});M(this,"password",x.createRef());M(this,"passwordRepeat",x.createRef());M(this,"idPrefix",()=>this.props.idPrefix||"");M(this,"tryPaste",n=>{n.target.type==="password"&&(n.preventDefault(),J(this.props.t("password.warning.paste",{label:this.props.label})))});M(this,"validate",()=>{if(this.regex&&this.password.current&&this.passwordRepeat.current&&(!this.password.current.validity.valid||!this.passwordRepeat.current.validity.valid))return this.props.onValidPassword(null);this.state.password&&this.state.password===this.state.passwordRepeat?this.props.onValidPassword(this.state.password):this.props.onValidPassword(null)});M(this,"handleFormChange",n=>{let a=n.target.value;n.target.type==="checkbox"&&(a=n.target.checked);const i=n.target.id.slice(this.idPrefix().length);this.setState({[i]:a},this.validate)});M(this,"handleCheckCaps",n=>{const a=aB(n);a!=null&&this.setState({capsLock:a})})}UNSAFE_componentWillMount(){window.addEventListener("keydown",this.handleCheckCaps)}componentDidMount(){var n;this.props.pattern&&(this.regex=new RegExp(this.props.pattern)),this.props.autoFocus&&((n=this.password)!=null&&n.current)&&this.password.current.focus()}componentWillUnmount(){window.removeEventListener("keydown",this.handleCheckCaps)}render(){const{t:n,disabled:a,label:i,placeholder:o,pattern:s,title:l,repeatLabel:c,repeatPlaceholder:u,showLabel:d}=this.props,{password:p,passwordRepeat:h,seePlaintext:m,capsLock:g}=this.state,v=g&&!m&&r.jsx("span",{className:nB.capsWarning,title:n("password.warning.caps"),children:"⇪"});return r.jsxs("div",{children:[r.jsx(Ye,{autoFocus:!0,disabled:a,type:m?"text":"password",pattern:s,title:l,id:this.idPrefix()+"password",label:i,placeholder:o,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:p,children:v}),r.jsx(pk,{regex:this.regex,text:l,value:p}),r.jsx(Ye,{disabled:a,type:m?"text":"password",pattern:s,title:l,id:this.idPrefix()+"passwordRepeat",label:c,placeholder:u,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:h,children:v}),r.jsx(pk,{regex:this.regex,text:l,value:h}),r.jsx(Ps,{children:r.jsx(Ve,{id:this.idPrefix()+"seePlaintext",onChange:this.handleFormChange,checked:m,label:n("password.show",{label:d||i})})})]})}}const qr=He(null,{withRef:!0})(lY);function pk({regex:t,value:e="",text:n}){return!t||!e.length||t.test(e)?null:r.jsx("p",{style:{color:"var(--color-error)"},children:n})}const cY=/^(Shift|Alt|Backspace|CapsLock|Tab)$/i;function aB({key:t}){return t.length>1||t.toUpperCase()===t.toLowerCase()||cY.test(t)?null:t.toUpperCase()===t&&t.toLowerCase()!==t&&!event.shiftKey}const iB=()=>{const[t,e]=x.useState(!1),n=me(()=>Promise.resolve(!1)),[a,i]=x.useState(""),o=async l=>{l.preventDefault(),await nY(a),e(!1)};if(!n)return null;const s="Unlock software keystore";return r.jsxs(r.Fragment,{children:[r.jsx("button",{onClick:()=>e(!0),children:s}),r.jsx(qe,{open:t,title:s,onClose:()=>e(!1),children:r.jsxs("form",{onSubmit:o,children:[r.jsx(Sg,{type:"password",autoFocus:!0,label:"Test Password",onValidPassword:i,value:a}),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:"Unlock"})})]})})]})};class uY{constructor(e){this.state=e,this.components=[]}subscribe(e){this.components.push(e)}unsubscribe(e){const n=this.components.indexOf(e);this.components.splice(n,1)}updateComponents(){for(const e of this.components)e.forceUpdate()}setState(e){Object.assign(this.state,e),this.updateComponents()}}const dY="_badge_f2nw5_1",pY="_iconOnly_f2nw5_11",hY="_badgeIcon_f2nw5_20",mY="_withChildren_f2nw5_24",fY="_success_f2nw5_34",gY="_warning_f2nw5_40",ks={badge:dY,iconOnly:pY,badgeIcon:hY,withChildren:mY,success:fY,warning:gY},Vu=({children:t,className:e,icon:n,type:a="success",...i})=>{const o=t!==void 0?ks.withChildren:"",s=t===void 0&&n?ks.iconOnly:"";return r.jsxs("span",{className:`${ks.badge} ${ks[a]} ${o} ${s} ${e||""}`,...i,children:[n&&n({className:ks.badgeIcon}),t]})},vY="_closeButton_1xwfn_1",bY="_sidebarOverlay_1xwfn_13",kY="_active_1xwfn_26",xY="_sidebar_1xwfn_13",yY="_end_1xwfn_47",wY="_forceShow_1xwfn_52",jY="_sidebarLogoContainer_1xwfn_56",BY="_sidebarHeaderContainer_1xwfn_75",SY="_sidebarPortfolio_1xwfn_85",zY="_sidebarHeader_1xwfn_75",CY="_sidebarIconVisible_1xwfn_95",DY="_sidebarIconHidden_1xwfn_99",AY="_sidebarItem_1xwfn_103",_Y="_sidebarArrow_1xwfn_121",TY="_sidebarActive_1xwfn_125",EY="_activeGroup_1xwfn_130",PY="_single_1xwfn_136",NY="_sidebarLabel_1xwfn_141",LY="_sidebarSubmenu_1xwfn_197",IY="_sidebarContainer_1xwfn_216",$Y="_forceHide_1xwfn_216",ze={closeButton:vY,sidebarOverlay:bY,active:kY,sidebar:xY,end:yY,forceShow:wY,sidebarLogoContainer:jY,sidebarHeaderContainer:BY,sidebarPortfolio:SY,sidebarHeader:zY,sidebarIconVisible:CY,sidebarIconHidden:DY,sidebarItem:AY,sidebarArrow:_Y,sidebarActive:TY,activeGroup:EY,single:PY,sidebarLabel:NY,sidebarSubmenu:LY,sidebarContainer:IY,forceHide:$Y},Xi=new uY({activeSidebar:!1,sidebarStatus:""}),So=()=>{const t=!Xi.state.activeSidebar;Xi.setState({activeSidebar:t})},hk=t=>{Xi.setState({sidebarStatus:t})},MY=({coinCode:t,code:e,name:n,handleSidebarItemClick:a})=>{const{pathname:i}=Go(),o=i===`/account/${e}`||i.startsWith(`/account/${e}/`);return r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Ya,{className:o?ze.sidebarActive:"",to:`/account/${e}`,onClick:a,title:n,children:[r.jsx(Ro,{stacked:!0,coinCode:t,alt:n}),r.jsx("span",{className:ze.sidebarLabel,children:n})]})},e)},OY=({deviceIDs:t,accounts:e,activeSidebar:n,sidebarStatus:a})=>{const{t:i}=A();x.useEffect(()=>{const p={active:!1,x:0,y:0},h=v=>{const y=v.touches[0];p.x=y.clientX,p.y=y.clientY},m=v=>{a!=="forceHidden"&&v.changedTouches&&v.changedTouches.length&&(p.active=!0)},g=v=>{if(a!=="forceHidden"){const y=v.changedTouches[0],b=Math.abs(y.clientX-p.x),k=Math.abs(y.clientY-p.y),w=window.innerWidth<=901&&p.active&&k<100&&b>70;(!Xi.state.activeSidebar&&w&&p.x<60||Xi.state.activeSidebar&&w&&p.x>230)&&So(),p.x=0,p.y=0,p.active=!1}};return document.addEventListener("touchstart",h),document.addEventListener("touchmove",m),document.addEventListener("touchend",g),()=>{document.removeEventListener("touchstart",h),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",g)}},[a]);const[o,s]=x.useState();x.useEffect(()=>(EQ().then(p=>{s(p)}),Uj(s)),[]);const l=p=>{p.target.closest("a").classList.contains("sidebarActive")&&window.innerWidth<=901&&So()},c=a==="forceHidden",u=e.every(({coinCode:p})=>_d(p)),d=Gj(e);return r.jsxs("div",{className:[ze.sidebarContainer,c?ze.forceHide:""].join(" "),children:[r.jsx("div",{className:[ze.sidebarOverlay,n?ze.active:""].join(" "),onClick:So}),r.jsxs("nav",{className:[ze.sidebar,n?ze.forceShow:""].join(" "),children:[r.jsxs("div",{className:ze.sidebarLogoContainer,children:[r.jsx(Ya,{to:e.length?"/account-summary":"/",onClick:l,children:r.jsx(Sd,{className:ze.sidebarLogo})}),r.jsx("button",{className:ze.closeButton,onClick:So,children:r.jsx(El,{})})]}),e.length?r.jsx("div",{className:`${ze.sidebarItem} ${ze.sidebarPortfolio}`,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/account-summary",title:i("accountSummary.title"),onClick:l,children:[r.jsx("div",{className:ze.single,children:r.jsx("img",{draggable:!1,src:RQ})}),r.jsx("span",{className:ze.sidebarLabel,children:i("accountSummary.title")})]})}):null,d.map(p=>r.jsxs(Mn.Fragment,{children:[r.jsx("div",{className:ze.sidebarHeaderContainer,children:r.jsxs("span",{className:ze.sidebarHeader,hidden:!p.accounts.length,children:[r.jsxs("span",{className:"p-right-quarter",children:[`${p.keystore.name} `,Qj(p.keystore.name,d)?r.jsxs(r.Fragment,{children:[" (",p.keystore.rootFingerprint,")"]}):null]}),r.jsx(Vu,{className:p.keystore.connected?ze.sidebarIconVisible:ze.sidebarIconHidden,icon:h=>r.jsx(zj,{...h}),type:"success",title:i("device.keystoreConnected")})]})}),p.accounts.map(h=>r.jsx(MY,{...h,handleSidebarItemClick:l},h.code))]},p.keystore.rootFingerprint)),r.jsx("div",{className:[ze.sidebarHeaderContainer,ze.end].join(" ")}),e.length?r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/buy/info",children:[r.jsx("div",{className:ze.single,children:r.jsx("img",{draggable:!1,src:OQ})}),r.jsx("span",{className:ze.sidebarLabel,children:u?i("accountInfo.buyCTA.buy",{unit:"Bitcoin"}):i("sidebar.buy")})]})},"buy"):null,r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/settings",title:i("sidebar.settings"),onClick:l,children:[r.jsxs("div",{className:"stacked",children:[r.jsx("img",{draggable:!1,src:VQ,alt:i("sidebar.settings")}),r.jsx("img",{draggable:!1,src:FQ,alt:i("sidebar.settings")})]}),r.jsx("span",{className:ze.sidebarLabel,children:i("sidebar.settings")})]})},"settings-new"),!o||o.length===0?r.jsx(iB,{}):null,uQ]})]})},RY=qj(Xi)(OY),mi=x.createContext({}),FY="_children_1y42x_1",VY="_container_1y42x_22",WY="_fixed_1y42x_26",UY="_disabled_1y42x_34",qY="_forceHidden_1y42x_38",HY="_sidebarToggler_1y42x_38",KY="_guideIcon_1y42x_42",GY="_guideIconContainer_1y42x_57",QY="_header_1y42x_62",YY="_narrow_1y42x_76",ZY="_title_1y42x_99",JY="_hideSidebarToggler_1y42x_120",Jn={children:FY,container:VY,fixed:WY,disabled:UY,forceHidden:qY,sidebarToggler:HY,guideIcon:KY,guideIconContainer:GY,header:QY,narrow:YY,title:ZY,hideSidebarToggler:JY},XY=({sidebarStatus:t,narrow:e,title:n,hideSidebarToggler:a,children:i})=>{const{t:o}=A(),{guideShown:s,guideExists:l,toggleGuide:c}=x.useContext(mi),u=d=>(d.preventDefault(),s||c(),!1);return r.jsx("div",{className:[Jn.container,t?Jn[t]:""].join(" "),children:r.jsxs("div",{className:[Jn.header,e?Jn.narrow:""].join(" "),children:[r.jsxs("div",{className:`${Jn.sidebarToggler} ${a?Jn.hideSidebarToggler:""}`,onClick:So,children:[r.jsx(Bj,{className:"show-in-lightmode"}),r.jsx(oK,{className:"show-in-darkmode"})]}),r.jsx("div",{className:Jn.title,children:n}),r.jsxs("div",{className:Jn.children,children:[i,l&&r.jsx("span",{className:Jn.guideIconContainer,children:r.jsxs("a",{href:"#",onClick:u,className:[Jn.guideIcon,s?Jn.disabled:""].join(" "),children:[r.jsx(iK,{}),o("guide.toggle.open")]})})]})]})})},xe=qj(Xi)(XY),eZ="_main_1ntet_1",tZ={main:eZ},ln=({children:t})=>r.jsx("main",{className:tZ.main,children:t}),nZ="_columnAsCard_1rob5_1",aZ="_column_1rob5_1",iZ="_columnButtons_1rob5_10",oZ="_columnButtonsInline_1rob5_10",rZ="_left_1rob5_29",sZ="_center_1rob5_33",lZ="_grid_1rob5_47",_o={columnAsCard:nZ,column:aZ,columnButtons:iZ,columnButtonsInline:oZ,left:rZ,center:sZ,grid:lZ,"grid-columns-1":"_grid-columns-1_1rob5_53","grid-columns-2":"_grid-columns-2_1rob5_56"},Er=({children:t,col:e="2",textAlign:n})=>{const a=` + ${_o.grid} + ${_o[`grid-columns-${e}`]} + ${n!==void 0?_o[n]:""} + `;return r.jsx("section",{className:a,children:t})},Ka=({asCard:t,children:e,className:n})=>r.jsx("div",{className:`${_o.column} ${t?_o.columnAsCard:""} ${n||""}`,children:e}),nu=({children:t,className:e="",inline:n})=>{const a=`${_o.columnButtons} ${n?_o.columnButtonsInline:""} ${e}`;return r.jsx("div",{className:a,children:t})},cZ="_footer_19w3c_1",uZ={footer:cZ};function oB({children:t}){return r.jsxs("footer",{className:[uZ.footer,"flex flex-row flex-items-center flex-end"].join(" "),children:[t,r.jsx("div",{className:"m-right-half hide-on-small",children:r.jsx(Pj,{})}),r.jsx(oo,{})]})}const dZ="_contentWithGuide_1gscs_1",pZ="_container_1gscs_8",rB={contentWithGuide:dZ,container:pZ},Ma=({children:t})=>r.jsx("div",{className:rB.contentWithGuide,children:t}),Oa=({children:t})=>r.jsx("div",{className:rB.container,children:t}),hZ="_steps_1l429_6",mZ="_step_1l429_6",fZ="_dot_1l429_38",gZ="_line_1l429_72",vZ="_finish_1l429_76",bZ="_wait_1l429_81",kZ="_process_1l429_97",xZ="_content_1l429_110",ur={steps:hZ,step:mZ,dot:fZ,line:gZ,finish:vZ,wait:bZ,process:kZ,content:xZ},yZ=({current:t,children:e})=>{let n=Mn.Children.toArray(e).filter(Mn.isValidElement);return r.jsx("div",{className:ur.steps,children:n.filter(a=>!a.props.hidden).map((a,i)=>{if(!a)return null;const o=i===t?"process":i0;return x.cloneElement(a,{step:i+1,line:s,status:o})})})};function Xp({children:t,hidden:e=!1,line:n,status:a="wait"}){return e?null:r.jsxs("div",{className:`${ur.step} ${ur[a]} ${n?ur.line:""}`,children:[r.jsx("div",{className:ur.dot}),r.jsx("div",{className:ur.content,children:t})]})}const wZ=({onChange:t,supportedCoins:e,value:n})=>{const{t:a}=A();return r.jsx(Ru,{autoFocus:!0,options:[{text:a("buy.info.selectPlaceholder"),disabled:!0,value:"choose"},...e.map(({coinCode:i,name:o,canAddAccount:s})=>({value:i,text:o,disabled:!s}))],onInput:i=>t(e.find(o=>o.coinCode===i.target.value)),value:n,id:"coinCodeDropDown"})},jZ=t=>H("notify-user",{text:t}),sB=t=>H("open",t),BZ="_link_1o1mh_1",SZ={link:BZ},pt=({href:t,icon:e,className:n,children:a,...i})=>r.jsxs("span",{className:`${SZ.link} ${n||""}`,title:i.title||t,onClick:o=>{o.preventDefault(),sB(t).catch(console.error)},tabIndex:0,...i,children:[e||null,a]}),zZ="_overlay_14an4_1",CZ="_close_14an4_13",DZ="_wrapper_14an4_29",AZ="_guide_14an4_33",_Z="_header_14an4_44",TZ="_content_14an4_62",EZ="_show_14an4_83",PZ="_entry_14an4_87",NZ="_entryTitle_14an4_91",LZ="_entryToggle_14an4_99",IZ="_entryTitleText_14an4_109",$Z="_entryContent_14an4_113",MZ="_expanded_14an4_121",OZ="_link_14an4_125",RZ="_guideWrapper_14an4_135",bt={overlay:zZ,close:CZ,wrapper:DZ,guide:AZ,header:_Z,content:TZ,show:EZ,entry:PZ,entryTitle:NZ,entryToggle:LZ,entryTitleText:IZ,entryContent:$Z,expanded:MZ,link:OZ,guideWrapper:RZ},W=t=>{const[e,n]=x.useState(t.shown||!1),a=()=>{n(o=>!o)},i=t.entry;return r.jsxs("div",{className:bt.entry,children:[r.jsxs("div",{className:bt.entryTitle,onClick:a,children:[r.jsx("div",{className:bt.entryToggle,children:e?"–":"+"}),r.jsx("div",{className:bt.entryTitleText,children:r.jsx("h2",{children:i.title})})]}),r.jsx("div",{className:[bt.entryContent,e?bt.expanded:""].join(" "),children:e?r.jsxs("div",{className:"flex-1",children:[i.text.trim().split(` +`).map((o,s)=>r.jsx("p",{children:o},s)),i.link&&r.jsx("p",{children:r.jsx(pt,{className:bt.link,"data-testid":"link",href:i.link.url,children:i.link.text})}),t.children]}):null})]})},st=({children:t})=>{const{guideShown:e,toggleGuide:n,setGuideExists:a}=x.useContext(mi);x.useEffect(()=>(a(!0),()=>{a(!1)}),[a]);const{t:i}=A();return r.jsxs("div",{className:bt.wrapper,children:[r.jsx("div",{className:[bt.overlay,e&&bt.show].join(" "),onClick:n}),r.jsxs("div",{className:[bt.guide,e&&bt.show].join(" "),children:[r.jsxs("div",{className:[bt.header,"flex flex-row flex-between flex-items-center"].join(" "),children:[r.jsx("h2",{children:i("guide.title")}),r.jsxs("a",{href:"#",className:bt.close,onClick:n,children:[i("guide.toggle.close"),r.jsx(El,{})]})]}),r.jsxs("div",{className:bt.content,children:[t,r.jsxs("div",{className:bt.entry,children:[i("guide.appendix.text")," ",r.jsx(pt,{className:bt.link,href:"https://bitbox.swiss/support/",children:i("guide.appendix.link")}),r.jsx("br",{}),r.jsx("br",{})]})]})]})]})},FZ=()=>{const{t}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.accounts.whatAreAccounts")},"whatAreAccounts"),r.jsx(W,{entry:t("guide.accounts.whyIsThisUseful")},"whyIsThisUseful"),r.jsx(W,{entry:t("guide.accounts.recoverAccounts")},"recoverAccounts"),r.jsx(W,{entry:t("guide.accounts.moveFunds")},"moveFunds"),r.jsx(W,{entry:t("guide.accounts.howtoAddTokens")},"howtoAddTokens"),r.jsx(W,{entry:t("guide.accounts.howManyAccounts")},"howManyAccounts")]})};let au;const le=(t,e)=>{au==null||au(t,{replace:e})},VZ=({onChange:t})=>{au=hg();const{pathname:e}=Go();return x.useEffect(()=>{t()},[t,e]),null},WZ="_manageContainer_1n5md_1",UZ="_title_1n5md_9",qZ="_successCheck_1n5md_14",HZ="_successMessage_1n5md_20",bc={manageContainer:WZ,title:UZ,successCheck:qZ,successMessage:HZ},KZ=()=>{const[t,e]=x.useState(),[n,a]=x.useState(""),[i,o]=x.useState("choose"),[s,l]=x.useState(),[c,u]=x.useState("select-coin"),[d,p]=x.useState([]),[h,m]=x.useState(!1),g=x.useRef(null),{t:v}=A();x.useEffect(()=>{var C;c==="choose-name"&&((C=g.current)==null||C.focus())},[c]);const y=()=>d.length===1,b=x.useCallback(async()=>{var C;try{const P=await bQ(),I=P.length===1;o(I?P[0].coinCode:"choose"),u(I?"choose-name":"select-coin"),p(P),I&&e(P[0].suggestedAccountName),(C=g.current)==null||C.focus()}catch(P){console.error(P)}},[]);x.useEffect(()=>(b(),Uj(()=>{b()})),[b]);const k=()=>{switch(c){case"select-coin":le("/settings/manage-accounts");break;case"choose-name":u("select-coin"),l(void 0);break;case"success":u("choose-name");break}},w=async C=>{switch(C.preventDefault(),c){case"select-coin":u("choose-name");break;case"choose-name":m(!0);const P=await tY(i,n);m(!1),P.success?(e(P.accountCode),l(void 0),u("success")):P.errorCode?l(v(`error.${P.errorCode}`)):P.errorMessage&&l(v("unknownError",{errorMessage:P.errorMessage}));break;case"success":t&&le(`/account/${t}`);break}},j=()=>{switch(c){case"select-coin":return d.length===0?r.jsx(nn,{type:"info",children:v("connectKeystore.promptNoName")}):r.jsx(wZ,{onChange:C=>{o(C.coinCode),a(C.suggestedAccountName)},supportedCoins:d,value:i});case"choose-name":return r.jsx(Ye,{autoFocus:!0,ref:g,id:"accountName",onInput:C=>a(C.target.value),value:n});case"success":return r.jsxs("div",{className:"text-center",children:[r.jsx(yj,{className:bc.successCheck}),r.jsx("br",{}),r.jsx(Qe,{className:bc.successMessage,markup:v("addAccount.success.message",{accountName:n}),tagName:"p"})]})}},z=C=>{switch(C){case"select-coin":return{titleText:v("addAccount.selectCoin.title"),nextButtonText:v("addAccount.selectCoin.nextButton")};case"choose-name":return{titleText:v("addAccount.chooseName.title"),nextButtonText:v("addAccount.chooseName.nextButton")};case"success":return{titleText:v("addAccount.success.title"),nextButtonText:v("addAccount.success.nextButton")}}},S=async()=>{e(void 0),a(""),o("choose"),l(void 0),u("select-coin"),await b()},f=[...y()?[]:["select-coin"],"choose-name","success"].indexOf(c),{titleText:B,nextButtonText:D}=z(c);return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:v("manageAccounts.title")})}),r.jsx("div",{className:"content larger isVerticallyCentered",children:r.jsxs("form",{className:`${bc.manageContainer} box larger flex flex-column flex-between`,onSubmit:w,children:[r.jsxs("div",{className:"text-center",children:[v("addAccount.title"),r.jsx("h1",{className:bc.title,children:B})]}),r.jsx("div",{className:"row",hidden:!s,children:r.jsx(nn,{type:"warning",children:s})}),r.jsx("div",{className:"row",children:j()}),r.jsx("div",{className:"row",children:r.jsxs(yZ,{current:f,children:[r.jsx(Xp,{hidden:y(),children:v("addAccount.selectCoin.step")},"select-coin"),r.jsx(Xp,{children:v("addAccount.chooseName.step")},"choose-name"),r.jsx(Xp,{children:v("addAccount.success.step")},"success")]})}),r.jsxs("div",{className:"row flex flex-row flex-between m-bottom",style:{flexDirection:"row-reverse"},children:[r.jsx(_,{disabled:c==="select-coin"&&i==="choose"||c==="choose-name"&&(n===""||h),primary:!0,type:"submit",children:D}),r.jsx(_,{onClick:k,hidden:c==="success",secondary:!0,children:v("button.back")}),r.jsx(_,{onClick:S,hidden:c!=="success",secondary:!0,children:v("addAccount.success.addAnotherAccount")})]})]})})]})}),r.jsx(FZ,{})]})},GZ=t=>()=>Z(`exchange/by-region/${t}`),QZ=()=>Z("exchange/deals"),YZ=t=>()=>Z(`exchange/moonpay/buy-info/${t}`),ZZ=(t,e,n)=>H("exchange/pocket/sign-address",{format:t,msg:e,accountCode:n}),JZ=(t,e)=>H("exchange/pocket/verify-address",{address:t,accountCode:e}),XZ=()=>Z("exchange/pocket/api-url"),zg=t=>()=>Z(`exchange/buy-supported/${t}`);function Pd({name:t,exchange:e}){const{t:n}=A(),a={text:n("buy.pocket.data.link"),url:"https://pocketbitcoin.com/policy/privacy"},i={text:n("buy.info.disclaimer.privacyPolicy"),url:"https://www.moonpay.com/privacy_policy"},o=e==="pocket"?a:i;return r.jsxs(st,{children:[r.jsx(W,{entry:{link:{text:n("buy.info.disclaimer.security.link"),url:"https://bitbox.swiss/bitbox02/threat-model/"},text:n("buy.info.disclaimer.security.descriptionGeneric",{name:t}),title:n("buy.info.disclaimer.security.title")},shown:!0},"guide.buy.security"),r.jsx(W,{entry:{link:e?o:void 0,text:n("buy.info.disclaimer.protection.descriptionGeneric",{name:t}),title:n("buy.info.disclaimer.protection.title")}},"guide.buy.protection")]})}const eJ="_spinnerContainer_rthjr_1",tJ="_spinner_rthjr_1",nJ="_spinnerText_rthjr_24",aJ="_spinner1_rthjr_1",iJ="_spinner2_rthjr_1",oJ="_spinner3_rthjr_1",rJ="_horizontallyCentered_rthjr_59",sJ="_overlay_rthjr_81",lJ="_fadein_rthjr_1",cJ="_togglersContainer_rthjr_98",uJ="_guideToggler_rthjr_111",dJ="_toggler_rthjr_98",pJ="_togglerContainer_rthjr_145",Ua={spinnerContainer:eJ,spinner:tJ,spinnerText:nJ,spinner1:aJ,spinner2:iJ,spinner3:oJ,horizontallyCentered:rJ,overlay:sJ,fadein:lJ,togglersContainer:cJ,guideToggler:uJ,toggler:dJ,togglerContainer:pJ},Cg=()=>r.jsxs("div",{className:Ua.spinner,children:[r.jsx("div",{}),r.jsx("div",{}),r.jsx("div",{}),r.jsx("div",{})]}),lB=()=>r.jsx("div",{className:Ua.horizontallyCentered,children:r.jsx(Cg,{})}),Cn=({text:t,guideExists:e})=>{const{t:n}=A(),{toggleGuide:a}=x.useContext(mi),i=o=>{o.preventDefault(),document.activeElement.blur()};return x.useEffect(()=>(document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)),[]),r.jsxs("div",{className:Ua.spinnerContainer,children:[r.jsxs("div",{className:Ua.togglersContainer,children:[r.jsx("div",{className:Ua.togglerContainer,children:r.jsx("div",{className:Ua.toggler,onClick:So,children:r.jsx(Bj,{})})}),e&&r.jsxs("div",{className:Ua.guideToggler,onClick:a,children:[r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"12",cy:"12",r:"10"}),r.jsx("circle",{cx:"12",cy:"12",r:"4"}),r.jsx("line",{x1:"4.93",y1:"4.93",x2:"9.17",y2:"9.17"}),r.jsx("line",{x1:"14.83",y1:"14.83",x2:"19.07",y2:"19.07"}),r.jsx("line",{x1:"14.83",y1:"9.17",x2:"19.07",y2:"4.93"}),r.jsx("line",{x1:"14.83",y1:"9.17",x2:"18.36",y2:"5.64"}),r.jsx("line",{x1:"4.93",y1:"19.07",x2:"9.17",y2:"14.83"})]}),n("guide.toggle.open")]})]}),t&&t.split(` +`).map((o,s)=>r.jsx("p",{className:Ua.spinnerText,children:o},`${o}-${s}`)),r.jsx(Cg,{}),r.jsx("div",{className:Ua.overlay})]})},hJ="_disclaimerContainer_5gxwf_1",mJ="_title_5gxwf_15",fJ="_disclaimer_5gxwf_1",gJ="_table_5gxwf_52",vJ="_nowrap_5gxwf_77",Kt={disclaimerContainer:hJ,title:mJ,disclaimer:fJ,table:gJ,nowrap:vJ},bJ=({account:t,onAgreedTerms:e})=>{const{t:n}=A(),a=Ad(n("buy.info.crypto"),t),i=o=>{at({frontend:{skipMoonpayDisclaimer:o.target.checked}})};return r.jsxs("div",{className:Kt.disclaimerContainer,children:[r.jsxs("div",{className:Kt.disclaimer,children:[r.jsx("h2",{className:Kt.title,children:n("buy.info.disclaimer.title",{name:a})}),r.jsx("p",{children:n("buy.info.disclaimer.intro.0",{name:a})}),r.jsx("p",{children:n("buy.info.disclaimer.intro.1",{name:a})}),r.jsx("h2",{className:Kt.title,children:n("buy.info.disclaimer.payment.title")}),r.jsx("p",{children:n("buy.info.disclaimer.payment.details",{name:a})}),r.jsx("div",{className:Kt.table,children:r.jsxs("table",{children:[r.jsxs("colgroup",{children:[r.jsx("col",{width:"*"}),r.jsx("col",{width:"50px"}),r.jsx("col",{width:"*"})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:n("buy.info.disclaimer.payment.table.method")}),r.jsx("th",{children:n("buy.info.disclaimer.payment.table.fee")}),r.jsx("th",{children:n("buy.info.disclaimer.payment.table.description")})]})}),r.jsxs("tbody",{children:[r.jsxs("tr",{children:[r.jsx("td",{children:n("buy.info.disclaimer.payment.table.1_method")}),r.jsx("td",{className:Kt.nowrap,children:"1.9 %"}),r.jsx("td",{children:n("buy.info.disclaimer.payment.table.1_description")})]}),r.jsxs("tr",{children:[r.jsx("td",{children:n("buy.info.disclaimer.payment.table.2_method")}),r.jsx("td",{className:Kt.nowrap,children:"4.9 %"}),r.jsx("td",{children:n("buy.info.disclaimer.payment.table.2_description")})]})]})]})}),r.jsx("p",{children:n("buy.info.disclaimer.payment.footnote")}),r.jsx("h2",{className:Kt.title,children:n("buy.info.disclaimer.security.title")}),r.jsx("p",{children:n("buy.info.disclaimer.security.description",{name:a})}),r.jsx("p",{children:r.jsx(pt,{href:"https://bitbox.swiss/bitbox02/threat-model/",children:n("buy.info.disclaimer.security.link")})}),r.jsx("h2",{className:Kt.title,children:n("buy.info.disclaimer.protection.title")}),r.jsx("p",{children:n("buy.info.disclaimer.protection.description",{name:a})}),r.jsx("p",{children:r.jsx(pt,{href:"https://www.moonpay.com/privacy_policy",children:n("buy.info.disclaimer.privacyPolicy")})})]}),r.jsx("div",{className:"text-center m-bottom-quarter",children:r.jsx(Ve,{id:"skip_disclaimer",label:n("buy.info.skip"),onChange:i})}),r.jsx("div",{className:"buttons text-center m-bottom-xlarge",children:r.jsx(_,{primary:!0,onClick:e,children:n("buy.info.continue")})})]})},kJ="_container_yg57j_1",xJ="_iframe_yg57j_12",yJ="_header_yg57j_18",Pr={container:kJ,iframe:xJ,header:yJ},wJ=({accounts:t,code:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),[l,c]=x.useState(0),{isDarkMode:u}=Kn(),d=me(Bt),p=me(YZ(e)),h=Dd(t,e),m=Ad(n("buy.info.crypto"),h),g=x.createRef();let v;x.useEffect(()=>{d&&i(d.frontend.skipMoonpayDisclaimer)},[d]),x.useEffect(()=>(y(),window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)));const y=()=>{v&&clearTimeout(v),v=setTimeout(()=>{g.current&&c(g.current.offsetHeight)},200)};return!h||!d?null:r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer",children:[r.jsx("div",{className:Pr.header,children:r.jsx(xe,{title:r.jsx("h2",{children:n("buy.info.title",{name:m})})})}),r.jsx("div",{ref:g,className:Pr.container,children:a?r.jsxs("div",{style:{height:l},children:[!o&&r.jsx(Cn,{guideExists:!1,text:n("loading")}),p&&r.jsx("iframe",{onLoad:()=>{s(!0),y()},title:"Moonpay",width:"100%",height:l,frameBorder:"0",className:Pr.iframe,allow:"camera; payment",src:`${p.url}&colorCode=%235E94BF&theme=${u?"dark":"light"}`})]}):r.jsx(bJ,{account:h,onAgreedTerms:()=>i(!0)})})]})}),r.jsx(Pd,{name:m,exchange:"moonpay"})]})};function jJ(t){let e=[];return t.exchanges.forEach(n=>{n.deals.forEach(a=>{n.supported&&(e=[...e,a.fee])})}),Math.min(...e)}function BJ(t,e){const n=t.exchanges.filter(i=>i.supported).length>1;return{exchanges:t.exchanges.map(i=>({...i,deals:i.deals.map(o=>({...o,isBestDeal:o.fee===e&&n}))}))}}function cB(t){switch(t){case"moonpay":return"MoonPay";case"pocket":return"Pocket"}}async function Dg(t){return(await Promise.all(t.map(async n=>(await zg(n.code)()).exchanges.length?n:!1))).filter(n=>n)}function mk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function ne(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function DJ(t){var e=CJ();return function(){var a=Wn(t),i;if(e){var o=Wn(this).constructor;i=Reflect.construct(a,arguments,o)}else i=a.apply(this,arguments);return ts(this,i)}}function AJ(t){if(Array.isArray(t))return Tm(t)}function _J(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uB(t){return AJ(t)||cj(t)||cg(t)||_J()}function TJ(t){if(t.sheet)return t.sheet;for(var e=0;e0?xt(as,--bn):0,Hr--,tt===10&&(Hr=1,Ld--),tt}function Sn(){return tt=bn2||vl(tt)>3?"":" "}function UJ(t,e){for(;--e&&Sn()&&!(tt<48||tt>102||tt>57&&tt<65||tt>70&&tt<97););return Pl(t,iu()+(e<6&&Na()==32&&Sn()==32))}function Rm(t){for(;Sn();)switch(tt){case t:return bn;case 34:case 39:t!==34&&t!==39&&Rm(tt);break;case 40:t===41&&Rm(t);break;case 92:Sn();break}return bn}function qJ(t,e){for(;Sn()&&t+tt!==47+10;)if(t+tt===42+42&&Na()===47)break;return"/*"+Pl(e,bn-1)+"*"+Nd(t===47?t:Sn())}function HJ(t){for(;!vl(Na());)Sn();return Pl(t,bn)}function KJ(t){return gB(ru("",null,null,null,[""],t=fB(t),0,[0],t))}function ru(t,e,n,a,i,o,s,l,c){for(var u=0,d=0,p=s,h=0,m=0,g=0,v=1,y=1,b=1,k=0,w="",j=i,z=o,S=a,f=w;y;)switch(g=k,k=Sn()){case 40:if(g!=108&&xt(f,p-1)==58){Om(f+=Be(ou(k),"&","&\f"),"&\f")!=-1&&(b=-1);break}case 34:case 39:case 91:f+=ou(k);break;case 9:case 10:case 13:case 32:f+=WJ(g);break;case 92:f+=UJ(iu()-1,7);continue;case 47:switch(Na()){case 42:case 47:kc(GJ(qJ(Sn(),iu()),e,n),c);break;default:f+="/"}break;case 123*v:l[u++]=za(f)*b;case 125*v:case 59:case 0:switch(k){case 0:case 125:y=0;case 59+d:b==-1&&(f=Be(f,/\f/g,"")),m>0&&za(f)-p&&kc(m>32?gk(f+";",a,n,p-1):gk(Be(f," ","")+";",a,n,p-2),c);break;case 59:f+=";";default:if(kc(S=fk(f,e,n,u,d,i,l,w,j=[],z=[],p),o),k===123)if(d===0)ru(f,e,S,S,j,o,p,l,z);else switch(h===99&&xt(f,3)===110?100:h){case 100:case 108:case 109:case 115:ru(t,S,S,a&&kc(fk(t,S,S,0,0,i,l,w,i,j=[],p),z),i,z,p,l,a?j:z);break;default:ru(f,S,S,S,[""],z,0,l,z)}}u=d=m=0,v=b=1,w=f="",p=s;break;case 58:p=1+za(f),m=g;default:if(v<1){if(k==123)--v;else if(k==125&&v++==0&&VJ()==125)continue}switch(f+=Nd(k),k*v){case 38:b=d>0?1:(f+="\f",-1);break;case 44:l[u++]=(za(f)-1)*b,b=1;break;case 64:Na()===45&&(f+=ou(Sn())),h=Na(),d=p=za(w=f+=HJ(iu())),k++;break;case 45:g===45&&za(f)==2&&(v=0)}}return o}function fk(t,e,n,a,i,o,s,l,c,u,d){for(var p=i-1,h=i===0?o:[""],m=Tg(h),g=0,v=0,y=0;g0?h[b]+" "+k:Be(k,/&\f/g,h[b])))&&(c[y++]=w);return Id(t,e,n,i===0?Ag:l,c,u,d)}function GJ(t,e,n){return Id(t,e,n,dB,Nd(FJ()),gl(t,2,-2),0)}function gk(t,e,n,a){return Id(t,e,n,_g,gl(t,0,a),gl(t,a+1,-1),a)}function Nr(t,e){for(var n="",a=Tg(t),i=0;i6)switch(xt(t,e+1)){case 109:if(xt(t,e+4)!==45)break;case 102:return Be(t,/(.+:)(.+)-([^]+)/,"$1"+je+"$2-$3$1"+Wu+(xt(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~Om(t,"stretch")?vB(Be(t,"stretch","fill-available"),e)+t:t}break;case 4949:if(xt(t,e+1)!==115)break;case 6444:switch(xt(t,za(t)-3-(~Om(t,"!important")&&10))){case 107:return Be(t,":",":"+je)+t;case 101:return Be(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+je+(xt(t,14)===45?"inline-":"")+"box$3$1"+je+"$2$3$1"+qt+"$2box$3")+t}break;case 5936:switch(xt(t,e+11)){case 114:return je+t+qt+Be(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return je+t+qt+Be(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return je+t+qt+Be(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return je+t+qt+t+t}return t}var iX=function(e,n,a,i){if(e.length>-1&&!e.return)switch(e.type){case _g:e.return=vB(e.value,e.length);break;case pB:return Nr([xs(e,{value:Be(e.value,"@","@"+je)})],i);case Ag:if(e.length)return RJ(e.props,function(o){switch(OJ(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Nr([xs(e,{props:[Be(o,/:(read-\w+)/,":"+Wu+"$1")]})],i);case"::placeholder":return Nr([xs(e,{props:[Be(o,/:(plac\w+)/,":"+je+"input-$1")]}),xs(e,{props:[Be(o,/:(plac\w+)/,":"+Wu+"$1")]}),xs(e,{props:[Be(o,/:(plac\w+)/,qt+"input-$1")]})],i)}return""})}},oX=[iX],rX=function(e){var n=e.key;if(n==="css"){var a=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(a,function(v){var y=v.getAttribute("data-emotion");y.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=e.stylisPlugins||oX,o={},s,l=[];s=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var y=v.getAttribute("data-emotion").split(" "),b=1;b=4;++a,i-=4)n=t.charCodeAt(a)&255|(t.charCodeAt(++a)&255)<<8|(t.charCodeAt(++a)&255)<<16|(t.charCodeAt(++a)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(t.charCodeAt(a+2)&255)<<16;case 2:e^=(t.charCodeAt(a+1)&255)<<8;case 1:e^=t.charCodeAt(a)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var kX={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},xX=/[A-Z]|^ms/g,yX=/_EMO_([^_]+?)_([^]*?)_EMO_/g,jB=function(e){return e.charCodeAt(1)===45},bk=function(e){return e!=null&&typeof e!="boolean"},eh=JJ(function(t){return jB(t)?t:t.replace(xX,"-$&").toLowerCase()}),kk=function(e,n){switch(e){case"animation":case"animationName":if(typeof n=="string")return n.replace(yX,function(a,i,o){return Ca={name:i,styles:o,next:Ca},i})}return kX[e]!==1&&!jB(e)&&typeof n=="number"&&n!==0?n+"px":n};function bl(t,e,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return Ca={name:n.name,styles:n.styles,next:Ca},n.name;if(n.styles!==void 0){var a=n.next;if(a!==void 0)for(;a!==void 0;)Ca={name:a.name,styles:a.styles,next:Ca},a=a.next;var i=n.styles+";";return i}return wX(t,e,n)}case"function":{if(t!==void 0){var o=Ca,s=n(t);return Ca=o,bl(t,e,s)}break}}if(e==null)return n;var l=e[n];return l!==void 0?l:n}function wX(t,e,n){var a="";if(Array.isArray(n))for(var i=0;i({x:t,y:t});function IX(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function zB(t){return DB(t)?(t.nodeName||"").toLowerCase():"#document"}function da(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function CB(t){var e;return(e=(DB(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function DB(t){return t instanceof Node||t instanceof da(t).Node}function Vm(t){return t instanceof Element||t instanceof da(t).Element}function $g(t){return t instanceof HTMLElement||t instanceof da(t).HTMLElement}function yk(t){return typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof da(t).ShadowRoot}function AB(t){const{overflow:e,overflowX:n,overflowY:a,display:i}=Mg(t);return/auto|scroll|overlay|hidden|clip/.test(e+a+n)&&!["inline","contents"].includes(i)}function $X(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function MX(t){return["html","body","#document"].includes(zB(t))}function Mg(t){return da(t).getComputedStyle(t)}function OX(t){if(zB(t)==="html")return t;const e=t.assignedSlot||t.parentNode||yk(t)&&t.host||CB(t);return yk(e)?e.host:e}function _B(t){const e=OX(t);return MX(e)?t.ownerDocument?t.ownerDocument.body:t.body:$g(e)&&AB(e)?e:_B(e)}function Hu(t,e,n){var a;e===void 0&&(e=[]),n===void 0&&(n=!0);const i=_B(t),o=i===((a=t.ownerDocument)==null?void 0:a.body),s=da(i);return o?e.concat(s,s.visualViewport||[],AB(i)?i:[],s.frameElement&&n?Hu(s.frameElement):[]):e.concat(i,Hu(i,[],n))}function RX(t){const e=Mg(t);let n=parseFloat(e.width)||0,a=parseFloat(e.height)||0;const i=$g(t),o=i?t.offsetWidth:n,s=i?t.offsetHeight:a,l=Uu(n)!==o||Uu(a)!==s;return l&&(n=o,a=s),{width:n,height:a,$:l}}function Og(t){return Vm(t)?t:t.contextElement}function th(t){const e=Og(t);if(!$g(e))return qu(1);const n=e.getBoundingClientRect(),{width:a,height:i,$:o}=RX(e);let s=(o?Uu(n.width):n.width)/a,l=(o?Uu(n.height):n.height)/i;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}const FX=qu(0);function VX(t){const e=da(t);return!$X()||!e.visualViewport?FX:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function WX(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==da(t)?!1:e}function wk(t,e,n,a){e===void 0&&(e=!1),n===void 0&&(n=!1);const i=t.getBoundingClientRect(),o=Og(t);let s=qu(1);e&&(a?Vm(a)&&(s=th(a)):s=th(t));const l=WX(o,n,a)?VX(o):qu(0);let c=(i.left+l.x)/s.x,u=(i.top+l.y)/s.y,d=i.width/s.x,p=i.height/s.y;if(o){const h=da(o),m=a&&Vm(a)?da(a):a;let g=h.frameElement;for(;g&&a&&m!==h;){const v=th(g),y=g.getBoundingClientRect(),b=Mg(g),k=y.left+(g.clientLeft+parseFloat(b.paddingLeft))*v.x,w=y.top+(g.clientTop+parseFloat(b.paddingTop))*v.y;c*=v.x,u*=v.y,d*=v.x,p*=v.y,c+=k,u+=w,g=da(g).frameElement}}return IX({width:d,height:p,x:c,y:u})}function UX(t,e){let n=null,a;const i=CB(t);function o(){clearTimeout(a),n&&n.disconnect(),n=null}function s(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),o();const{left:u,top:d,width:p,height:h}=t.getBoundingClientRect();if(l||e(),!p||!h)return;const m=xc(d),g=xc(i.clientWidth-(u+p)),v=xc(i.clientHeight-(d+h)),y=xc(u),k={rootMargin:-m+"px "+-g+"px "+-v+"px "+-y+"px",threshold:LX(0,NX(1,c))||1};let w=!0;function j(z){const S=z[0].intersectionRatio;if(S!==c){if(!w)return s();S?s(!1,S):a=setTimeout(()=>{s(!1,1e-7)},100)}w=!1}try{n=new IntersectionObserver(j,{...k,root:i.ownerDocument})}catch{n=new IntersectionObserver(j,k)}n.observe(t)}return s(!0),o}function qX(t,e,n,a){a===void 0&&(a={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=a,u=Og(t),d=i||o?[...u?Hu(u):[],...Hu(e)]:[];d.forEach(b=>{i&&b.addEventListener("scroll",n,{passive:!0}),o&&b.addEventListener("resize",n)});const p=u&&l?UX(u,n):null;let h=-1,m=null;s&&(m=new ResizeObserver(b=>{let[k]=b;k&&k.target===u&&m&&(m.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{m&&m.observe(e)})),n()}),u&&!c&&m.observe(u),m.observe(e));let g,v=c?wk(t):null;c&&y();function y(){const b=wk(t);v&&(b.x!==v.x||b.y!==v.y||b.width!==v.width||b.height!==v.height)&&n(),v=b,g=requestAnimationFrame(y)}return n(),()=>{d.forEach(b=>{i&&b.removeEventListener("scroll",n),o&&b.removeEventListener("resize",n)}),p&&p(),m&&m.disconnect(),m=null,c&&cancelAnimationFrame(g)}}var Wm=x.useLayoutEffect,HX=["className","clearValue","cx","getStyles","getClassNames","getValue","hasValue","isMulti","isRtl","options","selectOption","selectProps","setValue","theme"],Ku=function(){};function KX(t,e){return e?e[0]==="-"?t+e:t+"__"+e:t}function GX(t,e){for(var n=arguments.length,a=new Array(n>2?n-2:0),i=2;i-1}function QX(t){return Kd(t)?window.innerHeight:t.clientHeight}function EB(t){return Kd(t)?window.pageYOffset:t.scrollTop}function Gu(t,e){if(Kd(t)){window.scrollTo(0,e);return}t.scrollTop=e}function YX(t){var e=getComputedStyle(t),n=e.position==="absolute",a=/(auto|scroll)/;if(e.position==="fixed")return document.documentElement;for(var i=t;i=i.parentElement;)if(e=getComputedStyle(i),!(n&&e.position==="static")&&a.test(e.overflow+e.overflowY+e.overflowX))return i;return document.documentElement}function ZX(t,e,n,a){return n*((t=t/a-1)*t*t+1)+e}function yc(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:200,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Ku,i=EB(t),o=e-i,s=10,l=0;function c(){l+=s;var u=ZX(l,i,o,n);Gu(t,u),ln.bottom?Gu(t,Math.min(e.offsetTop+e.clientHeight-t.offsetHeight+i,t.scrollHeight)):a.top-i1?n-1:0),i=1;i=g)return{placement:"bottom",maxHeight:e};if(D>=g&&!s)return o&&yc(c,C,I),{placement:"bottom",maxHeight:e};if(!s&&D>=a||s&&f>=a){o&&yc(c,C,I);var E=s?f-j:D-j;return{placement:"bottom",maxHeight:E}}if(i==="auto"||s){var L=e,q=s?S:B;return q>=a&&(L=Math.min(q-j-l,e)),{placement:"top",maxHeight:L}}if(i==="bottom")return o&&Gu(c,C),{placement:"bottom",maxHeight:e};break;case"top":if(S>=g)return{placement:"top",maxHeight:e};if(B>=g&&!s)return o&&yc(c,P,I),{placement:"top",maxHeight:e};if(!s&&B>=a||s&&S>=a){var U=e;return(!s&&B>=a||s&&S>=a)&&(U=s?S-z:B-z),o&&yc(c,P,I),{placement:"top",maxHeight:U}}return{placement:"bottom",maxHeight:e};default:throw new Error('Invalid placement provided "'.concat(i,'".'))}return u}function lee(t){var e={bottom:"top",top:"bottom"};return t?e[t]:"bottom"}var NB=function(e){return e==="auto"?"bottom":e},cee=function(e,n){var a,i=e.placement,o=e.theme,s=o.borderRadius,l=o.spacing,c=o.colors;return ne((a={label:"menu"},en(a,lee(i),"100%"),en(a,"position","absolute"),en(a,"width","100%"),en(a,"zIndex",1),a),n?{}:{backgroundColor:c.neutral0,borderRadius:s,boxShadow:"0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",marginBottom:l.menuGutter,marginTop:l.menuGutter})},LB=x.createContext(null),uee=function(e){var n=e.children,a=e.minMenuHeight,i=e.maxMenuHeight,o=e.menuPlacement,s=e.menuPosition,l=e.menuShouldScrollIntoView,c=e.theme,u=x.useContext(LB)||{},d=u.setPortalPlacement,p=x.useRef(null),h=x.useState(i),m=ua(h,2),g=m[0],v=m[1],y=x.useState(null),b=ua(y,2),k=b[0],w=b[1],j=c.spacing.controlHeight;return Wm(function(){var z=p.current;if(z){var S=s==="fixed",f=l&&!S,B=see({maxHeight:i,menuEl:z,minHeight:a,placement:o,shouldScroll:f,isFixedPosition:S,controlHeight:j});v(B.maxHeight),w(B.placement),d==null||d(B.placement)}},[i,o,s,l,a,d,j]),n({ref:p,placerProps:ne(ne({},e),{},{placement:k||NB(o),maxHeight:g})})},dee=function(e){var n=e.children,a=e.innerRef,i=e.innerProps;return ae("div",ie({},Ze(e,"menu",{menu:!0}),{ref:a},i),n)},pee=dee,hee=function(e,n){var a=e.maxHeight,i=e.theme.spacing.baseUnit;return ne({maxHeight:a,overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},n?{}:{paddingBottom:i,paddingTop:i})},mee=function(e){var n=e.children,a=e.innerProps,i=e.innerRef,o=e.isMulti;return ae("div",ie({},Ze(e,"menuList",{"menu-list":!0,"menu-list--is-multi":o}),{ref:i},a),n)},IB=function(e,n){var a=e.theme,i=a.spacing.baseUnit,o=a.colors;return ne({textAlign:"center"},n?{}:{color:o.neutral40,padding:"".concat(i*2,"px ").concat(i*3,"px")})},fee=IB,gee=IB,vee=function(e){var n=e.children,a=n===void 0?"No options":n,i=e.innerProps,o=$a(e,oee);return ae("div",ie({},Ze(ne(ne({},o),{},{children:a,innerProps:i}),"noOptionsMessage",{"menu-notice":!0,"menu-notice--no-options":!0}),i),a)},bee=function(e){var n=e.children,a=n===void 0?"Loading...":n,i=e.innerProps,o=$a(e,ree);return ae("div",ie({},Ze(ne(ne({},o),{},{children:a,innerProps:i}),"loadingMessage",{"menu-notice":!0,"menu-notice--loading":!0}),i),a)},kee=function(e){var n=e.rect,a=e.offset,i=e.position;return{left:n.left,position:i,top:a,width:n.width,zIndex:1}},xee=function(e){var n=e.appendTo,a=e.children,i=e.controlElement,o=e.innerProps,s=e.menuPlacement,l=e.menuPosition,c=x.useRef(null),u=x.useRef(null),d=x.useState(NB(s)),p=ua(d,2),h=p[0],m=p[1],g=x.useMemo(function(){return{setPortalPlacement:m}},[]),v=x.useState(null),y=ua(v,2),b=y[0],k=y[1],w=x.useCallback(function(){if(i){var f=JX(i),B=l==="fixed"?0:window.pageYOffset,D=f[h]+B;(D!==(b==null?void 0:b.offset)||f.left!==(b==null?void 0:b.rect.left)||f.width!==(b==null?void 0:b.rect.width))&&k({offset:D,rect:f})}},[i,l,h,b==null?void 0:b.offset,b==null?void 0:b.rect.left,b==null?void 0:b.rect.width]);Wm(function(){w()},[w]);var j=x.useCallback(function(){typeof u.current=="function"&&(u.current(),u.current=null),i&&c.current&&(u.current=qX(i,c.current,w,{elementResize:"ResizeObserver"in window}))},[i,w]);Wm(function(){j()},[j]);var z=x.useCallback(function(f){c.current=f,j()},[j]);if(!n&&l!=="fixed"||!b)return null;var S=ae("div",ie({ref:z},Ze(ne(ne({},e),{},{offset:b.offset,position:l,rect:b.rect}),"menuPortal",{"menu-portal":!0}),o),a);return ae(LB.Provider,{value:g},n?Z0.createPortal(S,n):S)},yee=function(e){var n=e.isDisabled,a=e.isRtl;return{label:"container",direction:a?"rtl":void 0,pointerEvents:n?"none":void 0,position:"relative"}},wee=function(e){var n=e.children,a=e.innerProps,i=e.isDisabled,o=e.isRtl;return ae("div",ie({},Ze(e,"container",{"--is-disabled":i,"--is-rtl":o}),a),n)},jee=function(e,n){var a=e.theme.spacing,i=e.isMulti,o=e.hasValue,s=e.selectProps.controlShouldRenderValue;return ne({alignItems:"center",display:i&&o&&s?"flex":"grid",flex:1,flexWrap:"wrap",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"},n?{}:{padding:"".concat(a.baseUnit/2,"px ").concat(a.baseUnit*2,"px")})},Bee=function(e){var n=e.children,a=e.innerProps,i=e.isMulti,o=e.hasValue;return ae("div",ie({},Ze(e,"valueContainer",{"value-container":!0,"value-container--is-multi":i,"value-container--has-value":o}),a),n)},See=function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},zee=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"indicatorsContainer",{indicators:!0}),a),n)},zk,Cee=["size"],Dee=["innerProps","isRtl","size"],Aee={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},$B=function(e){var n=e.size,a=$a(e,Cee);return ae("svg",ie({height:n,width:n,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:Aee},a))},Rg=function(e){return ae($B,ie({size:20},e),ae("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},MB=function(e){return ae($B,ie({size:20},e),ae("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},OB=function(e,n){var a=e.isFocused,i=e.theme,o=i.spacing.baseUnit,s=i.colors;return ne({label:"indicatorContainer",display:"flex",transition:"color 150ms"},n?{}:{color:a?s.neutral60:s.neutral20,padding:o*2,":hover":{color:a?s.neutral80:s.neutral40}})},_ee=OB,Tee=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"dropdownIndicator",{indicator:!0,"dropdown-indicator":!0}),a),n||ae(MB,null))},Eee=OB,Pee=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"clearIndicator",{indicator:!0,"clear-indicator":!0}),a),n||ae(Rg,null))},Nee=function(e,n){var a=e.isDisabled,i=e.theme,o=i.spacing.baseUnit,s=i.colors;return ne({label:"indicatorSeparator",alignSelf:"stretch",width:1},n?{}:{backgroundColor:a?s.neutral10:s.neutral20,marginBottom:o*2,marginTop:o*2})},Lee=function(e){var n=e.innerProps;return ae("span",ie({},n,Ze(e,"indicatorSeparator",{"indicator-separator":!0})))},Iee=EX(zk||(zk=PX([` + 0%, 80%, 100% { opacity: 0; } + 40% { opacity: 1; } +`]))),$ee=function(e,n){var a=e.isFocused,i=e.size,o=e.theme,s=o.colors,l=o.spacing.baseUnit;return ne({label:"loadingIndicator",display:"flex",transition:"color 150ms",alignSelf:"center",fontSize:i,lineHeight:1,marginRight:i,textAlign:"center",verticalAlign:"middle"},n?{}:{color:a?s.neutral60:s.neutral20,padding:l*2})},nh=function(e){var n=e.delay,a=e.offset;return ae("span",{css:Ig({animation:"".concat(Iee," 1s ease-in-out ").concat(n,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:a?"1em":void 0,height:"1em",verticalAlign:"top",width:"1em"},"","")})},Mee=function(e){var n=e.innerProps,a=e.isRtl,i=e.size,o=i===void 0?4:i,s=$a(e,Dee);return ae("div",ie({},Ze(ne(ne({},s),{},{innerProps:n,isRtl:a,size:o}),"loadingIndicator",{indicator:!0,"loading-indicator":!0}),n),ae(nh,{delay:0,offset:a}),ae(nh,{delay:160,offset:!0}),ae(nh,{delay:320,offset:!a}))},Oee=function(e,n){var a=e.isDisabled,i=e.isFocused,o=e.theme,s=o.colors,l=o.borderRadius,c=o.spacing;return ne({label:"control",alignItems:"center",cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:c.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms"},n?{}:{backgroundColor:a?s.neutral5:s.neutral0,borderColor:a?s.neutral10:i?s.primary:s.neutral20,borderRadius:l,borderStyle:"solid",borderWidth:1,boxShadow:i?"0 0 0 1px ".concat(s.primary):void 0,"&:hover":{borderColor:i?s.primary:s.neutral30}})},Ree=function(e){var n=e.children,a=e.isDisabled,i=e.isFocused,o=e.innerRef,s=e.innerProps,l=e.menuIsOpen;return ae("div",ie({ref:o},Ze(e,"control",{control:!0,"control--is-disabled":a,"control--is-focused":i,"control--menu-is-open":l}),s),n)},Fee=Ree,Vee=["data"],Wee=function(e,n){var a=e.theme.spacing;return n?{}:{paddingBottom:a.baseUnit*2,paddingTop:a.baseUnit*2}},Uee=function(e){var n=e.children,a=e.cx,i=e.getStyles,o=e.getClassNames,s=e.Heading,l=e.headingProps,c=e.innerProps,u=e.label,d=e.theme,p=e.selectProps;return ae("div",ie({},Ze(e,"group",{group:!0}),c),ae(s,ie({},l,{selectProps:p,theme:d,getStyles:i,getClassNames:o,cx:a}),u),ae("div",null,n))},qee=function(e,n){var a=e.theme,i=a.colors,o=a.spacing;return ne({label:"group",cursor:"default",display:"block"},n?{}:{color:i.neutral40,fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:o.baseUnit*3,paddingRight:o.baseUnit*3,textTransform:"uppercase"})},Hee=function(e){var n=TB(e);n.data;var a=$a(n,Vee);return ae("div",ie({},Ze(e,"groupHeading",{"group-heading":!0}),a))},Kee=Uee,Gee=["innerRef","isDisabled","isHidden","inputClassName"],Qee=function(e,n){var a=e.isDisabled,i=e.value,o=e.theme,s=o.spacing,l=o.colors;return ne(ne({visibility:a?"hidden":"visible",transform:i?"translateZ(0)":""},Yee),n?{}:{margin:s.baseUnit/2,paddingBottom:s.baseUnit/2,paddingTop:s.baseUnit/2,color:l.neutral80})},RB={gridArea:"1 / 2",font:"inherit",minWidth:"2px",border:0,margin:0,outline:0,padding:0},Yee={flex:"1 1 auto",display:"inline-grid",gridArea:"1 / 1 / 2 / 3",gridTemplateColumns:"0 min-content","&:after":ne({content:'attr(data-value) " "',visibility:"hidden",whiteSpace:"pre"},RB)},Zee=function(e){return ne({label:"input",color:"inherit",background:0,opacity:e?0:1,width:"100%"},RB)},Jee=function(e){var n=e.cx,a=e.value,i=TB(e),o=i.innerRef,s=i.isDisabled,l=i.isHidden,c=i.inputClassName,u=$a(i,Gee);return ae("div",ie({},Ze(e,"input",{"input-container":!0}),{"data-value":a||""}),ae("input",ie({className:n({input:!0},c),ref:o,style:Zee(l),disabled:s},u)))},Xee=Jee,ete=function(e,n){var a=e.theme,i=a.spacing,o=a.borderRadius,s=a.colors;return ne({label:"multiValue",display:"flex",minWidth:0},n?{}:{backgroundColor:s.neutral10,borderRadius:o/2,margin:i.baseUnit/2})},tte=function(e,n){var a=e.theme,i=a.borderRadius,o=a.colors,s=e.cropWithEllipsis;return ne({overflow:"hidden",textOverflow:s||s===void 0?"ellipsis":void 0,whiteSpace:"nowrap"},n?{}:{borderRadius:i/2,color:o.neutral80,fontSize:"85%",padding:3,paddingLeft:6})},nte=function(e,n){var a=e.theme,i=a.spacing,o=a.borderRadius,s=a.colors,l=e.isFocused;return ne({alignItems:"center",display:"flex"},n?{}:{borderRadius:o/2,backgroundColor:l?s.dangerLight:void 0,paddingLeft:i.baseUnit,paddingRight:i.baseUnit,":hover":{backgroundColor:s.dangerLight,color:s.danger}})},FB=function(e){var n=e.children,a=e.innerProps;return ae("div",a,n)},ate=FB,ite=FB;function ote(t){var e=t.children,n=t.innerProps;return ae("div",ie({role:"button"},n),e||ae(Rg,{size:14}))}var rte=function(e){var n=e.children,a=e.components,i=e.data,o=e.innerProps,s=e.isDisabled,l=e.removeProps,c=e.selectProps,u=a.Container,d=a.Label,p=a.Remove;return ae(u,{data:i,innerProps:ne(ne({},Ze(e,"multiValue",{"multi-value":!0,"multi-value--is-disabled":s})),o),selectProps:c},ae(d,{data:i,innerProps:ne({},Ze(e,"multiValueLabel",{"multi-value__label":!0})),selectProps:c},n),ae(p,{data:i,innerProps:ne(ne({},Ze(e,"multiValueRemove",{"multi-value__remove":!0})),{},{"aria-label":"Remove ".concat(n||"option")},l),selectProps:c}))},ste=rte,lte=function(e,n){var a=e.isDisabled,i=e.isFocused,o=e.isSelected,s=e.theme,l=s.spacing,c=s.colors;return ne({label:"option",cursor:"default",display:"block",fontSize:"inherit",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)"},n?{}:{backgroundColor:o?c.primary:i?c.primary25:"transparent",color:a?c.neutral20:o?c.neutral0:"inherit",padding:"".concat(l.baseUnit*2,"px ").concat(l.baseUnit*3,"px"),":active":{backgroundColor:a?void 0:o?c.primary:c.primary50}})},cte=function(e){var n=e.children,a=e.isDisabled,i=e.isFocused,o=e.isSelected,s=e.innerRef,l=e.innerProps;return ae("div",ie({},Ze(e,"option",{option:!0,"option--is-disabled":a,"option--is-focused":i,"option--is-selected":o}),{ref:s,"aria-disabled":a},l),n)},ute=cte,dte=function(e,n){var a=e.theme,i=a.spacing,o=a.colors;return ne({label:"placeholder",gridArea:"1 / 1 / 2 / 3"},n?{}:{color:o.neutral50,marginLeft:i.baseUnit/2,marginRight:i.baseUnit/2})},pte=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"placeholder",{placeholder:!0}),a),n)},hte=pte,mte=function(e,n){var a=e.isDisabled,i=e.theme,o=i.spacing,s=i.colors;return ne({label:"singleValue",gridArea:"1 / 1 / 2 / 3",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},n?{}:{color:a?s.neutral40:s.neutral80,marginLeft:o.baseUnit/2,marginRight:o.baseUnit/2})},fte=function(e){var n=e.children,a=e.isDisabled,i=e.innerProps;return ae("div",ie({},Ze(e,"singleValue",{"single-value":!0,"single-value--is-disabled":a}),i),n)},gte=fte,Un={ClearIndicator:Pee,Control:Fee,DropdownIndicator:Tee,DownChevron:MB,CrossIcon:Rg,Group:Kee,GroupHeading:Hee,IndicatorsContainer:zee,IndicatorSeparator:Lee,Input:Xee,LoadingIndicator:Mee,Menu:pee,MenuList:mee,MenuPortal:xee,LoadingMessage:bee,NoOptionsMessage:vee,MultiValue:ste,MultiValueContainer:ate,MultiValueLabel:ite,MultiValueRemove:ote,Option:ute,Placeholder:hte,SelectContainer:wee,SingleValue:gte,ValueContainer:Bee},vte=function(e){return ne(ne({},Un),e.components)},Ck=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function bte(t,e){return!!(t===e||Ck(t)&&Ck(e))}function kte(t,e){if(t.length!==e.length)return!1;for(var n=0;n1?"s":""," ").concat(o.join(","),", selected.");case"select-option":return s?"option ".concat(i," is disabled. Select another option."):"option ".concat(i,", selected.");default:return""}},onFocus:function(e){var n=e.context,a=e.focused,i=e.options,o=e.label,s=o===void 0?"":o,l=e.selectValue,c=e.isDisabled,u=e.isSelected,d=function(g,v){return g&&g.length?"".concat(g.indexOf(v)+1," of ").concat(g.length):""};if(n==="value"&&l)return"value ".concat(s," focused, ").concat(d(l,a),".");if(n==="menu"){var p=c?" disabled":"",h="".concat(u?"selected":"focused").concat(p);return"option ".concat(s," ").concat(h,", ").concat(d(i,a),".")}return""},onFilter:function(e){var n=e.inputValue,a=e.resultsMessage;return"".concat(a).concat(n?" for search term "+n:"",".")}},Bte=function(e){var n=e.ariaSelection,a=e.focusedOption,i=e.focusedValue,o=e.focusableOptions,s=e.isFocused,l=e.selectValue,c=e.selectProps,u=e.id,d=c.ariaLiveMessages,p=c.getOptionLabel,h=c.inputValue,m=c.isMulti,g=c.isOptionDisabled,v=c.isSearchable,y=c.menuIsOpen,b=c.options,k=c.screenReaderStatus,w=c.tabSelectsValue,j=c["aria-label"],z=c["aria-live"],S=x.useMemo(function(){return ne(ne({},jte),d||{})},[d]),f=x.useMemo(function(){var L="";if(n&&S.onChange){var q=n.option,U=n.options,$=n.removedValue,T=n.removedValues,F=n.value,N=function(oe){return Array.isArray(oe)?null:oe},Q=$||q||N(F),K=Q?p(Q):"",V=U||T||void 0,G=V?V.map(p):[],ee=ne({isDisabled:Q&&g(Q,l),label:K,labels:G},n);L=S.onChange(ee)}return L},[n,S,g,l,p]),B=x.useMemo(function(){var L="",q=a||i,U=!!(a&&l&&l.includes(a));if(q&&S.onFocus){var $={focused:q,label:p(q),isDisabled:g(q,l),isSelected:U,options:o,context:q===a?"menu":"value",selectValue:l};L=S.onFocus($)}return L},[a,i,p,g,S,o,l]),D=x.useMemo(function(){var L="";if(y&&b.length&&S.onFilter){var q=k({count:o.length});L=S.onFilter({inputValue:h,resultsMessage:q})}return L},[o,h,y,S,b,k]),C=x.useMemo(function(){var L="";if(S.guidance){var q=i?"value":y?"menu":"input";L=S.guidance({"aria-label":j,context:q,isDisabled:a&&g(a,l),isMulti:m,isSearchable:v,tabSelectsValue:w})}return L},[j,a,i,m,g,v,y,S,l,w]),P="".concat(B," ").concat(D," ").concat(C),I=ae(x.Fragment,null,ae("span",{id:"aria-selection"},f),ae("span",{id:"aria-context"},P)),E=(n==null?void 0:n.action)==="initial-input-focus";return ae(x.Fragment,null,ae(Dk,{id:u},E&&I),ae(Dk,{"aria-live":z,"aria-atomic":"false","aria-relevant":"additions text"},s&&!E&&I))},Ste=Bte,Um=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],zte=new RegExp("["+Um.map(function(t){return t.letters}).join("")+"]","g"),VB={};for(var ah=0;ah-1}},_te=["innerRef"];function Tte(t){var e=t.innerRef,n=$a(t,_te),a=iee(n,"onExited","in","enter","exit","appear");return ae("input",ie({ref:e},a,{css:Ig({label:"dummyInput",background:0,border:0,caretColor:"transparent",fontSize:"inherit",gridArea:"1 / 1 / 2 / 3",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(.01)"},"","")}))}var Ete=function(e){e.preventDefault(),e.stopPropagation()};function Pte(t){var e=t.isEnabled,n=t.onBottomArrive,a=t.onBottomLeave,i=t.onTopArrive,o=t.onTopLeave,s=x.useRef(!1),l=x.useRef(!1),c=x.useRef(0),u=x.useRef(null),d=x.useCallback(function(y,b){if(u.current!==null){var k=u.current,w=k.scrollTop,j=k.scrollHeight,z=k.clientHeight,S=u.current,f=b>0,B=j-z-w,D=!1;B>b&&s.current&&(a&&a(y),s.current=!1),f&&l.current&&(o&&o(y),l.current=!1),f&&b>B?(n&&!s.current&&n(y),S.scrollTop=j,D=!0,s.current=!0):!f&&-b>w&&(i&&!l.current&&i(y),S.scrollTop=0,D=!0,l.current=!0),D&&Ete(y)}},[n,a,i,o]),p=x.useCallback(function(y){d(y,y.deltaY)},[d]),h=x.useCallback(function(y){c.current=y.changedTouches[0].clientY},[]),m=x.useCallback(function(y){var b=c.current-y.changedTouches[0].clientY;d(y,b)},[d]),g=x.useCallback(function(y){if(y){var b=tee?{passive:!1}:!1;y.addEventListener("wheel",p,b),y.addEventListener("touchstart",h,b),y.addEventListener("touchmove",m,b)}},[m,h,p]),v=x.useCallback(function(y){y&&(y.removeEventListener("wheel",p,!1),y.removeEventListener("touchstart",h,!1),y.removeEventListener("touchmove",m,!1))},[m,h,p]);return x.useEffect(function(){if(e){var y=u.current;return g(y),function(){v(y)}}},[e,g,v]),function(y){u.current=y}}var _k=["boxSizing","height","overflow","paddingRight","position"],Tk={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function Ek(t){t.preventDefault()}function Pk(t){t.stopPropagation()}function Nk(){var t=this.scrollTop,e=this.scrollHeight,n=t+this.offsetHeight;t===0?this.scrollTop=1:n===e&&(this.scrollTop=t-1)}function Lk(){return"ontouchstart"in window||navigator.maxTouchPoints}var Ik=!!(typeof window<"u"&&window.document&&window.document.createElement),ys=0,ar={capture:!1,passive:!1};function Nte(t){var e=t.isEnabled,n=t.accountForScrollbars,a=n===void 0?!0:n,i=x.useRef({}),o=x.useRef(null),s=x.useCallback(function(c){if(Ik){var u=document.body,d=u&&u.style;if(a&&_k.forEach(function(g){var v=d&&d[g];i.current[g]=v}),a&&ys<1){var p=parseInt(i.current.paddingRight,10)||0,h=document.body?document.body.clientWidth:0,m=window.innerWidth-h+p||0;Object.keys(Tk).forEach(function(g){var v=Tk[g];d&&(d[g]=v)}),d&&(d.paddingRight="".concat(m,"px"))}u&&Lk()&&(u.addEventListener("touchmove",Ek,ar),c&&(c.addEventListener("touchstart",Nk,ar),c.addEventListener("touchmove",Pk,ar))),ys+=1}},[a]),l=x.useCallback(function(c){if(Ik){var u=document.body,d=u&&u.style;ys=Math.max(ys-1,0),a&&ys<1&&_k.forEach(function(p){var h=i.current[p];d&&(d[p]=h)}),u&&Lk()&&(u.removeEventListener("touchmove",Ek,ar),c&&(c.removeEventListener("touchstart",Nk,ar),c.removeEventListener("touchmove",Pk,ar)))}},[a]);return x.useEffect(function(){if(e){var c=o.current;return s(c),function(){l(c)}}},[e,s,l]),function(c){o.current=c}}var Lte=function(){return document.activeElement&&document.activeElement.blur()},Ite={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function $te(t){var e=t.children,n=t.lockEnabled,a=t.captureEnabled,i=a===void 0?!0:a,o=t.onBottomArrive,s=t.onBottomLeave,l=t.onTopArrive,c=t.onTopLeave,u=Pte({isEnabled:i,onBottomArrive:o,onBottomLeave:s,onTopArrive:l,onTopLeave:c}),d=Nte({isEnabled:n}),p=function(m){u(m),d(m)};return ae(x.Fragment,null,n&&ae("div",{onClick:Lte,css:Ite}),e(p))}var Mte={name:"1a0ro4n-requiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%"},Ote=function(e){var n=e.name,a=e.onFocus;return ae("input",{required:!0,name:n,tabIndex:-1,"aria-hidden":"true",onFocus:a,css:Mte,value:"",onChange:function(){}})},Rte=Ote,Fte=function(e){return e.label},Vte=function(e){return e.label},Wte=function(e){return e.value},Ute=function(e){return!!e.isDisabled},qte={clearIndicator:Eee,container:yee,control:Oee,dropdownIndicator:_ee,group:Wee,groupHeading:qee,indicatorsContainer:See,indicatorSeparator:Nee,input:Qee,loadingIndicator:$ee,loadingMessage:gee,menu:cee,menuList:hee,menuPortal:kee,multiValue:ete,multiValueLabel:tte,multiValueRemove:nte,noOptionsMessage:fee,option:lte,placeholder:dte,singleValue:mte,valueContainer:jee},Hte={primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},Kte=4,UB=4,Gte=38,Qte=UB*2,Yte={baseUnit:UB,controlHeight:Gte,menuGutter:Qte},rh={borderRadius:Kte,colors:Hte,spacing:Yte},Zte={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:Sk(),captureMenuScroll:!Sk(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:Ate(),formatGroupLabel:Fte,getOptionLabel:Vte,getOptionValue:Wte,isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:Ute,loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!XX(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var n=e.count;return"".concat(n," result").concat(n!==1?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1};function $k(t,e,n,a){var i=GB(t,e,n),o=QB(t,e,n),s=KB(t,e),l=Qu(t,e);return{type:"option",data:e,isDisabled:i,isSelected:o,label:s,value:l,index:a}}function qB(t,e){return t.options.map(function(n,a){if("options"in n){var i=n.options.map(function(s,l){return $k(t,s,e,l)}).filter(function(s){return Mk(t,s)});return i.length>0?{type:"group",data:n,options:i,index:a}:void 0}var o=$k(t,n,e,a);return Mk(t,o)?o:void 0}).filter(nee)}function HB(t){return t.reduce(function(e,n){return n.type==="group"?e.push.apply(e,uB(n.options.map(function(a){return a.data}))):e.push(n.data),e},[])}function Jte(t,e){return HB(qB(t,e))}function Mk(t,e){var n=t.inputValue,a=n===void 0?"":n,i=e.data,o=e.isSelected,s=e.label,l=e.value;return(!ZB(t)||!o)&&YB(t,{label:s,value:l,data:i},a)}function Xte(t,e){var n=t.focusedValue,a=t.selectValue,i=a.indexOf(n);if(i>-1){var o=e.indexOf(n);if(o>-1)return n;if(i-1?n:e[0]}var KB=function(e,n){return e.getOptionLabel(n)},Qu=function(e,n){return e.getOptionValue(n)};function GB(t,e,n){return typeof t.isOptionDisabled=="function"?t.isOptionDisabled(e,n):!1}function QB(t,e,n){if(n.indexOf(e)>-1)return!0;if(typeof t.isOptionSelected=="function")return t.isOptionSelected(e,n);var a=Qu(t,e);return n.some(function(i){return Qu(t,i)===a})}function YB(t,e,n){return t.filterOption?t.filterOption(e,n):!0}var ZB=function(e){var n=e.hideSelectedOptions,a=e.isMulti;return n===void 0?a:n},tne=1,JB=function(t){Tl(n,t);var e=DJ(n);function n(a){var i;if(qn(this,n),i=e.call(this,a),i.state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},i.blockOptionHover=!1,i.isComposing=!1,i.commonProps=void 0,i.initialTouchX=0,i.initialTouchY=0,i.instancePrefix="",i.openAfterFocus=!1,i.scrollToFocusedOptionOnUpdate=!1,i.userIsDragging=void 0,i.controlRef=null,i.getControlRef=function(l){i.controlRef=l},i.focusedOptionRef=null,i.getFocusedOptionRef=function(l){i.focusedOptionRef=l},i.menuListRef=null,i.getMenuListRef=function(l){i.menuListRef=l},i.inputRef=null,i.getInputRef=function(l){i.inputRef=l},i.focus=i.focusInput,i.blur=i.blurInput,i.onChange=function(l,c){var u=i.props,d=u.onChange,p=u.name;c.name=p,i.ariaOnChange(l,c),d(l,c)},i.setValue=function(l,c,u){var d=i.props,p=d.closeMenuOnSelect,h=d.isMulti,m=d.inputValue;i.onInputChange("",{action:"set-value",prevInputValue:m}),p&&(i.setState({inputIsHiddenAfterUpdate:!h}),i.onMenuClose()),i.setState({clearFocusValueOnUpdate:!0}),i.onChange(l,{action:c,option:u})},i.selectOption=function(l){var c=i.props,u=c.blurInputOnSelect,d=c.isMulti,p=c.name,h=i.state.selectValue,m=d&&i.isOptionSelected(l,h),g=i.isOptionDisabled(l,h);if(m){var v=i.getOptionValue(l);i.setValue(h.filter(function(y){return i.getOptionValue(y)!==v}),"deselect-option",l)}else if(!g)d?i.setValue([].concat(uB(h),[l]),"select-option",l):i.setValue(l,"select-option");else{i.ariaOnChange(l,{action:"select-option",option:l,name:p});return}u&&i.blurInput()},i.removeValue=function(l){var c=i.props.isMulti,u=i.state.selectValue,d=i.getOptionValue(l),p=u.filter(function(m){return i.getOptionValue(m)!==d}),h=jc(c,p,p[0]||null);i.onChange(h,{action:"remove-value",removedValue:l}),i.focusInput()},i.clearValue=function(){var l=i.state.selectValue;i.onChange(jc(i.props.isMulti,[],null),{action:"clear",removedValues:l})},i.popValue=function(){var l=i.props.isMulti,c=i.state.selectValue,u=c[c.length-1],d=c.slice(0,c.length-1),p=jc(l,d,d[0]||null);i.onChange(p,{action:"pop-value",removedValue:u})},i.getValue=function(){return i.state.selectValue},i.cx=function(){for(var l=arguments.length,c=new Array(l),u=0;uh||p>h}},i.onTouchEnd=function(l){i.userIsDragging||(i.controlRef&&!i.controlRef.contains(l.target)&&i.menuListRef&&!i.menuListRef.contains(l.target)&&i.blurInput(),i.initialTouchX=0,i.initialTouchY=0)},i.onControlTouchEnd=function(l){i.userIsDragging||i.onControlMouseDown(l)},i.onClearIndicatorTouchEnd=function(l){i.userIsDragging||i.onClearIndicatorMouseDown(l)},i.onDropdownIndicatorTouchEnd=function(l){i.userIsDragging||i.onDropdownIndicatorMouseDown(l)},i.handleInputChange=function(l){var c=i.props.inputValue,u=l.currentTarget.value;i.setState({inputIsHiddenAfterUpdate:!1}),i.onInputChange(u,{action:"input-change",prevInputValue:c}),i.props.menuIsOpen||i.onMenuOpen()},i.onInputFocus=function(l){i.props.onFocus&&i.props.onFocus(l),i.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(i.openAfterFocus||i.props.openMenuOnFocus)&&i.openMenu("first"),i.openAfterFocus=!1},i.onInputBlur=function(l){var c=i.props.inputValue;if(i.menuListRef&&i.menuListRef.contains(document.activeElement)){i.inputRef.focus();return}i.props.onBlur&&i.props.onBlur(l),i.onInputChange("",{action:"input-blur",prevInputValue:c}),i.onMenuClose(),i.setState({focusedValue:null,isFocused:!1})},i.onOptionHover=function(l){i.blockOptionHover||i.state.focusedOption===l||i.setState({focusedOption:l})},i.shouldHideSelectedOptions=function(){return ZB(i.props)},i.onValueInputFocus=function(l){l.preventDefault(),l.stopPropagation(),i.focus()},i.onKeyDown=function(l){var c=i.props,u=c.isMulti,d=c.backspaceRemovesValue,p=c.escapeClearsValue,h=c.inputValue,m=c.isClearable,g=c.isDisabled,v=c.menuIsOpen,y=c.onKeyDown,b=c.tabSelectsValue,k=c.openMenuOnFocus,w=i.state,j=w.focusedOption,z=w.focusedValue,S=w.selectValue;if(!g&&!(typeof y=="function"&&(y(l),l.defaultPrevented))){switch(i.blockOptionHover=!0,l.key){case"ArrowLeft":if(!u||h)return;i.focusValue("previous");break;case"ArrowRight":if(!u||h)return;i.focusValue("next");break;case"Delete":case"Backspace":if(h)return;if(z)i.removeValue(z);else{if(!d)return;u?i.popValue():m&&i.clearValue()}break;case"Tab":if(i.isComposing||l.shiftKey||!v||!b||!j||k&&i.isOptionSelected(j,S))return;i.selectOption(j);break;case"Enter":if(l.keyCode===229)break;if(v){if(!j||i.isComposing)return;i.selectOption(j);break}return;case"Escape":v?(i.setState({inputIsHiddenAfterUpdate:!1}),i.onInputChange("",{action:"menu-close",prevInputValue:h}),i.onMenuClose()):m&&p&&i.clearValue();break;case" ":if(h)return;if(!v){i.openMenu("first");break}if(!j)return;i.selectOption(j);break;case"ArrowUp":v?i.focusOption("up"):i.openMenu("last");break;case"ArrowDown":v?i.focusOption("down"):i.openMenu("first");break;case"PageUp":if(!v)return;i.focusOption("pageup");break;case"PageDown":if(!v)return;i.focusOption("pagedown");break;case"Home":if(!v)return;i.focusOption("first");break;case"End":if(!v)return;i.focusOption("last");break;default:return}l.preventDefault()}},i.instancePrefix="react-select-"+(i.props.instanceId||++tne),i.state.selectValue=jk(a.value),a.menuIsOpen&&i.state.selectValue.length){var o=i.buildFocusableOptions(),s=o.indexOf(i.state.selectValue[0]);i.state.focusedOption=o[s]}return i}return Hn(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&Bk(this.menuListRef,this.focusedOptionRef)}},{key:"componentDidUpdate",value:function(i){var o=this.props,s=o.isDisabled,l=o.menuIsOpen,c=this.state.isFocused;(c&&!s&&i.isDisabled||c&&l&&!i.menuIsOpen)&&this.focusInput(),c&&s&&!i.isDisabled?this.setState({isFocused:!1},this.onMenuClose):!c&&!s&&i.isDisabled&&this.inputRef===document.activeElement&&this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(Bk(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:"onInputChange",value:function(i,o){this.props.onInputChange(i,o)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(i){var o=this,s=this.state,l=s.selectValue,c=s.isFocused,u=this.buildFocusableOptions(),d=i==="first"?0:u.length-1;if(!this.props.isMulti){var p=u.indexOf(l[0]);p>-1&&(d=p)}this.scrollToFocusedOptionOnUpdate=!(c&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:u[d]},function(){return o.onMenuOpen()})}},{key:"focusValue",value:function(i){var o=this.state,s=o.selectValue,l=o.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var c=s.indexOf(l);l||(c=-1);var u=s.length-1,d=-1;if(s.length){switch(i){case"previous":c===0?d=0:c===-1?d=u:d=c-1;break;case"next":c>-1&&c0&&arguments[0]!==void 0?arguments[0]:"first",o=this.props.pageSize,s=this.state.focusedOption,l=this.getFocusableOptions();if(l.length){var c=0,u=l.indexOf(s);s||(u=-1),i==="up"?c=u>0?u-1:l.length-1:i==="down"?c=(u+1)%l.length:i==="pageup"?(c=u-o,c<0&&(c=0)):i==="pagedown"?(c=u+o,c>l.length-1&&(c=l.length-1)):i==="last"&&(c=l.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:l[c],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?typeof this.props.theme=="function"?this.props.theme(rh):ne(ne({},rh),this.props.theme):rh}},{key:"getCommonProps",value:function(){var i=this.clearValue,o=this.cx,s=this.getStyles,l=this.getClassNames,c=this.getValue,u=this.selectOption,d=this.setValue,p=this.props,h=p.isMulti,m=p.isRtl,g=p.options,v=this.hasValue();return{clearValue:i,cx:o,getStyles:s,getClassNames:l,getValue:c,hasValue:v,isMulti:h,isRtl:m,options:g,selectOption:u,selectProps:p,setValue:d,theme:this.getTheme()}}},{key:"hasValue",value:function(){var i=this.state.selectValue;return i.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var i=this.props,o=i.isClearable,s=i.isMulti;return o===void 0?s:o}},{key:"isOptionDisabled",value:function(i,o){return GB(this.props,i,o)}},{key:"isOptionSelected",value:function(i,o){return QB(this.props,i,o)}},{key:"filterOption",value:function(i,o){return YB(this.props,i,o)}},{key:"formatOptionLabel",value:function(i,o){if(typeof this.props.formatOptionLabel=="function"){var s=this.props.inputValue,l=this.state.selectValue;return this.props.formatOptionLabel(i,{context:o,inputValue:s,selectValue:l})}else return this.getOptionLabel(i)}},{key:"formatGroupLabel",value:function(i){return this.props.formatGroupLabel(i)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var i=this.props,o=i.isDisabled,s=i.isSearchable,l=i.inputId,c=i.inputValue,u=i.tabIndex,d=i.form,p=i.menuIsOpen,h=i.required,m=this.getComponents(),g=m.Input,v=this.state,y=v.inputIsHidden,b=v.ariaSelection,k=this.commonProps,w=l||this.getElementId("input"),j=ne(ne(ne({"aria-autocomplete":"list","aria-expanded":p,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-required":h,role:"combobox"},p&&{"aria-controls":this.getElementId("listbox"),"aria-owns":this.getElementId("listbox")}),!s&&{"aria-readonly":!0}),this.hasValue()?(b==null?void 0:b.action)==="initial-input-focus"&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return s?x.createElement(g,ie({},k,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:w,innerRef:this.getInputRef,isDisabled:o,isHidden:y,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:u,form:d,type:"text",value:c},j)):x.createElement(Tte,ie({id:w,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Ku,onFocus:this.onInputFocus,disabled:o,tabIndex:u,inputMode:"none",form:d,value:""},j))}},{key:"renderPlaceholderOrValue",value:function(){var i=this,o=this.getComponents(),s=o.MultiValue,l=o.MultiValueContainer,c=o.MultiValueLabel,u=o.MultiValueRemove,d=o.SingleValue,p=o.Placeholder,h=this.commonProps,m=this.props,g=m.controlShouldRenderValue,v=m.isDisabled,y=m.isMulti,b=m.inputValue,k=m.placeholder,w=this.state,j=w.selectValue,z=w.focusedValue,S=w.isFocused;if(!this.hasValue()||!g)return b?null:x.createElement(p,ie({},h,{key:"placeholder",isDisabled:v,isFocused:S,innerProps:{id:this.getElementId("placeholder")}}),k);if(y)return j.map(function(B,D){var C=B===z,P="".concat(i.getOptionLabel(B),"-").concat(i.getOptionValue(B));return x.createElement(s,ie({},h,{components:{Container:l,Label:c,Remove:u},isFocused:C,isDisabled:v,key:P,index:D,removeProps:{onClick:function(){return i.removeValue(B)},onTouchEnd:function(){return i.removeValue(B)},onMouseDown:function(E){E.preventDefault()}},data:B}),i.formatOptionLabel(B,"value"))});if(b)return null;var f=j[0];return x.createElement(d,ie({},h,{data:f,isDisabled:v}),this.formatOptionLabel(f,"value"))}},{key:"renderClearIndicator",value:function(){var i=this.getComponents(),o=i.ClearIndicator,s=this.commonProps,l=this.props,c=l.isDisabled,u=l.isLoading,d=this.state.isFocused;if(!this.isClearable()||!o||c||!this.hasValue()||u)return null;var p={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:p,isFocused:d}))}},{key:"renderLoadingIndicator",value:function(){var i=this.getComponents(),o=i.LoadingIndicator,s=this.commonProps,l=this.props,c=l.isDisabled,u=l.isLoading,d=this.state.isFocused;if(!o||!u)return null;var p={"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:p,isDisabled:c,isFocused:d}))}},{key:"renderIndicatorSeparator",value:function(){var i=this.getComponents(),o=i.DropdownIndicator,s=i.IndicatorSeparator;if(!o||!s)return null;var l=this.commonProps,c=this.props.isDisabled,u=this.state.isFocused;return x.createElement(s,ie({},l,{isDisabled:c,isFocused:u}))}},{key:"renderDropdownIndicator",value:function(){var i=this.getComponents(),o=i.DropdownIndicator;if(!o)return null;var s=this.commonProps,l=this.props.isDisabled,c=this.state.isFocused,u={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:u,isDisabled:l,isFocused:c}))}},{key:"renderMenu",value:function(){var i=this,o=this.getComponents(),s=o.Group,l=o.GroupHeading,c=o.Menu,u=o.MenuList,d=o.MenuPortal,p=o.LoadingMessage,h=o.NoOptionsMessage,m=o.Option,g=this.commonProps,v=this.state.focusedOption,y=this.props,b=y.captureMenuScroll,k=y.inputValue,w=y.isLoading,j=y.loadingMessage,z=y.minMenuHeight,S=y.maxMenuHeight,f=y.menuIsOpen,B=y.menuPlacement,D=y.menuPosition,C=y.menuPortalTarget,P=y.menuShouldBlockScroll,I=y.menuShouldScrollIntoView,E=y.noOptionsMessage,L=y.onMenuScrollToTop,q=y.onMenuScrollToBottom;if(!f)return null;var U=function(V,G){var ee=V.type,X=V.data,oe=V.isDisabled,he=V.isSelected,pe=V.label,ge=V.value,ye=v===X,we=oe?void 0:function(){return i.onOptionHover(X)},Ae=oe?void 0:function(){return i.selectOption(X)},va="".concat(i.getElementId("option"),"-").concat(G),bi={id:va,onClick:Ae,onMouseMove:we,onMouseOver:we,tabIndex:-1};return x.createElement(m,ie({},g,{innerProps:bi,data:X,isDisabled:oe,isSelected:he,key:va,label:pe,type:ee,value:ge,isFocused:ye,innerRef:ye?i.getFocusedOptionRef:void 0}),i.formatOptionLabel(V.data,"menu"))},$;if(this.hasOptions())$=this.getCategorizedOptions().map(function(K){if(K.type==="group"){var V=K.data,G=K.options,ee=K.index,X="".concat(i.getElementId("group"),"-").concat(ee),oe="".concat(X,"-heading");return x.createElement(s,ie({},g,{key:X,data:V,options:G,Heading:l,headingProps:{id:oe,data:K.data},label:i.formatGroupLabel(K.data)}),K.options.map(function(he){return U(he,"".concat(ee,"-").concat(he.index))}))}else if(K.type==="option")return U(K,"".concat(K.index))});else if(w){var T=j({inputValue:k});if(T===null)return null;$=x.createElement(p,g,T)}else{var F=E({inputValue:k});if(F===null)return null;$=x.createElement(h,g,F)}var N={minMenuHeight:z,maxMenuHeight:S,menuPlacement:B,menuPosition:D,menuShouldScrollIntoView:I},Q=x.createElement(uee,ie({},g,N),function(K){var V=K.ref,G=K.placerProps,ee=G.placement,X=G.maxHeight;return x.createElement(c,ie({},g,N,{innerRef:V,innerProps:{onMouseDown:i.onMenuMouseDown,onMouseMove:i.onMenuMouseMove,id:i.getElementId("listbox")},isLoading:w,placement:ee}),x.createElement($te,{captureEnabled:b,onTopArrive:L,onBottomArrive:q,lockEnabled:P},function(oe){return x.createElement(u,ie({},g,{innerRef:function(pe){i.getMenuListRef(pe),oe(pe)},isLoading:w,maxHeight:X,focusedOption:v}),$)}))});return C||D==="fixed"?x.createElement(d,ie({},g,{appendTo:C,controlElement:this.controlRef,menuPlacement:B,menuPosition:D}),Q):Q}},{key:"renderFormField",value:function(){var i=this,o=this.props,s=o.delimiter,l=o.isDisabled,c=o.isMulti,u=o.name,d=o.required,p=this.state.selectValue;if(d&&!this.hasValue()&&!l)return x.createElement(Rte,{name:u,onFocus:this.onValueInputFocus});if(!(!u||l))if(c)if(s){var h=p.map(function(v){return i.getOptionValue(v)}).join(s);return x.createElement("input",{name:u,type:"hidden",value:h})}else{var m=p.length>0?p.map(function(v,y){return x.createElement("input",{key:"i-".concat(y),name:u,type:"hidden",value:i.getOptionValue(v)})}):x.createElement("input",{name:u,type:"hidden",value:""});return x.createElement("div",null,m)}else{var g=p[0]?this.getOptionValue(p[0]):"";return x.createElement("input",{name:u,type:"hidden",value:g})}}},{key:"renderLiveRegion",value:function(){var i=this.commonProps,o=this.state,s=o.ariaSelection,l=o.focusedOption,c=o.focusedValue,u=o.isFocused,d=o.selectValue,p=this.getFocusableOptions();return x.createElement(Ste,ie({},i,{id:this.getElementId("live-region"),ariaSelection:s,focusedOption:l,focusedValue:c,isFocused:u,selectValue:d,focusableOptions:p}))}},{key:"render",value:function(){var i=this.getComponents(),o=i.Control,s=i.IndicatorsContainer,l=i.SelectContainer,c=i.ValueContainer,u=this.props,d=u.className,p=u.id,h=u.isDisabled,m=u.menuIsOpen,g=this.state.isFocused,v=this.commonProps=this.getCommonProps();return x.createElement(l,ie({},v,{className:d,innerProps:{id:p,onKeyDown:this.onKeyDown},isDisabled:h,isFocused:g}),this.renderLiveRegion(),x.createElement(o,ie({},v,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:h,isFocused:g,menuIsOpen:m}),x.createElement(c,ie({},v,{isDisabled:h}),this.renderPlaceholderOrValue(),this.renderInput()),x.createElement(s,ie({},v,{isDisabled:h}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(i,o){var s=o.prevProps,l=o.clearFocusValueOnUpdate,c=o.inputIsHiddenAfterUpdate,u=o.ariaSelection,d=o.isFocused,p=o.prevWasFocused,h=i.options,m=i.value,g=i.menuIsOpen,v=i.inputValue,y=i.isMulti,b=jk(m),k={};if(s&&(m!==s.value||h!==s.options||g!==s.menuIsOpen||v!==s.inputValue)){var w=g?Jte(i,b):[],j=l?Xte(o,b):null,z=ene(o,w);k={selectValue:b,focusedOption:z,focusedValue:j,clearFocusValueOnUpdate:!1}}var S=c!=null&&i!==s?{inputIsHidden:c,inputIsHiddenAfterUpdate:void 0}:{},f=u,B=d&&p;return d&&!B&&(f={value:jc(y,b,b[0]||null),options:b,action:"initial-input-focus"},B=!p),(u==null?void 0:u.action)==="initial-input-focus"&&(f=null),ne(ne(ne({},k),S),{},{prevProps:i,ariaSelection:f,prevWasFocused:B})}}]),n}(x.Component);JB.defaultProps=Zte;var nne=x.forwardRef(function(t,e){var n=zJ(t);return x.createElement(JB,ie({ref:e},n))}),Gd=nne;const ane="_balance_17xkv_1",ine="_balanceSingleValue_17xkv_1",one="_dropdown_17xkv_11",rne="_select_17xkv_20",sne="_selectLabelText_17xkv_66",lne="_singleValueContainer_17xkv_70",cne="_valueContainer_17xkv_78",Za={balance:ane,balanceSingleValue:ine,dropdown:one,select:rne,selectLabelText:sne,singleValueContainer:lne,valueContainer:cne},une=t=>{const{hideAmounts:e}=x.useContext(mi),{label:n,coinCode:a,balance:i}=t.data;return r.jsx("div",{className:Za.singleValueContainer,children:r.jsx(Un.SingleValue,{...t,children:r.jsxs("div",{className:Za.valueContainer,children:[a?r.jsx(Ro,{coinCode:a,alt:a}):null,r.jsx("span",{className:Za.selectLabelText,children:n}),a&&i&&r.jsx("span",{className:Za.balanceSingleValue,children:e?`*** ${a}`:i})]})})})},dne=t=>{const{hideAmounts:e}=x.useContext(mi),{label:n,coinCode:a,balance:i}=t.data;return r.jsx(Un.Option,{...t,children:r.jsxs("div",{className:Za.valueContainer,children:[a?r.jsx(Ro,{coinCode:a,alt:a}):null,r.jsx("span",{className:Za.selectLabelText,children:n}),a&&i&&r.jsx("span",{className:Za.balance,children:e?`*** ${a}`:i})]})})},pne=t=>r.jsx(Un.DropdownIndicator,{...t,children:r.jsx("div",{className:Za.dropdown})}),XB=({title:t,disabled:e,options:n,selected:a,onChange:i,onProceed:o})=>{const{t:s}=A(),[l,c]=x.useState();return x.useEffect(()=>{c(n.find(u=>u.value===a))},[n,a]),r.jsxs(r.Fragment,{children:[r.jsx("h1",{className:"title text-center",children:t}),r.jsx(Gd,{className:Za.select,classNamePrefix:"react-select",components:{DropdownIndicator:pne,SingleValue:une,Option:dne,IndicatorSeparator:()=>null},value:a===""?{label:s("buy.info.selectLabel"),value:"choose",disabled:!0}:l,isSearchable:!1,onChange:u=>{const d=(u==null?void 0:u.value)||"";i(d)},isOptionDisabled:u=>u.disabled,options:[{label:s("buy.info.selectLabel")||"",value:"choose",disabled:!0},...n]}),r.jsx("div",{className:"buttons text-center",children:r.jsx(_,{primary:!0,onClick:o,disabled:!a||e,children:s("buy.info.next")})})]})},hne="_button_1riw8_1",mne={button:hne},Qd=()=>{const{t}=A(),{hideAmounts:e,toggleHideAmounts:n}=x.useContext(mi),a=me(Bt);return r.jsx(r.Fragment,{children:a&&a.frontend.allowHideAmounts?r.jsx(_,{className:mne.button,onClick:n,transparent:!0,children:e?r.jsxs(r.Fragment,{children:[r.jsx(X7,{})," ",r.jsx("span",{children:t("newSettings.appearance.hideAmounts.showAmounts")})]}):r.jsxs(r.Fragment,{children:[r.jsx(eK,{})," ",r.jsx("span",{children:t("newSettings.appearance.hideAmounts.hideAmounts")})]})}):null})},fne=({code:t,accounts:e})=>{const[n,a]=x.useState(t),[i,o]=x.useState(),[s,l]=x.useState(!1),{t:c}=A(),u=x.useCallback(async()=>{try{const b=(await Dg(e)).map(({name:k,code:w,coinCode:j})=>({label:`${k}`,value:w,coinCode:j,disabled:!1}));o(b),h(b)}catch(y){console.error(y)}},[e]),d=x.useCallback(async()=>{if(i!==void 0&&i.length===1){const y=i[0].value;if(!(await fl(y)).success)return;le(`/buy/exchange/${y}`)}},[i]),p=y=>{a(y)};x.useEffect(()=>{u()},[u]),x.useEffect(()=>{d()},[d,i]);const h=y=>{Promise.all(y.map(b=>Ur(b.value).then(k=>({...b,balance:`${k.available.amount} ${k.available.unit}`})))).then(b=>{o(b)})},m=async()=>{l(!0);try{if(!(await fl(n)).success)return}finally{l(!1)}le(`/buy/exchange/${n}`)};if(i===void 0)return r.jsx(Cn,{guideExists:!1,text:c("loading")});const g=Dd(e,t),v=Ad(c("buy.info.crypto"),g);return r.jsx(ln,{children:r.jsxs(Ma,{children:[r.jsxs(Oa,{children:[r.jsx(xe,{title:r.jsx("h2",{children:c("buy.info.title",{name:v})}),children:r.jsx(Qd,{})}),r.jsx(re,{width:"550px",verticallyCentered:!0,fullscreen:!1,children:r.jsx(ue,{children:i.length===0?r.jsx("div",{className:"content narrow isVerticallyCentered",children:c("accountSummary.noAccount")}):r.jsx(XB,{title:c("buy.title",{name:v}),disabled:s,options:i,selected:n,onChange:p,onProceed:m})})})]}),r.jsx(Pd,{name:v})]})})};const gne="_button_diw5d_1",vne={button:gne},e1=({onClick:t,...e})=>r.jsx("button",{onClick:t,...e,className:vne.button,children:r.jsx(W7,{})}),bne="_container_1ksto_17",kne="_paymentMethodContainer_1ksto_17",xne="_exchangeName_1ksto_21",yne="_infoButton_1ksto_25",wne="_outerContainer_1ksto_37",jne="_paymentMethodsContainer_1ksto_41",Bne="_paymentMethodName_1ksto_47",Sne="_radio_1ksto_67",zne="_radioLabel_1ksto_123",Cne="_text_1ksto_127",Sa={container:bne,paymentMethodContainer:kne,exchangeName:xne,infoButton:yne,outerContainer:wne,paymentMethodsContainer:jne,paymentMethodName:Bne,radio:Sne,radioLabel:zne,text:Cne},Dne=({methodName:t})=>{const{t:e}=A(),{isDarkMode:n}=Kn();switch(t){case"bank-transfer":return r.jsxs("span",{className:Sa.paymentMethodName,children:[n?r.jsx(V7,{}):r.jsx(F7,{}),e("buy.exchange.bankTransfer")]});case"card":return r.jsxs("span",{className:Sa.paymentMethodName,children:[n?r.jsx(H7,{}):r.jsx(q7,{}),e("buy.exchange.creditCard")]});default:return r.jsx(r.Fragment,{children:t})}},Ane=({deal:t})=>{const{t:e}=A();return r.jsxs("div",{className:Sa.paymentMethodContainer,children:[r.jsx(Dne,{methodName:t.payment}),r.jsxs("div",{children:[t.isBestDeal&&r.jsx(Vu,{type:"success",children:e("buy.exchange.bestDeal")}),t.isFast&&r.jsx(Vu,{type:"warning",children:e("buy.exchange.fast")})]})]})};function _ne({disabled:t=!1,id:e,children:n,checked:a,deals:i,onChange:o,exchangeName:s,onClickInfoButton:l,...c}){const u=()=>{t||o()},d=p=>{!t&&p.key==="Enter"&&o()};return r.jsxs("div",{className:Sa.outerContainer,children:[r.jsxs("span",{"aria-checked":a,onKeyDown:d,"aria-disabled":t,role:"radio",tabIndex:0,onClick:u,className:Sa.radio,children:[r.jsx("input",{checked:a,type:"radio",id:e,disabled:t,onChange:o,...c}),r.jsx("label",{className:Sa.radioLabel,htmlFor:e,children:r.jsxs("div",{className:Sa.container,children:[r.jsx("p",{className:[Sa.text,Sa.exchangeName].join(" "),children:cB(s)}),r.jsx("div",{className:Sa.paymentMethodsContainer,children:i.map(p=>r.jsx(Ane,{deal:p},p.payment))})]})})]}),r.jsx(e1,{onClick:()=>l(s)})]})}const Tne="_container_h94uh_1",t1={container:Tne},Ene=({cardFee:t,bankTransferFee:e})=>{const{t:n}=A(),a=t&&t*100,i=e&&e*100;return r.jsxs("div",{className:t1.container,children:[r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.supportedCurrencies")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://support.moonpay.com/hc/en-gb/articles/360011931457-Which-fiat-currencies-are-supported-",children:n("buy.exchange.infoContent.moonpay.fullCurrenciesList")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:n("buy.exchange.infoContent.moonpay.payment.title")})}),r.jsx("br",{}),r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.payment.creditDebitCard")}),r.jsx("ul",{children:r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.creditDebitCardDetails.cards")})}),r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransfer")}),r.jsxs("ul",{children:[r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.sepa")}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.uk")}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.pix")})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("i",{children:n("buy.exchange.infoContent.moonpay.payment.asteriskText")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://support.moonpay.com/hc/en-gb/articles/4406210084113-What-payment-methods-do-you-support-",children:n("buy.exchange.infoContent.moonpay.payment.learnMore")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:n("buy.exchange.infoContent.moonpay.fees.title")})}),r.jsxs("ul",{children:[r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.fees.creditDebitCard",{fee:a})}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.fees.bankTransfer",{fee:i})})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://www.moonpay.com/",children:n("buy.exchange.infoContent.moonpay.fees.learnMore")})})]})},Pne=({bankTransferFee:t})=>{const{t:e}=A(),n=t&&t*100;return r.jsxs("div",{className:t1.container,children:[r.jsx("p",{children:e("buy.exchange.infoContent.pocket.supportedCurrencies")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.payment.title")})}),r.jsx("br",{}),r.jsx("p",{children:e("buy.exchange.infoContent.pocket.payment.bankTransfer")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.sepa")}),r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.uk")}),r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.sic")})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq/how-do-I-set-up-my-standing-order",children:e("buy.exchange.infoContent.pocket.payment.bankTransferReccuring")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.verification.title")})}),r.jsx("br",{}),r.jsx("p",{children:e("buy.exchange.infoContent.pocket.verification.info")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq/are-there-any-limits-with-pocket",children:e("buy.exchange.infoContent.pocket.verification.link")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.fees.title")})}),r.jsx("ul",{children:r.jsx("li",{children:e("buy.exchange.infoContent.pocket.fees.info",{fee:n})})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/",children:e("buy.exchange.infoContent.pocket.learnMore")})})]})},Nne=()=>{const{t}=A();return r.jsx("div",{children:r.jsx("p",{children:t("buy.exchange.infoContent.region.title")})})},Lne=({info:t,cardFee:e,bankTransferFee:n})=>{switch(t){case"moonpay":return r.jsx(Ene,{cardFee:e,bankTransferFee:n});case"pocket":return r.jsx(Pne,{bankTransferFee:n});case"region":return r.jsx(Nne,{})}return r.jsx(r.Fragment,{})},Ine="_buttonBack_62uya_17",$ne="_buttonsContainer_62uya_21",Mne="_container_62uya_27",One="_exchangeContainer_62uya_31",Rne="_header_62uya_44",Fne="_selectContainer_62uya_49",Vne="_label_62uya_62",Wne="_noExchangeText_62uya_69",Une="_radioButtonsContainer_62uya_77",qne="_title_62uya_81",wi={buttonBack:Ine,buttonsContainer:$ne,container:Mne,exchangeContainer:One,header:Rne,selectContainer:Fne,label:Vne,noExchangeText:Wne,radioButtonsContainer:Une,title:qne},Hne="_dropdown_9chnx_1",Kne="_flag_9chnx_10",Gne="_globe_9chnx_14",Qne="_optionsContainer_9chnx_20",Yne="_select_9chnx_25",Zne="_selectLabelText_9chnx_59",Jne="_singleValueContainer_9chnx_64",ai={dropdown:Hne,flag:Kne,globe:Gne,optionsContainer:Qne,select:Yne,selectLabelText:Zne,singleValueContainer:Jne},n1=({regionCode:t})=>{const{isDarkMode:e}=Kn(),n=e?r.jsx(aK,{className:ai.globe}):r.jsx(nK,{className:ai.globe});return r.jsx("span",{children:t===""?n:r.jsx("span",{className:`fi fi-${t} ${ai.flag}`})})},Xne=t=>{const{label:e,value:n}=t.data;return r.jsxs("div",{className:ai.singleValueContainer,children:[r.jsx(n1,{regionCode:n.toLowerCase()}),r.jsx(Un.SingleValue,{...t,children:r.jsx("span",{className:ai.selectLabelText,children:e})})]})},eae=t=>{const{label:e,value:n}=t.data;return r.jsx(Un.Option,{...t,children:r.jsxs("div",{className:ai.optionsContainer,children:[r.jsx(n1,{regionCode:n.toLowerCase()}),r.jsx("span",{className:ai.selectLabelText,children:e})]})})},tae=t=>r.jsx(Un.DropdownIndicator,{...t,children:r.jsx("div",{className:ai.dropdown})}),nae=({onChangeRegion:t,regions:e,selectedRegion:n})=>{const{t:a}=A(),i=new Intl.DisplayNames([se.language],{type:"region"}).of(n)||"",o=n===""?a("buy.exchange.selectRegion"):i;return r.jsx(Gd,{className:ai.select,classNamePrefix:"react-select",components:{DropdownIndicator:tae,SingleValue:Xne,Option:eae,IndicatorSeparator:()=>null},defaultValue:{label:o,value:n},isSearchable:!0,onChange:s=>t(s),options:[{label:a("buy.exchange.selectRegion")||"",value:""},...e]})},aae=({code:t,accounts:e})=>{var $,T,F;const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),[l,c]=x.useState(""),[u,d]=x.useState(""),[p,h]=x.useState([]),[m,g]=x.useState(),[v,y]=x.useState(),[b,k]=x.useState([]),w=me(GZ(t)),j=me(QZ),z=me(hj),S=me(zg(t)),f=me(Bt),B=Dd(e,t),D=Ad(n("buy.info.crypto"),B),C=m?m.exchanges.filter(N=>N.supported).length===1:!1;x.useEffect(()=>{Dg(e).then(k)},[e]),x.useEffect(()=>{if(!w||!f)return;const N=new Intl.DisplayNames([se.language],{type:"region"})||"",Q=w.regions.map(G=>({value:G.code,label:N.of(G.code)}));if(Q.sort((G,ee)=>G.label.localeCompare(ee.label,se.language)),h(Q),f.frontend.selectedExchangeRegion==="")return;if(f.frontend.selectedExchangeRegion){c(f.frontend.selectedExchangeRegion);return}const K=RH(z||""),V=!!w.regions.find(G=>G.code===K);c(V?K:"")},[w,f,z]),x.useEffect(()=>{if(!j)return;const N={exchanges:j.exchanges.map(V=>({...V,supported:V.exchangeName==="pocket"?a:o}))},Q=jJ(N),K=BJ(N,Q);g(K)},[l,o,a,j]),x.useEffect(()=>{if(C&&m&&l!==""){const N=m.exchanges.filter(Q=>Q.supported);d(N[0].exchangeName)}},[C,m,l]),x.useEffect(()=>{if(d(""),!S){i(!1),s(!1);return}if(l===""){i(S.exchanges.includes("pocket")),s(S.exchanges.includes("moonpay"));return}w&&(i(!1),s(!1),w.regions.forEach(N=>{if(N.code===l){i(N.isPocketEnabled),s(N.isMoonpayEnabled);return}}))},[l,w,S]);const P=()=>{u&&le(`/buy/${u}/${t}`)},I=N=>{if(N){const Q=N.value;c(Q),at({frontend:{selectedExchangeRegion:Q}})}},E=!o&&!a,L=($=j==null?void 0:j.exchanges.find(N=>N.exchangeName===v))==null?void 0:$.deals,q=L&&((T=L.find(N=>N.payment==="card"))==null?void 0:T.fee),U=L&&((F=L.find(N=>N.payment==="bank-transfer"))==null?void 0:F.fee);return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(qe,{medium:!0,title:v&&v!=="region"?cB(v):n("buy.exchange.region"),onClose:()=>y(void 0),open:!!v,children:v&&r.jsx(Lne,{info:v,cardFee:q,bankTransferFee:U})}),r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("buy.exchange.title",{name:D})})}),r.jsxs("div",{className:[wi.exchangeContainer,"content","narrow","isVerticallyCentered"].join(" "),children:[r.jsx("h1",{className:wi.title,children:n("buy.title",{name:D})}),r.jsx("p",{className:wi.label,children:n("buy.exchange.region")}),p.length?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:wi.selectContainer,children:[r.jsx(nae,{onChangeRegion:I,regions:p,selectedRegion:l}),r.jsx(e1,{onClick:()=>y("region")})]}),r.jsxs("div",{className:wi.radioButtonsContainer,children:[E&&r.jsx("p",{className:wi.noExchangeText,children:n("buy.exchange.noExchanges")}),r.jsx("div",{children:!E&&m&&m.exchanges.map(N=>N.supported&&r.jsx(_ne,{id:N.exchangeName,exchangeName:N.exchangeName,deals:N.deals,checked:u===N.exchangeName,onChange:()=>d(N.exchangeName),onClickInfoButton:y},N.exchangeName))}),!E&&r.jsxs("div",{className:wi.buttonsContainer,children:[b.length>1&&r.jsx(_,{className:wi.buttonBack,secondary:!0,onClick:()=>le("/buy/info"),children:n("button.back")}),r.jsx(_,{primary:!0,disabled:!u,onClick:P,children:n("button.next")})]})]})]}):r.jsx(Cn,{guideExists:!0})]})]})]}),r.jsx(Pd,{name:D})]})};var Xn={},dn={};Object.defineProperty(dn,"__esModule",{value:!0});dn.isOneOf=dn.isLiteral=dn.isNullish=dn.isBoolean=dn.isString=dn.isObject=void 0;function iae(t){return Object(t)===t}dn.isObject=iae;function oae(t){return typeof t=="string"}dn.isString=oae;function rae(t){return typeof t=="boolean"}dn.isBoolean=rae;function sae(t){return t==null}dn.isNullish=sae;function lae(t,e){return t===e}dn.isLiteral=lae;function cae(t,...e){return e.some(n=>n===t)}dn.isOneOf=cae;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.parseMessage=t.serializeMessage=t.V0MessageScriptType=t.V0MessageType=t.MessageVersion=void 0;const e=dn;var n;(function(l){l.V0="0"})(n=t.MessageVersion||(t.MessageVersion={}));var a;(function(l){l.RequestAddress="requestAddress",l.RequestExtendedPublicKey="requestExtendedPublicKey",l.VerifyAddress="verifyAddress",l.Address="address",l.ExtendedPublicKey="extendedPublicKey"})(a=t.V0MessageType||(t.V0MessageType={}));var i;(function(l){l.P2PKH="p2pkh",l.P2WPKH="p2wpkh",l.P2SH="p2sh",l.P2TR="p2tr"})(i=t.V0MessageScriptType||(t.V0MessageScriptType={}));function o(l){return JSON.stringify(l)}t.serializeMessage=o;function s(l){let c=l;if(typeof c=="string")try{c=JSON.parse(c)}catch{throw new Error("could not parse as json")}if(!(0,e.isObject)(c))throw new Error("not an object");const{version:u}=c;if((0,e.isLiteral)(u,n.V0)){const{type:d}=c;if(!(0,e.isOneOf)(d,...Object.values(a)))throw new Error("invalid type");if(d===a.RequestAddress){const{withMessageSignature:p}=c;if(!(0,e.isString)(p)&&!(0,e.isNullish)(p))throw new Error("message signature indicator invalid");const{withExtendedPublicKey:h}=c;if(!(0,e.isBoolean)(h)&&!(0,e.isNullish)(h))throw new Error("extended public key indicator invalid");const{withScriptType:m}=c;if(!(0,e.isOneOf)(m,...Object.values(i))&&!(0,e.isNullish)(m))throw new Error("script type indicator invalid");return{version:u,type:d,withMessageSignature:p,withExtendedPublicKey:h,withScriptType:m}}else if(d===a.RequestExtendedPublicKey){const{withScriptType:p}=c;if(!(0,e.isOneOf)(p,...Object.values(i))&&!(0,e.isNullish)(p))throw new Error("script type indicator invalid");return{version:u,type:d,withScriptType:p}}else if(d===a.VerifyAddress){const{bitcoinAddress:p}=c;if(!(0,e.isString)(p))throw new Error("bitcoin address missing");return{version:u,type:d,bitcoinAddress:p}}else if(d===a.Address){const{bitcoinAddress:p}=c;if(!(0,e.isString)(p))throw new Error("bitcoin address missing");const{signature:h}=c;if(!(0,e.isString)(h)&&!(0,e.isNullish)(h))throw new Error("signature invalid");const{extendedPublicKey:m}=c;if(!(0,e.isString)(m)&&!(0,e.isNullish)(m))throw new Error("extended public key invalid");return{version:u,type:d,bitcoinAddress:p,signature:h,extendedPublicKey:m}}else if(d===a.ExtendedPublicKey){const{extendedPublicKey:p}=c;if(!(0,e.isString)(p))throw new Error("extended public key missing");return{version:u,type:d,extendedPublicKey:p}}else throw new Error("unsupported type")}throw new Error("unsupported version")}t.parseMessage=s})(Xn);const uae="_overlay_12k4v_1",dae="_activeOverlay_12k4v_16",pae="_modal_12k4v_20",hae="_activeModal_12k4v_32",mae="_active_12k4v_16",fae="_small_12k4v_38",gae="_medium_12k4v_43",vae="_large_12k4v_49",bae="_header_12k4v_54",kae="_centered_12k4v_64",xae="_title_12k4v_68",yae="_closeButton_12k4v_74",wae="_contentContainer_12k4v_95",jae="_slim_12k4v_101",Bae="_padded_12k4v_105",Sae="_content_12k4v_95",zae="_actions_12k4v_113",Cae="_confirmationLabel_12k4v_131",Dae="_confirmationLabelNumber_12k4v_140",Aae="_disabledLabel_12k4v_146",_ae="_noStep_12k4v_151",Tae="_confirmationInstructions_12k4v_155",Eae="_confirm_12k4v_131",Pae="_image_12k4v_175",Nae="_modalContent_12k4v_180",Lae="_detail_12k4v_189",Iae="_description_12k4v_213",$ae="_buttons_12k4v_217",Mae="_dialogButtons_12k4v_229",ft={overlay:uae,activeOverlay:dae,modal:pae,activeModal:hae,active:mae,small:fae,medium:gae,large:vae,header:bae,centered:kae,title:xae,closeButton:yae,contentContainer:wae,slim:jae,padded:Bae,content:Sae,actions:zae,confirmationLabel:Cae,confirmationLabelNumber:Dae,disabledLabel:Aae,noStep:_ae,confirmationInstructions:Tae,confirm:Eae,image:Pae,modalContent:Nae,detail:Lae,description:Iae,buttons:$ae,dialogButtons:Mae};class fa extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.modalContent=x.createRef(),this.state={active:!1,currentTab:0},this.handleFocus=e=>{const a=e.target.getAttribute("index");this.setState({currentTab:Number(a)})},this.focusWithin=()=>{if(this.modalContent.current){this.focusableChildren=this.modalContent.current.querySelectorAll("a, button, input, textarea");const e=Array.from(this.focusableChildren);for(const n of e)n.classList.add("tabbable"),n.setAttribute("index",e.indexOf(n).toString()),n.addEventListener("focus",this.handleFocus);document.addEventListener("keydown",this.handleKeyDown)}},this.focusFirst=()=>{const e=this.focusableChildren;e.length&&e[0].getAttribute("autofocus")!=="false"&&e[0].focus()},this.updateIndex=e=>{const n=this.getNextIndex(e);this.setState({currentTab:n},()=>{this.focusableChildren[n].focus()})},this.handleKeyDown=e=>{const{disableEscape:n}=this.props,a=e.keyCode===27,i=e.keyCode===9;!n&&a?this.deactivate():i&&e.preventDefault(),i&&e.shiftKey?this.updateIndex(!1):i&&this.updateIndex(!0)},this.deactivate=()=>{!this.modal.current||!this.overlay.current||(this.modal.current.classList.remove(ft.activeModal),this.overlay.current.classList.remove(ft.activeOverlay),this.setState({active:!1,currentTab:0},()=>{document.removeEventListener("keydown",this.handleKeyDown),this.props.onClose&&this.props.onClose()}))},this.activate=()=>{this.setState({active:!0},()=>{!this.modal.current||!this.overlay.current||(this.overlay.current.classList.add(ft.activeOverlay),this.modal.current.classList.add(ft.activeModal),this.focusWithin(),this.focusFirst())})}}componentDidMount(){setTimeout(this.activate,10)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}getNextIndex(e){const{currentTab:n}=this.state,a=Array.from(this.focusableChildren),i=e?a:a.reverse(),o=e?n:i.length-1-n;let s=e?n+1:i.length-n;return s=i.findIndex((l,c)=>c>=s&&!l.hasAttribute("disabled")),s=s<0?i.findIndex((l,c)=>c<=o&&!l.hasAttribute("disabled")):s,e?s:i.length-1-s}render(){const{title:e,small:n,medium:a,large:i,slim:o,centered:s,onClose:l,disabledClose:c,children:u}=this.props,d=n?ft.small:"",p=a?ft.medium:"",h=i?ft.large:"",m=o?ft.slim:"",g=s&&!l?ft.centered:"";return r.jsx("div",{className:ft.overlay,ref:this.overlay,children:r.jsxs("div",{className:[ft.modal,d,p,h].join(" "),ref:this.modal,children:[e&&r.jsxs("div",{className:[ft.header,g].join(" "),children:[r.jsx("h3",{className:ft.title,children:e}),l?r.jsxs("button",{className:ft.closeButton,onClick:this.deactivate,disabled:c,children:[r.jsx(jj,{className:"show-in-lightmode"}),r.jsx(El,{className:"show-in-darkmode"})]}):null]}),r.jsx("div",{className:[ft.contentContainer,m].join(" "),ref:this.modalContent,children:r.jsx("div",{className:ft.content,children:u})})]})})}}function so({children:t}){return r.jsx("div",{className:ft.dialogButtons,children:t})}let Vo;const Oae=()=>{const[t,e]=x.useState({active:!1}),{t:n}=A(),a=x.useRef(()=>{});Vo=(c,u,d)=>{a.current=u,e({active:!0,message:c,customButtonText:d})};const i=c=>{a.current(c),e({active:!1})},{message:o,active:s,customButtonText:l}=t;return s?r.jsxs(fa,{title:n("dialog.confirmTitle"),onClose:()=>i(!1),children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsx("div",{className:"column",children:o?o.split(` +`).map((c,u)=>r.jsx("p",{className:u===0?"first":"",children:r.jsx(Qe,{tagName:"span",markup:c})},u)):null})})}),r.jsxs(so,{children:[r.jsx(_,{primary:!0,onClick:()=>i(!0),children:l||n("dialog.confirm")}),r.jsx(_,{secondary:!0,onClick:()=>i(!1),children:n("dialog.cancel")})]})]}):null},Rae=({onAgreedTerms:t})=>{const{t:e}=A(),n=a=>{at({frontend:{skipPocketDisclaimer:a.target.checked}})};return r.jsxs("div",{className:Kt.disclaimerContainer,children:[r.jsxs("div",{className:Kt.disclaimer,children:[r.jsx("h2",{className:Kt.title,children:e("buy.pocket.welcome.title")}),r.jsx("p",{children:e("buy.pocket.welcome.p1")}),r.jsx("p",{children:e("buy.pocket.welcome.p2")}),r.jsx("p",{children:e("buy.pocket.welcome.p3")}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.payment.title")}),r.jsx("p",{children:e("buy.pocket.payment.p1")}),r.jsx("p",{children:e("buy.pocket.payment.p2")}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.security.title")}),r.jsx("p",{children:e("buy.pocket.security.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://bitbox.swiss/bitbox02/threat-model/",children:e("buy.pocket.security.link")})}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.kyc.title")}),r.jsx("p",{children:e("buy.pocket.kyc.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq",children:e("buy.pocket.kyc.link")})}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.data.title")}),r.jsx("p",{children:e("buy.pocket.data.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/policy/privacy",children:e("buy.pocket.data.link")})})]}),r.jsx("div",{className:"text-center m-bottom-quarter",children:r.jsx(Ve,{id:"skip_disclaimer",label:e("buy.info.skip"),onChange:n})}),r.jsx("div",{className:"buttons text-center m-bottom-xlarge",children:r.jsx(_,{primary:!0,onClick:t,children:e("buy.info.continue")})})]})},Fae=({code:t})=>{const{t:e}=A(),[n,a]=x.useState(0),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),d=me(XZ),p=me(Bt),h=me(Jj(t)),m=x.createRef(),g=x.createRef();let v=!1,y;const b="Bitcoin";x.useEffect(()=>{p&&l(p.frontend.skipPocketDisclaimer)},[p]),x.useEffect(()=>(k(),window.addEventListener("resize",k),window.addEventListener("message",B),()=>{window.removeEventListener("resize",k),window.removeEventListener("message",B)}));const k=()=>{y&&clearTimeout(y),y=setTimeout(()=>{m.current&&a(m.current.offsetHeight)},200)},w=(D,C)=>{var E;const{current:P}=g;if(!P)return;const I=Xn.serializeMessage({version:Xn.MessageVersion.V0,type:Xn.V0MessageType.Address,bitcoinAddress:D,signature:C});(E=P.contentWindow)==null||E.postMessage(I,"*")},j=D=>{v=!0;const C=D.withScriptType?String(D.withScriptType):"",P=D.withMessageSignature?D.withMessageSignature:"";ZZ(C,P,t).then(I=>{v=!1,I.success?w(I.address,I.signature):I.errorCode!=="userAbort"&&(J(e("unknownError",{errorMessage:I.errorMessage})),console.log("error: "+I.errorMessage))})},z=D=>{u(!0),JZ(D,t).then(C=>{u(!1),C.success||(C.errorCode==="addressNotFound"?J(e("buy.pocket.usedAddress",{address:D})):(J(e("unknownError",{errorMessage:C.errorMessage})),console.log("error: "+C.errorMessage)))})},S=()=>{var D;if(h){const C=h.signingConfigurations[0].bitcoinSimple;if(C){const P=C.keyInfo.xpub,{current:I}=g;if(!I)return;const E=Xn.serializeMessage({version:Xn.MessageVersion.V0,type:Xn.V0MessageType.ExtendedPublicKey,extendedPublicKey:P});(D=I.contentWindow)==null||D.postMessage(E,"*")}}},f=()=>{eB(t).then(D=>{if(!D.success){J(e("transactions.errorLoadTransactions"));return}D.list.length>0?Vo(e("buy.pocket.previousTransactions"),C=>{C&&S()}):S()})},B=D=>{if(!(!d||!t)&&D.origin===new URL(d).origin)try{const C=Xn.parseMessage(D.data);switch(C.type){case Xn.V0MessageType.RequestAddress:v||j(C);break;case Xn.V0MessageType.VerifyAddress:c||z(C.bitcoinAddress);break;case Xn.V0MessageType.RequestExtendedPublicKey:f()}}catch(C){console.log(C)}};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx("div",{className:Pr.header,children:r.jsx(xe,{title:r.jsx("h2",{children:e("buy.info.title",{name:b})})})}),r.jsxs("div",{ref:m,className:Pr.container,children:[s?r.jsxs("div",{style:{height:n},children:[!i&&r.jsx(Cn,{guideExists:!1,text:e("loading")}),r.jsx("iframe",{onLoad:()=>{o(!0)},ref:g,title:"Pocket",width:"100%",height:n,frameBorder:"0",className:Pr.iframe,allow:"camera; payment",src:d})]}):r.jsx(Rae,{onAgreedTerms:()=>l(!0)}),r.jsx(qe,{open:c,title:e("receive.verifyBitBox02"),disableEscape:!0,medium:!0,centered:!0,children:r.jsx("div",{className:"text-center",children:e("buy.pocket.verifyBitBox02")})})]})]}),r.jsx(Pd,{name:b,exchange:"pocket"})]})},Fg=t=>{x.useEffect(()=>{const e=n=>{n.key==="Escape"&&t()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t])},Vae="_button_1djzh_1",Wae="_success_1djzh_34",Uae="_container_1djzh_38",qae="_inputField_1djzh_42",Hae="_flexibleHeight_1djzh_72",Kae="_alignLeft_1djzh_76",Gae="_alignRight_1djzh_80",Qae="_borderLess_1djzh_84",ji={button:Vae,success:Wae,container:Uae,inputField:qae,flexibleHeight:Hae,alignLeft:Kae,alignRight:Gae,borderLess:Qae},Ia=({alignLeft:t,alignRight:e,borderLess:n,value:a,className:i,disabled:o,flexibleHeight:s})=>{const[l,c]=x.useState(!1),{t:u}=A(),d=x.useRef(null);x.useEffect(()=>{p()},[]),x.useEffect(()=>{l&&setTimeout(()=>c(!1),1500)},[l]);const p=()=>{const g=d.current;if(!g)return;const v=window.getComputedStyle(g,null).getPropertyValue("font-size"),y=Number(v.replace("px",""))+2;g.setAttribute("rows","1"),g.setAttribute("rows",String(Math.round(g.scrollHeight/y-2)))},h=g=>{g.currentTarget.focus()},m=()=>{var g;(g=d.current)==null||g.select(),document.execCommand("copy")&&c(!0)};return r.jsxs("div",{className:["flex flex-row flex-start flex-items-start",ji.container,i||""].join(" "),children:[r.jsx("textarea",{disabled:o,readOnly:!0,onFocus:h,value:a,ref:d,rows:1,className:[ji.inputField,s&&ji.flexibleHeight,t&&ji.alignLeft,e&&ji.alignRight,n&&ji.borderLess].join(" ")}),o?null:r.jsx("button",{onClick:m,className:[ji.button,l&&ji.success,"ignore"].join(" "),title:u("button.copy"),children:l?r.jsx(yj,{}):r.jsx(K7,{})})]})},Yae="_empty_gzy3c_1",Ok={empty:Yae},Ja=({data:t,size:e=256})=>{const n=me(t!==void 0?BQ(t):null,[t]);return n?n.success?r.jsx("img",{width:e,height:e,src:n.data}):r.jsx("div",{children:n.message}):t!==void 0?r.jsx("div",{className:Ok.empty}):r.jsx("svg",{className:Ok.empty,style:{verticalAlign:"middle",fill:"currentColor",overflow:"hidden"},viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:r.jsx("path",{d:"M433.282171 47.939849 94.944396 47.939849c-23.327288 0-42.304502 18.975167-42.304502 42.300408l0 338.341868c0 23.324218 18.977213 42.300408 42.304502 42.300408L433.282171 470.882534c23.324218 0 42.300408-18.97619 42.300408-42.300408L475.582579 90.240257C475.581556 66.915016 456.606389 47.939849 433.282171 47.939849zM438.742533 428.582125c0 3.01159-2.449795 5.461385-5.461385 5.461385L94.944396 434.04351c-3.013637 0-5.465478-2.450818-5.465478-5.461385L89.478917 90.240257c0-3.01159 2.451842-5.461385 5.465478-5.461385L433.282171 84.778872c3.01159 0 5.461385 2.449795 5.461385 5.461385L438.743556 428.582125zM322.914504 173.887352l-117.608581 0c-14.733563 0-26.719548 11.985986-26.719548 26.719548l0 117.608581c0 14.735609 11.985986 26.724665 26.719548 26.724665l117.608581 0c14.735609 0 26.724665-11.989055 26.724665-26.724665l0-117.608581C349.640192 185.873338 337.651137 173.887352 322.914504 173.887352zM312.801169 308.101123l-97.374748 0 0-97.374748 97.374748 0L312.801169 308.101123zM322.914504 675.606195l-117.608581 0c-14.733563 0-26.719548 11.989055-26.719548 26.724665l0 117.608581c0 14.732539 11.985986 26.719548 26.719548 26.719548l117.608581 0c14.735609 0 26.724665-11.987009 26.724665-26.719548l0-117.608581C349.640192 687.59525 337.651137 675.606195 322.914504 675.606195zM312.801169 809.819966l-97.374748 0 0-97.374748 97.374748 0L312.801169 809.819966zM699.123818 344.940147l117.608581 0c14.735609 0 26.724665-11.989055 26.724665-26.724665l0-117.608581c0-14.733563-11.989055-26.719548-26.724665-26.719548l-117.608581 0c-14.732539 0-26.719548 11.985986-26.719548 26.719548l0 117.608581C672.40427 332.951091 684.391279 344.940147 699.123818 344.940147zM709.243293 210.726376l97.374748 0 0 97.374748-97.374748 0L709.243293 210.726376zM433.282171 546.435277 94.944396 546.435277c-23.327288 0-42.304502 18.97619-42.304502 42.300408L52.639894 927.077553c0 23.325241 18.977213 42.301432 42.304502 42.301432L433.282171 969.378985c23.324218 0 42.300408-18.97619 42.300408-42.301432L475.582579 588.735685C475.581556 565.411467 456.606389 546.435277 433.282171 546.435277zM438.742533 927.077553c0 3.01159-2.449795 5.462408-5.461385 5.462408L94.944396 932.539962c-3.013637 0-5.465478-2.450818-5.465478-5.462408L89.478917 588.735685c0-3.010567 2.451842-5.461385 5.465478-5.461385L433.282171 583.2743c3.01159 0 5.461385 2.450818 5.461385 5.461385L438.743556 927.077553zM590.849836 547.776831c-23.325241 0-42.301432 18.978237-42.301432 42.305525l0 194.649212c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512L585.387427 590.082356c0-3.013637 2.450818-5.466502 5.462408-5.466502l204.825992 0c10.172687 0 18.419512-8.246825 18.419512-18.419512s-8.246825-18.419512-18.419512-18.419512L590.849836 547.776831zM588.757175 470.882534l338.341868 0c23.325241 0 42.301432-18.97619 42.301432-42.300408L969.400474 90.240257c0-23.324218-18.97619-42.300408-42.301432-42.300408L588.757175 47.939849c-23.324218 0-42.300408 18.975167-42.300408 42.300408l0 338.341868C546.456766 451.906343 565.432956 470.882534 588.757175 470.882534zM583.295789 90.240257c0-3.01159 2.450818-5.461385 5.461385-5.461385l338.341868 0c3.01159 0 5.462408 2.449795 5.462408 5.461385l0 338.341868c0 3.01159-2.450818 5.461385-5.462408 5.461385L588.757175 434.04351c-3.010567 0-5.461385-2.450818-5.461385-5.461385L583.295789 90.240257zM969.676767 566.196343c0-10.172687-8.246825-18.419512-18.419512-18.419512l-67.50444 0c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l49.084928 0 0 71.009264L779.708158 655.625118c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l171.549098 0c10.172687 0 18.419512-8.246825 18.419512-18.419512 0-0.076748-0.010233-0.151449-0.011256-0.228197 0.001023-0.076748 0.011256-0.150426 0.011256-0.228197L969.676767 566.196343zM630.202099 933.142689l-44.813648 0 0-51.2922c0-10.172687-8.246825-18.419512-18.419512-18.419512s-18.419512 8.246825-18.419512 18.419512l0 69.711711c0 10.172687 8.246825 18.419512 18.419512 18.419512l63.23316 0c10.172687 0 18.419512-8.246825 18.419512-18.419512S640.374786 933.142689 630.202099 933.142689zM834.04981 790.359752c0-10.172687-8.246825-18.419512-18.419512-18.419512L699.257871 771.940241c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 163.013701c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512L717.677383 808.779264 815.630299 808.779264C825.802986 808.779264 834.04981 800.532439 834.04981 790.359752zM951.060781 723.425294c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 194.301288L765.943666 936.146093c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l185.117115 0c10.172687 0 18.419512-8.246825 18.419512-18.419512L969.480292 741.844805C969.480292 731.672118 961.234491 723.425294 951.060781 723.425294zM655.979182 623.620194c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 59.869552c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512l0-59.869552C674.398694 631.867018 666.151869 623.620194 655.979182 623.620194z"})})},Zae="_title_nnme6_1",Jae="_nextButton_nnme6_6",Xae="_details_nnme6_17",eie="_qrCode_nnme6_22",tie="_address_nnme6_32",nie="_buttons_nnme6_35",aie="_verifyButton_nnme6_42",iie="_entry_nnme6_46",oie="_xPubInfo_nnme6_55",rie="_infoContent_nnme6_82",sie="_largeEntry_nnme6_86",lie="_addressField_nnme6_96",Ht={title:Zae,nextButton:Jae,details:Xae,qrCode:eie,address:tie,buttons:nie,verifyButton:aie,entry:iie,xPubInfo:oie,infoContent:rie,largeEntry:sie,addressField:lie},cie=({account:t,info:e,code:n,signingConfigIndex:a,children:i})=>{const{t:o}=A(),[s,l]=x.useState(!1),u=(()=>e.bitcoinSimple!==void 0?e.bitcoinSimple:e.ethereumSimple)(),d=La(t.coinCode);return r.jsxs("div",{className:Ht.address,children:[r.jsx("div",{className:Ht.qrCode,children:d?r.jsx(Ja,{data:u.keyInfo.xpub}):null}),r.jsxs("div",{className:Ht.details,children:[t.isToken?null:r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[o("accountSummary.name"),":"]}),r.jsx("span",{children:t.name})]},"accountname"),r.jsxs("div",{className:Ht.entry,children:[r.jsx("strong",{children:"Keypath:"}),r.jsx("code",{children:u.keyInfo.keypath})]},"keypath"),"scriptType"in u?r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[o("accountInfo.scriptType"),":"]}),r.jsx("span",{children:Td(u.scriptType)})]},"scriptName"):null,r.jsxs("div",{className:Ht.entry,children:[r.jsx("strong",{children:"Root fingerprint:"}),r.jsx("code",{children:u.keyInfo.rootFingerprint})]},"rootFingerprint"),r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[t.isToken?"Token":"Coin",":"]}),r.jsxs("span",{children:[t.coinName," (",t.coinUnit,")"]})]},"coinName"),d?r.jsxs("div",{className:`${Ht.entry} ${Ht.largeEntry}`,children:[r.jsxs("strong",{className:"m-right-half",children:[o("accountInfo.extendedPublicKey"),":"]}),r.jsx(Ia,{className:"flex-grow",alignLeft:!0,flexibleHeight:!0,value:u.keyInfo.xpub})]},"xpub"):null]}),r.jsxs("div",{className:Ht.buttons,children:[d?r.jsx(_,{className:Ht.verifyButton,primary:!0,disabled:s,onClick:async()=>{l(!0);try{const p=await JQ(n,a);p.success||J(p.errorMessage)}finally{l(!1)}},children:o("accountInfo.verify")}):r.jsx(_,{className:Ht.verifyButton,primary:!0,onClick:()=>le(`/account/${n}/receive`),children:o("receive.verify")}),i]})]})};function uie({coinName:t}){const{t:e}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:e("guide.accountInfo.xpub"),shown:!0},"guide.accountInfo.xpub"),r.jsx(W,{entry:{text:e("guide.accountInfo.multipleXPubs.text",{coinName:t}),title:e("guide.accountInfo.multipleXPubs.title")}},"guide.accountInfo.multipleXPubs"),r.jsx(W,{entry:e("guide.accountInfo.privacy")},"guide.accountInfo.privacy"),r.jsx(W,{entry:e("guide.accountInfo.verify")},"guide.accountInfo.verify")]})}const die=({accounts:t,code:e})=>{const{t:n}=A(),a=me(Jj(e)),[i,o]=x.useState(0),s=t.find(({code:p})=>p===e);if(Fg(()=>le(`/account/${e}`)),!s||!a)return null;const l=a.signingConfigurations[i],c=a.signingConfigurations.length,u=a.signingConfigurations.map(p=>{var h;return(h=p.bitcoinSimple)==null?void 0:h.scriptType}),d=()=>{if(!a)return;const p=a.signingConfigurations.length;o((i+1)%p)};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("accountInfo.title")})}),r.jsx("div",{className:"content padded",children:r.jsxs("div",{className:"box larger",children:[La(s.coinCode)?r.jsx("h2",{className:Ht.title,children:n("accountInfo.extendedPublicKey")}):null,l.bitcoinSimple!==void 0&&c>1?r.jsxs("p",{className:Ht.xPubInfo,children:[n("accountInfo.xpubTypeInfo",{current:`${i+1}`,numberOfXPubs:c.toString(),scriptType:l.bitcoinSimple.scriptType.toUpperCase()}),r.jsx("br",{}),r.jsx("button",{className:Ht.nextButton,onClick:d,children:n(`accountInfo.xpubTypeChangeBtn.${u[(i+1)%c]}`)})]}):null,r.jsx(cie,{account:s,code:e,info:l,signingConfigIndex:i,children:r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:n("button.back")})},i)]})})]})}),La(s.coinCode)?r.jsx(uie,{coinName:s.coinName}):null]})};function a1({hasMultipleAddresses:t,hasDifferentFormats:e}){const{t:n}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.receive.address")},"guide.receive.address"),r.jsx(W,{entry:n("guide.receive.whyVerify")},"guide.receive.whyVerify"),r.jsx(W,{entry:n("guide.receive.howVerify")},"guide.receive.howVerify"),r.jsx(W,{entry:n("guide.receive.plugout")},"guide.receive.plugout"),t&&r.jsxs(r.Fragment,{children:[r.jsx(W,{entry:n("guide.receive.whyMany")},"guide.receive.whyMany"),r.jsx(W,{entry:n("guide.receive.why20")},"guide.receive.why20"),r.jsx(W,{entry:n("guide.receive.addressChange")},"guide.receive.addressChange"),e&&r.jsx(W,{entry:n("guide.receive.addressFormats")},"guide.receive.addressFormats")]})]})}const pie="_labels_1m4jx_1",hie="_label_1m4jx_1",mie="_qrCodeContainer_1m4jx_17",fie="_arrowLeft_1m4jx_22",gie="_arrowRight_1m4jx_23",vie="_previous_1m4jx_37",bie="_next_1m4jx_38",kie="_hide_1m4jx_49",xie="_changeType_1m4jx_58",cn={labels:pie,label:hie,qrCodeContainer:mie,arrowLeft:fie,arrowRight:gie,previous:vie,next:bie,hide:kie,changeType:xie},yie=["p2wpkh","p2tr","p2wpkh-p2sh"],Rk=(t,e)=>t?t.findIndex(n=>n.scriptType!==null&&e===n.scriptType):-1,wie=({accounts:t,code:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(0),[l,c]=x.useState(0),[u,d]=x.useState(),[p,h]=x.useState(),[m,g]=x.useState(0),v=t.find(({code:C})=>C===e),y=me(Ed(e)),b=x.useRef(),k=b.current&&b.current.length>1,w=!!(u&&k);Fg(()=>!w&&!a&&le(`/account/${e}`)),x.useEffect(()=>{y&&(b.current=yie.filter(C=>Rk(y,C)>=0))},[y]),x.useEffect(()=>{if(y&&b.current){let C=b.current.length>0?Rk(y,b.current[l]):0;C===-1&&(C=0),g(C),h(y[C].addresses)}},[l,b,y]);const j=C=>{u&&(C.preventDefault(),s(0),c(u.addressType),d(void 0))},z=async C=>{if(!y||e===void 0||!(await fl(e)).success)return;if(!(await tB(e)()).hasSecureOutput){i("insecure");return}i("secure");try{await jg(e,y[C].addresses[o].addressID)}finally{i(!1)}},S=C=>{C.preventDefault(),!a&&o>0&&s(o-1)},f=(C,P)=>{C.preventDefault(),!a&&o1&&r.jsx("button",{className:cn.previous,onClick:S,children:a||o===0?r.jsx(vj,{height:"24",width:"24"}):r.jsx(bj,{height:"24",width:"24",title:n("button.previous")})}),r.jsxs("p",{className:cn.label,children:[n("receive.label")," ",p.length>1?`(${o+1}/${p.length})`:""]}),p.length>1&&r.jsx("button",{className:cn.next,onClick:C=>f(C,p.length),children:a||o>=p.length-1?r.jsx(kj,{height:"24",width:"24"}):r.jsx(xj,{height:"24",width:"24",title:n("button.next")})})]}),r.jsx(Ia,{disabled:!0,value:D,flexibleHeight:!0}),k&&r.jsx("button",{className:cn.changeType,onClick:()=>d(u?void 0:{addressType:l}),children:n("receive.changeScriptType")}),r.jsx("form",{onSubmit:j,children:r.jsxs(qe,{open:w,onClose:()=>d(void 0),medium:!0,title:n("receive.changeScriptType"),children:[b.current&&b.current.map((C,P)=>r.jsx("div",{children:u&&r.jsxs(r.Fragment,{children:[r.jsx(yg,{checked:u.addressType===P,id:C,name:"scriptType",onChange:()=>d({addressType:P}),title:Td(C),children:n(`receive.scriptType.${C}`)}),C==="p2tr"&&u.addressType===P&&r.jsx(nn,{type:"warning",children:n("receive.taprootWarning")})]})},C)),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:n("button.done")})})]})}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{disabled:a!==!1,onClick:()=>z(m),primary:!0,children:n("receive.verifyBitBox02")}),r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:n("button.back")})]}),a&&r.jsx("div",{className:cn.hide}),r.jsx(qe,{open:!!(v&&a),title:n("receive.verifyBitBox02"),disableEscape:a==="secure",onClose:a==="insecure"?()=>{i(!1)}:void 0,medium:!0,centered:!0,children:v&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"text-center",children:[Fo(v.coinCode)&&r.jsxs("p",{children:[r.jsx("strong",{children:n("receive.onlyThisCoin.warning",{coinName:v.coinName})}),r.jsx("br",{}),n("receive.onlyThisCoin.description")]}),r.jsx(Ja,{data:B+D}),r.jsx("p",{children:n("receive.verifyInstruction")})]}),r.jsx("div",{className:"m-bottom-half",children:r.jsx(Ia,{value:D,flexibleHeight:!0})})]})})]})})})]})}),r.jsx(a1,{hasMultipleAddresses:p?p.length>1:!1,hasDifferentFormats:y?y.length>1:!1})]})},jie=()=>Z("devices/registered"),Bie=t=>()=>Z(`devices/${t}/has-mobile-channel`),Sie="_container_1ooxc_1",zie="_withCloseBtn_1ooxc_7",Cie="_status_1ooxc_15",Die="_success_1ooxc_21",Aie="_warning_1ooxc_25",_ie="_info_1ooxc_29",Tie="_close_1ooxc_42",ir={container:Sie,withCloseBtn:zie,status:Cie,success:Die,warning:Aie,info:_ie,"close-success":"_close-success_1ooxc_42","close-warning":"_close-warning_1ooxc_46","close-info":"_close-info_1ooxc_50",close:Tie},an=({hidden:t,type:e="warning",dismissible:n,className:a,children:i})=>{const[o,s]=x.useState(!n),l=x.useCallback(async()=>{if(n){const u=await Bt();s(u?!u.frontend[n]:!0)}},[n]);x.useEffect(()=>{l()},[l]);const c=async()=>{n&&(at({frontend:{[n]:!0}}),s(!1))};return t||!o?null:r.jsx("div",{className:[ir.container,ir[e],a||"",n?ir.withCloseBtn:""].join(" "),children:r.jsxs("div",{className:ir.status,children:[i,r.jsx("button",{hidden:!n,className:`${ir.close} ${ir[`close-${e}`]}`,onClick:c,children:r.jsx(El,{})})]})})},Eie=({deviceID:t})=>{const{t:e}=A(),n=me(Bie(t));return n?null:r.jsx(an,{type:"warning",hidden:n!==!1,children:e("warning.receivePairing")})},i1=t=>{const{t:e}=A();return e(t==="bitbox"?"receive.verifyBitBox01":t==="bitbox02"?"receive.verifyBitBox02":"receive.verify")},Pie=({device:t,forceVerification:e,...n})=>{const{t:a}=A(),i=i1(t);return r.jsx(_,{primary:!0,...n,children:e?a("receive.showFull"):i})},Nie=["p2wpkh","p2tr","p2wpkh-p2sh"],Fk=(t,e)=>t?t.findIndex(n=>n.scriptType!==null&&e===n.scriptType):-1,Lie=({accounts:t,code:e,deviceID:n})=>{const{t:a}=A(),[i,o]=x.useState(!1),[s,l]=x.useState(0),[c,u]=x.useState(0),[d,p]=x.useState(),[h,m]=x.useState(),[g,v]=x.useState(0),y=t.find(({code:E})=>E===e),b=i1("bitbox"),k=me(Ed(e)),w=me(tB(e));Fg(()=>!i&&le(`/account/${e}`));const j=x.useRef();x.useEffect(()=>{k&&(j.current=Nie.filter(E=>Fk(k,E)>=0))},[k]),x.useEffect(()=>{if(k&&j.current){let E=j.current.length>0?Fk(k,j.current[c]):0;E===-1&&(E=0),v(E),m(k[E].addresses)}},[c,j,k]);const z=E=>{if(k&&w){if(e===void 0)return;if(!w.hasSecureOutput){J(a("receive.warning.secureOutput"));return}o(!0),jg(e,k[E].addresses[s].addressID).then(()=>o(!1))}},S=E=>{E.preventDefault(),!i&&s>0&&l(s-1)},f=(E,L)=>{E.preventDefault(),!i&&s1;return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(Eie,{deviceID:n}),r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:a("receive.title",{accountName:y==null?void 0:y.coinName})})}),r.jsx("div",{className:"content narrow isVerticallyCentered",children:r.jsx("div",{className:"box large text-center",children:h&&r.jsxs("div",{style:{position:"relative"},children:[r.jsx("div",{className:cn.qrCodeContainer,children:r.jsx(Ja,{data:D?C+P:void 0})}),r.jsxs("div",{className:cn.labels,children:[h.length>1&&r.jsx("button",{className:cn.previous,onClick:S,children:i||s===0?r.jsx(vj,{height:"24",width:"24"}):r.jsx(bj,{height:"24",width:"24",title:a("button.previous")})}),r.jsxs("p",{className:cn.label,children:[a("receive.label")," ",h.length>1?`(${s+1}/${h.length})`:""]}),h.length>1&&r.jsx("button",{className:cn.next,onClick:E=>f(E,h.length),children:i||s>=h.length-1?r.jsx(kj,{height:"24",width:"24"}):r.jsx(xj,{height:"24",width:"24",title:a("button.next")})})]}),r.jsx(Ia,{disabled:!D,value:P,flexibleHeight:!0}),I&&r.jsx("button",{className:cn.changeType,onClick:()=>p(d?void 0:{addressType:c}),children:a("receive.changeScriptType")}),r.jsx("form",{onSubmit:E=>{E.preventDefault(),l(0),u(d?d==null?void 0:d.addressType:c),p(void 0)},children:r.jsxs(qe,{open:!!d,medium:!0,title:a("receive.changeScriptType"),children:[j.current&&j.current.map((E,L)=>r.jsx("div",{children:d&&r.jsxs(r.Fragment,{children:[r.jsx(yg,{checked:d.addressType===L,id:E,name:"scriptType",onChange:()=>p({addressType:L}),title:Td(E),children:a(`receive.scriptType.${E}`)}),E==="p2tr"&&d.addressType===L&&r.jsx(nn,{type:"warning",children:a("receive.taprootWarning")})]})},E)),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:a("button.done")})})]})}),r.jsxs("div",{className:"buttons",children:[r.jsx(Pie,{device:"bitbox",disabled:i||w===void 0,forceVerification:B,onClick:()=>z(g)}),r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:a("button.back")})]}),B&&i&&r.jsx("div",{className:cn.hide}),r.jsxs(qe,{open:!!y&&B&&i,title:b,disableEscape:!0,medium:!0,centered:!0,children:[r.jsx("div",{className:"text-center",children:y&&r.jsxs(r.Fragment,{children:[Fo(y.coinCode)&&r.jsxs("p",{children:[r.jsx("strong",{children:a("receive.onlyThisCoin.warning",{coinName:y.coinName})}),r.jsx("br",{}),a("receive.onlyThisCoin.description")]}),r.jsx(Ja,{data:C+P}),r.jsx("p",{children:a("receive.verifyInstruction")})]})}),r.jsx("div",{className:"m-bottom-half",children:r.jsx(Ia,{value:P,flexibleHeight:!0})})]})]})})})]})]}),r.jsx(a1,{hasMultipleAddresses:h?h.length>1:!1,hasDifferentFormats:k?k.length>1:!1})]})},Iie=t=>{const{devices:e,deviceIDs:n}=t,a=n[0];switch(n.length?e[a]:void 0){case"bitbox":return r.jsx(Lie,{deviceID:a,...t});case"bitbox02":default:return r.jsx(wie,{...t})}},Zo=x.createContext({}),Lr={};function $ie(t){if("type"in t&&t.data&&typeof t.data=="string"&&t.data in Lr&&Lr[t.data].length)for(const e of Lr[t.data])e(t)}function is(t,e){Lr[t]||(Lr[t]=[]);const n=Lr[t];return n.includes(e)&&console.error(`observer already registered for ${t}`),n.push(e),()=>{n.includes(e)||console.error("!observers.includes(observer)");const a=n.indexOf(e);n.splice(a,1)}}Yo($ie);const Mie=t=>Gn("accounts",t),o1=t=>e=>Gn(`account/${t}/synced-addresses-count`,n=>{e(n)}),r1=t=>is("statusChanged",n=>{n.type==="account"&&n.code&&t(n.code)}),Yd=t=>is("syncdone",e=>{e.type==="account"&&e.code&&t(e.code)}),Oie=t=>e=>Gn(`coins/${t}/headers/status`,e),Rie=t=>H("coins/btc/set-unit",{unit:t}),Fie=t=>Z(`coins/btc/parse-external-amount?amount=${t}`),Jo=t=>Z(`devices/${t}/info`),Vie="_space_tpxrt_1",sh={space:Vie},ct=({amount:t,unit:e,removeBtcTrailingZeroes:n,alwaysShowAmounts:a=!1})=>{const{hideAmounts:i}=x.useContext(mi),o=l=>{const c=[];for(let d=l.length;d>0;d-=3){const p=Math.max(0,d-3);c.push(r.jsx("span",{className:p===0?"":sh.space,children:l.slice(p,d)},"block_"+c.length))}return r.jsx("span",{"data-testid":"amountBlocks",children:c.reverse()})},s=l=>{const c=l.indexOf(".");return c===-1?r.jsx(r.Fragment,{children:l}):r.jsxs("span",{"data-testid":"amountBlocks",children:[r.jsx("span",{children:l.slice(0,c+3)}),r.jsx("span",{className:sh.space,children:l.slice(c+3,c+6)}),r.jsx("span",{className:sh.space,children:l.slice(c+6,c+9)})]})};if(i&&!a)return"***";switch(e){case"BTC":case"TBTC":case"LTC":case"TLTC":return n&&t.includes(".")?r.jsx(r.Fragment,{children:t.replace(/\.?0+$/,"")}):s(t);case"sat":case"tsat":return o(t)}return r.jsx(r.Fragment,{children:t})},Wie="_rates_19qqe_1",Uie="_unit_19qqe_8",qie="_unitAction_19qqe_13",Hie="_fiatRow_19qqe_20",Kie="_availableFiatAmount_19qqe_24",Gie="_availableFiatUnitNoAction_19qqe_29",Qie="_availableFiatUnit_19qqe_29",Yie="_notAvailable_19qqe_46",Bi={rates:Wie,unit:Uie,unitAction:qie,fiatRow:Hie,availableFiatAmount:Kie,availableFiatUnitNoAction:Gie,availableFiatUnit:Qie,notAvailable:Yie},s1=[{currency:"AUD",displayName:"Australian Dollar"},{currency:"BRL",displayName:"Brazilian Real"},{currency:"CAD",displayName:"Canadian Dollar"},{currency:"CHF",displayName:"Swiss franc"},{currency:"CNY",displayName:"Chinese Yuan"},{currency:"CZK",displayName:"Czech Koruna"},{currency:"EUR",displayName:"Euro"},{currency:"GBP",displayName:"British Pound"},{currency:"HKD",displayName:"Hong Kong Dollar"},{currency:"ILS",displayName:"Israeli New Shekel"},{currency:"JPY",displayName:"Japanese Yen"},{currency:"KRW",displayName:"South Korean Won"},{currency:"NOK",displayName:"Norwegian Krone"},{currency:"PLN",displayName:"Polish Zloty"},{currency:"RUB",displayName:"Russian ruble"},{currency:"SEK",displayName:"Swedish Krona"},{currency:"SGD",displayName:"Singapore Dollar"},{currency:"USD",displayName:"United States Dollar"},{currency:"BTC",displayName:"Bitcoin"}];function Zie(t,e){let n=t.toFixed(e),a=n.indexOf(".")-3;for(;a>0;)n=n.slice(0,a)+"'"+n.slice(a),a=a-3;return n}function Jie({amount:t,tableRow:e,unstyled:n,skipUnit:a,noAction:i,sign:o,noBtcZeroes:s,alwaysShowAmounts:l=!1}){const{rotateFiat:c,defaultCurrency:u,btcUnit:d}=x.useContext(Zo);let p=r.jsx(r.Fragment,{children:"---"}),h=!1,m=u;return u==="BTC"&&d==="sat"&&(m="sat"),t&&t.conversions&&t.conversions[u]&&t.conversions[u]!==""&&(h=!0,p=r.jsx(ct,{alwaysShowAmounts:l,amount:t.conversions[u],unit:m,removeBtcTrailingZeroes:!!s})),e?r.jsxs("tr",{className:n?"":Bi.fiatRow,children:[r.jsx("td",{className:n?"":Bi.availableFiatAmount,children:p}),!i&&r.jsx("td",{className:n?"":Bi.availableFiatUnit,onClick:c,children:m}),i&&r.jsx("td",{className:n?"":Bi.availableFiatUnitNoAction,children:m})]}):r.jsxs("span",{className:`${Bi.rates} ${h?"":Bi.notAvailable}`,children:[h?o:"",p," ",!a&&!i&&r.jsx("span",{className:Bi.unitAction,onClick:c,children:m}),!a&&i&&r.jsx("span",{className:Bi.unit,children:m})]})}const l1=s1.map(t=>({label:`${t.displayName} (${t.currency})`,value:t.currency})),Xa=Jie,Xie="_balanceTable_m2hui_1",eoe="_availableAmount_m2hui_27",toe="_availableUnit_m2hui_32",noe="_pendingBalance_m2hui_37",uo={balanceTable:Xie,availableAmount:eoe,availableUnit:toe,pendingBalance:noe},c1=({balance:t,noRotateFiat:e})=>{const{t:n}=A();return t?r.jsxs("header",{className:uo.balance,children:[r.jsx("table",{className:uo.balanceTable,children:r.jsxs("tbody",{children:[r.jsxs("tr",{"data-testid":"availableBalance",children:[r.jsx("td",{className:uo.availableAmount,children:r.jsx(ct,{amount:t.available.amount,unit:t.available.unit,removeBtcTrailingZeroes:!0})}),r.jsx("td",{className:uo.availableUnit,children:t.available.unit})]}),r.jsx(Xa,{amount:t.available,tableRow:!0,noAction:e,noBtcZeroes:!0})]})}),t.hasIncoming&&r.jsxs("p",{className:uo.pendingBalance,children:[n("account.incoming"),r.jsxs("span",{"data-testid":"incomingBalance",children:["+",r.jsx(ct,{amount:t.incoming.amount,unit:t.incoming.unit,removeBtcTrailingZeroes:!0})," ",t.incoming.unit," /",r.jsxs("span",{className:uo.incomingConversion,children:[" ",r.jsx(Xa,{amount:t.incoming,noBtcZeroes:!0})]})]})]})]}):r.jsx("header",{className:uo.balance})},kn=He;function u1(t,e=!0){return function(a){var i;return i=class extends x.Component{constructor(){super(...arguments),this.state={}}determineEndpoints(){return typeof t=="function"?t(this.props):t}loadEndpoint(o,s){Z(s).then(l=>{this.setState({[o]:l})})}loadEndpoints(){const o=this.endpoints,s=this.determineEndpoints();for(const l of Object.keys(s))(o===void 0||s[l]!==o[l])&&this.loadEndpoint(l,s[l]);if(o===void 0)e&&Object.keys(s).length===0&&this.setState({});else for(const l of Object.keys(o))s[l]===void 0&&this.setState({[l]:void 0});this.endpoints=s}componentDidMount(){this.loadEndpoints()}componentDidUpdate(){this.loadEndpoints()}allEndpointsLoaded(){if(this.endpoints===void 0)return!1;for(const o of Object.keys(this.endpoints))if(this.state[o]===void 0)return!1;return!0}render(){const o=this.props,s=this.state;return e&&!this.allEndpointsLoaded()?null:r.jsx(a,{...s,...o})}},i.displayName=`Load(${wg(a)})`,i}}const aoe="_row_1qpuo_1",ioe="_rowCustomFee_1qpuo_6",ooe="_column_1qpuo_12",roe="_priority_1qpuo_38",soe="_fee_1qpuo_42",loe="_feeCustom_1qpuo_91",coe="_feeDescription_1qpuo_95",uoe="_feeProposed_1qpuo_96",doe="_customFeeUnit_1qpuo_112",xa={row:aoe,rowCustomFee:ioe,column:ooe,priority:roe,fee:soe,feeCustom:loe,feeDescription:coe,feeProposed:uoe,customFeeUnit:doe};class poe extends x.Component{constructor(){super(...arguments),this.state={feeTarget:"",options:null,noFeeTargets:!1},this.input=x.createRef(),this.updateFeeTargets=e=>{eY(e).then(({feeTargets:n,defaultFeeTarget:a})=>{const i=this.props.config.frontend.expertFee||n.length===0,o=n.map(({code:s,feeRateInfo:l})=>({value:s,text:this.props.t(`send.feeTarget.label.${s}`)+(i&&l?` (${l})`:"")}));i&&o.push({value:"custom",text:this.props.t("send.feeTarget.label.custom")}),this.setState({options:o}),this.setFeeTarget(a),n.length===0&&this.setState({noFeeTargets:!0})}).catch(console.error)},this.handleFeeTargetChange=e=>{const n=e.target;this.setFeeTarget(n.options[n.selectedIndex].value)},this.handleCustomFee=e=>{const n=e.target;this.props.onCustomFee(n.value)},this.setFeeTarget=e=>{this.setState({feeTarget:e}),this.props.onFeeTargetChange(e)},this.getProposeFeeText=()=>{if(!this.props.proposedFee)return"";const{amount:e,unit:n,conversions:a}=this.props.proposedFee,i=this.props.fiatUnit;return`${e} ${n} ${a?` = ${a[i==="sat"?"BTC":i]} ${i}`:""}`},this.focusInput=()=>{!this.props.disabled&&this.input.current&&this.input.current.autofocus&&this.input.current.focus()}}componentDidMount(){this.updateFeeTargets(this.props.accountCode),this.focusInput()}UNSAFE_componentWillReceiveProps({accountCode:e}){this.props.accountCode!==e&&this.updateFeeTargets(e)}render(){const{t:e,coinCode:n,disabled:a,error:i,showCalculatingFeeLabel:o=!1,customFee:s}=this.props,{feeTarget:l,options:c,noFeeTargets:u}=this.state;if(c===null)return r.jsx(Ye,{label:e("send.priority"),id:"feetarget",placeholder:e("send.feeTarget.placeholder"),disabled:!0,value:"",transparent:!0});const d=l==="custom",p=c.length>0,h=this.getProposeFeeText(),m=document.activeElement&&document.activeElement.nodeName==="INPUT";return p?r.jsxs("div",{children:[d?r.jsxs("div",{className:xa.rowCustomFee,children:[u?r.jsx(nn,{small:!0,type:"warning",children:e("send.noFeeTargets")}):null,r.jsx("div",{className:xa.column,children:r.jsx(Ru,{className:xa.priority,label:e("send.priority"),id:"feeTarget",disabled:a,onChange:this.handleFeeTargetChange,value:l,options:c})}),r.jsx("div",{className:xa.column,children:r.jsx(Ye,{type:a?"text":"number",min:"0",step:"any",autoFocus:!m,align:"right",className:`${xa.fee} ${xa.feeCustom}`,disabled:a,label:e("send.feeTarget.customLabel",{context:Fo(n)?"eth":""}),id:"proposedFee",placeholder:e("send.fee.customPlaceholder"),error:i,transparent:!0,onInput:this.handleCustomFee,ref:this.input,value:s,children:r.jsx("span",{className:xa.customFeeUnit,children:Kj(this.props.coinCode)})})})]}):o?r.jsx(Ye,{disabled:!0,label:e("send.priority"),placeholder:e("send.feeTarget.placeholder"),value:"",transparent:!0}):r.jsx(Ru,{className:xa.priority,label:e("send.priority"),id:"feeTarget",disabled:a,onChange:this.handleFeeTargetChange,value:l,options:c}),l&&r.jsxs("div",{children:[o||h?r.jsxs("p",{className:xa.feeProposed,children:[e("send.fee.label"),":"," ",o?e("send.feeTarget.placeholder"):h]}):null,d?null:r.jsxs("p",{className:xa.feeDescription,children:[e("send.feeTarget.estimate")," ",e(`send.feeTarget.description.${l}`,{context:WQ(n)||""})]})]})]}):r.jsx(Ye,{disabled:!0,label:e("send.fee.label"),id:"proposedFee",placeholder:e("send.fee.placeholder"),error:i,transparent:!0,value:h})}}const hoe=u1({config:"config"})(poe),moe=kn()(hoe),foe="_utxosList_8ra1q_1",goe="_utxo_8ra1q_1",voe="_utxoContent_8ra1q_17",boe="_note_8ra1q_25",koe="_utxoData_8ra1q_33",xoe="_utxoExplorer_8ra1q_41",yoe="_amounts_8ra1q_51",woe="_amount_8ra1q_51",joe="_label_8ra1q_59",Boe="_unit_8ra1q_60",Soe="_address_8ra1q_73",zoe="_transaction_8ra1q_74",Coe="_shrink_8ra1q_81",Jt={utxosList:foe,utxo:goe,utxoContent:voe,note:boe,utxoData:koe,utxoExplorer:xoe,amounts:yoe,amount:woe,label:joe,unit:Boe,address:Soe,transaction:zoe,shrink:Coe},Doe=({accountCode:t,active:e,explorerURL:n,onChange:a,onClose:i})=>{const{t:o}=A(),[s,l]=x.useState([]),[c,u]=x.useState({});x.useEffect(()=>(dk(t).then(l),()=>l([])),[t]),x.useEffect(()=>{const h=Yd(m=>{t===m&&dk(t).then(l)});return()=>h()},[t]);const d=h=>{const m=h.target,g=m.dataset.outpoint,v=Object.assign({},c);m.checked?v[g]=!0:delete v[g],u(v),a(v)},p=h=>{const m=s.filter(g=>g.scriptType===h);return m.length===0?null:r.jsxs("div",{children:[r.jsx("h2",{className:"subTitle",children:Td(h)}),r.jsx("ul",{className:Jt.utxosList,children:m.map(g=>r.jsx("li",{className:Jt.utxo,children:r.jsxs(Ve,{checked:!!c[g.outPoint],id:"utxo-"+g.outPoint,"data-outpoint":g.outPoint,onChange:d,children:[g.note&&r.jsx("div",{className:Jt.note,children:r.jsxs("strong",{children:[g.note," "]})}),r.jsxs("div",{className:Jt.utxoContent,children:[r.jsxs("div",{className:Jt.utxoData,children:[r.jsxs("div",{className:Jt.amounts,children:[r.jsxs("span",{className:Jt.amount,children:[r.jsx(ct,{alwaysShowAmounts:!0,amount:g.amount.amount,unit:g.amount.unit})," ",r.jsx("span",{className:Jt.unit,children:g.amount.unit})]}),r.jsx(Xa,{alwaysShowAmounts:!0,amount:g.amount,unstyled:!0,noAction:!0})]}),r.jsxs("div",{className:Jt.address,children:[r.jsxs("span",{className:Jt.label,children:[o("send.coincontrol.address"),":"]}),r.jsx("span",{className:Jt.shrink,children:g.address})]}),r.jsxs("div",{className:Jt.transaction,children:[r.jsxs("span",{className:Jt.label,children:[o("send.coincontrol.outpoint"),":"]}),r.jsx("span",{className:Jt.shrink,children:g.txId}),":",g.txOutput]})]}),r.jsx(pt,{className:Jt.utxoExplorer,href:n+g.txId,title:o("transaction.explorerTitle"),children:r.jsx(J7,{})})]})]})},"utxo-"+g.outPoint))})]},"utxos-"+h)};return r.jsx(qe,{open:e,title:o("send.coincontrol.title"),large:!0,onClose:i,children:r.jsxs("div",{children:[HQ.map(p),r.jsx("div",{className:"buttons text-center m-top-none m-bottom-half",children:r.jsx(_,{primary:!0,onClick:i,children:o("button.continue")})})]})})};function Nl(t){for(const e of t)e();t.splice(0,t.length)}const Aoe=""+new URL("hold-3098c74f.png",import.meta.url).href,_oe=""+new URL("tap-25c161d5.png",import.meta.url).href;class Toe extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.state={active:!1},this.handleKeyDown=e=>{const n=document.activeElement;n&&n instanceof HTMLElement&&n.blur(),e.preventDefault(),e.stopPropagation()},this.activate=()=>{this.setState({active:!0},()=>{!this.overlay.current||!this.modal.current||(this.overlay.current.classList.add(ce.activeOverlay),this.modal.current.classList.add(ce.activeModal))})}}UNSAFE_componentWillMount(){document.body.addEventListener("keydown",this.handleKeyDown)}componentDidMount(){setTimeout(this.activate,10)}componentWillUnmount(){document.body.removeEventListener("keydown",this.handleKeyDown)}render(){const{t:e,includeDefault:n,prequel:a,title:i,paired:o=!1,touchConfirm:s=!0,children:l}=this.props,c=r.jsxs("div",{children:[a&&r.jsx("p",{className:"m-top-none",children:a}),o?r.jsxs("div",{children:[r.jsxs("p",{className:[ce.confirmationLabel,s&&o?ce.disabledLabel:"","m-top-none"].join(" "),children:[r.jsx("span",{className:ce.confirmationLabelNumber,children:"1."}),e("confirm.infoWhenPaired")]}),r.jsxs("p",{className:[ce.confirmationLabel,!s&&o?ce.disabledLabel:""].join(" "),children:[r.jsx("span",{className:ce.confirmationLabelNumber,children:"2."}),e("confirm.info")]})]}):r.jsx("p",{className:[ce.confirmationLabel,ce.noStep,"m-top-none"].join(" "),children:e("confirm.info")}),s&&r.jsxs("div",{className:["flex flex-row flex-between flex-items-stretch",ce.confirmationInstructions].join(" "),children:[r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx("img",{className:ce.image,src:_oe,alt:"Reject"}),r.jsxs("p",{children:[e("confirm.abortInfo"),r.jsx("span",{className:"text-red",children:e("confirm.abortInfoRedText")})]})]}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx("img",{className:ce.image,src:Aoe,alt:"Approve"}),r.jsxs("p",{children:[e("confirm.approveInfo"),r.jsx("span",{className:"text-green",children:e("confirm.approveInfoGreenText")})]})]})]})]}),u=Mn.Children.toArray(l).length>0;return r.jsx("div",{className:ce.overlay,ref:this.overlay,style:{zIndex:10001},children:r.jsxs("div",{className:[ce.modal,ce.open].join(" "),ref:this.modal,children:[i&&r.jsx("div",{className:ce.header,children:r.jsx("h3",{className:ce.title,children:i})}),r.jsx("div",{className:ce.contentContainer,children:r.jsxs("div",{className:ce.content,children:[u&&n?c:null,u?r.jsx("div",{className:"flex flex-column flex-start",children:l}):c]})})]})})}}const xn=kn()(Toe),Eoe="_confirmItem_1e5e5_1",Poe="_confirmationValue_1e5e5_6",Noe="_total_1e5e5_15",Si={confirmItem:Eoe,confirmationValue:Poe,total:Noe},Loe=({paired:t,baseCurrencyUnit:e,note:n,hasSelectedUTXOs:a,selectedUTXOs:i,coinCode:o,transactionStatus:s,transactionDetails:l})=>{const{t:c}=A(),{isConfirming:u,signConfirm:d,signProgress:p}=s,{proposedFee:h,proposedAmount:m,proposedTotal:g,customFee:v,feeTarget:y,recipientAddress:b,fiatUnit:k}=l;if(!u)return null;const w=p&&p.steps>1?r.jsxs("span",{children:[c("send.signprogress.description",{steps:p.steps.toString()}),r.jsx("br",{}),c("send.signprogress.label"),": ",p.step,"/",p.steps]}):void 0;return r.jsxs(xn,{title:c("send.confirm.title"),prequel:w,paired:t,touchConfirm:d,includeDefault:!0,children:[r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("send.address.label")}),r.jsx("p",{children:b||"N/A"})]}),r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("send.amount.label")}),r.jsxs("p",{children:[r.jsxs("span",{children:[m&&r.jsx(ct,{alwaysShowAmounts:!0,amount:m.amount,unit:m.unit})||"N/A"," ",r.jsx("small",{children:m&&m.unit||"N/A"})]},"proposedAmount"),m&&m.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx(ct,{alwaysShowAmounts:!0,amount:m.conversions[k],unit:e})," ",r.jsx("small",{children:e})]})]})]}),n?r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("note.title")}),r.jsx("p",{children:n})]}):null,r.jsxs("div",{className:Si.confirmItem,children:[r.jsxs("label",{children:[c("send.fee.label"),y?" ("+c(`send.feeTarget.label.${y}`)+")":""]}),r.jsxs("p",{children:[r.jsxs("span",{children:[h&&r.jsx(ct,{alwaysShowAmounts:!0,amount:h.amount,unit:h.unit})||"N/A"," ",r.jsx("small",{children:h&&h.unit||"N/A"})]},"amount"),h&&h.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx(ct,{alwaysShowAmounts:!0,amount:h.conversions[k],unit:e})," ",r.jsx("small",{children:e})]},"conversation"),v?r.jsxs("span",{children:[r.jsx("br",{}),r.jsxs("small",{children:["(",v," ",Kj(o),")"]})]},"customFee"):null]})]}),a&&r.jsxs("div",{className:[Si.confirmItem].join(" "),children:[r.jsx("label",{children:c("send.confirm.selected-coins")}),i.map((j,z)=>r.jsx("p",{className:Si.confirmationValue,children:j},`selectedCoin-${z}`))]}),r.jsxs("div",{className:[Si.confirmItem,Si.total].join(" "),children:[r.jsx("label",{children:c("send.confirm.total")}),r.jsxs("p",{children:[r.jsxs("span",{children:[r.jsx("strong",{children:g&&r.jsx(ct,{alwaysShowAmounts:!0,amount:g.amount,unit:g.unit})||"N/A"})," ",r.jsx("small",{children:g&&g.unit||"N/A"})]}),g&&g.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx("strong",{children:r.jsx(ct,{alwaysShowAmounts:!0,amount:g.conversions[k],unit:e})})," ",r.jsx("small",{children:e})]})]})]})]})},Ioe=({coinCode:t})=>{const{t:e}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:e("guide.send.whyFee")},"guide.send.whyFee"),La(t)&&r.jsx(W,{entry:e("guide.send.priority")},"guide.send.priority"),La(t)&&r.jsx(W,{entry:e("guide.send.fee")},"guide.send.fee"),_d(t)&&r.jsx(W,{entry:e("guide.send.change")},"guide.send.change"),r.jsx(W,{entry:e("guide.send.revert")},"guide.send.revert"),r.jsx(W,{entry:e("guide.send.plugout")},"guide.send.plugout")]})},$oe=(t,e,n)=>{const{t:a}=se;switch(n){case"invalidAddress":return{addressError:a("send.error.invalidAddress")};case"invalidAmount":case"insufficientFunds":return{amountError:a(`send.error.${n}`),proposedFee:void 0};case"feeTooLow":case"feesNotAvailable":return{feeError:a(`send.error.${n}`)};default:return n&&(e(),J(n,{callback:t})),{proposedFee:void 0}}},Vk=({isShown:t,messageType:e})=>t?r.jsx(xn,{children:r.jsx("div",{className:"flex flex-row flex-center flex-items-center",children:r.jsx(Moe,{messageType:e})})}):null,Moe=({messageType:t})=>{const{t:e}=A();switch(t){case"sent":return r.jsxs(r.Fragment,{children:[r.jsx(Bd,{style:{height:18,marginRight:"1rem"}}),e("send.success")]});case"abort":return r.jsxs(r.Fragment,{children:[r.jsx(bg,{alt:"Abort",style:{height:18,marginRight:"1rem"}}),e("send.abort")]});default:return null}},Ooe=function(){const e=typeof document<"u"&&document.createElement("link").relList;return e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}(),Roe=function(t,e){return new URL(t,e).href},Wk={},qm=function(e,n,a){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Roe(o,a),o in Wk)return;Wk[o]=!0;const s=o.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(!!a)for(let d=i.length-1;d>=0;d--){const p=i[d];if(p.href===o&&(!s||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Ooe,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,p)=>{u.addEventListener("load",d),u.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};let Ll=class ve{constructor(e,n,a,i,o){this._legacyCanvasSize=ve.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=e,this.$canvas=document.createElement("canvas"),a&&typeof a=="object"?this._onDecode=n:(console.warn(a||i||o?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=n),n=typeof a=="object"?a:{},this._onDecodeError=n.onDecodeError||(typeof a=="function"?a:this._onDecodeError),this._calculateScanRegion=n.calculateScanRegion||(typeof i=="function"?i:this._calculateScanRegion),this._preferredCamera=n.preferredCamera||o||this._preferredCamera,this._legacyCanvasSize=typeof a=="number"?a:typeof i=="number"?i:this._legacyCanvasSize,this._maxScansPerSecond=n.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;let s=!1;if(e.hidden&&(e.hidden=!1,s=!0),document.body.contains(e)||(document.body.appendChild(e),s=!0),a=e.parentElement,n.highlightScanRegion||n.highlightCodeOutline){if(i=!!n.overlay,this.$overlay=n.overlay||document.createElement("div"),o=this.$overlay.style,o.position="absolute",o.display="none",o.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!i&&n.highlightScanRegion){this.$overlay.innerHTML='';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}a.insertBefore(this.$overlay,this.$video.nextSibling)}n.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",''),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(e),requestAnimationFrame(()=>{let l=window.getComputedStyle(e);l.display==="none"&&(e.style.setProperty("display","block","important"),s=!0),l.visibility!=="visible"&&(e.style.setProperty("visibility","visible","important"),s=!0),s&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity="0",e.style.width="0",e.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=ve.createQrEngine()}static set WORKER_PATH(e){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await ve.listCameras(!1)).length}catch{return!1}}static async listCameras(e=!1){if(!navigator.mediaDevices)return[];let n=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(i=>i.kind==="videoinput"),a;try{e&&(await n()).every(i=>!i.label)&&(a=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await n()).map((i,o)=>({id:i.deviceId,label:i.label||(o===0?"Default Camera":`Camera ${o+1}`)}))}finally{a&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),ve._stopVideoStream(a))}}async hasFlash(){let e;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;e=this.$video.srcObject}else e=(await this._getCameraStream()).stream;return"torch"in e.getVideoTracks()[0].getSettings()}catch{return!1}finally{e&&e!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),ve._stopVideoStream(e))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(e){throw this._flashOn=!1,e}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),ve._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:e,facingMode:n}=await this._getCameraStream();!this._active||this._paused?ve._stopVideoStream(e):(this._setVideoMirror(n),this.$video.srcObject=e,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(e){if(!this._paused)throw this._active=!1,e}}stop(){this.pause(),this._active=!1}async pause(e=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let n=()=>{this.$video.srcObject instanceof MediaStream&&(ve._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return e?(n(),!0):(await new Promise(a=>setTimeout(a,300)),this._paused?(n(),!0):!1)}async setCamera(e){e!==this._preferredCamera&&(this._preferredCamera=e,await this._restartVideoStream())}static async scanImage(e,n,a,i,o=!1,s=!1){let l,c=!1;n&&("scanRegion"in n||"qrEngine"in n||"canvas"in n||"disallowCanvasResizing"in n||"alsoTryWithoutScanRegion"in n||"returnDetailedScanResult"in n)?(l=n.scanRegion,a=n.qrEngine,i=n.canvas,o=n.disallowCanvasResizing||!1,s=n.alsoTryWithoutScanRegion||!1,c=!0):console.warn(n||a||i||o||s?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),n=!!a;try{let u,d;[a,u]=await Promise.all([a||ve.createQrEngine(),ve._loadImage(e)]),[i,d]=ve._drawToCanvas(u,l,i,o);let p;if(a instanceof Worker){let h=a;n||ve._postWorkerMessageSync(h,"inversionMode","both"),p=await new Promise((m,g)=>{let v,y,b,k=-1;y=j=>{j.data.id===k&&(h.removeEventListener("message",y),h.removeEventListener("error",b),clearTimeout(v),j.data.data!==null?m({data:j.data.data,cornerPoints:ve._convertPoints(j.data.cornerPoints,l)}):g(ve.NO_QR_CODE_FOUND))},b=j=>{h.removeEventListener("message",y),h.removeEventListener("error",b),clearTimeout(v),g("Scanner error: "+(j?j.message||j:"Unknown Error"))},h.addEventListener("message",y),h.addEventListener("error",b),v=setTimeout(()=>b("timeout"),1e4);let w=d.getImageData(0,0,i.width,i.height);k=ve._postWorkerMessageSync(h,"decode",w,[w.data.buffer])})}else p=await Promise.race([new Promise((h,m)=>window.setTimeout(()=>m("Scanner error: timeout"),1e4)),(async()=>{try{var[h]=await a.detect(i);if(!h)throw ve.NO_QR_CODE_FOUND;return{data:h.rawValue,cornerPoints:ve._convertPoints(h.cornerPoints,l)}}catch(m){if(h=m.message||m,/not implemented|service unavailable/.test(h))return ve._disableBarcodeDetector=!0,ve.scanImage(e,{scanRegion:l,canvas:i,disallowCanvasResizing:o,alsoTryWithoutScanRegion:s});throw`Scanner error: ${h}`}})()]);return c?p:p.data}catch(u){if(!l||!s)throw u;let d=await ve.scanImage(e,{qrEngine:a,canvas:i,disallowCanvasResizing:o});return c?d:d.data}finally{n||ve._postWorkerMessage(a,"close")}}setGrayscaleWeights(e,n,a,i=!0){ve._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:n,blue:a,useIntegerApproximation:i})}setInversionMode(e){ve._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}static async createQrEngine(e){if(e&&console.warn("Specifying a worker path is not required and not supported anymore."),e=()=>qm(()=>import("./qr-scanner-worker.min-5f44a019.js"),[],import.meta.url).then(a=>a.createWorker()),!(!ve._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return e();let n=navigator.userAgentData;return n&&n.brands.some(({brand:a})=>/Chromium/i.test(a))&&/mac ?OS/i.test(n.platform)&&await n.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:a,platformVersion:i})=>/arm/i.test(a||"arm")&&13<=parseInt(i||"13")).catch(()=>!0)?e():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(e){let n=Math.round(.6666666666666666*Math.min(e.videoWidth,e.videoHeight));return{x:Math.round((e.videoWidth-n)/2),y:Math.round((e.videoHeight-n)/2),width:n,height:n,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var e=this.$video,n=e.videoWidth,a=e.videoHeight,i=e.offsetWidth,o=e.offsetHeight,s=e.offsetLeft,l=e.offsetTop,c=window.getComputedStyle(e),u=c.objectFit,d=n/a,p=i/o;switch(u){case"none":var h=n,m=a;break;case"fill":h=i,m=o;break;default:(u==="cover"?d>p:d{const w=parseFloat(b);return b.endsWith("%")?(k?o-m:i-h)*w/100:w});c=this._scanRegion.width||n,p=this._scanRegion.height||a,u=this._scanRegion.x||0;var y=this._scanRegion.y||0;d=this.$overlay.style,d.width=`${c/n*h}px`,d.height=`${p/a*m}px`,d.top=`${l+v+y/a*m}px`,a=/scaleX\(-1\)/.test(e.style.transform),d.left=`${s+(a?i-g-h:g)+(a?n-u-c:u)/n*h}px`,d.transform=e.style.transform}})}static _convertPoints(e,n){if(!n)return e;let a=n.x||0,i=n.y||0,o=n.width&&n.downScaledWidth?n.width/n.downScaledWidth:1;n=n.height&&n.downScaledHeight?n.height/n.downScaledHeight:1;for(let s of e)s.x=s.x*o+a,s.y=s.y*n+i;return e}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var e=Date.now()-this._lastScanTimestamp,n=1e3/this._maxScansPerSecond;esetTimeout(i,n-e)),this._lastScanTimestamp=Date.now();try{var a=await ve.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(i){if(!this._active)return;this._onDecodeError(i)}!ve._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=ve.createQrEngine()),a?(this._onDecode?this._onDecode(a):this._legacyOnDecode&&this._legacyOnDecode(a.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",a.cornerPoints.map(({x:i,y:o})=>`${i},${o}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(e){e!==ve.NO_QR_CODE_FOUND&&console.log(e)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let e=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",n=[{width:{min:1024}},{width:{min:768}},{}],a=n.map(i=>Object.assign({},i,{[e]:{exact:this._preferredCamera}}));for(let i of[...a,...n])try{let o=await navigator.mediaDevices.getUserMedia({video:i,audio:!1}),s=this._getFacingMode(o)||(i.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:o,facingMode:s}}catch{}throw"Camera not found."}async _restartVideoStream(){let e=this._paused;await this.pause(!0)&&!e&&this._active&&await this.start()}static _stopVideoStream(e){for(let n of e.getTracks())n.stop(),e.removeTrack(n)}_setVideoMirror(e){this.$video.style.transform="scaleX("+(e==="user"?-1:1)+")"}_getFacingMode(e){return(e=e.getVideoTracks()[0])?/rear|back|environment/i.test(e.label)?"environment":/front|user|face/i.test(e.label)?"user":null:null}static _drawToCanvas(e,n,a,i=!1){a=a||document.createElement("canvas");let o=n&&n.x?n.x:0,s=n&&n.y?n.y:0,l=n&&n.width?n.width:e.videoWidth||e.width,c=n&&n.height?n.height:e.videoHeight||e.height;return i||(i=n&&n.downScaledWidth?n.downScaledWidth:l,n=n&&n.downScaledHeight?n.downScaledHeight:c,a.width!==i&&(a.width=i),a.height!==n&&(a.height=n)),n=a.getContext("2d",{alpha:!1}),n.imageSmoothingEnabled=!1,n.drawImage(e,o,s,l,c,0,0,a.width,a.height),[a,n]}static async _loadImage(e){if(e instanceof Image)return await ve._awaitImageLoad(e),e;if(e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement||e instanceof SVGImageElement||"OffscreenCanvas"in window&&e instanceof OffscreenCanvas||"ImageBitmap"in window&&e instanceof ImageBitmap)return e;if(e instanceof File||e instanceof Blob||e instanceof URL||typeof e=="string"){let n=new Image;n.src=e instanceof File||e instanceof Blob?URL.createObjectURL(e):e.toString();try{return await ve._awaitImageLoad(n),n}finally{(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(n.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(e){e.complete&&e.naturalWidth!==0||await new Promise((n,a)=>{let i=o=>{e.removeEventListener("load",i),e.removeEventListener("error",i),o instanceof ErrorEvent?a("Image load error"):n()};e.addEventListener("load",i),e.addEventListener("error",i)})}static async _postWorkerMessage(e,n,a,i){return ve._postWorkerMessageSync(await e,n,a,i)}static _postWorkerMessageSync(e,n,a,i){if(!(e instanceof Worker))return-1;let o=ve._workerMessageId++;return e.postMessage({id:o,type:n,data:a},i),o}};Ll.DEFAULT_CANVAS_SIZE=400;Ll.NO_QR_CODE_FOUND="No QR code found";Ll._disableBarcodeDetector=!1;Ll._workerMessageId=0;const Foe=(t,{onStart:e,onResult:n,onError:a})=>{x.useEffect(()=>{const o=(async()=>{const s=t.current&&new Ll(t.current,l=>{s==null||s.stop(),n(l)},{onDecodeError:a,highlightScanRegion:!0,highlightCodeOutline:!0});try{await(s==null?void 0:s.start()),e&&e()}catch(l){console.error(l)}return()=>{s==null||s.stop(),s==null||s.destroy()}})();return()=>{o.then(s=>s())}},[t,e,n,a])},Voe="_spinnerAnimationContainer_18sha_1",Woe="_qrVideo_18sha_10",Uk={spinnerAnimationContainer:Voe,qrVideo:Woe},d1=({onResult:t})=>{const e=x.useRef(null);return Foe(e,{onResult:n=>t(n.data),onError:console.error}),r.jsxs(r.Fragment,{children:[r.jsx("div",{className:Uk.spinnerAnimationContainer,children:r.jsx(Cg,{})}),r.jsx("video",{className:Uk.qrVideo,ref:e,poster:"%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2264%22%20height=%2248%22%3E%3C/svg%3E"})]})},p1=({parseQRResult:t,activeScanQR:e,toggleScanQR:n,onChangeActiveScanQR:a})=>{const{t:i}=A();return r.jsxs(qe,{large:!0,open:e,title:i("send.scanQR"),onClose:n,children:[r.jsx(d1,{onResult:o=>{t(o),a(!1)}}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:n,children:i("button.back")})})]})},Uoe="_inputWithIcon_drrz7_1",qoe="_action_drrz7_9",Hoe="_qrButton_drrz7_18",h1={inputWithIcon:Uoe,action:qoe,qrButton:Hoe},m1=({onClick:t})=>{const{isDarkMode:e}=x.useContext(gg);return r.jsx("button",{type:"button",onClick:t,className:h1.qrButton,children:e?r.jsx(uK,{}):r.jsx(cK,{})})},Koe=({accountCode:t,addressError:e,onInputChange:n,recipientAddress:a,activeScanQR:i,parseQRResult:o,onChangeActiveScanQR:s})=>{const{t:l}=A(),c=()=>{if(i){s(!1);return}s(!0)};return r.jsxs(r.Fragment,{children:[r.jsx(p1,{activeScanQR:i,toggleScanQR:c,onChangeActiveScanQR:s,parseQRResult:o}),r.jsx(Ye,{label:l("send.address.label"),placeholder:l("send.address.placeholder"),id:"recipientAddress",error:e,onInput:u=>n(u.target.value),value:a,className:h1.inputWithIcon,labelSection:void 0,autoFocus:!0,children:r.jsx(m1,{onClick:c})})]})},Goe="_maxAmount_1t5n0_1",Qoe={maxAmount:Goe},Yoe=({balance:t,onAmountChange:e,onSendAllChange:n,sendAll:a,amountError:i,proposedAmount:o,amount:s,hasSelectedUTXOs:l})=>{const{t:c}=A();return r.jsx(Ye,{type:"number",step:"any",min:"0",label:t?t.available.unit:c("send.amount.label"),id:"amount",onInput:u=>e(u.target.value),disabled:a,error:i,value:a?o?o.amount:"":s,placeholder:c("send.amount.placeholder"),labelSection:r.jsx(Ve,{label:c(l?"send.maximumSelectedCoins":"send.maximum"),id:"sendAll",onChange:u=>n(u.target.checked),checked:a,className:Qoe.maxAmount})})},Zoe=({label:t,onFiatChange:e,disabled:n,error:a,fiatAmount:i})=>{const{t:o}=A();return r.jsx(Ye,{type:"number",step:"any",min:"0",label:t,id:"fiatAmount",onInput:e,disabled:n,error:a,value:i,placeholder:o("send.amount.placeholder")})},Joe="_labelDescription_5etm5_1",Xoe={labelDescription:Joe},ere=({onNoteChange:t,note:e})=>{const{t:n}=A();return r.jsx(Ye,{label:n("note.title"),labelSection:r.jsx("span",{className:Xoe.labelDescription,children:n("note.input.description")}),id:"note",onInput:t,value:e,placeholder:n("note.input.placeholder")})},tre="_container_8f83b_1",nre={container:tre};class are extends x.Component{constructor(){super(...arguments),this.selectedUTXOs={},this.unsubscribeList=[],this.pendingProposals=[],this.proposeTimeout=null,this.state={recipientAddress:"",amount:"",fiatAmount:"",valid:!1,sendAll:!1,isConfirming:!1,signConfirm:!1,isSent:!1,isAborted:!1,isUpdatingProposal:!1,noMobileChannelError:!1,fiatUnit:this.props.activeCurrency,coinControl:!1,btcUnit:"default",activeCoinControl:!1,activeScanQR:!1,note:"",customFee:""},this.isBitcoinBased=()=>{const e=this.getAccount();return e?La(e.coinCode):!1},this.registerEvents=()=>{document.addEventListener("keydown",this.handleKeyDown)},this.unregisterEvents=()=>{document.removeEventListener("keydown",this.handleKeyDown)},this.handleKeyDown=e=>{e.keyCode===27&&!this.state.activeCoinControl&&!this.state.activeScanQR&&le(`/account/${this.props.code}`)},this.send=async()=>{if(this.state.noMobileChannelError){J(this.props.t("warning.sendPairing"));return}const e=this.getAccount().code;if((await fl(e)).success){this.setState({signProgress:void 0,isConfirming:!0});try{const a=await XQ(e);if(a.success)this.setState({sendAll:!1,isConfirming:!1,isSent:!0,recipientAddress:"",proposedAmount:void 0,proposedFee:void 0,proposedTotal:void 0,fiatAmount:"",amount:"",note:"",customFee:""}),this.selectedUTXOs={},setTimeout(()=>this.setState({isSent:!1,isConfirming:!1}),5e3);else if(a.aborted)this.setState({isAborted:!0}),setTimeout(()=>this.setState({isAborted:!1}),5e3);else switch(a.errorCode){case"erc20InsufficientGasFunds":J(this.props.t(`send.error.${a.errorCode}`));break;default:const{errorMessage:i}=a;J(this.props.t("unknownError",i&&{errorMessage:i}))}}catch(a){console.error(a)}finally{this.setState({isConfirming:!1,signProgress:void 0,signConfirm:!1})}}},this.txInput=()=>({address:this.state.recipientAddress,amount:this.state.amount,feeTarget:this.state.feeTarget||"",customFee:this.state.customFee,sendAll:this.state.sendAll?"yes":"no",selectedUTXOs:Object.keys(this.selectedUTXOs)}),this.sendDisabled=()=>{const e=this.txInput();return!e.address||this.state.feeTarget===void 0||e.sendAll==="no"&&!e.amount||this.state.feeTarget==="custom"&&!this.state.customFee},this.validateAndDisplayFee=(e=!0)=>{if(this.setState({proposedTotal:void 0,addressError:void 0,amountError:void 0,feeError:void 0}),this.sendDisabled())return;const n=this.txInput();this.proposeTimeout&&(clearTimeout(this.proposeTimeout),this.proposeTimeout=null),this.setState({isUpdatingProposal:!0}),this.proposeTimeout=setTimeout(()=>{const a=H("account/"+this.getAccount().code+"/tx-proposal",n).then(i=>{const o=this.pendingProposals.indexOf(a);this.pendingProposals.length-1===o&&this.txProposal(e,i),this.pendingProposals.splice(o,1)}).catch(()=>{this.setState({valid:!1}),this.pendingProposals.splice(this.pendingProposals.indexOf(a),1)});this.pendingProposals.push(a)},400)},this.handleNoteInput=e=>{const n=e.target;this.setState({note:n.value},()=>{QQ(this.getAccount().code,this.state.note)})},this.txProposal=(e,n)=>{if(this.setState({valid:n.success}),n.success)this.setState({addressError:void 0,amountError:void 0,feeError:void 0,proposedFee:n.fee,proposedAmount:n.amount,proposedTotal:n.total,isUpdatingProposal:!1}),e&&this.convertToFiat(n.amount.amount);else{const a=$oe(this.registerEvents,this.unregisterEvents,n.errorCode);this.setState({...a,isUpdatingProposal:!1})}},this.handleFiatInput=e=>{const n=e.target.value;this.setState({fiatAmount:n}),this.convertFromFiat(n)},this.convertToFiat=e=>{if(e){const n=this.getAccount().coinCode;Z(`coins/convert-to-plain-fiat?from=${n}&to=${this.state.fiatUnit}&amount=${e}`).then(a=>{a.success?this.setState({fiatAmount:a.fiatAmount}):this.setState({amountError:this.props.t("send.error.invalidAmount")})})}else this.setState({fiatAmount:""})},this.convertFromFiat=e=>{if(e){const n=this.getAccount().coinCode;Z(`coins/convert-from-fiat?from=${this.state.fiatUnit}&to=${n}&amount=${e}`).then(a=>{a.success?this.setState({amount:a.amount},()=>this.validateAndDisplayFee(!1)):this.setState({amountError:this.props.t("send.error.invalidAmount")})})}else this.setState({amount:""})},this.feeTargetChange=e=>{this.setState({feeTarget:e,customFee:""},()=>this.validateAndDisplayFee(this.state.sendAll))},this.onSelectedUTXOsChange=e=>{this.selectedUTXOs=e,this.validateAndDisplayFee(!0)},this.hasSelectedUTXOs=()=>Object.keys(this.selectedUTXOs).length!==0,this.getAccount=()=>{if(this.props.code)return Dd(this.props.accounts,this.props.code)},this.toggleCoinControl=()=>{this.setState(({activeCoinControl:e})=>(e&&(this.selectedUTXOs={}),{activeCoinControl:!e}))},this.setActiveScanQR=e=>{this.setState({activeScanQR:e})},this.parseQRResult=async e=>{let n,a="";try{const s=new URL(e);if(s.protocol!=="bitcoin:"&&s.protocol!=="litecoin:"&&s.protocol!=="ethereum:"){J(this.props.t("invalidFormat"));return}n=s.pathname,this.isBitcoinBased()&&(a=s.searchParams.get("amount")||"")}catch{n=e}let i={recipientAddress:n,sendAll:!1,fiatAmount:""};const o=this.getAccount().coinCode;if(a)if(o==="btc"||o==="tbtc"){const s=await Fie(a);if(s.success)i.amount=s.amount;else{i.amountError=this.props.t("send.error.invalidAmount"),this.setState(i);return}}else i.amount=a;this.setState(i,()=>{this.convertToFiat(this.state.amount),this.validateAndDisplayFee(!0)})},this.deactivateCoinControl=()=>{this.setState({activeCoinControl:!1})},this.onReceiverAddressInputChange=e=>{this.setState({recipientAddress:e},()=>{this.validateAndDisplayFee(!0)})},this.onCoinAmountChange=e=>{this.convertToFiat(e),this.setState({amount:e},()=>{this.validateAndDisplayFee(!0)})},this.onSendAllChange=e=>{e||this.convertToFiat(this.state.amount),this.setState({sendAll:e},()=>{this.validateAndDisplayFee(!0)})}}componentDidMount(){this.props.code&&Ur(this.props.code).then(e=>this.setState({balance:e})).catch(console.error),this.props.deviceIDs.length>0&&this.props.devices[this.props.deviceIDs[0]]==="bitbox"&&Z("devices/"+this.props.deviceIDs[0]+"/has-mobile-channel").then(e=>{Jo(this.props.deviceIDs[0]).then(({pairing:n})=>{const a=this.getAccount(),i=e&&n,o=n&&!e&&a&&La(a.coinCode);this.setState(s=>({...s,paired:i,noMobileChannelError:o}))})}),Z("config").then(e=>{this.setState({btcUnit:e.backend.btcUnit}),this.isBitcoinBased()&&this.setState({coinControl:!!(e.frontend||{}).coinControl})}),this.unsubscribeList=[Yo(e=>{if("type"in e){const{data:n,meta:a,type:i}=e;switch(i){case"device":switch(n){case"signProgress":this.setState({signProgress:a,signConfirm:!1});break;case"signConfirm":this.setState({signConfirm:!0});break}break}}}),Yd(e=>{this.props.code===e&&Ur(e).then(n=>this.setState({balance:n})).catch(console.error)})]}UNSAFE_componentWillMount(){this.registerEvents()}componentWillUnmount(){this.unregisterEvents(),Nl(this.unsubscribeList)}render(){var T;const{t:e,code:n}=this.props,{balance:a,proposedFee:i,proposedTotal:o,recipientAddress:s,proposedAmount:l,valid:c,amount:u,fiatAmount:d,fiatUnit:p,sendAll:h,feeTarget:m,customFee:g,isConfirming:v,isSent:y,isAborted:b,isUpdatingProposal:k,addressError:w,amountError:j,feeError:z,paired:S,signProgress:f,signConfirm:B,coinControl:D,btcUnit:C,activeCoinControl:P,activeScanQR:I,note:E}=this.state,L={proposedFee:i,proposedAmount:l,proposedTotal:o,customFee:g,feeTarget:m,recipientAddress:s,fiatUnit:p},q={isConfirming:v,signProgress:f,signConfirm:B},U=this.getAccount();if(!U)return null;const $=p==="BTC"&&C==="sat"?"sat":p;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{type:"warning",hidden:S!==!1,children:e("warning.sendPairing")}),r.jsx(xe,{title:r.jsx("h2",{children:e("send.title",{accountName:U.coinName})}),children:r.jsx(Qd,{})}),r.jsxs(re,{children:[r.jsxs(ue,{children:[r.jsx("div",{children:r.jsx("label",{className:"labelXLarge",children:e("send.availableBalance")})}),r.jsx(c1,{balance:a,noRotateFiat:!0}),D&&r.jsx(Doe,{accountCode:U.code,active:P,explorerURL:U.blockExplorerTxPrefix,onClose:this.deactivateCoinControl,onChange:this.onSelectedUTXOsChange}),r.jsxs("div",{className:`flex flex-row flex-between ${nre.container}`,children:[r.jsx("label",{className:"labelXLarge",children:e("send.transactionDetails")}),D&&r.jsx(_,{className:"m-bottom-quarter p-right-none",transparent:!0,onClick:this.toggleCoinControl,children:e("send.toggleCoinControl")})]}),r.jsx(Er,{col:"1",children:r.jsx(Ka,{children:r.jsx(Koe,{accountCode:(T=this.getAccount())==null?void 0:T.code,addressError:w,onInputChange:this.onReceiverAddressInputChange,recipientAddress:s,parseQRResult:this.parseQRResult,activeScanQR:I,onChangeActiveScanQR:this.setActiveScanQR})})}),r.jsxs(Er,{children:[r.jsx(Ka,{children:r.jsx(Yoe,{balance:a,onAmountChange:this.onCoinAmountChange,onSendAllChange:this.onSendAllChange,sendAll:h,amountError:j,proposedAmount:l,amount:u,hasSelectedUTXOs:this.hasSelectedUTXOs()})}),r.jsx(Ka,{children:r.jsx(Zoe,{onFiatChange:this.handleFiatInput,disabled:h,error:j,fiatAmount:d,label:$})})]}),r.jsxs(Er,{children:[r.jsx(Ka,{children:r.jsx(moe,{accountCode:U.code,coinCode:U.coinCode,disabled:!u&&!h,fiatUnit:$,proposedFee:i,customFee:g,showCalculatingFeeLabel:k,onFeeTargetChange:this.feeTargetChange,onCustomFee:F=>this.setState({customFee:F},this.validateAndDisplayFee),error:z})}),r.jsxs(Ka,{children:[r.jsx(ere,{note:E,onNoteChange:this.handleNoteInput}),r.jsxs(nu,{className:"m-top-default m-bottom-xlarge",inline:!0,children:[r.jsx(_,{primary:!0,onClick:this.send,disabled:this.sendDisabled()||!c||k,children:e("send.button")}),r.jsx(Qo,{secondary:!0,to:`/account/${n}`,children:e("button.back")})]})]})]})]}),r.jsx(Loe,{paired:S,baseCurrencyUnit:$,note:E,hasSelectedUTXOs:this.hasSelectedUTXOs(),selectedUTXOs:Object.keys(this.selectedUTXOs),coinCode:U.coinCode,transactionDetails:L,transactionStatus:q}),r.jsx(Vk,{isShown:y,messageType:"sent"}),r.jsx(Vk,{isShown:b,messageType:"abort"})]})]})}),r.jsx(Ioe,{coinCode:U.coinCode})]})}}const ire=kn()(are),ore=({accounts:t,code:e,deviceIDs:n,devices:a})=>{const{defaultCurrency:i}=x.useContext(Zo);return r.jsx(ire,{accounts:t,code:e,devices:a,deviceIDs:n,activeCurrency:i})},su=104,rre=t=>H(`devices/bitbox02/${t}/reset`),Yu=t=>Z(`devices/bitbox02/${t}/info`),Zd=t=>Z(`devices/bitbox02/${t}/check-sdcard`),sre=t=>H(`devices/bitbox02/${t}/insert-sdcard`),f1=(t,e)=>H(`devices/bitbox02/${t}/set-device-name`,{name:e}),g1=t=>Z(`devices/bitbox02/${t}/version`),lre=(t,e)=>H(`devices/bitbox02/${t}/set-mnemonic-passphrase-enabled`,e),v1=t=>Z(`devices/bitbox02/${t}/attestation`),Hm=(t,e)=>H(`devices/bitbox02/${t}/backups/check`,{silent:e}),b1=(t,e)=>H(`devices/bitbox02/${t}/backups/create`,e),cre=(t,e)=>H(`devices/bitbox02/${t}/backups/restore`,e),ure=t=>H(`devices/bitbox02/${t}/upgrade-firmware`),dre=t=>H(`devices/bitbox02/${t}/show-mnemonic`),pre=t=>H(`devices/bitbox02/${t}/restore-from-mnemonic`),Km=t=>Z(`devices/bitbox02/${t}/status`),hre=t=>Z(`devices/bitbox02/${t}/channel-hash`),mre=(t,e)=>H(`devices/bitbox02/${t}/channel-hash-verify`,e),fre=(t,e)=>H(`devices/bitbox02/${t}/set-password`,e),gre=t=>Z(`devices/bitbox02/${t}/root-fingerprint`),k1=(t,e)=>{const[n,a]=x.useState(!1),i=ro();return x.useEffect(()=>{const o=Object.keys(t);Promise.all(o.map(s=>{switch(t[s]){case"bitbox":return Jo(s).then(({sdcard:l})=>l);case"bitbox02":return Zd(s);default:return!1}})).then(s=>s.some(l=>l)).then(s=>{i.current&&a(s)}).catch(console.error)},[t,...e||[]]),n};function Ne(t){var e=t.width,n=t.height;if(e<0)throw new Error("Negative width is not allowed for Size");if(n<0)throw new Error("Negative height is not allowed for Size");return{width:e,height:n}}function To(t,e){return t.width===e.width&&t.height===e.height}var vre=function(){function t(e){var n=this;this._resolutionListener=function(){return n._onResolutionChanged()},this._resolutionMediaQueryList=null,this._observers=[],this._window=e,this._installResolutionListener()}return t.prototype.dispose=function(){this._uninstallResolutionListener(),this._window=null},Object.defineProperty(t.prototype,"value",{get:function(){return this._window.devicePixelRatio},enumerable:!1,configurable:!0}),t.prototype.subscribe=function(e){var n=this,a={next:e};return this._observers.push(a),{unsubscribe:function(){n._observers=n._observers.filter(function(i){return i!==a})}}},t.prototype._installResolutionListener=function(){if(this._resolutionMediaQueryList!==null)throw new Error("Resolution listener is already installed");var e=this._window.devicePixelRatio;this._resolutionMediaQueryList=this._window.matchMedia("all and (resolution: ".concat(e,"dppx)")),this._resolutionMediaQueryList.addListener(this._resolutionListener)},t.prototype._uninstallResolutionListener=function(){this._resolutionMediaQueryList!==null&&(this._resolutionMediaQueryList.removeListener(this._resolutionListener),this._resolutionMediaQueryList=null)},t.prototype._reinstallResolutionListener=function(){this._uninstallResolutionListener(),this._installResolutionListener()},t.prototype._onResolutionChanged=function(){var e=this;this._observers.forEach(function(n){return n.next(e._window.devicePixelRatio)}),this._reinstallResolutionListener()},t}();function bre(t){return new vre(t)}var kre=function(){function t(e,n,a){var i;this._canvasElement=null,this._bitmapSizeChangedListeners=[],this._suggestedBitmapSize=null,this._suggestedBitmapSizeChangedListeners=[],this._devicePixelRatioObservable=null,this._canvasElementResizeObserver=null,this._canvasElement=e,this._canvasElementClientSize=Ne({width:this._canvasElement.clientWidth,height:this._canvasElement.clientHeight}),this._transformBitmapSize=n??function(o){return o},this._allowResizeObserver=(i=a==null?void 0:a.allowResizeObserver)!==null&&i!==void 0?i:!0,this._chooseAndInitObserver()}return t.prototype.dispose=function(){var e,n;if(this._canvasElement===null)throw new Error("Object is disposed");(e=this._canvasElementResizeObserver)===null||e===void 0||e.disconnect(),this._canvasElementResizeObserver=null,(n=this._devicePixelRatioObservable)===null||n===void 0||n.dispose(),this._devicePixelRatioObservable=null,this._suggestedBitmapSizeChangedListeners.length=0,this._bitmapSizeChangedListeners.length=0,this._canvasElement=null},Object.defineProperty(t.prototype,"canvasElement",{get:function(){if(this._canvasElement===null)throw new Error("Object is disposed");return this._canvasElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canvasElementClientSize",{get:function(){return this._canvasElementClientSize},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bitmapSize",{get:function(){return Ne({width:this.canvasElement.width,height:this.canvasElement.height})},enumerable:!1,configurable:!0}),t.prototype.resizeCanvasElement=function(e){this._canvasElementClientSize=Ne(e),this.canvasElement.style.width="".concat(this._canvasElementClientSize.width,"px"),this.canvasElement.style.height="".concat(this._canvasElementClientSize.height,"px"),this._invalidateBitmapSize()},t.prototype.subscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners.push(e)},t.prototype.unsubscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners=this._bitmapSizeChangedListeners.filter(function(n){return n!==e})},Object.defineProperty(t.prototype,"suggestedBitmapSize",{get:function(){return this._suggestedBitmapSize},enumerable:!1,configurable:!0}),t.prototype.subscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners.push(e)},t.prototype.unsubscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners=this._suggestedBitmapSizeChangedListeners.filter(function(n){return n!==e})},t.prototype.applySuggestedBitmapSize=function(){if(this._suggestedBitmapSize!==null){var e=this._suggestedBitmapSize;this._suggestedBitmapSize=null,this._resizeBitmap(e),this._emitSuggestedBitmapSizeChanged(e,this._suggestedBitmapSize)}},t.prototype._resizeBitmap=function(e){var n=this.bitmapSize;To(n,e)||(this.canvasElement.width=e.width,this.canvasElement.height=e.height,this._emitBitmapSizeChanged(n,e))},t.prototype._emitBitmapSizeChanged=function(e,n){var a=this;this._bitmapSizeChangedListeners.forEach(function(i){return i.call(a,e,n)})},t.prototype._suggestNewBitmapSize=function(e){var n=this._suggestedBitmapSize,a=Ne(this._transformBitmapSize(e,this._canvasElementClientSize)),i=To(this.bitmapSize,a)?null:a;n===null&&i===null||n!==null&&i!==null&&To(n,i)||(this._suggestedBitmapSize=i,this._emitSuggestedBitmapSizeChanged(n,i))},t.prototype._emitSuggestedBitmapSizeChanged=function(e,n){var a=this;this._suggestedBitmapSizeChangedListeners.forEach(function(i){return i.call(a,e,n)})},t.prototype._chooseAndInitObserver=function(){var e=this;if(!this._allowResizeObserver){this._initDevicePixelRatioObservable();return}yre().then(function(n){return n?e._initResizeObserver():e._initDevicePixelRatioObservable()})},t.prototype._initDevicePixelRatioObservable=function(){var e=this;if(this._canvasElement!==null){var n=qk(this._canvasElement);if(n===null)throw new Error("No window is associated with the canvas");this._devicePixelRatioObservable=bre(n),this._devicePixelRatioObservable.subscribe(function(){return e._invalidateBitmapSize()}),this._invalidateBitmapSize()}},t.prototype._invalidateBitmapSize=function(){var e,n;if(this._canvasElement!==null){var a=qk(this._canvasElement);if(a!==null){var i=(n=(e=this._devicePixelRatioObservable)===null||e===void 0?void 0:e.value)!==null&&n!==void 0?n:a.devicePixelRatio,o=this._canvasElement.getClientRects(),s=o[0]!==void 0?wre(o[0],i):Ne({width:this._canvasElementClientSize.width*i,height:this._canvasElementClientSize.height*i});this._suggestNewBitmapSize(s)}}},t.prototype._initResizeObserver=function(){var e=this;this._canvasElement!==null&&(this._canvasElementResizeObserver=new ResizeObserver(function(n){var a=n.find(function(s){return s.target===e._canvasElement});if(!(!a||!a.devicePixelContentBoxSize||!a.devicePixelContentBoxSize[0])){var i=a.devicePixelContentBoxSize[0],o=Ne({width:i.inlineSize,height:i.blockSize});e._suggestNewBitmapSize(o)}}),this._canvasElementResizeObserver.observe(this._canvasElement,{box:"device-pixel-content-box"}))},t}();function xre(t,e){if(e.type==="device-pixel-content-box")return new kre(t,e.transform,e.options);throw new Error("Unsupported binding target")}function qk(t){return t.ownerDocument.defaultView}function yre(){return new Promise(function(t){var e=new ResizeObserver(function(n){t(n.every(function(a){return"devicePixelContentBoxSize"in a})),e.disconnect()});e.observe(document.body,{box:"device-pixel-content-box"})}).catch(function(){return!1})}function wre(t,e){return Ne({width:Math.round(t.left*e+t.width*e)-Math.round(t.left*e),height:Math.round(t.top*e+t.height*e)-Math.round(t.top*e)})}var jre=function(){function t(e,n,a){if(n.width===0||n.height===0)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=n,a.width===0||a.height===0)throw new TypeError("Rendering target could only be created using a bitmap with positive integer width and height");this._bitmapSize=a,this._context=e}return t.prototype.useMediaCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),e({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},t.prototype.useBitmapCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),e({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}},Object.defineProperty(t.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),t}();function Wo(t,e){var n=t.canvasElementClientSize;if(n.width===0||n.height===0)return null;var a=t.bitmapSize;if(a.width===0||a.height===0)return null;var i=t.canvasElement.getContext("2d",e);return i===null?null:new jre(i,n,a)}/*! + * @license + * TradingView Lightweight Charts™ v4.1.1 + * Copyright (c) 2023 TradingView, Inc. + * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0 + */const Bre={upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},Sre={upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},zre={color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Cre={topColor:"rgba( 46, 220, 135, 0.4)",bottomColor:"rgba( 40, 221, 100, 0)",invertFilledArea:!1,lineColor:"#33D778",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Dre={baseValue:{type:"price",price:0},topFillColor1:"rgba(38, 166, 154, 0.28)",topFillColor2:"rgba(38, 166, 154, 0.05)",topLineColor:"rgba(38, 166, 154, 1)",bottomFillColor1:"rgba(239, 83, 80, 0.05)",bottomFillColor2:"rgba(239, 83, 80, 0.28)",bottomLineColor:"rgba(239, 83, 80, 1)",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Are={color:"#26a69a",base:0},x1={color:"#2196f3"},y1={title:"",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var Hk,Gm;function Uo(t,e){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[e];t.setLineDash(n)}function w1(t,e,n,a){t.beginPath();const i=t.lineWidth%2?.5:0;t.moveTo(n,e+i),t.lineTo(a,e+i),t.stroke()}function eo(t,e){if(!t)throw new Error("Assertion failed"+(e?": "+e:""))}function on(t){if(t===void 0)throw new Error("Value is undefined");return t}function O(t){if(t===null)throw new Error("Value is null");return t}function Br(t){return O(on(t))}(function(t){t[t.Simple=0]="Simple",t[t.WithSteps=1]="WithSteps",t[t.Curved=2]="Curved"})(Hk||(Hk={})),function(t){t[t.Solid=0]="Solid",t[t.Dotted=1]="Dotted",t[t.Dashed=2]="Dashed",t[t.LargeDashed=3]="LargeDashed",t[t.SparseDotted=4]="SparseDotted"}(Gm||(Gm={}));const Kk={khaki:"#f0e68c",azure:"#f0ffff",aliceblue:"#f0f8ff",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",gray:"#808080",green:"#008000",honeydew:"#f0fff0",floralwhite:"#fffaf0",lightblue:"#add8e6",lightcoral:"#f08080",lemonchiffon:"#fffacd",hotpink:"#ff69b4",lightyellow:"#ffffe0",greenyellow:"#adff2f",lightgoldenrodyellow:"#fafad2",limegreen:"#32cd32",linen:"#faf0e6",lightcyan:"#e0ffff",magenta:"#f0f",maroon:"#800000",olive:"#808000",orange:"#ffa500",oldlace:"#fdf5e6",mediumblue:"#0000cd",transparent:"#0000",lime:"#0f0",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",midnightblue:"#191970",orchid:"#da70d6",mediumorchid:"#ba55d3",mediumturquoise:"#48d1cc",orangered:"#ff4500",royalblue:"#4169e1",powderblue:"#b0e0e6",red:"#f00",coral:"#ff7f50",turquoise:"#40e0d0",white:"#fff",whitesmoke:"#f5f5f5",wheat:"#f5deb3",teal:"#008080",steelblue:"#4682b4",bisque:"#ffe4c4",aquamarine:"#7fffd4",aqua:"#0ff",sienna:"#a0522d",silver:"#c0c0c0",springgreen:"#00ff7f",antiquewhite:"#faebd7",burlywood:"#deb887",brown:"#a52a2a",beige:"#f5f5dc",chocolate:"#d2691e",chartreuse:"#7fff00",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cadetblue:"#5f9ea0",tomato:"#ff6347",fuchsia:"#f0f",blue:"#00f",salmon:"#fa8072",blanchedalmond:"#ffebcd",slateblue:"#6a5acd",slategray:"#708090",thistle:"#d8bfd8",tan:"#d2b48c",cyan:"#0ff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",blueviolet:"#8a2be2",black:"#000",darkmagenta:"#8b008b",darkslateblue:"#483d8b",darkkhaki:"#bdb76b",darkorchid:"#9932cc",darkorange:"#ff8c00",darkgreen:"#006400",darkred:"#8b0000",dodgerblue:"#1e90ff",darkslategray:"#2f4f4f",dimgray:"#696969",deepskyblue:"#00bfff",firebrick:"#b22222",forestgreen:"#228b22",indigo:"#4b0082",ivory:"#fffff0",lavenderblush:"#fff0f5",feldspar:"#d19275",indianred:"#cd5c5c",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightskyblue:"#87cefa",lightslategray:"#789",lightslateblue:"#8470ff",snow:"#fffafa",lightseagreen:"#20b2aa",lightsalmon:"#ffa07a",darksalmon:"#e9967a",darkviolet:"#9400d3",mediumpurple:"#9370d8",mediumaquamarine:"#66cdaa",skyblue:"#87ceeb",lavender:"#e6e6fa",lightsteelblue:"#b0c4de",mediumvioletred:"#c71585",mintcream:"#f5fffa",navajowhite:"#ffdead",navy:"#000080",olivedrab:"#6b8e23",palevioletred:"#d87093",violetred:"#d02090",yellow:"#ff0",yellowgreen:"#9acd32",lawngreen:"#7cfc00",pink:"#ffc0cb",paleturquoise:"#afeeee",palegoldenrod:"#eee8aa",darkolivegreen:"#556b2f",darkseagreen:"#8fbc8f",darkturquoise:"#00ced1",peachpuff:"#ffdab9",deeppink:"#ff1493",violet:"#ee82ee",palegreen:"#98fb98",mediumseagreen:"#3cb371",peru:"#cd853f",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",purple:"#800080",seagreen:"#2e8b57",seashell:"#fff5ee",papayawhip:"#ffefd5",mediumslateblue:"#7b68ee",plum:"#dda0dd",mediumspringgreen:"#00fa9a"};function Pn(t){return t<0?0:t>255?255:Math.round(t)||0}function j1(t){return t<=0||t>0?t<0?0:t>1?1:Math.round(1e4*t)/1e4:0}const _re=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,Tre=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,Ere=/^rgb\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*\)$/,Pre=/^rgba\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?[\d]{0,10}(?:\.\d+)?)\s*\)$/;function Zu(t){(t=t.toLowerCase())in Kk&&(t=Kk[t]);{const e=Pre.exec(t)||Ere.exec(t);if(e)return[Pn(parseInt(e[1],10)),Pn(parseInt(e[2],10)),Pn(parseInt(e[3],10)),j1(e.length<5?1:parseFloat(e[4]))]}{const e=Tre.exec(t);if(e)return[Pn(parseInt(e[1],16)),Pn(parseInt(e[2],16)),Pn(parseInt(e[3],16)),1]}{const e=_re.exec(t);if(e)return[Pn(17*parseInt(e[1],16)),Pn(17*parseInt(e[2],16)),Pn(17*parseInt(e[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function Jd(t){const e=Zu(t);return{t:`rgb(${e[0]}, ${e[1]}, ${e[2]})`,i:(n=e,.199*n[0]+.687*n[1]+.114*n[2]>160?"black":"white")};var n}class et{constructor(){this.h=[]}l(e,n,a){const i={o:e,_:n,u:a===!0};this.h.push(i)}v(e){const n=this.h.findIndex(a=>e===a.o);n>-1&&this.h.splice(n,1)}p(e){this.h=this.h.filter(n=>n._!==e)}m(e,n,a){const i=[...this.h];this.h=this.h.filter(o=>!o.u),i.forEach(o=>o.o(e,n,a))}M(){return this.h.length>0}S(){this.h=[]}}function ha(t,...e){for(const n of e)for(const a in n)n[a]!==void 0&&(typeof n[a]!="object"||t[a]===void 0||Array.isArray(n[a])?t[a]=n[a]:ha(t[a],n[a]));return t}function Ta(t){return typeof t=="number"&&isFinite(t)}function kl(t){return typeof t=="number"&&t%1==0}function Il(t){return typeof t=="string"}function Bc(t){return typeof t=="boolean"}function ei(t){const e=t;if(!e||typeof e!="object")return e;let n,a,i;for(a in n=Array.isArray(e)?[]:{},e)e.hasOwnProperty(a)&&(i=e[a],n[a]=i&&typeof i=="object"?ei(i):i);return n}function Nre(t){return t!==null}function xl(t){return t===null?void 0:t}const Vg="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function Kr(t,e,n){return e===void 0&&(e=Vg),`${n=n!==void 0?`${n} `:""}${t}px ${e}`}let Lre=class{constructor(e){this.k={C:1,T:5,P:NaN,R:"",D:"",O:"",A:"",V:0,B:0,I:0,L:0,N:0},this.F=e}W(){const e=this.k,n=this.j(),a=this.H();return e.P===n&&e.D===a||(e.P=n,e.D=a,e.R=Kr(n,a),e.L=2.5/12*n,e.V=e.L,e.B=n/12*e.T,e.I=n/12*e.T,e.N=0),e.O=this.$(),e.A=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}};class Wg{constructor(){this.Y=[]}X(e){this.Y=e}K(e,n,a){this.Y.forEach(i=>{i.K(e,n,a)})}}class Ug{K(e,n,a){e.useMediaCoordinateSpace(i=>this.Z(i,n,a))}G(e,n,a){e.useMediaCoordinateSpace(i=>this.J(i,n,a))}J(e,n,a){}}let Ire=class extends Ug{constructor(){super(...arguments),this.tt=null}it(e){this.tt=e}Z({context:e}){if(this.tt===null||this.tt.nt===null)return;const n=this.tt.nt,a=this.tt,i=o=>{e.beginPath();for(let s=n.to-1;s>=n.from;--s){const l=a.st[s];e.moveTo(l.et,l.rt),e.arc(l.et,l.rt,o,0,2*Math.PI)}e.fill()};a.ht>0&&(e.fillStyle=a.lt,i(a.ot+a.ht)),e.fillStyle=a._t,i(a.ot)}};function $re(){return{st:[{et:0,rt:0,ut:0,ct:0}],_t:"",lt:"",ot:0,ht:0,nt:null}}const Mre={from:0,to:1};class Ore{constructor(e,n){this.dt=new Wg,this.ft=[],this.vt=[],this.bt=!0,this.F=e,this.wt=n,this.dt.X(this.ft)}gt(e){const n=this.F.Mt();n.length!==this.ft.length&&(this.vt=n.map($re),this.ft=this.vt.map(a=>{const i=new Ire;return i.it(a),i}),this.dt.X(this.ft)),this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.dt}St(){const e=this.wt.W().mode===2,n=this.F.Mt(),a=this.wt.kt(),i=this.F.yt();n.forEach((o,s)=>{var l;const c=this.vt[s],u=o.Ct(a);if(e||u===null||!o.Tt())return void(c.nt=null);const d=O(o.Pt());c._t=u.Rt,c.ot=u.ot,c.ht=u.Dt,c.st[0].ct=u.ct,c.st[0].rt=o.At().Ot(u.ct,d.Vt),c.lt=(l=u.Bt)!==null&&l!==void 0?l:this.F.It(c.st[0].rt/o.At().zt()),c.st[0].ut=a,c.st[0].et=i.Et(a),c.nt=Mre})}}class fi{K(e,n,a){e.useBitmapCoordinateSpace(i=>this.Z(i,n,a))}}let Rre=class extends fi{constructor(e){super(),this.Lt=e}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null)return;const o=this.Lt.Nt.Tt,s=this.Lt.Ft.Tt;if(!o&&!s)return;const l=Math.round(this.Lt.et*a),c=Math.round(this.Lt.rt*i);e.lineCap="butt",o&&l>=0&&(e.lineWidth=Math.floor(this.Lt.Nt.ht*a),e.strokeStyle=this.Lt.Nt.O,e.fillStyle=this.Lt.Nt.O,Uo(e,this.Lt.Nt.Wt),function(u,d,p,h){u.beginPath();const m=u.lineWidth%2?.5:0;u.moveTo(d+m,p),u.lineTo(d+m,h),u.stroke()}(e,l,0,n.height)),s&&c>=0&&(e.lineWidth=Math.floor(this.Lt.Ft.ht*i),e.strokeStyle=this.Lt.Ft.O,e.fillStyle=this.Lt.Ft.O,Uo(e,this.Lt.Ft.Wt),w1(e,c,0,n.width))}};class Fre{constructor(e){this.bt=!0,this.jt={Nt:{ht:1,Wt:0,O:"",Tt:!1},Ft:{ht:1,Wt:0,O:"",Tt:!1},et:0,rt:0},this.Ht=new Rre(this.jt),this.$t=e}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht}St(){const e=this.$t.Tt(),n=O(this.$t.Ut()),a=n.qt().W().crosshair,i=this.jt;if(a.mode===2)return i.Ft.Tt=!1,void(i.Nt.Tt=!1);i.Ft.Tt=e&&this.$t.Yt(n),i.Nt.Tt=e&&this.$t.Xt(),i.Ft.ht=a.horzLine.width,i.Ft.Wt=a.horzLine.style,i.Ft.O=a.horzLine.color,i.Nt.ht=a.vertLine.width,i.Nt.Wt=a.vertLine.style,i.Nt.O=a.vertLine.color,i.et=this.$t.Kt(),i.rt=this.$t.Zt()}}function Vre(t,e,n,a,i,o){t.fillRect(e+o,n,a-2*o,o),t.fillRect(e+o,n+i-o,a-2*o,o),t.fillRect(e,n,o,i),t.fillRect(e+a-o,n,o,i)}function Xd(t,e,n,a,i,o){t.save(),t.globalCompositeOperation="copy",t.fillStyle=o,t.fillRect(e,n,a,i),t.restore()}function Gk(t,e){return t.map(n=>n===0?n:n+e)}function lh(t,e,n,a,i,o){t.beginPath(),t.lineTo(e+a-o[1],n),o[1]!==0&&t.arcTo(e+a,n,e+a,n+o[1],o[1]),t.lineTo(e+a,n+i-o[2]),o[2]!==0&&t.arcTo(e+a,n+i,e+a-o[2],n+i,o[2]),t.lineTo(e+o[3],n+i),o[3]!==0&&t.arcTo(e,n+i,e,n+i-o[3],o[3]),t.lineTo(e,n+o[0]),o[0]!==0&&t.arcTo(e,n,e+o[0],n,o[0])}function Qk(t,e,n,a,i,o,s=0,l=[0,0,0,0],c=""){if(t.save(),!s||!c||c===o)return lh(t,e,n,a,i,l),t.fillStyle=o,t.fill(),void t.restore();const u=s/2;o!=="transparent"&&(lh(t,e+s,n+s,a-2*s,i-2*s,Gk(l,-s)),t.fillStyle=o,t.fill()),c!=="transparent"&&(lh(t,e+u,n+u,a-s,i-s,Gk(l,-u)),t.lineWidth=s,t.strokeStyle=c,t.closePath(),t.stroke()),t.restore()}function B1(t,e,n,a,i,o,s){t.save(),t.globalCompositeOperation="copy";const l=t.createLinearGradient(0,0,0,i);l.addColorStop(0,o),l.addColorStop(1,s),t.fillStyle=l,t.fillRect(e,n,a,i),t.restore()}class Yk{constructor(e,n){this.it(e,n)}it(e,n){this.Lt=e,this.Gt=n}zt(e,n){return this.Lt.Tt?e.P+e.L+e.V:0}K(e,n,a,i){if(!this.Lt.Tt||this.Lt.Jt.length===0)return;const o=this.Lt.O,s=this.Gt.t,l=e.useBitmapCoordinateSpace(c=>{const u=c.context;u.font=n.R;const d=this.Qt(c,n,a,i),p=d.ti,h=(m,g)=>{d.ii?Qk(u,p.ni,p.si,p.ei,p.ri,m,p.hi,[p.ot,0,0,p.ot],g):Qk(u,p.li,p.si,p.ei,p.ri,m,p.hi,[0,p.ot,p.ot,0],g)};return h(s,"transparent"),this.Lt.ai&&(u.fillStyle=o,u.fillRect(p.li,p.oi,p._i-p.li,p.ui)),h("transparent",s),this.Lt.ci&&(u.fillStyle=n.A,u.fillRect(d.ii?p.di-p.hi:0,p.si,p.hi,p.fi-p.si)),d});e.useMediaCoordinateSpace(({context:c})=>{const u=l.vi;c.font=n.R,c.textAlign=l.ii?"right":"left",c.textBaseline="middle",c.fillStyle=o,c.fillText(this.Lt.Jt,u.pi,(u.si+u.fi)/2+u.mi)})}Qt(e,n,a,i){var o;const{context:s,bitmapSize:l,mediaSize:c,horizontalPixelRatio:u,verticalPixelRatio:d}=e,p=this.Lt.ai||!this.Lt.bi?n.T:0,h=this.Lt.wi?n.C:0,m=n.L+this.Gt.gi,g=n.V+this.Gt.Mi,v=n.B,y=n.I,b=this.Lt.Jt,k=n.P,w=a.xi(s,b),j=Math.ceil(a.Si(s,b)),z=k+m+g,S=n.C+v+y+j+p,f=Math.max(1,Math.floor(d));let B=Math.round(z*d);B%2!=f%2&&(B+=1);const D=h>0?Math.max(1,Math.floor(h*u)):0,C=Math.round(S*u),P=Math.round(p*u),I=(o=this.Gt.ki)!==null&&o!==void 0?o:this.Gt.yi,E=Math.round(I*d)-Math.floor(.5*d),L=Math.floor(E+f/2-B/2),q=L+B,U=i==="right",$=U?c.width-h:h,T=U?l.width-D:D;let F,N,Q;return U?(F=T-C,N=T-P,Q=$-p-v-h):(F=T+C,N=T+P,Q=$+p+v),{ii:U,ti:{si:L,oi:E,fi:q,ei:C,ri:B,ot:2*u,hi:D,ni:F,li:T,_i:N,ui:f,di:l.width},vi:{si:L/d,fi:q/d,pi:Q,mi:w}}}}class ep{constructor(e){this.Ci={yi:0,t:"#000",Mi:0,gi:0},this.Ti={Jt:"",Tt:!1,ai:!0,bi:!1,Bt:"",O:"#FFF",ci:!1,wi:!1},this.Pi={Jt:"",Tt:!1,ai:!1,bi:!0,Bt:"",O:"#FFF",ci:!0,wi:!0},this.bt=!0,this.Ri=new(e||Yk)(this.Ti,this.Ci),this.Di=new(e||Yk)(this.Pi,this.Ci)}Jt(){return this.Oi(),this.Ti.Jt}yi(){return this.Oi(),this.Ci.yi}gt(){this.bt=!0}zt(e,n=!1){return Math.max(this.Ri.zt(e,n),this.Di.zt(e,n))}Ai(){return this.Ci.ki||0}Vi(e){this.Ci.ki=e}Bi(){return this.Oi(),this.Ti.Tt||this.Pi.Tt}Ii(){return this.Oi(),this.Ti.Tt}xt(e){return this.Oi(),this.Ti.ai=this.Ti.ai&&e.W().ticksVisible,this.Pi.ai=this.Pi.ai&&e.W().ticksVisible,this.Ri.it(this.Ti,this.Ci),this.Di.it(this.Pi,this.Ci),this.Ri}zi(){return this.Oi(),this.Ri.it(this.Ti,this.Ci),this.Di.it(this.Pi,this.Ci),this.Di}Oi(){this.bt&&(this.Ti.ai=!0,this.Pi.ai=!1,this.Ei(this.Ti,this.Pi,this.Ci))}}class Wre extends ep{constructor(e,n,a){super(),this.$t=e,this.Li=n,this.Ni=a}Ei(e,n,a){if(e.Tt=!1,this.$t.W().mode===2)return;const i=this.$t.W().horzLine;if(!i.labelVisible)return;const o=this.Li.Pt();if(!this.$t.Tt()||this.Li.Fi()||o===null)return;const s=Jd(i.labelBackgroundColor);a.t=s.t,e.O=s.i;const l=2/12*this.Li.P();a.gi=l,a.Mi=l;const c=this.Ni(this.Li);a.yi=c.yi,e.Jt=this.Li.Wi(c.ct,o),e.Tt=!0}}const Ure=/[1-9]/g;let S1=class{constructor(){this.Lt=null}it(e){this.Lt=e}K(e,n){if(this.Lt===null||this.Lt.Tt===!1||this.Lt.Jt.length===0)return;const a=e.useMediaCoordinateSpace(({context:h})=>(h.font=n.R,Math.round(n.ji.Si(h,O(this.Lt).Jt,Ure))));if(a<=0)return;const i=n.Hi,o=a+2*i,s=o/2,l=this.Lt.$i;let c=this.Lt.yi,u=Math.floor(c-s)+.5;u<0?(c+=Math.abs(0-u),u=Math.floor(c-s)+.5):u+o>l&&(c-=Math.abs(l-(u+o)),u=Math.floor(c-s)+.5);const d=u+o,p=Math.ceil(0+n.C+n.T+n.L+n.P+n.V);e.useBitmapCoordinateSpace(({context:h,horizontalPixelRatio:m,verticalPixelRatio:g})=>{const v=O(this.Lt);h.fillStyle=v.t;const y=Math.round(u*m),b=Math.round(0*g),k=Math.round(d*m),w=Math.round(p*g),j=Math.round(2*m);if(h.beginPath(),h.moveTo(y,b),h.lineTo(y,w-j),h.arcTo(y,w,y+j,w,j),h.lineTo(k-j,w),h.arcTo(k,w,k,w-j,j),h.lineTo(k,b),h.fill(),v.ai){const z=Math.round(v.yi*m),S=b,f=Math.round((S+n.T)*g);h.fillStyle=v.O;const B=Math.max(1,Math.floor(m)),D=Math.floor(.5*m);h.fillRect(z-D,S,B,f-S)}}),e.useMediaCoordinateSpace(({context:h})=>{const m=O(this.Lt),g=0+n.C+n.T+n.L+n.P/2;h.font=n.R,h.textAlign="left",h.textBaseline="middle",h.fillStyle=m.O;const v=n.ji.xi(h,"Apr0");h.translate(u+i,g+v),h.fillText(m.Jt,0,0)})}},qre=class{constructor(e,n,a){this.bt=!0,this.Ht=new S1,this.jt={Tt:!1,t:"#4c525e",O:"white",Jt:"",$i:0,yi:NaN,ai:!0},this.wt=e,this.Ui=n,this.Ni=a}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht.it(this.jt),this.Ht}St(){const e=this.jt;if(e.Tt=!1,this.wt.W().mode===2)return;const n=this.wt.W().vertLine;if(!n.labelVisible)return;const a=this.Ui.yt();if(a.Fi())return;e.$i=a.$i();const i=this.Ni();if(i===null)return;e.yi=i.yi;const o=a.qi(this.wt.kt());e.Jt=a.Yi(O(o)),e.Tt=!0;const s=Jd(n.labelBackgroundColor);e.t=s.t,e.O=s.i,e.ai=a.W().ticksVisible}},qg=class{constructor(){this.Xi=null,this.Ki=0}Zi(){return this.Ki}Gi(e){this.Ki=e}At(){return this.Xi}Ji(e){this.Xi=e}Qi(e){return[]}tn(){return[]}Tt(){return!0}};var Zk;(function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet",t[t.Hidden=2]="Hidden"})(Zk||(Zk={}));let Hre=class extends qg{constructor(e,n){super(),this.nn=null,this.sn=NaN,this.en=0,this.rn=!0,this.hn=new Map,this.ln=!1,this.an=NaN,this.on=NaN,this._n=NaN,this.un=NaN,this.Ui=e,this.cn=n,this.dn=new Ore(e,this),this.fn=((i,o)=>s=>{const l=o(),c=i();if(s===O(this.nn).vn())return{ct:c,yi:l};{const u=O(s.Pt());return{ct:s.pn(l,u),yi:l}}})(()=>this.sn,()=>this.on);const a=((i,o)=>()=>{const s=this.Ui.yt().mn(i()),l=o();return s&&Number.isFinite(l)?{ut:s,yi:l}:null})(()=>this.en,()=>this.Kt());this.bn=new qre(this,e,a),this.wn=new Fre(this)}W(){return this.cn}gn(e,n){this._n=e,this.un=n}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(e,n,a){this.ln||(this.ln=!0),this.rn=!0,this.yn(e,n,a)}kt(){return this.en}Kt(){return this.an}Zt(){return this.on}Tt(){return this.rn}Cn(){this.rn=!1,this.Tn(),this.sn=NaN,this.an=NaN,this.on=NaN,this.nn=null,this.Mn()}Pn(e){return this.nn!==null?[this.wn,this.dn]:[]}Yt(e){return e===this.nn&&this.cn.horzLine.visible}Xt(){return this.cn.vertLine.visible}Rn(e,n){this.rn&&this.nn===e||this.hn.clear();const a=[];return this.nn===e&&a.push(this.Dn(this.hn,n,this.fn)),a}tn(){return this.rn?[this.bn]:[]}Ut(){return this.nn}On(){this.wn.gt(),this.hn.forEach(e=>e.gt()),this.bn.gt(),this.dn.gt()}An(e){return e&&!e.vn().Fi()?e.vn():null}yn(e,n,a){this.Vn(e,n,a)&&this.On()}Vn(e,n,a){const i=this.an,o=this.on,s=this.sn,l=this.en,c=this.nn,u=this.An(a);this.en=e,this.an=isNaN(e)?NaN:this.Ui.yt().Et(e),this.nn=a;const d=u!==null?u.Pt():null;return u!==null&&d!==null?(this.sn=n,this.on=u.Ot(n,d)):(this.sn=NaN,this.on=NaN),i!==this.an||o!==this.on||l!==this.en||s!==this.sn||c!==this.nn}Tn(){const e=this.Ui.Mt().map(a=>a.In().Bn()).filter(Nre),n=e.length===0?null:Math.max(...e);this.en=n!==null?n:NaN}Dn(e,n,a){let i=e.get(n);return i===void 0&&(i=new Wre(this,n,a),e.set(n,i)),i}};function tp(t){return t==="left"||t==="right"}class vt{constructor(e){this.zn=new Map,this.En=[],this.Ln=e}Nn(e,n){const a=function(i,o){return i===void 0?o:{Fn:Math.max(i.Fn,o.Fn),Wn:i.Wn||o.Wn}}(this.zn.get(e),n);this.zn.set(e,a)}jn(){return this.Ln}Hn(e){const n=this.zn.get(e);return n===void 0?{Fn:this.Ln}:{Fn:Math.max(this.Ln,n.Fn),Wn:n.Wn}}$n(){this.Un(),this.En=[{qn:0}]}Yn(e){this.Un(),this.En=[{qn:1,Vt:e}]}Xn(e){this.Kn(),this.En.push({qn:5,Vt:e})}Un(){this.Kn(),this.En.push({qn:6})}Zn(){this.Un(),this.En=[{qn:4}]}Gn(e){this.Un(),this.En.push({qn:2,Vt:e})}Jn(e){this.Un(),this.En.push({qn:3,Vt:e})}Qn(){return this.En}ts(e){for(const n of e.En)this.ns(n);this.Ln=Math.max(this.Ln,e.Ln),e.zn.forEach((n,a)=>{this.Nn(a,n)})}static ss(){return new vt(2)}static es(){return new vt(3)}ns(e){switch(e.qn){case 0:this.$n();break;case 1:this.Yn(e.Vt);break;case 2:this.Gn(e.Vt);break;case 3:this.Jn(e.Vt);break;case 4:this.Zn();break;case 5:this.Xn(e.Vt);break;case 6:this.Kn()}}Kn(){const e=this.En.findIndex(n=>n.qn===5);e!==-1&&this.En.splice(e,1)}}const Jk=".";function ti(t,e){if(!Ta(t))return"n/a";if(!kl(e))throw new TypeError("invalid length");if(e<0||e>16)throw new TypeError("invalid length");return e===0?t.toString():("0000000000000000"+t.toString()).slice(-e)}let np=class{constructor(e,n){if(n||(n=1),Ta(e)&&kl(e)||(e=100),e<0)throw new TypeError("invalid base");this.Li=e,this.rs=n,this.hs()}format(e){const n=e<0?"−":"";return e=Math.abs(e),n+this.ls(e)}hs(){if(this.os=0,this.Li>0&&this.rs>0){let e=this.Li;for(;e>1;)e/=10,this.os++}}ls(e){const n=this.Li/this.rs;let a=Math.floor(e),i="";const o=this.os!==void 0?this.os:NaN;if(n>1){let s=+(Math.round(e*n)-a*n).toFixed(this.os);s>=n&&(s-=n,a+=1),i=Jk+ti(+s.toFixed(this.os)*this.rs,o)}else a=Math.round(a*n)/n,o>0&&(i=Jk+ti(0,o));return a.toFixed(0)+i}},z1=class extends np{constructor(e=100){super(e)}format(e){return`${super.format(e)}%`}},Kre=class{constructor(e){this._s=e}format(e){let n="";return e<0&&(n="-",e=-e),e<995?n+this.us(e):e<999995?n+this.us(e/1e3)+"K":e<999999995?(e=1e3*Math.round(e/1e3),n+this.us(e/1e6)+"M"):(e=1e6*Math.round(e/1e6),n+this.us(e/1e9)+"B")}us(e){let n;const a=Math.pow(10,this._s);return n=(e=Math.round(e*a)/a)>=1e-15&&e<1?e.toFixed(this._s).replace(/\.?0+$/,""):String(e),n.replace(/(\.[1-9]*)0+$/,(i,o)=>o)}};function C1(t,e,n,a,i,o,s){if(e.length===0||a.from>=e.length||a.to<=0)return;const{context:l,horizontalPixelRatio:c,verticalPixelRatio:u}=t,d=e[a.from];let p=o(t,d),h=d;if(a.to-a.from<2){const m=i/2;l.beginPath();const g={et:d.et-m,rt:d.rt},v={et:d.et+m,rt:d.rt};l.moveTo(g.et*c,g.rt*u),l.lineTo(v.et*c,v.rt*u),s(t,p,g,v)}else{const m=(v,y)=>{s(t,p,h,y),l.beginPath(),p=v,h=y};let g=h;l.beginPath(),l.moveTo(d.et*c,d.rt*u);for(let v=a.from+1;v=g.from;--S){const f=h[S];if(f){const B=v(p,f);B!==w&&(k.beginPath(),w!==null&&k.fill(),k.fillStyle=B,w=B);const D=Math.round(f.et*y)+j,C=f.rt*b;k.moveTo(D,C),k.arc(D,C,z,0,2*Math.PI)}}k.fill()}(e,n,c,a,d)}},T1=class extends _1{Ds(e,n){return n._t}};function E1(t,e,n,a,i=0,o=e.length){let s=o-i;for(;0>1,c=i+l;a(e[c],n)===t?(i=c+1,s-=l+1):s=l}return i}const $l=E1.bind(null,!0),P1=E1.bind(null,!1);function Jre(t,e){return t.ut0&&o=a&&(l=o-1),s>0&&sObject.assign(Object.assign({},e),this.Es.$s().Hs(e.ut)))}Us(){this.zs=null}Fs(){this.Vs&&(this.qs(),this.Vs=!1),this.Bs&&(this.js(),this.Bs=!1),this.As&&(this.Ys(),this.As=!1)}Ys(){const e=this.Es.At(),n=this.Ls.yt();if(this.Us(),n.Fi()||e.Fi())return;const a=n.Xs();if(a===null||this.Es.In().Ks()===0)return;const i=this.Es.Pt();i!==null&&(this.zs=N1(this.Is,a,this.Ns),this.Zs(e,n,i.Vt),this.Gs())}},ap=class extends Kg{constructor(e,n){super(e,n,!0)}Zs(e,n,a){n.Js(this.Is,xl(this.zs)),e.Qs(this.Is,a,xl(this.zs))}te(e,n){return{ut:e,ct:n,et:NaN,rt:NaN}}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>{const a=n.Vt[3];return this.ne(n.se,a,e)})}},ese=class extends ap{constructor(e,n){super(e,n),this.Ws=new Wg,this.ee=new Yre,this.re=new T1,this.Ws.X([this.ee,this.re])}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.W();this.ee.it({ds:e.lineType,st:this.Is,Wt:e.lineStyle,ht:e.lineWidth,fs:null,vs:e.invertFilledArea,nt:this.zs,cs:this.Ls.yt().he()}),this.re.it({ds:e.lineVisible?e.lineType:void 0,st:this.Is,Wt:e.lineStyle,ht:e.lineWidth,nt:this.zs,cs:this.Ls.yt().he(),Rs:e.pointMarkersVisible?e.pointMarkersRadius||e.lineWidth/2+2:void 0})}},tse=class extends fi{constructor(){super(...arguments),this.Lt=null,this.le=0,this.ae=0}it(e){this.Lt=e}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){if(this.Lt===null||this.Lt.In.length===0||this.Lt.nt===null)return;this.le=this.oe(n),this.le>=2&&Math.max(1,Math.floor(n))%2!=this.le%2&&this.le--,this.ae=this.Lt._e?Math.min(this.le,Math.floor(n)):this.le;let i=null;const o=this.ae<=this.le&&this.Lt.he>=Math.floor(1.5*n);for(let s=this.Lt.nt.from;sv+b-1&&(B=v+b-1,f=B-p+1),e.fillRect(S,f,d-S,B-f+1)}const w=u+k;let j=Math.max(v,Math.round(l.pe*a)-c),z=j+p-1;z>v+b-1&&(z=v+b-1,j=z-p+1),e.fillRect(h+1,j,w-h,z-j+1)}}}oe(e){const n=Math.floor(e);return Math.max(n,Math.floor(function(a,i){return Math.floor(.3*a*i)}(O(this.Lt).he,e)))}},L1=class extends Kg{constructor(e,n){super(e,n,!1)}Zs(e,n,a){n.Js(this.Is,xl(this.zs)),e.me(this.Is,a,xl(this.zs))}be(e,n,a){return{ut:e,we:n.Vt[0],ge:n.Vt[1],Me:n.Vt[2],xe:n.Vt[3],et:NaN,ve:NaN,ce:NaN,de:NaN,pe:NaN}}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>this.ne(n.se,n,e))}},nse=class extends L1{constructor(){super(...arguments),this.Ws=new tse}ne(e,n,a){return Object.assign(Object.assign({},this.be(e,n,a)),a.Hs(e))}Gs(){const e=this.Es.W();this.Ws.it({In:this.Is,he:this.Ls.yt().he(),fe:e.openVisible,_e:e.thinBars,nt:this.zs})}},ase=class extends D1{constructor(){super(...arguments),this.Cs=new Hg}ps(e,n){const a=this.tt;return this.Cs.bs(e,{gs:n.Se,Ms:n.ke,xs:n.ye,Ss:n.Ce,ks:e.bitmapSize.height,fs:a.fs})}},ise=class extends _1{constructor(){super(...arguments),this.Te=new Hg}Ds(e,n){const a=this.tt;return this.Te.bs(e,{gs:n.Pe,Ms:n.Pe,xs:n.Re,Ss:n.Re,ks:e.bitmapSize.height,fs:a.fs})}},ose=class extends ap{constructor(e,n){super(e,n),this.Ws=new Wg,this.De=new ase,this.Oe=new ise,this.Ws.X([this.De,this.Oe])}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.Pt();if(e===null)return;const n=this.Es.W(),a=this.Es.At().Ot(n.baseValue.price,e.Vt),i=this.Ls.yt().he();this.De.it({st:this.Is,ht:n.lineWidth,Wt:n.lineStyle,ds:n.lineType,fs:a,vs:!1,nt:this.zs,cs:i}),this.Oe.it({st:this.Is,ht:n.lineWidth,Wt:n.lineStyle,ds:n.lineVisible?n.lineType:void 0,Rs:n.pointMarkersVisible?n.pointMarkersRadius||n.lineWidth/2+2:void 0,fs:a,nt:this.zs,cs:i})}},rse=class extends fi{constructor(){super(...arguments),this.Lt=null,this.le=0}it(e){this.Lt=e}Z(e){if(this.Lt===null||this.Lt.In.length===0||this.Lt.nt===null)return;const{horizontalPixelRatio:n}=e;this.le=function(o,s){if(o>=2.5&&o<=4)return Math.floor(3*s);const l=1-.2*Math.atan(Math.max(4,o)-4)/(.5*Math.PI),c=Math.floor(o*l*s),u=Math.floor(o*s),d=Math.min(c,u);return Math.max(Math.floor(s),d)}(this.Lt.he,n),this.le>=2&&Math.floor(n)%2!=this.le%2&&this.le--;const a=this.Lt.In;this.Lt.Ae&&this.Ve(e,a,this.Lt.nt),this.Lt.ci&&this.Be(e,a,this.Lt.nt);const i=this.Ie(n);(!this.Lt.ci||this.le>2*i)&&this.ze(e,a,this.Lt.nt)}Ve(e,n,a){if(this.Lt===null)return;const{context:i,horizontalPixelRatio:o,verticalPixelRatio:s}=e;let l="",c=Math.min(Math.floor(o),Math.floor(this.Lt.he*o));c=Math.max(Math.floor(o),Math.min(c,this.le));const u=Math.floor(.5*c);let d=null;for(let p=a.from;p2*c)Vre(i,h,g,m-h+1,v-g+1,c);else{const y=m-h+1;i.fillRect(h,g,y,v-g+1)}u=m}}ze(e,n,a){if(this.Lt===null)return;const{context:i,horizontalPixelRatio:o,verticalPixelRatio:s}=e;let l="";const c=this.Ie(o);for(let u=a.from;uh||i.fillRect(m,p,g-m+1,h-p+1)}}},sse=class extends L1{constructor(){super(...arguments),this.Ws=new rse}ne(e,n,a){return Object.assign(Object.assign({},this.be(e,n,a)),a.Hs(e))}Gs(){const e=this.Es.W();this.Ws.it({In:this.Is,he:this.Ls.yt().he(),Ae:e.wickVisible,ci:e.borderVisible,nt:this.zs})}},lse=class{constructor(e,n){this.Ne=e,this.Li=n}K(e,n,a){this.Ne.draw(e,this.Li,n,a)}},uh=class extends Kg{constructor(e,n,a){super(e,n,!1),this.wn=a,this.Ws=new lse(this.wn.renderer(),i=>{const o=e.Pt();return o===null?null:e.At().Ot(i,o.Vt)})}Fe(e){return this.wn.priceValueBuilder(e)}We(e){return this.wn.isWhitespace(e)}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>Object.assign(Object.assign({ut:n.se,et:NaN},e.Hs(n.se)),{je:n.He}))}Zs(e,n){n.Js(this.Is,xl(this.zs))}Gs(){this.wn.update({bars:this.Is.map(cse),barSpacing:this.Ls.yt().he(),visibleRange:this.zs},this.Es.W())}};function cse(t){return{x:t.et,time:t.ut,originalData:t.je,barColor:t.ue}}let use=class extends fi{constructor(){super(...arguments),this.Lt=null,this.$e=[]}it(e){this.Lt=e,this.$e=[]}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){if(this.Lt===null||this.Lt.st.length===0||this.Lt.nt===null)return;this.$e.length||this.Ue(n);const i=Math.max(1,Math.floor(a)),o=Math.round(this.Lt.qe*a)-Math.floor(i/2),s=o+i;for(let l=this.Lt.nt.from;ll.Xe?l.di=s.Os-n-1:s.Os=l.di+n+1)}let i=Math.ceil(this.Lt.he*e);for(let o=this.Lt.nt.from;o0&&i<4)for(let o=this.Lt.nt.from;oi&&(s.Ye>s.Xe?s.di-=1:s.Os+=1)}}};class dse extends ap{constructor(){super(...arguments),this.Ws=new use}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e={st:this.Is,he:this.Ls.yt().he(),nt:this.zs,qe:this.Es.At().Ot(this.Es.W().base,O(this.Es.Pt()).Vt)};this.Ws.it(e)}}class pse extends ap{constructor(){super(...arguments),this.Ws=new T1}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.W(),n={st:this.Is,Wt:e.lineStyle,ds:e.lineVisible?e.lineType:void 0,ht:e.lineWidth,Rs:e.pointMarkersVisible?e.pointMarkersRadius||e.lineWidth/2+2:void 0,nt:this.zs,cs:this.Ls.yt().he()};this.Ws.it(n)}}const hse=/[2-9]/g;class yl{constructor(e=50){this.Ke=0,this.Ze=1,this.Ge=1,this.Je={},this.Qe=new Map,this.tr=e}ir(){this.Ke=0,this.Qe.clear(),this.Ze=1,this.Ge=1,this.Je={}}Si(e,n,a){return this.nr(e,n,a).width}xi(e,n,a){const i=this.nr(e,n,a);return((i.actualBoundingBoxAscent||0)-(i.actualBoundingBoxDescent||0))/2}nr(e,n,a){const i=a||hse,o=String(n).replace(i,"0");if(this.Qe.has(o))return on(this.Qe.get(o)).sr;if(this.Ke===this.tr){const l=this.Je[this.Ge];delete this.Je[this.Ge],this.Qe.delete(l),this.Ge++,this.Ke--}e.save(),e.textBaseline="middle";const s=e.measureText(o);return e.restore(),s.width===0&&n.length||(this.Qe.set(o,{sr:s,er:this.Ze}),this.Je[this.Ze]=o,this.Ke++,this.Ze++),s}}class mse{constructor(e){this.rr=null,this.k=null,this.hr="right",this.lr=e}ar(e,n,a){this.rr=e,this.k=n,this.hr=a}K(e){this.k!==null&&this.rr!==null&&this.rr.K(e,this.k,this.lr,this.hr)}}class I1{constructor(e,n,a){this._r=e,this.lr=new yl(50),this.ur=n,this.F=a,this.j=-1,this.Ht=new mse(this.lr)}xt(){const e=this.F.cr(this.ur);if(e===null)return null;const n=e.dr(this.ur)?e.vr():this.ur.At();if(n===null)return null;const a=e.pr(n);if(a==="overlay")return null;const i=this.F.mr();return i.P!==this.j&&(this.j=i.P,this.lr.ir()),this.Ht.ar(this._r.zi(),i,a),this.Ht}}class fse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}br(e,n){var a;if(!(!((a=this.Lt)===null||a===void 0)&&a.Tt))return null;const{rt:i,ht:o,wr:s}=this.Lt;return n>=i-o-7&&n<=i+o+7?{gr:this.Lt,wr:s}:null}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null||this.Lt.Tt===!1)return;const o=Math.round(this.Lt.rt*i);o<0||o>n.height||(e.lineCap="butt",e.strokeStyle=this.Lt.O,e.lineWidth=Math.floor(this.Lt.ht*a),Uo(e,this.Lt.Wt),w1(e,o,0,n.width))}}class Gg{constructor(e){this.Mr={rt:0,O:"rgba(0, 0, 0, 0)",ht:1,Wt:0,Tt:!1},this.Sr=new fse,this.bt=!0,this.Es=e,this.Ls=e.qt(),this.Sr.it(this.Mr)}gt(){this.bt=!0}xt(){return this.Es.Tt()?(this.bt&&(this.kr(),this.bt=!1),this.Sr):null}}class gse extends Gg{constructor(e){super(e)}kr(){this.Mr.Tt=!1;const e=this.Es.At(),n=e.yr().yr;if(n!==2&&n!==3)return;const a=this.Es.W();if(!a.baseLineVisible||!this.Es.Tt())return;const i=this.Es.Pt();i!==null&&(this.Mr.Tt=!0,this.Mr.rt=e.Ot(i.Vt,i.Vt),this.Mr.O=a.baseLineColor,this.Mr.ht=a.baseLineWidth,this.Mr.Wt=a.baseLineStyle)}}class vse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}He(){return this.Lt}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){const i=this.Lt;if(i===null)return;const o=Math.max(1,Math.floor(n)),s=o%2/2,l=Math.round(i.Xe.x*n)+s,c=i.Xe.y*a;e.fillStyle=i.Cr,e.beginPath();const u=Math.max(2,1.5*i.Tr)*n;e.arc(l,c,u,0,2*Math.PI,!1),e.fill(),e.fillStyle=i.Pr,e.beginPath(),e.arc(l,c,i.ot*n,0,2*Math.PI,!1),e.fill(),e.lineWidth=o,e.strokeStyle=i.Rr,e.beginPath(),e.arc(l,c,i.ot*n+o/2,0,2*Math.PI,!1),e.stroke()}}const bse=[{Dr:0,Or:.25,Ar:4,Vr:10,Br:.25,Ir:0,zr:.4,Er:.8},{Dr:.25,Or:.525,Ar:10,Vr:14,Br:0,Ir:0,zr:.8,Er:0},{Dr:.525,Or:1,Ar:14,Vr:14,Br:0,Ir:0,zr:0,Er:0}];function tx(t,e,n,a){return function(i,o){if(i==="transparent")return i;const s=Zu(i),l=s[3];return`rgba(${s[0]}, ${s[1]}, ${s[2]}, ${o*l})`}(t,n+(a-n)*e)}function nx(t,e){const n=t%2600/2600;let a;for(const c of bse)if(n>=c.Dr&&n<=c.Or){a=c;break}eo(a!==void 0,"Last price animation internal logic error");const i=(n-a.Dr)/(a.Or-a.Dr);return{Pr:tx(e,i,a.Br,a.Ir),Rr:tx(e,i,a.zr,a.Er),ot:(o=i,s=a.Ar,l=a.Vr,s+(l-s)*o)};var o,s,l}class kse{constructor(e){this.Ht=new vse,this.bt=!0,this.Lr=!0,this.Nr=performance.now(),this.Fr=this.Nr-1,this.Wr=e}jr(){this.Fr=this.Nr-1,this.gt()}Hr(){if(this.gt(),this.Wr.W().lastPriceAnimation===2){const e=performance.now(),n=this.Fr-e;if(n>0)return void(n<650&&(this.Fr+=2600));this.Nr=e,this.Fr=e+2600}}gt(){this.bt=!0}$r(){this.Lr=!0}Tt(){return this.Wr.W().lastPriceAnimation!==0}Ur(){switch(this.Wr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Fr}}xt(){return this.bt?(this.St(),this.bt=!1,this.Lr=!1):this.Lr&&(this.qr(),this.Lr=!1),this.Ht}St(){this.Ht.it(null);const e=this.Wr.qt().yt(),n=e.Xs(),a=this.Wr.Pt();if(n===null||a===null)return;const i=this.Wr.Yr(!0);if(i.Xr||!n.Kr(i.se))return;const o={x:e.Et(i.se),y:this.Wr.At().Ot(i.ct,a.Vt)},s=i.O,l=this.Wr.W().lineWidth,c=nx(this.Zr(),s);this.Ht.it({Cr:s,Tr:l,Pr:c.Pr,Rr:c.Rr,ot:c.ot,Xe:o})}qr(){const e=this.Ht.He();if(e!==null){const n=nx(this.Zr(),e.Cr);e.Pr=n.Pr,e.Rr=n.Rr,e.ot=n.ot}}Zr(){return this.Ur()?performance.now()-this.Nr:2599}}function Us(t,e){return A1(Math.min(Math.max(t,12),30)*e)}function wl(t,e){switch(t){case"arrowDown":case"arrowUp":return Us(e,1);case"circle":return Us(e,.8);case"square":return Us(e,.7)}}function $1(t){return function(e){const n=Math.ceil(e);return n%2!=0?n-1:n}(Us(t,1))}function ax(t){return Math.max(Us(t,.1),3)}function M1(t,e,n,a,i){const o=wl("square",n),s=(o-1)/2,l=t-s,c=e-s;return a>=l&&a<=l+o&&i>=c&&i<=c+o}function ix(t,e,n,a,i){const o=(wl("arrowUp",i)-1)/2,s=(A1(i/2)-1)/2;e.beginPath(),t?(e.moveTo(n-o,a),e.lineTo(n,a-o),e.lineTo(n+o,a),e.lineTo(n+s,a),e.lineTo(n+s,a+o),e.lineTo(n-s,a+o),e.lineTo(n-s,a)):(e.moveTo(n-o,a),e.lineTo(n,a+o),e.lineTo(n+o,a),e.lineTo(n+s,a),e.lineTo(n+s,a-o),e.lineTo(n-s,a-o),e.lineTo(n-s,a)),e.fill()}function xse(t,e,n,a,i,o){return M1(e,n,a,i,o)}class yse extends Ug{constructor(){super(...arguments),this.Lt=null,this.lr=new yl,this.j=-1,this.H="",this.Gr=""}it(e){this.Lt=e}ar(e,n){this.j===e&&this.H===n||(this.j=e,this.H=n,this.Gr=Kr(e,n),this.lr.ir())}br(e,n){if(this.Lt===null||this.Lt.nt===null)return null;for(let a=this.Lt.nt.from;a=a&&l<=a+o&&c>=i-u&&c<=i+u}(t.Jt.et,t.Jt.rt,t.Jt.$i,t.Jt.zt,e,n))||function(a,i,o){if(a.Ks===0)return!1;switch(a.th){case"arrowDown":case"arrowUp":return xse(0,a.et,a.rt,a.Ks,i,o);case"circle":return function(s,l,c,u,d){const p=2+wl("circle",c)/2,h=s-u,m=l-d;return Math.sqrt(h*h+m*m)<=p}(a.et,a.rt,a.Ks,i,o);case"square":return M1(a.et,a.rt,a.Ks,i,o)}}(t,e,n)}function Bse(t,e,n,a,i,o,s,l,c){const u=Ta(n)?n:n.xe,d=Ta(n)?n:n.ge,p=Ta(n)?n:n.Me,h=Ta(e.size)?Math.max(e.size,0):1,m=$1(l.he())*h,g=m/2;switch(t.Ks=m,e.position){case"inBar":return t.rt=s.Ot(u,c),void(t.Jt!==void 0&&(t.Jt.rt=t.rt+g+o+.6*i));case"aboveBar":return t.rt=s.Ot(d,c)-g-a.ih,t.Jt!==void 0&&(t.Jt.rt=t.rt-g-.6*i,a.ih+=1.2*i),void(a.ih+=m+o);case"belowBar":return t.rt=s.Ot(p,c)+g+a.nh,t.Jt!==void 0&&(t.Jt.rt=t.rt+g+o+.6*i,a.nh+=1.2*i),void(a.nh+=m+o)}e.position}class Sse{constructor(e,n){this.bt=!0,this.sh=!0,this.eh=!0,this.rh=null,this.Ht=new yse,this.Wr=e,this.Ui=n,this.Lt={st:[],nt:null}}gt(e){this.bt=!0,this.eh=!0,e==="data"&&(this.sh=!0)}xt(e){if(!this.Wr.Tt())return null;this.bt&&this.hh();const n=this.Ui.W().layout;return this.Ht.ar(n.fontSize,n.fontFamily),this.Ht.it(this.Lt),this.Ht}lh(){if(this.eh){if(this.Wr.ah().length>0){const e=this.Ui.yt().he(),n=ax(e),a=1.5*$1(e)+2*n;this.rh={above:a,below:a}}else this.rh=null;this.eh=!1}return this.rh}hh(){const e=this.Wr.At(),n=this.Ui.yt(),a=this.Wr.ah();this.sh&&(this.Lt.st=a.map(d=>({ut:d.time,et:0,rt:0,Ks:0,th:d.shape,O:d.color,Jr:d.Jr,wr:d.id,Jt:void 0})),this.sh=!1);const i=this.Ui.W().layout;this.Lt.nt=null;const o=n.Xs();if(o===null)return;const s=this.Wr.Pt();if(s===null||this.Lt.st.length===0)return;let l=NaN;const c=ax(n.he()),u={ih:c,nh:c};this.Lt.nt=N1(this.Lt.st,o,!0);for(let d=this.Lt.nt.from;d0&&(h.Jt={Qr:p.text,et:0,rt:0,$i:0,zt:0});const m=this.Wr.oh(p.time);m!==null&&Bse(h,p,m,u,i.fontSize,c,e,n,s.Vt)}this.bt=!1}}class zse extends Gg{constructor(e){super(e)}kr(){const e=this.Mr;e.Tt=!1;const n=this.Es.W();if(!n.priceLineVisible||!this.Es.Tt())return;const a=this.Es.Yr(n.priceLineSource===0);a.Xr||(e.Tt=!0,e.rt=a.yi,e.O=this.Es._h(a.O),e.ht=n.priceLineWidth,e.Wt=n.priceLineStyle)}}class Cse extends ep{constructor(e){super(),this.$t=e}Ei(e,n,a){e.Tt=!1,n.Tt=!1;const i=this.$t;if(!i.Tt())return;const o=i.W(),s=o.lastValueVisible,l=i.uh()!=="",c=o.seriesLastValueMode===0,u=i.Yr(!1);if(u.Xr)return;s&&(e.Jt=this.dh(u,s,c),e.Tt=e.Jt.length!==0),(l||c)&&(n.Jt=this.fh(u,s,l,c),n.Tt=n.Jt.length>0);const d=i._h(u.O),p=Jd(d);a.t=p.t,a.yi=u.yi,n.Bt=i.qt().It(u.yi/i.At().zt()),e.Bt=d,e.O=p.i,n.O=p.i}fh(e,n,a,i){let o="";const s=this.$t.uh();return a&&s.length!==0&&(o+=`${s} `),n&&i&&(o+=this.$t.At().ph()?e.mh:e.bh),o.trim()}dh(e,n,a){return n?a?this.$t.At().ph()?e.bh:e.mh:e.Jt:""}}function ox(t,e,n,a){const i=Number.isFinite(e),o=Number.isFinite(n);return i&&o?t(e,n):i||o?i?e:n:a}class gn{constructor(e,n){this.wh=e,this.gh=n}Mh(e){return e!==null&&this.wh===e.wh&&this.gh===e.gh}xh(){return new gn(this.wh,this.gh)}Sh(){return this.wh}kh(){return this.gh}yh(){return this.gh-this.wh}Fi(){return this.gh===this.wh||Number.isNaN(this.gh)||Number.isNaN(this.wh)}ts(e){return e===null?this:new gn(ox(Math.min,this.Sh(),e.Sh(),-1/0),ox(Math.max,this.kh(),e.kh(),1/0))}Ch(e){if(!Ta(e)||this.gh-this.wh===0)return;const n=.5*(this.gh+this.wh);let a=this.gh-n,i=this.wh-n;a*=e,i*=e,this.gh=n+a,this.wh=n+i}Th(e){Ta(e)&&(this.gh+=e,this.wh+=e)}Ph(){return{minValue:this.wh,maxValue:this.gh}}static Rh(e){return e===null?null:new gn(e.minValue,e.maxValue)}}class Ju{constructor(e,n){this.Dh=e,this.Oh=n||null}Ah(){return this.Dh}Vh(){return this.Oh}Ph(){return this.Dh===null?null:{priceRange:this.Dh.Ph(),margins:this.Oh||void 0}}static Rh(e){return e===null?null:new Ju(gn.Rh(e.priceRange),e.margins)}}class Dse extends Gg{constructor(e,n){super(e),this.Bh=n}kr(){const e=this.Mr;e.Tt=!1;const n=this.Bh.W();if(!this.Es.Tt()||!n.lineVisible)return;const a=this.Bh.Ih();a!==null&&(e.Tt=!0,e.rt=a,e.O=n.color,e.ht=n.lineWidth,e.Wt=n.lineStyle,e.wr=this.Bh.W().id)}}class Ase extends ep{constructor(e,n){super(),this.Wr=e,this.Bh=n}Ei(e,n,a){e.Tt=!1,n.Tt=!1;const i=this.Bh.W(),o=i.axisLabelVisible,s=i.title!=="",l=this.Wr;if(!o||!l.Tt())return;const c=this.Bh.Ih();if(c===null)return;s&&(n.Jt=i.title,n.Tt=!0),n.Bt=l.qt().It(c/l.At().zt()),e.Jt=this.zh(i.price),e.Tt=!0;const u=Jd(i.axisLabelColor||i.color);a.t=u.t;const d=i.axisLabelTextColor||u.i;e.O=d,n.O=d,a.yi=c}zh(e){const n=this.Wr.Pt();return n===null?"":this.Wr.At().Wi(e,n.Vt)}}class _se{constructor(e,n){this.Wr=e,this.cn=n,this.Eh=new Dse(e,this),this._r=new Ase(e,this),this.Lh=new I1(this._r,e,e.qt())}Nh(e){ha(this.cn,e),this.gt(),this.Wr.qt().Fh()}W(){return this.cn}Wh(){return this.Eh}jh(){return this.Lh}Hh(){return this._r}gt(){this.Eh.gt(),this._r.gt()}Ih(){const e=this.Wr,n=e.At();if(e.qt().yt().Fi()||n.Fi())return null;const a=e.Pt();return a===null?null:n.Ot(this.cn.price,a.Vt)}}class Tse extends qg{constructor(e){super(),this.Ui=e}qt(){return this.Ui}}const Ese={Bar:(t,e,n,a)=>{var i;const o=e.upColor,s=e.downColor,l=O(t(n,a)),c=Br(l.Vt[0])<=Br(l.Vt[3]);return{ue:(i=l.O)!==null&&i!==void 0?i:c?o:s}},Candlestick:(t,e,n,a)=>{var i,o,s;const l=e.upColor,c=e.downColor,u=e.borderUpColor,d=e.borderDownColor,p=e.wickUpColor,h=e.wickDownColor,m=O(t(n,a)),g=Br(m.Vt[0])<=Br(m.Vt[3]);return{ue:(i=m.O)!==null&&i!==void 0?i:g?l:c,Le:(o=m.Bt)!==null&&o!==void 0?o:g?u:d,Ee:(s=m.$h)!==null&&s!==void 0?s:g?p:h}},Custom:(t,e,n,a)=>{var i;return{ue:(i=O(t(n,a)).O)!==null&&i!==void 0?i:e.color}},Area:(t,e,n,a)=>{var i,o,s,l;const c=O(t(n,a));return{ue:(i=c._t)!==null&&i!==void 0?i:e.lineColor,_t:(o=c._t)!==null&&o!==void 0?o:e.lineColor,Ts:(s=c.Ts)!==null&&s!==void 0?s:e.topColor,Ps:(l=c.Ps)!==null&&l!==void 0?l:e.bottomColor}},Baseline:(t,e,n,a)=>{var i,o,s,l,c,u;const d=O(t(n,a));return{ue:d.Vt[3]>=e.baseValue.price?e.topLineColor:e.bottomLineColor,Pe:(i=d.Pe)!==null&&i!==void 0?i:e.topLineColor,Re:(o=d.Re)!==null&&o!==void 0?o:e.bottomLineColor,Se:(s=d.Se)!==null&&s!==void 0?s:e.topFillColor1,ke:(l=d.ke)!==null&&l!==void 0?l:e.topFillColor2,ye:(c=d.ye)!==null&&c!==void 0?c:e.bottomFillColor1,Ce:(u=d.Ce)!==null&&u!==void 0?u:e.bottomFillColor2}},Line:(t,e,n,a)=>{var i,o;const s=O(t(n,a));return{ue:(i=s.O)!==null&&i!==void 0?i:e.color,_t:(o=s.O)!==null&&o!==void 0?o:e.color}},Histogram:(t,e,n,a)=>{var i;return{ue:(i=O(t(n,a)).O)!==null&&i!==void 0?i:e.color}}};class Pse{constructor(e){this.Uh=(n,a)=>a!==void 0?a.Vt:this.Wr.In().qh(n),this.Wr=e,this.Yh=Ese[e.Xh()]}Hs(e,n){return this.Yh(this.Uh,this.Wr.W(),e,n)}}var rx;(function(t){t[t.NearestLeft=-1]="NearestLeft",t[t.None=0]="None",t[t.NearestRight=1]="NearestRight"})(rx||(rx={}));const zi=30;class Nse{constructor(){this.Kh=[],this.Zh=new Map,this.Gh=new Map}Jh(){return this.Ks()>0?this.Kh[this.Kh.length-1]:null}Qh(){return this.Ks()>0?this.tl(0):null}Bn(){return this.Ks()>0?this.tl(this.Kh.length-1):null}Ks(){return this.Kh.length}Fi(){return this.Ks()===0}Kr(e){return this.il(e,0)!==null}qh(e){return this.nl(e)}nl(e,n=0){const a=this.il(e,n);return a===null?null:Object.assign(Object.assign({},this.sl(a)),{se:this.tl(a)})}ie(){return this.Kh}el(e,n,a){if(this.Fi())return null;let i=null;for(const o of a)i=zc(i,this.rl(e,n,o));return i}it(e){this.Gh.clear(),this.Zh.clear(),this.Kh=e}tl(e){return this.Kh[e].se}sl(e){return this.Kh[e]}il(e,n){const a=this.hl(e);if(a===null&&n!==0)switch(n){case-1:return this.ll(e);case 1:return this.al(e);default:throw new TypeError("Unknown search mode")}return a}ll(e){let n=this.ol(e);return n>0&&(n-=1),n!==this.Kh.length&&this.tl(n)n.sen.se>a)}ul(e,n,a){let i=null;for(let o=e;oi.dl&&(i.dl=s)))}return i}rl(e,n,a){if(this.Fi())return null;let i=null;const o=O(this.Qh()),s=O(this.Bn()),l=Math.max(e,o),c=Math.min(n,s),u=Math.ceil(l/zi)*zi,d=Math.max(u,Math.floor(c/zi)*zi);{const h=this.ol(l),m=this._l(Math.min(c,u,n));i=zc(i,this.ul(h,m,a))}let p=this.Zh.get(a);p===void 0&&(p=new Map,this.Zh.set(a,p));for(let h=Math.max(u+1,l);hnew dh(l));return this.gl={vl:o,pl:s},s}tn(){var e,n,a,i;const o=(a=(n=(e=this.yl).timeAxisViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.Ml)===null||i===void 0?void 0:i.vl)===o)return this.Ml.pl;const s=this.Wr.qt().yt(),l=o.map(c=>new Ise(c,s));return this.Ml={vl:o,pl:l},l}Rn(){var e,n,a,i;const o=(a=(n=(e=this.yl).priceAxisViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.xl)===null||i===void 0?void 0:i.vl)===o)return this.xl.pl;const s=this.Wr.At(),l=o.map(c=>new $se(c,s));return this.xl={vl:o,pl:l},l}Tl(){var e,n,a,i;const o=(a=(n=(e=this.yl).priceAxisPaneViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.Sl)===null||i===void 0?void 0:i.vl)===o)return this.Sl.pl;const s=o.map(l=>new dh(l));return this.Sl={vl:o,pl:s},s}Pl(){var e,n,a,i;const o=(a=(n=(e=this.yl).timeAxisPaneViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.kl)===null||i===void 0?void 0:i.vl)===o)return this.kl.pl;const s=o.map(l=>new dh(l));return this.kl={vl:o,pl:s},s}Rl(e,n){var a,i,o;return(o=(i=(a=this.yl).autoscaleInfo)===null||i===void 0?void 0:i.call(a,e,n))!==null&&o!==void 0?o:null}br(e,n){var a,i,o;return(o=(i=(a=this.yl).hitTest)===null||i===void 0?void 0:i.call(a,e,n))!==null&&o!==void 0?o:null}}function ph(t,e,n,a){t.forEach(i=>{e(i).forEach(o=>{o.ml()===n&&a.push(o)})})}function hh(t){return t.Pn()}function Ose(t){return t.Tl()}function Rse(t){return t.Pl()}class Qg extends Tse{constructor(e,n,a,i,o){super(e),this.Lt=new Nse,this.Eh=new zse(this),this.Dl=[],this.Ol=new gse(this),this.Al=null,this.Vl=null,this.Bl=[],this.Il=[],this.zl=null,this.El=[],this.cn=n,this.Ll=a;const s=new Cse(this);this.hn=[s],this.Lh=new I1(s,this,e),a!=="Area"&&a!=="Line"&&a!=="Baseline"||(this.Al=new kse(this)),this.Nl(),this.Fl(o)}S(){this.zl!==null&&clearTimeout(this.zl)}_h(e){return this.cn.priceLineColor||e}Yr(e){const n={Xr:!0},a=this.At();if(this.qt().yt().Fi()||a.Fi()||this.Lt.Fi())return n;const i=this.qt().yt().Xs(),o=this.Pt();if(i===null||o===null)return n;let s,l;if(e){const p=this.Lt.Jh();if(p===null)return n;s=p,l=p.se}else{const p=this.Lt.nl(i.di(),-1);if(p===null||(s=this.Lt.qh(p.se),s===null))return n;l=p.se}const c=s.Vt[3],u=this.$s().Hs(l,{Vt:s}),d=a.Ot(c,o.Vt);return{Xr:!1,ct:c,Jt:a.Wi(c,o.Vt),mh:a.Wl(c),bh:a.jl(c,o.Vt),O:u.ue,yi:d,se:l}}$s(){return this.Vl!==null||(this.Vl=new Pse(this)),this.Vl}W(){return this.cn}Nh(e){const n=e.priceScaleId;n!==void 0&&n!==this.cn.priceScaleId&&this.qt().Hl(this,n),ha(this.cn,e),e.priceFormat!==void 0&&(this.Nl(),this.qt().$l()),this.qt().Ul(this),this.qt().ql(),this.wn.gt("options")}it(e,n){this.Lt.it(e),this.Yl(),this.wn.gt("data"),this.dn.gt("data"),this.Al!==null&&(n&&n.Xl?this.Al.Hr():e.length===0&&this.Al.jr());const a=this.qt().cr(this);this.qt().Kl(a),this.qt().Ul(this),this.qt().ql(),this.qt().Fh()}Zl(e){this.Bl=e,this.Yl();const n=this.qt().cr(this);this.dn.gt("data"),this.qt().Kl(n),this.qt().Ul(this),this.qt().ql(),this.qt().Fh()}Gl(){return this.Bl}ah(){return this.Il}Jl(e){const n=new _se(this,e);return this.Dl.push(n),this.qt().Ul(this),n}Ql(e){const n=this.Dl.indexOf(e);n!==-1&&this.Dl.splice(n,1),this.qt().Ul(this)}Xh(){return this.Ll}Pt(){const e=this.ta();return e===null?null:{Vt:e.Vt[3],ia:e.ut}}ta(){const e=this.qt().yt().Xs();if(e===null)return null;const n=e.Os();return this.Lt.nl(n,1)}In(){return this.Lt}oh(e){const n=this.Lt.qh(e);return n===null?null:this.Ll==="Bar"||this.Ll==="Candlestick"||this.Ll==="Custom"?{we:n.Vt[0],ge:n.Vt[1],Me:n.Vt[2],xe:n.Vt[3]}:n.Vt[3]}na(e){const n=[];ph(this.El,hh,"top",n);const a=this.Al;return a!==null&&a.Tt()&&(this.zl===null&&a.Ur()&&(this.zl=setTimeout(()=>{this.zl=null,this.qt().sa()},0)),a.$r(),n.push(a)),n}Pn(){const e=[];this.ea()||e.push(this.Ol),e.push(this.wn,this.Eh,this.dn);const n=this.Dl.map(a=>a.Wh());return e.push(...n),ph(this.El,hh,"normal",e),e}ra(){return this.ha(hh,"bottom")}la(e){return this.ha(Ose,e)}aa(e){return this.ha(Rse,e)}oa(e,n){return this.El.map(a=>a.br(e,n)).filter(a=>a!==null)}Qi(e){return[this.Lh,...this.Dl.map(n=>n.jh())]}Rn(e,n){if(n!==this.Xi&&!this.ea())return[];const a=[...this.hn];for(const i of this.Dl)a.push(i.Hh());return this.El.forEach(i=>{a.push(...i.Rn())}),a}tn(){const e=[];return this.El.forEach(n=>{e.push(...n.tn())}),e}Rl(e,n){if(this.cn.autoscaleInfoProvider!==void 0){const a=this.cn.autoscaleInfoProvider(()=>{const i=this._a(e,n);return i===null?null:i.Ph()});return Ju.Rh(a)}return this._a(e,n)}ua(){return this.cn.priceFormat.minMove}ca(){return this.da}On(){var e;this.wn.gt(),this.dn.gt();for(const n of this.hn)n.gt();for(const n of this.Dl)n.gt();this.Eh.gt(),this.Ol.gt(),(e=this.Al)===null||e===void 0||e.gt(),this.El.forEach(n=>n.On())}At(){return O(super.At())}Ct(e){if(!((this.Ll==="Line"||this.Ll==="Area"||this.Ll==="Baseline")&&this.cn.crosshairMarkerVisible))return null;const n=this.Lt.qh(e);return n===null?null:{ct:n.Vt[3],ot:this.fa(),Bt:this.va(),Dt:this.pa(),Rt:this.ma(e)}}uh(){return this.cn.title}Tt(){return this.cn.visible}ba(e){this.El.push(new Mse(e,this))}wa(e){this.El=this.El.filter(n=>n.Cl()!==e)}ga(){if(this.wn instanceof uh)return e=>this.wn.Fe(e)}Ma(){if(this.wn instanceof uh)return e=>this.wn.We(e)}ea(){return!tp(this.At().xa())}_a(e,n){if(!kl(e)||!kl(n)||this.Lt.Fi())return null;const a=this.Ll==="Line"||this.Ll==="Area"||this.Ll==="Baseline"||this.Ll==="Histogram"?[3]:[2,1],i=this.Lt.el(e,n,a);let o=i!==null?new gn(i.cl,i.dl):null;if(this.Xh()==="Histogram"){const l=this.cn.base,c=new gn(l,l);o=o!==null?o.ts(c):c}let s=this.dn.lh();return this.El.forEach(l=>{const c=l.Rl(e,n);if(c!=null&&c.priceRange){const m=new gn(c.priceRange.minValue,c.priceRange.maxValue);o=o!==null?o.ts(m):m}var u,d,p,h;c!=null&&c.margins&&(u=s,d=c.margins,s={above:Math.max((p=u==null?void 0:u.above)!==null&&p!==void 0?p:0,d.above),below:Math.max((h=u==null?void 0:u.below)!==null&&h!==void 0?h:0,d.below)})}),new Ju(o,s)}fa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this.cn.crosshairMarkerRadius}return 0}va(){switch(this.Ll){case"Line":case"Area":case"Baseline":{const e=this.cn.crosshairMarkerBorderColor;if(e.length!==0)return e}}return null}pa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this.cn.crosshairMarkerBorderWidth}return 0}ma(e){switch(this.Ll){case"Line":case"Area":case"Baseline":{const n=this.cn.crosshairMarkerBackgroundColor;if(n.length!==0)return n}}return this.$s().Hs(e).ue}Nl(){switch(this.cn.priceFormat.type){case"custom":this.da={format:this.cn.priceFormat.formatter};break;case"volume":this.da=new Kre(this.cn.priceFormat.precision);break;case"percent":this.da=new z1(this.cn.priceFormat.precision);break;default:{const e=Math.pow(10,this.cn.priceFormat.precision);this.da=new np(e,this.cn.priceFormat.minMove*e)}}this.Xi!==null&&this.Xi.Sa()}Yl(){const e=this.qt().yt();if(!e.ka()||this.Lt.Fi())return void(this.Il=[]);const n=O(this.Lt.Qh());this.Il=this.Bl.map((a,i)=>{const o=O(e.ya(a.time,!0)),s=od instanceof Qg).reduce((d,p)=>{if(a.dr(p)||!p.Tt())return d;const h=p.At(),m=p.In();if(h.Fi()||!m.Kr(n))return d;const g=m.qh(n);if(g===null)return d;const v=Br(p.Pt());return d.concat([h.Ot(g.Vt[3],v.Vt)])},[]);if(c.length===0)return i;c.sort((d,p)=>Math.abs(d-l)-Math.abs(p-l));const u=c[0];return i=o.pn(u,s),i}}class Vse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null)return;const o=Math.max(1,Math.floor(a));e.lineWidth=o,function(s,l){s.save(),s.lineWidth%2&&s.translate(.5,.5),l(),s.restore()}(e,()=>{const s=O(this.Lt);if(s.Pa){e.strokeStyle=s.Ra,Uo(e,s.Da),e.beginPath();for(const l of s.Oa){const c=Math.round(l.Aa*a);e.moveTo(c,-o),e.lineTo(c,n.height+o)}e.stroke()}if(s.Va){e.strokeStyle=s.Ba,Uo(e,s.Ia),e.beginPath();for(const l of s.za){const c=Math.round(l.Aa*i);e.moveTo(-o,c),e.lineTo(n.width+o,c)}e.stroke()}})}}let Wse=class{constructor(e){this.Ht=new Vse,this.bt=!0,this.nn=e}gt(){this.bt=!0}xt(){if(this.bt){const e=this.nn.qt().W().grid,n={Va:e.horzLines.visible,Pa:e.vertLines.visible,Ba:e.horzLines.color,Ra:e.vertLines.color,Ia:e.horzLines.style,Da:e.vertLines.style,za:this.nn.vn().Ea(),Oa:(this.nn.qt().yt().Ea()||[]).map(a=>({Aa:a.coord}))};this.Ht.it(n),this.bt=!1}return this.Ht}},Use=class{constructor(e){this.wn=new Wse(e)}Wh(){return this.wn}};const mh={La:4,Na:1e-4};function Sr(t,e){const n=100*(t-e)/e;return e<0?-n:n}function qse(t,e){const n=Sr(t.Sh(),e),a=Sr(t.kh(),e);return new gn(n,a)}function qs(t,e){const n=100*(t-e)/e+100;return e<0?-n:n}function Hse(t,e){const n=qs(t.Sh(),e),a=qs(t.kh(),e);return new gn(n,a)}function Xu(t,e){const n=Math.abs(t);if(n<1e-15)return 0;const a=Math.log10(n+e.Na)+e.La;return t<0?-a:a}function Hs(t,e){const n=Math.abs(t);if(n<1e-15)return 0;const a=Math.pow(10,n-e.La)-e.Na;return t<0?-a:a}function ws(t,e){if(t===null)return null;const n=Xu(t.Sh(),e),a=Xu(t.kh(),e);return new gn(n,a)}function Cc(t,e){if(t===null)return null;const n=Hs(t.Sh(),e),a=Hs(t.kh(),e);return new gn(n,a)}function fh(t){if(t===null)return mh;const e=Math.abs(t.kh()-t.Sh());if(e>=1||e<1e-15)return mh;const n=Math.ceil(Math.abs(Math.log10(e))),a=mh.La+n;return{La:a,Na:1/Math.pow(10,a)}}let gh=class{constructor(e,n){if(this.Fa=e,this.Wa=n,function(a){if(a<0)return!1;for(let i=a;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.Fa))this.ja=[2,2.5,2];else{this.ja=[];for(let a=this.Fa;a!==1;){if(a%2==0)this.ja.push(2),a/=2;else{if(a%5!=0)throw new Error("unexpected base");this.ja.push(2,2.5),a/=5}if(this.ja.length>100)throw new Error("something wrong with base")}}}Ha(e,n,a){const i=this.Fa===0?0:1/this.Fa;let o=Math.pow(10,Math.max(0,Math.ceil(Math.log10(e-n)))),s=0,l=this.Wa[0];for(;;){const p=Sc(o,i,1e-14)&&o>i+1e-14,h=Sc(o,a*l,1e-14),m=Sc(o,1,1e-14);if(!(p&&h&&m))break;o/=l,l=this.Wa[++s%this.Wa.length]}if(o<=i+1e-14&&(o=i),o=Math.max(1,o),this.ja.length>0&&(c=o,u=1,d=1e-14,Math.abs(c-u)i+1e-14;)o/=l,l=this.ja[++s%this.ja.length];var c,u,d;return o}},sx=class{constructor(e,n,a,i){this.$a=[],this.Li=e,this.Fa=n,this.Ua=a,this.qa=i}Ha(e,n){if(e=d?1:-1;let g=null,v=0;for(let y=u-h;y>d;y-=p){const b=this.qa(y,n,!0);g!==null&&Math.abs(b-g)c||(vO(e.Zi())-O(n.Zi()))}var lx;(function(t){t[t.Normal=0]="Normal",t[t.Logarithmic=1]="Logarithmic",t[t.Percentage=2]="Percentage",t[t.IndexedTo100=3]="IndexedTo100"})(lx||(lx={}));const cx=new z1,ux=new np(100,1);class Kse{constructor(e,n,a,i){this.Qa=0,this.io=null,this.Dh=null,this.no=null,this.so={eo:!1,ro:null},this.ho=0,this.lo=0,this.ao=new et,this.oo=new et,this._o=[],this.uo=null,this.co=null,this.do=null,this.fo=null,this.da=ux,this.vo=fh(null),this.po=e,this.cn=n,this.mo=a,this.bo=i,this.wo=new sx(this,100,this.Mo.bind(this),this.xo.bind(this))}xa(){return this.po}W(){return this.cn}Nh(e){if(ha(this.cn,e),this.Sa(),e.mode!==void 0&&this.So({yr:e.mode}),e.scaleMargins!==void 0){const n=on(e.scaleMargins.top),a=on(e.scaleMargins.bottom);if(n<0||n>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${n}`);if(a<0||a>1||n+a>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${a}`);if(n+a>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${n+a}`);this.ko(),this.co=null}}yo(){return this.cn.autoScale}Ja(){return this.cn.mode===1}ph(){return this.cn.mode===2}Co(){return this.cn.mode===3}yr(){return{Wn:this.cn.autoScale,To:this.cn.invertScale,yr:this.cn.mode}}So(e){const n=this.yr();let a=null;e.Wn!==void 0&&(this.cn.autoScale=e.Wn),e.yr!==void 0&&(this.cn.mode=e.yr,e.yr!==2&&e.yr!==3||(this.cn.autoScale=!0),this.so.eo=!1),n.yr===1&&e.yr!==n.yr&&(function(o,s){if(o===null)return!1;const l=Hs(o.Sh(),s),c=Hs(o.kh(),s);return isFinite(l)&&isFinite(c)}(this.Dh,this.vo)?(a=Cc(this.Dh,this.vo),a!==null&&this.Po(a)):this.cn.autoScale=!0),e.yr===1&&e.yr!==n.yr&&(a=ws(this.Dh,this.vo),a!==null&&this.Po(a));const i=n.yr!==this.cn.mode;i&&(n.yr===2||this.ph())&&this.Sa(),i&&(n.yr===3||this.Co())&&this.Sa(),e.To!==void 0&&n.To!==e.To&&(this.cn.invertScale=e.To,this.Ro()),this.oo.m(n,this.yr())}Do(){return this.oo}P(){return this.mo.fontSize}zt(){return this.Qa}Oo(e){this.Qa!==e&&(this.Qa=e,this.ko(),this.co=null)}Ao(){if(this.io)return this.io;const e=this.zt()-this.Vo()-this.Bo();return this.io=e,e}Ah(){return this.Io(),this.Dh}Po(e,n){const a=this.Dh;(n||a===null&&e!==null||a!==null&&!a.Mh(e))&&(this.co=null,this.Dh=e)}Fi(){return this.Io(),this.Qa===0||!this.Dh||this.Dh.Fi()}zo(e){return this.To()?e:this.zt()-1-e}Ot(e,n){return this.ph()?e=Sr(e,n):this.Co()&&(e=qs(e,n)),this.xo(e,n)}Qs(e,n,a){this.Io();const i=this.Bo(),o=O(this.Ah()),s=o.Sh(),l=o.kh(),c=this.Ao()-1,u=this.To(),d=c/(l-s),p=a===void 0?0:a.from,h=a===void 0?e.length:a.to,m=this.Eo();for(let g=p;ge.On())}Sa(){this.co=null;const e=this.Jo();let n=100;e!==null&&(n=Math.round(1/e.ua())),this.da=ux,this.ph()?(this.da=cx,n=100):this.Co()?(this.da=new np(100,1),n=100):e!==null&&(this.da=e.ca()),this.wo=new sx(this,n,this.Mo.bind(this),this.xo.bind(this)),this.wo.Xa()}Wo(){this.uo=null}Jo(){return this._o[0]||null}Vo(){return this.To()?this.cn.scaleMargins.bottom*this.zt()+this.lo:this.cn.scaleMargins.top*this.zt()+this.ho}Bo(){return this.To()?this.cn.scaleMargins.top*this.zt()+this.ho:this.cn.scaleMargins.bottom*this.zt()+this.lo}Io(){this.so.eo||(this.so.eo=!0,this.i_())}ko(){this.io=null}xo(e,n){if(this.Io(),this.Fi())return 0;e=this.Ja()&&e?Xu(e,this.vo):e;const a=O(this.Ah()),i=this.Bo()+(this.Ao()-1)*(e-a.Sh())/a.yh();return this.zo(i)}Mo(e,n){if(this.Io(),this.Fi())return 0;const a=this.zo(e),i=O(this.Ah()),o=i.Sh()+i.yh()*((a-this.Bo())/(this.Ao()-1));return this.Ja()?Hs(o,this.vo):o}Ro(){this.co=null,this.wo.Xa()}i_(){const e=this.so.ro;if(e===null)return;let n=null;const a=this.Qo();let i=0,o=0;for(const c of a){if(!c.Tt())continue;const u=c.Pt();if(u===null)continue;const d=c.Rl(e.Os(),e.di());let p=d&&d.Ah();if(p!==null){switch(this.cn.mode){case 1:p=ws(p,this.vo);break;case 2:p=qse(p,u.Vt);break;case 3:p=Hse(p,u.Vt)}if(n=n===null?p:n.ts(O(p)),d!==null){const h=d.Vh();h!==null&&(i=Math.max(i,h.above),o=Math.max(i,h.below))}}}if(i===this.ho&&o===this.lo||(this.ho=i,this.lo=o,this.co=null,this.ko()),n!==null){if(n.Sh()===n.kh()){const c=this.Jo(),u=5*(c===null||this.ph()||this.Co()?1:c.ua());this.Ja()&&(n=Cc(n,this.vo)),n=new gn(n.Sh()-u,n.kh()+u),this.Ja()&&(n=ws(n,this.vo))}if(this.Ja()){const c=Cc(n,this.vo),u=fh(c);if(s=u,l=this.vo,s.La!==l.La||s.Na!==l.Na){const d=this.no!==null?Cc(this.no,this.vo):null;this.vo=u,n=ws(c,u),d!==null&&(this.no=ws(d,u))}}this.Po(n)}else this.Dh===null&&(this.Po(new gn(-.5,.5)),this.vo=fh(null));var s,l;this.so.eo=!0}Eo(){return this.ph()?Sr:this.Co()?qs:this.Ja()?e=>Xu(e,this.vo):null}n_(e,n,a){return n===void 0?(a===void 0&&(a=this.ca()),a.format(e)):n(e)}zh(e,n){return this.n_(e,this.bo.priceFormatter,n)}Go(e,n){return this.n_(e,this.bo.percentageFormatter,n)}}let Gse=class{constructor(e,n){this._o=[],this.s_=new Map,this.Qa=0,this.e_=0,this.r_=1e3,this.uo=null,this.h_=new et,this.wl=e,this.Ui=n,this.l_=new Use(this);const a=n.W();this.a_=this.o_("left",a.leftPriceScale),this.__=this.o_("right",a.rightPriceScale),this.a_.Do().l(this.u_.bind(this,this.a_),this),this.__.Do().l(this.u_.bind(this,this.__),this),this.c_(a)}c_(e){if(e.leftPriceScale&&this.a_.Nh(e.leftPriceScale),e.rightPriceScale&&this.__.Nh(e.rightPriceScale),e.localization&&(this.a_.Sa(),this.__.Sa()),e.overlayPriceScales){const n=Array.from(this.s_.values());for(const a of n){const i=O(a[0].At());i.Nh(e.overlayPriceScales),e.localization&&i.Sa()}}}d_(e){switch(e){case"left":return this.a_;case"right":return this.__}return this.s_.has(e)?on(this.s_.get(e))[0].At():null}S(){this.qt().f_().p(this),this.a_.Do().p(this),this.__.Do().p(this),this._o.forEach(e=>{e.S&&e.S()}),this.h_.m()}v_(){return this.r_}p_(e){this.r_=e}qt(){return this.Ui}$i(){return this.e_}zt(){return this.Qa}m_(e){this.e_=e,this.b_()}Oo(e){this.Qa=e,this.a_.Oo(e),this.__.Oo(e),this._o.forEach(n=>{if(this.dr(n)){const a=n.At();a!==null&&a.Oo(e)}}),this.b_()}Ta(){return this._o}dr(e){const n=e.At();return n===null||this.a_!==n&&this.__!==n}Fo(e,n,a){const i=a!==void 0?a:this.g_().w_+1;this.M_(e,n,i)}jo(e){const n=this._o.indexOf(e);eo(n!==-1,"removeDataSource: invalid data source"),this._o.splice(n,1);const a=O(e.At()).xa();if(this.s_.has(a)){const o=on(this.s_.get(a)),s=o.indexOf(e);s!==-1&&(o.splice(s,1),o.length===0&&this.s_.delete(a))}const i=e.At();i&&i.Ta().indexOf(e)>=0&&i.jo(e),i!==null&&(i.Wo(),this.x_(i)),this.uo=null}pr(e){return e===this.a_?"left":e===this.__?"right":"overlay"}S_(){return this.a_}k_(){return this.__}y_(e,n){e.Uo(n)}C_(e,n){e.qo(n),this.b_()}T_(e){e.Yo()}P_(e,n){e.Xo(n)}R_(e,n){e.Ko(n),this.b_()}D_(e){e.Zo()}b_(){this._o.forEach(e=>{e.On()})}vn(){let e=null;return this.Ui.W().rightPriceScale.visible&&this.__.Ta().length!==0?e=this.__:this.Ui.W().leftPriceScale.visible&&this.a_.Ta().length!==0?e=this.a_:this._o.length!==0&&(e=this._o[0].At()),e===null&&(e=this.__),e}vr(){let e=null;return this.Ui.W().rightPriceScale.visible?e=this.__:this.Ui.W().leftPriceScale.visible&&(e=this.a_),e}x_(e){e!==null&&e.yo()&&this.O_(e)}A_(e){const n=this.wl.Xs();e.So({Wn:!0}),n!==null&&e.t_(n),this.b_()}V_(){this.O_(this.a_),this.O_(this.__)}B_(){this.x_(this.a_),this.x_(this.__),this._o.forEach(e=>{this.dr(e)&&this.x_(e.At())}),this.b_(),this.Ui.Fh()}No(){return this.uo===null&&(this.uo=R1(this._o)),this.uo}I_(){return this.h_}z_(){return this.l_}O_(e){const n=e.Qo();if(n&&n.length>0&&!this.wl.Fi()){const a=this.wl.Xs();a!==null&&e.t_(a)}e.On()}g_(){const e=this.No();if(e.length===0)return{E_:0,w_:0};let n=0,a=0;for(let i=0;ia&&(a=o))}return{E_:n,w_:a}}M_(e,n,a){let i=this.d_(n);if(i===null&&(i=this.o_(n,this.Ui.W().overlayPriceScales)),this._o.push(e),!tp(n)){const o=this.s_.get(n)||[];o.push(e),this.s_.set(n,o)}i.Fo(e),e.Ji(i),e.Gi(a),this.x_(i),this.uo=null}u_(e,n,a){n.yr!==a.yr&&this.O_(e)}o_(e,n){const a=Object.assign({visible:!0,autoScale:!0},ei(n)),i=new Kse(e,a,this.Ui.W().layout,this.Ui.W().localization);return i.Oo(this.zt()),i}},Qse=class{constructor(e,n,a=50){this.Ke=0,this.Ze=1,this.Ge=1,this.Qe=new Map,this.Je=new Map,this.L_=e,this.N_=n,this.tr=a}F_(e){const n=e.time,a=this.N_.cacheKey(n),i=this.Qe.get(a);if(i!==void 0)return i.W_;if(this.Ke===this.tr){const s=this.Je.get(this.Ge);this.Je.delete(this.Ge),this.Qe.delete(on(s)),this.Ge++,this.Ke--}const o=this.L_(e);return this.Qe.set(a,{W_:o,er:this.Ze}),this.Je.set(this.Ze,a),this.Ke++,this.Ze++,o}},Ks=class{constructor(e,n){eo(e<=n,"right should be >= left"),this.j_=e,this.H_=n}Os(){return this.j_}di(){return this.H_}U_(){return this.H_-this.j_+1}Kr(e){return this.j_<=e&&e<=this.H_}Mh(e){return this.j_===e.Os()&&this.H_===e.di()}};function dx(t,e){return t===null||e===null?t===e:t.Mh(e)}let Yse=class{constructor(){this.q_=new Map,this.Qe=null,this.Y_=!1}X_(e){this.Y_=e,this.Qe=null}K_(e,n){this.Z_(n),this.Qe=null;for(let a=n;a{e<=a[0].index?n.push(i):a.splice($l(a,e,o=>o.indexo-i)){if(!this.q_.get(a))continue;const i=n;n=[];const o=i.length;let s=0;const l=on(this.q_.get(a)),c=l.length;let u=1/0,d=-1/0;for(let p=0;p=e&&m-d>=e)n.push(h),d=m;else if(this.Y_)return i}for(;se.weight?t:e}class Jse{constructor(e,n,a,i){this.e_=0,this.eu=null,this.ru=[],this.fo=null,this.do=null,this.hu=new Yse,this.lu=new Map,this.au=lu.su(),this.ou=!0,this._u=new et,this.uu=new et,this.cu=new et,this.du=null,this.fu=null,this.vu=[],this.cn=n,this.bo=a,this.pu=n.rightOffset,this.mu=n.barSpacing,this.Ui=e,this.N_=i,this.bu(),this.hu.X_(n.uniformDistribution)}W(){return this.cn}wu(e){ha(this.bo,e),this.gu(),this.bu()}Nh(e,n){var a;ha(this.cn,e),this.cn.fixLeftEdge&&this.Mu(),this.cn.fixRightEdge&&this.xu(),e.barSpacing!==void 0&&this.Ui.Gn(e.barSpacing),e.rightOffset!==void 0&&this.Ui.Jn(e.rightOffset),e.minBarSpacing!==void 0&&this.Ui.Gn((a=e.barSpacing)!==null&&a!==void 0?a:this.mu),this.gu(),this.bu(),this.cu.m()}mn(e){var n,a;return(a=(n=this.ru[e])===null||n===void 0?void 0:n.time)!==null&&a!==void 0?a:null}qi(e){var n;return(n=this.ru[e])!==null&&n!==void 0?n:null}ya(e,n){if(this.ru.length<1)return null;if(this.N_.key(e)>this.N_.key(this.ru[this.ru.length-1].time))return n?this.ru.length-1:null;const a=$l(this.ru,this.N_.key(e),(i,o)=>this.N_.key(i.time)0}Xs(){return this.Su(),this.au.iu()}ku(){return this.Su(),this.au.nu()}yu(){const e=this.Xs();if(e===null)return null;const n={from:e.Os(),to:e.di()};return this.Cu(n)}Cu(e){const n=Math.round(e.from),a=Math.round(e.to),i=O(this.Tu()),o=O(this.Pu());return{from:O(this.qi(Math.max(i,n))),to:O(this.qi(Math.min(o,a)))}}Ru(e){return{from:O(this.ya(e.from,!0)),to:O(this.ya(e.to,!0))}}$i(){return this.e_}m_(e){if(!isFinite(e)||e<=0||this.e_===e)return;const n=this.ku(),a=this.e_;if(this.e_=e,this.ou=!0,this.cn.lockVisibleTimeRangeOnResize&&a!==0){const i=this.mu*e/a;this.mu=i}if(this.cn.fixLeftEdge&&n!==null&&n.Os()<=0){const i=a-e;this.pu-=Math.round(i/this.mu)+1,this.ou=!0}this.Du(),this.Ou()}Et(e){if(this.Fi()||!kl(e))return 0;const n=this.Au()+this.pu-e;return this.e_-(n+.5)*this.mu-1}Js(e,n){const a=this.Au(),i=n===void 0?0:n.from,o=n===void 0?e.length:n.to;for(let s=i;sn/2&&!d?v.needAlignCoordinate=!1:v.needAlignCoordinate=p&&g.index<=c||h&&g.index>=u,m++}return this.vu.length=m,this.fu=this.vu,this.vu}Fu(){this.ou=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Wu(e){this.ou=!0,this.eu=e,this.Ou(),this.Mu()}ju(e,n){const a=this.Bu(e),i=this.he(),o=i+n*(i/10);this.Gn(o),this.cn.rightBarStaysOnScroll||this.Jn(this.Eu()+(a-this.Bu(e)))}Uo(e){this.fo&&this.Zo(),this.do===null&&this.du===null&&(this.Fi()||(this.do=e,this.Hu()))}qo(e){if(this.du===null)return;const n=Qm(this.e_-e,0,this.e_),a=Qm(this.e_-O(this.do),0,this.e_);n!==0&&a!==0&&this.Gn(this.du.he*n/a)}Yo(){this.do!==null&&(this.do=null,this.$u())}Xo(e){this.fo===null&&this.du===null&&(this.Fi()||(this.fo=e,this.Hu()))}Ko(e){if(this.fo===null)return;const n=(this.fo-e)/this.he();this.pu=O(this.du).Eu+n,this.ou=!0,this.Ou()}Zo(){this.fo!==null&&(this.fo=null,this.$u())}Uu(){this.qu(this.cn.rightOffset)}qu(e,n=400){if(!isFinite(e))throw new RangeError("offset is required and must be finite number");if(!isFinite(n)||n<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const a=this.pu,i=performance.now();this.Ui.Xn({Yu:o=>(o-i)/n>=1,Xu:o=>{const s=(o-i)/n;return s>=1?e:a+(e-a)*s}})}gt(e,n){this.ou=!0,this.ru=e,this.hu.K_(e,n),this.Ou()}Ku(){return this._u}Zu(){return this.uu}Gu(){return this.cu}Au(){return this.eu||0}Ju(e){const n=e.U_();this.zu(this.e_/n),this.pu=e.di()-this.Au(),this.Ou(),this.ou=!0,this.Ui.Iu(),this.Ui.Fh()}Qu(){const e=this.Tu(),n=this.Pu();e!==null&&n!==null&&this.Ju(new Ks(e,n+this.cn.rightOffset))}tc(e){const n=new Ks(e.from,e.to);this.Ju(n)}Yi(e){return this.bo.timeFormatter!==void 0?this.bo.timeFormatter(e.originalTime):this.N_.formatHorzItem(e.time)}Lu(){const{handleScroll:e,handleScale:n}=this.Ui.W();return!(e.horzTouchDrag||e.mouseWheel||e.pressedMouseMove||e.vertTouchDrag||n.axisDoubleClickReset.time||n.axisPressedMouseMove.time||n.mouseWheel||n.pinch)}Tu(){return this.ru.length===0?null:0}Pu(){return this.ru.length===0?null:this.ru.length-1}ic(e){return(this.e_-1-e)/this.mu}Bu(e){const n=this.ic(e),a=this.Au()+this.pu-n;return Math.round(1e6*a)/1e6}zu(e){const n=this.mu;this.mu=e,this.Du(),n!==this.mu&&(this.ou=!0,this.nc())}Su(){if(!this.ou)return;if(this.ou=!1,this.Fi())return void this.sc(lu.su());const e=this.Au(),n=this.e_/this.mu,a=this.pu+e,i=new Ks(a-n+1,a);this.sc(new lu(i))}Du(){const e=this.ec();if(this.mun&&(this.mu=n,this.ou=!0)}}ec(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&this.ru.length!==0?this.e_/this.ru.length:this.cn.minBarSpacing}Ou(){const e=this.rc();this.pu>e&&(this.pu=e,this.ou=!0);const n=this.hc();n!==null&&this.puthis.lc(a),this.N_),this.lu.set(e.weight,n)),n.F_(e)}lc(e){return this.N_.formatTickmark(e,this.bo)}sc(e){const n=this.au;this.au=e,dx(n.iu(),this.au.iu())||this._u.m(),dx(n.nu(),this.au.nu())||this.uu.m(),this.nc()}nc(){this.fu=null}gu(){this.nc(),this.lu.clear()}bu(){this.N_.updateFormatter(this.bo)}Mu(){if(!this.cn.fixLeftEdge)return;const e=this.Tu();if(e===null)return;const n=this.Xs();if(n===null)return;const a=n.Os()-e;if(a<0){const i=this.pu-a-1;this.Jn(i)}this.Du()}xu(){this.Ou(),this.Du()}}class Xse extends Ug{constructor(e){super(),this.ac=new Map,this.Lt=e}Z(e){}J(e){if(!this.Lt.Tt)return;const{context:n,mediaSize:a}=e;let i=0;for(const s of this.Lt.oc){if(s.Jt.length===0)continue;n.font=s.R;const l=this._c(n,s.Jt);l>a.width?s.ju=a.width/l:s.ju=1,i+=s.uc*s.ju}let o=0;switch(this.Lt.cc){case"top":o=0;break;case"center":o=Math.max((a.height-i)/2,0);break;case"bottom":o=Math.max(a.height-i,0)}n.fillStyle=this.Lt.O;for(const s of this.Lt.oc){n.save();let l=0;switch(this.Lt.dc){case"left":n.textAlign="left",l=s.uc/2;break;case"center":n.textAlign="center",l=a.width/2;break;case"right":n.textAlign="right",l=a.width-1-s.uc/2}n.translate(l,o),n.textBaseline="top",n.font=s.R,n.scale(s.ju,s.ju),n.fillText(s.Jt,0,s.fc),n.restore(),o+=s.uc*s.ju}}_c(e,n){const a=this.vc(e.font);let i=a.get(n);return i===void 0&&(i=e.measureText(n).width,a.set(n,i)),i}vc(e){let n=this.ac.get(e);return n===void 0&&(n=new Map,this.ac.set(e,n)),n}}class ele{constructor(e){this.bt=!0,this.jt={Tt:!1,O:"",oc:[],cc:"center",dc:"center"},this.Ht=new Xse(this.jt),this.$t=e}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht}St(){const e=this.$t.W(),n=this.jt;n.Tt=e.visible,n.Tt&&(n.O=e.color,n.dc=e.horzAlign,n.cc=e.vertAlign,n.oc=[{Jt:e.text,R:Kr(e.fontSize,e.fontFamily,e.fontStyle),uc:1.2*e.fontSize,fc:0,ju:0}])}}let tle=class extends qg{constructor(e,n){super(),this.cn=n,this.wn=new ele(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}On(){this.wn.gt()}};var px,hx,mx,Ym,fx;(function(t){t[t.OnTouchEnd=0]="OnTouchEnd",t[t.OnNextTap=1]="OnNextTap"})(px||(px={}));class nle{constructor(e,n,a){this.mc=[],this.bc=[],this.e_=0,this.wc=null,this.gc=new et,this.Mc=new et,this.xc=null,this.Sc=e,this.cn=n,this.N_=a,this.kc=new Lre(this),this.wl=new Jse(this,n.timeScale,this.cn.localization,a),this.wt=new Hre(this,n.crosshair),this.yc=new Fse(n.crosshair),this.Cc=new tle(this,n.watermark),this.Tc(),this.mc[0].p_(2e3),this.Pc=this.Rc(0),this.Dc=this.Rc(1)}$l(){this.Oc(vt.es())}Fh(){this.Oc(vt.ss())}sa(){this.Oc(new vt(1))}Ul(e){const n=this.Ac(e);this.Oc(n)}Vc(){return this.wc}Bc(e){const n=this.wc;this.wc=e,n!==null&&this.Ul(n.Ic),e!==null&&this.Ul(e.Ic)}W(){return this.cn}Nh(e){ha(this.cn,e),this.mc.forEach(n=>n.c_(e)),e.timeScale!==void 0&&this.wl.Nh(e.timeScale),e.localization!==void 0&&this.wl.wu(e.localization),(e.leftPriceScale||e.rightPriceScale)&&this.gc.m(),this.Pc=this.Rc(0),this.Dc=this.Rc(1),this.$l()}zc(e,n){if(e==="left")return void this.Nh({leftPriceScale:n});if(e==="right")return void this.Nh({rightPriceScale:n});const a=this.Ec(e);a!==null&&(a.At.Nh(n),this.gc.m())}Ec(e){for(const n of this.mc){const a=n.d_(e);if(a!==null)return{Ut:n,At:a}}return null}yt(){return this.wl}Lc(){return this.mc}Nc(){return this.Cc}Fc(){return this.wt}Wc(){return this.Mc}jc(e,n){e.Oo(n),this.Iu()}m_(e){this.e_=e,this.wl.m_(this.e_),this.mc.forEach(n=>n.m_(e)),this.Iu()}Tc(e){const n=new Gse(this.wl,this);e!==void 0?this.mc.splice(e,0,n):this.mc.push(n);const a=e===void 0?this.mc.length-1:e,i=vt.es();return i.Nn(a,{Fn:0,Wn:!0}),this.Oc(i),n}y_(e,n,a){e.y_(n,a)}C_(e,n,a){e.C_(n,a),this.ql(),this.Oc(this.Hc(e,2))}T_(e,n){e.T_(n),this.Oc(this.Hc(e,2))}P_(e,n,a){n.yo()||e.P_(n,a)}R_(e,n,a){n.yo()||(e.R_(n,a),this.ql(),this.Oc(this.Hc(e,2)))}D_(e,n){n.yo()||(e.D_(n),this.Oc(this.Hc(e,2)))}A_(e,n){e.A_(n),this.Oc(this.Hc(e,2))}$c(e){this.wl.Uo(e)}Uc(e,n){const a=this.yt();if(a.Fi()||n===0)return;const i=a.$i();e=Math.max(1,Math.min(e,i)),a.ju(e,n),this.Iu()}qc(e){this.Yc(0),this.Xc(e),this.Kc()}Zc(e){this.wl.qo(e),this.Iu()}Gc(){this.wl.Yo(),this.Fh()}Yc(e){this.wl.Xo(e)}Xc(e){this.wl.Ko(e),this.Iu()}Kc(){this.wl.Zo(),this.Fh()}Mt(){return this.bc}Jc(e,n,a,i,o){this.wt.gn(e,n);let s=NaN,l=this.wl.Vu(e);const c=this.wl.Xs();c!==null&&(l=Math.min(Math.max(c.Os(),l),c.di()));const u=i.vn(),d=u.Pt();d!==null&&(s=u.pn(n,d)),s=this.yc.Ca(s,l,i),this.wt.kn(l,s,i),this.sa(),o||this.Mc.m(this.wt.kt(),{x:e,y:n},a)}Qc(e,n,a){const i=a.vn(),o=i.Pt(),s=i.Ot(e,O(o)),l=this.wl.ya(n,!0),c=this.wl.Et(O(l));this.Jc(c,s,null,a,!0)}td(e){this.Fc().Cn(),this.sa(),e||this.Mc.m(null,null,null)}ql(){const e=this.wt.Ut();if(e!==null){const n=this.wt.xn(),a=this.wt.Sn();this.Jc(n,a,null,e)}this.wt.On()}nd(e,n,a){const i=this.wl.mn(0);n!==void 0&&a!==void 0&&this.wl.gt(n,a);const o=this.wl.mn(0),s=this.wl.Au(),l=this.wl.Xs();if(l!==null&&i!==null&&o!==null){const c=l.Kr(s),u=this.N_.key(i)>this.N_.key(o),d=e!==null&&e>s&&!u,p=this.wl.W().allowShiftVisibleRangeOnWhitespaceReplacement,h=c&&(a!==void 0||p)&&this.wl.W().shiftVisibleRangeOnNewBar;if(d&&!h){const m=e-s;this.wl.Jn(this.wl.Eu()-m)}}this.wl.Wu(e)}Kl(e){e!==null&&e.B_()}cr(e){const n=this.mc.find(a=>a.No().includes(e));return n===void 0?null:n}Iu(){this.Cc.On(),this.mc.forEach(e=>e.B_()),this.ql()}S(){this.mc.forEach(e=>e.S()),this.mc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}sd(){return this.kc}mr(){return this.kc.W()}f_(){return this.gc}ed(e,n,a){const i=this.mc[0],o=this.rd(n,e,i,a);return this.bc.push(o),this.bc.length===1?this.$l():this.Fh(),o}hd(e){const n=this.cr(e),a=this.bc.indexOf(e);eo(a!==-1,"Series not found"),this.bc.splice(a,1),O(n).jo(e),e.S&&e.S()}Hl(e,n){const a=O(this.cr(e));a.jo(e);const i=this.Ec(n);if(i===null){const o=e.Zi();a.Fo(e,n,o)}else{const o=i.Ut===a?e.Zi():void 0;i.Ut.Fo(e,n,o)}}Qu(){const e=vt.ss();e.$n(),this.Oc(e)}ld(e){const n=vt.ss();n.Yn(e),this.Oc(n)}Zn(){const e=vt.ss();e.Zn(),this.Oc(e)}Gn(e){const n=vt.ss();n.Gn(e),this.Oc(n)}Jn(e){const n=vt.ss();n.Jn(e),this.Oc(n)}Xn(e){const n=vt.ss();n.Xn(e),this.Oc(n)}Un(){const e=vt.ss();e.Un(),this.Oc(e)}ad(){return this.cn.rightPriceScale.visible?"right":"left"}od(){return this.Dc}q(){return this.Pc}It(e){const n=this.Dc,a=this.Pc;if(n===a)return n;if(e=Math.max(0,Math.min(100,Math.round(100*e))),this.xc===null||this.xc.Ts!==a||this.xc.Ps!==n)this.xc={Ts:a,Ps:n,_d:new Map};else{const o=this.xc._d.get(e);if(o!==void 0)return o}const i=function(o,s,l){const[c,u,d,p]=Zu(o),[h,m,g,v]=Zu(s),y=[Pn(c+l*(h-c)),Pn(u+l*(m-u)),Pn(d+l*(g-d)),j1(p+l*(v-p))];return`rgba(${y[0]}, ${y[1]}, ${y[2]}, ${y[3]})`}(a,n,e/100);return this.xc._d.set(e,i),i}Hc(e,n){const a=new vt(n);if(e!==null){const i=this.mc.indexOf(e);a.Nn(i,{Fn:n})}return a}Ac(e,n){return n===void 0&&(n=2),this.Hc(this.cr(e),n)}Oc(e){this.Sc&&this.Sc(e),this.mc.forEach(n=>n.z_().Wh().gt())}rd(e,n,a,i){const o=new Qg(this,e,n,a,i),s=e.priceScaleId!==void 0?e.priceScaleId:this.ad();return a.Fo(o,s),tp(s)||o.Nh(e),o}Rc(e){const n=this.cn.layout;return n.background.type==="gradient"?e===0?n.background.topColor:n.background.bottomColor:n.background.color}}function Zm(t){return!Ta(t)&&!Il(t)}function V1(t){return Ta(t)}(function(t){t[t.Disabled=0]="Disabled",t[t.Continuous=1]="Continuous",t[t.OnDataUpdate=2]="OnDataUpdate"})(hx||(hx={})),function(t){t[t.LastBar=0]="LastBar",t[t.LastVisible=1]="LastVisible"}(mx||(mx={})),function(t){t.Solid="solid",t.VerticalGradient="gradient"}(Ym||(Ym={})),function(t){t[t.Year=0]="Year",t[t.Month=1]="Month",t[t.DayOfMonth=2]="DayOfMonth",t[t.Time=3]="Time",t[t.TimeWithSeconds=4]="TimeWithSeconds"}(fx||(fx={}));const gx=t=>t.getUTCFullYear();function ale(t,e,n){return e.replace(/yyyy/g,(a=>ti(gx(a),4))(t)).replace(/yy/g,(a=>ti(gx(a)%100,2))(t)).replace(/MMMM/g,((a,i)=>new Date(a.getUTCFullYear(),a.getUTCMonth(),1).toLocaleString(i,{month:"long"}))(t,n)).replace(/MMM/g,((a,i)=>new Date(a.getUTCFullYear(),a.getUTCMonth(),1).toLocaleString(i,{month:"short"}))(t,n)).replace(/MM/g,(a=>ti((i=>i.getUTCMonth()+1)(a),2))(t)).replace(/dd/g,(a=>ti((i=>i.getUTCDate())(a),2))(t))}let W1=class{constructor(e="yyyy-MM-dd",n="default"){this.ud=e,this.dd=n}F_(e){return ale(e,this.ud,this.dd)}};class ile{constructor(e){this.fd=e||"%h:%m:%s"}F_(e){return this.fd.replace("%h",ti(e.getUTCHours(),2)).replace("%m",ti(e.getUTCMinutes(),2)).replace("%s",ti(e.getUTCSeconds(),2))}}const ole={vd:"yyyy-MM-dd",pd:"%h:%m:%s",md:" ",bd:"default"};class rle{constructor(e={}){const n=Object.assign(Object.assign({},ole),e);this.wd=new W1(n.vd,n.bd),this.gd=new ile(n.pd),this.Md=n.md}F_(e){return`${this.wd.F_(e)}${this.Md}${this.gd.F_(e)}`}}function Dc(t){return 60*t*60*1e3}function vh(t){return 60*t*1e3}const Ac=[{xd:(vx=1,1e3*vx),Sd:10},{xd:vh(1),Sd:20},{xd:vh(5),Sd:21},{xd:vh(30),Sd:22},{xd:Dc(1),Sd:30},{xd:Dc(3),Sd:31},{xd:Dc(6),Sd:32},{xd:Dc(12),Sd:33}];var vx;function bx(t,e){if(t.getUTCFullYear()!==e.getUTCFullYear())return 70;if(t.getUTCMonth()!==e.getUTCMonth())return 60;if(t.getUTCDate()!==e.getUTCDate())return 50;for(let n=Ac.length-1;n>=0;--n)if(Math.floor(e.getTime()/Ac[n].xd)!==Math.floor(t.getTime()/Ac[n].xd))return Ac[n].Sd;return 0}function bh(t){let e=t;if(Il(t)&&(e=Yg(t)),!Zm(e))throw new Error("time must be of type BusinessDay");const n=new Date(Date.UTC(e.year,e.month-1,e.day,0,0,0,0));return{kd:Math.round(n.getTime()/1e3),yd:e}}function kx(t){if(!V1(t))throw new Error("time must be of type isUTCTimestamp");return{kd:t}}function Yg(t){const e=new Date(t);if(isNaN(e.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:e.getUTCDate(),month:e.getUTCMonth()+1,year:e.getUTCFullYear()}}function xx(t){Il(t.time)&&(t.time=Yg(t.time))}class yx{options(){return this.cn}setOptions(e){this.cn=e,this.updateFormatter(e.localization)}preprocessData(e){Array.isArray(e)?function(n){n.forEach(xx)}(e):xx(e)}createConverterToInternalObj(e){return O(function(n){return n.length===0?null:Zm(n[0].time)||Il(n[0].time)?bh:kx}(e))}key(e){return typeof e=="object"&&"kd"in e?e.kd:this.key(this.convertHorzItemToInternal(e))}cacheKey(e){const n=e;return n.yd===void 0?new Date(1e3*n.kd).getTime():new Date(Date.UTC(n.yd.year,n.yd.month-1,n.yd.day)).getTime()}convertHorzItemToInternal(e){return V1(n=e)?kx(n):Zm(n)?bh(n):bh(Yg(n));var n}updateFormatter(e){if(!this.cn)return;const n=e.dateFormat;this.cn.timeScale.timeVisible?this.Cd=new rle({vd:n,pd:this.cn.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",md:" ",bd:e.locale}):this.Cd=new W1(n,e.locale)}formatHorzItem(e){const n=e;return this.Cd.F_(new Date(1e3*n.kd))}formatTickmark(e,n){const a=function(o,s,l){switch(o){case 0:case 10:return s?l?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return s?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(e.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),i=this.cn.timeScale;if(i.tickMarkFormatter!==void 0){const o=i.tickMarkFormatter(e.originalTime,a,n.locale);if(o!==null)return o}return function(o,s,l){const c={};switch(s){case 0:c.year="numeric";break;case 1:c.month="short";break;case 2:c.day="numeric";break;case 3:c.hour12=!1,c.hour="2-digit",c.minute="2-digit";break;case 4:c.hour12=!1,c.hour="2-digit",c.minute="2-digit",c.second="2-digit"}const u=o.yd===void 0?new Date(1e3*o.kd):new Date(Date.UTC(o.yd.year,o.yd.month-1,o.yd.day));return new Date(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()).toLocaleString(l,c)}(e.time,a,n.locale)}maxTickMarkWeight(e){let n=e.reduce(Zse,e[0]).weight;return n>30&&n<50&&(n=30),n}fillWeightsForPoints(e,n){(function(a,i=0){if(a.length===0)return;let o=i===0?null:a[i-1].time.kd,s=o!==null?new Date(1e3*o):null,l=0;for(let c=i;c1){const c=Math.ceil(l/(a.length-1)),u=new Date(1e3*(a[0].time.kd-c));a[0].timeWeight=bx(new Date(1e3*a[0].time.kd),u)}})(e,n)}static Td(e){return ha({localization:{dateFormat:"dd MMM 'yy"}},e??{})}}const Gr=typeof window<"u";function wx(){return!!Gr&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function kh(){return!!Gr&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function Jm(t){return t+t%2}function xh(t,e){return t.Pd-e.Pd}function yh(t,e,n){const a=(t.Pd-e.Pd)/(t.ut-e.ut);return Math.sign(a)*Math.min(Math.abs(a),n)}class sle{constructor(e,n,a,i){this.Rd=null,this.Dd=null,this.Od=null,this.Ad=null,this.Vd=null,this.Bd=0,this.Id=0,this.zd=e,this.Ed=n,this.Ld=a,this.rs=i}Nd(e,n){if(this.Rd!==null){if(this.Rd.ut===n)return void(this.Rd.Pd=e);if(Math.abs(this.Rd.Pd-e)50)return;let a=0;const i=yh(this.Rd,this.Dd,this.Ed),o=xh(this.Rd,this.Dd),s=[i],l=[o];if(a+=o,this.Od!==null){const u=yh(this.Dd,this.Od,this.Ed);if(Math.sign(u)===Math.sign(i)){const d=xh(this.Dd,this.Od);if(s.push(u),l.push(d),a+=d,this.Ad!==null){const p=yh(this.Od,this.Ad,this.Ed);if(Math.sign(p)===Math.sign(i)){const h=xh(this.Od,this.Ad);s.push(p),l.push(h),a+=h}}}}let c=0;for(let u=0;u({width:Math.max(i.width,o.width),height:Math.max(i.height,o.height)})});return a.resizeCanvasElement(e),a}function Xm(t,e,n,a){t.G&&t.G(e,n,a)}function cu(t,e,n,a){t.K(e,n,a)}function ef(t,e,n,a){const i=t(n,a);for(const o of i){const s=o.xt();s!==null&&e(s)}}function lle(t){Gr&&window.chrome!==void 0&&t.addEventListener("mousedown",e=>{if(e.button===1)return e.preventDefault(),!1})}class Zg{constructor(e,n,a){this.Wd=0,this.jd=null,this.Hd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY},this.$d=0,this.Ud=null,this.qd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY},this.Yd=null,this.Xd=!1,this.Kd=null,this.Zd=null,this.Gd=!1,this.Jd=!1,this.Qd=!1,this.tf=null,this.if=null,this.nf=null,this.sf=null,this.ef=null,this.rf=null,this.hf=null,this.lf=0,this.af=!1,this._f=!1,this.uf=!1,this.cf=0,this.df=null,this.ff=!kh(),this.vf=i=>{this.pf(i)},this.mf=i=>{if(this.bf(i)){const o=this.wf(i);if(++this.$d,this.Ud&&this.$d>1){const{gf:s}=this.Mf(ya(i),this.qd);s<30&&!this.Qd&&this.xf(o,this.kf.Sf),this.yf()}}else{const o=this.wf(i);if(++this.Wd,this.jd&&this.Wd>1){const{gf:s}=this.Mf(ya(i),this.Hd);s<5&&!this.Jd&&this.Cf(o,this.kf.Tf),this.Pf()}}},this.Rf=e,this.kf=n,this.cn=a,this.Df()}S(){this.tf!==null&&(this.tf(),this.tf=null),this.if!==null&&(this.if(),this.if=null),this.sf!==null&&(this.sf(),this.sf=null),this.ef!==null&&(this.ef(),this.ef=null),this.rf!==null&&(this.rf(),this.rf=null),this.nf!==null&&(this.nf(),this.nf=null),this.Of(),this.Pf()}Af(e){this.sf&&this.sf();const n=this.Vf.bind(this);if(this.sf=()=>{this.Rf.removeEventListener("mousemove",n)},this.Rf.addEventListener("mousemove",n),this.bf(e))return;const a=this.wf(e);this.Cf(a,this.kf.Bf),this.ff=!0}Pf(){this.jd!==null&&clearTimeout(this.jd),this.Wd=0,this.jd=null,this.Hd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY}}yf(){this.Ud!==null&&clearTimeout(this.Ud),this.$d=0,this.Ud=null,this.qd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY}}Vf(e){if(this.uf||this.Zd!==null||this.bf(e))return;const n=this.wf(e);this.Cf(n,this.kf.If),this.ff=!0}zf(e){const n=wh(e.changedTouches,O(this.df));if(n===null||(this.cf=_c(e),this.hf!==null)||this._f)return;this.af=!0;const a=this.Mf(ya(n),O(this.Zd)),{Ef:i,Lf:o,gf:s}=a;if(this.Gd||!(s<5)){if(!this.Gd){const l=.5*i,c=o>=l&&!this.cn.Nf(),u=l>o&&!this.cn.Ff();c||u||(this._f=!0),this.Gd=!0,this.Qd=!0,this.Of(),this.yf()}if(!this._f){const l=this.wf(e,n);this.xf(l,this.kf.Wf),or(e)}}}jf(e){if(e.button!==0)return;const n=this.Mf(ya(e),O(this.Kd)),{gf:a}=n;if(a>=5&&(this.Jd=!0,this.Pf()),this.Jd){const i=this.wf(e);this.Cf(i,this.kf.Hf)}}Mf(e,n){const a=Math.abs(n.et-e.et),i=Math.abs(n.rt-e.rt);return{Ef:a,Lf:i,gf:a+i}}$f(e){let n=wh(e.changedTouches,O(this.df));if(n===null&&e.touches.length===0&&(n=e.changedTouches[0]),n===null)return;this.df=null,this.cf=_c(e),this.Of(),this.Zd=null,this.rf&&(this.rf(),this.rf=null);const a=this.wf(e,n);if(this.xf(a,this.kf.Uf),++this.$d,this.Ud&&this.$d>1){const{gf:i}=this.Mf(ya(n),this.qd);i<30&&!this.Qd&&this.xf(a,this.kf.Sf),this.yf()}else this.Qd||(this.xf(a,this.kf.qf),this.kf.qf&&or(e));this.$d===0&&or(e),e.touches.length===0&&this.Xd&&(this.Xd=!1,or(e))}pf(e){if(e.button!==0)return;const n=this.wf(e);if(this.Kd=null,this.uf=!1,this.ef&&(this.ef(),this.ef=null),wx()&&this.Rf.ownerDocument.documentElement.removeEventListener("mouseleave",this.vf),!this.bf(e))if(this.Cf(n,this.kf.Yf),++this.Wd,this.jd&&this.Wd>1){const{gf:a}=this.Mf(ya(e),this.Hd);a<5&&!this.Jd&&this.Cf(n,this.kf.Tf),this.Pf()}else this.Jd||this.Cf(n,this.kf.Xf)}Of(){this.Yd!==null&&(clearTimeout(this.Yd),this.Yd=null)}Kf(e){if(this.df!==null)return;const n=e.changedTouches[0];this.df=n.identifier,this.cf=_c(e);const a=this.Rf.ownerDocument.documentElement;this.Qd=!1,this.Gd=!1,this._f=!1,this.Zd=ya(n),this.rf&&(this.rf(),this.rf=null);{const o=this.zf.bind(this),s=this.$f.bind(this);this.rf=()=>{a.removeEventListener("touchmove",o),a.removeEventListener("touchend",s)},a.addEventListener("touchmove",o,{passive:!1}),a.addEventListener("touchend",s,{passive:!1}),this.Of(),this.Yd=setTimeout(this.Zf.bind(this,e),240)}const i=this.wf(e,n);this.xf(i,this.kf.Gf),this.Ud||(this.$d=0,this.Ud=setTimeout(this.yf.bind(this),500),this.qd=ya(n))}Jf(e){if(e.button!==0)return;const n=this.Rf.ownerDocument.documentElement;wx()&&n.addEventListener("mouseleave",this.vf),this.Jd=!1,this.Kd=ya(e),this.ef&&(this.ef(),this.ef=null);{const i=this.jf.bind(this),o=this.pf.bind(this);this.ef=()=>{n.removeEventListener("mousemove",i),n.removeEventListener("mouseup",o)},n.addEventListener("mousemove",i),n.addEventListener("mouseup",o)}if(this.uf=!0,this.bf(e))return;const a=this.wf(e);this.Cf(a,this.kf.Qf),this.jd||(this.Wd=0,this.jd=setTimeout(this.Pf.bind(this),500),this.Hd=ya(e))}Df(){this.Rf.addEventListener("mouseenter",this.Af.bind(this)),this.Rf.addEventListener("touchcancel",this.Of.bind(this));{const e=this.Rf.ownerDocument,n=a=>{this.kf.tv&&(a.composed&&this.Rf.contains(a.composedPath()[0])||a.target&&this.Rf.contains(a.target)||this.kf.tv())};this.if=()=>{e.removeEventListener("touchstart",n)},this.tf=()=>{e.removeEventListener("mousedown",n)},e.addEventListener("mousedown",n),e.addEventListener("touchstart",n,{passive:!0})}kh()&&(this.nf=()=>{this.Rf.removeEventListener("dblclick",this.mf)},this.Rf.addEventListener("dblclick",this.mf)),this.Rf.addEventListener("mouseleave",this.iv.bind(this)),this.Rf.addEventListener("touchstart",this.Kf.bind(this),{passive:!0}),lle(this.Rf),this.Rf.addEventListener("mousedown",this.Jf.bind(this)),this.nv(),this.Rf.addEventListener("touchmove",()=>{},{passive:!1})}nv(){this.kf.sv===void 0&&this.kf.ev===void 0&&this.kf.rv===void 0||(this.Rf.addEventListener("touchstart",e=>this.hv(e.touches),{passive:!0}),this.Rf.addEventListener("touchmove",e=>{if(e.touches.length===2&&this.hf!==null&&this.kf.ev!==void 0){const n=jx(e.touches[0],e.touches[1])/this.lf;this.kf.ev(this.hf,n),or(e)}},{passive:!1}),this.Rf.addEventListener("touchend",e=>{this.hv(e.touches)}))}hv(e){e.length===1&&(this.af=!1),e.length!==2||this.af||this.Xd?this.lv():this.av(e)}av(e){const n=this.Rf.getBoundingClientRect()||{left:0,top:0};this.hf={et:(e[0].clientX-n.left+(e[1].clientX-n.left))/2,rt:(e[0].clientY-n.top+(e[1].clientY-n.top))/2},this.lf=jx(e[0],e[1]),this.kf.sv!==void 0&&this.kf.sv(),this.Of()}lv(){this.hf!==null&&(this.hf=null,this.kf.rv!==void 0&&this.kf.rv())}iv(e){if(this.sf&&this.sf(),this.bf(e)||!this.ff)return;const n=this.wf(e);this.Cf(n,this.kf.ov),this.ff=!kh()}Zf(e){const n=wh(e.touches,O(this.df));if(n===null)return;const a=this.wf(e,n);this.xf(a,this.kf._v),this.Qd=!0,this.Xd=!0}bf(e){return e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents!==void 0?e.sourceCapabilities.firesTouchEvents:_c(e){e.type!=="touchstart"&&or(e)}}}}function jx(t,e){const n=t.clientX-e.clientX,a=t.clientY-e.clientY;return Math.sqrt(n*n+a*a)}function or(t){t.cancelable&&t.preventDefault()}function ya(t){return{et:t.pageX,rt:t.pageY}}function _c(t){return t.timeStamp||performance.now()}function wh(t,e){for(let n=0;n{var a,i,o,s;return((i=(a=n.At())===null||a===void 0?void 0:a.xa())!==null&&i!==void 0?i:"")!==e?[]:(s=(o=n.la)===null||o===void 0?void 0:o.call(n,t))!==null&&s!==void 0?s:[]}}class Bx{constructor(e,n,a,i){this.Li=null,this.wv=null,this.gv=!1,this.Mv=new yl(200),this.Gr=null,this.xv=0,this.Sv=!1,this.kv=()=>{this.Sv||this.nn.yv().qt().Fh()},this.Cv=()=>{this.Sv||this.nn.yv().qt().Fh()},this.nn=e,this.cn=n,this.mo=n.layout,this.kc=a,this.Tv=i==="left",this.Pv=jh("normal",i),this.Rv=jh("top",i),this.Dv=jh("bottom",i),this.Ov=document.createElement("div"),this.Ov.style.height="100%",this.Ov.style.overflow="hidden",this.Ov.style.width="25px",this.Ov.style.left="0",this.Ov.style.position="relative",this.Av=qo(this.Ov,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const o=this.Av.canvasElement;o.style.position="absolute",o.style.zIndex="1",o.style.left="0",o.style.top="0",this.Vv=qo(this.Ov,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const s=this.Vv.canvasElement;s.style.position="absolute",s.style.zIndex="2",s.style.left="0",s.style.top="0";const l={Qf:this.Bv.bind(this),Gf:this.Bv.bind(this),Hf:this.Iv.bind(this),Wf:this.Iv.bind(this),tv:this.zv.bind(this),Yf:this.Ev.bind(this),Uf:this.Ev.bind(this),Tf:this.Lv.bind(this),Sf:this.Lv.bind(this),Bf:this.Nv.bind(this),ov:this.Fv.bind(this)};this.Wv=new Zg(this.Vv.canvasElement,l,{Nf:()=>!this.cn.handleScroll.vertTouchDrag,Ff:()=>!0})}S(){this.Wv.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose(),this.Li!==null&&this.Li.$o().p(this),this.Li=null}jv(){return this.Ov}P(){return this.mo.fontSize}Hv(){const e=this.kc.W();return this.Gr!==e.R&&(this.Mv.ir(),this.Gr=e.R),e}$v(){if(this.Li===null)return 0;let e=0;const n=this.Hv(),a=O(this.Av.canvasElement.getContext("2d"));a.save();const i=this.Li.Ea();a.font=this.Uv(),i.length>0&&(e=Math.max(this.Mv.Si(a,i[0].Za),this.Mv.Si(a,i[i.length-1].Za)));const o=this.qv();for(let c=o.length;c--;){const u=this.Mv.Si(a,o[c].Jt());u>e&&(e=u)}const s=this.Li.Pt();if(s!==null&&this.wv!==null){const c=this.Li.pn(1,s),u=this.Li.pn(this.wv.height-2,s);e=Math.max(e,this.Mv.Si(a,this.Li.Wi(Math.floor(Math.min(c,u))+.11111111111111,s)),this.Mv.Si(a,this.Li.Wi(Math.ceil(Math.max(c,u))-.11111111111111,s)))}a.restore();const l=e||34;return Jm(Math.ceil(n.C+n.T+n.B+n.I+5+l))}Yv(e){this.wv!==null&&To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`)}Xv(){return O(this.wv).width}Ji(e){this.Li!==e&&(this.Li!==null&&this.Li.$o().p(this),this.Li=e,e.$o().l(this.ao.bind(this),this))}At(){return this.Li}ir(){const e=this.nn.Kv();this.nn.yv().qt().A_(e,O(this.At()))}Zv(e){if(this.wv===null)return;if(e!==1){this.Gv(),this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i),this.Be(i)}),this.nn.Qv(a,this.Dv),this.tp(a),this.nn.Qv(a,this.Pv),this.ip(a))}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.np(n),this.nn.Qv(n,this.Rv))}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}gt(){var e;(e=this.Li)===null||e===void 0||e.Ea()}Bv(e){if(this.Li===null||this.Li.Fi()||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv();this.gv=!0,n.y_(a,this.Li,e.localY)}Iv(e){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv(),i=this.Li;n.C_(a,i,e.localY)}zv(){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const e=this.nn.yv().qt(),n=this.nn.Kv(),a=this.Li;this.gv&&(this.gv=!1,e.T_(n,a))}Ev(e){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv();this.gv=!1,n.T_(a,this.Li)}Lv(e){this.cn.handleScale.axisDoubleClickReset.price&&this.ir()}Nv(e){this.Li!==null&&(!this.nn.yv().qt().W().handleScale.axisPressedMouseMove.price||this.Li.ph()||this.Li.Co()||this.rp(1))}Fv(e){this.rp(0)}qv(){const e=[],n=this.Li===null?void 0:this.Li;return(a=>{for(let i=0;i{s.fillStyle=a.borderColor;const u=Math.max(1,Math.floor(c)),d=Math.floor(.5*c),p=Math.round(i.T*l);s.beginPath();for(const h of n)s.rect(Math.floor(o*l),Math.round(h.Aa*c)-d,p,u);s.fill()}),e.useMediaCoordinateSpace(({context:s})=>{var l;s.font=this.Uv(),s.fillStyle=(l=a.textColor)!==null&&l!==void 0?l:this.mo.textColor,s.textAlign=this.Tv?"right":"left",s.textBaseline="middle";const c=this.Tv?Math.round(o-i.B):Math.round(o+i.T+i.B),u=n.map(d=>this.Mv.xi(s,d.Za));for(let d=n.length;d--;){const p=n[d];s.fillText(p.Za,c,p.Aa+u[d])}})}Gv(){if(this.wv===null||this.Li===null)return;let e=this.wv.height/2;const n=[],a=this.Li.No().slice(),i=this.nn.Kv(),o=this.Hv();this.Li===i.vr()&&this.nn.Kv().No().forEach(c=>{i.dr(c)&&a.push(c)});const s=this.Li.Ta()[0],l=this.Li;a.forEach(c=>{const u=c.Rn(i,l);u.forEach(d=>{d.Vi(null),d.Bi()&&n.push(d)}),s===c&&u.length>0&&(e=u[0].yi())}),n.forEach(c=>c.Vi(c.yi())),this.Li.W().alignLabels&&this.hp(n,o,e)}hp(e,n,a){if(this.wv===null)return;const i=e.filter(s=>s.yi()<=a),o=e.filter(s=>s.yi()>a);i.sort((s,l)=>l.yi()-s.yi()),i.length&&o.length&&o.push(i[0]),o.sort((s,l)=>s.yi()-l.yi());for(const s of e){const l=Math.floor(s.zt(n)/2),c=s.yi();c>-l&&cthis.wv.height-l&&cp-u&&l.Vi(p-u)}for(let s=1;s{o.Ii()&&o.xt(O(this.Li)).K(e,a,this.Mv,i)})}np(e){if(this.wv===null||this.Li===null)return;const n=this.nn.yv().qt(),a=[],i=this.nn.Kv(),o=n.Fc().Rn(i,this.Li);o.length&&a.push(o);const s=this.Hv(),l=this.Tv?"right":"left";a.forEach(c=>{c.forEach(u=>{u.xt(O(this.Li)).K(e,s,this.Mv,l)})})}rp(e){this.Ov.style.cursor=e===1?"ns-resize":"default"}ao(){const e=this.$v();this.xv{this.Sv||this.wp===null||this.Ui().Fh()},this.Cv=()=>{this.Sv||this.wp===null||this.Ui().Fh()},this.gp=e,this.wp=n,this.wp.I_().l(this.Mp.bind(this),this,!0),this.xp=document.createElement("td"),this.xp.style.padding="0",this.xp.style.position="relative";const a=document.createElement("div");a.style.width="100%",a.style.height="100%",a.style.position="relative",a.style.overflow="hidden",this.Sp=document.createElement("td"),this.Sp.style.padding="0",this.kp=document.createElement("td"),this.kp.style.padding="0",this.xp.appendChild(a),this.Av=qo(a,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const i=this.Av.canvasElement;i.style.position="absolute",i.style.zIndex="1",i.style.left="0",i.style.top="0",this.Vv=qo(a,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const o=this.Vv.canvasElement;o.style.position="absolute",o.style.zIndex="2",o.style.left="0",o.style.top="0",this.yp=document.createElement("tr"),this.yp.appendChild(this.Sp),this.yp.appendChild(this.xp),this.yp.appendChild(this.kp),this.Cp(),this.Wv=new Zg(this.Vv.canvasElement,this,{Nf:()=>this.vp===null&&!this.gp.W().handleScroll.vertTouchDrag,Ff:()=>this.vp===null&&!this.gp.W().handleScroll.horzTouchDrag})}S(){this.lp!==null&&this.lp.S(),this.ap!==null&&this.ap.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose(),this.wp!==null&&this.wp.I_().p(this),this.Wv.S()}Kv(){return O(this.wp)}Tp(e){this.wp!==null&&this.wp.I_().p(this),this.wp=e,this.wp!==null&&this.wp.I_().l(Jg.prototype.Mp.bind(this),this,!0),this.Cp()}yv(){return this.gp}jv(){return this.yp}Cp(){if(this.wp!==null&&(this.Pp(),this.Ui().Mt().length!==0)){if(this.lp!==null){const e=this.wp.S_();this.lp.Ji(O(e))}if(this.ap!==null){const e=this.wp.k_();this.ap.Ji(O(e))}}}Rp(){this.lp!==null&&this.lp.gt(),this.ap!==null&&this.ap.gt()}v_(){return this.wp!==null?this.wp.v_():0}p_(e){this.wp&&this.wp.p_(e)}Bf(e){if(!this.wp)return;this.Dp();const n=e.localX,a=e.localY;this.Op(n,a,e)}Qf(e){this.Dp(),this.Ap(),this.Op(e.localX,e.localY,e)}If(e){var n;if(!this.wp)return;this.Dp();const a=e.localX,i=e.localY;this.Op(a,i,e);const o=this.br(a,i);this.gp.Vp((n=o==null?void 0:o.bv)!==null&&n!==void 0?n:null),this.Ui().Bc(o&&{Ic:o.Ic,pv:o.pv})}Xf(e){this.wp!==null&&(this.Dp(),this.Bp(e))}Tf(e){this.wp!==null&&this.Ip(this.cp,e)}Sf(e){this.Tf(e)}Hf(e){this.Dp(),this.zp(e),this.Op(e.localX,e.localY,e)}Yf(e){this.wp!==null&&(this.Dp(),this.fp=!1,this.Ep(e))}qf(e){this.wp!==null&&this.Bp(e)}_v(e){if(this.fp=!0,this.vp===null){const n={x:e.localX,y:e.localY};this.Lp(n,n,e)}}ov(e){this.wp!==null&&(this.Dp(),this.wp.qt().Bc(null),this.Np())}Fp(){return this.up}Wp(){return this.cp}sv(){this.dp=1,this.Ui().Un()}ev(e,n){if(!this.gp.W().handleScale.pinch)return;const a=5*(n-this.dp);this.dp=n,this.Ui().Uc(e.et,a)}Gf(e){this.fp=!1,this.pp=this.vp!==null,this.Ap();const n=this.Ui().Fc();this.vp!==null&&n.Tt()&&(this.mp={x:n.Kt(),y:n.Zt()},this.vp={x:e.localX,y:e.localY})}Wf(e){if(this.wp===null)return;const n=e.localX,a=e.localY;if(this.vp===null)this.zp(e);else{this.pp=!1;const i=O(this.mp),o=i.x+(n-this.vp.x),s=i.y+(a-this.vp.y);this.Op(o,s,e)}}Uf(e){this.yv().W().trackingMode.exitMode===0&&(this.pp=!0),this.jp(),this.Ep(e)}br(e,n){const a=this.wp;return a===null?null:function(i,o,s){const l=i.No(),c=function(u,d,p){var h,m;let g,v;for(const k of u){const w=(m=(h=k.oa)===null||h===void 0?void 0:h.call(k,d,p))!==null&&m!==void 0?m:[];for(const j of w)y=j.zOrder,(!(b=g==null?void 0:g.zOrder)||y==="top"&&b!=="top"||y==="normal"&&b==="bottom")&&(g=j,v=k)}var y,b;return g&&v?{mv:g,Ic:v}:null}(l,o,s);if((c==null?void 0:c.mv.zOrder)==="top")return Tc(c);for(const u of l){if(c&&c.Ic===u&&c.mv.zOrder!=="bottom"&&!c.mv.isBackground)return Tc(c);const d=cle(u.Pn(i),o,s);if(d!==null)return{Ic:u,fv:d.fv,pv:d.pv};if(c&&c.Ic===u&&c.mv.zOrder!=="bottom"&&c.mv.isBackground)return Tc(c)}return c!=null&&c.mv?Tc(c):null}(a,e,n)}Hp(e,n){O(n==="left"?this.lp:this.ap).Yv(Ne({width:e,height:this.wv.height}))}$p(){return this.wv}Yv(e){To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.xp.style.width=e.width+"px",this.xp.style.height=e.height+"px")}Up(){const e=O(this.wp);e.x_(e.S_()),e.x_(e.k_());for(const n of e.Ta())if(e.dr(n)){const a=n.At();a!==null&&e.x_(a),n.On()}}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Zv(e){if(e===0||this.wp===null)return;if(e>1&&this.Up(),this.lp!==null&&this.lp.Zv(e),this.ap!==null&&this.ap.Zv(e),e!==1){this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i)}),this.wp&&(this.qp(a,ule),this.Yp(a),this.Xp(a),this.qp(a,Ec),this.qp(a,dle)))}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.Kp(n),this.qp(n,ple))}Zp(){return this.lp}Gp(){return this.ap}Qv(e,n){this.qp(e,n)}Mp(){this.wp!==null&&this.wp.I_().p(this),this.wp=null}Bp(e){this.Ip(this.up,e)}Ip(e,n){const a=n.localX,i=n.localY;e.M()&&e.m(this.Ui().yt().Vu(a),{x:a,y:i},n)}Jv({context:e,bitmapSize:n}){const{width:a,height:i}=n,o=this.Ui(),s=o.q(),l=o.od();s===l?Xd(e,0,0,a,i,l):B1(e,0,0,a,i,s,l)}Yp(e){const n=O(this.wp).z_().Wh().xt();n!==null&&n.K(e,!1)}Xp(e){const n=this.Ui().Nc();this.Jp(e,Ec,Xm,n),this.Jp(e,Ec,cu,n)}Kp(e){this.Jp(e,Ec,cu,this.Ui().Fc())}qp(e,n){const a=O(this.wp).No();for(const i of a)this.Jp(e,n,Xm,i);for(const i of a)this.Jp(e,n,cu,i)}Jp(e,n,a,i){const o=O(this.wp),s=o.qt().Vc(),l=s!==null&&s.Ic===i,c=s!==null&&l&&s.pv!==void 0?s.pv.gr:void 0;ef(n,u=>a(u,e,l,c),i,o)}Pp(){if(this.wp===null)return;const e=this.gp,n=this.wp.S_().W().visible,a=this.wp.k_().W().visible;n||this.lp===null||(this.Sp.removeChild(this.lp.jv()),this.lp.S(),this.lp=null),a||this.ap===null||(this.kp.removeChild(this.ap.jv()),this.ap.S(),this.ap=null);const i=e.qt().sd();n&&this.lp===null&&(this.lp=new Bx(this,e.W(),i,"left"),this.Sp.appendChild(this.lp.jv())),a&&this.ap===null&&(this.ap=new Bx(this,e.W(),i,"right"),this.kp.appendChild(this.ap.jv()))}Qp(e){return e.uv&&this.fp||this.vp!==null}tm(e){return Math.max(0,Math.min(e,this.wv.width-1))}im(e){return Math.max(0,Math.min(e,this.wv.height-1))}Op(e,n,a){this.Ui().Jc(this.tm(e),this.im(n),a,O(this.wp))}Np(){this.Ui().td()}jp(){this.pp&&(this.vp=null,this.Np())}Lp(e,n,a){this.vp=e,this.pp=!1,this.Op(n.x,n.y,a);const i=this.Ui().Fc();this.mp={x:i.Kt(),y:i.Zt()}}Ui(){return this.gp.qt()}Ep(e){if(!this._p)return;const n=this.Ui(),a=this.Kv();if(n.D_(a,a.vn()),this.op=null,this._p=!1,n.Kc(),this.bp!==null){const i=performance.now(),o=n.yt();this.bp.Dr(o.Eu(),i),this.bp.Yu(i)||n.Xn(this.bp)}}Dp(){this.vp=null}Ap(){if(this.wp){if(this.Ui().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)O(document.activeElement).blur();else{const e=document.getSelection();e!==null&&e.removeAllRanges()}!this.wp.vn().Fi()&&this.Ui().yt().Fi()}}zp(e){if(this.wp===null)return;const n=this.Ui(),a=n.yt();if(a.Fi())return;const i=this.gp.W(),o=i.handleScroll,s=i.kineticScroll;if((!o.pressedMouseMove||e.uv)&&(!o.horzTouchDrag&&!o.vertTouchDrag||!e.uv))return;const l=this.wp.vn(),c=performance.now();if(this.op!==null||this.Qp(e)||(this.op={x:e.clientX,y:e.clientY,kd:c,nm:e.localX,sm:e.localY}),this.op!==null&&!this._p&&(this.op.x!==e.clientX||this.op.y!==e.clientY)){if(e.uv&&s.touch||!e.uv&&s.mouse){const u=a.he();this.bp=new sle(.2/u,7/u,.997,15/u),this.bp.Nd(a.Eu(),this.op.kd)}else this.bp=null;l.Fi()||n.P_(this.wp,l,e.localY),n.Yc(e.localX),this._p=!0}this._p&&(l.Fi()||n.R_(this.wp,l,e.localY),n.Xc(e.localX),this.bp!==null&&this.bp.Nd(a.Eu(),c))}}class Sx{constructor(e,n,a,i,o){this.bt=!0,this.wv=Ne({width:0,height:0}),this.kv=()=>this.Zv(3),this.Tv=e==="left",this.kc=a.sd,this.cn=n,this.rm=i,this.hm=o,this.Ov=document.createElement("div"),this.Ov.style.width="25px",this.Ov.style.height="100%",this.Ov.style.overflow="hidden",this.Av=qo(this.Ov,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv)}S(){this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose()}jv(){return this.Ov}$p(){return this.wv}Yv(e){To(this.wv,e)||(this.wv=e,this.Av.resizeCanvasElement(e),this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`,this.bt=!0)}Zv(e){if(e<3&&!this.bt||this.wv.width===0||this.wv.height===0)return;this.bt=!1,this.Av.applySuggestedBitmapSize();const n=Wo(this.Av);n!==null&&n.useBitmapCoordinateSpace(a=>{this.Jv(a),this.Be(a)})}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Be({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(!this.rm())return;e.fillStyle=this.cn.timeScale.borderColor;const o=Math.floor(this.kc.W().C*a),s=Math.floor(this.kc.W().C*i),l=this.Tv?n.width-o:0;e.fillRect(l,0,o,s)}Jv({context:e,bitmapSize:n}){Xd(e,0,0,n.width,n.height,this.hm())}}function Xg(t){return e=>{var n,a;return(a=(n=e.aa)===null||n===void 0?void 0:n.call(e,t))!==null&&a!==void 0?a:[]}}const hle=Xg("normal"),mle=Xg("top"),fle=Xg("bottom");class gle{constructor(e,n){this.lm=null,this.am=null,this.k=null,this.om=!1,this.wv=Ne({width:0,height:0}),this._m=new et,this.Mv=new yl(5),this.Sv=!1,this.kv=()=>{this.Sv||this.gp.qt().Fh()},this.Cv=()=>{this.Sv||this.gp.qt().Fh()},this.gp=e,this.N_=n,this.cn=e.W().layout,this.um=document.createElement("tr"),this.dm=document.createElement("td"),this.dm.style.padding="0",this.fm=document.createElement("td"),this.fm.style.padding="0",this.Ov=document.createElement("td"),this.Ov.style.height="25px",this.Ov.style.padding="0",this.vm=document.createElement("div"),this.vm.style.width="100%",this.vm.style.height="100%",this.vm.style.position="relative",this.vm.style.overflow="hidden",this.Ov.appendChild(this.vm),this.Av=qo(this.vm,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const a=this.Av.canvasElement;a.style.position="absolute",a.style.zIndex="1",a.style.left="0",a.style.top="0",this.Vv=qo(this.vm,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const i=this.Vv.canvasElement;i.style.position="absolute",i.style.zIndex="2",i.style.left="0",i.style.top="0",this.um.appendChild(this.dm),this.um.appendChild(this.Ov),this.um.appendChild(this.fm),this.pm(),this.gp.qt().f_().l(this.pm.bind(this),this),this.Wv=new Zg(this.Vv.canvasElement,this,{Nf:()=>!0,Ff:()=>!this.gp.W().handleScroll.horzTouchDrag})}S(){this.Wv.S(),this.lm!==null&&this.lm.S(),this.am!==null&&this.am.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose()}jv(){return this.um}bm(){return this.lm}wm(){return this.am}Qf(e){if(this.om)return;this.om=!0;const n=this.gp.qt();!n.yt().Fi()&&this.gp.W().handleScale.axisPressedMouseMove.time&&n.$c(e.localX)}Gf(e){this.Qf(e)}tv(){const e=this.gp.qt();!e.yt().Fi()&&this.om&&(this.om=!1,this.gp.W().handleScale.axisPressedMouseMove.time&&e.Gc())}Hf(e){const n=this.gp.qt();!n.yt().Fi()&&this.gp.W().handleScale.axisPressedMouseMove.time&&n.Zc(e.localX)}Wf(e){this.Hf(e)}Yf(){this.om=!1;const e=this.gp.qt();e.yt().Fi()&&!this.gp.W().handleScale.axisPressedMouseMove.time||e.Gc()}Uf(){this.Yf()}Tf(){this.gp.W().handleScale.axisDoubleClickReset.time&&this.gp.qt().Zn()}Sf(){this.Tf()}Bf(){this.gp.qt().W().handleScale.axisPressedMouseMove.time&&this.rp(1)}ov(){this.rp(0)}$p(){return this.wv}gm(){return this._m}Mm(e,n,a){To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`,this._m.m(e)),this.lm!==null&&this.lm.Yv(Ne({width:n,height:e.height})),this.am!==null&&this.am.Yv(Ne({width:a,height:e.height}))}xm(){const e=this.Sm();return Math.ceil(e.C+e.T+e.P+e.L+e.V+e.km)}gt(){this.gp.qt().yt().Ea()}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Zv(e){if(e===0)return;if(e!==1){this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i),this.Be(i),this.ym(a,fle)}),this.tp(a),this.ym(a,hle)),this.lm!==null&&this.lm.Zv(e),this.am!==null&&this.am.Zv(e)}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.Cm([...this.gp.qt().Mt(),this.gp.qt().Fc()],n),this.ym(n,mle))}ym(e,n){const a=this.gp.qt().Mt();for(const i of a)ef(n,o=>Xm(o,e,!1,void 0),i,void 0);for(const i of a)ef(n,o=>cu(o,e,!1,void 0),i,void 0)}Jv({context:e,bitmapSize:n}){Xd(e,0,0,n.width,n.height,this.gp.qt().od())}Be({context:e,bitmapSize:n,verticalPixelRatio:a}){if(this.gp.W().timeScale.borderVisible){e.fillStyle=this.Tm();const i=Math.max(1,Math.floor(this.Sm().C*a));e.fillRect(0,0,n.width,i)}}tp(e){const n=this.gp.qt().yt(),a=n.Ea();if(!a||a.length===0)return;const i=this.N_.maxTickMarkWeight(a),o=this.Sm(),s=n.W();s.borderVisible&&s.ticksVisible&&e.useBitmapCoordinateSpace(({context:l,horizontalPixelRatio:c,verticalPixelRatio:u})=>{l.strokeStyle=this.Tm(),l.fillStyle=this.Tm();const d=Math.max(1,Math.floor(c)),p=Math.floor(.5*c);l.beginPath();const h=Math.round(o.T*u);for(let m=a.length;m--;){const g=Math.round(a[m].coord*c);l.rect(g-p,0,d,h)}l.fill()}),e.useMediaCoordinateSpace(({context:l})=>{const c=o.C+o.T+o.L+o.P/2;l.textAlign="center",l.textBaseline="middle",l.fillStyle=this.$(),l.font=this.Uv();for(const u of a)if(u.weight=i){const d=u.needAlignCoordinate?this.Pm(l,u.coord,u.label):u.coord;l.fillText(u.label,d,c)}})}Pm(e,n,a){const i=this.Mv.Si(e,a),o=i/2,s=Math.floor(n-o)+.5;return s<0?n+=Math.abs(0-s):s+i>this.wv.width&&(n-=Math.abs(this.wv.width-(s+i))),n}Cm(e,n){const a=this.Sm();for(const i of e)for(const o of i.tn())o.xt().K(n,a)}Tm(){return this.gp.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}Uv(){return Kr(this.j(),this.cn.fontFamily)}Rm(){return Kr(this.j(),this.cn.fontFamily,"bold")}Sm(){this.k===null&&(this.k={C:1,N:NaN,L:NaN,V:NaN,Hi:NaN,T:5,P:NaN,R:"",ji:new yl,km:0});const e=this.k,n=this.Uv();if(e.R!==n){const a=this.j();e.P=a,e.R=n,e.L=3*a/12,e.V=3*a/12,e.Hi=9*a/12,e.N=0,e.km=4*a/12,e.ji.ir()}return this.k}rp(e){this.Ov.style.cursor=e===1?"ew-resize":"default"}pm(){const e=this.gp.qt(),n=e.W();n.leftPriceScale.visible||this.lm===null||(this.dm.removeChild(this.lm.jv()),this.lm.S(),this.lm=null),n.rightPriceScale.visible||this.am===null||(this.fm.removeChild(this.am.jv()),this.am.S(),this.am=null);const a={sd:this.gp.qt().sd()},i=()=>n.leftPriceScale.borderVisible&&e.yt().W().borderVisible,o=()=>e.od();n.leftPriceScale.visible&&this.lm===null&&(this.lm=new Sx("left",n,a,i,o),this.dm.appendChild(this.lm.jv())),n.rightPriceScale.visible&&this.am===null&&(this.am=new Sx("right",n,a,i,o),this.fm.appendChild(this.am.jv()))}}const vle=!!Gr&&!!navigator.userAgentData&&navigator.userAgentData.brands.some(t=>t.brand.includes("Chromium"))&&!!Gr&&(!((Bh=navigator==null?void 0:navigator.userAgentData)===null||Bh===void 0)&&Bh.platform?navigator.userAgentData.platform==="Windows":navigator.userAgent.toLowerCase().indexOf("win")>=0);var Bh;class ble{constructor(e,n,a){var i;this.Dm=[],this.Om=0,this.Qa=0,this.e_=0,this.Am=0,this.Vm=0,this.Bm=null,this.Im=!1,this.up=new et,this.cp=new et,this.Mc=new et,this.zm=null,this.Em=null,this.Lm=e,this.cn=n,this.N_=a,this.um=document.createElement("div"),this.um.classList.add("tv-lightweight-charts"),this.um.style.overflow="hidden",this.um.style.direction="ltr",this.um.style.width="100%",this.um.style.height="100%",(i=this.um).style.userSelect="none",i.style.webkitUserSelect="none",i.style.msUserSelect="none",i.style.MozUserSelect="none",i.style.webkitTapHighlightColor="transparent",this.Nm=document.createElement("table"),this.Nm.setAttribute("cellspacing","0"),this.um.appendChild(this.Nm),this.Fm=this.Wm.bind(this),Sh(this.cn)&&this.jm(!0),this.Ui=new nle(this.Sc.bind(this),this.cn,a),this.qt().Wc().l(this.Hm.bind(this),this),this.$m=new gle(this,this.N_),this.Nm.appendChild(this.$m.jv());const o=n.autoSize&&this.Um();let s=this.cn.width,l=this.cn.height;if(o||s===0||l===0){const c=e.getBoundingClientRect();s=s||c.width,l=l||c.height}this.qm(s,l),this.Ym(),e.appendChild(this.um),this.Xm(),this.Ui.yt().Gu().l(this.Ui.$l.bind(this.Ui),this),this.Ui.f_().l(this.Ui.$l.bind(this.Ui),this)}qt(){return this.Ui}W(){return this.cn}Km(){return this.Dm}Zm(){return this.$m}S(){this.jm(!1),this.Om!==0&&window.cancelAnimationFrame(this.Om),this.Ui.Wc().p(this),this.Ui.yt().Gu().p(this),this.Ui.f_().p(this),this.Ui.S();for(const e of this.Dm)this.Nm.removeChild(e.jv()),e.Fp().p(this),e.Wp().p(this),e.S();this.Dm=[],O(this.$m).S(),this.um.parentElement!==null&&this.um.parentElement.removeChild(this.um),this.Mc.S(),this.up.S(),this.cp.S(),this.Gm()}qm(e,n,a=!1){if(this.Qa===n&&this.e_===e)return;const i=function(l){const c=Math.floor(l.width),u=Math.floor(l.height);return Ne({width:c-c%2,height:u-u%2})}(Ne({width:e,height:n}));this.Qa=i.height,this.e_=i.width;const o=this.Qa+"px",s=this.e_+"px";O(this.um).style.height=o,O(this.um).style.width=s,this.Nm.style.height=o,this.Nm.style.width=s,a?this.Jm(vt.es(),performance.now()):this.Ui.$l()}Zv(e){e===void 0&&(e=vt.es());for(let n=0;n{let u=0;for(let d=0;d{O(l==="left"?this.$m.bm():this.$m.wm()).ep(O(e),c,u)};if(this.cn.timeScale.visible){const l=this.$m.sp();if(e!==null){let c=0;this.sb()&&(s("left",c,a),c=O(i.Zp()).sp().width),this.$m.ep(e,c,a),c+=l.width,this.eb()&&s("right",c,a)}a+=l.height}return Ne({width:n,height:a})}ob(){let e=0,n=0,a=0;for(const g of this.Dm)this.sb()&&(n=Math.max(n,O(g.Zp()).$v(),this.cn.leftPriceScale.minimumWidth)),this.eb()&&(a=Math.max(a,O(g.Gp()).$v(),this.cn.rightPriceScale.minimumWidth)),e+=g.v_();n=Jm(n),a=Jm(a);const i=this.e_,o=this.Qa,s=Math.max(i-n-a,0),l=this.cn.timeScale.visible;let c=l?Math.max(this.$m.xm(),this.cn.timeScale.minimumHeight):0;var u;c=(u=c)+u%2;const d=0+c,p=o{o.Rp()}),((a=this.Bm)===null||a===void 0?void 0:a.jn())===3&&(this.Bm.ts(e),this.ub(),this.cb(this.Bm),this.fb(this.Bm,n),e=this.Bm,this.Bm=null)),this.Zv(e)}fb(e,n){for(const a of e.Qn())this.ns(a,n)}cb(e){const n=this.Ui.Lc();for(let a=0;a{if(this.Im=!1,this.Om=0,this.Bm!==null){const a=this.Bm;this.Bm=null,this.Jm(a,n);for(const i of a.Qn())if(i.qn===5&&!i.Vt.Yu(n)){this.qt().Xn(i.Vt);break}}}))}ub(){this.Ym()}Ym(){const e=this.Ui.Lc(),n=e.length,a=this.Dm.length;for(let i=n;i{const p=d.In().nl(e);p!==null&&o.set(d,p)});let s;if(e!==null){const d=(i=this.Ui.yt().qi(e))===null||i===void 0?void 0:i.originalTime;d!==void 0&&(s=d)}const l=this.qt().Vc(),c=l!==null&&l.Ic instanceof Qg?l.Ic:void 0,u=l!==null&&l.pv!==void 0?l.pv.wr:void 0;return{bb:s,se:e??void 0,wb:n??void 0,gb:c,Mb:o,xb:u,Sb:a??void 0}}vb(e,n,a){this.up.m(()=>this.mb(e,n,a))}pb(e,n,a){this.cp.m(()=>this.mb(e,n,a))}Hm(e,n,a){this.Mc.m(()=>this.mb(e,n,a))}Xm(){const e=this.cn.timeScale.visible?"":"none";this.$m.jv().style.display=e}sb(){return this.Dm[0].Kv().S_().W().visible}eb(){return this.Dm[0].Kv().k_().W().visible}Um(){return"ResizeObserver"in window&&(this.zm=new ResizeObserver(e=>{const n=e.find(a=>a.target===this.Lm);n&&this.qm(n.contentRect.width,n.contentRect.height)}),this.zm.observe(this.Lm,{box:"border-box"}),!0)}Gm(){this.zm!==null&&this.zm.disconnect(),this.zm=null}}function Sh(t){return!!(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function U1(t,e){var n={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(a=Object.getOwnPropertySymbols(t);ifunction(l,c){return c?c(l):(u=l).open===void 0&&u.value===void 0;var u}(a,s)?Cx({ut:e,se:n,bb:i},a):Cx(t(e,n,a,i,o),a)}function Dx(t){return{Candlestick:po(wle),Bar:po(yle),Area:po(kle),Baseline:po(xle),Histogram:po(zx),Line:po(zx),Custom:po(jle)}[t]}function Ax(t){return{se:0,yb:new Map,ia:t}}function _x(t,e){if(t!==void 0&&t.length!==0)return{Cb:e.key(t[0].ut),Tb:e.key(t[t.length-1].ut)}}function Tx(t){let e;return t.forEach(n=>{e===void 0&&(e=n.bb)}),on(e)}class Ble{constructor(e){this.Pb=new Map,this.Rb=new Map,this.Db=new Map,this.Ob=[],this.N_=e}S(){this.Pb.clear(),this.Rb.clear(),this.Db.clear(),this.Ob=[]}Ab(e,n){let a=this.Pb.size!==0,i=!1;const o=this.Rb.get(e);if(o!==void 0)if(this.Rb.size===1)a=!1,i=!0,this.Pb.clear();else for(const c of this.Ob)c.pointData.yb.delete(e)&&(i=!0);let s=[];if(n.length!==0){const c=n.map(m=>m.time),u=this.N_.createConverterToInternalObj(n),d=Dx(e.Xh()),p=e.ga(),h=e.Ma();s=n.map((m,g)=>{const v=u(m.time),y=this.N_.key(v);let b=this.Pb.get(y);b===void 0&&(b=Ax(v),this.Pb.set(y,b),i=!0);const k=d(v,b.se,m,c[g],p,h);return b.yb.set(e,k),k})}a&&this.Vb(),this.Bb(e,s);let l=-1;if(i){const c=[];this.Pb.forEach(u=>{c.push({timeWeight:0,time:u.ia,pointData:u,originalTime:Tx(u.yb)})}),c.sort((u,d)=>this.N_.key(u.time)-this.N_.key(d.time)),l=this.Ib(c)}return this.zb(e,l,function(c,u,d){const p=_x(c,d),h=_x(u,d);if(p!==void 0&&h!==void 0)return{Xl:p.Tb>=h.Tb&&p.Cb>=h.Cb}}(this.Rb.get(e),o,this.N_))}hd(e){return this.Ab(e,[])}Eb(e,n){const a=n;(function(v){v.bb===void 0&&(v.bb=v.time)})(a),this.N_.preprocessData(n);const i=this.N_.createConverterToInternalObj([n])(n.time),o=this.Db.get(e);if(o!==void 0&&this.N_.key(i)this.N_.key(v.time)this.N_.key(i.ut)?Pc(n)&&a.push(n):Pc(n)?a[a.length-1]=n:a.splice(-1,1),this.Db.set(e,n.ut)}Bb(e,n){n.length!==0?(this.Rb.set(e,n.filter(Pc)),this.Db.set(e,n[n.length-1].ut)):(this.Rb.delete(e),this.Db.delete(e))}Vb(){for(const e of this.Ob)e.pointData.yb.size===0&&this.Pb.delete(this.N_.key(e.time))}Ib(e){let n=-1;for(let a=0;a{n.length!==0&&(e=Math.max(e,n[n.length-1].se))}),e}zb(e,n,a){const i={Fb:new Map,yt:{Au:this.Nb()}};if(n!==-1)this.Rb.forEach((o,s)=>{i.Fb.set(s,{He:o,Wb:s===e?a:void 0})}),this.Rb.has(e)||i.Fb.set(e,{He:[],Wb:a}),i.yt.jb=this.Ob,i.yt.Hb=n;else{const o=this.Rb.get(e);i.Fb.set(e,{He:o||[],Wb:a})}return i}}function zh(t,e){t.se=e,t.yb.forEach(n=>{n.se=e})}function ev(t){const e={value:t.Vt[3],time:t.bb};return t.kb!==void 0&&(e.customValues=t.kb),e}function Ex(t){const e=ev(t);return t.O!==void 0&&(e.color=t.O),e}function Sle(t){const e=ev(t);return t._t!==void 0&&(e.lineColor=t._t),t.Ts!==void 0&&(e.topColor=t.Ts),t.Ps!==void 0&&(e.bottomColor=t.Ps),e}function zle(t){const e=ev(t);return t.Pe!==void 0&&(e.topLineColor=t.Pe),t.Re!==void 0&&(e.bottomLineColor=t.Re),t.Se!==void 0&&(e.topFillColor1=t.Se),t.ke!==void 0&&(e.topFillColor2=t.ke),t.ye!==void 0&&(e.bottomFillColor1=t.ye),t.Ce!==void 0&&(e.bottomFillColor2=t.Ce),e}function q1(t){const e={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.bb};return t.kb!==void 0&&(e.customValues=t.kb),e}function Cle(t){const e=q1(t);return t.O!==void 0&&(e.color=t.O),e}function Dle(t){const e=q1(t),{O:n,Bt:a,$h:i}=t;return n!==void 0&&(e.color=n),a!==void 0&&(e.borderColor=a),i!==void 0&&(e.wickColor=i),e}function tf(t){return{Area:Sle,Line:Ex,Baseline:zle,Histogram:Ex,Bar:Cle,Candlestick:Dle,Custom:Ale}[t]}function Ale(t){const e=t.bb;return Object.assign(Object.assign({},t.He),{time:e})}const _le={vertLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},horzLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},mode:1},Tle={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},Ele={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:Vg},Ch={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},Ple={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0},Nle={color:"rgba(0, 0, 0, 0)",visible:!1,fontSize:48,fontFamily:Vg,fontStyle:"",text:"",horzAlign:"center",vertAlign:"center"};function Px(){return{width:0,height:0,autoSize:!1,layout:Ele,crosshair:_le,grid:Tle,overlayPriceScales:Object.assign({},Ch),leftPriceScale:Object.assign(Object.assign({},Ch),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},Ch),{visible:!0}),timeScale:Ple,watermark:Nle,localization:{locale:Gr?navigator.language:"",dateFormat:"dd MMM 'yy"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Lle{constructor(e,n){this.$b=e,this.Ub=n}applyOptions(e){this.$b.qt().zc(this.Ub,e)}options(){return this.Li().W()}width(){return tp(this.Ub)?this.$b.nb(this.Ub):0}Li(){return O(this.$b.qt().Ec(this.Ub)).At}}function Nx(t,e,n){const a=U1(t,["time","originalTime"]),i=Object.assign({time:e},a);return n!==void 0&&(i.originalTime=n),i}const Ile={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class $le{constructor(e){this.Bh=e}applyOptions(e){this.Bh.Nh(e)}options(){return this.Bh.W()}qb(){return this.Bh}}class Mle{constructor(e,n,a,i,o){this.Yb=new et,this.Es=e,this.Xb=n,this.Kb=a,this.N_=o,this.Zb=i}S(){this.Yb.S()}priceFormatter(){return this.Es.ca()}priceToCoordinate(e){const n=this.Es.Pt();return n===null?null:this.Es.At().Ot(e,n.Vt)}coordinateToPrice(e){const n=this.Es.Pt();return n===null?null:this.Es.At().pn(e,n.Vt)}barsInLogicalRange(e){if(e===null)return null;const n=new lu(new Ks(e.from,e.to)).iu(),a=this.Es.In();if(a.Fi())return null;const i=a.nl(n.Os(),1),o=a.nl(n.di(),-1),s=O(a.Qh()),l=O(a.Bn());if(i!==null&&o!==null&&i.se>o.se)return{barsBefore:e.from-s,barsAfter:l-e.to};const c={barsBefore:i===null||i.se===s?e.from-s:i.se-s,barsAfter:o===null||o.se===l?l-e.to:l-o.se};return i!==null&&o!==null&&(c.from=i.bb,c.to=o.bb),c}setData(e){this.N_,this.Es.Xh(),this.Xb.Gb(this.Es,e),this.Jb("full")}update(e){this.Es.Xh(),this.Xb.Qb(this.Es,e),this.Jb("update")}dataByIndex(e,n){const a=this.Es.In().nl(e,n);return a===null?null:tf(this.seriesType())(a)}data(){const e=tf(this.seriesType());return this.Es.In().ie().map(n=>e(n))}subscribeDataChanged(e){this.Yb.l(e)}unsubscribeDataChanged(e){this.Yb.v(e)}setMarkers(e){this.N_;const n=e.map(a=>Nx(a,this.N_.convertHorzItemToInternal(a.time),a.time));this.Es.Zl(n)}markers(){return this.Es.Gl().map(e=>Nx(e,e.originalTime,void 0))}applyOptions(e){this.Es.Nh(e)}options(){return ei(this.Es.W())}priceScale(){return this.Kb.priceScale(this.Es.At().xa())}createPriceLine(e){const n=ha(ei(Ile),e),a=this.Es.Jl(n);return new $le(a)}removePriceLine(e){this.Es.Ql(e.qb())}seriesType(){return this.Es.Xh()}attachPrimitive(e){this.Es.ba(e),e.attached&&e.attached({chart:this.Zb,series:this,requestUpdate:()=>this.Es.qt().$l()})}detachPrimitive(e){this.Es.wa(e),e.detached&&e.detached()}Jb(e){this.Yb.M()&&this.Yb.m(e)}}let Ole=class{constructor(e,n,a){this.tw=new et,this.uu=new et,this._m=new et,this.Ui=e,this.wl=e.yt(),this.$m=n,this.wl.Ku().l(this.iw.bind(this)),this.wl.Zu().l(this.nw.bind(this)),this.$m.gm().l(this.sw.bind(this)),this.N_=a}S(){this.wl.Ku().p(this),this.wl.Zu().p(this),this.$m.gm().p(this),this.tw.S(),this.uu.S(),this._m.S()}scrollPosition(){return this.wl.Eu()}scrollToPosition(e,n){n?this.wl.qu(e,1e3):this.Ui.Jn(e)}scrollToRealTime(){this.wl.Uu()}getVisibleRange(){const e=this.wl.yu();return e===null?null:{from:e.from.originalTime,to:e.to.originalTime}}setVisibleRange(e){const n={from:this.N_.convertHorzItemToInternal(e.from),to:this.N_.convertHorzItemToInternal(e.to)},a=this.wl.Ru(n);this.Ui.ld(a)}getVisibleLogicalRange(){const e=this.wl.ku();return e===null?null:{from:e.Os(),to:e.di()}}setVisibleLogicalRange(e){eo(e.from<=e.to,"The from index cannot be after the to index."),this.Ui.ld(e)}resetTimeScale(){this.Ui.Zn()}fitContent(){this.Ui.Qu()}logicalToCoordinate(e){const n=this.Ui.yt();return n.Fi()?null:n.Et(e)}coordinateToLogical(e){return this.wl.Fi()?null:this.wl.Vu(e)}timeToCoordinate(e){const n=this.N_.convertHorzItemToInternal(e),a=this.wl.ya(n,!1);return a===null?null:this.wl.Et(a)}coordinateToTime(e){const n=this.Ui.yt(),a=n.Vu(e),i=n.qi(a);return i===null?null:i.originalTime}width(){return this.$m.$p().width}height(){return this.$m.$p().height}subscribeVisibleTimeRangeChange(e){this.tw.l(e)}unsubscribeVisibleTimeRangeChange(e){this.tw.v(e)}subscribeVisibleLogicalRangeChange(e){this.uu.l(e)}unsubscribeVisibleLogicalRangeChange(e){this.uu.v(e)}subscribeSizeChange(e){this._m.l(e)}unsubscribeSizeChange(e){this._m.v(e)}applyOptions(e){this.wl.Nh(e)}options(){return Object.assign(Object.assign({},ei(this.wl.W())),{barSpacing:this.wl.he()})}iw(){this.tw.M()&&this.tw.m(this.getVisibleRange())}nw(){this.uu.M()&&this.uu.m(this.getVisibleLogicalRange())}sw(e){this._m.m(e.width,e.height)}};function Rle(t){if(t===void 0||t.type==="custom")return;const e=t;e.minMove!==void 0&&e.precision===void 0&&(e.precision=function(n){if(n>=1)return 0;let a=0;for(;a<8;a++){const i=Math.round(n);if(Math.abs(i-n)<1e-8)return a;n*=10}return a}(e.minMove))}function Lx(t){return function(e){if(Bc(e.handleScale)){const a=e.handleScale;e.handleScale={axisDoubleClickReset:{time:a,price:a},axisPressedMouseMove:{time:a,price:a},mouseWheel:a,pinch:a}}else if(e.handleScale!==void 0){const{axisPressedMouseMove:a,axisDoubleClickReset:i}=e.handleScale;Bc(a)&&(e.handleScale.axisPressedMouseMove={time:a,price:a}),Bc(i)&&(e.handleScale.axisDoubleClickReset={time:i,price:i})}const n=e.handleScroll;Bc(n)&&(e.handleScroll={horzTouchDrag:n,vertTouchDrag:n,mouseWheel:n,pressedMouseMove:n})}(t),t}let Fle=class{constructor(e,n,a){this.ew=new Map,this.rw=new Map,this.hw=new et,this.lw=new et,this.aw=new et,this.ow=new Ble(n);const i=a===void 0?ei(Px()):ha(ei(Px()),Lx(a));this.N_=n,this.$b=new ble(e,i,n),this.$b.Fp().l(s=>{this.hw.M()&&this.hw.m(this._w(s()))},this),this.$b.Wp().l(s=>{this.lw.M()&&this.lw.m(this._w(s()))},this),this.$b.Wc().l(s=>{this.aw.M()&&this.aw.m(this._w(s()))},this);const o=this.$b.qt();this.uw=new Ole(o,this.$b.Zm(),this.N_)}remove(){this.$b.Fp().p(this),this.$b.Wp().p(this),this.$b.Wc().p(this),this.uw.S(),this.$b.S(),this.ew.clear(),this.rw.clear(),this.hw.S(),this.lw.S(),this.aw.S(),this.ow.S()}resize(e,n,a){this.autoSizeActive()||this.$b.qm(e,n,a)}addCustomSeries(e,n){const a=Br(e),i=Object.assign(Object.assign({},x1),a.defaultOptions());return this.cw("Custom",i,n,a)}addAreaSeries(e){return this.cw("Area",Cre,e)}addBaselineSeries(e){return this.cw("Baseline",Dre,e)}addBarSeries(e){return this.cw("Bar",Sre,e)}addCandlestickSeries(e={}){return function(n){n.borderColor!==void 0&&(n.borderUpColor=n.borderColor,n.borderDownColor=n.borderColor),n.wickColor!==void 0&&(n.wickUpColor=n.wickColor,n.wickDownColor=n.wickColor)}(e),this.cw("Candlestick",Bre,e)}addHistogramSeries(e){return this.cw("Histogram",Are,e)}addLineSeries(e){return this.cw("Line",zre,e)}removeSeries(e){const n=on(this.ew.get(e)),a=this.ow.hd(n);this.$b.qt().hd(n),this.dw(a),this.ew.delete(e),this.rw.delete(n)}Gb(e,n){this.dw(this.ow.Ab(e,n))}Qb(e,n){this.dw(this.ow.Eb(e,n))}subscribeClick(e){this.hw.l(e)}unsubscribeClick(e){this.hw.v(e)}subscribeCrosshairMove(e){this.aw.l(e)}unsubscribeCrosshairMove(e){this.aw.v(e)}subscribeDblClick(e){this.lw.l(e)}unsubscribeDblClick(e){this.lw.v(e)}priceScale(e){return new Lle(this.$b,e)}timeScale(){return this.uw}applyOptions(e){this.$b.Nh(Lx(e))}options(){return this.$b.W()}takeScreenshot(){return this.$b.tb()}autoSizeActive(){return this.$b.rb()}chartElement(){return this.$b.hb()}paneSize(){const e=this.$b.ab();return{height:e.height,width:e.width}}setCrosshairPosition(e,n,a){const i=this.ew.get(a);if(i===void 0)return;const o=this.$b.qt().cr(i);o!==null&&this.$b.qt().Qc(e,n,o)}clearCrosshairPosition(){this.$b.qt().td(!0)}cw(e,n,a={},i){Rle(a.priceFormat);const o=ha(ei(y1),ei(n),a),s=this.$b.qt().ed(e,o,i),l=new Mle(s,this,this,this,this.N_);return this.ew.set(l,s),this.rw.set(s,l),l}dw(e){const n=this.$b.qt();n.nd(e.yt.Au,e.yt.jb,e.yt.Hb),e.Fb.forEach((a,i)=>i.it(a.He,a.Wb)),n.Iu()}fw(e){return on(this.rw.get(e))}_w(e){const n=new Map;e.Mb.forEach((i,o)=>{const s=o.Xh(),l=tf(s)(i);if(s!=="Custom")eo(function(c){return c.open!==void 0||c.value!==void 0}(l));else{const c=o.Ma();eo(!c||c(l)===!1)}n.set(this.fw(o),l)});const a=e.gb===void 0?void 0:this.fw(e.gb);return{time:e.bb,logical:e.se,point:e.wb,hoveredSeries:a,hoveredObjectId:e.xb,seriesData:n,sourceEvent:e.Sb}}};function Vle(t,e,n){let a;if(Il(t)){const o=document.getElementById(t);eo(o!==null,`Cannot find element in DOM with id=${t}`),a=o}else a=t;const i=new Fle(a,e,n);return e.setOptions(i.options()),i}function Wle(t,e){return Vle(t,new yx,yx.Td(e))}Object.assign(Object.assign({},y1),x1);const Ule="_skeleton_13p4i_1",qle={skeleton:Ule,"skeleton-loading":"_skeleton-loading_13p4i_1"},ed=({fontSize:t,minWidth:e="100%"})=>r.jsx("span",{className:qle.skeleton,style:{fontSize:t,minWidth:e}}),Hle="_chart_1bo3n_1",Kle="_invisible_1bo3n_7",Gle="_chartUpdatingMessage_1bo3n_11",Qle="_summary_1bo3n_28",Yle="_filters_1bo3n_35",Zle="_filterActive_1bo3n_87",Jle="_arrow_1bo3n_104",Xle="_up_1bo3n_109",ece="_down_1bo3n_113",tce="_totalValue_1bo3n_117",nce="_totalUnit_1bo3n_121",ace="_diffValue_1bo3n_128",ice="_diffUnit_1bo3n_132",oce="_chartCanvas_1bo3n_137",rce="_tooltip_1bo3n_149",sce="_toolTipValue_1bo3n_164",lce="_toolTipUnit_1bo3n_170",cce="_toolTipTime_1bo3n_176",Oe={chart:Hle,invisible:Kle,chartUpdatingMessage:Gle,summary:Qle,filters:Yle,filterActive:Zle,arrow:Jle,up:Xle,down:ece,totalValue:tce,totalUnit:nce,diffValue:ace,diffUnit:ice,chartCanvas:oce,tooltip:rce,toolTipValue:sce,toolTipUnit:lce,toolTipTime:cce},Ix=({display:t,disableFilters:e,onDisplayWeek:n,onDisplayMonth:a,onDisplayYear:i,onDisplayAll:o})=>{const{t:s}=A();return r.jsxs("div",{className:Oe.filters,children:[r.jsx("button",{className:t==="week"?Oe.filterActive:void 0,disabled:e,onClick:n,children:s("chart.filter.week")}),r.jsx("button",{className:t==="month"?Oe.filterActive:void 0,disabled:e,onClick:a,children:s("chart.filter.month")}),r.jsx("button",{className:t==="year"?Oe.filterActive:void 0,disabled:e,onClick:i,children:s("chart.filter.year")}),r.jsx("button",{className:t==="all"?Oe.filterActive:void 0,disabled:e,onClick:o,children:s("chart.filter.all")})]})};let H1;const uce=()=>{const{isDarkMode:t}=Kn();return H1=t,null},gi=()=>H1;class K1 extends x.Component{constructor(){super(...arguments),this.ref=x.createRef(),this.refToolTip=x.createRef(),this.height=300,this.mobileHeight=150,this.state={display:"all",source:"daily",toolTipVisible:!1,toolTipValue:void 0,toolTipTop:0,toolTipLeft:0,toolTipTime:0,isMobile:!1},this.hasData=()=>this.props.data.chartDataDaily&&this.props.data.chartDataDaily.length>0,this.checkIfMobile=()=>{this.setState({isMobile:window.innerWidth<=640})},this.createChart=()=>{const{data:{chartDataMissing:e}}=this.props,n=gi();if(this.ref.current&&this.hasData()&&!e){if(!this.chart){const a=this.state.isMobile?document.body.clientWidth:this.ref.current.offsetWidth,i=this.state.isMobile?this.mobileHeight:this.height;this.chart=Wle(this.ref.current,{width:a,height:i,handleScroll:!1,handleScale:!1,crosshair:{vertLine:{visible:!1,labelVisible:!1},horzLine:{visible:!1,labelVisible:!1},mode:1},grid:{vertLines:{visible:!1},horzLines:{color:n?"#333333":"#dedede",style:Gm.Solid,visible:!this.state.isMobile}},layout:{background:{type:Ym.Solid,color:n?"#1D1D1B":"#F5F5F5"},fontSize:11,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',textColor:n?"#F5F5F5":"#1D1D1B"},leftPriceScale:{borderVisible:!1,ticksVisible:!1,visible:this.props.hideAmounts?!1:!this.state.isMobile,entireTextOnly:!0},localization:{locale:this.props.i18n.language},rightPriceScale:{visible:!1,ticksVisible:!1},timeScale:{borderVisible:!1,timeVisible:!1,visible:!this.state.isMobile},trackingMode:{exitMode:0}})}this.lineSeries=this.chart.addAreaSeries({priceLineVisible:!1,lastValueVisible:!1,priceFormat:{type:"volume"},topColor:n?"#5E94BF":"#DFF1FF",bottomColor:n?"#1D1D1B":"#F5F5F5",lineColor:"rgba(94, 148, 192, 1)",crosshairMarkerRadius:6}),this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.timeScale().subscribeVisibleLogicalRangeChange(this.calculateChange),this.chart.subscribeCrosshairMove(this.handleCrosshair),this.chart.timeScale().fitContent(),window.addEventListener("resize",this.onResize),setTimeout(()=>{var a;return(a=this.ref.current)==null?void 0:a.classList.remove(Oe.invisible)},200)}},this.onResize=()=>{this.checkIfMobile(),this.resizeTimerID&&clearTimeout(this.resizeTimerID),this.resizeTimerID=setTimeout(()=>{if(!this.chart||!this.ref.current)return;const e=this.state.isMobile?document.body.clientWidth:this.ref.current.offsetWidth,n=this.state.isMobile?this.mobileHeight:this.height;this.chart.resize(e,n),this.chart.applyOptions({grid:{horzLines:{visible:!this.state.isMobile}},timeScale:{visible:!this.state.isMobile},leftPriceScale:{visible:this.props.hideAmounts?!1:!this.state.isMobile}})},200)},this.getUTCRange=()=>{const e=new Date,n=e.getUTCFullYear(),a=e.getUTCMonth(),i=e.getUTCDate(),o=e.getUTCHours(),s=new Date(Date.UTC(n,a,i,o,0,0,0)),l=new Date(Date.UTC(n,a,i,o,0,0,0));return{utcYear:n,utcMonth:a,utcDate:i,to:s,from:l}},this.displayWeek=()=>{this.state.source!=="hourly"&&this.lineSeries&&this.props.data.chartDataHourly&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataHourly||[]),this.setFormattedData(this.props.data.chartDataHourly||[]),this.chart.applyOptions({timeScale:{timeVisible:!0}})),this.setState({display:"week",source:"hourly"},()=>{if(!this.chart)return;const{utcDate:e,from:n,to:a}=this.getUTCRange();n.setUTCDate(e-7),this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayMonth=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily||[]),this.setFormattedData(this.props.data.chartDataDaily||[]),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"month",source:"daily"},()=>{if(!this.chart)return;const{utcMonth:e,from:n,to:a}=this.getUTCRange();n.setUTCMonth(e-1),this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayYear=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"year",source:"daily"},()=>{if(!this.chart)return;const{utcYear:e,from:n,to:a}=this.getUTCRange();n.setUTCFullYear(e-1),this.chart&&this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayAll=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"all",source:"daily"},()=>{this.chart&&this.chart.timeScale().fitContent()})},this.calculateChange=()=>{const e=this.props.data[this.state.source==="daily"?"chartDataDaily":"chartDataHourly"];if(!e||!this.chart||!this.lineSeries)return;const n=this.chart.timeScale().getVisibleLogicalRange(),a=this.lineSeries.barsInLogicalRange(n);if(!a)return;const i=Math.max(Math.floor(a.barsBefore),0);if(!e[i]){this.setState({difference:0,diffSince:""});return}const o=e[i].value,s=this.props.data.chartTotal,l=s?s-o:0;this.setState({difference:l/o*100,diffSince:`${e[i].formattedValue} (${this.renderDate(Number(e[i].time)*1e3)})`})},this.handleCrosshair=({point:e,time:n,seriesData:a})=>{if(!this.refToolTip.current)return;const i=this.refToolTip.current,o=i.parentNode;if(!this.lineSeries||!e||!n||e.x<0||e.x>o.clientWidth||e.y<0||e.y>o.clientHeight){this.setState({toolTipVisible:!1});return}const s=a.get(this.lineSeries);if(!s)return;const l=this.lineSeries.priceToCoordinate(s.value);if(!l)return;const c=l-i.clientHeight>0?l-i.clientHeight:Math.max(0,Math.min(o.clientHeight-i.clientHeight,l+70)),u=Math.floor(Math.max(c,0)),d=Math.floor(Math.max(40,Math.min(o.clientWidth-140,e.x+40-70)));this.setState({toolTipVisible:!0,toolTipValue:this.formattedData?this.formattedData[n]:"",toolTipTop:u,toolTipLeft:d,toolTipTime:n})},this.renderDate=e=>new Date(e).toLocaleString(this.props.i18n.language,{year:"numeric",month:"2-digit",day:"2-digit",...this.state.source==="hourly"?{hour:"2-digit",minute:"2-digit"}:null})}componentDidMount(){this.checkIfMobile(),this.createChart()}componentWillUnmount(){window.removeEventListener("resize",this.onResize),this.chart&&(this.chart.timeScale().unsubscribeVisibleLogicalRangeChange(this.calculateChange),this.chart.unsubscribeCrosshairMove(this.handleCrosshair))}componentDidUpdate(e){var i;const{chartDataDaily:n,chartDataHourly:a}=this.props.data;if(this.chart||this.createChart(),this.lineSeries&&e.data.chartDataDaily&&e.data.chartDataHourly&&n&&a&&(e.data.chartDataDaily.length!==n.length||e.data.chartDataHourly.length!==a.length)){const o=this.state.source==="hourly"?a:n;this.lineSeries.setData(o),this.setFormattedData(o)}e.hideAmounts!==this.props.hideAmounts&&((i=this.chart)==null||i.applyOptions({leftPriceScale:{visible:this.props.hideAmounts?!1:!this.state.isMobile}}))}setFormattedData(e){this.formattedData={},e.forEach(n=>{this.formattedData&&(this.formattedData[n.time]=n.formattedValue)})}render(){const{t:e,data:{lastTimestamp:n,chartDataMissing:a,chartFiat:i,chartIsUpToDate:o,chartTotal:s,formattedChartTotal:l},noDataPlaceholder:c,hideAmounts:u}=this.props,{difference:d,diffSince:p,display:h,toolTipVisible:m,toolTipValue:g,toolTipTop:v,toolTipLeft:y,toolTipTime:b,isMobile:k}=this.state,w=d&&Number.isFinite(d),j=this.hasData(),z=!j||s===0||a,S=m&&!!g&&k,f={display:h,disableFilters:z,onDisplayWeek:this.displayWeek,onDisplayMonth:this.displayMonth,onDisplayYear:this.displayYear,onDisplayAll:this.displayAll},B=`${k?this.mobileHeight:this.height}px`;return r.jsxs("section",{className:Oe.chart,children:[r.jsxs("header",{children:[r.jsxs("div",{className:Oe.summary,children:[r.jsxs("div",{className:Oe.totalValue,children:[l!==null?r.jsx(ct,{amount:S?g:l,unit:i,removeBtcTrailingZeroes:!0}):r.jsx(ed,{minWidth:"220px"}),r.jsx("span",{className:Oe.totalUnit,children:s!==null&&i})]}),S?r.jsx("span",{className:Oe.diffValue,children:this.renderDate(b*1e3)}):r.jsx("span",{className:w?Oe[d<0?"down":"up"]:"",title:p,children:w?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:Oe.arrow,children:d<0?r.jsx(pce,{}):r.jsx(hce,{})}),r.jsxs("span",{className:Oe.diffValue,children:[u?"***":Zie(d,2),r.jsx("span",{className:Oe.diffUnit,children:"%"})]})]}):s===0?null:r.jsx(ed,{fontSize:"1.125rem",minWidth:"125px"})})]}),!k&&r.jsx(Ix,{...f})]}),r.jsxs("div",{className:Oe.chartCanvas,style:{minHeight:B},children:[a?r.jsx("div",{className:Oe.chartUpdatingMessage,style:{height:B},children:e("chart.dataMissing")}):j?!o&&r.jsx("div",{className:Oe.chartUpdatingMessage,children:e("chart.dataOldTimestamp",{time:new Date(n).toLocaleString(this.props.i18n.language)})}):c,r.jsx("div",{ref:this.ref,className:Oe.invisible}),r.jsx("span",{ref:this.refToolTip,className:Oe.tooltip,style:{left:y,top:v},hidden:!m||k,children:g!==void 0?r.jsxs("span",{children:[r.jsxs("h2",{className:Oe.toolTipValue,children:[r.jsx(ct,{amount:g,unit:i}),r.jsx("span",{className:Oe.toolTipUnit,children:i})]}),r.jsx("span",{className:Oe.toolTipTime,children:this.renderDate(b*1e3)})]}):null})]}),k&&r.jsx(Ix,{...f})]})}}K1.defaultProps={data:{chartDataMissing:!0,chartDataDaily:[],chartDataHourly:[],chartFiat:"USD",chartTotal:null,formattedChartTotal:null,chartIsUpToDate:!1,lastTimestamp:0},hideAmounts:!1};const dce=kn()(K1),pce=()=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r.jsx("polyline",{points:"19 12 12 19 5 12"})]}),hce=()=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"5"}),r.jsx("polyline",{points:"5 12 12 5 19 12"})]}),mce="_spinnerContainer_1akm7_1",fce="_spinner_1akm7_1",gce="_changeContent_1akm7_1",$x={spinnerContainer:mce,spinner:fce,changeContent:gce};function G1(){return r.jsx("div",{className:$x.spinnerContainer,children:r.jsx("div",{className:$x.spinner})})}const vce="_balanceTable_1v4c8_1",bce="_coincode_1v4c8_4",kce="_coinheader_1v4c8_9",xce="_dataMissing_1v4c8_20",yce="_openFileText_1v4c8_24",wce="_table_1v4c8_30",jce="_noAccount_1v4c8_45",Bce="_clickable_1v4c8_80",Sce="_summaryTableBalance_1v4c8_84",zce="_coinName_1v4c8_94",Cce="_coinUnit_1v4c8_104",Dce="_syncText_1v4c8_108",Ace="_showOnTableView_1v4c8_112",_ce="_showInCollapsedView_1v4c8_116",Tce="_subTotal_1v4c8_167",yt={balanceTable:vce,coincode:bce,coinheader:kce,dataMissing:xce,openFileText:yce,table:wce,noAccount:jce,clickable:Bce,summaryTableBalance:Sce,coinName:zce,coinUnit:Cce,syncText:Dce,showOnTableView:Ace,showInCollapsedView:_ce,subTotal:Tce};function Ece({code:t,name:e,coinCode:n,balance:a}){const{t:i}=A(),o=_j(o1(t)),s=r.jsx("td",{className:yt.clickable,"data-label":i("accountSummary.name"),onClick:()=>le(`/account/${t}`),children:r.jsxs("div",{className:yt.coinName,children:[r.jsx(Ro,{className:yt.coincode,coinCode:n,active:!0,alt:n}),e]})});return a?r.jsxs("tr",{children:[s,r.jsx("td",{"data-label":i("accountSummary.balance"),children:r.jsxs("span",{className:yt.summaryTableBalance,children:[r.jsx(ct,{amount:a.available.amount,unit:a.available.unit})," ",r.jsx("span",{className:yt.coinUnit,children:a.available.unit})]})}),r.jsx("td",{"data-label":i("accountSummary.fiatBalance"),children:r.jsx(Xa,{amount:a.available,noAction:!0})})]},`${t}_balance`):r.jsxs("tr",{children:[s,r.jsxs("td",{colSpan:2,className:yt.syncText,children:[i("account.syncedAddressesCount",{count:o==null?void 0:o.toString(),defaultValue:0}),r.jsx(G1,{})]})]},`${t}_syncing`)}function Pce({coinCode:t,coinName:e,balance:n}){const{t:a}=A(),i=r.jsx("td",{"data-label":a("accountSummary.total"),children:r.jsxs("div",{className:yt.coinName,children:[r.jsx(Ro,{className:yt.coincode,coinCode:t,active:!0,alt:t}),r.jsx("strong",{className:yt.showOnTableView,children:a("accountSummary.subtotalWithCoinName",{coinName:e})}),r.jsx("strong",{className:yt.showInCollapsedView,children:e})]})});return n?r.jsxs("tr",{className:yt.subTotal,children:[i,r.jsx("td",{"data-label":a("accountSummary.balance"),children:r.jsxs("span",{className:yt.summaryTableBalance,children:[r.jsx("strong",{children:r.jsx(ct,{amount:n.amount,unit:n.unit})})," ",r.jsx("span",{className:yt.coinUnit,children:n.unit})]})}),r.jsx("td",{"data-label":a("accountSummary.fiatBalance"),children:r.jsx("strong",{children:r.jsx(Xa,{amount:n,noAction:!0})})})]},`${t}_subtotal`):null}function Nce({accounts:t,summaryData:e,totalBalancePerCoin:n,balances:a}){const{t:i}=A(),s=(()=>t.reduce((c,u)=>(c[u.coinCode]?c[u.coinCode].push(u):c[u.coinCode]=[u],c),{}))(),l=Object.keys(s);return r.jsx("div",{className:yt.balanceTable,children:r.jsxs("table",{className:yt.table,children:[r.jsxs("colgroup",{children:[r.jsx("col",{width:"33%"}),r.jsx("col",{width:"33%"}),r.jsx("col",{width:"*"})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:i("accountSummary.name")}),r.jsx("th",{children:i("accountSummary.balance")}),r.jsx("th",{children:i("accountSummary.fiatBalance")})]})}),r.jsx("tbody",{children:t.length>0?l.map(c=>{const u=s[c].map(d=>r.jsx(Ece,{code:d.code,name:d.name,coinCode:d.coinCode,balance:a&&a[d.code]},d.code));if((u==null?void 0:u.length)>1){const d=s[c][0];u.push(r.jsx(Pce,{coinCode:d.coinCode,coinName:d.coinName,balance:n&&n[c]},d.coinCode))}return u}):r.jsx("tr",{children:r.jsx("td",{colSpan:3,className:yt.noAccount,children:i("accountSummary.noAccount")})})}),r.jsx("tfoot",{children:r.jsxs("tr",{children:[r.jsx("th",{children:r.jsx("strong",{children:i("accountSummary.total")})}),r.jsx("td",{colSpan:2,children:e&&e.formattedChartTotal!==null?r.jsxs(r.Fragment,{children:[r.jsx("strong",{children:r.jsx(ct,{amount:e.formattedChartTotal,unit:e.chartFiat})})," ",r.jsx("span",{className:yt.coinUnit,children:e.chartFiat})]}):r.jsx(ed,{})})]})})]})})}const Ml=t=>{const e=i=>window.matchMedia(i).matches,[n,a]=x.useState(e(t));return x.useEffect(()=>{const i=()=>{a(e(t))},o=window.matchMedia(t);return i(),o.addEventListener("change",i),()=>{o.removeEventListener("change",i)}},[t]),n},Lce="_container_1mptn_1",Ice="_main_1mptn_8",$ce="_walletConnect_1mptn_17",Dh={container:Lce,main:Ice,walletConnect:$ce},nf=({code:t,unit:e,balanceList:n,exchangeBuySupported:a=!0,account:i})=>{const o=Hj(e)?"BTC":e,{t:s}=A(),l=Ml("(max-width: 768px)"),c=()=>le(t?`/buy/info/${t}`:"/buy/info"),u=()=>le(`/account/${t}/wallet-connect/dashboard`),d=()=>{if(n){if(n.length>1){le("accounts/select-receive");return}le(`/account/${t}/receive`)}};return r.jsxs("div",{className:`${Dh.main}`,children:[r.jsx("h3",{className:"subTitle",children:s("accountInfo.buyCTA.information.looksEmpty")}),r.jsx("h3",{className:"subTitle",children:s("accountInfo.buyCTA.information.start")}),r.jsxs("div",{className:Dh.container,children:[n&&r.jsx(_,{primary:!0,onClick:d,children:o?s("receive.title",{accountName:o}):s("receive.title",{accountName:s("buy.info.crypto")})}),a&&r.jsx(_,{primary:!0,onClick:c,children:o?s("accountInfo.buyCTA.buy",{unit:o}):s("accountInfo.buyCTA.buyCrypto")}),i&&Fo(i.coinCode)&&!i.isToken&&r.jsx(_,{primary:!0,onClick:u,className:Dh.walletConnect,children:l?r.jsx(Ou,{width:28,height:28}):r.jsxs(r.Fragment,{children:[r.jsx(Ou,{width:28,height:28})," ",r.jsx("span",{children:"Wallet Connect"})]})})]})]})},Mce=({balances:t,accounts:e})=>{const n=ro(),[a,i]=x.useState(),o=e.length===1;if(x.useEffect(()=>{n.current&&Dg(e).then(l=>{n.current&&i(l)}).catch(console.error)},[e,n]),t===void 0||a===void 0)return null;const s=e.map(l=>t[l.code]).filter(l=>!!l);return s.some(l=>l.hasAvailable)?null:s.map(l=>l.available.unit).every(Hj)?r.jsx(nf,{code:o?e[0].code:void 0,unit:"BTC",balanceList:s}):r.jsx(nf,{exchangeBuySupported:a.length>0,balanceList:s})};function Oce({accounts:t,devices:e}){const{t:n}=A(),a=x.useRef(),i=ro(),{hideAmounts:o}=x.useContext(mi),[s,l]=x.useState(),[c,u]=x.useState(),[d,p]=x.useState(),h=k1(e),m=x.useCallback(async()=>{a.current&&window.clearTimeout(a.current);try{const b=await KQ();if(!i.current)return;l(b)}catch(b){console.error(b)}},[i]),g=x.useCallback(async()=>{try{const b=await qQ();if(!i.current)return;u(b)}catch(b){console.error(b)}},[i]),v=x.useCallback(async b=>{if(!i.current)return;const k=await Zj(b);if(k.disabled||!i.current)return;if(!k.synced)return Xj(b);const w=await Ur(b);i.current&&p(j=>({...j,[b]:w}))},[i]),y=x.useCallback(b=>{i.current&&(v(b),m())},[m,i,v]);return x.useEffect(()=>{const b=[r1(y),Yd(y)];return m(),g(),()=>Nl(b)},[m,g,y]),x.useEffect(()=>{const b=!s||s.chartDataMissing?1e3:1e4;return a.current=window.setTimeout(m,b),()=>{a.current&&window.clearTimeout(a.current)}},[s,m]),x.useEffect(()=>{t.forEach(b=>{v(b.code)}),g()},[v,g,t]),r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{hidden:!h,type:"warning",children:n("warning.sdcard")}),r.jsx(xe,{title:r.jsx("h2",{children:n("accountSummary.title")}),children:r.jsx(Qd,{})}),r.jsxs(re,{children:[r.jsx(dce,{hideAmounts:o,data:s,noDataPlaceholder:t.length&&t.length<=Object.keys(d||{}).length?r.jsx(Mce,{accounts:t,balances:d}):void 0}),r.jsx(Nce,{accounts:t,summaryData:s,totalBalancePerCoin:c,balances:d})]})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.accountSummaryDescription")},"accountSummaryDescription"),r.jsx(W,{entry:{link:{text:"www.coingecko.com",url:"https://www.coingecko.com/"},text:n("guide.accountSummaryAmount.text"),title:n("guide.accountSummaryAmount.title")}},"accountSummaryAmount"),r.jsx(W,{entry:n("guide.trackingModePortfolioChart")},"trackingModePortfolioChart")]})]})}const Ah={DOWNLOAD_LINK_GLOBAL:"https://bitbox.swiss/download/?source=bitboxapp",DOWNLOAD_LINK_DE:"https://bitbox.swiss/de/download/?source=bitboxapp",DOWNLOAD_LINK_ES:"https://bitbox.swiss/es/descargar/?source=bitboxapp"},tv=()=>{switch(se.resolvedLanguage){case"de":return Ah.DOWNLOAD_LINK_DE;case"es":return Ah.DOWNLOAD_LINK_ES;default:return Ah.DOWNLOAD_LINK_GLOBAL}},Rce=({...t})=>{const{t:e}=A();return r.jsx(pt,{href:tv(),...t,children:e("button.download")})},Fce=({...t})=>{const{t:e}=A();return r.jsx(pt,{href:tv(),...t,children:r.jsx(_,{primary:!0,children:e("button.download")})})},Q1=()=>{const{t}=A();return r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsxs(re,{fullscreen:!0,verticallyCentered:!0,width:"840px",withBottomBar:!0,children:[r.jsx(be,{title:t("device.appUpradeRequired")}),r.jsx(Fe,{children:r.jsx(Fce,{})})]})]})},Ra=Object.freeze({DEFAULT:"default",WAITING:"waiting",ERROR:"error"});let Vce=class extends x.Component{constructor(){super(...arguments);M(this,"state",{status:Ra.DEFAULT,errorMessage:"",errorCode:null,remainingAttempts:null,needsLongTouch:!1,password:""});M(this,"handleFormChange",n=>{this.setState({password:n})});M(this,"validate",()=>this.state.password!=="");M(this,"handleSubmit",n=>{n.preventDefault(),this.validate()&&(this.setState({status:Ra.WAITING}),H("devices/"+this.props.deviceID+"/login",{password:this.state.password}).then(a=>{a.success&&Z("devices/"+this.props.deviceID+"/status").then(i=>{i==="seeded"&&(console.info("unlock.jsx route to /account-summary"),le("/account-summary",!0))}),a.success||(a.code&&this.setState({errorCode:a.code}),a.remainingAttempts&&this.setState({remainingAttempts:a.remainingAttempts}),a.needsLongTouch&&this.setState({needsLongTouch:a.needsLongTouch}),this.setState({status:Ra.ERROR,errorMessage:a.errorMessage}))}),this.setState({password:""}))})}render(){const{t:n}=this.props,{status:a,password:i,errorCode:o,errorMessage:s,remainingAttempts:l,needsLongTouch:c}=this.state;let u=null;switch(a){case Ra.DEFAULT:u=r.jsx("p",{children:n("unlock.description")});break;case Ra.WAITING:u=r.jsx(Cn,{guideExists:!0,text:n("unlock.unlocking")});break;case Ra.ERROR:u=r.jsx(nn,{type:"error",children:n(`unlock.error.e${o}`,{defaultValue:s,remainingAttempts:l,context:c?"touch":"normal"})});break}const d=gi();return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")})}),r.jsxs("div",{className:"content narrow padded isVerticallyCentered",children:[d?r.jsx(Sd,{}):r.jsx(xg,{}),r.jsxs("div",{className:"box large",children:[u,a!==Ra.WAITING&&r.jsxs("form",{onSubmit:this.handleSubmit,children:[r.jsx("div",{className:"m-top-default",children:r.jsx(Sg,{autoFocus:!0,id:"password",type:"password",label:n("unlock.input.label"),disabled:a===Ra.WAITING,placeholder:n("unlock.input.placeholder"),onValidPassword:this.handleFormChange,value:i})}),r.jsx("div",{className:"buttons",children:r.jsx(_,{primary:!0,type:"submit",disabled:!this.validate()||a===Ra.WAITING,children:n("button.unlock")})})]})]})]}),r.jsx(oB,{children:d?r.jsx(hi,{}):r.jsx(pi,{})})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.unlock.forgotDevicePassword")},"guide.unlock.forgotDevicePassword"),r.jsx(W,{entry:n("guide.unlock.reset")},"guide.unlock.reset")]})]})}};const Wce=He()(Vce),Uce="_container_17oq2_1",qce="_scrollable_17oq2_17",Hce="_agreements_17oq2_22",Kce="_agreementsLabel_17oq2_26",Gce="_title_17oq2_30",Qce="_summary_17oq2_36",Yce="_heading_17oq2_45",Zce="_content_17oq2_49",Jce="_verticalButtons_17oq2_60",Xce="_block_17oq2_72",eue="_list_17oq2_85",tue="_buttons_17oq2_93",nue="_stepNumber_17oq2_98",aue="_badge_17oq2_108",iue="_waitingLogo_17oq2_113",oue="_waitingContent_17oq2_117",rue="_waitingText_17oq2_126",sue="_waitingDescription_17oq2_134",lue="_qrcodeContainer_17oq2_140",ht={container:Uce,scrollable:qce,agreements:Hce,agreementsLabel:Kce,title:Gce,summary:Qce,heading:Yce,content:Zce,verticalButtons:Jce,block:Xce,list:eue,buttons:tue,stepNumber:nue,badge:aue,waitingLogo:iue,waitingContent:oue,waitingText:rue,waitingDescription:sue,qrcodeContainer:lue};class cue extends x.Component{constructor(n){super(n);M(this,"onEvent",n=>{if(n.type==="device")switch(n.data){case"bootloaderStatusChanged":this.onStatusChanged();break}});M(this,"onStatusChanged",()=>{Z("devices/"+this.props.deviceID+"/bootloader-status").then(({upgrading:n,progress:a,upgradeSuccessful:i,errMsg:o})=>{this.setState({upgrading:n,progress:a,upgradeSuccessful:i,errMsg:o})})});M(this,"upgradeFirmware",()=>{H("devices/"+this.props.deviceID+"/bootloader/upgrade-firmware")});this.state={upgrading:!1,errMsg:null,progress:0,upgradeSuccessful:!1}}componentDidMount(){this.unsubscribe=Yo(this.onEvent),this.onStatusChanged()}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:n}=this.props,{upgrading:a,progress:i,upgradeSuccessful:o,errMsg:s}=this.state;let l;if(a)if(o)l=r.jsx("p",{className:"m-none",children:n("bootloader.success")});else{const c=Math.round(i*100);l=r.jsxs("div",{children:[r.jsxs("progress",{value:c,max:"100",children:[c,"%"]}),r.jsx("p",{className:"m-bottom-none text-center",children:n("bootloader.progress",{progress:c})})]})}else l=r.jsx("div",{className:"buttons m-top-none",children:r.jsx(_,{primary:!0,onClick:this.upgradeFirmware,children:n("bootloader.button")})});return r.jsx("div",{className:"contentWithGuide",children:r.jsx("div",{className:"container",children:r.jsx("div",{className:"innerContainer",children:r.jsx("div",{className:"content narrow isVerticallyCentered",children:r.jsxs("div",{className:[ht.container,ht.scrollable].join(" "),children:[r.jsx(Cj,{}),r.jsxs("div",{className:"box large",children:[l,s&&r.jsx("p",{className:"m-bottom-none",children:s})]})]})})})})})}}const uue=He()(cue),due="_container_l7fdu_1",pue="_danger_l7fdu_27",hue="_children_l7fdu_31",mue="_optionalText_l7fdu_35",fue="_secondaryText_l7fdu_46",gue="_primaryText_l7fdu_54",vue="_icon_l7fdu_58",bue="_disabled_l7fdu_63",kue="_item_l7fdu_68",ta={container:due,danger:pue,children:hue,optionalText:mue,secondaryText:fue,primaryText:gue,icon:vue,disabled:bue,item:kue},vi=({onClick:t,danger:e,optionalText:n,secondaryText:a,disabled:i,children:o,optionalIcon:s})=>r.jsxs("button",{className:[ta.container,e?ta.danger:"",i===!0?ta.disabled:""].join(" "),onClick:i?void 0:t,children:[r.jsxs("span",{className:ta.children,children:[r.jsx("span",{className:ta.primaryText,children:o}),a?r.jsx("span",{className:ta.secondaryText,children:a}):null]}),n?r.jsx("span",{className:ta.optionalText,children:n}):null,s?r.jsx("span",{className:ta.icon,children:s}):r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"9 18 15 12 9 6"})})]});class xue extends x.Component{constructor(){super(...arguments);M(this,"state",{unlocked:!1,newVersion:"",isConfirming:!1,activeDialog:!1});M(this,"upgradeFirmware",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/unlock-bootloader").then(n=>{this.setState({unlocked:n,isConfirming:n})}).catch(()=>{this.setState({isConfirming:!1})})});M(this,"abort",()=>{this.setState({activeDialog:!1})})}componentDidMount(){Z("devices/"+this.props.deviceID+"/bundled-firmware-version").then(n=>{this.setState({newVersion:n.replace("v","")})})}render(){const{t:n,currentVersion:a,disabled:i,asButton:o}=this.props,{unlocked:s,newVersion:l,isConfirming:c,activeDialog:u}=this.state;return r.jsxs("div",{children:[o?r.jsx(_,{primary:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("upgradeFirmware.button")}):r.jsx(vi,{onClick:()=>this.setState({activeDialog:!0}),disabled:i,optionalText:l,children:n("upgradeFirmware.button")}),u&&r.jsxs(fa,{title:n("upgradeFirmware.title"),children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.description",{currentVersion:a,newVersion:l})}),r.jsxs(so,{children:[r.jsx(_,{primary:!0,onClick:this.upgradeFirmware,children:n("button.upgrade")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]}),c&&r.jsx(xn,{title:n("upgradeFirmware.title"),includeDefault:!s,children:s?r.jsxs("div",{children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.unlocked")}),r.jsxs("ol",{style:{lineHeight:"1.5"},children:[r.jsx("li",{children:n("upgradeFirmware.unlocked1")}),r.jsx("li",{children:n("upgradeFirmware.unlocked2")}),r.jsx("li",{children:n("upgradeFirmware.unlocked3")})]})]}):r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.locked",{currentVersion:a,newVersion:l})})})]})}}const Y1=He()(xue);class yue extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null})}componentDidMount(){Jo(this.props.deviceID).then(({version:n})=>{this.setState({firmwareVersion:n.replace("v","")})})}render(){const{t:n,deviceID:a}=this.props,{firmwareVersion:i}=this.state;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:ht.container,children:[r.jsx(Cj,{}),r.jsxs("div",{className:"box",children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.label")}),r.jsx("div",{className:"buttons m-top-half",children:r.jsx(Y1,{deviceID:a,currentVersion:i,asButton:!0})})]})]})})}}const wue=He()(yue);class jue extends x.Component{render(){const{t:e,onCreate:n,onRestore:a}=this.props;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsxs("div",{className:"box large",children:[r.jsx("p",{className:"first",children:e("goal.paragraph")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:n,children:e("goal.buttons.create")}),r.jsx(_,{secondary:!0,onClick:a,children:e("goal.buttons.restore")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})})]})})}}const Mx=He()(jue);class Bue extends x.Component{constructor(e){super(e),this.handleStart=()=>{this.setState({showInfo:!1})},this.state={showInfo:!0}}render(){const{t:e,goBack:n,goal:a,children:i}=this.props,{showInfo:o}=this.state;return o?r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:e(`securityInformation.${a}.title`)}),a==="create"?r.jsxs("div",{className:"box large",children:[r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description1")}),r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description2")}),r.jsxs("ul",{className:[ht.list,"first"].join(" "),children:[r.jsx(Qe,{tagName:"li",markup:e("securityInformation.create.description3")}),r.jsx(Qe,{tagName:"li",markup:e("securityInformation.create.description4")})]}),r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description5")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}):r.jsxs("div",{className:"box large",children:[r.jsxs("ul",{className:[ht.list,"first"].join(" "),children:[r.jsx("li",{children:e("securityInformation.restore.description1")}),r.jsx("li",{children:e("securityInformation.restore.description2")})]}),r.jsx("p",{children:e("securityInformation.restore.description3")}),r.jsxs(nn,{type:"warning",children:[r.jsx(kg,{}),r.jsx("p",{className:"first",children:e("deviceTampered")})]}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})})]})}):i}}const Sue=kn()(Bue),En=Object.freeze({DEFAULT:"default",CREATING:"creating",CHECKING:"checking",ERROR:"error"});class zue extends x.Component{constructor(){super(...arguments);M(this,"state",{showInfo:!0,status:En.CHECKING,walletName:"",backupPassword:"",error:"",agreements:{password_change:!1,password_required:!1,funds_access:!1}});M(this,"walletNameInput",x.createRef());M(this,"validate",()=>!this.walletNameInput.current||!this.walletNameInput.current.validity.valid||!this.validAgreements()?!1:this.state.backupPassword&&this.state.walletName!=="");M(this,"handleFormChange",({target:n})=>{this.setState({[n.id]:n.value})});M(this,"handleSubmit",n=>{n.preventDefault(),this.validate()&&(this.setState({status:En.CREATING,error:""}),H("devices/"+this.props.deviceID+"/create-wallet",{walletName:this.state.walletName,backupPassword:this.state.backupPassword}).then(a=>{a.success?this.props.onSuccess():this.setState({status:En.ERROR,error:this.props.t(`seed.error.e${a.code}`,{defaultValue:a.errorMessage})}),this.setState({backupPassword:""})}))});M(this,"setValidBackupPassword",n=>{this.setState({backupPassword:n})});M(this,"validAgreements",()=>{const{agreements:n}=this.state;return!Object.keys(n).map(i=>n[i]).includes(!1)});M(this,"handleAgreementChange",({target:n})=>{this.setState(a=>({agreements:{...a.agreements,[n.id]:n.checked}}))});M(this,"checkSDcard",()=>{Jo(this.props.deviceID).then(({sdcard:n})=>{if(n)return this.setState({status:En.DEFAULT,error:""});this.setState({status:En.ERROR,error:this.props.t("seed.error.e200")}),setTimeout(this.checkSDcard,2500)})});M(this,"handleStart",()=>{this.setState({showInfo:!1}),this.checkSDcard()})}componentDidMount(){this.checkSDcard()}renderSpinner(){switch(this.state.status){case En.CHECKING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("checkSDcard")});case En.CREATING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("seed.creating")});default:return null}}render(){const{t:n,goBack:a}=this.props,{showInfo:i,status:o,walletName:s,error:l,agreements:c}=this.state,u=i?r.jsxs("div",{className:"box large",children:[r.jsxs("ol",{className:"first",children:[r.jsx("li",{children:n("seed.info.description1")}),r.jsx("li",{children:n("seed.info.description2")})]}),r.jsx("p",{children:n("seed.info.description3")}),r.jsx("p",{children:n("seed.info.description4")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,disabled:o!==En.DEFAULT,children:n("seed.info.button")}),r.jsx(_,{secondary:!0,onClick:a,children:n("button.abort")})]})]}):r.jsxs("form",{onSubmit:this.handleSubmit,className:"box large",children:[r.jsxs("div",{children:[r.jsx(Ye,{pattern:"^[0-9a-zA-Z-_]{1,31}$",autoFocus:!0,id:"walletName",label:n("seed.walletName.label"),disabled:o===En.CREATING,onInput:this.handleFormChange,ref:this.walletNameInput,value:s}),r.jsx(qr,{label:n("seed.password.label"),repeatPlaceholder:n("seed.password.repeatPlaceholder"),disabled:o===En.CREATING,onValidPassword:this.setValidBackupPassword})]}),r.jsxs("div",{className:ht.agreements,children:[r.jsxs("div",{className:"flex flex-row flex-start flex-items-center",children:[r.jsx(Sj,{style:{width:18,marginRight:10,position:"relative",bottom:1}}),r.jsx("p",{className:ht.agreementsLabel,children:n("seed.description")})]}),r.jsx(Ve,{id:"password_change",label:n("seed.agreements.password-change"),checked:c.password_change,onChange:this.handleAgreementChange}),r.jsx(Ve,{id:"password_required",label:n("seed.agreements.password-required"),checked:c.password_required,onChange:this.handleAgreementChange}),r.jsx(Ve,{id:"funds_access",label:n("seed.agreements.funds-access"),checked:c.funds_access,onChange:this.handleAgreementChange})]}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{type:"submit",primary:!0,disabled:!this.validate()||o===En.CREATING,children:n("seed.create")}),r.jsx(_,{secondary:!0,onClick:a,children:n("button.abort")})]})]});return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n("seed.info.title")}),l&&r.jsxs(nn,{type:o===En.ERROR?"error":void 0,children:[r.jsx(kg,{}),l]}),u,r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]}),this.renderSpinner()]})})}}const Cue=He()(zue),Z1=(t,e)=>new Date(t).toLocaleString(e,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}),Due="_stepContext_g2o2c_1",Aue="_backupsList_g2o2c_5",_ue="_listContainer_g2o2c_14",Tue="_item_g2o2c_24",Eue="_agreements_g2o2c_37",Pue="_emptyText_g2o2c_41",Nue="_backupItem_g2o2c_47",Lue="_backupID_g2o2c_52",Iue="_backupButtons_g2o2c_59",In={stepContext:Due,backupsList:Aue,listContainer:_ue,item:Tue,agreements:Eue,emptyText:Pue,backupItem:Nue,backupID:Lue,backupButtons:Iue},nv=({backup:t,disabled:e,handleChange:n,onFocus:a,radio:i,selectedBackup:o})=>{let s="";return t.date&&t.date!==""?s=Z1(t.date,se.language):s="unknown",i?r.jsxs(yg,{disabled:!!e,checked:o===t.id,onChange:l=>{n&&n(l.target.value)},id:t.id,label:t.name&&t.name!==""?t.name:t.id,value:t.id,onFocus:a,className:In.backupItem,children:[r.jsx("span",{className:"text-small text-gray",children:s}),r.jsxs("span",{className:"text-small text-gray",children:["ID: ",t.id]})]}):r.jsxs("div",{children:[r.jsx("div",{className:"text-medium m-bottom-quarter",children:t.name}),r.jsxs("div",{className:In.backupID,children:["ID: ",t.id]}),r.jsx("div",{className:"text-small text-gray",children:s})]})};let $ue=class extends x.Component{constructor(){super(...arguments);M(this,"state",{password:null,activeDialog:!1,message:null});M(this,"abort",()=>{this.setState({password:null,activeDialog:!1,message:null})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>this.props.selectedBackup&&this.state.password);M(this,"check",n=>{n.preventDefault(),this.validate()&&(this.setState({message:this.props.t("backup.check.checking")}),H("devices/"+this.props.deviceID+"/backups/check",{password:this.state.password,filename:this.props.selectedBackup}).catch(()=>{}).then(({success:a,matches:i,errorMessage:o})=>{let s;a?i?s=this.props.t("backup.check.ok"):s=this.props.t("backup.check.notOK"):o&&(s=o),this.setState({message:s})}))});M(this,"setValidPassword",n=>{this.setState({password:n})})}render(){const{t:n,selectedBackup:a}=this.props,{activeDialog:i,message:o}=this.state;return r.jsxs("div",{children:[r.jsx(_,{secondary:!0,disabled:a===null,onClick:()=>this.setState({activeDialog:!0}),children:n("button.check")}),i&&r.jsx(fa,{title:n("backup.check.title"),onClose:this.abort,children:o?r.jsxs("div",{children:[r.jsx("p",{style:{minHeight:"3rem"},children:o}),r.jsx("div",{className:ce.actions,children:r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})})]}):r.jsxs("form",{onSubmit:this.check,children:[r.jsx(Sg,{label:n("backup.check.password.label"),placeholder:n("backup.check.password.placeholder"),showLabel:n("backup.check.password.showLabel"),onValidPassword:this.setValidPassword}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{type:"submit",primary:!0,disabled:!this.validate(),children:n("button.check")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]})})]})}};const Mue=He()($ue);let Oue=class extends x.Component{constructor(){super(...arguments);M(this,"state",{waiting:!1,backupName:"",recoveryPassword:"",activeDialog:!1});M(this,"abort",()=>{this.setState({waiting:!1,backupName:"",recoveryPassword:"",activeDialog:!1})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>!this.state.waiting&&this.state.backupName!=="");M(this,"create",n=>{n.preventDefault(),this.validate()&&(this.setState({waiting:!0}),H("devices/"+this.props.deviceID+"/backups/create",{backupName:this.state.backupName,recoveryPassword:this.state.recoveryPassword}).then(a=>{this.abort(),a.success?(this.props.onCreate(),a.verification||J(this.props.t("backup.create.verificationFailed"))):J(a.errorMessage)}))})}render(){const{t:n}=this.props,{waiting:a,recoveryPassword:i,backupName:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(_,{primary:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("button.create")}),s&&r.jsx(fa,{title:n("backup.create.title"),onClose:this.abort,children:r.jsxs("form",{onSubmit:this.create,children:[r.jsx(Ye,{autoFocus:!0,id:"backupName",label:n("backup.create.name.label"),placeholder:n("backup.create.name.placeholder"),onInput:this.handleFormChange,value:o}),r.jsx("p",{children:n("backup.create.info")}),r.jsx(Bg,{id:"recoveryPassword",label:n("backup.create.password.label"),placeholder:n("backup.create.password.placeholder"),onInput:this.handleFormChange,value:i}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{type:"submit",primary:!0,disabled:a||!this.validate(),children:n("button.create")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.abort")})]})]})})]})}};const Rue=He()(Oue);class Fue extends x.Component{constructor(){super(...arguments),this.state={isConfirming:!1,activeDialog:!1,isLoading:!1,understand:!1,password:void 0},this.abort=()=>{this.setState({isConfirming:!1,activeDialog:!1,isLoading:!1,understand:!1,password:void 0})},this.validate=()=>this.props.selectedBackup&&this.state.password,this.restore=e=>{e.preventDefault(),this.validate()&&(this.props.requireConfirmation?this.setState({activeDialog:!1,isConfirming:!0}):this.setState({activeDialog:!1,isLoading:!0}),H("devices/"+this.props.deviceID+"/backups/restore",{password:this.state.password,filename:this.props.selectedBackup}).then(n=>{const{success:a,didRestore:i,errorMessage:o,code:s}=n;if(this.abort(),a){if(i){if(this.props.onRestore)return this.props.onRestore();console.info("restore.jsx route to /"),le("/",!0)}}else J(this.props.t(`backup.restore.error.e${s}`,{defaultValue:o}))}))},this.handleUnderstandChange=e=>{this.setState({understand:e.target.checked})},this.setValidPassword=e=>{this.setState({password:e})}}render(){const{t:e,selectedBackup:n,requireConfirmation:a}=this.props,{isConfirming:i,activeDialog:o,isLoading:s,understand:l}=this.state;return r.jsxs("span",{children:[r.jsx(_,{...a?{danger:!0}:{primary:!0},disabled:!n,onClick:()=>this.setState({activeDialog:!0}),children:e("button.restore")}),o&&r.jsx(fa,{title:e("backup.restore.title"),disableEscape:i||s,onClose:this.abort,children:r.jsxs("form",{onSubmit:this.restore,children:[r.jsx(qr,{label:e("backup.restore.password.label"),placeholder:e("backup.restore.password.placeholder"),repeatPlaceholder:e("backup.restore.password.repeatPlaceholder"),showLabel:e("backup.restore.password.showLabel"),onValidPassword:this.setValidPassword}),r.jsx("div",{className:In.agreements,children:r.jsx(Ve,{id:"funds_access",label:e("backup.restore.understand"),checked:l,onChange:this.handleUnderstandChange})}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",...a?{danger:!0}:{primary:!0},disabled:!l||!this.validate()||i,children:e("button.restore")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:i,children:e("button.back")})]})]})}),i&&a&&r.jsx(xn,{title:e("backup.restore.confirmTitle")}),s&&r.jsx(Cn,{guideExists:!1,text:e("backup.restore.restoring")})]})}}const Vue=kn()(Fue);class Wue extends x.Component{constructor(e){super(e),this.scrollableContainer=x.createRef(),this.refresh=()=>{Jo(this.props.deviceID).then(({lock:n})=>this.setState({lock:n})),Z("devices/"+this.props.deviceID+"/backups/list").then(({sdCardInserted:n,backupList:a,success:i,errorMessage:o})=>{i?this.setState({sdCardInserted:n,backupList:a}):o&&J(o)})},this.handleBackuplistChange=n=>{this.setState({selectedBackup:n})},this.scrollIntoView=n=>{if(!this.scrollableContainer.current)return;const a=n.target,i=a.offsetTop,o=a.parentNode.offsetHeight;if(i>this.scrollableContainer.current.scrollTop+o)return;const s=Math.max(i+o-this.scrollableContainer.current.offsetHeight,0);this.scrollableContainer.current.scroll({top:s,behavior:"smooth"})},this.state={backupList:[],sdCardInserted:null}}componentDidMount(){this.refresh()}render(){const{t:e,children:n,showCreate:a=!1,showRestore:i=!0,deviceID:o,requireConfirmation:s=!0,onRestore:l}=this.props,{backupList:c,selectedBackup:u,sdCardInserted:d,lock:p}=this.state;return p===void 0?null:d===!1?r.jsxs("div",{className:"box m-top-default",children:[r.jsx("p",{className:"first",children:e("backup.insert")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.refresh,children:e("backup.insertButton")}),n]})]}):d?r.jsxs("div",{className:"box large m-top-default",children:[r.jsx(Qe,{tagName:"p",markup:e("backup.description")}),r.jsx("div",{className:In.backupsList,ref:this.scrollableContainer,children:r.jsx("div",{className:In.listContainer,children:c.length?c.map(h=>r.jsx("div",{className:In.item,children:r.jsx(nv,{backup:h,selectedBackup:u,handleChange:this.handleBackuplistChange,onFocus:this.scrollIntoView,radio:!0})},h.id)):r.jsx("p",{className:In.emptyText,children:e("backup.noBackups")})})}),r.jsxs("div",{className:"buttons",children:[a&&!p&&r.jsx(Rue,{onCreate:this.refresh,deviceID:o}),a&&r.jsx(Mue,{selectedBackup:u,deviceID:o}),i&&l&&r.jsx(Vue,{selectedBackup:u,deviceID:o,onRestore:l,requireConfirmation:s}),n]})]}):null}}const J1=kn()(Wue),ho=Object.freeze({DEFAULT:"default",CREATING:"creating",CHECKING:"checking",ERROR:"error"});class Uue extends x.Component{constructor(){super(...arguments);M(this,"state",{showInfo:!0,status:ho.CHECKING,error:""});M(this,"checkSDcard",()=>{Jo(this.props.deviceID).then(({sdcard:n})=>{if(n)return this.setState({status:ho.DEFAULT,error:""});this.setState({status:ho.ERROR,error:this.props.t("seedRestore.error.e200")}),setTimeout(this.checkSDcard,2500)})});M(this,"handleStart",()=>{this.setState({showInfo:!1}),this.checkSDcard()})}componentDidMount(){this.checkSDcard()}renderSpinner(){switch(this.state.status){case ho.CHECKING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("checkSDcard")});case ho.CREATING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("seed.creating")});default:return null}}render(){const{t:n,deviceID:a,goBack:i,onSuccess:o}=this.props,{showInfo:s,status:l,error:c}=this.state;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n("seedRestore.info.title")}),c?r.jsxs(nn,{type:l===ho.ERROR?"error":void 0,children:[r.jsx(kg,{}),c]}):null,s?r.jsxs("div",{className:"box large",children:[r.jsxs("ol",{className:"first",children:[r.jsx("li",{children:n("seedRestore.info.description1")}),r.jsx("li",{children:n("seedRestore.info.description2")}),r.jsx("li",{children:n("seedRestore.info.description3")})]}),r.jsx("p",{children:n("seedRestore.info.description4")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,disabled:l!==ho.DEFAULT,children:n("button.continue")}),r.jsx(_,{secondary:!0,onClick:i,children:n("button.abort")})]})]}):r.jsx(J1,{showCreate:!1,deviceID:a,requireConfirmation:!1,onRestore:o,children:r.jsx(_,{secondary:!0,onClick:i,children:n("button.abort")})}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]}),this.renderSpinner()]})})}}const que=He()(Uue),Fa=Object.freeze({DEFAULT:"default",WAITING:"waiting",ERROR:"error"});class Hue extends x.Component{constructor(e){super(e),this.handleSubmit=n=>{n.preventDefault(),this.state.password&&(this.setState({status:Fa.WAITING,errorCode:null,errorMessage:""}),H("devices/"+this.props.deviceID+"/set-password",{password:this.state.password}).then(a=>{a.success||(a.code&&this.setState({errorCode:a.code}),this.setState({status:Fa.ERROR,errorMessage:a.errorMessage}))}))},this.setValidPassword=n=>{this.setState({password:n})},this.handleStart=()=>{this.setState({showInfo:!1})},this.state={showInfo:!0,password:null,status:Fa.DEFAULT,errorCode:null,errorMessage:""}}render(){const{t:e,goBack:n}=this.props,{showInfo:a,password:i,status:o,errorCode:s,errorMessage:l}=this.state;let c;switch(o){case Fa.DEFAULT:c=null;break;case Fa.WAITING:c=r.jsx(nn,{type:"info",children:e("initialize.creating")});break;case Fa.ERROR:c=r.jsx(nn,{type:"error",children:e(`initialize.error.e${s}`,{defaultValue:l})})}const u=a?r.jsxs("div",{className:"box large",children:[r.jsx("h3",{className:"subTitle",children:e("initialize.info.subtitle")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("initialize.info.description1")}),r.jsx("li",{children:e("initialize.info.description2")})]}),r.jsx("p",{children:e("initialize.info.description3")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}):r.jsxs("form",{onSubmit:this.handleSubmit,className:"box large",children:[r.jsx(qr,{pattern:"^.{4,}$",label:e("initialize.input.label"),repeatLabel:e("initialize.input.labelRepeat"),repeatPlaceholder:e("initialize.input.placeholderRepeat"),disabled:o===Fa.WAITING,onValidPassword:this.setValidPassword}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{type:"submit",primary:!0,disabled:!i||o===Fa.WAITING,children:e("initialize.create")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]});return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:e(a?"initialize.info.title":"setup")}),c,u,r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})}),o===Fa.WAITING&&r.jsx(Cn,{guideExists:!1,text:e("initialize.creating")})]})})}}const Kue=kn()(Hue);class Gue extends x.Component{constructor(){super(...arguments);M(this,"handleGetStarted",()=>{le("/account-summary",!0)})}render(){const{t:n,handleHideSuccess:a,goal:i}=this.props;return r.jsx("div",{className:"contentWithGuide",children:r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n(`success.${i}.title`)}),r.jsxs("div",{className:"box large",children:[r.jsx("p",{style:{textAlign:"center"},children:n(`success.${i}.summary`)}),i==="create"?r.jsxs("ul",{className:ht.summary,children:[r.jsx("li",{children:n("success.create.info1")}),r.jsx("li",{children:n("success.create.info2")}),r.jsx("li",{children:n("success.create.info3")})]}):null,r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleGetStarted,children:n("success.getstarted")}),r.jsx(_,{secondary:!0,onClick:a,children:n("sidebar.device")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]})})})}}const Que=He()(Gue);class Yue extends x.Component{constructor(){super(...arguments);M(this,"blinkDevice",()=>{H("devices/"+this.props.deviceID+"/blink")})}render(){const{t:n}=this.props;return r.jsx(vi,{onClick:this.blinkDevice,children:n("blink.button")})}}const Zue=He()(Yue);class Jue extends x.Component{constructor(){super(...arguments);M(this,"toggle",()=>{const n=!this.props.newHiddenWallet;H("devices/"+this.props.deviceID+"/feature-set",{new_hidden_wallet:n}).then(()=>{J(n?this.props.t("legacyhiddenwallet.successDisable"):this.props.t("legacyhiddenwallet.successEnable")),this.props.onChange&&this.props.onChange(n)})})}render(){const{t:n,disabled:a,newHiddenWallet:i}=this.props;return r.jsx(_,{danger:!0,disabled:a,onclick:this.toggle,children:n(i?"legacyhiddenwallet.enable":"legacyhiddenwallet.disable")})}}const Ox=He()(Jue);class Xue extends x.Component{constructor(n){super(n);M(this,"getRandomNumber",()=>{H(this.props.apiPrefix+"/random-number").then(n=>{this.setState({active:!0,number:n})})});M(this,"abort",()=>{this.setState({active:!1,number:void 0})});this.state={active:!1,number:""}}render(){const{t:n}=this.props,{number:a,active:i}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{onClick:this.getRandomNumber,children:n("random.button")}),i&&a?r.jsxs(fa,{title:"Generate Random Number",onClose:this.abort,children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsxs("div",{className:"column",children:[r.jsx("p",{children:n("random.description",{bits:a.length*4})}),r.jsx(Ia,{value:a,flexibleHeight:!0})]})})}),r.jsx(so,{children:r.jsx(_,{primary:!0,onClick:this.abort,children:n("button.ok")})})]}):null]})}}const ede=He()(Xue);class tde extends x.Component{constructor(){super(...arguments);M(this,"state",{password:null,pin:null,isConfirming:!1,activeDialog:!1});M(this,"abort",()=>{this.setState({password:null,isConfirming:!1,activeDialog:!1})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>this.state.password&&this.state.pin);M(this,"createHiddenWallet",n=>{n.preventDefault(),this.validate()&&(this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/set-hidden-password",{pin:this.state.pin,backupPassword:this.state.password}).catch(()=>{}).then(({success:a,didCreate:i,errorMessage:o,code:s})=>{this.abort(),a?i&&J(this.props.t("hiddenWallet.success")):J(this.props.t(`bitbox.error.e${s}`,{defaultValue:o}))}))});M(this,"setValidPassword",n=>{this.setState({password:n})});M(this,"setValidPIN",n=>{this.setState({pin:n})})}render(){const{t:n,disabled:a}=this.props,{isConfirming:i,activeDialog:o}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{disabled:a,onClick:()=>this.setState({activeDialog:!0}),children:n("button.hiddenwallet")}),o&&r.jsxs(fa,{title:n("button.hiddenwallet"),onClose:this.abort,children:[r.jsx(Qe,{tagName:"p",markup:n("hiddenWallet.info1HTML")}),r.jsx(Qe,{tagName:"p",markup:n("hiddenWallet.info2HTML")}),r.jsxs("form",{onSubmit:this.createHiddenWallet,children:[r.jsx(qr,{idPrefix:"pin",pattern:"^.{4,}$",label:n("hiddenWallet.pinLabel"),repeatLabel:n("hiddenWallet.pinRepeatLabel"),repeatPlaceholder:n("hiddenWallet.pinRepeatPlaceholder"),onValidPassword:this.setValidPIN}),r.jsx(qr,{idPrefix:"password",label:n("hiddenWallet.passwordLabel"),repeatPlaceholder:n("hiddenWallet.passwordPlaceholder"),onValidPassword:this.setValidPassword}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",danger:!0,disabled:!this.validate()||i,children:n("button.hiddenwallet")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:i,children:n("button.abort")})]})]})]}),i&&r.jsx(xn,{title:n("button.hiddenwallet")})]})}}const nde=He()(tde);class ade extends x.Component{constructor(){super(...arguments);M(this,"state",{oldPIN:null,newPIN:null,errorCode:null,isConfirming:!1,activeDialog:!1});M(this,"abort",()=>{this.setState({oldPIN:null,newPIN:null,isConfirming:!1,activeDialog:!1})});M(this,"validate",()=>this.state.newPIN&&this.state.oldPIN);M(this,"changePin",n=>{n.preventDefault(),this.validate()&&(this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/change-password",{oldPIN:this.state.oldPIN,newPIN:this.state.newPIN}).catch(()=>{}).then(a=>{this.abort(),a.success||J(this.props.t(`bitbox.error.e${a.code}`,{defaultValue:a.errorMessage}))}))});M(this,"setValidOldPIN",n=>{this.setState({oldPIN:n.target.value})});M(this,"setValidNewPIN",n=>{this.setState({newPIN:n})})}render(){const{t:n,disabled:a}=this.props,{oldPIN:i,isConfirming:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{disabled:a,onClick:()=>this.setState({activeDialog:!0}),children:n("button.changepin")}),s&&r.jsx(fa,{title:n("button.changepin"),onClose:this.abort,children:r.jsxs("form",{onSubmit:this.changePin,children:[r.jsx(Bg,{idPrefix:"oldPIN",label:n("changePin.oldLabel"),value:i,onInput:this.setValidOldPIN}),n("changePin.newTitle")&&r.jsx("h4",{children:n("changePin.newTitle")}),r.jsx(qr,{idPrefix:"newPIN",pattern:"^.{4,}$",label:n("initialize.input.label"),repeatLabel:n("initialize.input.labelRepeat"),repeatPlaceholder:n("initialize.input.placeholderRepeat"),onValidPassword:this.setValidNewPIN}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",danger:!0,disabled:!this.validate()||o,children:n("button.changepin")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:o,children:n("button.back")})]})]})}),o&&r.jsx(xn,{title:n("button.changepin")})]})}}const ide=He()(ade);class ode extends x.Component{constructor(){super(...arguments);M(this,"state",{pin:null,isConfirming:!1,activeDialog:!1,understand:!1});M(this,"handleUnderstandChange",n=>{this.setState({understand:n.target.checked})});M(this,"resetDevice",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/reset",{pin:this.state.pin}).then(n=>{this.abort(),n.success?n.didReset&&le("/",!0):n.errorMessage&&J(this.props.t(`bitbox.error.e${n.code}`,{defaultValue:n.errorMessage}))})});M(this,"setValidPIN",n=>{this.setState({pin:n.target.value})});M(this,"abort",()=>{this.setState({pin:null,understand:!1,isConfirming:!1,activeDialog:!1})})}render(){const{t:n}=this.props,{isConfirming:a,activeDialog:i,understand:o,pin:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{danger:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("reset.title")}),i&&r.jsxs(fa,{title:n("reset.title"),onClose:this.abort,children:[r.jsx("p",{children:n("reset.description")}),r.jsx(Bg,{idPrefix:"pin",label:n("initialize.input.label"),value:s,onInput:this.setValidPIN}),r.jsx("div",{className:ht.agreements,children:r.jsx(Ve,{id:"funds_access",label:n("reset.understand"),checked:o,onChange:this.handleUnderstandChange})}),r.jsxs(so,{children:[r.jsx(_,{danger:!0,disabled:!s||!o,onClick:this.resetDevice,children:n("reset.title")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:a,children:n("button.back")})]})]}),a?r.jsx(xn,{title:n("reset.title")}):null]})}}const rde=He()(ode),sde=""+new URL("app-store-badge-a26fc5b3.svg",import.meta.url).href,lde=""+new URL("google-play-badge-ed64ea07.png",import.meta.url).href;class cde extends x.Component{constructor(e){super(e),this.onDeviceStatus=n=>{if("type"in n){const{type:a,data:i,deviceID:o}=n;if(a==="device"&&o===this.props.deviceID)switch(i){case"pairingStarted":this.setState({status:"started"});break;case"pairingTimedout":this.state.status&&this.setState({status:"timeout"});break;case"pairingPullMessageFailed":this.setState({status:"pullFailed"});break;case"pairingScanningFailed":this.setState({status:"scanningFailed"});break;case"pairingAborted":this.setState({status:"aborted"});break;case"pairingError":this.setState({status:"error"});break;case"pairingSuccess":this.setState({status:"success"});break}}},this.reconnectUnpaired=()=>{Vo(this.props.t("pairing.confirm"),n=>{n&&H("devices/"+this.props.deviceID+"/feature-set",{pairing:!0}).then(()=>{this.props.onPairingEnabled(),J(this.props.t("pairing.success.text"))})})},this.startPairing=()=>{Vo(this.props.t("pairing.confirm"),n=>{n&&(this.setState({channel:null,status:"loading"}),H("devices/"+this.props.deviceID+"/pairing/start").then(a=>{this.props.deviceLocked?this.setState({channel:a,status:"connectOnly"}):this.setState({channel:a,status:"start"})}))})},this.abort=()=>{this.setState({showQRCode:!1,status:!1})},this.toggleQRCode=()=>{this.setState({showQRCode:!this.state.showQRCode})},this.state={channel:null,status:!1,showQRCode:!1}}componentDidMount(){this.unsubscribe=Yo(this.onDeviceStatus)}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:e,deviceLocked:n,paired:a,hasMobileChannel:i}=this.props,{channel:o,status:s,showQRCode:l}=this.state;let c;return s==="start"?c=r.jsxs("div",{children:[r.jsx("div",{className:"flex flex-row flex-start",children:r.jsxs("div",{children:[r.jsxs("p",{className:"m-top-none",children:[r.jsx("strong",{className:"m-right-quarter",children:"1."})," ",e("pairing.start.step1")]}),r.jsx("p",{children:r.jsx(_,{primary:!0,onClick:this.toggleQRCode,className:"width-1-1",children:e(`pairing.start.${l?"hideAppQRCode":"revealAppQRCode"}`)})}),l?r.jsx("div",{className:"columnsContainer m-top-default",children:r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("label",{className:"text-center",children:"Apple App Store"}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx(Ja,{data:"https://itunes.apple.com/us/app/digital-bitbox-2fa/id1079896740",size:148}),r.jsx("a",{target:"_blank",rel:"noreferrer",href:"https://itunes.apple.com/us/app/digital-bitbox-2fa/id1079896740",children:r.jsx("img",{src:sde,className:ht.badge})})]})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("label",{className:"text-center",children:"Google Play Store"}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx(Ja,{data:"https://play.google.com/store/apps/details?id=com.digitalbitbox.tfa",size:148}),r.jsx("a",{target:"_blank",rel:"noreferrer",href:"https://play.google.com/store/apps/details?id=com.digitalbitbox.tfa",children:r.jsx("img",{src:lde,className:ht.badge})})]})]})]})}):null]})}),r.jsx("div",{className:"flex flex-row flex-start m-top-default",children:r.jsxs("div",{children:[r.jsxs("p",{className:"m-top-none",children:[r.jsx("strong",{className:"m-right-quarter",children:"2."}),e("pairing.start.step2")]}),r.jsx("div",{className:"text-center",children:r.jsx(Ja,{data:JSON.stringify(o),size:196})})]})})]}):s==="connectOnly"?c=r.jsx(Ja,{data:JSON.stringify({channel:o,connectOnly:!0})}):c=r.jsx("p",{className:"m-top-none",children:e(`pairing.${s}.text`)}),r.jsxs("div",{children:[r.jsx(vi,{onClick:i&&!a?this.reconnectUnpaired:this.startPairing,optionalText:e(`deviceSettings.pairing.status.${a}`),children:e(n?i?"pairing.reconnectOnly.button":"pairing.connectOnly.button":i&&!a?"pairing.reconnectOnly.button":"pairing.button")}),s&&r.jsxs(fa,{title:e("pairing.title"),onClose:this.abort,medium:!0,children:[r.jsx("div",{className:"flex flex-column flex-center flex-items-center",children:o?c:r.jsx("p",{children:e("loading")})}),r.jsx(so,{children:r.jsx(_,{secondary:!0,onClick:this.abort,children:e("button.back")})})]})]})}}const ude=kn()(cde);class dde extends x.Component{constructor(){super(...arguments);M(this,"state",{isConfirming:!1,activeDialog:!1});M(this,"resetDevice",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/lock").then(n=>{this.setState({isConfirming:!1}),n&&this.props.onLock()})});M(this,"abort",()=>{this.setState({activeDialog:!1})})}render(){const{t:n,disabled:a,lock:i}=this.props,{isConfirming:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{danger:!0,onClick:()=>this.setState({activeDialog:!0}),disabled:a,optionalText:n(`deviceSettings.pairing.lock.${i}`),children:n("deviceLock.button")}),s&&r.jsxs(fa,{title:n("deviceLock.title"),onClose:this.abort,children:[r.jsx("p",{children:n("deviceLock.condition1")}),r.jsx("p",{children:n("deviceLock.condition2")}),r.jsx("p",{children:n("deviceLock.condition3")}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{danger:!0,onClick:this.resetDevice,children:n("deviceLock.confirm")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]}),o&&r.jsx(xn,{title:n("deviceLock.title")})]})}}const pde=He()(dde),Nc=({optionalText:t,optionalIcon:e,children:n})=>r.jsxs("div",{className:[ta.container,ta.item].join(" "),children:[n,t&&r.jsx("span",{className:ta.optionalText,children:t}),e]});class hde extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null,newVersion:null,lock:!0,name:null,spinner:!0,sdcard:!1,serial:"",pairing:!1,mobileChannel:!1,connected:!1,newHiddenWallet:!0})}componentDidMount(){Jo(this.props.deviceID).then(({lock:n,name:a,new_hidden_wallet:i,pairing:o,sdcard:s,serial:l,version:c})=>{this.setState({firmwareVersion:c.replace("v",""),lock:n,name:a,newHiddenWallet:i,pairing:o,sdcard:s,serial:l,spinner:!1})}),Z("devices/"+this.props.deviceID+"/has-mobile-channel").then(n=>{this.setState({mobileChannel:n})}),Z("devices/"+this.props.deviceID+"/bundled-firmware-version").then(n=>{this.setState({newVersion:n.replace("v","")})}),this.unsubscribe=Yo(({type:n,data:a,deviceID:i})=>{if(n==="device"){if(i!==this.props.deviceID)return;switch(a){case"mobileDisconnected":this.setState({connected:!1});break;case"mobileConnected":this.setState({connected:!0});break;case"pairingSuccess":this.setState({pairing:!0,mobileChannel:!0});break;case"pairingFalse":this.setState({mobileChannel:!1});break}}})}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:n,deviceID:a}=this.props,{firmwareVersion:i,newVersion:o,lock:s,name:l,spinner:c,sdcard:u,serial:d,pairing:p,mobileChannel:h,connected:m,newHiddenWallet:g}=this.state,v=i&&o!==i,y=p&&h;return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:l===null?"":l||"BitBox"})}),r.jsx("div",{className:"content padded",children:r.jsxs("div",{className:"columnsContainer",children:[r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.secrets.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(vi,{onClick:()=>le(`/manage-backups/${a}`),children:n("deviceSettings.secrets.manageBackups")}),r.jsx(ide,{deviceID:a}),g?r.jsx(nde,{deviceID:a,disabled:s}):r.jsx(Ox,{deviceID:a,newHiddenWallet:g,disabled:s,onChange:b=>this.setState({newHiddenWallet:b})}),r.jsx(rde,{deviceID:a})]})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.pairing.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(Nc,{optionalText:n(`deviceSettings.pairing.mobile.${m}`),children:n("deviceSettings.pairing.mobile.label")}),r.jsx(ude,{deviceID:a,deviceLocked:s,hasMobileChannel:h,paired:y,onPairingEnabled:()=>this.setState({pairing:!0})}),r.jsx(pde,{lock:s,deviceID:a,onLock:()=>this.setState({lock:!0}),disabled:s||!y})]})]})]}),r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.firmware.title")}),r.jsx("div",{className:"box slim divide",children:v?r.jsx(Y1,{deviceID:a,currentVersion:i}):r.jsx(Nc,{optionalText:`${n("deviceSettings.firmware.version.label")} ${i||n("loading")}`,children:n("deviceSettings.firmware.upToDate")})})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.hardware.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(Nc,{optionalText:d,children:"Serial number"}),r.jsx(Nc,{optionalText:n(`deviceSettings.hardware.sdcard.${u}`),children:n("deviceSettings.hardware.sdcard.label")}),r.jsx(ede,{apiPrefix:"devices/"+a}),r.jsx(Zue,{deviceID:a})]})]})]})]})}),c&&r.jsx(Cn,{guideExists:!0,text:n("deviceSettings.loading")})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.bitbox.ejectBitbox")},"guide.bitbox.ejectBitbox"),r.jsx(W,{entry:n("guide.bitbox.ejectSD")},"guide.bitbox.ejectSD"),r.jsx(W,{entry:n("guide.bitbox.hiddenWallet")},"guide.bitbox.hiddenWallet"),!s&&g&&r.jsx(W,{entry:n("guide.bitbox.legacyHiddenWallet"),children:r.jsx("p",{children:r.jsx(Ox,{deviceID:a,newHiddenWallet:g,onChange:b=>this.setState({newHiddenWallet:b})})})},"guide.bitbox.legacyHiddenWallet"),r.jsx(W,{entry:n("guide.bitbox.pairing")},"guide.bitbox.pairing"),r.jsx(W,{entry:n("guide.bitbox.2FA")},"guide.bitbox.2FA"),r.jsx(W,{entry:n("guide.bitbox.disable2FA")},"guide.bitbox.disable2FA")]})]})}}const mde=He()(hde),mo=Object.freeze({BOOTLOADER:"bootloader",INITIALIZED:"initialized",UNINITIALIZED:"uninitialized",LOGGED_IN:"logged_in",SEEDED:"seeded",REQUIRE_FIRMWARE_UPGRADE:"require_firmware_upgrade",REQUIRE_APP_UPGRADE:"require_app_upgrade"}),Lc=Object.freeze({CREATE:"create",RESTORE:"restore"});class fde extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null,deviceRegistered:!1,deviceStatus:"",goal:"",success:null});M(this,"onDevicesRegisteredChanged",()=>{Z("devices/registered").then(n=>{const i=Object.keys(n).includes(this.getDeviceID());this.setState({deviceRegistered:i,deviceStatus:null},()=>{this.state.deviceRegistered&&this.onDeviceStatusChanged()})})});M(this,"onDeviceStatusChanged",()=>{this.state.deviceRegistered&&Z("devices/"+this.props.deviceID+"/status").then(n=>{["seeded","initialized"].includes(n)?hk(""):hk("forceHidden"),this.setState({deviceStatus:n})})});M(this,"handleCreate",()=>{this.setState({goal:Lc.CREATE})});M(this,"handleRestore",()=>{this.setState({goal:Lc.RESTORE})});M(this,"handleBack",()=>{this.setState({goal:null})});M(this,"handleSuccess",()=>{this.setState({success:!0})})}componentDidMount(){this.onDevicesRegisteredChanged(),this.onDeviceStatusChanged(),this.unsubscribe=Yo(({type:n,data:a,deviceID:i})=>{n==="devices"&&a==="registeredChanged"&&this.onDevicesRegisteredChanged(),n==="device"&&a==="statusChanged"&&i===this.getDeviceID()&&this.onDeviceStatusChanged()})}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}componentDidUpdate(n){this.props.deviceID!==n.deviceID&&this.onDevicesRegisteredChanged()}getDeviceID(){return this.props.deviceID||null}render(){const{deviceID:n}=this.props,{deviceRegistered:a,deviceStatus:i,goal:o,success:s}=this.state;if(!a||!i)return null;if(s)return r.jsx(Que,{goal:o,handleHideSuccess:()=>this.setState({success:null})});switch(i){case mo.BOOTLOADER:return r.jsx(uue,{deviceID:n});case mo.REQUIRE_FIRMWARE_UPGRADE:return r.jsx(wue,{deviceID:n});case mo.REQUIRE_APP_UPGRADE:return r.jsx(Q1,{});case mo.INITIALIZED:return r.jsx(Wce,{deviceID:n});case mo.UNINITIALIZED:return o?r.jsx(Sue,{goal:o,goBack:this.handleBack,children:r.jsx(Kue,{goBack:this.handleBack,deviceID:n})}):r.jsx(Mx,{onCreate:this.handleCreate,onRestore:this.handleRestore});case mo.LOGGED_IN:switch(o){case Lc.CREATE:return r.jsx(Cue,{goBack:this.handleBack,onSuccess:this.handleSuccess,deviceID:n});case Lc.RESTORE:return r.jsx(que,{goBack:this.handleBack,onSuccess:this.handleSuccess,deviceID:n});default:return r.jsx(Mx,{onCreate:this.handleCreate,onRestore:this.handleRestore})}case mo.SEEDED:return r.jsx(mde,{deviceID:n});default:return null}}}const gde=He()(fde),vde=t=>Gn("devices/registered",t),X1=(t,e)=>is("statusChanged",a=>{a.type==="device"&&a.deviceID===t&&e()}),bde=(t,e)=>is("channelHashChanged",a=>{a.type==="device"&&a.deviceID===t&&e(t)}),kde=(t,e)=>is("attestationCheckDone",a=>{a.type==="device"&&a.deviceID===t&&e(t)}),xde="_container_6tizs_1",yde="_primaryText_6tizs_21",wde="_isButton_6tizs_27",jde="_rightContentContainer_6tizs_32",Bde="_displayedValue_6tizs_38",Sde="_withMargin_6tizs_47",zde="_secondaryText_6tizs_51",Cde="_collapse_6tizs_74",Dde="_hideDisplayedValueOnSmall_6tizs_87",wa={container:xde,primaryText:yde,isButton:wde,rightContentContainer:jde,displayedValue:Bde,withMargin:Sde,secondaryText:zde,collapse:Cde,hideDisplayedValueOnSmall:Dde},Ke=({className:t="",collapseOnSmall:e=!1,displayedValue:n="",extraComponent:a,hideDisplayedValueOnSmall:i=!1,onClick:o,secondaryText:s,settingName:l})=>{const c=o===void 0,u=r.jsxs("div",{className:wa.rightContentContainer,children:[r.jsx("p",{className:` + ${n?wa.displayedValue:""} + ${a?wa.withMargin:""} + ${i?wa.hideDisplayedValueOnSmall:""} + `,children:n}),a||null]}),d=r.jsxs(r.Fragment,{children:[r.jsxs("span",{children:[typeof l=="string"?r.jsx("p",{className:wa.primaryText,children:l}):l,s?r.jsx("p",{className:wa.secondaryText,children:s}):null]}),u]});return r.jsx(r.Fragment,{children:c?r.jsx("div",{className:`${wa.container} ${t} + ${e?wa.collapse:""}`,children:d}):r.jsx("button",{className:`${wa.container} ${wa.isButton} ${t}`,onClick:o,children:d})})},Ade="_container_1rta5_1",_de="_active_1rta5_13",eS={container:Ade,active:_de},Ol=({children:t,deviceIDs:e,hideMobileMenu:n,hasAccounts:a})=>r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"hide-on-small",children:r.jsx(tS,{hideMobileMenu:n,deviceIDs:e,hasAccounts:a})}),t]}),js=({name:t,url:e,hideMobileMenu:n})=>n?r.jsx(Xc,{className:({isActive:a})=>a?`${eS.active} hide-on-small`:"hide-on-small",to:e,children:t},e):r.jsx("div",{className:"show-on-small",children:r.jsx(Ke,{settingName:t,onClick:()=>le(e),extraComponent:r.jsx(di,{})})},e),tS=({deviceIDs:t,hideMobileMenu:e,hasAccounts:n})=>{const{t:a}=A();return r.jsxs("div",{className:eS.container,children:[r.jsx(js,{hideMobileMenu:e,name:a("settings.appearance"),url:"/settings/appearance"},"appearance"),n?r.jsx(js,{hideMobileMenu:e,name:a("manageAccounts.title"),url:"/settings/manage-accounts"},"manage-accounts"):null,t.map(i=>r.jsx(js,{hideMobileMenu:e,name:a("sidebar.device"),url:`/settings/device-settings/${i}`},`device-${i}`)),r.jsx(js,{hideMobileMenu:e,name:a("settings.advancedSettings"),url:"/settings/advanced-settings"},"advanced-settings"),r.jsx(js,{hideMobileMenu:e,name:a("settings.about"),url:"/settings/about"},"about")]})},Tde=({deviceID:t})=>{const{t:e}=A();return r.jsx(Ke,{onClick:()=>le(`/manage-backups/${t}`),settingName:e("backup.title"),secondaryText:e("deviceSettings.backups.manageBackups.description"),extraComponent:r.jsx(di,{})})},Ede=({deviceID:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(!1),s=async()=>{o(!1),a(!0),await dre(t),a(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(Ke,{settingName:e("backup.showMnemonic.title"),secondaryText:e("deviceSettings.backups.showRecoveryWords.description"),extraComponent:r.jsx(di,{}),onClick:()=>o(!0)}),r.jsx(Pde,{inProgress:n}),r.jsxs(qe,{title:e("backup.showMnemonic.title"),open:i,onClose:()=>o(!1),children:[r.jsx(nn,{type:"warning",children:r.jsx(Qe,{tagName:"span",markup:e("backup.showMnemonic.warning")})}),r.jsx("p",{children:r.jsx(ia,{markup:e("backup.showMnemonic.description"),tagName:"span",withBreaks:!0})}),r.jsxs(Yt,{children:[r.jsx(_,{primary:!0,onClick:s,children:e("dialog.confirm")}),r.jsx(_,{secondary:!0,onClick:()=>o(!1),children:e("dialog.cancel")})]})]})]})},Pde=({inProgress:t})=>{const{t:e}=A();return t?r.jsxs(xn,{title:e("backup.showMnemonic.title"),children:[r.jsx(nn,{type:"warning",children:r.jsx(Qe,{tagName:"span",markup:e("backup.showMnemonic.warning")})}),r.jsx("p",{children:r.jsx(ia,{markup:e("backup.showMnemonic.description"),tagName:"span",withBreaks:!0})}),r.jsx("p",{children:e("bitbox02Interact.followInstructions")})]}):null},Nde=({show:t})=>{const{t:e}=A();return t?r.jsx(xn,{title:e("bitbox02Settings.gotoStartupSettings.title"),children:e("bitbox02Settings.gotoStartupSettings.description")}):null},Lde=({deviceID:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),i=async()=>{a(!0),await H(`devices/bitbox02/${t}/goto-startup-settings`).catch(console.error),a(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(Ke,{settingName:e("bitbox02Settings.gotoStartupSettings.title"),secondaryText:e("deviceSettings.expert.goToStartupSettings.description"),extraComponent:r.jsx(di,{}),onClick:i}),r.jsx(Nde,{show:n})]})},Ide=({deviceID:t,passphraseEnabled:e})=>{const{t:n}=A();return r.jsx(Ke,{onClick:()=>le(`/settings/device-settings/passphrase/${t}`),settingName:n("deviceSettings.expert.passphrase.title"),secondaryText:n("deviceSettings.expert.passphrase.description"),displayedValue:n(e?"generic.enabled_true":"generic.enabled_false"),extraComponent:r.jsx(di,{})})},$de=({deviceID:t})=>{const[e,n]=x.useState(null),{t:a}=A();x.useEffect(()=>{v1(t).then(n)},[t]);const i=e?r.jsx(Bd,{}):r.jsx(Sj,{width:20,height:20});return e===null?r.jsx(yo,{}):r.jsx(Ke,{settingName:a("deviceSettings.hardware.attestation.label"),secondaryText:a("deviceSettings.deviceInformation.attestation.description"),extraComponent:i,displayedValue:a(`deviceSettings.hardware.attestation.${e}`),hideDisplayedValueOnSmall:!0})},nS=({deviceID:t,versionInfo:e,asButton:n=!1})=>{const{t:a}=A(),[i,o]=x.useState(!1),[s,l]=x.useState(!1),c=e.canUpgrade,u=a(c?"deviceSettings.firmware.upgradeAvailable":"deviceSettings.firmware.upToDate"),d=c?r.jsx(wj,{width:8,height:8}):r.jsx(Bd,{}),p=c?()=>o(!0):void 0,h=async()=>{l(!0),await ure(t),l(!1),o(!1)};return r.jsxs(r.Fragment,{children:[n?r.jsx(_,{onClick:p,primary:!0,children:a("button.upgrade")}):r.jsx(Ke,{settingName:a("deviceSettings.firmware.title"),secondaryText:u,onClick:p,displayedValue:e.currentVersion,extraComponent:d}),r.jsx(Mde,{open:i&&c,versionInfo:e,confirming:s,onUpgradeFirmware:h,onClose:()=>o(!1)})]})},Mde=({open:t,versionInfo:e,confirming:n,onUpgradeFirmware:a,onClose:i})=>{const{t:o}=A();return r.jsxs(qe,{onClose:i,open:t,title:o("upgradeFirmware.title"),children:[n?o("confirmOnDevice"):r.jsx("p",{children:o("upgradeFirmware.description",{currentVersion:e.currentVersion,newVersion:e.newVersion})}),!n&&r.jsxs(Yt,{children:[r.jsx(_,{primary:!0,onClick:a,children:o("button.upgrade")}),r.jsx(_,{secondary:!0,onClick:i,children:o("button.back")})]})]})},Ode=({secureChipModel:t})=>{const{t:e}=A();return r.jsx(Ke,{settingName:e("deviceSettings.hardware.securechip"),secondaryText:e("deviceSettings.deviceInformation.securechip.description"),displayedValue:t})},Rde=({deviceName:t,deviceID:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(t),[l,c]=x.useState(""),[u,d]=x.useState(!1),p=async()=>{d(!0);try{const m=await f1(e,l);if(!m.success)throw new Error(m.message);const g=await Yu(e);if(!g.success)throw new Error(g.message);s(g.deviceInfo.name)}catch(m){J(n("bitbox02Settings.deviceName.error")),console.error(m)}finally{i(!1),d(!1)}},h=()=>{i(!1),c("")};return r.jsxs(r.Fragment,{children:[r.jsx(Ke,{settingName:n("bitbox02Settings.deviceName.input"),secondaryText:n("deviceSettings.deviceInformation.deviceName.description"),displayedValue:o,extraComponent:r.jsx(di,{}),onClick:()=>i(!0)}),r.jsx(Fde,{open:a,onClose:h,currentName:o,onInputChange:m=>c(m.target.value),name:l,handleUpdateName:p}),r.jsx(Vde,{inProgress:u})]})},Fde=({open:t,onClose:e,currentName:n,onInputChange:a,name:i,handleUpdateName:o})=>{var c;const{t:s}=A(),l=x.useRef(null);return r.jsxs(qe,{open:t,onClose:e,title:s("bitbox02Settings.deviceName.title"),small:!0,children:[r.jsx("div",{className:"columnsContainer half",children:r.jsxs("div",{className:"columns half",children:[r.jsxs("div",{className:"column",children:[r.jsx("label",{children:s("bitbox02Settings.deviceName.current")}),r.jsx("p",{className:"m-bottom-half",children:n})]}),r.jsx("div",{className:"column",children:r.jsx(Ye,{pattern:"^.{0,63}$",label:s("bitbox02Settings.deviceName.input"),onInput:a,ref:l,placeholder:s("bitbox02Settings.deviceName.placeholder"),value:i,id:"deviceName"})})]})}),r.jsx(Yt,{children:r.jsx(_,{primary:!0,disabled:!(i&&((c=l==null?void 0:l.current)!=null&&c.validity.valid)),onClick:o,children:s("button.ok")})})]})},Vde=({inProgress:t})=>{const{t:e}=A();return t?r.jsx(xn,{children:e("bitbox02Interact.followInstructions")}):null},Wde="_settingNameContainer_usdew_1",Ude="_settingName_usdew_1",Rx={settingNameContainer:Wde,settingName:Ude},qde=({deviceID:t})=>{const[e,n]=x.useState(!1),[a,i]=x.useState(!1),[o,s]=x.useState(!1),{t:l}=A(),c=()=>{n(!1),i(!1),s(!1)},u=h=>{n(h.target.checked)},d=async()=>{s(!1),i(!0);const h=await rre(t);c(),h.success||J(l("reset.notReset"))},p=r.jsxs("div",{className:Rx.settingNameContainer,children:[r.jsx(lK,{width:16,height:16}),r.jsx("p",{className:Rx.settingName,children:l("deviceSettings.expert.factoryReset.title")})]});return r.jsxs(r.Fragment,{children:[r.jsx(Ke,{settingName:p,secondaryText:l("deviceSettings.expert.factoryReset.description"),extraComponent:r.jsx(di,{}),onClick:()=>s(!0)}),r.jsx(Hde,{open:o,handleCloseDialog:c,isConfirming:a,understand:e,handleUnderstandChange:u,handleReset:d}),r.jsx(Kde,{isConfirming:a})]})},Hde=({open:t,handleCloseDialog:e,isConfirming:n,understand:a,handleUnderstandChange:i,handleReset:o})=>{const{t:s}=A();return r.jsxs(qe,{open:t,title:s("reset.title"),onClose:e,disabledClose:n,small:!0,children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsxs("div",{className:"column",children:[r.jsx("p",{children:s("reset.description")}),r.jsx("div",{children:r.jsx(Ve,{id:"reset_understand",label:s("reset.understandBB02"),checked:a,onChange:i})})]})})}),r.jsx(Yt,{children:r.jsx(_,{danger:!0,disabled:!a,onClick:o,children:s("reset.title")})})]})},Kde=({isConfirming:t})=>{const{t:e}=A();return t?r.jsx(xn,{title:e("reset.title"),children:e("bitbox02Interact.followInstructions")}):null},Gde=({rootFingerprint:t})=>{const{t:e}=A();return r.jsx(Ke,{settingName:"Root fingerprint",secondaryText:e("deviceSettings.deviceInformation.rootFingerprint.description"),displayedValue:t})},Qde="_section_18i3w_1",Yde="_skeletonWrapper_18i3w_9",uu={section:Qde,skeletonWrapper:Yde},Zde=()=>{switch(se.resolvedLanguage){case"de":return"https://bitbox.swiss/de/bitbox02/sicherheit/#device-authenticity-check";case"es":return"https://bitbox.swiss/es/bitbox02/seguridad/#device-authenticity-check";default:return"https://bitbox.swiss/bitbox02/security-features/#device-authenticity-check"}},Jde=()=>{const{t}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.device.name")},"whatAreAccounts"),r.jsx(W,{entry:{link:{text:t("guide.device.secure-chip.link.text"),url:"https://bitbox.swiss/blog/bitbox-05-2021-masnee-update/#check-your-secure-chip-variant"},text:t("guide.device.secure-chip.text"),title:t("guide.device.secure-chip.title")}},"guide.device.secure-chip"),r.jsx(W,{entry:{link:{text:t("guide.device.attestation.link.text"),url:Zde()},text:t("guide.device.attestation.text"),title:t("guide.device.attestation.title")}},"guide.device.attestation")]})},Xde="_container_flzib_1",epe="_backButton_flzib_7",tpe="_headerText_flzib_31",npe="_withGuide_flzib_40",Ic={container:Xde,backButton:epe,headerText:tpe,withGuide:npe},Rl=({title:t,withGuide:e=!1})=>{const{t:n}=A(),a=()=>{le("/settings")};return r.jsxs("div",{className:`${Ic.container} ${e?`${Ic.withGuide}`:""}`,children:[r.jsxs("button",{onClick:a,className:Ic.backButton,children:[r.jsx(U7,{})," ",n("button.back")]}),r.jsx("h1",{className:Ic.headerText,children:t})]})},yo=()=>r.jsx("div",{className:uu.skeletonWrapper,children:r.jsx(ed,{fontSize:"var(--item-height-xlarge)"})}),ape=({deviceID:t,deviceIDs:e,hasAccounts:n})=>{const{t:a}=A();return r.jsx(ln,{children:r.jsxs(Ma,{children:[r.jsxs(Oa,{children:[r.jsx(xe,{hideSidebarToggler:!0,title:r.jsxs(r.Fragment,{children:[r.jsx("h2",{className:"hide-on-small",children:a("sidebar.settings")}),r.jsx(Rl,{withGuide:!0,title:a("sidebar.device")})]})}),r.jsx(re,{fullscreen:!1,children:r.jsx(ue,{children:r.jsx(Ol,{deviceIDs:e,hideMobileMenu:!0,hasAccounts:n,children:r.jsx(ipe,{deviceID:t})})})})]}),r.jsx(Jde,{})]})})},ipe=({deviceID:t})=>{const{t:e}=A(),[n,a]=x.useState(),i=me(()=>g1(t),[t]),o=me(()=>gre(t),[t]);return x.useEffect(()=>{Yu(t).then(s=>{if(!s.success){J(e("genericError"));return}a(s.deviceInfo)}).catch(console.error)},[t,e]),r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:uu.section,children:[r.jsx("h3",{className:"subTitle",children:e("deviceSettings.backups.title")}),r.jsx(Tde,{deviceID:t}),r.jsx(Ede,{deviceID:t})]}),r.jsxs("div",{className:uu.section,children:[r.jsx("h3",{className:"subTitle",children:e("deviceSettings.deviceInformation.title")}),n?r.jsx(Rde,{deviceName:n.name,deviceID:t}):r.jsx(yo,{}),r.jsx($de,{deviceID:t}),i?r.jsx(nS,{deviceID:t,versionInfo:i}):r.jsx(yo,{}),n&&n.securechipModel!==""?r.jsx(Ode,{secureChipModel:n.securechipModel}):r.jsx(yo,{}),o&&o.success?r.jsx(Gde,{rootFingerprint:o.rootFingerprint}):r.jsx(yo,{})]}),r.jsxs("div",{className:uu.section,children:[r.jsx("h3",{className:"subTitle",children:e("settings.expert.title")}),n?r.jsx(Ide,{passphraseEnabled:n.mnemonicPassphraseEnabled,deviceID:t}):r.jsx(yo,{}),r.jsx(Lde,{deviceID:t}),r.jsx(qde,{deviceID:t})]})]})},ope=({deviceID:t,deviceIDs:e,hasAccounts:n})=>zd(()=>Km(t),i=>X1(t,()=>{Km(t).then(i)}))!=="initialized"?null:r.jsx(ape,{deviceID:t,deviceIDs:e,hasAccounts:n}),rpe=t=>Z(`devices/bitbox02-bootloader/${t}/status`),spe=t=>e=>Gn(`devices/bitbox02-bootloader/${t}/status`,e),lpe=t=>Z(`devices/bitbox02-bootloader/${t}/version-info`),cpe=t=>H(`devices/bitbox02-bootloader/${t}/upgrade-firmware`),upe=t=>H(`devices/bitbox02-bootloader/${t}/reboot`),dpe=t=>H(`devices/bitbox02-bootloader/${t}/screen-rotate`),ppe=t=>()=>Z(`devices/bitbox02-bootloader/${t}/show-firmware-hash-enabled`),hpe=(t,e)=>H(`devices/bitbox02-bootloader/${t}/set-firmware-hash-enabled`,e),mpe="_container_18axn_1",fpe={container:mpe},gpe=({children:t})=>r.jsx("div",{className:"contentWithGuide",children:r.jsx("div",{className:fpe.container,children:t})}),vpe="_container_14uup_1",bpe="_slider_14uup_16",Fx={container:vpe,slider:bpe},Dn=({className:t="",...e})=>r.jsxs("label",{className:`${Fx.container} ${t}`,children:[r.jsx("input",{type:"checkbox",...e}),r.jsx("span",{className:Fx.slider})]}),kpe=({deviceID:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),i=me(ppe(t));x.useEffect(()=>{i!==void 0&&a(i)},[i]);const o=s=>{const l=s.target.checked;hpe(t,l),a(l)};return r.jsxs("div",{className:"flex flex-row flex-between flex-items-center",children:[r.jsx("p",{className:"m-none",children:e("bb02Bootloader.advanced.toggleShowFirmwareHash")}),r.jsx(Dn,{checked:n,id:"togggle-show-firmware-hash",onChange:o})]})},xpe=({deviceID:t})=>{const{t:e}=A(),{isDarkMode:n}=Kn(),a=zd(()=>rpe(t),spe(t)),i=me(()=>lpe(t));if(i===void 0)return null;let o;if(a&&a.upgrading)if(a.upgradeSuccessful)o=r.jsx("div",{className:"box large",children:r.jsx("p",{style:{marginBottom:0},children:e("bb02Bootloader.success",{rebootSeconds:a.rebootSeconds.toString(),context:i.erased?"install":""})})});else{const s=Math.round(a.progress*100);o=r.jsxs("div",{className:"box large",children:[r.jsxs("progress",{value:s,max:"100",children:[s,"%"]}),r.jsx("p",{style:{marginBottom:0},children:e("bootloader.progress",{progress:s.toString(),context:i.erased?"install":""})})]})}else o=r.jsxs("div",{className:"box large",style:{minHeight:390},children:[i.erased&&r.jsxs("div",{children:[r.jsx("h2",{children:e("welcome.title")}),r.jsx("h3",{className:"subTitle",children:e("welcome.getStarted")})]}),r.jsxs("div",{className:"buttons",children:[i.canUpgrade?r.jsx(_,{primary:!0,onClick:()=>cpe(t),children:e("bootloader.button",{context:i.erased?"install":""})}):null,!i.erased&&r.jsx(_,{secondary:!0,onClick:()=>upe(t),children:e("bb02Bootloader.abort",{context:i.canUpgrade?"":"noUpgrade"})})]}),r.jsxs("div",{className:"flex flex-center",style:{marginTop:32},children:[e("bb02Bootloader.orientation")," ",r.jsx("a",{onClick:()=>dpe(t),style:{textDecoration:"underline",cursor:"pointer"},children:e("bb02Bootloader.flipscreen")})]}),r.jsx("hr",{}),r.jsxs("details",{children:[r.jsx("summary",{children:e("bb02Bootloader.advanced.label")}),r.jsxs("div",{children:[r.jsx("br",{}),r.jsx(kpe,{deviceID:t})]})]})]});return r.jsxs(gpe,{children:[n?r.jsx(WK,{}):r.jsx(VK,{}),a&&a.errMsg&&r.jsx(an,{type:"warning",children:a.errMsg}),o]})},Vx=()=>{const{t}=A(),{isDarkMode:e}=Kn();return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:t("welcome.title")})}),r.jsx("div",{className:"content padded narrow isVerticallyCentered",children:r.jsxs("div",{children:[e?r.jsx(Sd,{}):r.jsx(xg,{}),r.jsxs("div",{className:"box large",children:[r.jsx("h3",{className:ht.waitingText,children:t("welcome.insertDevice")}),r.jsx("p",{className:ht.waitingDescription,children:t("welcome.insertBitBox02")})]})]})}),r.jsx(oB,{children:e?r.jsx(hi,{}):r.jsx(pi,{})})]}),r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.waiting.welcome"),shown:!0}),r.jsx(W,{entry:{link:{text:t("guide.waiting.getDevice.link.text"),url:"https://bitbox.shop/"},text:t("guide.waiting.getDevice.text"),title:t("guide.waiting.getDevice.title")}}),r.jsx(W,{entry:{link:{text:t("guide.waiting.lostDevice.link.text"),url:se.resolvedLanguage==="de"?"https://shiftcrypto.support/help/de-de/5-backup/8-wie-kann-ich-ein-bitbox02-wallet-in-ein-drittanbieter-wallet-importieren":"https://shiftcrypto.support/help/en-us/5-backup/8-how-do-i-restore-my-wallet-if-my-bitbox02-is-lost"},text:t("guide.waiting.lostDevice.text"),title:t("guide.waiting.lostDevice.title")}}),r.jsx(W,{entry:t("guide.waiting.internet")}),r.jsx(W,{entry:t("guide.waiting.deviceNotRecognized")}),r.jsx(W,{entry:t("guide.waiting.useWithoutDevice")})]})]})},Wx=({deviceID:t,devices:e,hasAccounts:n})=>{const a=Object.keys(e);if(t===null||!a.includes(t))return r.jsx(Vx,{});switch(e[t]){case"bitbox":return r.jsx(gde,{deviceID:t});case"bitbox02":return r.jsx(ope,{deviceID:t,deviceIDs:a,hasAccounts:n});case"bitbox02-bootloader":return r.jsx(xpe,{deviceID:t});default:return r.jsx(Vx,{})}},ype=t=>Z(`devices/bitbox02/${t}/backups/list`),wpe=t=>e=>Gn(`devices/bitbox02/${t}/backups/list`,e),jpe="_toast_4ztjp_1",Bpe="_active_4ztjp_17",Spe="_shifted_4ztjp_21",zpe="_info_4ztjp_25",Cpe="_success_4ztjp_29",Dpe="_warning_4ztjp_33",$c={toast:jpe,active:Bpe,shifted:Spe,info:zpe,success:Cpe,warning:Dpe};class Ape extends x.Component{constructor(){super(...arguments);M(this,"state",{active:!1});M(this,"show",()=>{this.setState({active:!0})});M(this,"hide",()=>{this.setState({active:!1}),this.props.onHide&&this.props.onHide()})}componentDidMount(){setTimeout(this.show,5)}render(){const{theme:n,children:a,withGuide:i}=this.props,{active:o}=this.state;return r.jsx("div",{className:[$c.toast,$c[n],o?$c.active:"",i?$c.shifted:""].join(" "),children:r.jsx("p",{children:a})})}}const _pe=({deviceID:t,backups:e,disabled:n})=>{const[a,i]=x.useState(!1),[o,s]=x.useState(""),[l,c]=x.useState(),[u,d]=x.useState(!1),{t:p}=A(),h=async()=>{s(p("backup.check.confirmTitle"));try{const m=await Hm(t,!0);if(m.success){const{backupID:v}=m,y=e.find(b=>b.id===v);if(!y){J(p("unknownError",{errorMessage:"Not found"}));return}i(!0),c(y)}if(!(await Hm(t,!1)).success){i(!0),s(p("backup.check.notOK")),d(!0);return}s(p("backup.check.success")),d(!0)}catch(m){console.error(m)}};return r.jsxs("div",{children:[r.jsx(_,{primary:!0,disabled:n,onClick:h,children:p("button.check")}),r.jsx(qe,{open:a,title:o,children:r.jsxs("form",{onSubmit:m=>{m.preventDefault(),i(!1),d(!1)},children:[l!==void 0&&r.jsx(nv,{backup:l,radio:!1}),r.jsx(Yt,{children:u&&r.jsx(_,{autoFocus:!0,disabled:!u,primary:!0,type:"submit",children:p(u?"button.ok":"accountInfo.verify")})})]})})]})},Tpe=({deviceID:t})=>{const[e,n]=x.useState(!1),[a,i]=x.useState(!1),{t:o}=A(),s=()=>{n(!0),b1(t,"sdcard").then(c=>{n(!1),i(!1),c.success||J(o("backup.create.fail"))}).catch(console.error)},l=async()=>{i(!0);try{if((await Hm(t,!0)).success){Vo(o("backup.create.alreadyExists"),u=>{u?s():i(!1)});return}s()}catch(c){console.error(c)}};return r.jsxs("span",{children:[r.jsx(_,{primary:!0,disabled:a,onClick:l,children:o("backup.create.title")}),e&&r.jsx(xn,{title:o("backup.create.title"),children:o("bitbox02Interact.followInstructions")})]})},aS=({deviceID:t,showRestore:e,showCreate:n,showRadio:a,onSelectBackup:i,onRestoreBackup:o,children:s})=>{const{t:l}=A(),[c,u]=x.useState(),[d,p]=x.useState(!1),[h,m]=x.useState(""),g=zd(()=>ype(t),wpe(t)),v=g&&g.success&&g!==void 0,y=()=>{if(!v||!c)return;const b=g.backups.find(k=>k.id===c);b&&(p(!0),i&&i(b),cre(t,c).then(({success:k})=>{p(!1),m(k?"":l("backup.restore.error.general")),o&&o(k)}))};return v?r.jsx("div",{children:r.jsxs("div",{className:In.stepContext,children:[h&&r.jsx(Ape,{theme:"warning",children:h}),r.jsx("div",{className:In.backupsList,children:g.backups.length?r.jsx("div",{className:In.listContainer,children:g.backups.map(b=>r.jsx("div",{className:In.item,children:r.jsx(nv,{disabled:d,backup:b,selectedBackup:c,handleChange:k=>u(k),onFocus:()=>{},radio:a})},b.id))}):r.jsx("p",{children:l("backup.noBackups")})}),r.jsxs("div",{className:In.backupButtons,children:[e&&r.jsx(_,{primary:!0,disabled:!c||d,onClick:y,children:l("button.restore")}),n&&r.jsx(Tpe,{deviceID:t}),n&&r.jsx(_pe,{deviceID:t,backups:g.backups?g.backups:[],disabled:g.backups.length===0}),s]})]})}):v===void 0?r.jsx(lB,{}):r.jsx("div",{children:"Error fetching backups"})},Epe=({deviceID:t,children:e})=>{const{t:n}=A(),[a,i]=x.useState(),o=x.useCallback(()=>Zd(t).then(i),[t]);return x.useEffect(()=>{o()},[o]),a===void 0?r.jsx(lB,{}):r.jsx("div",{children:a?e:r.jsxs(qe,{open:!a,title:"Check your device",small:!0,children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsx("div",{className:"column",children:r.jsx("p",{children:n("backup.insert")})})})}),r.jsxs(Yt,{children:[r.jsx(_,{primary:!0,onClick:o,children:n("button.ok")}),r.jsx(Qo,{secondary:!0,to:`/settings/device-settings/${t}`,children:n("button.back")})]})]})})};class Ppe extends x.Component{constructor(){super(...arguments);M(this,"hasDevice",()=>!!this.props.devices[this.props.deviceID]);M(this,"backButton",()=>r.jsx(Qo,{secondary:!0,to:`/settings/device-settings/${this.props.deviceID}`,children:this.props.t("button.back")}));M(this,"listBackups",()=>{switch(this.props.devices[this.props.deviceID]){case"bitbox":return r.jsx(J1,{deviceID:this.props.deviceID,showCreate:!0,showRestore:!1,children:this.backButton()});case"bitbox02":return r.jsx(Epe,{deviceID:this.props.deviceID,children:r.jsx(aS,{deviceID:this.props.deviceID,showCreate:!0,showRestore:!1,showRadio:!1,children:this.backButton()})});default:return}});M(this,"renderGuide",n=>{switch(this.props.devices[this.props.deviceID]){case"bitbox":return r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.backups.whatIsABackup")},"guide.backups.whatIsABackup"),r.jsx(W,{entry:n("guide.backups.encrypt")},"guide.backups.encrypt"),r.jsx(W,{entry:n("guide.backups.check")},"guide.backups.check"),r.jsx(W,{entry:n("guide.backups.howOften")},"guide.backups.howOften")]});case"bitbox02":return r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.backupsBB02.whatIsABackup")},"guide.backupsBB02.whatIsABackup"),r.jsx(W,{entry:n("guide.backupsBB02.encrypt"),shown:!0},"guide.backupsBB02.encrypt"),r.jsx(W,{entry:n("guide.backupsBB02.check")},"guide.backupsBB02.check"),r.jsx(W,{entry:n("guide.backups.howOften")},"guide.backups.howOften")]});default:return null}})}UNSAFE_componentWillMount(){this.hasDevice()||le("/",!0)}render(){const{t:n}=this.props;return this.hasDevice()?r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("backup.title")})}),r.jsxs("div",{className:"content padded",children:[r.jsx("h3",{className:"subTitle",children:n("backup.list")}),this.listBackups()]})]})}),this.renderGuide(n)]}):null}}const Npe=He()(Ppe),Lpe=()=>{const{t}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.accounts.whatAreAccounts")},"whatAreAccounts"),r.jsx(W,{entry:t("guide.accounts.whyIsThisUseful")},"whyIsThisUseful"),r.jsx(W,{entry:t("guide.accounts.whatIsRememberWallet")},"whatIsRememberWallet"),r.jsx(W,{entry:t("guide.accounts.recoverAccounts")},"recoverAccounts"),r.jsx(W,{entry:t("guide.accounts.moveFunds")},"moveFunds"),r.jsx(W,{entry:t("guide.accounts.howtoAddTokens")},"howtoAddTokens"),r.jsx(W,{entry:t("guide.accounts.howManyAccounts")},"howManyAccounts")]})},Ipe="_label_g3ts4_1",$pe="_labelText_g3ts4_5",Ux={label:Ipe,labelText:$pe},Mpe=({keystore:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(),[s,l]=x.useState(!1),c=me(Bt);x.useEffect(()=>{c&&o(t.watchonly)},[c,t]);const u=async()=>{if(!i){a(!0);const{success:h}=await ck(t.rootFingerprint,!i);h&&o(!i),a(!1);return}l(!0),a(!1)},d=()=>{l(!1),a(!1)},p=async()=>{a(!0),await ck(t.rootFingerprint,!1),o(!1),a(!1),l(!1)};return r.jsxs(r.Fragment,{children:[r.jsxs(qe,{title:e("newSettings.appearance.remebmerWallet.warningTitle"),medium:!0,onClose:d,open:s,children:[r.jsx("p",{children:e("newSettings.appearance.remebmerWallet.warning")}),r.jsxs(Yt,{children:[r.jsx(_,{primary:!0,onClick:p,children:e("dialog.confirm")}),r.jsx(_,{secondary:!0,onClick:d,children:e("dialog.cancel")})]})]}),i!==void 0?r.jsxs(Mi,{className:Ux.label,children:[r.jsx("span",{className:Ux.labelText,children:e("newSettings.appearance.remebmerWallet.name")}),r.jsx(Dn,{checked:i,disabled:n,onChange:u})]}):null]})},Ope="_addAccountBtn_17bcq_2",Rpe="_walletHeader_17bcq_6",Fpe="_walletTitle_17bcq_14",Vpe="_setting_17bcq_25",Wpe="_coinLogo_17bcq_39",Upe="_acccountLink_17bcq_44",qpe="_editBtn_17bcq_52",Hpe="_toggleLabel_17bcq_64",Kpe="_toggleLabelText_17bcq_70",Gpe="_toggle_17bcq_64",Qpe="_accountActive_17bcq_87",Ype="_tokenSection_17bcq_91",Zpe="_tokenContainer_17bcq_100",Jpe="_tokenContainerOpen_17bcq_107",Xpe="_token_17bcq_91",ehe="_tokenIcon_17bcq_149",the="_tokenName_17bcq_154",nhe="_tokenInactive_17bcq_160",ahe="_expandBtn_17bcq_165",ihe="_expandBtnOpen_17bcq_173",ohe="_watchOnlyContainer_17bcq_186",rhe="_watchOnlyNote_17bcq_193",she="_watchOnlyAccountHidden_17bcq_198",Me={addAccountBtn:Ope,walletHeader:Rpe,walletTitle:Fpe,setting:Vpe,coinLogo:Wpe,acccountLink:Upe,editBtn:qpe,toggleLabel:Hpe,toggleLabelText:Kpe,toggle:Gpe,accountActive:Qpe,tokenSection:Ype,tokenContainer:Zpe,tokenContainerOpen:Jpe,token:Xpe,tokenIcon:ehe,tokenName:the,tokenInactive:nhe,expandBtn:ahe,expandBtnOpen:ihe,watchOnlyContainer:ohe,watchOnlyNote:rhe,watchOnlyAccountHidden:she};class lhe extends x.Component{constructor(){super(...arguments),this.state={editErrorMessage:void 0,showTokens:{},currentlyEditedAccount:void 0},this.renderAccounts=e=>{const{showTokens:n}=this.state,{t:a}=this.props;return e.filter(i=>!i.isToken).map(i=>{var l;const o=i.active,s=n[i.code];return r.jsxs("div",{className:Me.setting,children:[r.jsxs("div",{className:`${Me.acccountLink} ${o?Me.accountActive:""}`,onClick:()=>o&&le(`/account/${i.code}`),children:[r.jsx(Ro,{className:`${Me.coinLogo} m-right-half`,coinCode:i.coinCode,alt:i.coinUnit}),r.jsxs("span",{children:[i.name," ",r.jsxs("span",{className:"unit",children:["(",i.coinUnit,")"]})]})]}),r.jsxs(_,{className:Me.editBtn,onClick:()=>this.setState({currentlyEditedAccount:i}),transparent:!0,children:[r.jsx(Z7,{}),r.jsx("span",{className:"hide-on-small",children:a("manageAccounts.editAccount")})]}),o&&i.coinCode==="eth"?r.jsxs("div",{className:Me.tokenSection,children:[r.jsx("div",{className:`${Me.tokenContainer} ${s?Me.tokenContainerOpen:""}`,children:this.renderTokens(i.code,i.activeTokens)}),r.jsx(_,{className:`${Me.expandBtn} ${s?Me.expandBtnOpen:""}`,onClick:()=>this.toggleShowTokens(i.code),transparent:!0,children:a(s?"manageAccounts.settings.hideTokens":"manageAccounts.settings.showTokens",{activeTokenCount:`${((l=i.activeTokens)==null?void 0:l.length)||0}`})})]}):null]},i.code)})},this.renderWatchOnlyToggle=()=>{const{currentlyEditedAccount:e}=this.state;if(e&&e.keystore.watchonly)return null},this.toggleAccount=(e,n)=>kQ(e,n).then(({success:a,errorMessage:i})=>{!a&&i&&J(i)}),this.toggleShowTokens=e=>{this.setState(({showTokens:n})=>({showTokens:{...n,[e]:e in n?!n[e]:!0}}))},this.erc20Tokens=[{code:"eth-erc20-usdt",name:"Tether USD",unit:"USDT"},{code:"eth-erc20-usdc",name:"USD Coin",unit:"USDC"},{code:"eth-erc20-link",name:"Chainlink",unit:"LINK"},{code:"eth-erc20-bat",name:"Basic Attention Token",unit:"BAT"},{code:"eth-erc20-mkr",name:"Maker",unit:"MKR"},{code:"eth-erc20-zrx",name:"0x",unit:"ZRX"},{code:"eth-erc20-wbtc",name:"Wrapped Bitcoin",unit:"WBTC"},{code:"eth-erc20-paxg",name:"Pax Gold",unit:"PAXG"},{code:"eth-erc20-dai0x6b17",name:"Dai",unit:"DAI"}],this.renderTokens=(e,n)=>this.erc20Tokens.map(a=>{const i=(n||[]).find(s=>s.tokenCode===a.code),o=i!==void 0;return r.jsxs("div",{className:`${Me.token} ${o?"":Me.tokenInactive}`,children:[r.jsxs("div",{className:`${Me.acccountLink} ${o?Me.accountActive:""}`,onClick:()=>i!==void 0&&le(`/account/${i.accountCode}`),children:[r.jsx(Ro,{active:o,alt:a.name,className:Me.tokenIcon,coinCode:a.code,stacked:!0}),r.jsxs("span",{className:Me.tokenName,children:[a.name," (",a.unit,")"]})]}),r.jsx(Dn,{checked:o,className:Me.toggle,id:a.code,onChange:()=>this.toggleToken(e,a.code,!o)})]},a.code)}),this.toggleToken=(e,n,a)=>{xQ(e,n,a).then(({success:i,errorMessage:o})=>{!i&&o&&J(o)})},this.updateAccount=e=>{e.preventDefault();const{accounts:n}=this.props,{currentlyEditedAccount:a}=this.state;a&&yQ(a.code,a.name).then(i=>{if(!i.success){i.errorCode?this.setState({editErrorMessage:this.props.t(`error.${i.errorCode}`)}):i.errorMessage&&this.setState({editErrorMessage:i.errorMessage});return}const o=n.find(({code:s})=>a.code===s);a.active!==(o==null?void 0:o.active)&&this.toggleAccount(a.code,a.active),this.setState({editErrorMessage:void 0,currentlyEditedAccount:void 0})})}}render(){const{t:e,accounts:n,deviceIDs:a,hasAccounts:i}=this.props,{editErrorMessage:o,currentlyEditedAccount:s}=this.state,l=Gj(n);return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(xe,{hideSidebarToggler:!0,title:r.jsxs(r.Fragment,{children:[r.jsx("h2",{className:"hide-on-small",children:e("settings.title")}),r.jsx(Rl,{withGuide:!0,title:e("manageAccounts.title")})]})}),r.jsx(re,{fullscreen:!1,children:r.jsx(ue,{children:r.jsxs(Ol,{deviceIDs:a,hideMobileMenu:!0,hasAccounts:i,children:[r.jsx(_,{className:Me.addAccountBtn,primary:!0,onClick:()=>le("/add-account",!0),children:e("addAccount.title")}),r.jsx(Er,{col:"1",children:l.map(c=>r.jsxs(Ka,{asCard:!0,children:[r.jsxs("div",{className:Me.walletHeader,children:[r.jsxs("h2",{className:Me.walletTitle,children:[r.jsxs("span",{className:"p-right-quarter",children:[c.keystore.name,Qj(c.keystore.name,l)?r.jsxs("small",{children:[" ",c.keystore.rootFingerprint]}):null]}),c.keystore.connected?r.jsx(Vu,{className:"m-right-quarter",icon:u=>r.jsx(zj,{...u}),type:"success",children:e("device.keystoreConnected")}):null]}),r.jsx(Mpe,{keystore:c.keystore})]}),this.renderAccounts(c.accounts)]},c.keystore.rootFingerprint))}),s&&r.jsx(qe,{open:!!s,onClose:()=>this.setState({currentlyEditedAccount:void 0}),title:e("manageAccounts.editAccountNameTitle"),children:r.jsxs("form",{onSubmit:this.updateAccount,children:[r.jsx(nn,{type:"error",hidden:!o,children:o}),r.jsx(Ye,{onInput:c=>this.setState({currentlyEditedAccount:{...s,name:c.target.value}}),value:s.name}),r.jsxs(Mi,{className:Me.toggleLabel,htmlFor:s.code,children:[r.jsxs("span",{className:Me.toggleLabelText,children:[r.jsx(tK,{}),e("newSettings.appearance.enableAccount.title")]}),r.jsx(Dn,{checked:s.active,className:Me.toggle,id:s.code,onChange:c=>{c.target.disabled=!0,this.setState({currentlyEditedAccount:{...s,active:c.target.checked}},()=>c.target.disabled=!1)}})]}),r.jsx("p",{children:e("newSettings.appearance.enableAccount.description")}),this.renderWatchOnlyToggle(),r.jsx(Yt,{children:r.jsx(_,{disabled:!s.name,primary:!0,type:"submit",children:e("button.update")})})]})})]})})})]})}),r.jsx(Lpe,{})]})}}const che=kn()(lhe),uhe="_title_ahh86_1",dhe="_resetLink_ahh86_7",phe="_serversContainer_ahh86_11",hhe="_servers_ahh86_11",mhe="_server_ahh86_11",fhe="_serverLabel_ahh86_32",ghe="_primary_ahh86_82",vhe="_warning_ahh86_93",bhe="_textarea_ahh86_104",khe="_block_ahh86_112",xhe="_addServer_ahh86_116",yhe="_badge_ahh86_140",whe="_miniSpinnerContainer_ahh86_152",jhe="_miniSpinner_ahh86_152",Bhe="_changeContent_ahh86_1",Je={title:uhe,resetLink:dhe,serversContainer:phe,servers:hhe,server:mhe,serverLabel:fhe,primary:ghe,warning:vhe,textarea:bhe,block:khe,addServer:xhe,badge:yhe,miniSpinnerContainer:whe,miniSpinner:jhe,changeContent:Bhe},She=({onAdd:t})=>{const{t:e}=A(),[n,a]=x.useState(),[i,o]=x.useState(""),[s,l]=x.useState(""),[c,u]=x.useState(!1),[d,p]=x.useState(!1),h=()=>({server:i.trim(),pemCert:s,tls:s!==""}),m=()=>{t(h()),o(""),l("")},g=async()=>{p(!0);const k=await H("certs/download",i.trim());k.success?l(k.pemCert):J(k.errorMessage),p(!1)},v=async()=>{u(!0);const{success:k,errorMessage:w}=await H("electrum/check",h());J(k?e("settings.electrum.checkSuccess",{host:i}):e("settings.electrum.checkFailed")+`: +`+w),a(k),u(!1)},y=i.trim().length===0||s.trim().length>0||d,b=i.trim().length===0||c;return r.jsxs("div",{className:Je.addServer,children:[r.jsxs("div",{className:"flex flex-row flex-start flex-wrap",children:[r.jsx("p",{className:Je.badge,children:e("settings.electrum.step1")}),r.jsx("div",{className:"flex-1",children:r.jsx("p",{children:e("settings.electrum.step1-text")})})]}),r.jsx(Ye,{name:"electrumServer",onInput:k=>o(k.target.value),value:i,placeholder:"host:port"}),r.jsxs("div",{className:"flex flex-row flex-start flex-wrap",children:[r.jsx("p",{className:Je.badge,children:e("settings.electrum.step2")}),r.jsxs("div",{className:"flex-1",children:[r.jsx("p",{children:e("settings.electrum.step2-text")}),r.jsx("p",{children:e("settings.electrum.step2-text-tcp")})]})]}),r.jsx("textarea",{className:Je.textarea,rows:10,cols:80,name:"electrumCert",onInput:k=>l(k.target.value),value:s,placeholder:`-----BEGIN CERTIFICATE----- +... +-----END CERTIFICATE-----`}),r.jsx("div",{className:[Je.block,"flex flex-row flex-end"].join(" "),children:r.jsxs(_,{primary:!0,disabled:y,onClick:g,children:[d&&r.jsx("div",{className:Je.miniSpinnerContainer,children:r.jsx("div",{className:Je.miniSpinner})}),e("settings.electrum.download-cert")]})}),r.jsxs("div",{className:"flex flex-row flex-start flex-wrap",children:[r.jsx("p",{className:Je.badge,children:e("settings.electrum.step3")}),r.jsx("div",{className:"flex-1",children:r.jsx("p",{children:e("settings.electrum.step3-text")})})]}),r.jsxs("div",{className:["flex flex-row flex-end spaced",Je.block].join(" "),children:[r.jsxs(_,{primary:!0,disabled:b,onClick:v,children:[c&&r.jsx("div",{className:Je.miniSpinnerContainer,children:r.jsx("div",{className:Je.miniSpinner})}),e(c?"settings.electrum.checking":"settings.electrum.check")]}),r.jsx(_,{primary:!0,disabled:!n,onClick:m,children:e("settings.electrum.add-server")})]}),r.jsxs("div",{className:"flex flex-row flex-start flex-wrap",children:[r.jsx("p",{className:Je.badge,children:e("settings.electrum.step4")}),r.jsx("div",{className:"flex-1",children:r.jsx("p",{children:e("settings.electrum.step4-text")})})]})]})},zhe=({onRemove:t,server:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),o=async()=>{i(!0);const{success:l,errorMessage:c}=await H("electrum/check",{server:e.server.trim(),pemCert:e.pemCert,tls:e.tls});J(l?n("settings.electrum.checkSuccess",{host:e.server}):n("settings.electrum.checkFailed")+`: +`+c),i(!1)},s=e.server===""||e.tls&&e.pemCert===""||a;return r.jsx("li",{children:r.jsxs("div",{className:Je.server,children:[r.jsxs("div",{className:Je.serverLabel,children:[e.server," ",r.jsx("strong",{children:e.tls?"TLS":"TCP"})]}),r.jsxs("div",{children:[r.jsxs("button",{className:Je.primary,disabled:s,onClick:o,children:[a&&r.jsx("div",{className:Je.miniSpinnerContainer,children:r.jsx("div",{className:Je.miniSpinner})}),n(a?"settings.electrum.checking":"settings.electrum.check")]}),r.jsx("button",{className:Je.warning,onClick:t,children:n("settings.electrum.remove-server")})]})]})})},qx=({coin:t})=>{const{t:e}=A(),[n,a]=x.useState(),i=()=>{Bt().then(a)};if(x.useEffect(i,[]),n===void 0)return null;const o=n.backend[t].electrumServers,s=async p=>{const h=await Bt();h.backend[t].electrumServers=p,await at(h),a(h)},l=p=>{let h=[...o,p];s(h)},c=p=>{let h=[...o];h.splice(p,1),s(h)},u=()=>{Vo(e("settings.electrum.resetConfirm"),p=>{p&&SQ().then(h=>{s(h.backend[t].electrumServers)})})},d=(p,h)=>()=>{Vo(e("settings.electrum.removeConfirm",{server:p.server}),m=>{m&&c(h)})};return r.jsxs("div",{className:Je.serversContainer,children:[r.jsxs("div",{className:"row",children:[r.jsxs("div",{className:"flex flex-row flex-between flex-items-center",children:[r.jsx("h4",{className:"subTitle",children:e("settings.electrum.servers")}),r.jsx(_,{transparent:!0,className:Je.resetLink,onClick:u,children:e("settings.electrum.reset")})]}),r.jsx("ul",{className:Je.servers,children:o.map((p,h)=>r.jsx(zhe,{server:p,onRemove:d(p,h)},p.server+p.tls.toString()+"-"+h.toString()))})]}),r.jsx("hr",{}),r.jsxs("div",{className:"row",children:[r.jsx("h4",{className:"subTitle",children:e("settings.electrum.add")}),r.jsx(She,{onAdd:l})]})]})},Che=()=>{const{t}=A(),[e,n]=x.useState("btc"),a=me(()=>jQ()),i=o=>{const s=o.currentTarget.getAttribute("data-tab");if(s!=="btc"&&s!=="ltc"){console.error("Unrecognized tab ID");return}n(s)};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:t("settings.expert.electrum.title")})}),r.jsxs("div",{className:"content padded",children:[r.jsxs("div",{className:"flex flex-row flex-between flex-items-center tabs",children:[r.jsx("div",{className:["tab",e==="btc"?"active":""].join(" "),children:r.jsx("a",{href:"#",onClick:i,"data-tab":"btc",children:t(`settings.electrum.title-${a?"tbtc":"btc"}`)})}),r.jsx("div",{className:["tab",e==="ltc"?"active":""].join(" "),children:r.jsx("a",{href:"#",onClick:i,"data-tab":"ltc",children:t(`settings.electrum.title-${a?"tltc":"ltc"}`)})})]}),e==="btc"&&r.jsx(qx,{coin:a?"tbtc":"btc"},a?"tbtc":"btc"),e==="ltc"&&r.jsx(qx,{coin:a?"tltc":"ltc"},a?"tltc":"ltc"),r.jsx("div",{style:{marginBottom:20},children:r.jsx(Qo,{secondary:!0,to:"/settings",children:t("button.back")})})]})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.settings-electrum.what")},"guide.settings-electrum.what"),r.jsx(W,{entry:t("guide.settings-electrum.why")},"guide.settings-electrum.why"),r.jsx(W,{entry:t("guide.settings-electrum.options")},"guide.settings-electrum.options"),r.jsx(W,{entry:t("guide.settings-electrum.connection")},"guide.settings-electrum.connection"),r.jsx(W,{entry:t("guide.settings-electrum.tor")},"guide.settings-electrum.tor"),r.jsx(W,{entry:{link:{text:t("guide.settings-electrum.instructions.link.text"),url:se.resolvedLanguage==="de"?"https://shiftcrypto.support/help/de-de/14-privatsphare/29-verbindung-der-bitboxapp-zu-meinem-bitcoin-full-node":"https://shiftcrypto.support/help/en-us/14-privacy/29-how-to-connect-the-bitboxapp-to-my-own-full-node"},text:t("guide.settings-electrum.instructions.text"),title:t("guide.settings-electrum.instructions.title")}},"guide.settings-electrum.instructions")]})]})},Hx=5,Kx=0,Ci="38em";class Dhe extends x.Component{constructor(){super(...arguments),this.state={infoStep:0,status:"info",understood:!1},this.togglePassphrase=async()=>{const{deviceID:e,t:n}=this.props,a=!this.state.passphraseEnabled;this.setState({status:"progress"});try{const i=await lre(e,a);if(!i.success){le(`/settings/device-settings/${e}`),J(n(`passphrase.error.e${i.code}`,{defaultValue:i.message||n("genericError")}));return}const o=await Yu(e);o.success&&this.setState({passphraseEnabled:o.deviceInfo.mnemonicPassphraseEnabled,status:"success"})}catch(i){console.error(i)}},this.stopInfo=()=>le(`/settings/device-settings/${this.props.deviceID}`),this.continueInfo=()=>{if(this.state.infoStep===0){this.togglePassphrase();return}this.setState(({infoStep:e})=>({infoStep:e-1}))},this.backInfo=()=>{if(this.state.infoStep===void 0)return;const e=this.state.passphraseEnabled;if(!e&&this.state.infoStep>=Hx||e&&this.state.infoStep>=Kx){this.stopInfo();return}this.setState(({infoStep:n})=>({infoStep:n+1}))},this.renderEnableInfo=()=>{const{infoStep:e,understood:n}=this.state,{t:a}=this.props;switch(e){case 5:return r.jsxs(re,{fullscreen:!0,minHeight:Ci,onClose:this.stopInfo,verticallyCentered:!0,children:[r.jsx(be,{title:a("passphrase.intro.title")}),r.jsx(ue,{children:r.jsx(ia,{tagName:"p",markup:a("passphrase.intro.message")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:this.continueInfo,children:a("passphrase.what.button")}),r.jsx(_,{secondary:!0,onClick:this.backInfo,children:a("button.back")})]})]},"step-intro");case 4:return r.jsxs(re,{fullscreen:!0,minHeight:Ci,onClose:this.stopInfo,verticallyCentered:!0,children:[r.jsx(be,{title:a("passphrase.what.title")}),r.jsx(ue,{children:r.jsx(ia,{tagName:"p",markup:a("passphrase.what.message")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:this.continueInfo,children:a("passphrase.why.button")}),r.jsx(_,{secondary:!0,onClick:this.backInfo,children:a("button.back")})]})]},"step-what");case 3:return r.jsxs(re,{fullscreen:!0,minHeight:Ci,onClose:this.stopInfo,verticallyCentered:!0,children:[r.jsx(be,{title:a("passphrase.why.title")}),r.jsx(ue,{children:r.jsx(ia,{tagName:"p",markup:a("passphrase.why.message")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:this.continueInfo,children:a("passphrase.considerations.button")}),r.jsx(_,{secondary:!0,onClick:this.backInfo,children:a("button.back")})]})]},"step-why");case 2:return r.jsxs(re,{fullscreen:!0,minHeight:Ci,onClose:this.stopInfo,verticallyCentered:!0,children:[r.jsx(be,{title:a("passphrase.considerations.title")}),r.jsx(ue,{children:r.jsx(ia,{tagName:"p",markup:a("passphrase.considerations.message")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:this.continueInfo,children:a("passphrase.how.button")}),r.jsx(_,{secondary:!0,onClick:this.backInfo,children:a("button.back")})]})]},"step-considerations");case 1:return r.jsxs(re,{fullscreen:!0,minHeight:Ci,onClose:this.stopInfo,verticallyCentered:!0,children:[r.jsx(be,{title:a("passphrase.how.title")}),r.jsx(ue,{children:r.jsx(ia,{tagName:"p",markup:a("passphrase.how.message")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:this.continueInfo,children:a("passphrase.summary.button")}),r.jsx(_,{secondary:!0,onClick:this.backInfo,children:a("button.back")})]})]},"step-how");case 0:return r.jsxs(re,{fullscreen:!0,minHeight:Ci,onClose:this.stopInfo,verticallyCentered:!0,children:[r.jsx(be,{title:a("passphrase.summary.title")}),r.jsxs(ue,{children:[r.jsxs("ul",{children:[r.jsx(Qe,{tagName:"li",markup:a("passphrase.summary.understandList.0")},"info-1"),r.jsx(Qe,{tagName:"li",markup:a("passphrase.summary.understandList.1")},"info-2"),r.jsx(Qe,{tagName:"li",markup:a("passphrase.summary.understandList.2")},"info-3"),r.jsx(Qe,{tagName:"li",markup:a("passphrase.summary.understandList.3")},"info-4")]}),r.jsx(an,{type:n?"success":"warning",children:r.jsx(Ve,{onChange:i=>{var o;return this.setState({understood:(o=i.target)==null?void 0:o.checked})},id:"understood",checked:n,label:a("passphrase.summary.understand"),checkboxStyle:n?"success":"warning"})})]}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:this.continueInfo,disabled:!n,children:a("passphrase.enable")}),r.jsx(_,{secondary:!0,onClick:this.backInfo,children:a("button.back")})]})]},"step-summary");default:console.error(`invalid infoStep ${e}`);return}},this.renderDisableInfo=()=>{const{t:e}=this.props;return r.jsxs(re,{fullscreen:!0,minHeight:Ci,onClose:this.stopInfo,verticallyCentered:!0,children:[r.jsx(be,{title:e("passphrase.disable")}),r.jsx(ue,{children:r.jsx(ia,{tagName:"p",markup:e("passphrase.disableInfo.message")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:this.continueInfo,children:e("passphrase.disableInfo.button")}),r.jsx(_,{secondary:!0,onClick:this.backInfo,children:e("button.back")})]})]},"step-disable-info1")}}componentDidMount(){Yu(this.props.deviceID).then(e=>{if(!e.success){console.error(e.message),J(this.props.t("genericError"));return}const{mnemonicPassphraseEnabled:n}=e.deviceInfo;this.setState({infoStep:n?Kx:Hx,passphraseEnabled:n})}).catch(console.error)}render(){const{t:e}=this.props,{passphraseEnabled:n,status:a}=this.state;return n===void 0?null:r.jsxs(ln,{children:[a==="info"&&(n?this.renderDisableInfo():this.renderEnableInfo()),a==="progress"&&r.jsxs(re,{fullscreen:!0,minHeight:Ci,textCenter:!0,verticallyCentered:!0,children:[r.jsx(be,{title:e(n?"passphrase.progressDisable.title":"passphrase.progressEnable.title"),children:r.jsx(Qe,{tagName:"p",markup:e(n?"passphrase.progressDisable.message":"passphrase.progressEnable.message")})}),r.jsx(ue,{children:r.jsx(ns,{})})]},"progress"),a==="success"&&r.jsxs(re,{fullscreen:!0,verticallyCentered:!0,children:[r.jsx(be,{small:!0,title:e(n?"passphrase.successDisabled.title":"passphrase.successEnabled.title")}),r.jsxs(ue,{children:[r.jsx(ia,{tagName:"p",markup:e(n?"passphrase.successDisabled.message":"passphrase.successEnabled.message")}),n&&r.jsxs("ul",{style:{paddingLeft:"var(--space-default)"},children:[r.jsx(Qe,{tagName:"li",markup:e("passphrase.successEnabled.tipsList.0")},"tip-1"),r.jsx(Qe,{tagName:"li",markup:e("passphrase.successEnabled.tipsList.1")},"tip-2")]}),r.jsx(Qe,{tagName:"p",markup:e(n?"passphrase.successDisabled.messageEnd":"passphrase.successEnabled.messageEnd")})]})]},"progress")]})}}const Ahe=kn()(Dhe);function _he({account:t,unit:e,hasNoBalance:n,hasIncomingBalance:a,hasTransactions:i}){const{t:o}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:o("guide.accountDescription")},"accountDescription"),n&&r.jsx(W,{entry:o("guide.accountSendDisabled",{unit:e})},"accountSendDisabled"),r.jsx(W,{entry:o("guide.accountReload")},"accountReload"),i&&r.jsx(W,{entry:o("guide.accountTransactionLabel")},"accountTransactionLabel"),i&&r.jsx(W,{entry:o("guide.accountTransactionTime")},"accountTransactionTime"),i&&r.jsx(W,{entry:o("guide.accountTransactionAttributesGeneric")},"accountTransactionAttributesGeneric"),i&&La(t.coinCode)&&r.jsx(W,{entry:o("guide.accountTransactionAttributesBTC")},"accountTransactionAttributesBTC"),a&&r.jsx(W,{entry:o("guide.accountIncomingBalance")},"accountIncomingBalance"),r.jsx(W,{entry:o("guide.accountTransactionConfirmation")},"accountTransactionConfirmation"),r.jsx(W,{entry:o("guide.accountFiat")},"accountFiat"),r.jsx(W,{entry:{link:{text:"www.coingecko.com",url:"https://www.coingecko.com/"},text:o("guide.accountRates.text"),title:o("guide.accountRates.title")}},"accountRates"),r.jsx(W,{entry:{link:{text:"CoinTracking",url:"https://cointracking.info/import/bitbox/?ref=BITBOX"},text:o("guide.cointracking.text"),title:o("guide.cointracking.title")}},"cointracking")]})}const The="_syncContainer_nrzbt_1",Ehe="_progressBar_nrzbt_8",Phe="_progressValue_nrzbt_14",Nhe="_syncMessage_nrzbt_21",Lhe="_syncText_nrzbt_33",Ihe="_spinnerContainer_nrzbt_39",$he="_spinner_nrzbt_39",Mhe="_changeContent_nrzbt_1",Bs={syncContainer:The,progressBar:Ehe,progressValue:Phe,syncMessage:Nhe,syncText:Lhe,spinnerContainer:Ihe,spinner:$he,changeContent:Mhe},Ohe=({coinCode:t})=>{const{i18n:e,t:n}=A(),a=_j(Oie(t)),[i,o]=x.useState(!1),s=ro();if(x.useEffect(()=>{s.current&&a&&a.tip===a.targetHeight&&setTimeout(()=>o(!0),4e3)},[s,a]),!a||i)return null;const l=a.targetHeight-a.tipAtInitTime,c=100*(a.tip-a.tipAtInitTime)/l,u=!l||c>=100,d=new Intl.NumberFormat(e.language).format(a.tip);return r.jsxs("div",{className:Bs.syncContainer,children:[r.jsxs("div",{className:Bs.syncMessage,children:[r.jsxs("div",{className:Bs.syncText,children:[n("headerssync.blocksSynced",{blocks:d})," ",!u&&`(${Math.ceil(c)}%)`]}),u?null:r.jsx(G1,{})]}),r.jsx("div",{"data-testid":"progress-bar",className:Bs.progressBar,children:r.jsx("div",{className:Bs.progressValue,style:{width:`${c}%`}})})]})},Rhe="_container_13974_1",Fhe="_background_13974_6",Vhe="_foreground_13974_7",Whe="_complete_13974_19",Uhe="_pending_13974_23",qhe="_generic_13974_24",Hhe="_error_13974_28",fo={container:Rhe,background:Fhe,foreground:Vhe,complete:Whe,pending:Uhe,generic:qhe,error:Hhe},Gx=({className:t,generic:e,isComplete:n,isError:a,value:i,width:o})=>{const s=(o-3)/2,l=s*2*Math.PI,c=a?100:i/100,u=l*(1-c);return r.jsxs("svg",{className:[fo.container,t||""].join(" "),width:o,height:o,style:{minWidth:o},viewBox:`0 0 ${o} ${o}`,children:[r.jsx("circle",{className:fo.background,cx:o/2,cy:o/2,r:s,strokeWidth:3}),r.jsx("circle",{className:[fo.foreground,!e&&n?fo.complete:fo.pending,e&&fo.generic,a&&fo.error].join(" "),cx:o/2,cy:o/2,r:s,strokeWidth:3,strokeDashoffset:u,strokeDasharray:l})]})},Khe="_txArrowType_m24u9_1",Ghe="_txArrowTypeIn_m24u9_6",Qhe="_txArrowTypeOut_m24u9_10",Yhe="_txArrowTypeSelf_m24u9_14",Qr={txArrowType:Khe,txArrowTypeIn:Ghe,txArrowTypeOut:Qhe,txArrowTypeSelf:Yhe},Zhe=()=>r.jsxs("svg",{className:`${Qr.txArrowType} ${Qr.txArrowTypeIn}`,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r.jsx("polyline",{points:"19 12 12 19 5 12"})]}),Jhe=()=>r.jsxs("svg",{className:`${Qr.txArrowType} ${Qr.txArrowTypeOut}`,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"5"}),r.jsx("polyline",{points:"5 12 12 5 19 12"})]}),Xhe=()=>r.jsxs("svg",{className:`${Qr.txArrowType} ${Qr.txArrowTypeSelf}`,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),r.jsx("polyline",{points:"12 5 19 12 12 19"})]}),eme="_container_1j01g_1",tme="_header_1j01g_5",nme="_columns_1j01g_17",ame="_headers_1j01g_27",ime="_columnGroup_1j01g_33",ome="_type_1j01g_46",rme="_date_1j01g_52",sme="_activity_1j01g_57",lme="_status_1j01g_63",cme="_fiat_1j01g_68",ume="_currency_1j01g_74",dme="_action_1j01g_80",pme="_empty_1j01g_87",hme="_hideOnMedium_1j01g_103",mme="_showOnMedium_1j01g_113",_e={container:eme,header:tme,columns:nme,headers:ame,columnGroup:ime,type:ome,date:rme,activity:sme,status:lme,fiat:cme,currency:ume,action:dme,empty:pme,hideOnMedium:hme,showOnMedium:mme},fme="_container_1tutj_1",gme="_row_1tutj_5",vme="_date_1tutj_15",bme="_address_1tutj_19",kme="_badge_1tutj_24",xme="_statusIndicator_1tutj_29",yme="_statusIndicatorComplete_1tutj_37",wme="_statusIndicatorPending_1tutj_41",jme="_statusIndicatorFailed_1tutj_45",Bme="_status_1tutj_29",Sme="_fiat_1tutj_53",zme="_amount_1tutj_57",Cme="_amountOverflow_1tutj_62",Dme="_send_1tutj_74",Ame="_receive_1tutj_78",_me="_currency_1tutj_82",Tme="_currencyUnit_1tutj_86",Eme="_action_1tutj_97",Pme="_label_1tutj_108",Nme="_columnLabel_1tutj_113",Lme="_inlineLabel_1tutj_114",Ime="_inlineValue_1tutj_128",$me="_fee_1tutj_132",Mme="_transactionId_1tutj_136",Ome="_detail_1tutj_141",Rme="_detailInput_1tutj_142",Fme="_textOnlyInput_1tutj_159",Vme="_editButton_1tutj_167",Wme="_addresses_1tutj_207",Ume="_detailAddresses_1tutj_218",qme="_detailAddress_1tutj_218",Hme="_first_1tutj_231",te={container:fme,row:gme,date:vme,address:bme,badge:kme,statusIndicator:xme,statusIndicatorComplete:yme,statusIndicatorPending:wme,statusIndicatorFailed:jme,status:Bme,fiat:Sme,amount:zme,amountOverflow:Cme,send:Dme,receive:Ame,currency:_me,currencyUnit:Tme,action:Eme,label:Pme,columnLabel:Nme,inlineLabel:Lme,inlineValue:Ime,fee:$me,transactionId:Mme,detail:Ome,detailInput:Rme,textOnlyInput:Fme,editButton:Vme,addresses:Wme,detailAddresses:Ume,detailAddress:qme,first:Hme};class Kme extends x.Component{constructor(){super(...arguments),this.input=x.createRef(),this.editButton=x.createRef(),this.state={transactionDialog:!1,newNote:this.props.note,editMode:!this.props.note},this.parseTimeShort=e=>{const n={year:"numeric",month:"numeric",day:"numeric"};return new Date(Date.parse(e)).toLocaleString(this.props.i18n.language,n)},this.showDetails=()=>{YQ(this.props.accountCode,this.props.internalID).then(e=>{if(!e)return console.error("Unable to retrieve transaction "+this.props.internalID),null;this.setState({transactionInfo:e,transactionDialog:!0,newNote:this.props.note,editMode:!this.props.note})}).catch(console.error)},this.hideDetails=()=>{this.setState({transactionDialog:!1})},this.handleNoteInput=e=>{const n=e.target;this.setState({newNote:n.value})},this.handleEdit=e=>{e.preventDefault(),this.state.editMode&&this.props.note!==this.state.newNote&&GQ(this.props.accountCode,{internalTxID:this.props.internalID,note:this.state.newNote}).catch(console.error),this.focusEdit(),this.setState(({editMode:n})=>({editMode:!n}),this.focusEdit)},this.focusEdit=()=>{this.editButton.current&&this.editButton.current.blur(),this.state.editMode&&this.input.current&&(this.input.current.scrollLeft=this.input.current.scrollWidth,this.input.current.focus())}}render(){const{t:e,index:n,explorerURL:a,type:i,amount:o,feeRatePerKb:s,numConfirmations:l,numConfirmationsComplete:c,time:u,addresses:d,status:p,note:h=""}=this.props,{transactionDialog:m,newNote:g,editMode:v,transactionInfo:y}=this.state,b=i==="receive"?r.jsx(Zhe,{}):i==="send"?r.jsx(Jhe,{}):r.jsx(Xhe,{}),k=i==="send"&&"−"||i==="receive"&&"+"||"",w=i==="send"&&te.send||i==="receive"&&te.receive||"",j=u?this.parseTimeShort(u):"---",z={complete:e("transaction.status.complete"),pending:e("transaction.status.pending"),failed:e("transaction.status.failed")}[p],S=l1&&r.jsxs("span",{className:te.badge,children:["(+",d.length-1,")"]})]})]}),r.jsx("div",{className:[_e.action,_e.hideOnMedium].join(" "),children:r.jsx("button",{type:"button",className:te.action,onClick:this.showDetails,children:r.jsx(ak,{expand:!m})})})]}),r.jsxs("div",{className:_e.columnGroup,children:[r.jsxs("div",{className:_e.status,children:[r.jsxs("span",{className:te.columnLabel,children:[e("transaction.details.status"),":"]}),r.jsx(Gx,{className:"m-right-quarter",width:14,value:S,isComplete:l>=c}),r.jsx("span",{className:te.status,children:z})]}),r.jsx("div",{className:_e.fiat,children:r.jsx("span",{className:`${te.fiat} ${w}`,children:r.jsx(Xa,{amount:o,sign:k,noAction:!0})})}),r.jsx("div",{className:`${_e.currency} ${w}`,children:r.jsxs("span",{className:`${te.amount} ${te.amountOverflow}`,"data-unit":` ${o.unit}`,children:[k,r.jsx(ct,{amount:o.amount,unit:o.unit}),r.jsxs("span",{className:te.currencyUnit,children:[" ",o.unit]})]})}),r.jsx("div",{className:[_e.action,_e.showOnMedium].join(" "),children:r.jsx("button",{type:"button",className:te.action,onClick:this.showDetails,children:r.jsx(ak,{expand:!m})})})]})]}),r.jsx(qe,{open:m,title:"Transaction Details",onClose:this.hideDetails,slim:!0,medium:!0,children:y&&r.jsxs(r.Fragment,{children:[r.jsxs("form",{onSubmit:this.handleEdit,className:te.detailInput,children:[r.jsx("label",{htmlFor:"note",children:e("note.title")}),r.jsx(Ye,{align:"right",autoFocus:v,className:te.textOnlyInput,readOnly:!v,type:"text",id:"note",transparent:!0,placeholder:e("note.input.placeholder"),value:g,maxLength:256,onInput:this.handleNoteInput,ref:this.input}),r.jsx("button",{className:te.editButton,onClick:this.handleEdit,title:e(`transaction.note.${v?"save":"edit"}`),type:"button",ref:this.editButton,children:v?f?r.jsx(pK,{}):r.jsx(dK,{}):f?r.jsx(Y7,{}):r.jsx(Q7,{})})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.details.type")}),r.jsx("p",{children:b})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.confirmation")}),r.jsx("p",{children:l})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.details.status")}),r.jsxs("p",{className:"flex flex-items-center",children:[r.jsx(Gx,{className:"m-right-quarter",width:14,value:S,isComplete:l>=c}),r.jsxs("span",{className:te.status,children:[z," ",p==="pending"&&r.jsxs("span",{children:["(",l,"/",c,")"]})]})]})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.details.date")}),r.jsx("p",{children:j})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.details.fiat")}),r.jsx("p",{children:r.jsx("span",{className:`${te.fiat} ${w}`,children:r.jsx(Xa,{amount:o,sign:k,noAction:!0})})})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.details.fiatAtTime")}),r.jsx("p",{children:r.jsx("span",{className:`${te.fiat} ${w}`,children:y.amountAtTime?r.jsx(Xa,{amount:y.amountAtTime,sign:k,noAction:!0}):r.jsx(Xa,{noAction:!0})})})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.details.amount")}),r.jsxs("p",{className:w,children:[r.jsxs("span",{className:te.amount,children:[k,r.jsx(ct,{amount:o.amount,unit:o.unit})]})," ",r.jsx("span",{className:te.currencyUnit,children:y.amount.unit})]})]}),r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.fee")}),y.fee&&y.fee.amount?r.jsxs("p",{title:s.amount?s.amount+" "+s.unit+"/Kb":"",children:[r.jsx(ct,{amount:y.fee.amount,unit:y.fee.unit})," ",r.jsx("span",{className:te.currencyUnit,children:y.fee.unit})]}):r.jsx("p",{children:"---"})]}),r.jsxs("div",{className:[te.detail,te.addresses].join(" "),children:[r.jsx("label",{children:e("transaction.details.address")}),r.jsx("div",{className:te.detailAddresses,children:y.addresses.map(B=>r.jsx(Ia,{alignRight:!0,borderLess:!0,flexibleHeight:!0,className:te.detailAddress,value:B},B))})]}),y.gas?r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.gas")}),r.jsx("p",{children:y.gas})]}):null,y.nonce!==null?r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:"Nonce"}),r.jsx("p",{children:y.nonce})]}):null,y.weight?r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.weight")}),r.jsxs("p",{children:[y.weight," ",r.jsx("span",{className:te.currencyUnit,children:"WU"})]})]}):null,y.vsize?r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.vsize")}),r.jsxs("p",{children:[y.vsize," ",r.jsx("span",{className:te.currencyUnit,children:"b"})]})]}):null,y.size?r.jsxs("div",{className:te.detail,children:[r.jsx("label",{children:e("transaction.size")}),r.jsxs("p",{children:[y.size," ",r.jsx("span",{className:te.currencyUnit,children:"b"})]})]}):null,r.jsxs("div",{className:[te.detail,te.addresses].join(" "),children:[r.jsx("label",{children:e("transaction.explorer")}),r.jsx("div",{className:te.detailAddresses,children:r.jsx(Ia,{alignRight:!0,borderLess:!0,flexibleHeight:!0,className:te.detailAddress,value:y.txID})})]}),r.jsx("div",{className:[te.detail,"flex-center"].join(" "),children:r.jsx(pt,{href:a+y.txID,title:`${e("transaction.explorerTitle")} +${a}${y.txID}`,children:e("transaction.explorerTitle")})})]})})]})}}const Gme=kn()(Kme),Qme=({accountCode:t,explorerURL:e,transactions:n,handleExport:a})=>{const{t:i}=A(),o=ci();return r.jsxs("div",{className:_e.container,children:[r.jsxs("div",{className:"flex flex-row flex-between flex-items-center",children:[r.jsx("label",{className:"labelXLarge",children:i("accountSummary.transactionHistory")}),!o&&r.jsx(_,{transparent:!0,onClick:a,title:i("account.exportTransactions"),children:i("account.export")})]}),r.jsxs("div",{className:[_e.columns,_e.headers,_e.showOnMedium].join(" "),children:[r.jsx("div",{className:_e.type,children:i("transaction.details.type")}),r.jsx("div",{className:_e.date,children:i("transaction.details.date")}),r.jsx("div",{className:_e.activity,children:i("transaction.details.activity")}),r.jsx("div",{className:_e.status,children:i("transaction.details.status")}),r.jsx("div",{className:_e.fiat,children:i("transaction.details.fiatAmount")}),r.jsx("div",{className:_e.currency,children:i("transaction.details.amount")}),r.jsx("div",{className:_e.action,children:" "})]}),n&&n.success&&n.list.length>0?n.list.map((s,l)=>r.jsx(Gme,{accountCode:t,explorerURL:e,index:l,...s},s.internalID)):r.jsx("div",{className:`flex flex-row flex-center ${_e.empty}`,children:n&&!n.success?r.jsx("p",{children:i("transactions.errorLoadTransactions")}):r.jsx("p",{children:i("transactions.placeholder")})})]})},Yme="_container_8wadt_1",Zme="_header_8wadt_12",Jme="_actionsContainer_8wadt_23",Xme="_buy_8wadt_29",efe="_receive_8wadt_30",tfe="_walletConnect_8wadt_31",nfe="_send_8wadt_32",afe="_withWalletConnect_8wadt_50",ife="_disabled_8wadt_62",ofe="_accountIcon_8wadt_71",Va={container:Yme,header:Zme,actionsContainer:Jme,buy:Xme,receive:efe,walletConnect:tfe,send:nfe,withWalletConnect:afe,disabled:ife,accountIcon:ofe},rfe=({canSend:t,code:e,coinCode:n,exchangeBuySupported:a,account:i})=>{const{t:o}=A(),s=hg(),l=Fo(i.coinCode)&&!i.isToken,c=Ml("(max-width: 830px)"),u=`/account/${e}/send`,d=async p=>{p.preventDefault(),(await fl(e)).success&&s(u)};return r.jsxs("div",{className:`${Va.actionsContainer} ${l?Va.withWalletConnect:""}`,children:[t?r.jsx(Ya,{to:u,className:Va.send,onClick:Fo(n)?d:void 0,children:r.jsx("span",{children:o("button.send")})},"sendLink"):r.jsx("span",{className:`${Va.send} ${Va.disabled}`,children:o("button.send")},"sendDisabled"),r.jsx(Ya,{to:`/account/${e}/receive`,className:Va.receive,children:r.jsx("span",{children:o("button.receive")})},"receive"),a&&r.jsx(Ya,{to:`/buy/info/${e}`,className:Va.buy,children:r.jsx("span",{children:o("button.buy")})},"buy"),l&&r.jsxs(Ya,{to:`/account/${e}/wallet-connect/dashboard`,className:Va.walletConnect,children:[r.jsx(Ou,{width:24})," ",!c&&r.jsx("span",{children:"Wallet Connect"})]},"wallet-connect")]})};function sfe({accounts:t,code:e,devices:n}){const{t:a}=A(),[i,o]=x.useState(),[s,l]=x.useState(),[c,u]=x.useState(),[d,p]=x.useState(),[h,m]=x.useState(),[g,v]=x.useState(),y=me(zg(e),[e]);x.useEffect(()=>{Z("config").then(({backend:E})=>m(E.proxy.useProxy))},[]);const b=k1(n,[e]),k=x.useCallback((E,L)=>{if(!(!E||L===void 0||L.fatalError))if(L.synced&&L.offlineError===null){const q=E;Promise.all([Ur(q).then(U=>{q===E&&o(U)}),eB(E).then(U=>{q===E&&p(U)})]).catch(console.error)}else o(void 0),p(void 0)},[]),w=x.useCallback(()=>{const E=e;E&&Zj(E).then(async L=>{E===e&&(l(L),!L.disabled&&!L.synced&&await Xj(E).catch(console.error),k(e,L))}).catch(console.error)},[k,e]);x.useEffect(()=>{const E=[o1(e)(u),r1(L=>L===e&&w()),Yd(L=>L===e&&k(e,s))];return()=>Nl(E)},[e,k,w,s]);function j(){s===void 0||s.fatalError||ZQ(e).then(E=>{E!==null&&!E.success&&J(E.errorMessage)}).catch(console.error)}x.useEffect(()=>{v(e),o(void 0),l(void 0),u(0),p(void 0),w()},[e,w]);const z=i!==void 0&&d!==void 0,S=t&&t.find(E=>E.code===e);if(g!==e||!S||s===void 0)return null;const f=i&&i.hasAvailable,B=c!==void 0&&c>1?` +`+a("account.syncedAddressesCount",{count:c.toString(),defaultValue:0}):"",D=[];s.offlineError!==null&&(D.push(a("account.reconnecting")),D.push(s.offlineError),h&&D.push(a("account.maybeProxyError")));const C=y&&y.exchanges.length>0,P=i&&!i.hasAvailable&&!i.hasIncoming&&d&&d.success&&d.list.length===0,I={code:e,coinCode:S.coinCode,canSend:f,exchangeBuySupported:C,account:S};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(an,{hidden:!b,type:"warning",children:a("warning.sdcard")}),r.jsxs(xe,{title:r.jsx("h2",{children:r.jsx("span",{children:S.name})}),children:[r.jsx(Qd,{}),r.jsxs(Ya,{to:`/account/${e}/info`,title:a("accountInfo.title"),className:"flex flex-row flex-items-center m-left-half",children:[r.jsx($m,{className:Va.accountIcon}),r.jsx("span",{children:a("accountInfo.label")})]})]}),s.synced&&z&&La(S.coinCode)&&r.jsx(Ohe,{coinCode:S.coinCode}),r.jsx("div",{className:"innerContainer scrollableContainer",children:r.jsxs("div",{className:"content padded",children:[r.jsxs("div",{className:"flex flex-column flex-reverse-mobile",children:[r.jsx("label",{className:"labelXLarge flex-self-start-mobile hide-on-small",children:a("accountSummary.availableBalance")}),r.jsxs("div",{className:"flex flex-row flex-between flex-item-center flex-column-mobile flex-reverse-mobile",children:[r.jsx(c1,{balance:i}),r.jsx("label",{className:"labelXLarge flex-self-start-mobile show-on-small",children:a("accountSummary.availableBalance")}),!P&&r.jsx(rfe,{...I})]})]}),P&&r.jsx(nf,{account:S,code:e,exchangeBuySupported:C,unit:i.available.unit,balanceList:[i]}),!s.synced||D.length||!z||s.fatalError?r.jsx(Cn,{guideExists:!0,text:s.fatalError&&a("account.fatalError")||D.join(` +`)||!s.synced&&a("account.initializing")+B||""}):r.jsx(r.Fragment,{children:!P&&r.jsx(Qme,{accountCode:e,handleExport:j,explorerURL:S.blockExplorerTxPrefix,transactions:d})})]})})]}),r.jsx(_he,{account:S,unit:i==null?void 0:i.available.unit,hasIncomingBalance:i&&i.hasIncoming,hasTransactions:d!==void 0&&d.success&&d.list.length>0,hasNoBalance:i&&i.available.amount==="0"})]})}const lfe=({activeAccounts:t})=>{const[e,n]=x.useState([]),[a,i]=x.useState(""),{t:o}=A();x.useEffect(()=>{const d=t.map(p=>({label:p.name,value:p.code,disabled:!1,coinCode:p.coinCode}));n(d),u(d).then(p=>n(p))},[t]);const s=()=>{le(`/account/${a}/receive`)},l=t.every(({coinCode:d})=>_d(d)),c=o("receive.title",{accountName:l?"Bitcoin":o("buy.info.crypto")}),u=async d=>Promise.all(d.map(p=>Ur(p.value).then(h=>({...p,balance:`${h.available.amount} ${h.available.unit}`}))));return r.jsxs(r.Fragment,{children:[r.jsx(xe,{title:r.jsx("h2",{children:c})}),r.jsx(re,{width:"550px",verticallyCentered:!0,fullscreen:!1,children:r.jsx(ue,{children:r.jsx(XB,{onChange:i,onProceed:s,options:e,title:o("receive.selectAccount"),selected:a})})})]})},cfe=()=>{const{t}=A(),{toggleDarkmode:e,isDarkMode:n}=Kn();return r.jsx(Ke,{settingName:t("darkmode.toggle"),secondaryText:t("newSettings.appearance.darkmode.description"),extraComponent:r.jsx(Dn,{checked:n,onChange:()=>e(!n)})})},ufe="_dropdown_1uw27_1",dfe="_select_1uw27_10",td={dropdown:ufe,select:dfe},pfe=t=>r.jsx(Un.DropdownIndicator,{...t,children:r.jsx("div",{className:td.dropdown})}),hfe=t=>{const{label:e}=t.data;return r.jsx(Un.Option,{...t,children:r.jsx("span",{children:e})})},mfe=t=>{const{label:e}=t.data;return r.jsx(Un.SingleValue,{...t,children:r.jsx("span",{children:e})})},iS=({options:t,handleChange:e,defaultValue:n})=>r.jsx(Gd,{className:td.select,classNamePrefix:"react-select",isSearchable:!0,defaultValue:n,components:{IndicatorSeparator:()=>null,DropdownIndicator:pfe,SingleValue:mfe,Option:hfe},onChange:a=>{if(a){const i=(a==null?void 0:a.value)||"";e(i)}},options:t}),ffe=()=>{var l;const{t}=A(),{selectFiat:e,updateDefaultFiat:n,defaultCurrency:a,activeCurrencies:i}=x.useContext(Zo),o=(l=s1.find(c=>c.currency===a))==null?void 0:l.displayName,s=o?`${o} (${a})`:a;return r.jsx(Ke,{settingName:t("newSettings.appearance.defaultCurrency.title"),secondaryText:t("newSettings.appearance.defaultCurrency.description"),collapseOnSmall:!0,extraComponent:r.jsx(iS,{options:l1,handleChange:async c=>{n(c),i.includes(c)||await e(c)},defaultValue:{label:s,value:a}})})},gfe=()=>{const{t}=A(),e=me(Bt),[n,a]=x.useState(),{updateRatesConfig:i}=x.useContext(Zo);x.useEffect(()=>{e&&a(e.backend.btcUnit==="sat")},[e]);const o=async()=>{const s=!n,l=s?"sat":"default";a(s),await at({backend:{btcUnit:l}}),i(),(await Rie(l)).success||J(t("genericError"))};return r.jsx(r.Fragment,{children:r.jsx(Ke,{settingName:t("settings.expert.useSats"),secondaryText:t("newSettings.appearance.toggleSats.description"),extraComponent:r.jsx(r.Fragment,{children:n!==void 0?r.jsx(Dn,{checked:n,onChange:o}):null})})})},vfe=()=>{const{i18n:t,t:e}=A(),n=eu[Dj(eu,t)],a=eu.map(i=>({label:i.display,value:i.code}));return r.jsx(Ke,{settingName:e("newSettings.appearance.language.title"),secondaryText:e("newSettings.appearance.language.description"),collapseOnSmall:!0,extraComponent:r.jsx(iS,{options:a,handleChange:t.changeLanguage,defaultValue:{label:n.display,value:n.code}})})},bfe="_select_1j2fm_1",kfe="_hideMultiSelect_1j2fm_30",xfe="_defaultCurrency_1j2fm_51",yfe="_defaultLabel_1j2fm_55",Mc={select:bfe,hideMultiSelect:kfe,defaultCurrency:xfe,defaultLabel:yfe},wfe=({options:t,defaultCurrency:e,activeCurrencies:n})=>{const[a,i]=x.useState([]),[o,s]=x.useState(""),{t:l}=A(),{unselectFiat:c,selectFiat:u}=x.useContext(Zo);x.useEffect(()=>{if(n.length>0){const h=n.map(m=>({label:m,value:m}));i(h)}},[n]);const d=h=>r.jsx(Un.DropdownIndicator,{...h,children:r.jsx("div",{className:td.dropdown})}),p=h=>{const{label:m,value:g}=h.data,v=a.findIndex(b=>b.value===g)>=0,y=e===g;return r.jsxs(Un.Option,{...h,className:`${y?Mc.defaultCurrency:""}`,children:[r.jsx("span",{children:m}),y?r.jsx("p",{className:Mc.defaultLabel,children:l("fiat.default")}):null,v&&!y?r.jsx(hK,{}):null]})};return r.jsx(Gd,{className:` + ${td.select} + ${Mc.select} + ${o.length>0?Mc.hideMultiSelect:""} + `,classNamePrefix:"react-select",isSearchable:!0,isClearable:!1,components:{DropdownIndicator:d,IndicatorSeparator:()=>null,MultiValueRemove:()=>null,Option:p},isMulti:!0,closeMenuOnSelect:!1,hideSelectedOptions:!1,value:[...a].reverse(),onInputChange:h=>s(h),onChange:async(h,m)=>{switch(m.action){case"select-option":m.option&&await u(m.option.value);break;case"deselect-option":m.option&&m.option.value!==e&&await c(m.option.value)}},options:t})},jfe=()=>{const{t}=A(),{activeCurrencies:e,defaultCurrency:n}=x.useContext(Zo);return r.jsx(Ke,{collapseOnSmall:!0,settingName:t("newSettings.appearance.activeCurrencies.title"),secondaryText:t("newSettings.appearance.activeCurrencies.description"),extraComponent:r.jsx(wfe,{options:l1,defaultCurrency:n,activeCurrencies:e})})},Bfe=()=>{const{t}=A(),[e,n]=x.useState(),a=me(Bt);x.useEffect(()=>{if(a){if(a.frontend.allowHideAmounts===void 0){n(!1);return}n(a.frontend.allowHideAmounts)}},[a]);const i=async()=>{n(!e),await at({frontend:{allowHideAmounts:!e}})};return r.jsx(Ke,{settingName:t("newSettings.appearance.hideAmounts.title"),secondaryText:t("newSettings.appearance.hideAmounts.description"),extraComponent:r.jsx(r.Fragment,{children:e!==void 0?r.jsx(Dn,{checked:e,onChange:i}):null})})},Sfe=({deviceIDs:t,hasAccounts:e})=>{const{t:n}=A();return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(xe,{hideSidebarToggler:!0,title:r.jsxs(r.Fragment,{children:[r.jsx("h2",{className:"hide-on-small",children:n("sidebar.settings")}),r.jsx(Rl,{withGuide:!0,title:n("settings.appearance")})]})}),r.jsx(re,{fullscreen:!1,children:r.jsx(ue,{children:r.jsxs(Ol,{hasAccounts:e,hideMobileMenu:!0,deviceIDs:t,children:[r.jsx(ffe,{}),r.jsx(jfe,{}),r.jsx(vfe,{}),r.jsx(cfe,{}),r.jsx(gfe,{}),r.jsx(Bfe,{})]})})})]})}),r.jsx(zfe,{})]})},zfe=()=>{const{t}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.settings.sats")},"guide.settings.sats"),r.jsx(W,{entry:{link:{text:"www.coingecko.com",url:"https://www.coingecko.com/"},text:t("guide.accountRates.text"),title:t("guide.accountRates.title")}},"guide.accountRates")]})},Cfe=({deviceIDs:t,hasAccounts:e})=>{const n=Ml("(max-width: 768px)"),{t:a}=A();return x.useEffect(()=>{n||le("/settings/appearance")},[n]),r.jsxs(ln,{children:[r.jsx(xe,{title:r.jsx("h2",{children:a("settings.title")})}),r.jsx(re,{fullscreen:!1,children:r.jsx(ue,{children:r.jsx(tS,{deviceIDs:t,hasAccounts:e})})})]})},Dfe=()=>{const{t}=A(),e=me(Tj),n=me(Ej),a=t(n?"settings.info.out-of-date":"settings.info.up-to-date"),i=n?r.jsx(wj,{width:8,height:8}):r.jsx(Bd,{}),o=e||"-";return n===void 0?r.jsx(yo,{}):r.jsx(Ke,{settingName:t("newSettings.about.appVersion.title"),secondaryText:a,displayedValue:o,extraComponent:i,onClick:n?()=>sB(tv()):void 0})},Afe=({deviceIDs:t,hasAccounts:e})=>{const{t:n}=A();return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(xe,{hideSidebarToggler:!0,title:r.jsxs(r.Fragment,{children:[r.jsx("h2",{className:"hide-on-small",children:n("sidebar.settings")}),r.jsx(Rl,{withGuide:!0,title:n("settings.about")})]})}),r.jsx(re,{fullscreen:!1,children:r.jsx(ue,{children:r.jsx(Ol,{deviceIDs:t,hideMobileMenu:!0,hasAccounts:e,children:r.jsx(Dfe,{})})})})]})}),r.jsx(_fe,{})]})},_fe=()=>{const{t}=A();return r.jsx(st,{children:r.jsx(W,{entry:t("guide.settings.servers")},"guide.settings.servers")})},Tfe=({frontendConfig:t,onChangeConfig:e})=>{const{t:n}=A(),a=async i=>{const o=await at({frontend:{expertFee:i.target.checked}});e(o)};return r.jsx(Ke,{settingName:n("settings.expert.fee"),secondaryText:n("newSettings.advancedSettings.customFees.description"),extraComponent:t!==void 0?r.jsx(Dn,{checked:(t==null?void 0:t.expertFee)||!1,onChange:a}):null})},Efe=({frontendConfig:t,onChangeConfig:e})=>{const{t:n}=A(),a=async i=>{const o=await at({frontend:{coinControl:i.target.checked}});e(o)};return r.jsx(Ke,{settingName:n("settings.expert.coinControl"),secondaryText:n("newSettings.advancedSettings.coinControl.description"),extraComponent:t!==void 0?r.jsx(Dn,{checked:(t==null?void 0:t.coinControl)||!1,onChange:a}):null})},Pfe=()=>{const{t}=A();return r.jsx(Ke,{settingName:t("settings.expert.electrum.title"),onClick:()=>le("/settings/electrum"),secondaryText:t("settings.expert.electrum.description"),extraComponent:r.jsx(di,{width:24,height:24})})},Nfe=({open:t,proxyConfig:e,onCloseDialog:n,onChangeConfig:a,handleShowRestartMessage:i})=>{const[o,s]=x.useState(),{t:l}=A();x.useEffect(()=>{e&&s(e.proxyAddress)},[e]);const c=async()=>{if(!e||o===void 0)return;const h=e;h.proxyAddress=o.trim();const m=await zQ(h.proxyAddress),{success:g,errorMessage:v}=m;g?await u(h):J(v||l("account.fatalError"))},u=async h=>{const m=await at({backend:{proxy:h}});s(h.proxyAddress),a(m),i(!0)},d=async h=>{if(!e)return;const m={...e,useProxy:h.target.checked};await u(m)},p=h=>{s(h.target.value),i(!1)};return!e||e===void 0||o===void 0?null:r.jsxs(qe,{open:t,onClose:n,title:l("settings.expert.setProxyAddress"),small:!0,children:[r.jsxs("div",{className:"flex flex-row flex-between flex-items-center",children:[r.jsx("p",{className:"m-none",children:l("settings.expert.useProxy")}),r.jsx(Dn,{id:"useProxy",checked:e.useProxy,onChange:d})]}),r.jsxs("div",{className:"m-top-half",children:[r.jsx(Ye,{name:"proxyAddress",onInput:p,value:o,placeholder:"127.0.0.1:9050",disabled:!e.useProxy}),r.jsx(Yt,{children:r.jsx(_,{primary:!0,onClick:c,disabled:!e.useProxy||o===e.proxyAddress,children:l("settings.expert.setProxyAddress")})})]})]})},Lfe="_inlineMessage_gi9x3_1",Ife="_success_gi9x3_7",$fe="_left_gi9x3_12",Mfe="_close_gi9x3_16",Oc={inlineMessage:Lfe,success:Ife,left:$fe,close:Mfe};class Ofe extends x.Component{constructor(){super(...arguments);M(this,"deactivate",()=>{this.props.onEnd()})}render(){const{type:n,message:a,align:i}=this.props;return r.jsxs("div",{className:[Oc.inlineMessage,Oc[n],i?Oc[i]:""].join(" "),children:[a,r.jsx("div",{className:Oc.close,onClick:this.deactivate,children:"✕"})]})}}const Rfe="_settingItem_6ge6v_3",Ffe={settingItem:Rfe},Vfe=({proxyConfig:t,onChangeConfig:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),l=t?t.useProxy:!1;return r.jsxs(r.Fragment,{children:[o?r.jsx(Ofe,{type:"success",align:"left",message:n("settings.restart"),onEnd:()=>s(!1)}):null,r.jsx(Ke,{className:Ffe.settingItem,settingName:n("settings.expert.useProxy"),onClick:()=>i(!0),secondaryText:n("newSettings.advancedSettings.torProxy.description"),displayedValue:n(l?"generic.enabled_true":"generic.enabled_false"),extraComponent:r.jsx(di,{width:24,height:24})}),r.jsx(Nfe,{open:a,proxyConfig:t,onCloseDialog:()=>i(!1),onChangeConfig:e,handleShowRestartMessage:s})]})},Wfe=({backendConfig:t,onChangeConfig:e})=>{const{t:n}=A(),a=async o=>{const s=Wj(l=>{l.typ==="auth-ok"&&(i(!o.target.checked),s()),l.typ==="auth-canceled"&&s()});_Q()},i=async o=>{const s=await at({backend:{authentication:o}});TQ(),e(s)};return ci()?r.jsx(Ke,{settingName:n("newSettings.advancedSettings.authentication.title"),secondaryText:n("newSettings.advancedSettings.authentication.description"),extraComponent:t!==void 0?r.jsx(Dn,{checked:(t==null?void 0:t.authentication)||!1,onChange:a}):null}):null},Ufe=({deviceIDs:t,hasAccounts:e})=>{var u;const{t:n}=A(),a=me(Bt),[i,o]=x.useState(),s=i==null?void 0:i.frontend,l=i==null?void 0:i.backend,c=(u=i==null?void 0:i.backend)==null?void 0:u.proxy;return x.useEffect(()=>{o(a)},[a]),r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(xe,{hideSidebarToggler:!0,title:r.jsxs(r.Fragment,{children:[r.jsx("h2",{className:"hide-on-small",children:n("sidebar.settings")}),r.jsx(Rl,{withGuide:!0,title:n("settings.advancedSettings")})]})}),r.jsx(re,{fullscreen:!1,children:r.jsx(ue,{children:r.jsxs(Ol,{deviceIDs:t,hideMobileMenu:!0,hasAccounts:e,children:[r.jsx(Tfe,{frontendConfig:s,onChangeConfig:o}),r.jsx(Efe,{frontendConfig:s,onChangeConfig:o}),r.jsx(Wfe,{backendConfig:l,onChangeConfig:o}),r.jsx(Vfe,{proxyConfig:c,onChangeConfig:o}),r.jsx(Pfe,{})]})})})]})}),r.jsx(qfe,{})]})},qfe=()=>{const{t}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.settings-electrum.why")},"guide.settings-electrum.why"),r.jsx(W,{entry:t("guide.settings-electrum.tor")},"guide.settings-electrum.tor")]})},Fl=x.createContext({}),oS=()=>{const{t}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:t("guide.walletConnect.whatIsWalletConnect")},"guide.walletConnect.whatIsWalletConnect"),r.jsx(W,{entry:t("guide.walletConnect.supportedNetworks")},"guide.walletConnect.supportedNetworks"),r.jsx(W,{entry:t("guide.walletConnect.noPreviousConnections")},"guide.walletConnect.noPreviousConnections")]})},Ns={"eip155:1":{name:"Etherum mainnet",icon:x.createElement(ik)},"eip155:5":{name:"Ethereum goerli",icon:x.createElement(ik)}},qa={PERSONAL_SIGN:"personal_sign",ETH_SIGN:"eth_sign",ETH_SIGN_TRANSACTION:"eth_signTransaction",ETH_SIGN_TYPED_DATA:"eth_signTypedData",ETH_SIGN_TYPED_DATA_V3:"eth_signTypedData_v3",ETH_SIGN_TYPED_DATA_V4:"eth_signTypedData_v4",ETH_SEND_TRANSACTION:"eth_sendTransaction"},Hfe=t=>{const e=t.split(":");return e.length>2?e[2]:""},ip=t=>t?`${t.substring(0,6)}...${t.substring(t.length-6)}`:"",Kfe=t=>{try{return t.split(":")[1].split("@")[0]}catch{return""}},Gfe=(t,e)=>e.core.history.values.findIndex(n=>n.topic===t&&n.response&&"error"in n.response)>=0,Qx=t=>({id:t,jsonrpc:"2.0",error:{code:5e3,message:"User rejected."}}),Qfe=t=>{if(t=t.trim(),t.startsWith("0x")&&(t=t.substring(2)),t.length%2!==0||!/^[0-9a-fA-F]*$/.test(t))return console.error("Invalid hex string"),null;const e=new Uint8Array(t.length/2);for(let a=0;a{const n=ip(t);return r.jsxs("div",{className:_h.headerContainer,children:[r.jsx(sK,{}),r.jsx("h1",{children:"WalletConnect"}),r.jsx("p",{className:_h.accountName,children:e}),r.jsx("p",{className:_h.receiveAddress,children:n})]})},ege="_formContainer_1wrji_1",tge="_formButtonsContainer_1wrji_6",nge="_inputWithIcon_1wrji_11",age="_mobileQRScanner_1wrji_28",ige="_scanQRLabel_1wrji_41",Gs={formContainer:ege,formButtonsContainer:tge,inputWithIcon:nge,mobileQRScanner:age,scanQRLabel:ige},oge=({onQRScanned:t})=>{const{t:e}=A();return r.jsxs("div",{className:Gs.mobileQRScanner,children:[r.jsx("p",{className:Gs.scanQRLabel,children:e("send.scanQR")}),r.jsx(d1,{onResult:t})]})},rge=({code:t,uri:e,onInputChange:n,onSubmit:a,connectLoading:i})=>{const{t:o}=A(),s=Ml("(max-width: 768px)"),[l,c]=x.useState(s),u=s,d=!s,p=()=>{if(l){c(!1);return}c(!0)};return r.jsxs("div",{className:Gs.formContainer,children:[u&&r.jsx(oge,{onQRScanned:a}),r.jsxs("form",{onSubmit:h=>{h.preventDefault(),a(e)},children:[r.jsx(Ye,{label:o("walletConnect.connect.dappLabel"),className:d?Gs.inputWithIcon:"",value:e,readOnly:i,onInput:h=>n(h.target.value.replace(/\s/g,"")),children:d&&!i&&r.jsx(m1,{onClick:p})}),r.jsx(p1,{activeScanQR:l&&!s,toggleScanQR:p,onChangeActiveScanQR:c,parseQRResult:h=>a(h)}),r.jsxs("div",{className:Gs.formButtonsContainer,children:[r.jsx(_,{disabled:i,secondary:!0,onClick:()=>le(`/account/${t}/wallet-connect/dashboard`),children:o("dialog.cancel")}),r.jsx(_,{disabled:i||!e,type:"submit",primary:!0,children:o("walletConnect.connect.button")})]})]})]})};var av={},op={},de={},rS={};(function(t){Object.defineProperty(t,"__esModule",{value:!0});function e(l,c){var u=l>>>16&65535,d=l&65535,p=c>>>16&65535,h=c&65535;return d*h+(u*h+d*p<<16>>>0)|0}t.mul=Math.imul||e;function n(l,c){return l+c|0}t.add=n;function a(l,c){return l-c|0}t.sub=a;function i(l,c){return l<>>32-c}t.rotl=i;function o(l,c){return l<<32-c|l>>>c}t.rotr=o;function s(l){return typeof l=="number"&&isFinite(l)&&Math.floor(l)===l}t.isInteger=Number.isInteger||s,t.MAX_SAFE_INTEGER=9007199254740991,t.isSafeInteger=function(l){return t.isInteger(l)&&l>=-t.MAX_SAFE_INTEGER&&l<=t.MAX_SAFE_INTEGER}})(rS);Object.defineProperty(de,"__esModule",{value:!0});var sS=rS;function sge(t,e){return e===void 0&&(e=0),(t[e+0]<<8|t[e+1])<<16>>16}de.readInt16BE=sge;function lge(t,e){return e===void 0&&(e=0),(t[e+0]<<8|t[e+1])>>>0}de.readUint16BE=lge;function cge(t,e){return e===void 0&&(e=0),(t[e+1]<<8|t[e])<<16>>16}de.readInt16LE=cge;function uge(t,e){return e===void 0&&(e=0),(t[e+1]<<8|t[e])>>>0}de.readUint16LE=uge;function lS(t,e,n){return e===void 0&&(e=new Uint8Array(2)),n===void 0&&(n=0),e[n+0]=t>>>8,e[n+1]=t>>>0,e}de.writeUint16BE=lS;de.writeInt16BE=lS;function cS(t,e,n){return e===void 0&&(e=new Uint8Array(2)),n===void 0&&(n=0),e[n+0]=t>>>0,e[n+1]=t>>>8,e}de.writeUint16LE=cS;de.writeInt16LE=cS;function af(t,e){return e===void 0&&(e=0),t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}de.readInt32BE=af;function of(t,e){return e===void 0&&(e=0),(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}de.readUint32BE=of;function rf(t,e){return e===void 0&&(e=0),t[e+3]<<24|t[e+2]<<16|t[e+1]<<8|t[e]}de.readInt32LE=rf;function sf(t,e){return e===void 0&&(e=0),(t[e+3]<<24|t[e+2]<<16|t[e+1]<<8|t[e])>>>0}de.readUint32LE=sf;function nd(t,e,n){return e===void 0&&(e=new Uint8Array(4)),n===void 0&&(n=0),e[n+0]=t>>>24,e[n+1]=t>>>16,e[n+2]=t>>>8,e[n+3]=t>>>0,e}de.writeUint32BE=nd;de.writeInt32BE=nd;function ad(t,e,n){return e===void 0&&(e=new Uint8Array(4)),n===void 0&&(n=0),e[n+0]=t>>>0,e[n+1]=t>>>8,e[n+2]=t>>>16,e[n+3]=t>>>24,e}de.writeUint32LE=ad;de.writeInt32LE=ad;function dge(t,e){e===void 0&&(e=0);var n=af(t,e),a=af(t,e+4);return n*4294967296+a-(a>>31)*4294967296}de.readInt64BE=dge;function pge(t,e){e===void 0&&(e=0);var n=of(t,e),a=of(t,e+4);return n*4294967296+a}de.readUint64BE=pge;function hge(t,e){e===void 0&&(e=0);var n=rf(t,e),a=rf(t,e+4);return a*4294967296+n-(n>>31)*4294967296}de.readInt64LE=hge;function mge(t,e){e===void 0&&(e=0);var n=sf(t,e),a=sf(t,e+4);return a*4294967296+n}de.readUint64LE=mge;function uS(t,e,n){return e===void 0&&(e=new Uint8Array(8)),n===void 0&&(n=0),nd(t/4294967296>>>0,e,n),nd(t>>>0,e,n+4),e}de.writeUint64BE=uS;de.writeInt64BE=uS;function dS(t,e,n){return e===void 0&&(e=new Uint8Array(8)),n===void 0&&(n=0),ad(t>>>0,e,n),ad(t/4294967296>>>0,e,n+4),e}de.writeUint64LE=dS;de.writeInt64LE=dS;function fge(t,e,n){if(n===void 0&&(n=0),t%8!==0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(t/8>e.length-n)throw new Error("readUintBE: array is too short for the given bitLength");for(var a=0,i=1,o=t/8+n-1;o>=n;o--)a+=e[o]*i,i*=256;return a}de.readUintBE=fge;function gge(t,e,n){if(n===void 0&&(n=0),t%8!==0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(t/8>e.length-n)throw new Error("readUintLE: array is too short for the given bitLength");for(var a=0,i=1,o=n;o=a;o--)n[o]=e/i&255,i*=256;return n}de.writeUintBE=vge;function bge(t,e,n,a){if(n===void 0&&(n=new Uint8Array(t/8)),a===void 0&&(a=0),t%8!==0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!sS.isSafeInteger(e))throw new Error("writeUintLE value must be an integer");for(var i=1,o=a;o>>32-16|q<<16,P=P+q|0,f^=P,f=f>>>32-12|f<<12,j=j+B|0,U^=j,U=U>>>32-16|U<<16,I=I+U|0,B^=I,B=B>>>32-12|B<<12,z=z+D|0,$^=z,$=$>>>32-16|$<<16,E=E+$|0,D^=E,D=D>>>32-12|D<<12,S=S+C|0,T^=S,T=T>>>32-16|T<<16,L=L+T|0,C^=L,C=C>>>32-12|C<<12,z=z+D|0,$^=z,$=$>>>32-8|$<<8,E=E+$|0,D^=E,D=D>>>32-7|D<<7,S=S+C|0,T^=S,T=T>>>32-8|T<<8,L=L+T|0,C^=L,C=C>>>32-7|C<<7,j=j+B|0,U^=j,U=U>>>32-8|U<<8,I=I+U|0,B^=I,B=B>>>32-7|B<<7,w=w+f|0,q^=w,q=q>>>32-8|q<<8,P=P+q|0,f^=P,f=f>>>32-7|f<<7,w=w+B|0,T^=w,T=T>>>32-16|T<<16,E=E+T|0,B^=E,B=B>>>32-12|B<<12,j=j+D|0,q^=j,q=q>>>32-16|q<<16,L=L+q|0,D^=L,D=D>>>32-12|D<<12,z=z+C|0,U^=z,U=U>>>32-16|U<<16,P=P+U|0,C^=P,C=C>>>32-12|C<<12,S=S+f|0,$^=S,$=$>>>32-16|$<<16,I=I+$|0,f^=I,f=f>>>32-12|f<<12,z=z+C|0,U^=z,U=U>>>32-8|U<<8,P=P+U|0,C^=P,C=C>>>32-7|C<<7,S=S+f|0,$^=S,$=$>>>32-8|$<<8,I=I+$|0,f^=I,f=f>>>32-7|f<<7,j=j+D|0,q^=j,q=q>>>32-8|q<<8,L=L+q|0,D^=L,D=D>>>32-7|D<<7,w=w+B|0,T^=w,T=T>>>32-8|T<<8,E=E+T|0,B^=E,B=B>>>32-7|B<<7;Ut.writeUint32LE(w+a|0,t,0),Ut.writeUint32LE(j+i|0,t,4),Ut.writeUint32LE(z+o|0,t,8),Ut.writeUint32LE(S+s|0,t,12),Ut.writeUint32LE(f+l|0,t,16),Ut.writeUint32LE(B+c|0,t,20),Ut.writeUint32LE(D+u|0,t,24),Ut.writeUint32LE(C+d|0,t,28),Ut.writeUint32LE(P+p|0,t,32),Ut.writeUint32LE(I+h|0,t,36),Ut.writeUint32LE(E+m|0,t,40),Ut.writeUint32LE(L+g|0,t,44),Ut.writeUint32LE(q+v|0,t,48),Ut.writeUint32LE(U+y|0,t,52),Ut.writeUint32LE($+b|0,t,56),Ut.writeUint32LE(T+k|0,t,60)}function pS(t,e,n,a,i){if(i===void 0&&(i=0),t.length!==32)throw new Error("ChaCha: key size must be 32 bytes");if(a.length>>=8,e++;if(a>0)throw new Error("ChaCha: counter overflow")}var hS={},lo={};Object.defineProperty(lo,"__esModule",{value:!0});function Ege(t,e,n){return~(t-1)&e|t-1&n}lo.select=Ege;function Pge(t,e){return(t|0)-(e|0)-1>>>31&1}lo.lessOrEqual=Pge;function mS(t,e){if(t.length!==e.length)return 0;for(var n=0,a=0;a>>8}lo.compare=mS;function Nge(t,e){return t.length===0||e.length===0?!1:mS(t,e)!==0}lo.equal=Nge;(function(t){Object.defineProperty(t,"__esModule",{value:!0});var e=lo,n=ga;t.DIGEST_LENGTH=16;var a=function(){function s(l){this.digestLength=t.DIGEST_LENGTH,this._buffer=new Uint8Array(16),this._r=new Uint16Array(10),this._h=new Uint16Array(10),this._pad=new Uint16Array(8),this._leftover=0,this._fin=0,this._finished=!1;var c=l[0]|l[1]<<8;this._r[0]=c&8191;var u=l[2]|l[3]<<8;this._r[1]=(c>>>13|u<<3)&8191;var d=l[4]|l[5]<<8;this._r[2]=(u>>>10|d<<6)&7939;var p=l[6]|l[7]<<8;this._r[3]=(d>>>7|p<<9)&8191;var h=l[8]|l[9]<<8;this._r[4]=(p>>>4|h<<12)&255,this._r[5]=h>>>1&8190;var m=l[10]|l[11]<<8;this._r[6]=(h>>>14|m<<2)&8191;var g=l[12]|l[13]<<8;this._r[7]=(m>>>11|g<<5)&8065;var v=l[14]|l[15]<<8;this._r[8]=(g>>>8|v<<8)&8191,this._r[9]=v>>>5&127,this._pad[0]=l[16]|l[17]<<8,this._pad[1]=l[18]|l[19]<<8,this._pad[2]=l[20]|l[21]<<8,this._pad[3]=l[22]|l[23]<<8,this._pad[4]=l[24]|l[25]<<8,this._pad[5]=l[26]|l[27]<<8,this._pad[6]=l[28]|l[29]<<8,this._pad[7]=l[30]|l[31]<<8}return s.prototype._blocks=function(l,c,u){for(var d=this._fin?0:2048,p=this._h[0],h=this._h[1],m=this._h[2],g=this._h[3],v=this._h[4],y=this._h[5],b=this._h[6],k=this._h[7],w=this._h[8],j=this._h[9],z=this._r[0],S=this._r[1],f=this._r[2],B=this._r[3],D=this._r[4],C=this._r[5],P=this._r[6],I=this._r[7],E=this._r[8],L=this._r[9];u>=16;){var q=l[c+0]|l[c+1]<<8;p+=q&8191;var U=l[c+2]|l[c+3]<<8;h+=(q>>>13|U<<3)&8191;var $=l[c+4]|l[c+5]<<8;m+=(U>>>10|$<<6)&8191;var T=l[c+6]|l[c+7]<<8;g+=($>>>7|T<<9)&8191;var F=l[c+8]|l[c+9]<<8;v+=(T>>>4|F<<12)&8191,y+=F>>>1&8191;var N=l[c+10]|l[c+11]<<8;b+=(F>>>14|N<<2)&8191;var Q=l[c+12]|l[c+13]<<8;k+=(N>>>11|Q<<5)&8191;var K=l[c+14]|l[c+15]<<8;w+=(Q>>>8|K<<8)&8191,j+=K>>>5|d;var V=0,G=V;G+=p*z,G+=h*(5*L),G+=m*(5*E),G+=g*(5*I),G+=v*(5*P),V=G>>>13,G&=8191,G+=y*(5*C),G+=b*(5*D),G+=k*(5*B),G+=w*(5*f),G+=j*(5*S),V+=G>>>13,G&=8191;var ee=V;ee+=p*S,ee+=h*z,ee+=m*(5*L),ee+=g*(5*E),ee+=v*(5*I),V=ee>>>13,ee&=8191,ee+=y*(5*P),ee+=b*(5*C),ee+=k*(5*D),ee+=w*(5*B),ee+=j*(5*f),V+=ee>>>13,ee&=8191;var X=V;X+=p*f,X+=h*S,X+=m*z,X+=g*(5*L),X+=v*(5*E),V=X>>>13,X&=8191,X+=y*(5*I),X+=b*(5*P),X+=k*(5*C),X+=w*(5*D),X+=j*(5*B),V+=X>>>13,X&=8191;var oe=V;oe+=p*B,oe+=h*f,oe+=m*S,oe+=g*z,oe+=v*(5*L),V=oe>>>13,oe&=8191,oe+=y*(5*E),oe+=b*(5*I),oe+=k*(5*P),oe+=w*(5*C),oe+=j*(5*D),V+=oe>>>13,oe&=8191;var he=V;he+=p*D,he+=h*B,he+=m*f,he+=g*S,he+=v*z,V=he>>>13,he&=8191,he+=y*(5*L),he+=b*(5*E),he+=k*(5*I),he+=w*(5*P),he+=j*(5*C),V+=he>>>13,he&=8191;var pe=V;pe+=p*C,pe+=h*D,pe+=m*B,pe+=g*f,pe+=v*S,V=pe>>>13,pe&=8191,pe+=y*z,pe+=b*(5*L),pe+=k*(5*E),pe+=w*(5*I),pe+=j*(5*P),V+=pe>>>13,pe&=8191;var ge=V;ge+=p*P,ge+=h*C,ge+=m*D,ge+=g*B,ge+=v*f,V=ge>>>13,ge&=8191,ge+=y*S,ge+=b*z,ge+=k*(5*L),ge+=w*(5*E),ge+=j*(5*I),V+=ge>>>13,ge&=8191;var ye=V;ye+=p*I,ye+=h*P,ye+=m*C,ye+=g*D,ye+=v*B,V=ye>>>13,ye&=8191,ye+=y*f,ye+=b*S,ye+=k*z,ye+=w*(5*L),ye+=j*(5*E),V+=ye>>>13,ye&=8191;var we=V;we+=p*E,we+=h*I,we+=m*P,we+=g*C,we+=v*D,V=we>>>13,we&=8191,we+=y*B,we+=b*f,we+=k*S,we+=w*z,we+=j*(5*L),V+=we>>>13,we&=8191;var Ae=V;Ae+=p*L,Ae+=h*E,Ae+=m*I,Ae+=g*P,Ae+=v*C,V=Ae>>>13,Ae&=8191,Ae+=y*D,Ae+=b*B,Ae+=k*f,Ae+=w*S,Ae+=j*z,V+=Ae>>>13,Ae&=8191,V=(V<<2)+V|0,V=V+G|0,G=V&8191,V=V>>>13,ee+=V,p=G,h=ee,m=X,g=oe,v=he,y=pe,b=ge,k=ye,w=we,j=Ae,c+=16,u-=16}this._h[0]=p,this._h[1]=h,this._h[2]=m,this._h[3]=g,this._h[4]=v,this._h[5]=y,this._h[6]=b,this._h[7]=k,this._h[8]=w,this._h[9]=j},s.prototype.finish=function(l,c){c===void 0&&(c=0);var u=new Uint16Array(10),d,p,h,m;if(this._leftover){for(m=this._leftover,this._buffer[m++]=1;m<16;m++)this._buffer[m]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(d=this._h[1]>>>13,this._h[1]&=8191,m=2;m<10;m++)this._h[m]+=d,d=this._h[m]>>>13,this._h[m]&=8191;for(this._h[0]+=d*5,d=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=d,d=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=d,u[0]=this._h[0]+5,d=u[0]>>>13,u[0]&=8191,m=1;m<10;m++)u[m]=this._h[m]+d,d=u[m]>>>13,u[m]&=8191;for(u[9]-=8192,p=(d^1)-1,m=0;m<10;m++)u[m]&=p;for(p=~p,m=0;m<10;m++)this._h[m]=this._h[m]&p|u[m];for(this._h[0]=(this._h[0]|this._h[1]<<13)&65535,this._h[1]=(this._h[1]>>>3|this._h[2]<<10)&65535,this._h[2]=(this._h[2]>>>6|this._h[3]<<7)&65535,this._h[3]=(this._h[3]>>>9|this._h[4]<<4)&65535,this._h[4]=(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14)&65535,this._h[5]=(this._h[6]>>>2|this._h[7]<<11)&65535,this._h[6]=(this._h[7]>>>5|this._h[8]<<8)&65535,this._h[7]=(this._h[8]>>>8|this._h[9]<<5)&65535,h=this._h[0]+this._pad[0],this._h[0]=h&65535,m=1;m<8;m++)h=(this._h[m]+this._pad[m]|0)+(h>>>16)|0,this._h[m]=h&65535;return l[c+0]=this._h[0]>>>0,l[c+1]=this._h[0]>>>8,l[c+2]=this._h[1]>>>0,l[c+3]=this._h[1]>>>8,l[c+4]=this._h[2]>>>0,l[c+5]=this._h[2]>>>8,l[c+6]=this._h[3]>>>0,l[c+7]=this._h[3]>>>8,l[c+8]=this._h[4]>>>0,l[c+9]=this._h[4]>>>8,l[c+10]=this._h[5]>>>0,l[c+11]=this._h[5]>>>8,l[c+12]=this._h[6]>>>0,l[c+13]=this._h[6]>>>8,l[c+14]=this._h[7]>>>0,l[c+15]=this._h[7]>>>8,this._finished=!0,this},s.prototype.update=function(l){var c=0,u=l.length,d;if(this._leftover){d=16-this._leftover,d>u&&(d=u);for(var p=0;p=16&&(d=u-u%16,this._blocks(l,c,d),c+=d,u-=d),u){for(var p=0;p16)throw new Error("ChaCha20Poly1305: incorrect nonce length");var m=new Uint8Array(16);m.set(u,m.length-u.length);var g=new Uint8Array(32);e.stream(this._key,m,g,4);var v=d.length+this.tagLength,y;if(h){if(h.length!==v)throw new Error("ChaCha20Poly1305: incorrect destination length");y=h}else y=new Uint8Array(v);return e.streamXOR(this._key,m,d,y,4),this._authenticate(y.subarray(y.length-this.tagLength,y.length),g,y.subarray(0,y.length-this.tagLength),p),a.wipe(m),y},c.prototype.open=function(u,d,p,h){if(u.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");if(d.length0&&m.update(s.subarray(h.length%16))),m.update(p),p.length%16>0&&m.update(s.subarray(p.length%16));var g=new Uint8Array(8);h&&i.writeUint64LE(h.length,g),m.update(g),i.writeUint64LE(p.length,g),m.update(g);for(var v=m.digest(),y=0;ythis.blockSize?this._inner.update(n).finish(a).clean():a.set(n);for(var i=0;i1&&this._hmac.update(this._buffer),this._info&&this._hmac.update(this._info),this._hmac.update(this._counter),this._hmac.finish(this._buffer),this._bufpos=0},t.prototype.expand=function(e){for(var n=new Uint8Array(e),a=0;a256)throw new Error("randomString charset is too long");let h="";const m=d.length,g=256-256%m;for(;u>0;){const v=i(Math.ceil(u*256/g),p);for(let y=0;y0;y++){const b=v[y];b0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=c[d++],u--;this._bufferLength===this.blockSize&&(o(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(u>=this.blockSize&&(d=o(this._temp,this._state,c,d,u),u%=this.blockSize);u>0;)this._buffer[this._bufferLength++]=c[d++],u--;return this},l.prototype.finish=function(c){if(!this._finished){var u=this._bytesHashed,d=this._bufferLength,p=u/536870912|0,h=u<<3,m=u%64<56?64:128;this._buffer[d]=128;for(var g=d+1;g0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},l.prototype.restoreState=function(c){return this._state.set(c.state),this._bufferLength=c.bufferLength,c.buffer&&this._buffer.set(c.buffer),this._bytesHashed=c.bytesHashed,this._finished=!1,this},l.prototype.cleanSavedState=function(c){n.wipe(c.state),c.buffer&&n.wipe(c.buffer),c.bufferLength=0,c.bytesHashed=0},l}();t.SHA256=a;var i=new Int32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function o(l,c,u,d,p){for(;p>=64;){for(var h=c[0],m=c[1],g=c[2],v=c[3],y=c[4],b=c[5],k=c[6],w=c[7],j=0;j<16;j++){var z=d+j*4;l[j]=e.readUint32BE(u,z)}for(var j=16;j<64;j++){var S=l[j-2],f=(S>>>17|S<<32-17)^(S>>>19|S<<32-19)^S>>>10;S=l[j-15];var B=(S>>>7|S<<32-7)^(S>>>18|S<<32-18)^S>>>3;l[j]=(f+l[j-7]|0)+(B+l[j-16]|0)}for(var j=0;j<64;j++){var f=(((y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7))+(y&b^~y&k)|0)+(w+(i[j]+l[j]|0)|0)|0,B=((h>>>2|h<<32-2)^(h>>>13|h<<32-13)^(h>>>22|h<<32-22))+(h&m^h&g^m&g)|0;w=k,k=b,b=y,y=v+f|0,v=g,g=m,m=h,h=f+B|0}c[0]+=h,c[1]+=m,c[2]+=g,c[3]+=v,c[4]+=y,c[5]+=b,c[6]+=k,c[7]+=w,d+=64,p-=64}return d}function s(l){var c=new a;c.update(l);var u=c.digest();return c.clean(),u}t.hash=s})(up);var ov={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.sharedKey=t.generateKeyPair=t.generateKeyPairFromSeed=t.scalarMultBase=t.scalarMult=t.SHARED_KEY_LENGTH=t.SECRET_KEY_LENGTH=t.PUBLIC_KEY_LENGTH=void 0;const e=rp,n=ga;t.PUBLIC_KEY_LENGTH=32,t.SECRET_KEY_LENGTH=32,t.SHARED_KEY_LENGTH=32;function a(j){const z=new Float64Array(16);if(j)for(let S=0;S>16&1),S[C-1]&=65535;S[15]=f[15]-32767-(S[14]>>16&1);const D=S[15]>>16&1;S[14]&=65535,l(f,S,1-D)}for(let B=0;B<16;B++)j[2*B]=f[B]&255,j[2*B+1]=f[B]>>8}function u(j,z){for(let S=0;S<16;S++)j[S]=z[2*S]+(z[2*S+1]<<8);j[15]&=32767}function d(j,z,S){for(let f=0;f<16;f++)j[f]=z[f]+S[f]}function p(j,z,S){for(let f=0;f<16;f++)j[f]=z[f]-S[f]}function h(j,z,S){let f,B,D=0,C=0,P=0,I=0,E=0,L=0,q=0,U=0,$=0,T=0,F=0,N=0,Q=0,K=0,V=0,G=0,ee=0,X=0,oe=0,he=0,pe=0,ge=0,ye=0,we=0,Ae=0,va=0,bi=0,ss=0,Kl=0,gp=0,fv=0,zt=S[0],Ct=S[1],Dt=S[2],At=S[3],_t=S[4],Tt=S[5],Et=S[6],Pt=S[7],Nt=S[8],Lt=S[9],It=S[10],$t=S[11],Mt=S[12],Ot=S[13],Rt=S[14],Ft=S[15];f=z[0],D+=f*zt,C+=f*Ct,P+=f*Dt,I+=f*At,E+=f*_t,L+=f*Tt,q+=f*Et,U+=f*Pt,$+=f*Nt,T+=f*Lt,F+=f*It,N+=f*$t,Q+=f*Mt,K+=f*Ot,V+=f*Rt,G+=f*Ft,f=z[1],C+=f*zt,P+=f*Ct,I+=f*Dt,E+=f*At,L+=f*_t,q+=f*Tt,U+=f*Et,$+=f*Pt,T+=f*Nt,F+=f*Lt,N+=f*It,Q+=f*$t,K+=f*Mt,V+=f*Ot,G+=f*Rt,ee+=f*Ft,f=z[2],P+=f*zt,I+=f*Ct,E+=f*Dt,L+=f*At,q+=f*_t,U+=f*Tt,$+=f*Et,T+=f*Pt,F+=f*Nt,N+=f*Lt,Q+=f*It,K+=f*$t,V+=f*Mt,G+=f*Ot,ee+=f*Rt,X+=f*Ft,f=z[3],I+=f*zt,E+=f*Ct,L+=f*Dt,q+=f*At,U+=f*_t,$+=f*Tt,T+=f*Et,F+=f*Pt,N+=f*Nt,Q+=f*Lt,K+=f*It,V+=f*$t,G+=f*Mt,ee+=f*Ot,X+=f*Rt,oe+=f*Ft,f=z[4],E+=f*zt,L+=f*Ct,q+=f*Dt,U+=f*At,$+=f*_t,T+=f*Tt,F+=f*Et,N+=f*Pt,Q+=f*Nt,K+=f*Lt,V+=f*It,G+=f*$t,ee+=f*Mt,X+=f*Ot,oe+=f*Rt,he+=f*Ft,f=z[5],L+=f*zt,q+=f*Ct,U+=f*Dt,$+=f*At,T+=f*_t,F+=f*Tt,N+=f*Et,Q+=f*Pt,K+=f*Nt,V+=f*Lt,G+=f*It,ee+=f*$t,X+=f*Mt,oe+=f*Ot,he+=f*Rt,pe+=f*Ft,f=z[6],q+=f*zt,U+=f*Ct,$+=f*Dt,T+=f*At,F+=f*_t,N+=f*Tt,Q+=f*Et,K+=f*Pt,V+=f*Nt,G+=f*Lt,ee+=f*It,X+=f*$t,oe+=f*Mt,he+=f*Ot,pe+=f*Rt,ge+=f*Ft,f=z[7],U+=f*zt,$+=f*Ct,T+=f*Dt,F+=f*At,N+=f*_t,Q+=f*Tt,K+=f*Et,V+=f*Pt,G+=f*Nt,ee+=f*Lt,X+=f*It,oe+=f*$t,he+=f*Mt,pe+=f*Ot,ge+=f*Rt,ye+=f*Ft,f=z[8],$+=f*zt,T+=f*Ct,F+=f*Dt,N+=f*At,Q+=f*_t,K+=f*Tt,V+=f*Et,G+=f*Pt,ee+=f*Nt,X+=f*Lt,oe+=f*It,he+=f*$t,pe+=f*Mt,ge+=f*Ot,ye+=f*Rt,we+=f*Ft,f=z[9],T+=f*zt,F+=f*Ct,N+=f*Dt,Q+=f*At,K+=f*_t,V+=f*Tt,G+=f*Et,ee+=f*Pt,X+=f*Nt,oe+=f*Lt,he+=f*It,pe+=f*$t,ge+=f*Mt,ye+=f*Ot,we+=f*Rt,Ae+=f*Ft,f=z[10],F+=f*zt,N+=f*Ct,Q+=f*Dt,K+=f*At,V+=f*_t,G+=f*Tt,ee+=f*Et,X+=f*Pt,oe+=f*Nt,he+=f*Lt,pe+=f*It,ge+=f*$t,ye+=f*Mt,we+=f*Ot,Ae+=f*Rt,va+=f*Ft,f=z[11],N+=f*zt,Q+=f*Ct,K+=f*Dt,V+=f*At,G+=f*_t,ee+=f*Tt,X+=f*Et,oe+=f*Pt,he+=f*Nt,pe+=f*Lt,ge+=f*It,ye+=f*$t,we+=f*Mt,Ae+=f*Ot,va+=f*Rt,bi+=f*Ft,f=z[12],Q+=f*zt,K+=f*Ct,V+=f*Dt,G+=f*At,ee+=f*_t,X+=f*Tt,oe+=f*Et,he+=f*Pt,pe+=f*Nt,ge+=f*Lt,ye+=f*It,we+=f*$t,Ae+=f*Mt,va+=f*Ot,bi+=f*Rt,ss+=f*Ft,f=z[13],K+=f*zt,V+=f*Ct,G+=f*Dt,ee+=f*At,X+=f*_t,oe+=f*Tt,he+=f*Et,pe+=f*Pt,ge+=f*Nt,ye+=f*Lt,we+=f*It,Ae+=f*$t,va+=f*Mt,bi+=f*Ot,ss+=f*Rt,Kl+=f*Ft,f=z[14],V+=f*zt,G+=f*Ct,ee+=f*Dt,X+=f*At,oe+=f*_t,he+=f*Tt,pe+=f*Et,ge+=f*Pt,ye+=f*Nt,we+=f*Lt,Ae+=f*It,va+=f*$t,bi+=f*Mt,ss+=f*Ot,Kl+=f*Rt,gp+=f*Ft,f=z[15],G+=f*zt,ee+=f*Ct,X+=f*Dt,oe+=f*At,he+=f*_t,pe+=f*Tt,ge+=f*Et,ye+=f*Pt,we+=f*Nt,Ae+=f*Lt,va+=f*It,bi+=f*$t,ss+=f*Mt,Kl+=f*Ot,gp+=f*Rt,fv+=f*Ft,D+=38*ee,C+=38*X,P+=38*oe,I+=38*he,E+=38*pe,L+=38*ge,q+=38*ye,U+=38*we,$+=38*Ae,T+=38*va,F+=38*bi,N+=38*ss,Q+=38*Kl,K+=38*gp,V+=38*fv,B=1,f=D+B+65535,B=Math.floor(f/65536),D=f-B*65536,f=C+B+65535,B=Math.floor(f/65536),C=f-B*65536,f=P+B+65535,B=Math.floor(f/65536),P=f-B*65536,f=I+B+65535,B=Math.floor(f/65536),I=f-B*65536,f=E+B+65535,B=Math.floor(f/65536),E=f-B*65536,f=L+B+65535,B=Math.floor(f/65536),L=f-B*65536,f=q+B+65535,B=Math.floor(f/65536),q=f-B*65536,f=U+B+65535,B=Math.floor(f/65536),U=f-B*65536,f=$+B+65535,B=Math.floor(f/65536),$=f-B*65536,f=T+B+65535,B=Math.floor(f/65536),T=f-B*65536,f=F+B+65535,B=Math.floor(f/65536),F=f-B*65536,f=N+B+65535,B=Math.floor(f/65536),N=f-B*65536,f=Q+B+65535,B=Math.floor(f/65536),Q=f-B*65536,f=K+B+65535,B=Math.floor(f/65536),K=f-B*65536,f=V+B+65535,B=Math.floor(f/65536),V=f-B*65536,f=G+B+65535,B=Math.floor(f/65536),G=f-B*65536,D+=B-1+37*(B-1),B=1,f=D+B+65535,B=Math.floor(f/65536),D=f-B*65536,f=C+B+65535,B=Math.floor(f/65536),C=f-B*65536,f=P+B+65535,B=Math.floor(f/65536),P=f-B*65536,f=I+B+65535,B=Math.floor(f/65536),I=f-B*65536,f=E+B+65535,B=Math.floor(f/65536),E=f-B*65536,f=L+B+65535,B=Math.floor(f/65536),L=f-B*65536,f=q+B+65535,B=Math.floor(f/65536),q=f-B*65536,f=U+B+65535,B=Math.floor(f/65536),U=f-B*65536,f=$+B+65535,B=Math.floor(f/65536),$=f-B*65536,f=T+B+65535,B=Math.floor(f/65536),T=f-B*65536,f=F+B+65535,B=Math.floor(f/65536),F=f-B*65536,f=N+B+65535,B=Math.floor(f/65536),N=f-B*65536,f=Q+B+65535,B=Math.floor(f/65536),Q=f-B*65536,f=K+B+65535,B=Math.floor(f/65536),K=f-B*65536,f=V+B+65535,B=Math.floor(f/65536),V=f-B*65536,f=G+B+65535,B=Math.floor(f/65536),G=f-B*65536,D+=B-1+37*(B-1),j[0]=D,j[1]=C,j[2]=P,j[3]=I,j[4]=E,j[5]=L,j[6]=q,j[7]=U,j[8]=$,j[9]=T,j[10]=F,j[11]=N,j[12]=Q,j[13]=K,j[14]=V,j[15]=G}function m(j,z){h(j,z,z)}function g(j,z){const S=a();for(let f=0;f<16;f++)S[f]=z[f];for(let f=253;f>=0;f--)m(S,S),f!==2&&f!==4&&h(S,S,z);for(let f=0;f<16;f++)j[f]=S[f]}function v(j,z){const S=new Uint8Array(32),f=new Float64Array(80),B=a(),D=a(),C=a(),P=a(),I=a(),E=a();for(let $=0;$<31;$++)S[$]=j[$];S[31]=j[31]&127|64,S[0]&=248,u(f,z);for(let $=0;$<16;$++)D[$]=f[$];B[0]=P[0]=1;for(let $=254;$>=0;--$){const T=S[$>>>3]>>>($&7)&1;l(B,D,T),l(C,P,T),d(I,B,C),p(B,B,C),d(C,D,P),p(D,D,P),m(P,I),m(E,B),h(B,C,B),h(C,D,I),d(I,B,C),p(B,B,C),m(D,B),p(C,P,E),h(B,C,o),d(B,B,P),h(C,C,B),h(B,P,E),h(P,D,f),m(D,I),l(B,D,T),l(C,P,T)}for(let $=0;$<16;$++)f[$+16]=B[$],f[$+32]=C[$],f[$+48]=D[$],f[$+64]=P[$];const L=f.subarray(32),q=f.subarray(16);g(L,L),h(q,q,L);const U=new Uint8Array(32);return c(U,q),U}t.scalarMult=v;function y(j){return v(j,i)}t.scalarMultBase=y;function b(j){if(j.length!==t.SECRET_KEY_LENGTH)throw new Error(`x25519: seed must be ${t.SECRET_KEY_LENGTH} bytes`);const z=new Uint8Array(j);return{publicKey:y(z),secretKey:z}}t.generateKeyPairFromSeed=b;function k(j){const z=(0,e.randomBytes)(32,j),S=b(z);return(0,n.wipe)(z),S}t.generateKeyPair=k;function w(j,z,S=!1){if(j.length!==t.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect secret key length");if(z.length!==t.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect public key length");const f=v(j,z);if(S){let B=0;for(let D=0;Di+o.length,0));const n=vS(e);let a=0;for(const i of t)n.set(i,a),a+=i.length;return rv(n)}function Zge(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),a=0;a>>0,j=new Uint8Array(w);b!==k;){for(var z=g[b],S=0,f=w-1;(z!==0||S>>0,j[f]=z%l>>>0,z=z/l>>>0;if(z!==0)throw new Error("Non-zero carry");y=S,b++}for(var B=w-y;B!==w&&j[B]===0;)B++;for(var D=c.repeat(v);B>>0,w=new Uint8Array(k);g[v];){var j=n[g.charCodeAt(v)];if(j===255)return;for(var z=0,S=k-1;(j!==0||z>>0,w[S]=j%256>>>0,j=j/256>>>0;if(j!==0)throw new Error("Non-zero carry");b=z,v++}if(g[v]!==" "){for(var f=k-b;f!==k&&w[f]===0;)f++;for(var B=new Uint8Array(y+(k-f)),D=y;f!==k;)B[D++]=w[f++];return B}}}function m(g){var v=h(g);if(v)return v;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:h,decode:m}}var Jge=Zge,Xge=Jge;const eve=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},tve=t=>new TextEncoder().encode(t),nve=t=>new TextDecoder().decode(t);class ave{constructor(e,n,a){this.name=e,this.prefix=n,this.baseEncode=a}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class ive{constructor(e,n,a){if(this.name=e,this.prefix=n,n.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=n.codePointAt(0),this.baseDecode=a}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return bS(this,e)}}class ove{constructor(e){this.decoders=e}or(e){return bS(this,e)}decode(e){const n=e[0],a=this.decoders[n];if(a)return a.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const bS=(t,e)=>new ove({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class rve{constructor(e,n,a,i){this.name=e,this.prefix=n,this.baseEncode=a,this.baseDecode=i,this.encoder=new ave(e,n,a),this.decoder=new ive(e,n,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const dp=({name:t,prefix:e,encode:n,decode:a})=>new rve(t,e,n,a),Wl=({prefix:t,name:e,alphabet:n})=>{const{encode:a,decode:i}=Xge(n,e);return dp({prefix:t,name:e,encode:a,decode:o=>eve(i(o))})},sve=(t,e,n,a)=>{const i={};for(let d=0;d=8&&(l-=8,s[u++]=255&c>>l)}if(l>=n||255&c<<8-l)throw new SyntaxError("Unexpected end of data");return s},lve=(t,e,n)=>{const a=e[e.length-1]==="=",i=(1<n;)s-=n,o+=e[i&l>>s];if(s&&(o+=e[i&l<dp({prefix:e,name:t,encode(i){return lve(i,a,n)},decode(i){return sve(i,a,n,t)}}),cve=dp({prefix:"\0",name:"identity",encode:t=>nve(t),decode:t=>tve(t)}),uve=Object.freeze(Object.defineProperty({__proto__:null,identity:cve},Symbol.toStringTag,{value:"Module"})),dve=St({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),pve=Object.freeze(Object.defineProperty({__proto__:null,base2:dve},Symbol.toStringTag,{value:"Module"})),hve=St({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),mve=Object.freeze(Object.defineProperty({__proto__:null,base8:hve},Symbol.toStringTag,{value:"Module"})),fve=Wl({prefix:"9",name:"base10",alphabet:"0123456789"}),gve=Object.freeze(Object.defineProperty({__proto__:null,base10:fve},Symbol.toStringTag,{value:"Module"})),vve=St({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),bve=St({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),kve=Object.freeze(Object.defineProperty({__proto__:null,base16:vve,base16upper:bve},Symbol.toStringTag,{value:"Module"})),xve=St({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),yve=St({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),wve=St({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),jve=St({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bve=St({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Sve=St({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zve=St({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Cve=St({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Dve=St({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),Ave=Object.freeze(Object.defineProperty({__proto__:null,base32:xve,base32hex:Bve,base32hexpad:zve,base32hexpadupper:Cve,base32hexupper:Sve,base32pad:wve,base32padupper:jve,base32upper:yve,base32z:Dve},Symbol.toStringTag,{value:"Module"})),_ve=Wl({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Tve=Wl({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),Eve=Object.freeze(Object.defineProperty({__proto__:null,base36:_ve,base36upper:Tve},Symbol.toStringTag,{value:"Module"})),Pve=Wl({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Nve=Wl({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),Lve=Object.freeze(Object.defineProperty({__proto__:null,base58btc:Pve,base58flickr:Nve},Symbol.toStringTag,{value:"Module"})),Ive=St({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),$ve=St({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Mve=St({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ove=St({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),Rve=Object.freeze(Object.defineProperty({__proto__:null,base64:Ive,base64pad:$ve,base64url:Mve,base64urlpad:Ove},Symbol.toStringTag,{value:"Module"})),kS=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),Fve=kS.reduce((t,e,n)=>(t[n]=e,t),[]),Vve=kS.reduce((t,e,n)=>(t[e.codePointAt(0)]=n,t),[]);function Wve(t){return t.reduce((e,n)=>(e+=Fve[n],e),"")}function Uve(t){const e=[];for(const n of t){const a=Vve[n.codePointAt(0)];if(a===void 0)throw new Error(`Non-base256emoji character: ${n}`);e.push(a)}return new Uint8Array(e)}const qve=dp({prefix:"🚀",name:"base256emoji",encode:Wve,decode:Uve}),Hve=Object.freeze(Object.defineProperty({__proto__:null,base256emoji:qve},Symbol.toStringTag,{value:"Module"}));new TextEncoder;new TextDecoder;const ey={...uve,...pve,...mve,...gve,...kve,...Ave,...Eve,...Lve,...Rve,...Hve};function xS(t,e,n,a){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:n},decoder:{decode:a}}}const ty=xS("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Th=xS("ascii","a",t=>{let e="a";for(let n=0;n{t=t.substring(1);const e=vS(t.length);for(let n=0;n"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Zve:typeof navigator<"u"?oy(navigator.userAgent):ibe()}function nbe(t){return t!==""&&ebe.reduce(function(e,n){var a=n[0],i=n[1];if(e)return e;var o=i.exec(t);return!!o&&[a,o]},!1)}function oy(t){var e=nbe(t);if(!e)return null;var n=e[0],a=e[1];if(n==="searchbot")return new Yve;var i=a[1]&&a[1].split(".").join("_").split("_").slice(0,3);i?i.length=0;l--)(s=t[l])&&(o=(i<3?s(o):i>3?s(e,n,o):s(e,n))||o);return i>3&&o&&Object.defineProperty(e,n,o),o}function cbe(t,e){return function(n,a){e(n,a,t)}}function ube(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function dbe(t,e,n,a){function i(o){return o instanceof n?o:new n(function(s){s(o)})}return new(n||(n=Promise))(function(o,s){function l(d){try{u(a.next(d))}catch(p){s(p)}}function c(d){try{u(a.throw(d))}catch(p){s(p)}}function u(d){d.done?o(d.value):i(d.value).then(l,c)}u((a=a.apply(t,e||[])).next())})}function pbe(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a,i,o,s;return s={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function l(u){return function(d){return c([u,d])}}function c(u){if(a)throw new TypeError("Generator is already executing.");for(;n;)try{if(a=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]=t.length&&(t=void 0),{value:t&&t[a++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function wS(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var a=n.call(t),i,o=[],s;try{for(;(e===void 0||e-- >0)&&!(i=a.next()).done;)o.push(i.value)}catch(l){s={error:l}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(s)throw s.error}}return o}function fbe(){for(var t=[],e=0;e1||l(h,m)})})}function l(h,m){try{c(a[h](m))}catch(g){p(o[0][3],g)}}function c(h){h.value instanceof jl?Promise.resolve(h.value.v).then(u,d):p(o[0][2],h)}function u(h){l("next",h)}function d(h){l("throw",h)}function p(h,m){h(m),o.shift(),o.length&&l(o[0][0],o[0][1])}}function bbe(t){var e,n;return e={},a("next"),a("throw",function(i){throw i}),a("return"),e[Symbol.iterator]=function(){return this},e;function a(i,o){e[i]=t[i]?function(s){return(n=!n)?{value:jl(t[i](s)),done:i==="return"}:o?o(s):s}:o}}function kbe(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof df=="function"?df(t):t[Symbol.iterator](),n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n);function a(o){n[o]=t[o]&&function(s){return new Promise(function(l,c){s=t[o](s),i(l,c,s.done,s.value)})}}function i(o,s,l,c){Promise.resolve(c).then(function(u){o({value:u,done:l})},s)}}function xbe(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function ybe(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function wbe(t){return t&&t.__esModule?t:{default:t}}function jbe(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function Bbe(t,e,n){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,n),n}const Sbe=Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return uf},__asyncDelegator:bbe,__asyncGenerator:vbe,__asyncValues:kbe,__await:jl,__awaiter:dbe,__classPrivateFieldGet:jbe,__classPrivateFieldSet:Bbe,__createBinding:hbe,__decorate:lbe,__exportStar:mbe,__extends:rbe,__generator:pbe,__importDefault:wbe,__importStar:ybe,__makeTemplateObject:xbe,__metadata:ube,__param:cbe,__read:wS,__rest:sbe,__spread:fbe,__spreadArrays:gbe,__values:df},Symbol.toStringTag,{value:"Module"})),pp=$y(Sbe);var Eh={},Ss={},ry;function zbe(){if(ry)return Ss;ry=1,Object.defineProperty(Ss,"__esModule",{value:!0}),Ss.delay=void 0;function t(e){return new Promise(n=>{setTimeout(()=>{n(!0)},e)})}return Ss.delay=t,Ss}var go={},Ph={},vo={},sy;function Cbe(){return sy||(sy=1,Object.defineProperty(vo,"__esModule",{value:!0}),vo.ONE_THOUSAND=vo.ONE_HUNDRED=void 0,vo.ONE_HUNDRED=100,vo.ONE_THOUSAND=1e3),vo}var Nh={},ly;function Dbe(){return ly||(ly=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=t.ONE_MINUTE*5,t.TEN_MINUTES=t.ONE_MINUTE*10,t.THIRTY_MINUTES=t.ONE_MINUTE*30,t.SIXTY_MINUTES=t.ONE_MINUTE*60,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=t.ONE_HOUR*3,t.SIX_HOURS=t.ONE_HOUR*6,t.TWELVE_HOURS=t.ONE_HOUR*12,t.TWENTY_FOUR_HOURS=t.ONE_HOUR*24,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=t.ONE_DAY*3,t.FIVE_DAYS=t.ONE_DAY*5,t.SEVEN_DAYS=t.ONE_DAY*7,t.THIRTY_DAYS=t.ONE_DAY*30,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=t.ONE_WEEK*2,t.THREE_WEEKS=t.ONE_WEEK*3,t.FOUR_WEEKS=t.ONE_WEEK*4,t.ONE_YEAR=t.ONE_DAY*365}(Nh)),Nh}var cy;function jS(){return cy||(cy=1,function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=pp;e.__exportStar(Cbe(),t),e.__exportStar(Dbe(),t)}(Ph)),Ph}var uy;function Abe(){if(uy)return go;uy=1,Object.defineProperty(go,"__esModule",{value:!0}),go.fromMiliseconds=go.toMiliseconds=void 0;const t=jS();function e(a){return a*t.ONE_THOUSAND}go.toMiliseconds=e;function n(a){return Math.floor(a/t.ONE_THOUSAND)}return go.fromMiliseconds=n,go}var dy;function _be(){return dy||(dy=1,function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=pp;e.__exportStar(zbe(),t),e.__exportStar(Abe(),t)}(Eh)),Eh}var rr={},py;function Tbe(){if(py)return rr;py=1,Object.defineProperty(rr,"__esModule",{value:!0}),rr.Watch=void 0;class t{constructor(){this.timestamps=new Map}start(n){if(this.timestamps.has(n))throw new Error(`Watch already started for label: ${n}`);this.timestamps.set(n,{started:Date.now()})}stop(n){const a=this.get(n);if(typeof a.elapsed<"u")throw new Error(`Watch already stopped for label: ${n}`);const i=Date.now()-a.started;this.timestamps.set(n,{started:a.started,elapsed:i})}get(n){const a=this.timestamps.get(n);if(typeof a>"u")throw new Error(`No timestamp found for label: ${n}`);return a}elapsed(n){const a=this.get(n);return a.elapsed||Date.now()-a.started}}return rr.Watch=t,rr.default=t,rr}var Lh={},zs={},hy;function Ebe(){if(hy)return zs;hy=1,Object.defineProperty(zs,"__esModule",{value:!0}),zs.IWatch=void 0;class t{}return zs.IWatch=t,zs}var my;function Pbe(){return my||(my=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),pp.__exportStar(Ebe(),t)}(Lh)),Lh}(function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=pp;e.__exportStar(_be(),t),e.__exportStar(Tbe(),t),e.__exportStar(Pbe(),t),e.__exportStar(jS(),t)})(Eo);var Te={};Object.defineProperty(Te,"__esModule",{value:!0});Te.getLocalStorage=Te.getLocalStorageOrThrow=Te.getCrypto=Te.getCryptoOrThrow=SS=Te.getLocation=Te.getLocationOrThrow=sv=Te.getNavigator=Te.getNavigatorOrThrow=BS=Te.getDocument=Te.getDocumentOrThrow=Te.getFromWindowOrThrow=Te.getFromWindow=void 0;function Xo(t){let e;return typeof window<"u"&&typeof window[t]<"u"&&(e=window[t]),e}Te.getFromWindow=Xo;function os(t){const e=Xo(t);if(!e)throw new Error(`${t} is not defined in Window`);return e}Te.getFromWindowOrThrow=os;function Nbe(){return os("document")}Te.getDocumentOrThrow=Nbe;function Lbe(){return Xo("document")}var BS=Te.getDocument=Lbe;function Ibe(){return os("navigator")}Te.getNavigatorOrThrow=Ibe;function $be(){return Xo("navigator")}var sv=Te.getNavigator=$be;function Mbe(){return os("location")}Te.getLocationOrThrow=Mbe;function Obe(){return Xo("location")}var SS=Te.getLocation=Obe;function Rbe(){return os("crypto")}Te.getCryptoOrThrow=Rbe;function Fbe(){return Xo("crypto")}Te.getCrypto=Fbe;function Vbe(){return os("localStorage")}Te.getLocalStorageOrThrow=Vbe;function Wbe(){return Xo("localStorage")}Te.getLocalStorage=Wbe;var lv={};Object.defineProperty(lv,"__esModule",{value:!0});var zS=lv.getWindowMetadata=void 0;const fy=Te;function Ube(){let t,e;try{t=fy.getDocumentOrThrow(),e=fy.getLocationOrThrow()}catch{return null}function n(){const p=t.getElementsByTagName("link"),h=[];for(let m=0;m-1){const y=g.getAttribute("href");if(y)if(y.toLowerCase().indexOf("https:")===-1&&y.toLowerCase().indexOf("http:")===-1&&y.indexOf("//")!==0){let b=e.protocol+"//"+e.host;if(y.indexOf("/")===0)b+=y;else{const k=e.pathname.split("/");k.pop();const w=k.join("/");b+=w+"/"+y}h.push(b)}else if(y.indexOf("//")===0){const b=e.protocol+y;h.push(b)}else h.push(y)}}return h}function a(...p){const h=t.getElementsByTagName("meta");for(let m=0;mg.getAttribute(y)).filter(y=>y?p.includes(y):!1);if(v.length&&v){const y=g.getAttribute("content");if(y)return y}}return""}function i(){let p=a("name","og:site_name","og:title","twitter:title");return p||(p=t.title),p}function o(){return a("description","og:description","twitter:description","keywords")}const s=i(),l=o(),c=e.origin,u=n();return{description:l,url:c,icons:u,name:s}}zS=lv.getWindowMetadata=Ube;var Bl={},qbe=t=>encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),CS="%[a-f0-9]{2}",gy=new RegExp("("+CS+")|([^%]+?)","gi"),vy=new RegExp("("+CS+")+","gi");function pf(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;var n=t.slice(0,e),a=t.slice(e);return Array.prototype.concat.call([],pf(n),pf(a))}function Hbe(t){try{return decodeURIComponent(t)}catch{for(var e=t.match(gy)||[],n=1;n{if(!(typeof t=="string"&&typeof e=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e==="")return[t];const n=t.indexOf(e);return n===-1?[t]:[t.slice(0,n),t.slice(n+e.length)]},Ybe=function(t,e){for(var n={},a=Object.keys(t),i=Array.isArray(e),o=0;ok==null,s=Symbol("encodeFragmentIdentifier");function l(k){switch(k.arrayFormat){case"index":return w=>(j,z)=>{const S=j.length;return z===void 0||k.skipNull&&z===null||k.skipEmptyString&&z===""?j:z===null?[...j,[d(w,k),"[",S,"]"].join("")]:[...j,[d(w,k),"[",d(S,k),"]=",d(z,k)].join("")]};case"bracket":return w=>(j,z)=>z===void 0||k.skipNull&&z===null||k.skipEmptyString&&z===""?j:z===null?[...j,[d(w,k),"[]"].join("")]:[...j,[d(w,k),"[]=",d(z,k)].join("")];case"colon-list-separator":return w=>(j,z)=>z===void 0||k.skipNull&&z===null||k.skipEmptyString&&z===""?j:z===null?[...j,[d(w,k),":list="].join("")]:[...j,[d(w,k),":list=",d(z,k)].join("")];case"comma":case"separator":case"bracket-separator":{const w=k.arrayFormat==="bracket-separator"?"[]=":"=";return j=>(z,S)=>S===void 0||k.skipNull&&S===null||k.skipEmptyString&&S===""?z:(S=S===null?"":S,z.length===0?[[d(j,k),w,d(S,k)].join("")]:[[z,d(S,k)].join(k.arrayFormatSeparator)])}default:return w=>(j,z)=>z===void 0||k.skipNull&&z===null||k.skipEmptyString&&z===""?j:z===null?[...j,d(w,k)]:[...j,[d(w,k),"=",d(z,k)].join("")]}}function c(k){let w;switch(k.arrayFormat){case"index":return(j,z,S)=>{if(w=/\[(\d*)\]$/.exec(j),j=j.replace(/\[\d*\]$/,""),!w){S[j]=z;return}S[j]===void 0&&(S[j]={}),S[j][w[1]]=z};case"bracket":return(j,z,S)=>{if(w=/(\[\])$/.exec(j),j=j.replace(/\[\]$/,""),!w){S[j]=z;return}if(S[j]===void 0){S[j]=[z];return}S[j]=[].concat(S[j],z)};case"colon-list-separator":return(j,z,S)=>{if(w=/(:list)$/.exec(j),j=j.replace(/:list$/,""),!w){S[j]=z;return}if(S[j]===void 0){S[j]=[z];return}S[j]=[].concat(S[j],z)};case"comma":case"separator":return(j,z,S)=>{const f=typeof z=="string"&&z.includes(k.arrayFormatSeparator),B=typeof z=="string"&&!f&&p(z,k).includes(k.arrayFormatSeparator);z=B?p(z,k):z;const D=f||B?z.split(k.arrayFormatSeparator).map(C=>p(C,k)):z===null?z:p(z,k);S[j]=D};case"bracket-separator":return(j,z,S)=>{const f=/(\[\])$/.test(j);if(j=j.replace(/\[\]$/,""),!f){S[j]=z&&p(z,k);return}const B=z===null?[]:z.split(k.arrayFormatSeparator).map(D=>p(D,k));if(S[j]===void 0){S[j]=B;return}S[j]=[].concat(S[j],B)};default:return(j,z,S)=>{if(S[j]===void 0){S[j]=z;return}S[j]=[].concat(S[j],z)}}}function u(k){if(typeof k!="string"||k.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function d(k,w){return w.encode?w.strict?e(k):encodeURIComponent(k):k}function p(k,w){return w.decode?n(k):k}function h(k){return Array.isArray(k)?k.sort():typeof k=="object"?h(Object.keys(k)).sort((w,j)=>Number(w)-Number(j)).map(w=>k[w]):k}function m(k){const w=k.indexOf("#");return w!==-1&&(k=k.slice(0,w)),k}function g(k){let w="";const j=k.indexOf("#");return j!==-1&&(w=k.slice(j)),w}function v(k){k=m(k);const w=k.indexOf("?");return w===-1?"":k.slice(w+1)}function y(k,w){return w.parseNumbers&&!Number.isNaN(Number(k))&&typeof k=="string"&&k.trim()!==""?k=Number(k):w.parseBooleans&&k!==null&&(k.toLowerCase()==="true"||k.toLowerCase()==="false")&&(k=k.toLowerCase()==="true"),k}function b(k,w){w=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},w),u(w.arrayFormatSeparator);const j=c(w),z=Object.create(null);if(typeof k!="string"||(k=k.trim().replace(/^[?#&]/,""),!k))return z;for(const S of k.split("&")){if(S==="")continue;let[f,B]=a(w.decode?S.replace(/\+/g," "):S,"=");B=B===void 0?null:["comma","separator","bracket-separator"].includes(w.arrayFormat)?B:p(B,w),j(p(f,w),B,z)}for(const S of Object.keys(z)){const f=z[S];if(typeof f=="object"&&f!==null)for(const B of Object.keys(f))f[B]=y(f[B],w);else z[S]=y(f,w)}return w.sort===!1?z:(w.sort===!0?Object.keys(z).sort():Object.keys(z).sort(w.sort)).reduce((S,f)=>{const B=z[f];return B&&typeof B=="object"&&!Array.isArray(B)?S[f]=h(B):S[f]=B,S},Object.create(null))}t.extract=v,t.parse=b,t.stringify=(k,w)=>{if(!k)return"";w=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},w),u(w.arrayFormatSeparator);const j=B=>w.skipNull&&o(k[B])||w.skipEmptyString&&k[B]==="",z=l(w),S={};for(const B of Object.keys(k))j(B)||(S[B]=k[B]);const f=Object.keys(S);return w.sort!==!1&&f.sort(w.sort),f.map(B=>{const D=k[B];return D===void 0?"":D===null?d(B,w):Array.isArray(D)?D.length===0&&w.arrayFormat==="bracket-separator"?d(B,w)+"[]":D.reduce(z(B),[]).join("&"):d(B,w)+"="+d(D,w)}).filter(B=>B.length>0).join("&")},t.parseUrl=(k,w)=>{w=Object.assign({decode:!0},w);const[j,z]=a(k,"#");return Object.assign({url:j.split("?")[0]||"",query:b(v(k),w)},w&&w.parseFragmentIdentifier&&z?{fragmentIdentifier:p(z,w)}:{})},t.stringifyUrl=(k,w)=>{w=Object.assign({encode:!0,strict:!0,[s]:!0},w);const j=m(k.url).split("?")[0]||"",z=t.extract(k.url),S=t.parse(z,{sort:!1}),f=Object.assign(S,k.query);let B=t.stringify(f,w);B&&(B=`?${B}`);let D=g(k.url);return k.fragmentIdentifier&&(D=`#${w[s]?d(k.fragmentIdentifier,w):k.fragmentIdentifier}`),`${j}${B}${D}`},t.pick=(k,w,j)=>{j=Object.assign({parseFragmentIdentifier:!0,[s]:!1},j);const{url:z,query:S,fragmentIdentifier:f}=t.parseUrl(k,j);return t.stringifyUrl({url:z,query:i(S,w),fragmentIdentifier:f},j)},t.exclude=(k,w,j)=>{const z=Array.isArray(w)?S=>!w.includes(S):(S,f)=>!w(S,f);return t.pick(k,z,j)}})(Bl);const Zbe={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe"}};function DS(t,e){return t.includes(":")?[t]:e.chains||[]}const AS="base10",vn="base16",hf="base64pad",cv="utf8",_S=0,Ul=1,Jbe=0,by=1,mf=12,uv=32;function g0e(){const t=ov.generateKeyPair();return{privateKey:ma(t.secretKey,vn),publicKey:ma(t.publicKey,vn)}}function v0e(){const t=rp.randomBytes(uv);return ma(t,vn)}function b0e(t,e){const n=ov.sharedKey(sa(t,vn),sa(e,vn),!0),a=new Rge(up.SHA256,n).expand(uv);return ma(a,vn)}function k0e(t){const e=up.hash(sa(t,vn));return ma(e,vn)}function x0e(t){const e=up.hash(sa(t,cv));return ma(e,vn)}function Xbe(t){return sa(`${t}`,AS)}function hp(t){return Number(ma(t,AS))}function y0e(t){const e=Xbe(typeof t.type<"u"?t.type:_S);if(hp(e)===Ul&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const n=typeof t.senderPublicKey<"u"?sa(t.senderPublicKey,vn):void 0,a=typeof t.iv<"u"?sa(t.iv,vn):rp.randomBytes(mf),i=new av.ChaCha20Poly1305(sa(t.symKey,vn)).seal(a,sa(t.message,cv));return eke({type:e,sealed:i,iv:a,senderPublicKey:n})}function w0e(t){const e=new av.ChaCha20Poly1305(sa(t.symKey,vn)),{sealed:n,iv:a}=TS(t.encoded),i=e.open(a,n);if(i===null)throw new Error("Failed to decrypt");return ma(i,cv)}function eke(t){if(hp(t.type)===Ul){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return ma(Xx([t.type,t.senderPublicKey,t.iv,t.sealed]),hf)}return ma(Xx([t.type,t.iv,t.sealed]),hf)}function TS(t){const e=sa(t,hf),n=e.slice(Jbe,by),a=by;if(hp(n)===Ul){const l=a+uv,c=l+mf,u=e.slice(a,l),d=e.slice(l,c),p=e.slice(c);return{type:n,sealed:p,iv:d,senderPublicKey:u}}const i=a+mf,o=e.slice(a,i),s=e.slice(i);return{type:n,sealed:s,iv:o}}function j0e(t,e){const n=TS(t);return tke({type:hp(n.type),senderPublicKey:typeof n.senderPublicKey<"u"?ma(n.senderPublicKey,vn):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function tke(t){const e=(t==null?void 0:t.type)||_S;if(e===Ul){if(typeof(t==null?void 0:t.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(t==null?void 0:t.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:t==null?void 0:t.senderPublicKey,receiverPublicKey:t==null?void 0:t.receiverPublicKey}}function B0e(t){return t.type===Ul&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}var nke=Object.defineProperty,ky=Object.getOwnPropertySymbols,ake=Object.prototype.hasOwnProperty,ike=Object.prototype.propertyIsEnumerable,xy=(t,e,n)=>e in t?nke(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,yy=(t,e)=>{for(var n in e||(e={}))ake.call(e,n)&&xy(t,n,e[n]);if(ky)for(var n of ky(e))ike.call(e,n)&&xy(t,n,e[n]);return t};const oke="ReactNative",jn={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},rke="js";function ES(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function ql(){return!BS()&&!!sv()&&navigator.product===oke}function mp(){return!ES()&&!!sv()}function Hl(){return ql()?jn.reactNative:ES()?jn.node:mp()?jn.browser:jn.unknown}function S0e(){var t;try{return ql()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function ske(t,e){let n=Bl.parse(t);return n=yy(yy({},n),e),t=Bl.stringify(n),t}function z0e(){return zS()||{name:"",description:"",url:"",icons:[""]}}function lke(){if(Hl()===jn.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:n,Version:a}=global.Platform;return[n,a].join("-")}const t=tbe();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function cke(){var t;const e=Hl();return e===jn.browser?[e,((t=SS())==null?void 0:t.host)||"unknown"].join(":"):e}function uke(t,e,n){const a=lke(),i=cke();return[[t,e].join("-"),[rke,n].join("-"),a,i].join("/")}function C0e({protocol:t,version:e,relayUrl:n,sdkVersion:a,auth:i,projectId:o,useOnCloseEvent:s,bundleId:l}){const c=n.split("?"),u=uke(t,e,a),d={auth:i,ua:u,projectId:o,useOnCloseEvent:s||void 0,origin:l||void 0},p=ske(c[1]||"",d);return c[0]+"?"+p}function zo(t,e){return t.filter(n=>e.includes(n)).length===t.length}function D0e(t){return Object.fromEntries(t.entries())}function A0e(t){return new Map(Object.entries(t))}function _0e(t=Eo.FIVE_MINUTES,e){const n=Eo.toMiliseconds(t||Eo.FIVE_MINUTES);let a,i,o;return{resolve:s=>{o&&a&&(clearTimeout(o),a(s))},reject:s=>{o&&i&&(clearTimeout(o),i(s))},done:()=>new Promise((s,l)=>{o=setTimeout(()=>{l(new Error(e))},n),a=s,i=l})}}function T0e(t,e,n){return new Promise(async(a,i)=>{const o=setTimeout(()=>i(new Error(n)),e);try{const s=await t;a(s)}catch(s){i(s)}clearTimeout(o)})}function PS(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function E0e(t){return PS("topic",t)}function P0e(t){return PS("id",t)}function N0e(t){const[e,n]=t.split(":"),a={id:void 0,topic:void 0};if(e==="topic"&&typeof n=="string")a.topic=n;else if(e==="id"&&Number.isInteger(Number(n)))a.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${n}`);return a}function L0e(t,e){return Eo.fromMiliseconds((e||Date.now())+Eo.toMiliseconds(t))}function I0e(t){return Date.now()>=Eo.toMiliseconds(t)}function $0e(t,e){return`${t}${e?`:${e}`:""}`}function Co(t=[],e=[]){return[...new Set([...t,...e])]}async function M0e({id:t,topic:e,wcDeepLink:n}){try{if(!n)return;const a=typeof n=="string"?JSON.parse(n):n;let i=a==null?void 0:a.href;if(typeof i!="string")return;i.endsWith("/")&&(i=i.slice(0,-1));const o=`${i}/wc?requestId=${t}&sessionTopic=${e}`,s=Hl();s===jn.browser?o.startsWith("https://")?window.open(o,"_blank","noreferrer noopener"):window.open(o,"_self","noreferrer noopener"):s===jn.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(o)}catch(a){console.error(a)}}async function O0e(t,e){try{return await t.getItem(e)||(mp()?localStorage.getItem(e):void 0)}catch(n){console.error(n)}}const dke="irn";function R0e(t){return(t==null?void 0:t.relay)||{protocol:dke}}function F0e(t){const e=Zbe[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}var pke=Object.defineProperty,wy=Object.getOwnPropertySymbols,hke=Object.prototype.hasOwnProperty,mke=Object.prototype.propertyIsEnumerable,jy=(t,e,n)=>e in t?pke(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,fke=(t,e)=>{for(var n in e||(e={}))hke.call(e,n)&&jy(t,n,e[n]);if(wy)for(var n of wy(e))mke.call(e,n)&&jy(t,n,e[n]);return t};function gke(t,e="-"){const n={},a="relay"+e;return Object.keys(t).forEach(i=>{if(i.startsWith(a)){const o=i.replace(a,""),s=t[i];n[o]=s}}),n}function V0e(t){t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),n=t.indexOf("?")!==-1?t.indexOf("?"):void 0,a=t.substring(0,e),i=t.substring(e+1,n).split("@"),o=typeof n<"u"?t.substring(n):"",s=Bl.parse(o);return{protocol:a,topic:vke(i[0]),version:parseInt(i[1],10),symKey:s.symKey,relay:gke(s)}}function vke(t){return t.startsWith("//")?t.substring(2):t}function bke(t,e="-"){const n="relay",a={};return Object.keys(t).forEach(i=>{const o=n+e+i;t[i]&&(a[o]=t[i])}),a}function W0e(t){return`${t.protocol}:${t.topic}@${t.version}?`+Bl.stringify(fke({symKey:t.symKey},bke(t.relay)))}var kke=Object.defineProperty,xke=Object.defineProperties,yke=Object.getOwnPropertyDescriptors,By=Object.getOwnPropertySymbols,wke=Object.prototype.hasOwnProperty,jke=Object.prototype.propertyIsEnumerable,Sy=(t,e,n)=>e in t?kke(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Bke=(t,e)=>{for(var n in e||(e={}))wke.call(e,n)&&Sy(t,n,e[n]);if(By)for(var n of By(e))jke.call(e,n)&&Sy(t,n,e[n]);return t},Ske=(t,e)=>xke(t,yke(e));function rs(t){const e=[];return t.forEach(n=>{const[a,i]=n.split(":");e.push(`${a}:${i}`)}),e}function zke(t){const e=[];return Object.values(t).forEach(n=>{e.push(...rs(n.accounts))}),e}function Cke(t,e){const n=[];return Object.values(t).forEach(a=>{rs(a.accounts).includes(e)&&n.push(...a.methods)}),n}function Dke(t,e){const n=[];return Object.values(t).forEach(a=>{rs(a.accounts).includes(e)&&n.push(...a.events)}),n}function U0e(t,e){const n=Oke(t,e);if(n)throw new Error(n.message);const a={};for(const[i,o]of Object.entries(t))a[i]={methods:o.methods,events:o.events,chains:o.accounts.map(s=>`${s.split(":")[0]}:${s.split(":")[1]}`)};return a}function Ake(t){const{proposal:{requiredNamespaces:e,optionalNamespaces:n={}},supportedNamespaces:a}=t,i=zy(e),o=zy(n),s={};Object.keys(a).forEach(u=>{const d=a[u].chains,p=a[u].methods,h=a[u].events,m=a[u].accounts;d.forEach(g=>{if(!m.some(v=>v.includes(g)))throw new Error(`No accounts provided for chain ${g} in namespace ${u}`)}),s[u]={chains:d,methods:p,events:h,accounts:m}});const l=Fke(e,s,"approve()");if(l)throw new Error(l.message);const c={};return!Object.keys(e).length&&!Object.keys(n).length?s:(Object.keys(i).forEach(u=>{const d=a[u].chains.filter(g=>{var v,y;return(y=(v=i[u])==null?void 0:v.chains)==null?void 0:y.includes(g)}),p=a[u].methods.filter(g=>{var v,y;return(y=(v=i[u])==null?void 0:v.methods)==null?void 0:y.includes(g)}),h=a[u].events.filter(g=>{var v,y;return(y=(v=i[u])==null?void 0:v.events)==null?void 0:y.includes(g)}),m=d.map(g=>a[u].accounts.filter(v=>v.includes(`${g}:`))).flat();c[u]={chains:d,methods:p,events:h,accounts:m}}),Object.keys(o).forEach(u=>{var d,p,h,m,g,v;if(!a[u])return;const y=(p=(d=o[u])==null?void 0:d.chains)==null?void 0:p.filter(j=>a[u].chains.includes(j)),b=a[u].methods.filter(j=>{var z,S;return(S=(z=o[u])==null?void 0:z.methods)==null?void 0:S.includes(j)}),k=a[u].events.filter(j=>{var z,S;return(S=(z=o[u])==null?void 0:z.events)==null?void 0:S.includes(j)}),w=y==null?void 0:y.map(j=>a[u].accounts.filter(z=>z.includes(`${j}:`))).flat();c[u]={chains:Co((h=c[u])==null?void 0:h.chains,y),methods:Co((m=c[u])==null?void 0:m.methods,b),events:Co((g=c[u])==null?void 0:g.events,k),accounts:Co((v=c[u])==null?void 0:v.accounts,w)}}),c)}function NS(t){return t.includes(":")}function _ke(t){return NS(t)?t.split(":")[0]:t}function zy(t){var e,n,a;const i={};if(!dv(t))return i;for(const[o,s]of Object.entries(t)){const l=NS(o)?[o]:s.chains,c=s.methods||[],u=s.events||[],d=_ke(o);i[d]=Ske(Bke({},i[d]),{chains:Co(l,(e=i[d])==null?void 0:e.chains),methods:Co(c,(n=i[d])==null?void 0:n.methods),events:Co(u,(a=i[d])==null?void 0:a.events)})}return i}const Tke={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},Eke={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function Ni(t,e){const{message:n,code:a}=Eke[t];return{message:e?`${n} ${e}`:n,code:a}}function to(t,e){const{message:n,code:a}=Tke[t];return{message:e?`${n} ${e}`:n,code:a}}function fp(t,e){return Array.isArray(t)?typeof e<"u"&&t.length?t.every(e):!0:!1}function dv(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Po(t){return typeof t>"u"}function Qn(t,e){return e&&Po(t)?!0:typeof t=="string"&&!!t.trim().length}function pv(t,e){return e&&Po(t)?!0:typeof t=="number"&&!isNaN(t)}function q0e(t,e){const{requiredNamespaces:n}=e,a=Object.keys(t.namespaces),i=Object.keys(n);let o=!0;return zo(i,a)?(a.forEach(s=>{const{accounts:l,methods:c,events:u}=t.namespaces[s],d=rs(l),p=n[s];(!zo(DS(s,p),d)||!zo(p.methods,c)||!zo(p.events,u))&&(o=!1)}),o):!1}function id(t){return Qn(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function Pke(t){if(Qn(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const n=e[0]+":"+e[1];return!!e[2]&&id(n)}}return!1}function H0e(t){if(Qn(t,!1))try{return typeof new URL(t)<"u"}catch{return!1}return!1}function K0e(t){var e;return(e=t==null?void 0:t.proposer)==null?void 0:e.publicKey}function G0e(t){return t==null?void 0:t.topic}function Q0e(t,e){let n=null;return Qn(t==null?void 0:t.publicKey,!1)||(n=Ni("MISSING_OR_INVALID",`${e} controller public key should be a string`)),n}function Cy(t){let e=!0;return fp(t)?t.length&&(e=t.every(n=>Qn(n,!1))):e=!1,e}function Nke(t,e,n){let a=null;return fp(e)&&e.length?e.forEach(i=>{a||id(i)||(a=to("UNSUPPORTED_CHAINS",`${n}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):id(t)||(a=to("UNSUPPORTED_CHAINS",`${n}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),a}function Lke(t,e,n){let a=null;return Object.entries(t).forEach(([i,o])=>{if(a)return;const s=Nke(i,DS(i,o),`${e} ${n}`);s&&(a=s)}),a}function Ike(t,e){let n=null;return fp(t)?t.forEach(a=>{n||Pke(a)||(n=to("UNSUPPORTED_ACCOUNTS",`${e}, account ${a} should be a string and conform to "namespace:chainId:address" format`))}):n=to("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n}function $ke(t,e){let n=null;return Object.values(t).forEach(a=>{if(n)return;const i=Ike(a==null?void 0:a.accounts,`${e} namespace`);i&&(n=i)}),n}function Mke(t,e){let n=null;return Cy(t==null?void 0:t.methods)?Cy(t==null?void 0:t.events)||(n=to("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):n=to("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),n}function LS(t,e){let n=null;return Object.values(t).forEach(a=>{if(n)return;const i=Mke(a,`${e}, namespace`);i&&(n=i)}),n}function Y0e(t,e,n){let a=null;if(t&&dv(t)){const i=LS(t,e);i&&(a=i);const o=Lke(t,e,n);o&&(a=o)}else a=Ni("MISSING_OR_INVALID",`${e}, ${n} should be an object with data`);return a}function Oke(t,e){let n=null;if(t&&dv(t)){const a=LS(t,e);a&&(n=a);const i=$ke(t,e);i&&(n=i)}else n=Ni("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return n}function Rke(t){return Qn(t.protocol,!0)}function Z0e(t,e){let n=!1;return e&&!t?n=!0:t&&fp(t)&&t.length&&t.forEach(a=>{n=Rke(a)}),n}function J0e(t){return typeof t=="number"}function X0e(t){return typeof t<"u"&&typeof t!==null}function eje(t){return!(!t||typeof t!="object"||!t.code||!pv(t.code,!1)||!t.message||!Qn(t.message,!1))}function tje(t){return!(Po(t)||!Qn(t.method,!1))}function nje(t){return!(Po(t)||Po(t.result)&&Po(t.error)||!pv(t.id,!1)||!Qn(t.jsonrpc,!1))}function aje(t){return!(Po(t)||!Qn(t.name,!1))}function ije(t,e){return!(!id(e)||!zke(t).includes(e))}function oje(t,e,n){return Qn(n,!1)?Cke(t,e).includes(n):!1}function rje(t,e,n){return Qn(n,!1)?Dke(t,e).includes(n):!1}function Fke(t,e,n){let a=null;const i=Vke(t),o=Wke(e),s=Object.keys(i),l=Object.keys(o),c=Dy(Object.keys(t)),u=Dy(Object.keys(e)),d=c.filter(p=>!u.includes(p));return d.length&&(a=Ni("NON_CONFORMING_NAMESPACES",`${n} namespaces keys don't satisfy requiredNamespaces. + Required: ${d.toString()} + Received: ${Object.keys(e).toString()}`)),zo(s,l)||(a=Ni("NON_CONFORMING_NAMESPACES",`${n} namespaces chains don't satisfy required namespaces. + Required: ${s.toString()} + Approved: ${l.toString()}`)),Object.keys(e).forEach(p=>{if(!p.includes(":")||a)return;const h=rs(e[p].accounts);h.includes(p)||(a=Ni("NON_CONFORMING_NAMESPACES",`${n} namespaces accounts don't satisfy namespace accounts for ${p} + Required: ${p} + Approved: ${h.toString()}`))}),s.forEach(p=>{a||(zo(i[p].methods,o[p].methods)?zo(i[p].events,o[p].events)||(a=Ni("NON_CONFORMING_NAMESPACES",`${n} namespaces events don't satisfy namespace events for ${p}`)):a=Ni("NON_CONFORMING_NAMESPACES",`${n} namespaces methods don't satisfy namespace methods for ${p}`))}),a}function Vke(t){const e={};return Object.keys(t).forEach(n=>{var a;n.includes(":")?e[n]=t[n]:(a=t[n].chains)==null||a.forEach(i=>{e[i]={methods:t[n].methods,events:t[n].events}})}),e}function Dy(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function Wke(t){const e={};return Object.keys(t).forEach(n=>{if(n.includes(":"))e[n]=t[n];else{const a=rs(t[n].accounts);a==null||a.forEach(i=>{e[i]={accounts:t[n].accounts.filter(o=>o.includes(`${i}:`)),methods:t[n].methods,events:t[n].events}})}}),e}function sje(t,e){return pv(t,!1)&&t<=e.max&&t>=e.min}function lje(){const t=Hl();return new Promise(e=>{switch(t){case jn.browser:e(Uke());break;case jn.reactNative:e(qke());break;case jn.node:e(Hke());break;default:e(!0)}})}function Uke(){return mp()&&(navigator==null?void 0:navigator.onLine)}async function qke(){if(ql()&&typeof global<"u"&&global!=null&&global.NetInfo){const t=await(global==null?void 0:global.NetInfo.fetch());return t==null?void 0:t.isConnected}return!0}function Hke(){return!0}function cje(t){switch(Hl()){case jn.browser:Kke(t);break;case jn.reactNative:Gke(t);break}}function Kke(t){!ql()&&mp()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function Gke(t){ql()&&typeof global<"u"&&global!=null&&global.NetInfo&&(global==null||global.NetInfo.addEventListener(e=>t(e==null?void 0:e.isConnected)))}const Ih={};class uje{static get(e){return Ih[e]}static set(e,n){Ih[e]=n}static delete(e){delete Ih[e]}}const Qke="_buttonsContainer_yg3s8_1",Yke="_container_yg3s8_7",Zke="_connectionRequest_yg3s8_12",Jke="_receiveAddress_yg3s8_16",Xke="_pairingDetailContainer_yg3s8_21",exe="_metadata_yg3s8_32",Oi={buttonsContainer:Qke,container:Yke,connectionRequest:Zke,receiveAddress:Jke,pairingDetailContainer:Xke,metadata:exe},txe=({pairingMetadata:t})=>{const{name:e,description:n,url:a,icons:i}=t,o=i&&i.length>0;return r.jsxs("div",{className:Oi.pairingDetailContainer,children:[r.jsxs("div",{children:[r.jsx("p",{className:Oi.metadata,children:e}),r.jsx("p",{className:Oi.metadata,children:n}),r.jsx("p",{className:Oi.metadata,children:a})]}),o&&r.jsx("img",{src:i[0],alt:"logo"})]})},nxe=({currentProposal:t,pairingMetadata:e,receiveAddress:n,onReject:a,onApprove:i})=>{const[o,s]=x.useState(!1),{web3wallet:l}=x.useContext(Fl),{t:c}=A(),u=async()=>{s(!0);try{const{id:p,params:h}=t,{requiredNamespaces:m}=h,g=Object.values(m),v=g.flatMap(k=>{var w;return((w=k.chains)==null?void 0:w.map(j=>`${j}:${n}`))||[]}),y=g.flatMap(k=>k.chains?k.chains.filter(w=>Object.keys(Ns).includes(w)):[]),b=Ake({proposal:h,supportedNamespaces:{eip155:{chains:y,methods:["eth_sendTransaction","eth_signTransaction","eth_sign","personal_sign","eth_signTypedData","eth_signTypedData_v4"],events:["accountsChanged","chainChanged"],accounts:v}}});await(l==null?void 0:l.approveSession({id:p,namespaces:b})),i()}catch(p){console.error(`Wallet connect approve pairing error ${p}`),console.error(p),p.message.includes("Non conforming namespaces")?J(c("walletConnect.invalidPairingChain",{chains:` +•Ethereum +•Ethereum (Goerli)`})):J(p.messsage),await d()}finally{s(!1)}},d=async()=>{s(!0),await(l==null?void 0:l.rejectSession({id:t.id,reason:to("USER_REJECTED_METHODS")})),a(),s(!1)};return r.jsxs("div",{className:Oi.container,children:[r.jsxs("p",{className:Oi.connectionRequest,children:[c("walletConnect.pairingRequest.title"),":"]}),r.jsx(txe,{pairingMetadata:e}),r.jsxs("p",{className:Oi.receiveAddress,children:[c("accountInfo.address"),": ",n]}),r.jsxs("div",{className:Oi.buttonsContainer,children:[r.jsx(_,{disabled:o,secondary:!0,onClick:d,children:c("walletConnect.pairingRequest.reject")}),r.jsx(_,{disabled:o,primary:!0,onClick:u,children:c("walletConnect.pairingRequest.approve")})]})]})},axe="_container_1h5wj_1",ixe="_successIcon_1h5wj_7",oxe="_successText_1h5wj_12",$h={container:axe,successIcon:ixe,successText:oxe},rxe=({accountCode:t})=>{const{t:e}=A();return r.jsxs("div",{className:$h.container,children:[r.jsx(vg,{className:$h.successIcon}),r.jsx("p",{className:$h.successText,children:e("walletConnect.pairingSuccess")}),r.jsx(_,{primary:!0,onClick:()=>le(`/account/${t}/wallet-connect/dashboard`),children:e("button.done")})]})},sxe="_contentContainer_1iwqe_1",lxe={contentContainer:sxe},cxe=({code:t,accounts:e})=>{var z;const[n,a]=x.useState(""),[i,o]=x.useState("connect"),[s,l]=x.useState(!1),{web3wallet:c,isWalletInitialized:u,pair:d}=x.useContext(Fl),[p,h]=x.useState(),{t:m}=A(),g=me(Ed(t)),v=x.useCallback(S=>{a(""),l(!1),o("incoming_pairing"),h(S)},[]);x.useEffect(()=>{if(u)return c==null||c.on("session_proposal",v),()=>{c==null||c.off("session_proposal",v)}},[v,u,c]);const y=()=>{o("success"),a(""),h(void 0)},b=()=>{o("connect"),a(""),h(void 0)},k=async S=>{if(S){l(!0);try{await d({uri:S})}catch(f){f.message.includes("Missing or invalid. pair()")?J(`${m("walletConnect.connect.invalidPairingUri")}: ${S}`):J(f.message),a(""),l(!1)}}};if(!g||!u)return null;const w=((z=e&&e.find(S=>S.code===t))==null?void 0:z.name)||"",j=g[0].addresses[0].address;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsx(re,{verticallyCentered:!0,fullscreen:!1,children:r.jsxs(ue,{children:[r.jsx(Xfe,{accountName:w,receiveAddress:j}),r.jsxs("div",{className:lxe.contentContainer,children:[i==="connect"&&r.jsx(rge,{connectLoading:s,code:t,uri:n,onInputChange:a,onSubmit:async S=>{await k(S)}}),i==="incoming_pairing"&&p&&r.jsx(nxe,{currentProposal:p,pairingMetadata:p.params.proposer.metadata,receiveAddress:j,onApprove:y,onReject:b}),i==="success"&&r.jsx(rxe,{accountCode:t})]})]})})]})}),r.jsx(oS,{})]})},uxe="_container_1jggi_1",dxe="_textDataContainer_1jggi_16",pxe="_receiveAddress_1jggi_21",hxe="_accountName_1jggi_26",mxe="_dAppMetadataAndIconContainer_1jggi_33",fxe="_dAppNameAndUrlContainer_1jggi_48",gxe="_dappUrl_1jggi_54",vxe="_accountNameAndWalletContainer_1jggi_58",bxe="_buttonAndIconContainer_1jggi_63",kxe="_buttonDisconnect_1jggi_69",na={container:uxe,textDataContainer:dxe,receiveAddress:pxe,accountName:hxe,dAppMetadataAndIconContainer:mxe,dAppNameAndUrlContainer:fxe,dappUrl:gxe,accountNameAndWalletContainer:vxe,buttonAndIconContainer:bxe,buttonDisconnect:kxe},xxe=({accountName:t,receiveAddress:e,dAppName:n,dAppUrl:a,iconUrl:i})=>r.jsxs("div",{className:na.textDataContainer,children:[r.jsxs("div",{className:na.accountNameAndWalletContainer,children:[r.jsx("p",{className:na.accountName,children:t}),r.jsx("p",{className:`${na.receiveAddress} hide-on-small`,children:e})]}),r.jsx("p",{className:`${na.receiveAddress} show-on-small`,children:e}),r.jsxs("div",{className:na.dAppMetadataAndIconContainer,children:[r.jsxs("div",{className:na.dAppNameAndUrlContainer,children:[r.jsx("p",{children:n}),r.jsx("p",{className:na.dappUrl,children:a})]}),i&&r.jsx("img",{className:"hide-on-small",src:i,alt:"dApp icon"})]})]}),yxe=({metadata:t,receiveAddress:e,onDisconnect:n})=>{const{t:a}=A(),{name:i,url:o,icons:s}=t,l=me(()=>Yj(e),[]),c=ip(e),u=l&&l.success?l.name:"";return r.jsxs("div",{className:na.container,children:[r.jsx(xxe,{accountName:u,receiveAddress:c,dAppName:i,dAppUrl:o,iconUrl:s[0]}),r.jsxs("div",{className:na.buttonAndIconContainer,children:[r.jsx("img",{className:"show-on-small",src:s[0],alt:"logo"}),r.jsx(_,{className:na.buttonDisconnect,onClick:n,danger:!0,children:a("settings.electrum.remove-server")})]})]})},wxe="_buttonNewConnection_13so1_1",jxe="_headerContainer_13so1_5",Bxe="_receiveAddress_13so1_16",Sxe="_noConnectedSessions_13so1_22",zxe="_separator_13so1_30",Cxe="_sessionCardsContainer_13so1_37",Dxe="_allSessionsHeading_13so1_42",bo={buttonNewConnection:wxe,headerContainer:jxe,receiveAddress:Bxe,noConnectedSessions:Sxe,separator:zxe,sessionCardsContainer:Cxe,allSessionsHeading:Dxe},Axe=({code:t,accounts:e})=>{var g;const{t:n}=A(),{web3wallet:a,isWalletInitialized:i,initializeWeb3Wallet:o}=x.useContext(Fl),[s,l]=x.useState(),c=me(Ed(t)),u=x.useCallback(()=>{const v=Object.values((a==null?void 0:a.getActiveSessions())||[]);l(v)},[a]);x.useEffect(()=>{if(!a){o();return}u()},[o,u,a]),x.useEffect(()=>{if(i)return a==null||a.on("session_delete",u),()=>{a==null||a.off("session_delete",u)}},[i,u,a]);const d=async v=>{await(a==null?void 0:a.disconnectSession({topic:v,reason:to("USER_DISCONNECTED")})),u()};if(!c||!i)return null;const p=ip(c[0].addresses[0].address),h=((g=e&&e.find(v=>v.code===t))==null?void 0:g.name)||"",m=s&&s.length>0;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{type:"info",dismissible:"walletConnectDisclaimerDismissed",children:n("walletConnect.dashboard.disclaimer")}),r.jsx(xe,{title:r.jsx("h2",{children:n("walletConnect.walletConnect")})}),r.jsx(re,{children:r.jsxs(ue,{children:[r.jsxs("div",{className:bo.headerContainer,children:[r.jsxs("div",{children:[r.jsx("p",{children:h}),r.jsx("p",{className:bo.receiveAddress,children:p})]}),r.jsx(_,{className:bo.buttonNewConnection,onClick:()=>le(`/account/${t}/wallet-connect/connect`),primary:!0,children:n("walletConnect.dashboard.newConnection")})]}),r.jsx("hr",{className:bo.separator}),m&&r.jsxs("div",{className:bo.sessionCardsContainer,children:[r.jsx("p",{className:bo.allSessionsHeading,children:n("walletConnect.dashboard.allSessions")}),s.map(v=>r.jsx(yxe,{receiveAddress:Hfe(v.namespaces.eip155.accounts[0]),metadata:v.peer.metadata,onDisconnect:()=>d(v.topic)},v.topic))]}),!m&&r.jsx("p",{className:bo.noConnectedSessions,children:n("walletConnect.dashboard.noConnectedSessions")})]})})]})}),r.jsx(oS,{})]})},it=({children:t})=>{const e=hD();return Mn.cloneElement(t,e)},_xe=({devices:t,deviceIDs:e,devicesKey:n,accounts:a,activeAccounts:i})=>{const o=a.length>0,s=r.jsx(Wx,{deviceID:null,devices:t,hasAccounts:o},n("device-switch-default")),l=r.jsx(it,{children:r.jsx(Wx,{deviceID:null,devices:t,hasAccounts:o},n("device-switch"))}),c=r.jsx(it,{children:r.jsx(sfe,{code:"",devices:t,accounts:i})}),u=r.jsx(it,{children:r.jsx(Oce,{devices:t,accounts:i})}),d=r.jsx(it,{children:r.jsx(ore,{code:"",devices:t,deviceIDs:e,accounts:i})}),p=r.jsx(it,{children:r.jsx(Iie,{code:"",devices:t,deviceIDs:e,accounts:i})}),h=r.jsx(it,{children:r.jsx(die,{code:"",accounts:i})}),m=r.jsx(it,{children:r.jsx(Axe,{accounts:i,code:""})}),g=r.jsx(it,{children:r.jsx(cxe,{code:"",accounts:i})}),v=r.jsx(it,{children:r.jsx(fne,{code:"",accounts:i})}),y=r.jsx(it,{children:r.jsx(wJ,{code:"",accounts:i})}),b=r.jsx(it,{children:r.jsx(aae,{code:"",accounts:i})}),k=r.jsx(it,{children:r.jsx(Fae,{code:""})}),w=r.jsx(it,{children:r.jsx(Ahe,{deviceID:""})}),j=r.jsx(it,{children:r.jsx(Npe,{devices:t},n("manage-backups"))}),z=r.jsx(it,{children:r.jsx(Cfe,{deviceIDs:e,hasAccounts:o})}),S=r.jsx(it,{children:r.jsx(Sfe,{deviceIDs:e,hasAccounts:o})}),f=r.jsx(it,{children:r.jsx(Afe,{deviceIDs:e,hasAccounts:o})}),B=r.jsx(it,{children:r.jsx(Ufe,{deviceIDs:e,hasAccounts:o})}),D=r.jsx(it,{children:r.jsx(lfe,{activeAccounts:i})});return r.jsx(wD,{children:r.jsxs(Se,{path:"/",children:[r.jsx(Se,{index:!0,element:s}),r.jsxs(Se,{path:"account/:code",children:[r.jsx(Se,{index:!0,element:c}),r.jsx(Se,{path:"send",element:d}),r.jsx(Se,{path:"receive",element:p}),r.jsx(Se,{path:"info",element:h}),r.jsx(Se,{path:"wallet-connect/connect",element:g}),r.jsx(Se,{path:"wallet-connect/dashboard",element:m})]}),r.jsx(Se,{path:"add-account",element:r.jsx(KZ,{})}),r.jsx(Se,{path:"account-summary",element:u}),r.jsxs(Se,{path:"buy",children:[r.jsxs(Se,{path:"info",element:v,children:[r.jsx(Se,{index:!0,element:v}),r.jsx(Se,{path:":code",element:v})]}),r.jsx(Se,{path:"moonpay/:code",element:y}),r.jsx(Se,{path:"pocket/:code",element:k}),r.jsx(Se,{path:"exchange/:code",element:b})]}),r.jsx(Se,{path:"manage-backups/:deviceID",element:j}),r.jsx(Se,{path:"accounts/select-receive",element:D}),r.jsxs(Se,{path:"settings",children:[r.jsx(Se,{index:!0,element:z}),r.jsx(Se,{path:"appearance",element:S}),r.jsx(Se,{path:"about",element:f}),r.jsx(Se,{path:"device-settings/:deviceID",element:l}),r.jsx(Se,{path:"device-settings/passphrase/:deviceID",element:w}),r.jsx(Se,{path:"advanced-settings",element:B}),r.jsx(Se,{path:"electrum",element:r.jsx(Che,{})}),r.jsx(Se,{path:"manage-accounts",element:r.jsx(che,{accounts:a,deviceIDs:e,hasAccounts:o},"manage-accounts")})]})]})})},Txe=({deviceID:t,versionInfo:e})=>{const{t:n}=A();return r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsxs(re,{fullscreen:!0,verticallyCentered:!0,textCenter:!0,width:"840px",withBottomBar:!0,children:[r.jsx(be,{title:n("upgradeFirmware.label")}),r.jsx(Fe,{children:r.jsx("div",{children:r.jsx(nS,{asButton:!0,deviceID:t,versionInfo:e})})})]})]})},Exe=""+new URL("password-gestures-81d1e40d.webm",import.meta.url).href,Pxe="_passwordGesturesWrapper_mvckk_1",Nxe="_passwordGestures_mvckk_1",Ay={passwordGesturesWrapper:Pxe,passwordGestures:Nxe};function Lxe(t){return t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2}function Ixe(t){t&&!Lxe(t)&&(t.muted=!0,t.play())}const hv=()=>{let t=x.createRef();return x.useEffect(()=>{t.current&&Ixe(t.current)},[t]),r.jsx("div",{className:Ay.passwordGesturesWrapper,children:r.jsx("video",{autoPlay:!0,ref:t,className:Ay.passwordGestures,loop:!0,muted:!0,height:"338",width:"600",children:r.jsx("source",{src:Exe,type:"video/webm"})})})},$xe=({attestation:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"690px",children:[r.jsx(be,{title:e("button.unlock"),children:r.jsx("p",{children:e("bitbox02Wizard.stepConnected.unlock")})}),r.jsx(ue,{fullWidth:!0,children:t===!1?r.jsx(an,{children:e("bitbox02Wizard.attestationFailed")}):r.jsx(hv,{})})]})},Mxe=({attestation:t,deviceID:e,pairingFailed:n})=>{const{t:a}=A(),[i,o]=x.useState(""),[s,l]=x.useState(!1),c=x.useCallback(()=>{hre(e).then(({hash:u,deviceVerified:d})=>{o(u),l(d)})},[e]);return x.useEffect(c,[e,c]),x.useEffect(()=>bde(e,c),[e,c]),r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"670px",children:[r.jsx(be,{title:a("bitbox02Wizard.pairing.title"),children:n?r.jsx(an,{type:"warning",children:a("bitbox02Wizard.pairing.failed")},"pairingFailed"):r.jsx("p",{children:a(s?"bitbox02Wizard.pairing.paired":"bitbox02Wizard.pairing.unpaired")})}),r.jsxs(ue,{fullWidth:!0,children:[t===!1&&!n&&r.jsx(an,{type:"warning",className:"m-bottom-half",children:a("bitbox02Wizard.attestationFailed")}),!n&&r.jsxs(r.Fragment,{children:[r.jsx("pre",{children:i}),!s&&r.jsx(ns,{})]})]}),r.jsx(Fe,{children:!n&&s&&r.jsx(_,{primary:!0,onClick:()=>mre(e,!0),children:a("button.continue")})})]})},Ir=({title:t,text:e})=>{const{t:n}=A();return r.jsxs(re,{fullscreen:!0,width:"720px",verticallyCentered:!0,textCenter:!0,children:[r.jsx(be,{title:t,children:r.jsx("p",{children:e||n("bitbox02Interact.followInstructions")})}),r.jsx(ue,{children:r.jsx(ns,{})})]})},Oxe="_toggle_1lt1t_1",Rxe="_toggleLabel_1lt1t_7",Fxe="_textIcon_1lt1t_14",sr={toggle:Oxe,toggleLabel:Rxe,textIcon:Fxe},Vxe=({onSelectSetup:t,versionInfo:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),[l,c]=x.useState(!1);if(a){const{canBackupWithRecoveryWords:u,canCreate12Words:d}=e;return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"1100px",children:[r.jsx(be,{small:!0,title:n("seed.create")}),r.jsx(ue,{fullWidth:!0,children:r.jsx(Er,{col:"1",textAlign:"left",children:r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("bitbox02Wizard.advanced.title")}),r.jsxs("div",{children:[r.jsxs("div",{className:sr.toggle,children:[r.jsxs(Mi,{htmlFor:"with-mnemonic",className:sr.toggleLabel,style:{...!u&&{color:"var(--color-disabled)"}},children:[r.jsx("strong",{children:n("bitbox02Wizard.advanced.skipSDCardLabel")})," ",!u&&r.jsxs("span",{style:{color:"var(--color-warning)"},children:[r.jsx("br",{}),"(",n("bitbox02Wizard.advanced.outOfDate"),")"]})]}),r.jsx(Dn,{checked:o,disabled:!u,id:"with-mnemonic",onChange:()=>s(!o)})]}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsx("small",{children:n("bitbox02Wizard.advanced.skipSDCardText")})})]}),r.jsxs("div",{children:[r.jsxs("div",{className:sr.toggle,children:[r.jsxs(Mi,{htmlFor:"with-12words",className:sr.toggleLabel,style:{...!d&&{color:"var(--color-disabled)"}},children:[r.jsx("strong",{children:n("bitbox02Wizard.advanced.seed12WordLabel")})," ",!d&&r.jsxs("span",{style:{color:"var(--color-warning)"},children:[r.jsx("br",{}),"(",n("bitbox02Wizard.advanced.outOfDate"),")"]})]}),r.jsx(Dn,{checked:l,disabled:!d,id:"with-12words",onChange:()=>c(!l)})]}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsx("small",{children:n("bitbox02Wizard.advanced.seed12WordText")})}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsxs("small",{children:[r.jsx($m,{className:sr.textIcon}),n("bitbox02Wizard.advanced.seed12WordInfo")]})})]}),r.jsxs(nu,{inline:!0,children:[r.jsx(_,{onClick:()=>t("create-wallet",{withMnemonic:o,with12Words:l}),primary:!0,children:n("seed.create")}),r.jsx(_,{onClick:()=>{s(!1),c(!1),i(!1)},secondary:!0,children:n("button.back")})]})]})})})]})}return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"1100px",children:[r.jsx(be,{small:!0,title:n("bitbox02Wizard.stepUninitialized.title"),children:r.jsxs("p",{children:[r.jsx($m,{className:sr.textIcon}),n("bitbox02Wizard.initialize.tip")]})}),r.jsx(ue,{fullWidth:!0,children:r.jsxs(Er,{children:[r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("button.create")}),r.jsx("p",{children:n("bitbox02Wizard.stepUninitialized.create")}),r.jsxs(nu,{children:[r.jsx(_,{primary:!0,onClick:()=>t("create-wallet",{withMnemonic:!1,with12Words:!1}),children:n("seed.create")}),r.jsx(_,{onClick:()=>i(!0),style:{border:"none",marginTop:"var(--space-half)",height:"1.5rem"},transparent:!0,children:r.jsx("small",{children:n("bitbox02Wizard.advanced.button")})})]})]}),r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("button.restore")}),r.jsx("p",{children:n("bitbox02Wizard.stepUninitialized.restore")}),r.jsxs(nu,{children:[r.jsx(_,{onClick:()=>t("restore-sdcard"),secondary:!0,children:n("bitbox02Wizard.stepUninitialized.restoreMicroSD")}),r.jsx(_,{onClick:()=>t("restore-mnemonic"),style:{marginBottom:"40px"},secondary:!0,children:n("bitbox02Wizard.stepUninitialized.restoreMnemonic")})]})]})]})})]})},Wxe="_wizardCheckbox_1shxj_2",Aa={wizardCheckbox:Wxe},Uxe=({onContinue:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),[d,p]=x.useState(!1),h=()=>{a(!1),o(!1),l(!1),u(!1),p(!1),t()};return r.jsx("form",{children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("backup.create.title"),children:r.jsx("p",{children:e("bitbox02Wizard.stepBackup.createBackup")})}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepBackup.beforeProceed")}),r.jsx(Ve,{onChange:()=>a(!n),className:Aa.wizardCheckbox,id:"agreement1",checked:n,label:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx(Ve,{onChange:()=>o(!i),className:Aa.wizardCheckbox,id:"agreement2",checked:i,label:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx(Ve,{onChange:()=>l(!s),className:Aa.wizardCheckbox,id:"agreement3",checked:s,label:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx(Ve,{onChange:()=>u(!c),className:Aa.wizardCheckbox,id:"agreement4",checked:c,label:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx(Ve,{onChange:()=>p(!d),className:Aa.wizardCheckbox,id:"agreement5",checked:d,label:e("bitbox02Wizard.backup.userConfirmation5")})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:h,disabled:!(n&&i&&s&&c&&d),children:e("button.continue")})})]})})},qxe=({onContinue:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),[d,p]=x.useState(!1),h=()=>{a(!1),o(!1),l(!1),u(!1),p(!1),t()};return r.jsx("form",{children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("backup.create.title"),children:r.jsx("p",{children:e("bitbox02Wizard.stepBackup.createBackupMnemonic")})}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepBackup.beforeProceed")}),r.jsx(Ve,{onChange:()=>a(!n),className:Aa.wizardCheckbox,id:"agreement1",checked:n,label:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx(Ve,{onChange:()=>o(!i),className:Aa.wizardCheckbox,id:"agreement2",checked:i,label:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx(Ve,{onChange:()=>l(!s),className:Aa.wizardCheckbox,id:"agreement3",checked:s,label:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx(Ve,{onChange:()=>u(!c),className:Aa.wizardCheckbox,id:"agreement4",checked:c,label:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx(Ve,{onChange:()=>p(!d),className:Aa.wizardCheckbox,id:"agreement5",checked:d,label:e("bitbox02Wizard.backup.userConfirmation5mnemonic")})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:h,disabled:!(n&&i&&s&&c&&d),children:e("button.continue")})})]})})},Hxe="_wizardLabel_11dvu_2",Kxe={wizardLabel:Hxe},IS=({onDeviceName:t,onBack:e,missingSDCardWarning:n})=>{const{t:a}=A(),[i,o]=x.useState(""),s=l=>{const u=l.target.value;o(u)};return r.jsx("form",{onSubmit:l=>{l.preventDefault(),t(i)},children:r.jsxs(re,{fullscreen:!0,textCenter:!0,withBottomBar:!0,verticallyCentered:!0,width:"600px",children:[r.jsxs(be,{title:a("bitbox02Wizard.stepCreate.title"),children:[r.jsx("p",{children:a("bitbox02Wizard.stepCreate.description")}),n&&r.jsx(an,{className:"m-bottom-half",type:"warning",children:r.jsx("span",{children:a("bitbox02Wizard.stepCreate.toastMicroSD")})})]}),r.jsx(ue,{minHeight:"90px",children:r.jsx(Ye,{autoFocus:!0,className:Kxe.wizardLabel,label:a("bitbox02Wizard.stepCreate.nameLabel"),pattern:"^.{0,63}$",onInput:s,placeholder:a("bitbox02Wizard.stepCreate.namePlaceholder"),value:i,id:"deviceName"})}),r.jsxs(Fe,{children:[r.jsx(_,{disabled:!i,primary:!0,type:"submit",children:a("button.continue")}),r.jsx(_,{onClick:e,secondary:!0,type:"button",children:a("button.back")})]})]})})},Gxe=({deviceID:t,onDeviceName:e,onBack:n})=>{const[a,i]=x.useState();return x.useEffect(()=>{Zd(t).then(i)},[t]),r.jsx(IS,{onDeviceName:e,onBack:n,missingSDCardWarning:a===!1})},Qxe=({errorText:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"600px",children:[r.jsxs(be,{title:e("bitbox02Wizard.stepPassword.title"),children:[t&&r.jsx(an,{type:"warning",children:r.jsx("span",{children:t})}),r.jsx("p",{children:e("bitbox02Wizard.stepPassword.useControls")})]}),r.jsx(ue,{children:r.jsx(hv,{})})]})},Yxe=({forBackup:t})=>{const{i18n:e,t:n}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:n("backup.restore.confirmTitle"),children:t?r.jsxs("div",{children:[r.jsx(ia,{tagName:"div",markup:n("backup.restore.selectedBackup",{backupName:t.name,createdDateTime:Z1(t.date,e.language)})}),r.jsxs("p",{className:"text-small text-ellipsis",children:["ID:"," ",t.id]})]}):null}),r.jsxs(ue,{children:[r.jsx("p",{children:n("bitbox02Wizard.stepPassword.useControls")}),r.jsx(hv,{})]})]})},$S=({children:t,deviceID:e})=>{const{t:n}=A(),[a,i]=x.useState(),o=x.useCallback(async()=>{try{const s=await Zd(e);if(i(s),s)return;const l=await sre(e);if(i(l.success),l.success)return;l.message&&J(l.message,{asDialog:!1})}catch(s){console.error(s)}},[e]);return x.useEffect(()=>{o()},[o]),a?t:a===void 0?r.jsx(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,children:r.jsx(be,{title:"Checking microSD card"})}):r.jsx(Ir,{title:n("bitbox02Wizard.stepInsertSD.insertSDcardTitle"),text:n("bitbox02Wizard.stepInsertSD.insertSDCard")})},Zxe=({backupType:t,backupSeedLength:e,deviceID:n,isSeeded:a,onAbort:i})=>{const{t:o}=A(),s=ro(),[l,c]=x.useState("intro"),[u,d]=x.useState(""),p=async()=>{c("setPassword");try{const g=await fre(n,e);if(!g.success){g.code===su?(J(o("bitbox02Wizard.stepPassword.e104"),{asDialog:!1,callback:()=>i()}),d("")):(d(o("bitbox02Wizard.noPasswordMatch")),s.current&&p());return}d(""),c("showDisclaimer")}catch(g){console.error(g)}},h=async g=>{c("setName");try{const v=await f1(n,g);if(!v.success){const y=v.code===su?o("bitbox02Settings.deviceName.error_104"):v.message;J(y||o("genericError"),{asDialog:!1,callback:()=>i()});return}p()}catch(v){console.error(v)}},m=async()=>{c("createBackup");try{const g=await b1(n,t==="mnemonic"?"recovery-words":"sdcard");g.success||(g.code===su?J(o("bitbox02Wizard.createBackupAborted"),{asDialog:!1,callback:()=>i()}):J(o("bitbox02Wizard.createBackupFailed"),{asDialog:!1}))}catch(g){console.error(g)}};if(a){if(l==="showDisclaimer")switch(t){case"sdcard":return r.jsx($S,{deviceID:n,children:r.jsx(Uxe,{onContinue:m})});case"mnemonic":return r.jsx(qxe,{onContinue:m})}if(l==="createBackup")switch(t){case"sdcard":return r.jsx(Ir,{title:o("bitbox02Interact.confirmDate"),text:o("bitbox02Interact.confirmDateText")});case"mnemonic":return r.jsx(Ir,{title:o("bitbox02Interact.confirmWords",{amount:e===16?"12":"24"}),text:o("bitbox02Interact.confirmWordsText")})}}switch(l){case"intro":switch(t){case"sdcard":return r.jsx(Gxe,{deviceID:n,onDeviceName:h,onBack:i},"set-devicename-sdcard");case"mnemonic":return r.jsx(IS,{onDeviceName:h,onBack:i},"set-devicename-mnemonic")}break;case"setName":return r.jsx(Ir,{title:o("bitbox02Interact.confirmName")});case"setPassword":return r.jsx(Qxe,{errorText:u});default:return null}},Jxe=({deviceID:t,onSelectBackup:e,onRestoreBackup:n,onBack:a})=>{const{t:i}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:i("backup.restore.confirmTitle")}),r.jsx(ue,{children:r.jsx(aS,{deviceID:t,showRestore:!0,showRadio:!0,onSelectBackup:e,onRestoreBackup:n,children:r.jsx(_,{secondary:!0,onClick:a,children:i("button.back")})})})]})},Xxe=({deviceID:t,onAbort:e})=>{const[n,a]=x.useState("restore"),[i,o]=x.useState(),s=c=>{a("setPassword"),o(c)},l=c=>{if(!c){e();return}o(void 0)};switch(n){case"restore":return r.jsx($S,{deviceID:t,children:r.jsx(Jxe,{deviceID:t,onSelectBackup:s,onRestoreBackup:l,onBack:e})});case"setPassword":return r.jsx(Yxe,{forBackup:i})}},eye=({deviceID:t,onAbort:e})=>{const{t:n}=A();return x.useEffect(()=>{pre(t).then(a=>{if(!a.success){const i=a.code===su?n("bitbox02Wizard.restoreFromMnemonic.e104"):n("bitbox02Wizard.restoreFromMnemonic.failed");J(i,{asDialog:!1,callback:()=>e()})}}).catch(console.error)},[t,e,n]),r.jsx(Ir,{title:n("bitbox02Interact.followInstructionsMnemonicTitle"),text:n("bitbox02Interact.followInstructionsMnemonic")})},tye=({backupType:t,onContinue:e})=>{const{t:n}=A();return r.jsxs(re,{fitContent:!0,fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,children:[r.jsx(be,{title:n("bitbox02Wizard.success.title"),children:r.jsx("p",{children:n("bitbox02Wizard.stepCreateSuccess.success")})}),r.jsx(ue,{withIcon:"success",children:r.jsx("p",{children:n(t==="sdcard"?"bitbox02Wizard.stepCreateSuccess.removeMicroSD":"bitbox02Wizard.stepCreateSuccess.storeMnemonic")})}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:e,children:n("success.getstarted")})})]})},nye=({onContinue:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("bitbox02Wizard.stepBackupSuccess.title")}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepCreateSuccess.removeMicroSD")}),r.jsx("p",{className:"m-bottom-default",children:e("bitbox02Wizard.stepBackupSuccess.fundsSafe")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation5")})]})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:t,children:e("success.getstarted")})})]})},aye=({onContinue:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("bitbox02Wizard.stepBackupSuccess.title")}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{className:"m-bottom-default",children:e("bitbox02Wizard.stepBackupSuccess.fundsSafe")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation5mnemonic")})]})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:t,children:e("success.getstarted")})})]})};class iye extends x.Component{constructor(e){super(e),this.unsubscribeList=[],this.updateAttestationCheck=()=>{v1(this.props.deviceID).then(n=>{this.setState({attestation:n})})},this.handleGetStarted=()=>{this.setState({status:""}),le("/account-summary",!0)},this.onStatusChanged=()=>{const{showWizard:n,unlockOnly:a}=this.state;Km(this.props.deviceID).then(i=>{!n&&["connected","unpaired","pairingFailed","uninitialized","seeded"].includes(i)&&this.setState({showWizard:!0}),a&&["uninitialized","seeded"].includes(i)&&this.setState({unlockOnly:!1}),this.setState({status:i})})},this.handleAbort=()=>{this.setState({appStatus:"",createOptions:void 0})},this.state={attestation:null,status:"",appStatus:"",unlockOnly:!0,showWizard:!1,waitDialog:void 0}}componentDidMount(){const{deviceID:e}=this.props;g1(e).then(n=>{this.setState({versionInfo:n})}),this.updateAttestationCheck(),this.onStatusChanged(),this.unsubscribeList=[X1(e,this.onStatusChanged),kde(e,this.updateAttestationCheck)]}componentWillUnmount(){Nl(this.unsubscribeList)}render(){const{deviceID:e}=this.props,{attestation:n,createOptions:a,versionInfo:i,status:o,appStatus:s,unlockOnly:l,showWizard:c,waitDialog:u}=this.state;return o===""||!i?null:o==="require_firmware_upgrade"?r.jsx(Txe,{deviceID:e,versionInfo:i}):o==="require_app_upgrade"?r.jsx(Q1,{}):c?u?r.jsx(Ir,{title:u.title,text:u.text},"wait-view"):s===""&&o==="initialized"?null:r.jsxs(ln,{children:[o==="connected"?r.jsx($xe,{attestation:n},"unlock"):null,(o==="unpaired"||o==="pairingFailed")&&r.jsx(Mxe,{deviceID:e,attestation:n,pairingFailed:o==="pairingFailed"},"pairing"),!l&&s===""&&r.jsx(Vxe,{versionInfo:i,onSelectSetup:(d,p)=>this.setState({appStatus:d,createOptions:p})},"choose-setup"),!l&&s==="create-wallet"&&r.jsx(Zxe,{backupType:a!=null&&a.withMnemonic?"mnemonic":"sdcard",backupSeedLength:a!=null&&a.with12Words?16:32,deviceID:e,isSeeded:o==="seeded",onAbort:this.handleAbort}),!l&&s==="restore-sdcard"&&o!=="initialized"&&r.jsx(Xxe,{deviceID:e,onAbort:this.handleAbort},"restore-sdcard"),!l&&s==="restore-mnemonic"&&o!=="initialized"&&r.jsx(eye,{deviceID:e,onAbort:this.handleAbort},"restore-mnemonic"),s==="create-wallet"&&o==="initialized"&&r.jsx(tye,{backupType:a!=null&&a.withMnemonic?"mnemonic":"sdcard",onContinue:this.handleGetStarted},"success"),s==="restore-sdcard"&&o==="initialized"&&r.jsx(nye,{onContinue:this.handleGetStarted},"backup-success"),s==="restore-mnemonic"&&o==="initialized"&&r.jsx(aye,{onContinue:this.handleGetStarted},"backup-mnemonic-success")]}):null}}const oye=t=>is("newTxs",e=>{e.type==="backend"&&t(e.meta)});class rye extends x.Component{constructor(){super(...arguments),this.state={connected:!0}}componentDidMount(){this.unsubscribe=vQ(e=>this.setState({connected:e}))}componentWillUnmount(){this.unsubscribe()}render(){const{children:e}=this.props,{connected:n}=this.state;return n?r.jsx("div",{children:e}):r.jsx("div",{className:"app",style:{padding:40},children:"The WebSocket closed. Please restart the backend and reload this page."})}}const Cs=()=>H("aopp/cancel"),sye=()=>H("aopp/approve"),lye=t=>H("aopp/choose-account",{accountCode:t});function cye(t,e=!0,n=!1){return function(i){var o;return o=class extends x.Component{constructor(){super(...arguments),this.subscriptions={},this.component=n?i:u1(t,e)(i)}determineEndpoints(){return typeof t=="function"?t(this.props):t}unsubscribeEndpoint(s){const l=this.subscriptions[s];l!==void 0&&(l(),delete this.subscriptions[s],(n||!e)&&this.setState({[s]:void 0}))}subscribeEndpoint(s,l){this.unsubscribeEndpoint(s),this.subscriptions[s]=Vj(l,c=>{switch(c.action){case"replace":this.setState({[s]:c.object});break;case"reload":Z(c.subject).then(u=>this.setState({[s]:u}));break}})}subscribeEndpoints(){const s=this.endpoints,l=this.determineEndpoints();for(const c of Object.keys(l))(s===void 0||l[c]!==s[c])&&this.subscribeEndpoint(c,l[c]);if(s!==void 0)for(const c of Object.keys(s))l[c]===void 0&&(this.unsubscribeEndpoint(c),this.setState({[c]:void 0}));this.endpoints=l}componentDidMount(){this.subscribeEndpoints()}componentDidUpdate(){this.subscribeEndpoints()}componentWillUnmount(){for(const s of Object.keys(this.subscriptions))this.unsubscribeEndpoint(s)}render(){const s=this.props,l=this.state,c=this.component;return r.jsx(c,{...l,...s})}},o.displayName=`Subscribe(${wg(i)})`,o}}const _y=Array.isArray,Ty=Object.keys,uye=Object.prototype.hasOwnProperty;function od(t,e){if(Object.is(t,e))return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){let n=_y(t),a=_y(e),i,o,s;if(n&&a){if(o=t.length,o!==e.length)return!1;for(i=0;i{const[a,i]=x.useState(!1),{t:o}=A(),s=async()=>{i(!0),await jg(t,n),i(!1)};return r.jsxs("div",{className:"flex flex-column",children:[r.jsx(_,{secondary:!0,onClick:s,children:o("receive.verifyBitBox02")}),a?r.jsx(xn,{title:o("receive.verifyBitBox02"),children:e}):null]})},pye="_logo_rqpye_1",hye="_prominent_rqpye_9",mye="_hostname_rqpye_22",fye="_capitalized_rqpye_31",lr={logo:pye,prominent:hye,hostname:mye,capitalized:fye},Ey=""+new URL("aoppgroup-25e94626.svg",import.meta.url).href,gye=""+new URL("bitcoin_suisse-02965c7f.png",import.meta.url).href,vye=""+new URL("bittr-51e1906b.png",import.meta.url).href,bye=""+new URL("bity-43d7e9e8.png",import.meta.url).href,kye=""+new URL("pocketbitcoin-dd57e1e7.svg",import.meta.url).href,Py={"demo.aopp.group":Ey,"testing.aopp.group":Ey,"bitcoinsuisse.com":gye,"bity.com":bye,"getbittr.com":vye,"pocketbitcoin.com":kye},Ny={"demo.aopp.group":"AOPP.group","testing.aopp.group":"AOPP.group"},Rc=({fallback:t,hostname:e,prominent:n,withLogoText:a})=>{if(!(e in Py))return t||r.jsx("p",{className:lr.hostname,children:e});const o=n?`${lr.logo} ${lr.prominent}`:lr.logo;return r.jsxs("div",{children:[r.jsx("img",{className:o,src:Py[e],alt:e}),r.jsx("p",{className:`${lr.hostname} ${lr.capitalized}`,children:e in Ny?Ny[e]:e}),a?r.jsx("p",{children:a}):null]})},xye="_banner_yebbr_1",yye="_smallIcon_yebbr_10",wye="_successText_yebbr_15",jye="_proceed_yebbr_28",Bye="_message_yebbr_33",dr={banner:xye,smallIcon:yye,successText:wye,proceed:jye,message:Bye},Sye=({children:t})=>r.jsx("div",{className:dr.banner,children:t}),Di=t=>new URL(t).host;class zye extends x.Component{constructor(){super(...arguments),this.state={accountCode:""},this.chooseAccount=e=>{this.state.accountCode&&lye(this.state.accountCode),e.preventDefault()}}componentDidMount(){this.setAccountCodeDefault()}componentDidUpdate(e){var n;this.props.aopp!==void 0&&this.props.aopp.state==="choosing-account"&&(((n=e.aopp)==null?void 0:n.state)!=="choosing-account"||!od(this.props.aopp.accounts,e.aopp.accounts))&&this.setAccountCodeDefault()}setAccountCodeDefault(){const{aopp:e}=this.props;e===void 0||e.state!=="choosing-account"||e.accounts.length&&this.setState({accountCode:e.accounts[0].code})}render(){const{t:e,aopp:n}=this.props,{accountCode:a}=this.state;if(!n)return null;switch(n.state){case"error":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.errorTitle"),children:r.jsx("p",{children:Di(n.callback)})}),r.jsx(ue,{children:r.jsxs(nn,{type:"error",children:[r.jsx(bg,{className:dr.smallIcon}),e(`error.${n.errorCode}`,{host:Di(n.callback)})]})}),r.jsx(Fe,{children:r.jsx(_,{danger:!0,onClick:Cs,children:e("button.dismiss")})})]});case"inactive":return null;case"user-approval":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),withAppLogo:!0}),r.jsx(ue,{children:r.jsx(Rc,{prominent:!0,hostname:Di(n.callback),fallback:r.jsx(Qe,{tagName:"p",markup:e("aopp.addressRequest",{host:`${Di(n.callback)}`})}),withLogoText:e("aopp.addressRequestWithLogo")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:sye,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})]})]});case"awaiting-keystore":return r.jsx(Sye,{children:e("aopp.banner")});case"choosing-account":{const i=n.accounts.map(o=>({text:o.name,value:o.code}));return r.jsx("form",{onSubmit:this.chooseAccount,children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsx(ue,{children:r.jsx(Ru,{label:e("buy.info.selectLabel"),options:i,value:a,onChange:o=>{var s;return this.setState({accountCode:(s=o.target)==null?void 0:s.value})},id:"account"})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,type:"submit",children:e("button.next")}),r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})]})]})})}case"syncing":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsx(ue,{children:r.jsx("p",{children:e("aopp.syncing")})}),r.jsx(Fe,{children:r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})})]});case"signing":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{small:!0,title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsxs(ue,{children:[r.jsx("p",{children:e("aopp.signing")}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelAddress")}),r.jsx(Ia,{alignLeft:!0,flexibleHeight:!0,value:n.address})]}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelMessage")}),r.jsx("div",{className:dr.message,children:n.message})]}),r.jsx(ns,{})]})]});case"success":return r.jsxs(re,{fitContent:!0,fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsxs(ue,{withIcon:"success",children:[r.jsx("p",{className:dr.successText,children:e("aopp.success.title")}),r.jsx("p",{className:dr.proceed,children:e("aopp.success.message",{host:Di(n.callback)})}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelAddress")}),r.jsx(Ia,{alignLeft:!0,flexibleHeight:!0,value:n.address})]}),r.jsxs(Ps,{style:{marginBottom:0},children:[r.jsx(Mi,{children:e("aopp.labelMessage")}),r.jsx("div",{className:dr.message,children:n.message})]})]}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:Cs,children:e("button.done")}),r.jsx(dye,{accountCode:n.accountCode,address:n.address,addressID:n.addressID})]})]})}}}const Cye=cye({aopp:"aopp"},!1,!1)(zye),Dye=kn()(Cye),Aye=t=>Z(`banners/${t}`),_ye=(t,e)=>Gn(`banners/${t}`,e),Tye="_link_4u2en_1",Eye={link:Tye},Ly=({msgKey:t})=>{const{i18n:e,t:n}=A(),[a,i]=x.useState();if(x.useEffect(()=>{Aye(t).then(i),_ye(t,i)},[t]),!a||!e.options.fallbackLng)return null;const{message:o,link:s}=a;return r.jsxs(an,{dismissible:a.dismissible?`banner-${t}-${a.id}`:"",type:a.type?a.type:"warning",children:[o[e.resolvedLanguage]||o[e.options.fallbackLng[0]]," ",s&&r.jsx(pt,{href:s.href,className:Eye.link,children:s.text||n("clickHere")})]})},Pye="_bitboxContainer_1nxo8_1",Nye="_failed_1nxo8_18",Lye="_bitboxImage_1nxo8_24",Iye="_cancelIcon_1nxo8_29",$ye="_text_1nxo8_35",Ai={bitboxContainer:Pye,failed:Nye,bitboxImage:Lye,cancelIcon:Iye,text:$ye};function Mye(){const{t}=A(),{isDarkMode:e}=Kn(),[n,a]=Aj(CQ());if(!n)return null;switch(n.typ){case"connect":return r.jsxs(qe,{title:t("welcome.connect"),medium:!0,open:!0,children:[r.jsxs("p",{className:Ai.text,children:[n.keystoreName===""?t("connectKeystore.promptNoName"):t("connectKeystore.promptWithName",{name:n.keystoreName}),"."]}),r.jsxs("div",{className:Ai.bitboxContainer,children:[r.jsx(ns,{}),r.jsx(iB,{})]}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:()=>DQ(),children:t("dialog.cancel")})})]});case"error":return r.jsxs(qe,{title:t("welcome.connect"),medium:!0,open:!0,children:[r.jsx("p",{className:Ai.text,children:n.errorCode==="wrongKeystore"?r.jsxs(r.Fragment,{children:[t("error.wrongKeystore"),r.jsx("br",{}),r.jsx("br",{}),t("error.wrongKeystore2")]}):n.errorMessage}),r.jsxs("div",{className:`${Ai.bitboxContainer} ${Ai.failed}`,children:[r.jsx(bg,{className:Ai.cancelIcon}),e?r.jsx(gj,{className:Ai.bitboxImage}):r.jsx(fj,{className:Ai.bitboxImage})]}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:()=>a(),children:t("dialog.cancel")})})]});default:return null}}const Oye=()=>Z("using-mobile-data"),Rye=t=>Gn("using-mobile-data",t),Fye=()=>{const{t}=A(),e=zd(Oye,Rye);return e===void 0?null:r.jsx(an,{dismissible:"mobile-data-warning",type:"warning",hidden:!e,children:t("mobile.usingMobileDataWarning")})},Vye="_link_13in7_1",Wye={link:Vye},Uye=()=>{const{t}=A(),e=me(Ej);return e?r.jsxs(an,{dismissible:`update-${e.version}`,type:"info",children:[t("app.upgrade",{current:e.current,version:e.version}),e.description," ",!ci()&&r.jsx(Rce,{className:Wye.link})]}):null},qye=t=>H("set-dark-theme",t),Iy=()=>Z("detect-dark-theme"),Hye=({children:t})=>{const[e,n]=x.useState(!1),a=Ml("(prefers-color-scheme: dark)"),i=x.useCallback(()=>{qye(e),e?(document.body.classList.add("dark-mode"),document.body.classList.remove("light-mode")):(document.body.classList.remove("dark-mode"),document.body.classList.add("light-mode"))},[e]);x.useEffect(()=>{Bt().then(s=>{if(s.frontend&&"darkmode"in s.frontend){n(s.frontend.darkmode);return}ci()?n(a):Iy().then(n)}).catch(console.error)},[a]),x.useEffect(()=>{i()},[e,i]);const o=s=>{n(s),Bt().then(async l=>{let c;if(ci()?c=a:c=await Iy(),c===s){const{darkmode:u,...d}=l.frontend;at({frontend:{...d,darkmode:void 0}})}else at({frontend:{...l.frontend,darkmode:s}})})};return r.jsx(gg.Provider,{value:{isDarkMode:e,toggleDarkmode:o},children:t})},Kye=({children:t})=>{const[e,n]=x.useState(!1),[a,i]=x.useState(!1),[o,s]=x.useState(!1),l=()=>{at({frontend:{guideShown:!e}}),n(u=>!u)},c=()=>{at({frontend:{hideAmounts:!o}}),s(u=>!u)};return x.useEffect(()=>{Bt().then(({frontend:u})=>{u?(u.guideShown!==void 0&&n(u.guideShown),u.hideAmounts!==void 0&&s(u.hideAmounts)):n(!0)})},[]),r.jsx(mi.Provider,{value:{toggleGuide:l,guideShown:e,guideExists:a,hideAmounts:o,setGuideShown:n,setGuideExists:i,toggleHideAmounts:c},children:t})},Gye="_auth_xdrxz_1",Qye={auth:Gye},Yye=()=>{const{t}=A(),[e,n]=x.useState(!1),[a,i]=x.useState(!1),o=x.useRef(!1),s=()=>{i(!0),AQ(o.current)};return x.useEffect(()=>{const l=Wj(c=>{switch(c.typ){case"auth-forced":o.current=!0;break;case"auth-required":n(u=>(u||s(),!0));break;case"auth-err":i(!1);break;case"auth-canceled":o.current?(n(!1),o.current=!1):i(!1);break;case"auth-ok":n(!1),o.current=!1}});return n(!0),s(),l},[]),e?r.jsx("div",{className:Qye.auth,children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,children:[r.jsx(be,{small:!0,title:t("auth.title")}),r.jsx(ue,{children:void 0,minHeight:"0"}),r.jsx(Fe,{children:r.jsx(_,{autoFocus:!0,primary:!0,hidden:o.current,disabled:a,onClick:s,children:t("auth.authButton")})})]})}):null},Zye=({children:t})=>{const{t:e}=A(),[n,a]=x.useState(),[i,o]=x.useState(!1),s=me(Bt),l=s&&s.frontend&&s.frontend.hasUsedWalletConnect,c=async()=>{try{const{Core:d}=await qm(()=>import("./index.es-439fa429.js").then(g=>g.l),[],import.meta.url),{Web3Wallet:p}=await qm(()=>import("./index.es-df41910f.js"),[],import.meta.url),h=new d({projectId:"89733df088867a1a1bf644013addd6cc"}),m=await p.init({core:h,metadata:{name:"BitBox",description:"BitBox02 hardware wallet",url:"https://bitbox.swiss",icons:["https://bitbox.swiss/assets/images/logos/dbb-logo.png"]}});a(m),o(!0)}catch(d){console.log("Error for initializing",d)}};x.useEffect(()=>{!n&&!i&&l&&c()},[i,n,l]);const u=async d=>{if(n)try{const{uri:p}=d,h=Kfe(p);if(Gfe(h,n))throw new Error(e("walletConnect.useNewUri"));await(n==null?void 0:n.core.pairing.pair({uri:p})),at({frontend:{hasUsedWalletConnect:!0}})}catch(p){throw console.error(`Wallet connect attempt to pair error ${p}`),p.message.includes("Pairing already exists")?new Error(e("walletConnect.useNewUri")):new Error(p.message)}};return r.jsx(Fl.Provider,{value:{initializeWeb3Wallet:c,isWalletInitialized:i,web3wallet:n,pair:u},children:t})},Jye=({children:t})=>{const[e,n]=x.useState("USD"),[a,i]=x.useState(["USD","EUR","CHF"]),[o,s]=x.useState("default");x.useEffect(()=>{l()},[]);const l=async()=>{var g,v,y;const m=await Bt();(g=m.backend)!=null&&g.mainFiat&&n(m.backend.mainFiat),(v=m.backend)!=null&&v.fiatList&&((y=m.backend)!=null&&y.btcUnit)&&(i(m.backend.fiatList),s(m.backend.btcUnit))},c=()=>{const m=a.indexOf(e),g=a[(m+1)%a.length];n(g)},u=m=>{a.includes(m)||d(m),n(m),at({backend:{mainFiat:m}})},d=async m=>{const g=[...a,m];await at({backend:{fiatList:g}}),h(g)},p=async m=>{const g=a.filter(v=>!od(v,m));await at({backend:{fiatList:g}}),h(g)},h=m=>{i(m),wQ()};return r.jsx(Zo.Provider,{value:{defaultCurrency:e,activeCurrencies:a,btcUnit:o,rotateFiat:c,selectFiat:d,updateDefaultFiat:u,updateRatesConfig:l,unselectFiat:p},children:t})},mv=async t=>{const e=await Yj(t);if(!e.success)return console.log("Failed in fetching account name and code"),{accountName:"",accountCode:""};const{code:n,name:a}=e;return{accountName:a,accountCode:n}};async function Xye(t,e){switch(t){case qa.ETH_SIGN:case qa.PERSONAL_SIGN:await ewe(e,t);break;case qa.ETH_SIGN_TYPED_DATA:case qa.ETH_SIGN_TYPED_DATA_V3:case qa.ETH_SIGN_TYPED_DATA_V4:await twe(e);break;case qa.ETH_SIGN_TRANSACTION:case qa.ETH_SEND_TRANSACTION:await nwe(e,t);break;default:console.log(`${t} is unsupported`)}}async function ewe({params:t,launchSignDialog:e,topic:n,id:a,currentSession:i},o){const s=o===qa.PERSONAL_SIGN,l=t.request.params,c=s?l[1]:l[0],u=s?l[0]:l[1],d=Qfe(u);if(d===null){J(Oo("walletConnect.signingRequest.decodeError"));return}const{accountName:p,accountCode:h}=await mv(c);e({topic:n,id:a,apiCaller:async()=>{const g=await aY(h,u);return g.success?{response:{id:a,jsonrpc:"2.0",result:g.signature},success:!0}:{success:!1,error:g}},dialogContent:{signingData:d,currentSession:i,accountName:p,accountAddress:c,chain:t.chainId,method:Oo("walletConnect.signingRequest.method.signMessage")}})}async function twe({params:t,launchSignDialog:e,topic:n,id:a,currentSession:i}){const o=t.request.params,s=o[0],l=o[1];let c;const{accountName:u,accountCode:d}=await mv(s);try{c=JSON.parse(l)}catch(h){console.error("Failed to parse JSON",h),J(Oo("walletConnect.signingRequest.dataParsingError"));return}e({topic:n,id:a,apiCaller:async()=>{var g;const h=(g=c==null?void 0:c.domain)!=null&&g.chainId?Number(c.domain.chainId):Number(t.chainId.replace(/^eip155:/,"")),m=await iY(d,h,l);return m.success?{response:{id:a,jsonrpc:"2.0",result:m.signature},success:!0}:{success:!1,error:m}},dialogContent:{signingData:JSON.stringify(c,null,2),currentSession:i,accountName:u,accountAddress:s,chain:t.chainId,method:Oo("walletConnect.signingRequest.method.signTypedData")}})}async function nwe(t,e){const n=e===qa.ETH_SEND_TRANSACTION,{params:a,launchSignDialog:i,topic:o,id:s,currentSession:l}=t,c=a.request.params,u=c[0].from,d=c[0],{accountName:p,accountCode:h}=await mv(u),m=async()=>{const v=Number(a.chainId.replace(/^eip155:/,"")),y=await oY(h,n,v,d);return y.success?{response:{id:s,jsonrpc:"2.0",result:n?y.txHash:y.rawTx},success:!0}:{success:!1,error:y}},g=Oo(n?"walletConnect.signingRequest.method.sendTransaction":"walletConnect.signingRequest.method.signTransaction");i({topic:o,id:s,apiCaller:m,dialogContent:{signingData:JSON.stringify(d),currentSession:l,accountName:p,accountAddress:u,chain:a.chainId,method:g}})}const awe="_accountName_gsa52_1",iwe="_accountNameAndAddress_gsa52_6",owe="_address_gsa52_10",rwe="_animationAndTextContainer_gsa52_16",swe="_chainContainer_gsa52_28",lwe="_itemText_gsa52_33",cwe="_dappIcon_gsa52_42",uwe="_item_gsa52_33",dwe="_label_gsa52_62",pwe="_listContainer_gsa52_68",hwe="_outerContainer_gsa52_77",mwe="_successIcon_gsa52_84",fwe="_textarea_gsa52_89",gwe="_titleContainer_gsa52_97",Ie={accountName:awe,accountNameAndAddress:iwe,address:owe,animationAndTextContainer:rwe,chainContainer:swe,itemText:lwe,dappIcon:cwe,item:uwe,label:dwe,listContainer:pwe,outerContainer:hwe,successIcon:mwe,textarea:fwe,titleContainer:gwe},vwe=()=>{const{t}=A();return r.jsxs("div",{className:Ie.animationAndTextContainer,children:[r.jsx("p",{children:t("confirmOnDevice")}),r.jsx(ns,{})]})},bwe=()=>{const{t}=A();return r.jsxs("div",{className:Ie.animationAndTextContainer,children:[r.jsx(vg,{className:Ie.successIcon}),r.jsx("p",{children:t("walletConnect.signingRequest.successfullySigned")})]})},kwe=({open:t,onAccept:e,onReject:n,content:a,stage:i})=>{const{t:o}=A(),{isDarkMode:s}=Kn(),{accountAddress:l,accountName:c,signingData:u,chain:d,method:p,currentSession:h}=a,m=d in Ns?Ns[d].name:d,g=d in Ns?Ns[d].icon:null,v=h.peer.metadata,y=20,b=u.toString().split(` +`).length+3,k=b>y?y:b;return r.jsxs(qe,{open:t,large:!0,onClose:n,children:[r.jsxs("div",{className:Ie.titleContainer,children:[s?r.jsx(Ou,{height:32,width:32}):r.jsx(rK,{height:40,width:40}),r.jsx("h3",{children:o("walletConnect.signingRequest.walletConnectRequest")})]}),r.jsxs("div",{className:Ie.outerContainer,children:[i!=="accepted"&&r.jsxs(r.Fragment,{children:[r.jsxs("ul",{className:Ie.listContainer,children:[r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.account")}),r.jsxs("span",{className:Ie.accountNameAndAddress,children:[r.jsx("p",{className:Ie.accountName,children:r.jsx("b",{children:c})}),r.jsx("p",{className:Ie.address,children:ip(l)})]})]}),r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.chain")}),r.jsxs("div",{className:Ie.chainContainer,children:[r.jsx("p",{className:Ie.itemText,children:m}),g]})]}),r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.dapp")}),r.jsx("p",{className:Ie.itemText,children:v.name})]}),r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("transaction.details.type")}),r.jsx("p",{className:Ie.itemText,children:p})]}),u&&r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.data")}),r.jsx("textarea",{rows:k,className:Ie.textarea,readOnly:!0,value:u.toString()})]})]}),i==="confirming"&&r.jsx(vwe,{}),i==="initial"&&r.jsxs(Yt,{children:[r.jsx(_,{onClick:e,primary:!0,type:"submit",children:o("button.continue")}),r.jsx(_,{onClick:n,secondary:!0,type:"submit",children:o("dialog.cancel")})]})]}),i==="accepted"&&r.jsx(bwe,{})]})]})},xwe=()=>{const{web3wallet:t,isWalletInitialized:e}=x.useContext(Fl),[n,a]=x.useState(!1),[i,o]=x.useState(),[s,l]=x.useState("initial"),c=x.useRef(),u=x.useRef(),d=({topic:m,id:g,apiCaller:v,dialogContent:y})=>{const{signingData:b,currentSession:k,accountAddress:w,accountName:j,chain:z,method:S}=y;u.current={topic:m,id:g},c.current=v,o({accountAddress:w,accountName:j,signingData:b,chain:z,currentSession:k,method:S}),a(!0)};x.useEffect(()=>{if(!t&&!e)return;const m=async g=>{const{topic:v,params:y,id:b}=g,w=Object.values((t==null?void 0:t.getActiveSessions())||{}).find(j=>j.topic===v);if(w){const j={topic:v,id:b,params:y,currentSession:w,launchSignDialog:d};await Xye(y.request.method,j)}};return t==null||t.on("session_request",m),()=>{t==null||t.off("session_request",m)}},[e,t]);const p=async()=>{a(!1);const m=u.current;if(m){const{topic:g,id:v}=m;await(t==null?void 0:t.respondSessionRequest({topic:g,response:Qx(v)}))}},h=async()=>{const m=c.current,g=u.current;if(m&&g){l("confirming");const{topic:v,id:y}=g,{response:b,success:k,error:w}=await m();if(k)await(t==null?void 0:t.respondSessionRequest({topic:v,response:b})),l("accepted"),setTimeout(()=>{a(!1),l("initial")},5e3);else if(w.aborted)l("initial"),a(!1),await(t==null?void 0:t.respondSessionRequest({topic:v,response:Qx(y)}));else{l("initial");const{errorMessage:j}=w;J(j||Oo("pairing.error.text"))}}};return!i||!n?null:r.jsx(kwe,{content:i,open:n,stage:s,onAccept:h,onReject:p})};class ywe extends x.Component{constructor(){super(...arguments),this.state={accounts:[],devices:{}},this.unsubscribeList=[],this.handleRoute=()=>{Xi.state.activeSidebar&&So()},this.maybeRoute=()=>{const e=window.location.pathname,n=e==="/"||e==="/index.html"||e==="/android_asset/web/index.html",a=e.startsWith("/account/"),i=this.state.accounts;if(n&&e!=="/"&&(!i||i.length===0)){le("/",!0);return}if(i.length===0&&(e.startsWith("/account-summary")||e.startsWith("/add-account")||e.startsWith("/settings/manage-accounts"))){le("/",!0);return}if(Object.keys(this.state.devices).length===0&&e.startsWith("/settings/device-settings/")){le("/",!0);return}if(a&&!i.some(o=>e.startsWith("/account/"+o.code))){le("/",!0);return}if(n&&i.length){le("/account-summary",!0);return}if(i.length===0&&e.startsWith("/buy/")){le("/",!0);return}},this.devicesKey=e=>e+":"+JSON.stringify(this.state.devices,Object.keys(this.state.devices).sort()),this.activeAccounts=()=>this.state.accounts.filter(e=>e.active)}componentDidMount(){Promise.all([jie(),UQ()]).then(([e,n])=>{this.setStateWithDeviceList({accounts:n,devices:e})}).catch(console.error),this.unsubscribeList.push(oye(e=>{jZ(this.props.t("notification.newTxs",{count:e.count,accountName:e.accountName}))}),Mie(e=>{this.setState({accounts:e},()=>this.maybeRoute())}),vde(e=>{this.setStateWithDeviceList({devices:e})}))}setStateWithDeviceList(e){const n=Object.keys(this.state.devices);this.setState(a=>({...a,...e}),()=>{const a=Object.keys(this.state.devices);if(a.length>0&&a[0]!==n[0]){const i=this.state.devices[a[0]];if(i==="bitbox"||i==="bitbox02-bootloader"){le(`settings/device-settings/${a[0]}`,!0);return}}this.maybeRoute()})}componentWillUnmount(){Nl(this.unsubscribeList)}render(){const{accounts:e,devices:n}=this.state,a=Object.keys(n),i=this.activeAccounts();return r.jsx(rye,{children:r.jsx(Kye,{children:r.jsx(Hye,{children:r.jsx(Jye,{children:r.jsxs(Zye,{children:[r.jsx(uce,{}),r.jsxs("div",{className:"app",children:[r.jsx(Yye,{}),r.jsx(RY,{accounts:i,deviceIDs:a}),r.jsxs("div",{className:"appContent flex flex-column flex-1",style:{minWidth:0},children:[r.jsx(Uye,{}),r.jsx(Ly,{msgKey:"bitbox01"}),r.jsx(Ly,{msgKey:"bitbox02"}),r.jsx(Fye,{}),r.jsx(xwe,{}),r.jsx(Dye,{}),r.jsx(Mye,{}),Object.entries(n).map(([o,s])=>s==="bitbox02"?r.jsx(x.Fragment,{children:r.jsx(iye,{deviceID:o})},o):null),r.jsx(_xe,{accounts:e,activeAccounts:i,deviceIDs:a,devices:n,devicesKey:this.devicesKey}),r.jsx(VZ,{onChange:this.handleRoute})]}),r.jsx(lQ,{}),r.jsx(Oae,{})]})]})})})})})}}const wwe=kn()(ywe);const jwe=document.getElementById("root"),Bwe=J0(jwe);Bwe.render(r.jsx(Mn.StrictMode,{children:r.jsx(SC,{i18n:se,children:r.jsx(Mn.Suspense,{fallback:null,children:r.jsx(CD,{children:r.jsx(wwe,{})})})})}));export{v0e as $,tje as A,dv as B,N0e as C,mp as D,pp as E,J0e as F,nje as G,X0e as H,de as I,rje as J,k0e as K,x0e as L,ga as M,Ni as N,rp as O,sa as P,z0e as Q,ma as R,Xx as S,D0e as T,to as U,A0e as V,aje as W,sje as X,oje as Y,g0e as Z,Ul as _,$y as a,b0e as a0,tke as a1,B0e as a2,y0e as a3,j0e as a4,w0e as a5,TS as a6,hp as a7,R0e as a8,F0e as a9,T0e as aa,fp as ab,S0e as ac,lje as ad,C0e as ae,cje as af,K0e as ag,G0e as ah,W0e as ai,V0e as aj,E0e as ak,P0e as al,ql as am,ES as an,vn as ao,Eo as b,zwe as c,_0e as d,O0e as e,q0e as f,FS as g,M0e as h,Y0e as i,U0e as j,H0e as k,Fke as l,I0e as m,Qn as n,Rke as o,L0e as p,eje as q,qge as r,up as s,uje as t,Oke as u,Q0e as v,Po as w,Z0e as x,$0e as y,ije as z}; diff --git a/frontends/web/build/assets/index-d1f7113c.css b/frontends/web/build/assets/index-d1f7113c.css new file mode 100644 index 0000000000..4af7ef889f --- /dev/null +++ b/frontends/web/build/assets/index-d1f7113c.css @@ -0,0 +1 @@ +._expandIcon_j17uw_1{stroke:var(--color-gray);width:18px;height:18px}._logo_gbled_1{display:block;margin:0 auto var(--space-default) auto;max-width:160px}._swissOpenSource_gbled_7{max-width:240px!important;width:100%!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:280px!important}@media (max-width: 768px){._swissOpenSource_gbled_7{max-width:180px!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:210px!important}}._point2bitbox02_1vb0x_1{text-align:center}._caret_1vb0x_5{display:block;margin:0 auto}._bitbox02_1vb0x_10{display:inline-block;max-width:264px;position:relative;right:-16px}._overlay_1u8gr_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background:transparent;z-index:4010}._overlay_1u8gr_1._activeOverlay_1u8gr_15{background-color:var(--bg-transparent-dark)}._modal_1u8gr_19{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto}@media (min-width: 1200px){._header_1u8gr_31 ._title_1u8gr_31{--size-subheader: 16px}._modal_1u8gr_19{margin-left:var(--sidebar-width-large)}._modal_1u8gr_19 ._contentContainer_1u8gr_37 p{--size-default: 14px}}._modal_1u8gr_19._small_1u8gr_42{max-width:340px;width:100%}._modal_1u8gr_19._medium_1u8gr_47{max-width:520px;width:100%}._modal_1u8gr_19._large_1u8gr_53{max-width:800px;width:100%}._header_1u8gr_31{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--background)}._header_1u8gr_31._centered_1u8gr_68{justify-content:center}._header_1u8gr_31 ._title_1u8gr_31{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_1u8gr_78{background:none;border:none;padding:0;width:auto!important}._closeButton_1u8gr_78:focus{outline:none}._closeButton_1u8gr_78:disabled{color:var(--color-secondary)}._header_1u8gr_31 ._closeButton_1u8gr_78,._header_1u8gr_31 ._closeButton_1u8gr_78 img{width:18px;height:18px}._contentContainer_1u8gr_37{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_1u8gr_37._slim_1u8gr_105{padding:0}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-default)}._content_1u8gr_37 p{word-break:break-word}._actions_1u8gr_117 button,._actions_1u8gr_117 a,._small_1u8gr_42 ._actions_1u8gr_117 button,._small_1u8gr_42 ._actions_1u8gr_117 a{width:100%}._actions_1u8gr_117>*:not(:last-child),._small_1u8gr_42 ._actions_1u8gr_117>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_1u8gr_117{margin-top:var(--space-quarter)}._confirmationLabel_1u8gr_135{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_1u8gr_144{display:inline-block;position:absolute;left:0}._disabledLabel_1u8gr_150,._disabledLabel_1u8gr_150 span{color:var(--color-light)!important}._noStep_1u8gr_155{padding-left:0}._confirmationInstructions_1u8gr_159{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_1u8gr_159>div{width:50%}._confirmationInstructions_1u8gr_159 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_1u8gr_159._confirm_1u8gr_135{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_1u8gr_179{height:120px;margin-right:var(--space-half)}._modalContent_1u8gr_184 p{font-size:var(--size-default);font-weight:400}._modalContent_1u8gr_184>*:first-child{margin-top:0}._detail_1u8gr_193{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_1u8gr_193:not(:first-child){border-bottom:solid 1px var(--background)}._detail_1u8gr_193 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1u8gr_193 label,._detail_1u8gr_193 p{margin:0;line-height:1}._detail_1u8gr_193._description_1u8gr_217>span{text-align:right}._buttons_1u8gr_221{padding:var(--space-quarter)}._buttons_1u8gr_221 button:first-child{margin-right:10px}._buttons_1u8gr_221 button{width:50%}._dialogButtons_1u8gr_233{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_1u8gr_233>*:only-child{width:100%}@media (min-width: 769px){._closingOverlay_1u8gr_244{display:none}}@media (max-width: 768px){._header_1u8gr_31 ._title_1u8gr_31{font-size:var(--header-default-font-size)}._modal_1u8gr_19{padding:0}._modal_1u8gr_19,._modal_1u8gr_19._small_1u8gr_42,._modal_1u8gr_19._medium_1u8gr_47,._modal_1u8gr_19._large_1u8gr_53{max-width:100vw;height:100vh;transform:translateY(100vh);transition:transform .3s;border-top-right-radius:var(--space-half);border-top-left-radius:var(--space-half)}._modal_1u8gr_19._open_1u8gr_268{transition:transform .3s;transform:translateY(0)}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-half)}}._link_28asd_1{align-items:center;background:none;border:none;color:var(--color-blue);cursor:default;display:flex;flex-direction:row;font-size:var(--size-default);justify-content:flex-start;padding:var(--space-quarter)}._link_28asd_1 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._language_28asd_20{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:var(--item-height);padding:0 var(--space-half);color:var(--color-blue);border:none;background-color:transparent;font-size:var(--size-default)}._language_28asd_20:focus{outline:none}._language_28asd_20._selected_28asd_38{color:var(--color-default)}._language_28asd_20:hover{background-color:var(--background)}._checked_28asd_46{width:18px;height:18px}@media (max-width: 768px){._link_28asd_1{font-size:var(--size-small)}._language_28asd_20{font-size:var(--size-small)!important}}._fullscreen_q1y08_1{background:var(--background);bottom:0;display:flex;flex-grow:1;flex-direction:column;left:0;overflow-x:inherit;overflow-y:auto;position:fixed;right:0;top:0;z-index:5100}.container ._fullscreen_q1y08_1{z-index:5050}._dialog_q1y08_22{background-color:var(--bg-transparent-dark);justify-content:center}._fill_q1y08_28{align-self:center;display:flex;flex-direction:column;flex-grow:1;padding:0 var(--space-default) var(--space-default) var(--space-default);max-width:var(--content-width);width:100%}._inner_q1y08_38{display:flex;flex-direction:column;margin:0 auto;max-width:var(--content-width);padding:var(--space-half) 0;width:100%}._verticallyCentered_q1y08_46 ._inner_q1y08_38{margin-bottom:auto;margin-top:auto}._inner_q1y08_38._fit_q1y08_50{flex-shrink:0;max-height:100%;padding-bottom:0;padding-top:0}._fit_q1y08_50 ._content_q1y08_56{align-items:stretch;display:flex;flex-direction:column}._textCenter_q1y08_61,._text-center_q1y08_62{text-align:center}._text-left_q1y08_65{text-align:left}@media (max-width: 768px){._inner_q1y08_38{flex-grow:1;display:flex;flex-direction:column;margin:0 auto;min-height:auto!important}._inner_q1y08_38._fit_q1y08_50{padding-bottom:var(--space-half);padding-top:2vh}}@media (min-width: 769px){._fullscreen_q1y08_1 ._inner_q1y08_38{padding-left:var(--space-default);padding-right:var(--space-default)}}@media (max-width: 1080px){._inner_q1y08_38{max-width:100%}}@media (min-width: 1200px){._inner_q1y08_38{padding-left:0;padding-right:0}}._dialog_q1y08_22 ._inner_q1y08_38{background-color:var(--background-secondary);box-shadow:0 3px 5px #0000004d;flex-grow:0;max-width:100%;padding-left:0;padding-right:0;width:540px}._header_q1y08_109{color:var(--color-secondary);font-size:var(--size-default);margin-bottom:var(--space-default);word-break:break-word}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-default);padding-top:0;padding-right:var(--space-default)}@media (max-width: 768px){._fill_q1y08_28{padding:0 0 var(--space-default) 0}._header_q1y08_109{padding-left:var(--space-half);padding-top:var(--space-default);padding-right:var(--space-half);margin-bottom:0}._smallHeader_q1y08_130{margin-bottom:var(--space-half);padding-top:var(--space-half)}._fill_q1y08_28 ._header_q1y08_109{padding-top:0}}@media (max-width: 1199px){._header_q1y08_109{padding-top:var(--space-large)}._smallHeader_q1y08_130,._fill_q1y08_28 ._header_q1y08_109{padding-top:0}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-half);padding-top:0;padding-right:var(--space-half)}}._title_q1y08_155{color:var(--color-default);font-size:var(--size-subheader);font-weight:400;margin-bottom:var(--space-half)}._title_q1y08_155 span{display:block}._header_q1y08_109 p{margin-top:var(--space-quarter)}._closeButton_q1y08_169{background:transparent;border:none;color:var(--color-primary);height:var(--header-height);left:0;position:absolute;text-align:center;top:0;width:var(--header-height)}._content_q1y08_56{flex-grow:1;flex-shrink:0;min-height:80px;word-break:break-word}._fit_q1y08_50 ._content_q1y08_56{flex-shrink:1}@media (max-width: 768px){._content_q1y08_56{flex-grow:1;flex-basis:auto;flex-shrink:0;padding:0 var(--space-half)}._content_q1y08_56._fullWidth_q1y08_197{padding:0}}@media (max-width: 1199px){._dialog_q1y08_22 ._content_q1y08_56{padding:0 var(--space-half)}}@media (min-width: 1200px){._content_q1y08_56{min-height:130px}._dialog_q1y08_22 ._content_q1y08_56{padding:var(--space-half) var(--space-default)}}._content_q1y08_56 ._largeIcon_q1y08_215{margin:var(--space-half) auto;max-height:100%;max-width:280px;min-width:80px;width:50%}@media (max-width: 768px){._content_q1y08_56 ._largeIcon_q1y08_215{margin-bottom:var(--space-half);margin-top:var(--space-half);max-width:160px}}._content_q1y08_56 ul{font-size:var(--size-default);line-height:1.625;padding-left:1.4em}._content_q1y08_56 label{color:var(--color-default)}._buttons_q1y08_240{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default);padding-bottom:var(--space-half)}._dialog_q1y08_22 ._buttons_q1y08_240{padding-left:var(--space-default);padding-right:var(--space-default)}@media (max-width: 768px){._buttons_q1y08_240{padding:0 var(--space-half)}}@media (max-width: 768px) and (orientation: portrait){._buttons_q1y08_240{align-items:stretch;flex-direction:column;flex-grow:0;justify-content:flex-end;margin-top:var(--space-half)}._buttons_q1y08_240>*:not(:last-child){margin-bottom:var(--space-half)}}@media (max-width: 1199px){._dialog_q1y08_22 ._buttons_q1y08_240{padding:0 var(--space-half)}}._textCenter_q1y08_61 ._buttons_q1y08_240>*:only-child{justify-self:flex-end;margin:0 auto}@media (min-width: 1200px){._title_q1y08_155{--size-subheader: 28px}._header_q1y08_109,._inner_q1y08_38 p{--size-default: 20px}._fullscreen_q1y08_1{--size-default: 18px}._inner_q1y08_38 footer p{--size-default: 14px}}._footer_q1y08_294{align-items:center;display:flex;flex-direction:row;justify-content:flex-end;margin:var(--space-default) auto 0 auto;max-width:var(--content-width);padding:0;width:100%}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-default) auto;padding:0 var(--space-default)}._footer_q1y08_294 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_q1y08_294 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_q1y08_294{padding:0 var(--space-half);margin:var(--space-half) 0 0 0}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-half) 0}._footer_q1y08_294 p{text-align:right;font-size:var(--size-small)}._footer_q1y08_294 img{width:80px}}._button_b8ew4_1{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:transparent;border-radius:2px;border-style:solid;border-width:1px;cursor:default;display:inline-flex;flex-direction:row;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;justify-content:center;min-width:100px;height:50px;outline:none;padding:0 var(--space-default);position:relative;text-align:center;text-decoration:none;transition:background-color .2s ease-out,color .2s ease-out;will-change:background-color,color}._button_b8ew4_1:hover{cursor:pointer}._button_b8ew4_1:disabled{cursor:not-allowed}._button_b8ew4_1:focus{outline:none}._primary_b8ew4_38{background:var(--color-blue);color:var(--color-alt)}._primary_b8ew4_38:not([disabled]):focus,._primary_b8ew4_38:not([disabled]):hover{background-color:var(--color-lightblue)}._secondary_b8ew4_49{background-color:var(--background-secondary);border-color:var(--background-tertiary);color:var(--color-default)}._secondary_b8ew4_49:not([disabled]):focus,._secondary_b8ew4_49:not([disabled]):hover{border-color:var(--color-blue);color:var(--color-blue)}._secondary_b8ew4_49[disabled]{border-color:var(--background-quaternary);color:var(--color-tertiary)}._danger_b8ew4_67{background-color:var(--color-softred);border-color:var(--color-softred);color:var(--color-alt)}._danger_b8ew4_67:not([disabled]):focus,._danger_b8ew4_67:not([disabled]):hover{background-color:var(--color-lightred);border-color:var(--color-lightred)}._danger_b8ew4_67:focus{outline-color:var(--color-swissred)}._transparent_b8ew4_84{background-color:transparent;border-color:transparent;color:var(--color-blue);display:inline-block;height:auto;min-width:0;padding:var(--space-half)}._transparent_b8ew4_84:not([disabled]):focus,._transparent_b8ew4_84:not([disabled]):hover{color:var(--color-lightblue)}._primary_b8ew4_38[disabled],._danger_b8ew4_67[disabled],._transparent_b8ew4_84[disabled]{opacity:.4}._button_b8ew4_1[hidden]{display:none}@media (max-width: 768px){._button_b8ew4_1{min-width:90px}}._checkbox_1m6k1_1 input{position:absolute;opacity:0}._checkbox_1m6k1_1 input+label{display:inline-block;max-width:100%;padding-left:2em;position:relative}._checkbox_1m6k1_1 input+label:before,._checkbox_1m6k1_1 input+label:after{background:var(--background-secondary);box-sizing:border-box;content:"";display:inline-block;width:1em;height:1em;position:absolute;left:0;vertical-align:top;text-align:center;transition:all .1s ease}._checkbox_1m6k1_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:2px;top:-1px}._success_1m6k1_33 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-success)}._warning_1m6k1_37 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-warning)}._info_1m6k1_41 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-info)}._checkbox_1m6k1_1 input+label:after{background:transparent;border:solid var(--background-secondary);border-width:0px 2px 2px 0;width:.35em;height:.55em;position:absolute;top:3px;left:6px;margin-left:-1px;margin-top:-2px;opacity:0;transform:scale(2) rotate(45deg);transition:opacity .2s ease-out,transform .2s ease-out}._checkbox_1m6k1_1 input:checked+label:before{background-color:var(--color-blue);border-color:var(--color-blue)}._success_1m6k1_33 input:checked+label:before{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-alt)}._warning_1m6k1_37 input:checked+label:before{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-alt)}._info_1m6k1_41 input:checked+label:before{background-color:var(--color-info);border-color:var(--color-info);color:var(--color-alt)}._checkbox_1m6k1_1 input:checked+label:after{opacity:1;transform:scale(1) rotate(37deg)}._checkbox_1m6k1_1 input[type=checkbox]:focus+label:before{border-color:var(--color-blue);outline:none;outline-offset:0}._checkbox_1m6k1_1 input[type=checkbox]:checked:focus+label:before{outline:2px solid var(--color-blue);outline-offset:-1px}:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:focus+label:before,:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:checked:focus+label:before{border-color:transparent;outline:2px solid var(--color-blue);outline-offset:0}._checkbox_1m6k1_1 input[disabled]+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_198i3_1{--size-default: 14px}._radio_198i3_1 input{position:absolute;opacity:0}._radio_198i3_1 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin-right:var(--space-half);padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_198i3_1 input+label:before,._radio_198i3_1 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_198i3_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_198i3_1 input+label:after{background:var(--color-blue);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radio_198i3_1 input:checked+label:before{background-color:var(--background-secondary)}._radio_198i3_1 input:checked+label:after{opacity:1;transform:scale(1)}._radio_198i3_1 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue);outline:none;outline-offset:0}._radio_198i3_1 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue)}._radio_198i3_1 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._field_d2mb0_1{margin-bottom:var(--spacing-default)}._input_1dgl0_1{width:100%;margin-bottom:var(--space-half);position:relative}._input_1dgl0_1 label{display:block;margin:0 0 var(--space-quarter) 0}._align-left_1dgl0_12 label{justify-self:flex-start}._align-right_1dgl0_16 label{flex-grow:1;justify-self:flex-end;text-align:right}._align-right_1dgl0_16 input{text-align:right}._input_1dgl0_1 input{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%;transition:border-color .2s ease-out;will-change:border-color}._input_1dgl0_1 input:focus{border-color:var(--color-blue);outline:none}._input_1dgl0_1 input::placeholder{color:var(--color-secondary)}._input_1dgl0_1 input[disabled]{background-color:var(--background-secondary)!important;border-color:var(--background)!important;color:var(--color-secondary)!important;cursor:not-allowed}._isTransparent_1dgl0_58 input[disabled]{border-color:var(--background);color:var(--color-default)!important;cursor:default}._errorText_1dgl0_64{color:var(--color-softred)!important}._errorText_1dgl0_64>span>span{margin-left:5px}._input_1dgl0_1 input[type=checkbox]{width:auto;height:auto}._label_53nw1_1{text-align:left}._select_yd5xu_1{margin-bottom:var(--space-half);position:relative;width:100%}._select_yd5xu_1 label{display:block;margin-bottom:var(--space-quarter);text-align:left}._select_yd5xu_1 select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:calc(100% - 12px);background-repeat:no-repeat;border:solid 1px var(--background-quaternary);border-radius:2px;color:var(--color-default);font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%}._select_yd5xu_1 select[disabled]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23ccc'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A")}._select_yd5xu_1 option{background-color:var(--background-secondary);color:var(--color-default);padding:var(--spacing-default);width:100%}._select_yd5xu_1 option[disabled]{color:var(--color-disabled)}._message_ncb43_1{border:solid 1px var(--background-quaternary);color:var(--color-secondary);border-radius:2px;padding:var(--spacing-default);margin-bottom:var(--spacing-default);display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-shrink:0;overflow:hidden}._message_ncb43_1._small_ncb43_15{flex-shrink:1;font-size:var(--size-default)}._message_ncb43_1 img{margin-right:var(--spacing-default)}._message_ncb43_1 p:last-child{margin-bottom:0!important}._success_ncb43_28{color:var(--color-success);border-color:var(--color-success)}._info_ncb43_34{color:var(--color-blue);border-color:var(--color-blue)}._warning_ncb43_40{color:var(--color-warning);border-color:var(--color-warning)}._error_ncb43_46{color:var(--color-error);border-color:var(--color-error)}._capsWarning_1xqma_1{color:var(--color-warning);font-weight:700;line-height:42px;position:absolute;right:0;width:2rem}._badge_f2nw5_1{border-radius:var(--space-half);border:1px solid;display:inline-block;font-size:var(--size-small);line-height:14px;padding:var(--space-eight) 10px;white-space:nowrap}._badge_f2nw5_1._iconOnly_f2nw5_11{align-items:center;display:inline-flex;height:18px;justify-content:center;padding:0;width:18px}._badgeIcon_f2nw5_20{max-width:10px}._withChildren_f2nw5_24 ._badgeIcon_f2nw5_20{margin-right:var(--space-eight)}@media (max-width: 382px){._badge_f2nw5_1{font-size:10px}}._success_f2nw5_34{background:var(--color-palegreen);border-color:var(--color-lightgreen);color:var(--color-darkgreen)}._warning_f2nw5_40{background:var(--color-lightyellow);border-color:var(--color-darkyellow);color:var(--color-olive)}._closeButton_1xwfn_1{background:transparent;border:none;display:none;padding:12px;transform:translate(14px)}._closeButton_1xwfn_1:focus{outline:none}._sidebarOverlay_1xwfn_13{position:fixed;background-color:#0000004d;width:100%;height:100%;top:0;left:0;z-index:-1;opacity:0;animation-delay:.2s;transition:opacity ease .2s}._sidebarOverlay_1xwfn_13._active_1xwfn_26{opacity:1;z-index:4001}._sidebar_1xwfn_13{position:fixed;margin-left:calc(var(--sidebar-width-large) * -1);align-content:stretch;background-color:var(--background-dark);display:flex;flex-direction:column;flex-shrink:0;justify-content:flex-start;height:100vh;padding:0 0 var(--spacing-default) 0;width:var(--sidebar-width-large);z-index:4002;overflow-y:auto}._sidebar_1xwfn_13>*._end_1xwfn_47{margin-top:auto;padding-top:var(--sidebar-margin)}._sidebar_1xwfn_13._forceShow_1xwfn_52{margin-left:0}._sidebar_1xwfn_13 ._sidebarLogoContainer_1xwfn_56{align-items:center;display:flex;flex-direction:row;height:70px;justify-content:space-between;padding:calc(var(--spacing-default) + var(--spacing-half)) var(--spacing-large);background-size:cover;background-color:#0000001a;opacity:1;transition:opacity .2s ease}._sidebarLogoContainer_1xwfn_56 img{margin-bottom:0;width:auto!important;height:var(--sidebar-icon-size)!important}._sidebarHeaderContainer_1xwfn_75{margin-top:var(--sidebar-margin);margin-bottom:var(--sidebar-header-size);padding:0 var(--sidebar-margin);display:flex;flex-direction:row;justify-content:space-between;align-items:center}._sidebarPortfolio_1xwfn_85+._sidebarHeaderContainer_1xwfn_75{margin-top:28px}._sidebarHeader_1xwfn_75{font-size:var(--sidebar-header-size);line-height:var(--sidebar-header-line-height);color:var(--color-secondary)}._sidebarIconVisible_1xwfn_95{visibility:visible}._sidebarIconHidden_1xwfn_99{visibility:hidden}._sidebarItem_1xwfn_103{display:block}._sidebarItem_1xwfn_103 a{position:relative;color:#fff;cursor:default;height:var(--sidebar-item-height);text-decoration:none;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;border-radius:2px}._sidebarArrow_1xwfn_121{display:none}._sidebarItem_1xwfn_103 a._sidebarActive_1xwfn_125{text-decoration:none;background-color:#ffffff1a}._activeGroup_1xwfn_130 ._sidebarArrow_1xwfn_121{display:inline;margin-right:var(--sidebar-margin)}._sidebarItem_1xwfn_103 .stacked,._sidebarItem_1xwfn_103 ._single_1xwfn_136{margin:0 var(--sidebar-icon-margin) 0 var(--sidebar-margin);height:var(--sidebar-icon-size)}a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141,._sidebar_1xwfn_13 a:hover ._sidebarLabel_1xwfn_141,._activeGroup_1xwfn_130 ._sidebarLabel_1xwfn_141{color:var(--color-alt)}._sidebar_1xwfn_13 a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141{font-weight:400}a._sidebarActive_1xwfn_125 .stacked img:first-child,._sidebar_1xwfn_13 a:hover .stacked img:first-child{opacity:0}a._sidebarActive_1xwfn_125 .stacked img:last-child,._sidebar_1xwfn_13 a:hover .stacked img:last-child,._activeGroup_1xwfn_130 .stacked img:last-child{opacity:1}._sidebar_1xwfn_13 img{width:var(--sidebar-icon-size);height:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}._single_1xwfn_136 img{opacity:.6;transition:opacity .2s ease}a._sidebarActive_1xwfn_125 ._single_1xwfn_136 img,._sidebar_1xwfn_13 a:hover ._single_1xwfn_136 img{opacity:1}._sidebarLabel_1xwfn_141{color:var(--color-light);line-height:1;flex:1;padding-top:0;padding-right:var(--space-default);font-size:var(--size-default);font-weight:400;transition:all .2s ease;word-break:break-word}._activeGroup_1xwfn_130{background-color:#555}._sidebarSubmenu_1xwfn_197 a svg{width:18px;height:18px;margin-right:var(--sidebar-icon-margin);margin-left:calc(var(--sidebar-margin) + var(--sidebar-icon-margin))}._sidebarArrow_1xwfn_121{width:12px;height:12px}@media (max-width: 1199px){._sidebar_1xwfn_13{transition:margin-left .2s ease}}@media (min-width: 1200px){._sidebarContainer_1xwfn_216:not(._forceHide_1xwfn_216) ._sidebar_1xwfn_13{position:relative;margin-left:0;width:var(--sidebar-width-large)}}@media (max-width: 560px){._closeButton_1xwfn_1{display:block}._sidebar_1xwfn_13{margin-left:-100vw;transition:margin-left .3s ease;width:100vw}}._children_1y42x_1{display:flex;flex-direction:row;align-items:center;margin-bottom:var(--space-quarter)}._children_1y42x_1>a{display:inline-block;height:18px;font-size:var(--size-default);text-decoration:none;font-weight:400}._children_1y42x_1>a>svg{width:18px;height:18px;stroke-width:2}._container_1y42x_22{width:100%}._container_1y42x_22._fixed_1y42x_26{position:fixed;left:var(--sidebar-width);height:var(--header-height);width:calc(100% - var(--sidebar-width));z-index:1001}._disabled_1y42x_34{opacity:.4}._forceHidden_1y42x_38 ._sidebarToggler_1y42x_38{display:none!important}._guideIcon_1y42x_42{font-size:var(--size-default);text-decoration:none;display:flex;flex-direction:row;align-items:center}._guideIcon_1y42x_42 img{width:18px;height:18px;color:var(--color-blue);margin-right:calc(var(--space-quarter) / 2)}._guideIconContainer_1y42x_57{height:18px;margin-left:var(--space-half)}._header_1y42x_62{padding:0 var(--space-default);max-width:var(--content-width);min-height:var(--header-height);width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex:none;margin:0 auto;flex-wrap:wrap}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2){text-align:center}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2)>*{max-width:600px;width:100%}._sidebarToggler_1y42x_38{width:32px;height:32px;margin-bottom:var(--space-quarter);margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._sidebarToggler_1y42x_38 img{width:20px}._title_1y42x_99{white-space:nowrap;flex-grow:1;margin-bottom:var(--space-quarter);padding-right:var(--space-half)}._title_1y42x_99>*{margin:0;font-size:var(--header-default-font-size);font-weight:400;line-height:1;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}@media (max-width: 768px){._header_1y42x_62{padding:var(--space-half)}._sidebarToggler_1y42x_38._hideSidebarToggler_1y42x_120{display:none}._container_1y42x_22 ._sidebarToggler_1y42x_38{margin-right:0}}@media (min-width: 1200px){._sidebarToggler_1y42x_38{display:none}}._main_1ntet_1{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;overflow-x:inherit;overflow-y:auto;position:relative}._columnAsCard_1rob5_1{background-color:var(--background-secondary);padding:var(--space-default)}._column_1rob5_1 p{margin-top:0}._columnButtons_1rob5_10:not(._columnButtonsInline_1rob5_10) button{width:100%}._columnButtons_1rob5_10 button:not(:first-child){margin-top:var(--space-quarter)}._columnButtonsInline_1rob5_10{display:flex;flex-direction:row-reverse}._columnButtonsInline_1rob5_10>a:not(:first-child),._columnButtonsInline_1rob5_10>button:not(:first-child){margin-right:var(--space-half);margin-top:0}._left_1rob5_29{text-align:left}._center_1rob5_33{text-align:center}@media (max-width: 768px){._columnAsCard_1rob5_1{padding:var(--space-half)}._columnAsCard_1rob5_1+._columnAsCard_1rob5_1{margin-top:var(--space-default)}}@media (min-width: 769px){._grid_1rob5_47{display:grid;gap:var(--space-default);grid-auto-rows:minmax(100px,auto)}._grid-columns-1_1rob5_53{grid-template-columns:repeat(1,1fr)}._grid-columns-2_1rob5_56{grid-template-columns:repeat(2,1fr)}._column_1rob5_1{display:flex;flex-direction:column}._columnButtons_1rob5_10{margin-top:auto}}._footer_19w3c_1{max-width:var(--content-width);width:100%;padding:0 var(--space-default);margin:var(--space-default) auto}._footer_19w3c_1 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_19w3c_1 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_19w3c_1{padding:0 var(--space-half);margin:var(--space-half) 0}._footer_19w3c_1 p{text-align:right;font-size:var(--size-small)}._footer_19w3c_1 img{width:80px}}._contentWithGuide_1gscs_1{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}._container_1gscs_8{display:flex;flex:1 1 auto;flex-direction:column;overflow:auto;position:relative;width:100%}:root{--icon-size: 10px;--icon-size-small: 8px}._steps_1l429_6{align-items:flex-start;display:inline-flex;flex-shrink:0;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--space-half);overflow:hidden;position:relative;width:100%}._step_1l429_6{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative;text-align:left}._dot_1l429_38{display:inline-block;margin-bottom:var(--space-quarter);min-height:var(--icon-size)}._dot_1l429_38:before{background:var(--color-primary);border:4px solid var(--background-secondary);border-radius:50%;content:"";display:inline-block;flex-shrink:0;font-size:14px;height:var(--icon-size);line-height:var(--icon-size);position:relative;text-align:center;transition:background-color .3s,border-color .3s;vertical-align:top;width:var(--icon-size);z-index:13}._dot_1l429_38:after{border-top:5px solid var(--background-secondary);content:"";position:absolute;top:6px;right:50%;width:100vw;z-index:12}._line_1l429_72 ._dot_1l429_38:after{z-index:1}._finish_1l429_76 ._dot_1l429_38:before{height:var(--icon-size-small);width:var(--icon-size-small)}._wait_1l429_81{color:var(--color-tertiary)}._finish_1l429_76 ._dot_1l429_38:before,._wait_1l429_81 ._dot_1l429_38:before{margin-top:1px}._wait_1l429_81 ._dot_1l429_38:before{background:var(--background-quaternary);height:var(--icon-size-small);width:var(--icon-size-small)}._finish_1l429_76._line_1l429_72 ._dot_1l429_38:after,._process_1l429_97._line_1l429_72 ._dot_1l429_38:after{border-color:var(--color-primary);border-top-width:3px;z-index:11;top:7px}._wait_1l429_81._line_1l429_72 ._dot_1l429_38:after{border-color:var(--background-quaternary);border-top-width:3px;top:7px}._content_1l429_110{font-size:var(--size-small);line-height:1;margin:0;min-width:90px;position:relative;text-align:center;width:min-content;white-space:nowrap}._link_1o1mh_1{color:var(--color-blue);cursor:pointer;text-decoration:underline}._link_1o1mh_1:focus{outline:1px solid var(--color-blue);text-decoration:none}._overlay_14an4_1{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000004d;z-index:-1;opacity:0;transition:opacity ease .2s}._close_14an4_13{color:var(--color-alt);font-size:var(--size-default)!important;text-decoration:none;display:flex;flex-direction:row;align-items:center;line-height:1}._close_14an4_13 img{width:18px;height:18px;margin-left:calc(var(--space-quarter) / 2)}._wrapper_14an4_29{position:relative}._guide_14an4_33{margin-right:calc(var(--guide-width) * -1);height:100vh;width:var(--guide-width);color:#fff;background-color:var(--color-lightblue);overflow-y:auto;transition:margin-right .2s ease,transform .2s ease;will-change:margin-right,transform}._header_14an4_44{margin-bottom:var(--space-default);height:var(--header-height);padding:0 var(--space-default);background-color:var(--color-blue)}._header_14an4_44 h2{margin:0;font-size:var(--header-default-font-size);font-weight:400}._header_14an4_44 a{cursor:pointer;font-size:20px}._content_14an4_62{padding:0 var(--space-default)}._content_14an4_62 h1{margin-top:0;font-size:1.5em}._content_14an4_62 h2{margin:0;font-size:1.1em;line-height:1.2em;font-weight:400}._guide_14an4_33 p{margin:.4em 0;font-size:var(--size-default)}._show_14an4_83{margin-right:0}._entry_14an4_87{margin-top:var(--space-default)}._entryTitle_14an4_91{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;cursor:default}._entryTitle_14an4_91 ._entryToggle_14an4_99{width:16px;line-height:1.2em;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;font-weight:700}._entryTitle_14an4_91 ._entryTitleText_14an4_109{flex:1}._entryContent_14an4_113{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;padding-left:16px}._expanded_14an4_121{flex-basis:0}._link_14an4_125{color:inherit;text-decoration:underline}._link_14an4_125:focus{outline-color:inherit}@media (max-width: 1348px){._guideWrapper_14an4_135{width:calc((((100% - var(--sidebar-width-large)) - var(--content-width)) / 2) + 18px + var(--space-default))}}@media screen and (max-width: 1601px){._overlay_14an4_1._show_14an4_83{opacity:1}._guide_14an4_33{position:fixed;margin-right:0;top:0;right:0;width:100%;max-width:460px;opacity:0;z-index:-10;transform:translate(100%);transition-delay:.2s}._show_14an4_83{opacity:1;z-index:4002}._guide_14an4_33._show_14an4_83{transform:translate(0)}}@media (max-width: 768px){._guideWrapper_14an4_135{position:fixed;top:0;right:0;width:calc(var(--space-half) + 18px)}._header_14an4_44,._content_14an4_62{padding-left:var(--space-half);padding-right:var(--space-half)}}@media screen and (max-width: 640px){._guide_14an4_33 h2{font-size:1.05em}}._manageContainer_1n5md_1{flex-basis:490px;flex-shrink:1;margin-bottom:var(--header-height);min-height:390px;max-height:100%}._title_1n5md_9{font-size:var(--size-large);font-weight:400}._successCheck_1n5md_14{background-color:var(--color-success);border:.5rem solid var(--color-success);border-radius:100px}._successMessage_1n5md_20{color:var(--color-secondary)}._successMessage_1n5md_20 strong{color:var(--color-default)}._spinnerContainer_rthjr_1{position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--background-secondary);z-index:2000;display:flex;flex-direction:column;justify-content:center;align-items:center;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}._spinner_rthjr_1{display:inline-block;position:relative;width:64px;height:64px}._spinnerText_rthjr_24{margin:0}._spinner_rthjr_1 div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:var(--color-blue);animation-timing-function:cubic-bezier(0,1,1,0)}._spinner_rthjr_1 div:nth-child(1){left:6px;animation:_spinner1_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(2){left:6px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(3){left:26px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(4){left:45px;animation:_spinner3_rthjr_1 .6s infinite}._horizontallyCentered_rthjr_59{left:50%;position:absolute;transform:translate(-50%)}@keyframes _spinner1_rthjr_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _spinner3_rthjr_1{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes _spinner2_rthjr_1{0%{transform:translate(0)}to{transform:translate(19px)}}._overlay_rthjr_81{position:absolute;top:0;bottom:0;left:0;right:0;background:var(--background-secondary);animation:_fadein_rthjr_1 .3s;opacity:0}@keyframes _fadein_rthjr_1{0%{opacity:1}66%{opacity:1}to{opacity:0}}._togglersContainer_rthjr_98{position:fixed;top:calc((var(--header-height) - 32px) / 2);max-width:var(--content-width);width:100%;padding:0 var(--space-default);z-index:1;display:flex;flex-direction:row;justify-content:space-between;align-items:center}._guideToggler_rthjr_111{display:flex;flex-direction:row;align-items:center;height:32px;color:var(--color-primary);font-size:var(--size-default);cursor:default}._guideToggler_rthjr_111 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._toggler_rthjr_98{width:32px;height:32px;margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._toggler_rthjr_98 img{width:20px}@media (min-width: 1200px){._togglersContainer_rthjr_98{flex-direction:row-reverse}._togglerContainer_rthjr_145{display:none}}@media (max-width: 768px){._togglersContainer_rthjr_98{padding:0 var(--space-half)}}._disclaimerContainer_5gxwf_1{align-items:center;display:flex;flex-basis:100%;flex-direction:column;flex-grow:0;flex-shrink:1;justify-content:center;margin:0 auto;overflow:auto;padding:0 var(--space-half) var(--header-height) var(--space-half);width:100%}._title_5gxwf_15{font-size:2rem;font-weight:400;text-align:center}._disclaimer_5gxwf_1{background-color:var(--background-secondary);flex-basis:100%;font-family:var(--font-family);flex-grow:0;flex-shrink:1;margin:var(--space-default) 0;max-width:660px;overflow:auto;padding:var(--space-quarter) 1em 1em 1em}._disclaimer_5gxwf_1::-webkit-scrollbar-track{background-color:#fff}._disclaimer_5gxwf_1 ._title_5gxwf_15{font-size:.875rem;font-weight:700;text-align:left}._disclaimer_5gxwf_1 p{font-size:.875rem;line-height:1.5}._disclaimer_5gxwf_1 p+._title_5gxwf_15{margin:2.5rem 0 0}._table_5gxwf_52{overflow:auto}._table_5gxwf_52 table{border-collapse:collapse;font-size:.875rem;text-align:left}._table_5gxwf_52 td,._table_5gxwf_52 th{padding:var(--spacing-half);vertical-align:top}._table_5gxwf_52 td{border-top:1px solid var(--color-mediumgray)}._table_5gxwf_52 td:not(:last-child),._table_5gxwf_52 th:not(:last-child){padding-left:0}._nowrap_5gxwf_77{white-space:nowrap}._container_yg57j_1{display:flex;flex-basis:100%;flex-grow:0;flex-shrink:1;flex-direction:column;overflow:hidden;position:relative}._iframe_yg57j_12{max-width:100%;position:relative;z-index:3000}._header_yg57j_18{position:relative;z-index:2200}._balance_17xkv_1,._balanceSingleValue_17xkv_1{color:var(--color-secondary);margin-left:auto;text-transform:uppercase}._balanceSingleValue_17xkv_1{margin-right:var(--space-quarter)}._dropdown_17xkv_11{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_17xkv_20{margin-bottom:var(--space-half)}._select_17xkv_20 .react-select__menu,._select_17xkv_20 .react-select__option{background-color:var(--background-secondary)}._select_17xkv_20 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_17xkv_20 .react-select__option--is-selected,._select_17xkv_20 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled span{color:var(--color-secondary)}._select_17xkv_20 .react-select__option--is-disabled.react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled:hover{background-color:transparent}._select_17xkv_20 .react-select__option--is-selected ._balance_17xkv_1{color:var(--color-default)}._select_17xkv_20 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_17xkv_20 .react-select__single-value{width:100%}._selectLabelText_17xkv_66{margin-left:6px}._singleValueContainer_17xkv_70{align-items:center;display:flex;left:var(--space-quarter);position:absolute;width:100%}._valueContainer_17xkv_78{align-items:center;color:var(--color-default);display:flex}._select_17xkv_20 .react-select__option--is-selected ._selectLabelText_17xkv_66{color:var(--color-default)}._valueContainer_17xkv_78>img{width:20px;height:20px}._button_1riw8_1{border-width:0;display:flex;padding:0}._button_1riw8_1 img{width:18px;height:18px}._button_1riw8_1 span{width:96px;margin-left:var(--space-eight)}.fib,.fi{background-size:contain;background-position:50%;background-repeat:no-repeat}.fi{position:relative;display:inline-block;width:1.333333em;line-height:1em}.fi:before{content:" "}.fi.fis{width:1em}.fi-xx{background-image:url(./xx-5f776f5b.svg)}.fi-xx.fis{background-image:url(./xx-84717c7a.svg)}.fi-ad{background-image:url(./ad-01e40953.svg)}.fi-ad.fis{background-image:url(./ad-4b037d69.svg)}.fi-ae{background-image:url(./ae-e646ea13.svg)}.fi-ae.fis{background-image:url(./ae-534fefed.svg)}.fi-af{background-image:url(./af-dcf380eb.svg)}.fi-af.fis{background-image:url(./af-2b0f0512.svg)}.fi-ag{background-image:url(./ag-d8b2d313.svg)}.fi-ag.fis{background-image:url(./ag-0426382d.svg)}.fi-ai{background-image:url(./ai-9404c772.svg)}.fi-ai.fis{background-image:url(./ai-259c2c73.svg)}.fi-al{background-image:url(./al-d5d048db.svg)}.fi-al.fis{background-image:url(./al-21e1b6b5.svg)}.fi-am{background-image:url(./am-efb6cdaa.svg)}.fi-am.fis{background-image:url(./am-57edcffa.svg)}.fi-ao{background-image:url(./ao-3c52ff53.svg)}.fi-ao.fis{background-image:url(./ao-a296c39c.svg)}.fi-aq{background-image:url(./aq-454424bf.svg)}.fi-aq.fis{background-image:url(./aq-733794b7.svg)}.fi-ar{background-image:url(./ar-2f7aada4.svg)}.fi-ar.fis{background-image:url(./ar-1768d119.svg)}.fi-as{background-image:url(./as-43a6bbb4.svg)}.fi-as.fis{background-image:url(./as-c4c6fecf.svg)}.fi-at{background-image:url(./at-2754ed2f.svg)}.fi-at.fis{background-image:url(./at-9152f136.svg)}.fi-au{background-image:url(./au-6cf0b0da.svg)}.fi-au.fis{background-image:url(./au-01aa7963.svg)}.fi-aw{background-image:url(./aw-c790e041.svg)}.fi-aw.fis{background-image:url(./aw-e778dd16.svg)}.fi-ax{background-image:url(./ax-1f2bddd3.svg)}.fi-ax.fis{background-image:url(./ax-4702b3f0.svg)}.fi-az{background-image:url(./az-b942e12d.svg)}.fi-az.fis{background-image:url(./az-fef5c465.svg)}.fi-ba{background-image:url(./ba-a87565c0.svg)}.fi-ba.fis{background-image:url(./ba-6f3a3ab7.svg)}.fi-bb{background-image:url(./bb-3054f0b2.svg)}.fi-bb.fis{background-image:url(./bb-c7b3b259.svg)}.fi-bd{background-image:url(./bd-1aabb4a7.svg)}.fi-bd.fis{background-image:url(./bd-90f8f20e.svg)}.fi-be{background-image:url(./be-42f09ed6.svg)}.fi-be.fis{background-image:url(./be-a2f62b54.svg)}.fi-bf{background-image:url(./bf-606b17ad.svg)}.fi-bf.fis{background-image:url(./bf-62cdc2bd.svg)}.fi-bg{background-image:url(./bg-a2282477.svg)}.fi-bg.fis{background-image:url(./bg-40e29b66.svg)}.fi-bh{background-image:url(./bh-7a519f58.svg)}.fi-bh.fis{background-image:url(./bh-102fe27e.svg)}.fi-bi{background-image:url(./bi-5ef1a56b.svg)}.fi-bi.fis{background-image:url(./bi-976cd178.svg)}.fi-bj{background-image:url(./bj-0a46cbae.svg)}.fi-bj.fis{background-image:url(./bj-2cbd6426.svg)}.fi-bl{background-image:url(./bl-d511eb84.svg)}.fi-bl.fis{background-image:url(./bl-025f596f.svg)}.fi-bm{background-image:url(./bm-a15913d4.svg)}.fi-bm.fis{background-image:url(./bm-fc42642b.svg)}.fi-bn{background-image:url(./bn-6a573bd7.svg)}.fi-bn.fis{background-image:url(./bn-a381967f.svg)}.fi-bo{background-image:url(./bo-24e9a0dd.svg)}.fi-bo.fis{background-image:url(./bo-651ff433.svg)}.fi-bq{background-image:url(./bq-23881e6c.svg)}.fi-bq.fis{background-image:url(./bq-83723941.svg)}.fi-br{background-image:url(./br-fc872e71.svg)}.fi-br.fis{background-image:url(./br-ce7e334e.svg)}.fi-bs{background-image:url(./bs-e3a1ee51.svg)}.fi-bs.fis{background-image:url(./bs-21cdbdc6.svg)}.fi-bt{background-image:url(./bt-dc7fe8fa.svg)}.fi-bt.fis{background-image:url(./bt-84e84171.svg)}.fi-bv{background-image:url(./bv-d972d58c.svg)}.fi-bv.fis{background-image:url(./bv-342b164c.svg)}.fi-bw{background-image:url(./bw-1fc9322c.svg)}.fi-bw.fis{background-image:url(./bw-e1e15926.svg)}.fi-by{background-image:url(./by-c8f5fce1.svg)}.fi-by.fis{background-image:url(./by-6352ceb3.svg)}.fi-bz{background-image:url(./bz-33179ee8.svg)}.fi-bz.fis{background-image:url(./bz-93bdf8bf.svg)}.fi-ca{background-image:url(./ca-73bd9657.svg)}.fi-ca.fis{background-image:url(./ca-5e8736c4.svg)}.fi-cc{background-image:url(./cc-9c6cd055.svg)}.fi-cc.fis{background-image:url(./cc-6ab691df.svg)}.fi-cd{background-image:url(./cd-23f049df.svg)}.fi-cd.fis{background-image:url(./cd-c3f432db.svg)}.fi-cf{background-image:url(./cf-1b58dc20.svg)}.fi-cf.fis{background-image:url(./cf-2e16b1cf.svg)}.fi-cg{background-image:url(./cg-c606004c.svg)}.fi-cg.fis{background-image:url(./cg-d2d60d9f.svg)}.fi-ch{background-image:url(./ch-ac676cd3.svg)}.fi-ch.fis{background-image:url(./ch-be4b8257.svg)}.fi-ci{background-image:url(./ci-4ecfea70.svg)}.fi-ci.fis{background-image:url(./ci-c3f20b8e.svg)}.fi-ck{background-image:url(./ck-b17c039f.svg)}.fi-ck.fis{background-image:url(./ck-e5457495.svg)}.fi-cl{background-image:url(./cl-24dfd9cf.svg)}.fi-cl.fis{background-image:url(./cl-5ae2d8a4.svg)}.fi-cm{background-image:url(./cm-c9a327dc.svg)}.fi-cm.fis{background-image:url(./cm-0899a610.svg)}.fi-cn{background-image:url(./cn-981da9bd.svg)}.fi-cn.fis{background-image:url(./cn-b63401f4.svg)}.fi-co{background-image:url(./co-6bab3c96.svg)}.fi-co.fis{background-image:url(./co-596558a2.svg)}.fi-cr{background-image:url(./cr-4775ef01.svg)}.fi-cr.fis{background-image:url(./cr-b70b33c4.svg)}.fi-cu{background-image:url(./cu-e76f7c38.svg)}.fi-cu.fis{background-image:url(./cu-4b240cd3.svg)}.fi-cv{background-image:url(./cv-2fa67e0a.svg)}.fi-cv.fis{background-image:url(./cv-1f908f34.svg)}.fi-cw{background-image:url(./cw-c845d0ca.svg)}.fi-cw.fis{background-image:url(./cw-f4df53da.svg)}.fi-cx{background-image:url(./cx-ade6b862.svg)}.fi-cx.fis{background-image:url(./cx-cd561600.svg)}.fi-cy{background-image:url(./cy-4ef9fb91.svg)}.fi-cy.fis{background-image:url(./cy-72cd7167.svg)}.fi-cz{background-image:url(./cz-d601fcc2.svg)}.fi-cz.fis{background-image:url(./cz-5a462b5f.svg)}.fi-de{background-image:url(./de-7318c9aa.svg)}.fi-de.fis{background-image:url(./de-d5f40046.svg)}.fi-dj{background-image:url(./dj-ed66c09f.svg)}.fi-dj.fis{background-image:url(./dj-e788b24d.svg)}.fi-dk{background-image:url(./dk-d2847c0b.svg)}.fi-dk.fis{background-image:url(./dk-4d7c9c44.svg)}.fi-dm{background-image:url(./dm-ff490fa3.svg)}.fi-dm.fis{background-image:url(./dm-eab3ec31.svg)}.fi-do{background-image:url(./do-9470b8ab.svg)}.fi-do.fis{background-image:url(./do-b63f4eb9.svg)}.fi-dz{background-image:url(./dz-9ea0cf93.svg)}.fi-dz.fis{background-image:url(./dz-73f56cc7.svg)}.fi-ec{background-image:url(./ec-73be1a4b.svg)}.fi-ec.fis{background-image:url(./ec-c1196d0f.svg)}.fi-ee{background-image:url(./ee-1c30ac2c.svg)}.fi-ee.fis{background-image:url(./ee-733a082e.svg)}.fi-eg{background-image:url(./eg-3383c598.svg)}.fi-eg.fis{background-image:url(./eg-04d3ab3f.svg)}.fi-eh{background-image:url(./eh-e9d3c61b.svg)}.fi-eh.fis{background-image:url(./eh-cd622ccb.svg)}.fi-er{background-image:url(./er-21cdc1d1.svg)}.fi-er.fis{background-image:url(./er-3cd1a45c.svg)}.fi-es{background-image:url(./es-6fe80291.svg)}.fi-es.fis{background-image:url(./es-edd3ba17.svg)}.fi-et{background-image:url(./et-c2525ca4.svg)}.fi-et.fis{background-image:url(./et-68cee02b.svg)}.fi-fi{background-image:url(./fi-012edd98.svg)}.fi-fi.fis{background-image:url(./fi-f4064089.svg)}.fi-fj{background-image:url(./fj-34660dda.svg)}.fi-fj.fis{background-image:url(./fj-be546b9d.svg)}.fi-fk{background-image:url(./fk-e27a1876.svg)}.fi-fk.fis{background-image:url(./fk-2b55d0fe.svg)}.fi-fm{background-image:url(./fm-23db3e9f.svg)}.fi-fm.fis{background-image:url(./fm-3113102b.svg)}.fi-fo{background-image:url(./fo-db222fca.svg)}.fi-fo.fis{background-image:url(./fo-f3d95cc8.svg)}.fi-fr{background-image:url(./fr-8cdacc8d.svg)}.fi-fr.fis{background-image:url(./fr-5cdc5047.svg)}.fi-ga{background-image:url(./ga-f7b775c4.svg)}.fi-ga.fis{background-image:url(./ga-cb2951db.svg)}.fi-gb{background-image:url(./gb-51a8613a.svg)}.fi-gb.fis{background-image:url(./gb-4b739ae8.svg)}.fi-gd{background-image:url(./gd-5b590f15.svg)}.fi-gd.fis{background-image:url(./gd-a0f628ea.svg)}.fi-ge{background-image:url(./ge-3821d90a.svg)}.fi-ge.fis{background-image:url(./ge-c89af007.svg)}.fi-gf{background-image:url(./gf-cb5464e2.svg)}.fi-gf.fis{background-image:url(./gf-7643aaa7.svg)}.fi-gg{background-image:url(./gg-ea806b48.svg)}.fi-gg.fis{background-image:url(./gg-ca797ce5.svg)}.fi-gh{background-image:url(./gh-86635202.svg)}.fi-gh.fis{background-image:url(./gh-4afd4198.svg)}.fi-gi{background-image:url(./gi-64b3c164.svg)}.fi-gi.fis{background-image:url(./gi-a72043d1.svg)}.fi-gl{background-image:url(./gl-15a60b07.svg)}.fi-gl.fis{background-image:url(./gl-debe7773.svg)}.fi-gm{background-image:url(./gm-2aa3fad4.svg)}.fi-gm.fis{background-image:url(./gm-726e760b.svg)}.fi-gn{background-image:url(./gn-ee01e7dd.svg)}.fi-gn.fis{background-image:url(./gn-8d20e686.svg)}.fi-gp{background-image:url(./gp-ee9d78d0.svg)}.fi-gp.fis{background-image:url(./gp-5f0e3566.svg)}.fi-gq{background-image:url(./gq-be2561d6.svg)}.fi-gq.fis{background-image:url(./gq-a3bf98e3.svg)}.fi-gr{background-image:url(./gr-a184070f.svg)}.fi-gr.fis{background-image:url(./gr-a4519d98.svg)}.fi-gs{background-image:url(./gs-5798c05b.svg)}.fi-gs.fis{background-image:url(./gs-0801216a.svg)}.fi-gt{background-image:url(./gt-047e034e.svg)}.fi-gt.fis{background-image:url(./gt-387d7394.svg)}.fi-gu{background-image:url(./gu-8d45b5e2.svg)}.fi-gu.fis{background-image:url(./gu-0fc8abf7.svg)}.fi-gw{background-image:url(./gw-651e35df.svg)}.fi-gw.fis{background-image:url(./gw-7bb04bdb.svg)}.fi-gy{background-image:url(./gy-81301929.svg)}.fi-gy.fis{background-image:url(./gy-97253f86.svg)}.fi-hk{background-image:url(./hk-b1d75699.svg)}.fi-hk.fis{background-image:url(./hk-cb99edfd.svg)}.fi-hm{background-image:url(./hm-962e9410.svg)}.fi-hm.fis{background-image:url(./hm-3c45173f.svg)}.fi-hn{background-image:url(./hn-67130fa0.svg)}.fi-hn.fis{background-image:url(./hn-545c93c9.svg)}.fi-hr{background-image:url(./hr-269fdafe.svg)}.fi-hr.fis{background-image:url(./hr-11b51582.svg)}.fi-ht{background-image:url(./ht-06453723.svg)}.fi-ht.fis{background-image:url(./ht-f397e92e.svg)}.fi-hu{background-image:url(./hu-ffc4edd5.svg)}.fi-hu.fis{background-image:url(./hu-9e6bc6d7.svg)}.fi-id{background-image:url(./id-5cd3acc4.svg)}.fi-id.fis{background-image:url(./id-b8cd30f2.svg)}.fi-ie{background-image:url(./ie-f82568d7.svg)}.fi-ie.fis{background-image:url(./ie-860168f5.svg)}.fi-il{background-image:url(./il-023f6d1b.svg)}.fi-il.fis{background-image:url(./il-a1a6fff1.svg)}.fi-im{background-image:url(./im-4297d37f.svg)}.fi-im.fis{background-image:url(./im-4b7d3373.svg)}.fi-in{background-image:url(./in-5578409e.svg)}.fi-in.fis{background-image:url(./in-ca5f38b1.svg)}.fi-io{background-image:url(./io-a7a4cf26.svg)}.fi-io.fis{background-image:url(./io-1d9b0992.svg)}.fi-iq{background-image:url(./iq-0e5d8753.svg)}.fi-iq.fis{background-image:url(./iq-d23d774b.svg)}.fi-ir{background-image:url(./ir-f55cb919.svg)}.fi-ir.fis{background-image:url(./ir-a26d6b1f.svg)}.fi-is{background-image:url(./is-ef74d1f1.svg)}.fi-is.fis{background-image:url(./is-07f3da7e.svg)}.fi-it{background-image:url(./it-9fa88118.svg)}.fi-it.fis{background-image:url(./it-03086f2e.svg)}.fi-je{background-image:url(./je-27d4c347.svg)}.fi-je.fis{background-image:url(./je-c138f8b2.svg)}.fi-jm{background-image:url(./jm-61441775.svg)}.fi-jm.fis{background-image:url(./jm-a556453f.svg)}.fi-jo{background-image:url(./jo-28827eb1.svg)}.fi-jo.fis{background-image:url(./jo-6e2909a8.svg)}.fi-jp{background-image:url(./jp-bfea80ba.svg)}.fi-jp.fis{background-image:url(./jp-2bd3a486.svg)}.fi-ke{background-image:url(./ke-dd6b6ae5.svg)}.fi-ke.fis{background-image:url(./ke-7eb5e970.svg)}.fi-kg{background-image:url(./kg-1a70b98a.svg)}.fi-kg.fis{background-image:url(./kg-106674d7.svg)}.fi-kh{background-image:url(./kh-706c89a1.svg)}.fi-kh.fis{background-image:url(./kh-65671aad.svg)}.fi-ki{background-image:url(./ki-f9f15e1f.svg)}.fi-ki.fis{background-image:url(./ki-62b89f15.svg)}.fi-km{background-image:url(./km-f66aabe2.svg)}.fi-km.fis{background-image:url(./km-e08a7d38.svg)}.fi-kn{background-image:url(./kn-c7744ba0.svg)}.fi-kn.fis{background-image:url(./kn-2056e537.svg)}.fi-kp{background-image:url(./kp-c0815d9c.svg)}.fi-kp.fis{background-image:url(./kp-a5f669ad.svg)}.fi-kr{background-image:url(./kr-28c300b3.svg)}.fi-kr.fis{background-image:url(./kr-1ffe3852.svg)}.fi-kw{background-image:url(./kw-fabd47f0.svg)}.fi-kw.fis{background-image:url(./kw-c014b43b.svg)}.fi-ky{background-image:url(./ky-7ce314ba.svg)}.fi-ky.fis{background-image:url(./ky-081844eb.svg)}.fi-kz{background-image:url(./kz-bb09cc45.svg)}.fi-kz.fis{background-image:url(./kz-d9160b84.svg)}.fi-la{background-image:url(./la-ed8ce307.svg)}.fi-la.fis{background-image:url(./la-cde719dd.svg)}.fi-lb{background-image:url(./lb-3abccf66.svg)}.fi-lb.fis{background-image:url(./lb-97589547.svg)}.fi-lc{background-image:url(./lc-525ad8c3.svg)}.fi-lc.fis{background-image:url(./lc-539914cb.svg)}.fi-li{background-image:url(./li-ab80b8a1.svg)}.fi-li.fis{background-image:url(./li-f5687123.svg)}.fi-lk{background-image:url(./lk-b3f79269.svg)}.fi-lk.fis{background-image:url(./lk-e6bb471e.svg)}.fi-lr{background-image:url(./lr-cbf9ef85.svg)}.fi-lr.fis{background-image:url(./lr-bca2ce8b.svg)}.fi-ls{background-image:url(./ls-9491616e.svg)}.fi-ls.fis{background-image:url(./ls-d59e8226.svg)}.fi-lt{background-image:url(./lt-dc040199.svg)}.fi-lt.fis{background-image:url(./lt-8ef0e9cb.svg)}.fi-lu{background-image:url(./lu-a6c17cd0.svg)}.fi-lu.fis{background-image:url(./lu-965964b5.svg)}.fi-lv{background-image:url(./lv-15d4e812.svg)}.fi-lv.fis{background-image:url(./lv-f4e0567e.svg)}.fi-ly{background-image:url(./ly-b9246781.svg)}.fi-ly.fis{background-image:url(./ly-bbd57e2f.svg)}.fi-ma{background-image:url(./ma-28cfcdec.svg)}.fi-ma.fis{background-image:url(./ma-8f1a0be2.svg)}.fi-mc{background-image:url(./mc-690c23fe.svg)}.fi-mc.fis{background-image:url(./mc-c3aaba7e.svg)}.fi-md{background-image:url(./md-ae4fd022.svg)}.fi-md.fis{background-image:url(./md-e678dd90.svg)}.fi-me{background-image:url(./me-73f05f92.svg)}.fi-me.fis{background-image:url(./me-8d3f7f89.svg)}.fi-mf{background-image:url(./mf-137b371d.svg)}.fi-mf.fis{background-image:url(./mf-65d7d1af.svg)}.fi-mg{background-image:url(./mg-59246c21.svg)}.fi-mg.fis{background-image:url(./mg-f16ffe66.svg)}.fi-mh{background-image:url(./mh-f4d41b34.svg)}.fi-mh.fis{background-image:url(./mh-7bd55f27.svg)}.fi-mk{background-image:url(./mk-22488dc8.svg)}.fi-mk.fis{background-image:url(./mk-8faba052.svg)}.fi-ml{background-image:url(./ml-49e84081.svg)}.fi-ml.fis{background-image:url(./ml-34021383.svg)}.fi-mm{background-image:url(./mm-c0b2e23a.svg)}.fi-mm.fis{background-image:url(./mm-ea2756fc.svg)}.fi-mn{background-image:url(./mn-e1212518.svg)}.fi-mn.fis{background-image:url(./mn-3867f78b.svg)}.fi-mo{background-image:url(./mo-b3150f82.svg)}.fi-mo.fis{background-image:url(./mo-f2828f31.svg)}.fi-mp{background-image:url(./mp-0f686973.svg)}.fi-mp.fis{background-image:url(./mp-59ca53fb.svg)}.fi-mq{background-image:url(./mq-94315e14.svg)}.fi-mq.fis{background-image:url(./mq-e58f7279.svg)}.fi-mr{background-image:url(./mr-b5b86550.svg)}.fi-mr.fis{background-image:url(./mr-4ccf1997.svg)}.fi-ms{background-image:url(./ms-91a65429.svg)}.fi-ms.fis{background-image:url(./ms-a22195f9.svg)}.fi-mt{background-image:url(./mt-847b9371.svg)}.fi-mt.fis{background-image:url(./mt-ae7e5df1.svg)}.fi-mu{background-image:url(./mu-51f86810.svg)}.fi-mu.fis{background-image:url(./mu-3a73b077.svg)}.fi-mv{background-image:url(./mv-5546d527.svg)}.fi-mv.fis{background-image:url(./mv-ecc358a3.svg)}.fi-mw{background-image:url(./mw-2a3cc640.svg)}.fi-mw.fis{background-image:url(./mw-b53cff28.svg)}.fi-mx{background-image:url(./mx-46cef6ab.svg)}.fi-mx.fis{background-image:url(./mx-cda16de8.svg)}.fi-my{background-image:url(./my-fbda82cd.svg)}.fi-my.fis{background-image:url(./my-ab77d984.svg)}.fi-mz{background-image:url(./mz-888f5aa1.svg)}.fi-mz.fis{background-image:url(./mz-69568d10.svg)}.fi-na{background-image:url(./na-c32f1b89.svg)}.fi-na.fis{background-image:url(./na-65796b81.svg)}.fi-nc{background-image:url(./nc-cff3afeb.svg)}.fi-nc.fis{background-image:url(./nc-8b7ef8a4.svg)}.fi-ne{background-image:url(./ne-4b91653d.svg)}.fi-ne.fis{background-image:url(./ne-c92686fc.svg)}.fi-nf{background-image:url(./nf-9cf4bf10.svg)}.fi-nf.fis{background-image:url(./nf-d458b917.svg)}.fi-ng{background-image:url(./ng-b7a2a45a.svg)}.fi-ng.fis{background-image:url(./ng-a41dbb75.svg)}.fi-ni{background-image:url(./ni-74e7ce0d.svg)}.fi-ni.fis{background-image:url(./ni-8028e8a2.svg)}.fi-nl{background-image:url(./nl-54b194d9.svg)}.fi-nl.fis{background-image:url(./nl-a8b56f7d.svg)}.fi-no{background-image:url(./no-ceea17af.svg)}.fi-no.fis{background-image:url(./no-55fc1564.svg)}.fi-np{background-image:url(./np-6244a1aa.svg)}.fi-np.fis{background-image:url(./np-f463b176.svg)}.fi-nr{background-image:url(./nr-f1de4b06.svg)}.fi-nr.fis{background-image:url(./nr-c0fc69e7.svg)}.fi-nu{background-image:url(./nu-835c94f3.svg)}.fi-nu.fis{background-image:url(./nu-93e802ac.svg)}.fi-nz{background-image:url(./nz-794a2c8c.svg)}.fi-nz.fis{background-image:url(./nz-9e6e1d5e.svg)}.fi-om{background-image:url(./om-4de803ba.svg)}.fi-om.fis{background-image:url(./om-51908fdc.svg)}.fi-pa{background-image:url(./pa-6181586e.svg)}.fi-pa.fis{background-image:url(./pa-354bb5c9.svg)}.fi-pe{background-image:url(./pe-e9dd299d.svg)}.fi-pe.fis{background-image:url(./pe-c9852484.svg)}.fi-pf{background-image:url(./pf-d44b1974.svg)}.fi-pf.fis{background-image:url(./pf-947958db.svg)}.fi-pg{background-image:url(./pg-45e15441.svg)}.fi-pg.fis{background-image:url(./pg-34424deb.svg)}.fi-ph{background-image:url(./ph-4cccf403.svg)}.fi-ph.fis{background-image:url(./ph-37c54f47.svg)}.fi-pk{background-image:url(./pk-d4949a03.svg)}.fi-pk.fis{background-image:url(./pk-490b17d5.svg)}.fi-pl{background-image:url(./pl-369bb3e1.svg)}.fi-pl.fis{background-image:url(./pl-698cda1f.svg)}.fi-pm{background-image:url(./pm-10cc79ca.svg)}.fi-pm.fis{background-image:url(./pm-498e2e96.svg)}.fi-pn{background-image:url(./pn-b0b97502.svg)}.fi-pn.fis{background-image:url(./pn-3087f94d.svg)}.fi-pr{background-image:url(./pr-3b26f0a1.svg)}.fi-pr.fis{background-image:url(./pr-4c742be2.svg)}.fi-ps{background-image:url(./ps-e05636e8.svg)}.fi-ps.fis{background-image:url(./ps-1d2d7ac5.svg)}.fi-pt{background-image:url(./pt-8dcc4829.svg)}.fi-pt.fis{background-image:url(./pt-d79b25d4.svg)}.fi-pw{background-image:url(./pw-e2a38cce.svg)}.fi-pw.fis{background-image:url(./pw-77185a59.svg)}.fi-py{background-image:url(./py-0b374b8f.svg)}.fi-py.fis{background-image:url(./py-413b67df.svg)}.fi-qa{background-image:url(./qa-4d41fa3c.svg)}.fi-qa.fis{background-image:url(./qa-a781df63.svg)}.fi-re{background-image:url(./re-7b5a5202.svg)}.fi-re.fis{background-image:url(./re-a5347d1a.svg)}.fi-ro{background-image:url(./ro-17a3a747.svg)}.fi-ro.fis{background-image:url(./ro-b56a867a.svg)}.fi-rs{background-image:url(./rs-c254c0e1.svg)}.fi-rs.fis{background-image:url(./rs-f1579d87.svg)}.fi-ru{background-image:url(./ru-6c62f886.svg)}.fi-ru.fis{background-image:url(./ru-5224e89e.svg)}.fi-rw{background-image:url(./rw-9512100a.svg)}.fi-rw.fis{background-image:url(./rw-ada409bb.svg)}.fi-sa{background-image:url(./sa-b71b7934.svg)}.fi-sa.fis{background-image:url(./sa-3dc0b466.svg)}.fi-sb{background-image:url(./sb-255e4192.svg)}.fi-sb.fis{background-image:url(./sb-477f263a.svg)}.fi-sc{background-image:url(./sc-30cdbe42.svg)}.fi-sc.fis{background-image:url(./sc-4363a818.svg)}.fi-sd{background-image:url(./sd-f4721ceb.svg)}.fi-sd.fis{background-image:url(./sd-4c191d43.svg)}.fi-se{background-image:url(./se-bc8a97e1.svg)}.fi-se.fis{background-image:url(./se-b4cc09f1.svg)}.fi-sg{background-image:url(./sg-25de9044.svg)}.fi-sg.fis{background-image:url(./sg-37b8db58.svg)}.fi-sh{background-image:url(./sh-0b207fd4.svg)}.fi-sh.fis{background-image:url(./sh-46034309.svg)}.fi-si{background-image:url(./si-b7fe90ba.svg)}.fi-si.fis{background-image:url(./si-fee21cbd.svg)}.fi-sj{background-image:url(./sj-b60dad0e.svg)}.fi-sj.fis{background-image:url(./sj-880802e4.svg)}.fi-sk{background-image:url(./sk-01a41b70.svg)}.fi-sk.fis{background-image:url(./sk-40b3a188.svg)}.fi-sl{background-image:url(./sl-d0c384b0.svg)}.fi-sl.fis{background-image:url(./sl-feb8b966.svg)}.fi-sm{background-image:url(./sm-c2055b28.svg)}.fi-sm.fis{background-image:url(./sm-d2f10302.svg)}.fi-sn{background-image:url(./sn-6437db13.svg)}.fi-sn.fis{background-image:url(./sn-2c7a8737.svg)}.fi-so{background-image:url(./so-a3e6f461.svg)}.fi-so.fis{background-image:url(./so-50f29485.svg)}.fi-sr{background-image:url(./sr-5194a6af.svg)}.fi-sr.fis{background-image:url(./sr-81b54581.svg)}.fi-ss{background-image:url(./ss-d09319a4.svg)}.fi-ss.fis{background-image:url(./ss-6aa031ba.svg)}.fi-st{background-image:url(./st-e9ac3984.svg)}.fi-st.fis{background-image:url(./st-cd70af66.svg)}.fi-sv{background-image:url(./sv-d9228d5c.svg)}.fi-sv.fis{background-image:url(./sv-c921e011.svg)}.fi-sx{background-image:url(./sx-e6f91141.svg)}.fi-sx.fis{background-image:url(./sx-b47e2df3.svg)}.fi-sy{background-image:url(./sy-38125aa4.svg)}.fi-sy.fis{background-image:url(./sy-6e3feb72.svg)}.fi-sz{background-image:url(./sz-1565c373.svg)}.fi-sz.fis{background-image:url(./sz-956856c2.svg)}.fi-tc{background-image:url(./tc-2e45c89e.svg)}.fi-tc.fis{background-image:url(./tc-94789b54.svg)}.fi-td{background-image:url(./td-19a278fb.svg)}.fi-td.fis{background-image:url(./td-f5c38f02.svg)}.fi-tf{background-image:url(./tf-297113df.svg)}.fi-tf.fis{background-image:url(./tf-4c8eec85.svg)}.fi-tg{background-image:url(./tg-87150e04.svg)}.fi-tg.fis{background-image:url(./tg-af622c09.svg)}.fi-th{background-image:url(./th-329cc0d5.svg)}.fi-th.fis{background-image:url(./th-bb8a18d6.svg)}.fi-tj{background-image:url(./tj-93a976af.svg)}.fi-tj.fis{background-image:url(./tj-45e33e60.svg)}.fi-tk{background-image:url(./tk-a8540a4a.svg)}.fi-tk.fis{background-image:url(./tk-a12ef3ff.svg)}.fi-tl{background-image:url(./tl-3db6f72a.svg)}.fi-tl.fis{background-image:url(./tl-6d71669d.svg)}.fi-tm{background-image:url(./tm-6af9a1d7.svg)}.fi-tm.fis{background-image:url(./tm-3f4afeb2.svg)}.fi-tn{background-image:url(./tn-0aac4442.svg)}.fi-tn.fis{background-image:url(./tn-e14a8dd4.svg)}.fi-to{background-image:url(./to-b351703f.svg)}.fi-to.fis{background-image:url(./to-8f2f476b.svg)}.fi-tr{background-image:url(./tr-479d84d0.svg)}.fi-tr.fis{background-image:url(./tr-be7d115b.svg)}.fi-tt{background-image:url(./tt-92f1261b.svg)}.fi-tt.fis{background-image:url(./tt-125d18de.svg)}.fi-tv{background-image:url(./tv-d94fa5f1.svg)}.fi-tv.fis{background-image:url(./tv-7415f816.svg)}.fi-tw{background-image:url(./tw-931757f0.svg)}.fi-tw.fis{background-image:url(./tw-c04cf00d.svg)}.fi-tz{background-image:url(./tz-ee08fcf5.svg)}.fi-tz.fis{background-image:url(./tz-0d271a2b.svg)}.fi-ua{background-image:url(./ua-2d869c23.svg)}.fi-ua.fis{background-image:url(./ua-fd9ad29b.svg)}.fi-ug{background-image:url(./ug-8fc334ff.svg)}.fi-ug.fis{background-image:url(./ug-873a2fe3.svg)}.fi-um{background-image:url(./um-fe8b4e6c.svg)}.fi-um.fis{background-image:url(./um-f18c77e2.svg)}.fi-us{background-image:url(./us-ef4d2e6e.svg)}.fi-us.fis{background-image:url(./us-d49605ae.svg)}.fi-uy{background-image:url(./uy-47656c0b.svg)}.fi-uy.fis{background-image:url(./uy-560c003d.svg)}.fi-uz{background-image:url(./uz-62ce6f10.svg)}.fi-uz.fis{background-image:url(./uz-8f09f1fe.svg)}.fi-va{background-image:url(./va-89a0740b.svg)}.fi-va.fis{background-image:url(./va-6c856cb2.svg)}.fi-vc{background-image:url(./vc-6357f389.svg)}.fi-vc.fis{background-image:url(./vc-2ef7fd06.svg)}.fi-ve{background-image:url(./ve-5712f1c6.svg)}.fi-ve.fis{background-image:url(./ve-9052562f.svg)}.fi-vg{background-image:url(./vg-f9eabcef.svg)}.fi-vg.fis{background-image:url(./vg-73832b5d.svg)}.fi-vi{background-image:url(./vi-77a2e9d5.svg)}.fi-vi.fis{background-image:url(./vi-a618e688.svg)}.fi-vn{background-image:url(./vn-23550372.svg)}.fi-vn.fis{background-image:url(./vn-4fa1366c.svg)}.fi-vu{background-image:url(./vu-8fc05c32.svg)}.fi-vu.fis{background-image:url(./vu-b3048d60.svg)}.fi-wf{background-image:url(./wf-ad34db05.svg)}.fi-wf.fis{background-image:url(./wf-da8ca66e.svg)}.fi-ws{background-image:url(./ws-6b1a7ebc.svg)}.fi-ws.fis{background-image:url(./ws-48d15d76.svg)}.fi-ye{background-image:url(./ye-dc5607f4.svg)}.fi-ye.fis{background-image:url(./ye-15c1b50c.svg)}.fi-yt{background-image:url(./yt-f6ed4975.svg)}.fi-yt.fis{background-image:url(./yt-5a57b00a.svg)}.fi-za{background-image:url(./za-384d6ef6.svg)}.fi-za.fis{background-image:url(./za-00b65e3b.svg)}.fi-zm{background-image:url(./zm-3336b5d3.svg)}.fi-zm.fis{background-image:url(./zm-57492d45.svg)}.fi-zw{background-image:url(./zw-065490a5.svg)}.fi-zw.fis{background-image:url(./zw-666c4541.svg)}.fi-arab{background-image:url(./arab-ffc0ee52.svg)}.fi-arab.fis{background-image:url(./arab-c98d9d99.svg)}.fi-cefta{background-image:url(./cefta-bfefb0f6.svg)}.fi-cefta.fis{background-image:url(./cefta-0c277cae.svg)}.fi-cp{background-image:url(./cp-bd880fc5.svg)}.fi-cp.fis{background-image:url(./cp-7dfc8de4.svg)}.fi-dg{background-image:url(./dg-dc437057.svg)}.fi-dg.fis{background-image:url(./dg-58d4805f.svg)}.fi-eac{background-image:url(./eac-b35bb4ff.svg)}.fi-eac.fis{background-image:url(./eac-c4ef426e.svg)}.fi-es-ct{background-image:url(./es-ct-11229703.svg)}.fi-es-ct.fis{background-image:url(./es-ct-95f4033c.svg)}.fi-es-ga{background-image:url(./es-ga-8a921639.svg)}.fi-es-ga.fis{background-image:url(./es-ga-477a1812.svg)}.fi-es-pv{background-image:url(./es-pv-70a6e0fb.svg)}.fi-es-pv.fis{background-image:url(./es-pv-f608b2f3.svg)}.fi-eu{background-image:url(./eu-67040ccd.svg)}.fi-eu.fis{background-image:url(./eu-019d50bf.svg)}.fi-gb-eng{background-image:url(./gb-eng-53797ba9.svg)}.fi-gb-eng.fis{background-image:url(./gb-eng-2dd36838.svg)}.fi-gb-nir{background-image:url(./gb-nir-1e5cfe93.svg)}.fi-gb-nir.fis{background-image:url(./gb-nir-d91beb89.svg)}.fi-gb-sct{background-image:url(./gb-sct-7b55bce7.svg)}.fi-gb-sct.fis{background-image:url(./gb-sct-19ed371e.svg)}.fi-gb-wls{background-image:url(./gb-wls-3a95845d.svg)}.fi-gb-wls.fis{background-image:url(./gb-wls-d3c5b996.svg)}.fi-ic{background-image:url(./ic-9a584e04.svg)}.fi-ic.fis{background-image:url(./ic-4e5a5e63.svg)}.fi-pc{background-image:url(./pc-540c3f0b.svg)}.fi-pc.fis{background-image:url(./pc-502e1da5.svg)}.fi-sh-ac{background-image:url(./sh-ac-b6ad57b0.svg)}.fi-sh-ac.fis{background-image:url(./sh-ac-b08e4e0a.svg)}.fi-sh-hl{background-image:url(./sh-hl-6555ab98.svg)}.fi-sh-hl.fis{background-image:url(./sh-hl-37e199e9.svg)}.fi-sh-ta{background-image:url(./sh-ta-799b3dee.svg)}.fi-sh-ta.fis{background-image:url(./sh-ta-6b600555.svg)}.fi-un{background-image:url(./un-1b4df7a8.svg)}.fi-un.fis{background-image:url(./un-45d364fc.svg)}.fi-xk{background-image:url(./xk-95fe9a76.svg)}.fi-xk.fis{background-image:url(./xk-1571e3bb.svg)}._button_diw5d_1{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._container_1ksto_17,._paymentMethodContainer_1ksto_17{display:flex}._exchangeName_1ksto_21{width:30%}._infoButton_1ksto_25{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._outerContainer_1ksto_37{position:relative}._paymentMethodsContainer_1ksto_41{display:flex;flex-direction:column;width:70%}._paymentMethodName_1ksto_47{color:var(--color-default);display:inline-block;font-weight:400;line-height:22px;margin:0}._paymentMethodName_1ksto_47 img{margin-right:var(--space-quarter)}._paymentMethodContainer_1ksto_17:not(:first-child){margin-top:var(--space-eight)}._paymentMethodContainer_1ksto_17>span{flex-basis:124px;flex-grow:1}._radio_1ksto_67{--size-default: 14px;background-color:var(--background-secondary);border:1px solid var(--background-quaternary);display:block;padding:8px}._radio_1ksto_67:hover,._radio_1ksto_67 *:hover{cursor:pointer}._radio_1ksto_67 input{display:none}._radio_1ksto_67 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin:0;padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_1ksto_67 input+label:before,._radio_1ksto_67 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_1ksto_67 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_1ksto_67 input+label:after{background:var(--color-info);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radioLabel_1ksto_123{width:100%}._text_1ksto_127{color:var(--color-default);margin:0}._radio_1ksto_67[aria-checked=true]{background-color:var(--background-focus)}._radio_1ksto_67:focus{position:relative;z-index:2}._radio_1ksto_67 input:checked+label:before{background-color:var(--background-secondary)}._radio_1ksto_67 input:checked+label:after{opacity:1;transform:scale(1)}._radio_1ksto_67 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-info);outline:none;outline-offset:0}._radio_1ksto_67 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-info)}._radio_1ksto_67 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_1ksto_67[aria-disabled=true]{background-color:#fff}._radio_1ksto_67[aria-disabled=true],._radio_1ksto_67[aria-disabled=true] *{cursor:not-allowed}span[role=radio]:focus{outline-color:var(--color-blue)}._container_h94uh_1 p,._container_h94uh_1 ul{margin:0}._buttonBack_62uya_17{margin-right:auto}._buttonsContainer_62uya_21{display:flex;margin-top:var(--space-half);justify-content:center}._container_62uya_27{margin-top:calc(var(--space-default) * 1.5)}._exchangeContainer_62uya_31{display:flex;flex-direction:column;min-height:300px}._exchangeContainer_62uya_31.content{flex-grow:0;flex-shrink:0;margin:auto;padding-right:40px}._header_62uya_44{position:relative;z-index:2200}._selectContainer_62uya_49{position:relative;margin-bottom:var(--space-half)}._selectContainer_62uya_49>div{position:relative}._selectContainer_62uya_49>div>div{margin:0}._label_62uya_62{color:var(--color-gray-alt);line-height:22px;margin:0;margin-bottom:var(--space-eight)}._noExchangeText_62uya_69{color:var(--color-gray-alt);line-height:22px;margin:0;margin-top:calc((var(--space-eight) + var(--space-half)));margin-left:calc((var(--space-eight) + var(--space-quarter)))}._radioButtonsContainer_62uya_77{min-height:180px}._title_62uya_81{font-size:2rem;font-weight:400;margin-top:0;margin-bottom:var(--space-default);text-align:center}._dropdown_9chnx_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-half) + var(--space-eight))}._flag_9chnx_10{font-size:20px}._globe_9chnx_14{margin-top:3px;width:26px;height:22px}._optionsContainer_9chnx_20{align-items:center;display:flex}._select_9chnx_25 .react-select__input-container,._select_9chnx_25 .react-select__single-value{color:var(--color-default)}._select_9chnx_25 .react-select__menu,._select_9chnx_25 .react-select__option{background-color:var(--background-secondary)}._select_9chnx_25 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_9chnx_25 .react-select__option--is-selected,._select_9chnx_25 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_9chnx_25 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_9chnx_25 .react-select__input-container{padding-left:var(--space-default)}._selectLabelText_9chnx_59{color:var(--color-default);margin-left:6px}._singleValueContainer_9chnx_64{align-items:center;display:flex;left:var(--space-quarter);position:absolute}._overlay_12k4v_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background-color:var(--bg-transparent-dark);z-index:4010;opacity:0}._overlay_12k4v_1._activeOverlay_12k4v_16{opacity:1}._modal_12k4v_20{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto;opacity:0}._modal_12k4v_20._activeModal_12k4v_32{opacity:1}._modal_12k4v_20._small_12k4v_38{max-width:340px;width:100%}._modal_12k4v_20._medium_12k4v_43{max-width:520px;width:100%}._modal_12k4v_20._large_12k4v_49{max-width:800px;width:100%}._header_12k4v_54{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--color-lightgray)}._header_12k4v_54._centered_12k4v_64{justify-content:center}._header_12k4v_54 ._title_12k4v_68{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_12k4v_74{background:none;border:none;padding:0;width:auto!important}._closeButton_12k4v_74:focus{outline:none}._closeButton_12k4v_74:disabled{color:var(--color-secondary)}._header_12k4v_54 ._closeButton_12k4v_74,._header_12k4v_54 ._closeButton_12k4v_74 img{width:18px;height:18px}._contentContainer_12k4v_95{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_12k4v_95._slim_12k4v_101{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-default)}._content_12k4v_95 p{word-break:break-word}._actions_12k4v_113 button,._actions_12k4v_113 a,._small_12k4v_38 ._actions_12k4v_113 button,._small_12k4v_38 ._actions_12k4v_113 a{width:100%}._actions_12k4v_113>*:not(:last-child),._small_12k4v_38 ._actions_12k4v_113>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_12k4v_113{margin-top:var(--space-quarter)}._confirmationLabel_12k4v_131{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_12k4v_140{display:inline-block;position:absolute;left:0}._disabledLabel_12k4v_146,._disabledLabel_12k4v_146 span{color:var(--color-mediumgray)!important}._noStep_12k4v_151{padding-left:0}._confirmationInstructions_12k4v_155{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_12k4v_155>div{width:50%}._confirmationInstructions_12k4v_155 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_12k4v_155._confirm_12k4v_131{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_12k4v_175{height:120px;margin-right:var(--space-half)}._modalContent_12k4v_180 p{font-size:var(--size-default);font-weight:400}._modalContent_12k4v_180>*:first-child{margin-top:0}._detail_12k4v_189{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_12k4v_189:not(:first-child){border-top:solid 1px var(--color-lightgray)}._detail_12k4v_189 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_12k4v_189 label,._detail_12k4v_189 p{margin:0;line-height:1}._detail_12k4v_189._description_12k4v_213>span{text-align:right}._buttons_12k4v_217{padding:var(--space-quarter)}._buttons_12k4v_217 button:first-child{margin-right:10px}._buttons_12k4v_217 button{width:50%}._dialogButtons_12k4v_229{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_12k4v_229>*:only-child{width:100%}@media (max-width: 768px){._modal_12k4v_20{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-half)}}._button_1djzh_1{align-items:center;background-color:var(--background-secondary);border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:row;height:18px;justify-content:center;margin-top:var(--spacing-half);min-width:18px!important;padding:0;position:absolute;right:var(--spacing-default);top:10px;transition:background-color ease .2s;width:18px;will-change:background-color}._button_1djzh_1 img{width:18px}._button_1djzh_1:focus{outline:none}._button_1djzh_1:disabled{cursor:not-allowed}._success_1djzh_34{background-color:var(--color-success)!important}._container_1djzh_38{position:relative}._inputField_1djzh_42{border:1px solid var(--background-quaternary);border-radius:2px;flex:1;font-size:var(--size-default);font-weight:400;height:52px;margin-bottom:0;min-width:200px!important;padding:var(--space-half) calc(var(--space-default) * 1.2 + 5px) var(--space-half) calc(var(--space-half) * .5);resize:none;width:100%}@media screen and (min-width: 640px){._inputField_1djzh_42{text-align:center}}._inputField_1djzh_42:focus{outline:solid 1px var(--color-blue)}@media screen and (max-width: 640px){._button_1djzh_1{margin-left:var(--space-quarter)}}._flexibleHeight_1djzh_72{height:auto}._alignLeft_1djzh_76{text-align:left}._alignRight_1djzh_80{text-align:right}._borderLess_1djzh_84,._borderLess_1djzh_84:focus{border:none;border-radius:0;outline:none}._empty_gzy3c_1{width:256px;height:256px;color:var(--color-secondary)}._title_nnme6_1{font-size:var(--header-default-font-size);font-weight:400}._nextButton_nnme6_6{background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:2px;text-align:left;margin:0 0 0 -2px}._details_nnme6_17{font-size:var(--size-default);margin-bottom:var(--space-default)}._qrCode_nnme6_22{min-height:260px;text-align:center}._qrCode_nnme6_22 img{height:auto;max-width:100%}._buttons_nnme6_35{clear:both;display:flex;justify-content:space-between;min-height:3.5rem}._verifyButton_nnme6_42{order:2}._entry_nnme6_46{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--space-half)}@media screen and (min-width: 640px){._xPubInfo_nnme6_55{max-width:calc(100% - 218px)}._details_nnme6_17{display:flex;flex-direction:column;min-height:180px}._entry_nnme6_46:first-child{margin-top:0}._qrCode_nnme6_22{float:right;position:relative;top:-38px;right:calc(-1 * var(--space-default))}}@media (max-width: 640px){._infoContent_nnme6_82{width:100%}._largeEntry_nnme6_86{align-items:stretch;flex-direction:column}._largeEntry_nnme6_86 strong{display:block;margin-bottom:var(--space-quarter)}._addressField_nnme6_96 input{font-size:var(--size-small)}._qrCode_nnme6_22{margin-left:calc(-1 * var(--space-default));margin-right:calc(-1 * var(--space-default))}}._labels_1m4jx_1{align-items:center;display:flex;justify-content:space-between;margin:var(--spacing-default) 0}._label_1m4jx_1{color:var(--color-secondary);flex-grow:1;font-size:var(--size-default);font-weight:400;margin:0;padding:0 var(--space-quarter)}._qrCodeContainer_1m4jx_17{margin-bottom:var(--space-default);min-height:260px}._arrowLeft_1m4jx_22,._arrowRight_1m4jx_23{width:16px;position:relative;top:3px}._arrowLeft_1m4jx_22{margin-right:3px}._arrowRight_1m4jx_23{margin-left:3px}._previous_1m4jx_37,._next_1m4jx_38{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--color-blue);font-size:var(--size-button);line-height:1;padding:0;text-decoration:none}._hide_1m4jx_49{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-secondary)}._changeType_1m4jx_58{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--color-secondary);cursor:pointer;display:inline-block;text-align:center;text-decoration:underline;padding:var(--space-quarter)}._container_1ooxc_1{margin:0 auto;position:relative;padding:calc(var(--space-default) * 1.5);width:100%}._container_1ooxc_1._withCloseBtn_1ooxc_7{padding-right:60px}.padded ._container_1ooxc_1{max-width:var(--content-width)}._status_1ooxc_15{font-size:var(--size-subheader);max-width:800px;text-align:left}._success_1ooxc_21{background-color:var(--color-success)}._warning_1ooxc_25{background-color:var(--color-warning)}._info_1ooxc_29{background-color:var(--color-info)}._success_1ooxc_21,._warning_1ooxc_25,._info_1ooxc_29,._success_1ooxc_21 label,._warning_1ooxc_25 label,._info_1ooxc_29 label{color:var(--color-alt)}._close-success_1ooxc_42{background:var(--color-darkgreen)}._close-warning_1ooxc_46{background:var(--color-swissred)}._close-info_1ooxc_50{background:var(--color-darkblue)}._close_1ooxc_42{border:none;line-height:.5;padding:var(--space-half);position:absolute;top:0;right:0}._close_1ooxc_42 svg{width:18px;height:18px}._withCloseBtn_1ooxc_7 ._status_1ooxc_15:before{content:"";float:right;height:18px;padding-bottom:2px;padding-left:var(--space-default);width:18px}@media (max-width: 1199px){._container_1ooxc_1{padding:calc(var(--space-half) * 1.5)}}._space_tpxrt_1{margin-left:.33ch}._rates_19qqe_1{cursor:default;line-height:1;margin:0;white-space:nowrap}._unit_19qqe_8{font-weight:400}._unit_19qqe_8,._unitAction_19qqe_13{color:var(--color-secondary);font-size:var(--size-default);font-variant:normal;position:relative}._availableFiatAmount_19qqe_24{padding-right:var(--space-quarter)!important;text-align:right}._availableFiatUnitNoAction_19qqe_29,._availableFiatUnit_19qqe_29{color:var(--color-secondary);cursor:default;position:relative}._unitAction_19qqe_13:after,._availableFiatUnit_19qqe_29:after{border-bottom:dotted 1px var(--color-softblack);content:"";position:absolute;bottom:0;left:2px;right:2px}._notAvailable_19qqe_46{color:var(--color-default)}@media (max-width: 880px){._fiatRow_19qqe_20{bottom:0}._availableFiatAmount_19qqe_24,._availableFiatUnit_19qqe_29{line-height:24px}}@media (max-width: 640px){._availableFiatUnit_19qqe_29:after{border-bottom:none}}._balanceTable_m2hui_1{align-items:flex-end;border-collapse:collapse;border-spacing:0;display:flex;flex-direction:row;position:relative}._balanceTable_m2hui_1 tr{display:inline-block;vertical-align:bottom}._balanceTable_m2hui_1 td{font-size:var(--size-large);font-weight:400;line-height:1.2;padding:0;vertical-align:baseline}._balanceTable_m2hui_1 td:last-child{font-size:var(--size-default)}._balanceTable_m2hui_1 ._availableAmount_m2hui_27{padding-right:var(--space-quarter);text-align:right}._balanceTable_m2hui_1 ._availableUnit_m2hui_32{color:var(--color-secondary);padding-right:var(--space-half)}._pendingBalance_m2hui_37{color:var(--color-secondary);font-size:var(--size-small);line-height:1;margin:0;padding-top:var(--space-half)}@media (max-width: 768px){._balanceTable_m2hui_1{display:inline-block;margin:0 auto}._balanceTable_m2hui_1 td{font-size:var(--size-large-mobile);line-height:1.5}._pendingBalance_m2hui_37{padding-top:var(--space-quarter)}}@media (max-width: 560px){._balanceTable_m2hui_1 td{font-size:var(--size-subheader)}}._row_1qpuo_1{display:flex;flex-direction:column}._rowCustomFee_1qpuo_6{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12{flex-basis:50%;flex-grow:1;flex-shrink:0}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:first-child{flex-basis:50%}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:nth-child(2){flex-basis:50%}@media (min-width: 640px){._row_1qpuo_1{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12:first-child{flex-basis:50%}._column_1qpuo_12:nth-child(2){flex-basis:50%}}._rowCustomFee_1qpuo_6 select._priority_1qpuo_38{border-right:none;padding-right:0}._rowCustomFee_1qpuo_6 ._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0;border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0}}select:disabled._priority_1qpuo_38{border-color:var(--background)!important}select._priority_1qpuo_38{border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input:disabled{border-color:var(--background)!important}._fee_1qpuo_42 input{border-color:var(--background-quaternary)!important}}@media (max-width: 639px){._row_1qpuo_1 ._fee_1qpuo_42 *{display:block!important;text-align:left!important}._row_1qpuo_1 ._fee_1qpuo_42 input{border:none;color:var(--color-secondary)!important;font-size:var(--size-small);font-weight:400;height:auto;margin-top:0;padding:0}}._feeCustom_1qpuo_91 input{padding-right:58px}._feeDescription_1qpuo_95,._feeProposed_1qpuo_96{color:var(--color-secondary);flex:0 0 100%;font-size:var(--size-small);font-weight:400;margin-top:0}._feeProposed_1qpuo_96{margin:0}._feeDescription_1qpuo_95+._feeProposed_1qpuo_96{margin:var(--space-quarter) 0 0 0}._customFeeUnit_1qpuo_112{bottom:0;color:var(--color-secondary);font-size:var(--size-default);line-height:50px;padding-right:var(--space-half);position:absolute;right:0;width:auto}._utxosList_8ra1q_1{list-style:none;padding:0 0 var(--space-half) 0}._utxosList_8ra1q_1 label{-webkit-user-select:text;user-select:text;width:100%}._utxo_8ra1q_1{margin-top:var(--space-half);padding:0 0 var(--space-eight) 0;border-bottom:solid 1px var(--color-lightgray)}._utxoContent_8ra1q_17{align-items:flex-start;color:var(--color-default);display:flex;flex-wrap:nowrap;font-size:var(--size-subheader)}._note_8ra1q_25{color:var(--color-default);font-size:var(--size-subheader);line-height:1.5;margin-top:-7px;margin-bottom:var(--space-quarter)}._utxoData_8ra1q_33{flex-basis:auto;flex-grow:1;flex-shrink:1;overflow-x:hidden;overflow-y:auto}._utxoExplorer_8ra1q_41{margin-top:calc(var(--space-quarter) * -1);padding:var(--space-quarter)}._utxoExplorer_8ra1q_41 img{width:18px;height:18px}._amounts_8ra1q_51{padding-bottom:var(--space-quarter)}._amount_8ra1q_51{margin-right:var(--space-quarter)}._label_8ra1q_59,._unit_8ra1q_60{color:var(--color-secondary)}._label_8ra1q_59{display:inline-block;padding-right:4px}._unit_8ra1q_60{font-size:var(--size-default)}._address_8ra1q_73,._transaction_8ra1q_74{display:flex;font-size:var(--size-default);line-height:1.4;white-space:nowrap}._shrink_8ra1q_81{overflow:hidden;text-overflow:ellipsis}._confirmItem_1e5e5_1 p{margin-top:var(--space-quarter);word-break:break-all}._confirmationValue_1e5e5_6{font-size:var(--size-default);font-weight:400;line-height:1;overflow:hidden;text-overflow:ellipsis;direction:rtl}._total_1e5e5_15 p{font-size:var(--size-subheader)!important;margin-bottom:var(--space-quarter)}._spinnerAnimationContainer_18sha_1{align-items:center;display:flex;height:0;justify-content:center;position:relative;top:150px}._qrVideo_18sha_10{width:100%;margin-bottom:var(--spacing-default)}._qrVideo_18sha_10+.scan-region-highlight svg{stroke:var(--color-darkyellow)!important;stroke-width:3!important}._inputWithIcon_drrz7_1{position:relative}._inputWithIcon_drrz7_1 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}._action_drrz7_9{color:var(--color-blue);font-size:var(--size-small);font-weight:400;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}._qrButton_drrz7_18{align-items:center;display:flex;border:none;background-color:var(--background-secondary);height:36px;width:36px;justify-content:center;padding:0;position:absolute;top:calc(50% - var(--space-quarter));right:calc(var(--spacing-default) - var(--space-quarter));cursor:pointer}._qrButton_drrz7_18 img{width:18px;height:18px}._maxAmount_1t5n0_1 label{display:block!important;margin-right:0!important}._maxAmount_1t5n0_1 label:before{top:-2px!important}._maxAmount_1t5n0_1 label:after{margin-top:-3px!important}._labelDescription_5etm5_1{color:var(--color-secondary);font-size:var(--size-small);font-weight:400;margin-top:0}._container_8f83b_1{margin-top:calc(var(--space-default) * 1.5)}._skeleton_13p4i_1{animation:_skeleton-loading_13p4i_1 1.4s ease infinite;background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(129,129,129,.24) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;display:inline-block;max-width:100%;overflow:clip}._skeleton_13p4i_1:before{color:transparent;content:"_";display:block;line-height:1;min-width:1em}@keyframes _skeleton-loading_13p4i_1{0%{background-position:100% 50%}to{background-position:0 50%}}._chart_1bo3n_1{box-sizing:border-box;margin-bottom:var(--spacing-large);position:relative}._invisible_1bo3n_7{visibility:hidden}._chartUpdatingMessage_1bo3n_11{align-items:center;color:var(--color-tertiary);display:flex;flex-direction:column;justify-content:center;padding:0 var(--space-half);text-align:center}._chart_1bo3n_1 header{display:flex;flex-wrap:wrap;margin-bottom:var(--spacing-half);min-height:68px}._summary_1bo3n_28{margin:0 auto;display:flex;flex-direction:column;align-items:flex-start}._filters_1bo3n_35{align-items:baseline;display:flex;flex-wrap:wrap;flex-grow:1;justify-content:flex-end;margin:var(--spacing-half) 0 0 0}@media (max-width: 640px){._chart_1bo3n_1{margin-bottom:var(--spacing-default)}._summary_1bo3n_28{align-items:center}._filters_1bo3n_35{justify-content:center;margin-top:var(--spacing-default)}}._filters_1bo3n_35 button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-secondary);border:2px solid var(--background-secondary);border-radius:2rem;color:var(--color-default);font-size:var(--size-default);line-height:1.75;margin-bottom:var(--spacing-half);margin-left:var(--spacing-half);padding:0 calc(var(--spacing-default) * .75)}._filters_1bo3n_35 button:hover:not([disabled]){cursor:pointer}._filters_1bo3n_35 button:hover:is([disabled]){cursor:not-allowed}._filters_1bo3n_35 button:focus{border:2px solid var(--color-blue);outline:none}._filters_1bo3n_35 button._filterActive_1bo3n_87{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-alt)}._filters_1bo3n_35 button[disabled]{background:var(--background-quaternary);border-color:var(--background-quaternary);color:var(--color-alt)}.dark-mode ._filters_1bo3n_35 button[disabled]{background:var(--background-secondary);border-color:var(--background-secondary);color:var(--color-disabled)}._arrow_1bo3n_104 svg{margin-right:.25rem;vertical-align:text-bottom}._up_1bo3n_109{color:var(--color-green)}._down_1bo3n_113{color:var(--color-softred)}._totalValue_1bo3n_117{font-size:2rem}._totalUnit_1bo3n_121{color:var(--color-secondary);display:inline-block;font-size:1.4rem;padding:0 .25rem}._diffValue_1bo3n_128{font-size:1.2rem}._diffUnit_1bo3n_132{font-size:1rem;padding:0 .25rem}._chartCanvas_1bo3n_137{position:relative}@media (max-width: 640px){._chartCanvas_1bo3n_137{max-width:100%;overflow:hidden}}._tooltip_1bo3n_149{background:var(--background-secondary);border:1px solid var(--background);border-radius:3px;font-size:var(--size-small);margin-top:-25px;min-width:140px;padding:.75rem .6rem;pointer-events:none;position:absolute;text-align:center;transition:left .03s ease-out,top .03s ease-out;z-index:12}._toolTipValue_1bo3n_164{font-weight:400;font-size:1rem;margin:0 0 .25rem}._toolTipUnit_1bo3n_170{color:var(--color-secondary);font-size:var(--size-small);padding:0 .125rem}._toolTipTime_1bo3n_176{white-space:nowrap}._spinnerContainer_1akm7_1{position:relative;display:inline-block}._spinner_1akm7_1{color:var(--color-blue)}._spinner_1akm7_1:after{position:relative;top:2px;animation:_changeContent_1akm7_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_1akm7_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._balanceTable_1v4c8_1{margin:0 0 var(--spacing-large) 0}._coincode_1v4c8_4{height:24px}._coinheader_1v4c8_9{display:flex;flex-direction:row;align-items:center}._coinheader_1v4c8_9>div:first-child{height:24px;margin-right:calc(var(--space-half) / 2)}._dataMissing_1v4c8_20{text-align:center}._openFileText_1v4c8_24{color:var(--color-primary);cursor:pointer;font-size:var(--size-small)}._table_1v4c8_30{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-default);border:solid 1px var(--background-quaternary)}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{height:52px;padding:var(--space-half);text-align:left;font-weight:400}._table_1v4c8_30 tr td._noAccount_1v4c8_45{text-align:center}._table_1v4c8_30 tr>td:not(:first-child),._table_1v4c8_30 tr>th:not(:first-child){text-align:right}._table_1v4c8_30 thead th{border-bottom:solid 1px var(--background-quaternary)}._table_1v4c8_30 thead th,._table_1v4c8_30 tfoot th{background-color:var(--background-secondary);font-size:var(--size-default);font-weight:700}._table_1v4c8_30 thead th:first-child,._table_1v4c8_30 tfoot th:first-child{padding-left:calc(24px + var(--space-default))}._table_1v4c8_30 tr td{font-size:var(--size-default)!important;line-height:1.5714}._table_1v4c8_30 tbody td{background-color:var(--background-secondary)}._clickable_1v4c8_80{cursor:pointer}._summaryTableBalance_1v4c8_84{white-space:nowrap}._table_1v4c8_30 tfoot th,._table_1v4c8_30 tfoot td{background-color:var(--background-secondary);padding-bottom:calc(var(--space-quarter) + var(--space-half))}._coinName_1v4c8_94{display:flex}._coinName_1v4c8_94 img{flex-shrink:0;margin-right:var(--spacing-default);vertical-align:middle}._coinUnit_1v4c8_104{color:var(--color-secondary)}._syncText_1v4c8_108{font-variant:tabular-nums}._showOnTableView_1v4c8_112{display:block}._showInCollapsedView_1v4c8_116{display:none}@media (max-width: 640px){._showOnTableView_1v4c8_112{display:none}._showInCollapsedView_1v4c8_116{display:block}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{padding:var(--spacing-default)}._table_1v4c8_30 thead{display:none}._table_1v4c8_30,._table_1v4c8_30 tbody,._table_1v4c8_30 tbody tr,._table_1v4c8_30 tfoot{display:block}._table_1v4c8_30 tfoot tr{background-color:var(--background-secondary);display:flex;justify-content:space-between}._table_1v4c8_30 tfoot th:first-child{padding-left:var(--space-half)}._table_1v4c8_30 tbody td{display:flex;justify-content:space-between;height:auto;padding-bottom:0}._table_1v4c8_30 tbody td:before{content:attr(data-label);white-space:nowrap}._subTotal_1v4c8_167 td:before{font-weight:700}._table_1v4c8_30 tbody td:last-child{border-bottom:solid 1px var(--color-mediumgray);padding-bottom:var(--spacing-default)}._coinName_1v4c8_94{position:relative}._coinName_1v4c8_94 img{left:-2rem;position:absolute;top:-3px}}._container_1mptn_1{display:flex;justify-content:center}._container_1mptn_1>button:first-child{margin-right:var(--space-half)}._main_1mptn_8{padding:calc(var(--space-default) * 1.5) 0}._main_1mptn_8>*{margin-right:0!important;text-align:center}._walletConnect_1mptn_17{margin-left:var(--space-half)}._walletConnect_1mptn_17 span{margin-left:var(--space-eight)}._container_17oq2_1{align-items:center;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;padding:0 var(--space-half)}._scrollable_17oq2_17{overflow:auto}._agreements_17oq2_22{margin-bottom:var(--spacing-default)}._agreementsLabel_17oq2_26{margin:var(--spacing-half) 0}._title_17oq2_30{margin-top:0;margin-bottom:var(--spacing-large);font-weight:400}._summary_17oq2_36{margin:var(--spacing-large) auto;max-width:450px}._summary_17oq2_36 li{margin-bottom:var(--spacing-default)}._heading_17oq2_45{margin-top:1px}._content_17oq2_49{display:flex;flex-basis:auto;flex-direction:column;flex-grow:1;flex-shrink:1;max-width:var(--content-width);width:100%;padding:var(--spacing-large) var(--spacing-default) 0 var(--spacing-default)}._verticalButtons_17oq2_60{display:flex;flex-direction:column;max-width:300px;width:100%;margin:0 auto}._verticalButtons_17oq2_60 button:first-child{margin-bottom:var(--spacing-default)}._block_17oq2_72{flex:1}._block_17oq2_72 p:first-child,._block_17oq2_72 h2:first-child{margin-top:0}._block_17oq2_72 p:last-child{margin-bottom:var(--spacing-large)}._list_17oq2_85{padding-left:18px}._list_17oq2_85 li:not(:first-child){margin-top:var(--spacing-half)}._buttons_17oq2_93{margin-bottom:0;margin-top:var(--spacing-large)}._stepNumber_17oq2_98{min-width:20px!important;margin-right:20px;text-align:center;color:var(--color-secondary);font-size:var(--size-extra-large);line-height:var(--size-extra-large);font-weight:400}._badge_17oq2_108{max-height:40px;height:40px}._waitingLogo_17oq2_113{margin-bottom:var(--space-default)}._waitingContent_17oq2_117{max-width:540px;width:100%;background-color:var(--background-secondary);padding:var(--space-default);margin:0 auto;text-align:center}._waitingText_17oq2_126{margin-top:0;margin-bottom:var(--space-half);text-align:center;font-weight:400;font-size:var(--size-subheader)}._waitingDescription_17oq2_134{text-align:center;margin-bottom:0}@media screen and (max-width: 640px){._qrcodeContainer_17oq2_140{width:50%}._qrcodeContainer_17oq2_140 img{width:100%;height:auto}}._container_l7fdu_1{width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:var(--item-height);text-decoration:none;text-align:left;border:none;color:var(--color-blue);background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:0 var(--space-half);cursor:pointer}._container_l7fdu_1 svg,._container_l7fdu_1 img{width:18px;height:18px;color:var(--color-secondary)}._danger_l7fdu_27{color:var(--color-softred)}._children_l7fdu_31{min-width:120px}._optionalText_l7fdu_35{margin-left:auto;margin-right:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary);white-space:nowrap;max-width:300px;text-overflow:ellipsis;overflow:hidden}._secondaryText_l7fdu_46{color:var(--color-secondary);font-size:var(--size-small);margin-top:4px;overflow:hidden;text-overflow:ellipsis}._primaryText_l7fdu_54{display:block}._icon_l7fdu_58 img{margin-left:8px;margin-bottom:-4px}._disabled_l7fdu_63{opacity:.5;cursor:default}._item_l7fdu_68{color:var(--color-secondary);cursor:default}._container_l7fdu_1:focus{outline:solid 1px var(--color-blue)}._stepContext_g2o2c_1{margin:var(--space-default) 0}._backupsList_g2o2c_5{background:var(--background-secondary);border:1px solid var(--background-secondary);display:flex;flex-direction:column;text-align:left;flex:1}._listContainer_g2o2c_14{display:flex;flex-direction:column;max-height:45vh;overflow-x:hidden;overflow-y:scroll;position:relative;width:100%}._item_g2o2c_24{width:100%;padding:var(--space-quarter) var(--space-half)}._item_g2o2c_24:not(:first-child){border-top:solid 1px var(--background)}._item_g2o2c_24 label{margin-bottom:0!important}._agreements_g2o2c_37{margin-bottom:1rem}._emptyText_g2o2c_41{text-align:center;color:var(--color-secondary);padding:var(--spacing-large) 0}._backupItem_g2o2c_47+label{color:var(--color-default);word-break:break-all}._backupID_g2o2c_52{word-break:break-all;margin-bottom:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary)}._backupButtons_g2o2c_59{display:flex;flex-wrap:wrap;flex-direction:row-reverse;margin-top:var(--space-default)}@media (min-width: 769px){._backupButtons_g2o2c_59>*:not(:first-child){margin-right:var(--space-half)}}@media (max-width: 768px){._backupButtons_g2o2c_59{align-items:center;flex-direction:column;margin-top:var(--space-default)}._backupButtons_g2o2c_59>*:not(:first-child){margin-top:var(--space-half)}}._container_6tizs_1{height:var(--item-height-xlarge);width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;text-decoration:none;text-align:left;border:none;background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:16px 24px;color:var(--color-dark);margin-bottom:var(--size-default)}._primaryText_6tizs_21{color:var(--color-default);font-size:16px;margin:0}._isButton_6tizs_27:hover{cursor:pointer}._rightContentContainer_6tizs_32{display:flex;align-items:center;flex-shrink:0}._displayedValue_6tizs_38{color:var(--color-secondary);font-size:14px;margin:0;padding-left:var(--space-half);overflow:hidden;text-overflow:ellipsis}._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:var(--space-quarter)}._secondaryText_6tizs_51{color:var(--color-secondary);font-size:14px;margin:0;margin-top:var(--space-quarter);overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){._container_6tizs_1{height:auto;margin-bottom:5px;min-width:100%}._secondaryText_6tizs_51{display:none}}@media (max-width: 560px){._container_6tizs_1._collapse_6tizs_74{align-items:start;flex-direction:column}._container_6tizs_1._collapse_6tizs_74 ._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:0}._container_6tizs_1._collapse_6tizs_74 ._rightContentContainer_6tizs_32{width:100%}._hideDisplayedValueOnSmall_6tizs_87{display:none}}._container_1rta5_1{display:flex;margin-bottom:var(--space-default);word-break:keep-all}._container_1rta5_1 a{margin-right:var(--space-default);font-size:var(--size-subheader);text-decoration:none}._container_1rta5_1 a._active_1rta5_13{padding-bottom:var(--space-quarter);border-bottom:2px solid var(--color-blue)}@media (max-width: 768px){._container_1rta5_1,._container_1rta5_1 a,._container_1rta5_1 a._active_1rta5_13{all:unset}}._settingNameContainer_usdew_1{display:flex}._settingName_usdew_1{color:var(--color-swissred);font-size:16px;margin:0;margin-left:var(--space-quarter)}._section_18i3w_1{margin-bottom:var(--space-default)}._section_18i3w_1 h3{margin-bottom:var(--space-half)}._skeletonWrapper_18i3w_9{margin-bottom:var(--size-default)}@media (max-width: 768px){._skeletonWrapper_18i3w_9{margin-bottom:2px}}._container_flzib_1{align-items:center;display:none;position:relative}._backButton_flzib_7{background-color:transparent;border:none;color:var(--color-default);display:flex;align-items:center;font-size:var(--size-title);padding:var(--space-quarter);padding-left:0;text-decoration:none}._backButton_flzib_7:focus{outline:none}._backButton_flzib_7:hover{cursor:pointer}._backButton_flzib_7 img{margin-right:var(--space-eight)}._headerText_flzib_31{font-size:var(--size-title);font-weight:400;margin:0 auto;position:absolute;left:50%;transform:translate(-50%)}._withGuide_flzib_40 ._headerText_flzib_31{left:calc(50% + 37px)}@media (max-width: 768px){._container_flzib_1{display:flex}}._container_18axn_1{align-items:stretch;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;max-width:var(--content-width-small);width:100%}._container_14uup_1{display:inline-block;flex-shrink:0;margin:0;min-height:var(--item-height-xsmall);position:relative;width:60px}._container_14uup_1 input{height:0;opacity:0;width:0}._container_14uup_1 input[disabled]+._slider_14uup_16{cursor:default;background-color:var(--color-disabled)}._slider_14uup_16{background-color:var(--background-tertiary);border-radius:2px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.2s}._slider_14uup_16:before{background-color:#fff;border-radius:2px;bottom:4px;content:"";height:16px;left:4px;position:absolute;width:26px;transition:.2s}input:checked+._slider_14uup_16{background-color:var(--color-blue)}input:checked+._slider_14uup_16:before{transform:translate(26px)}._toast_4ztjp_1{position:fixed;display:block;bottom:calc(var(--item-height-large) + var(--space-half));right:50%;transform:translate(50%,120%);max-width:calc(100% - (var(--guide-width) + var(--sidebar-width) + var(--spacing-large)));min-width:180px;min-height:20px;border-radius:2px;padding:var(--space-half);box-shadow:0 1px 5px #0003;transition:transform ease-out .2s;z-index:1}._active_4ztjp_17{transform:translate(50%)}._active_4ztjp_17._shifted_4ztjp_21{right:calc(var(--spacing-default) + 350px)}._info_4ztjp_25{background-color:var(--color-darkblue)}._success_4ztjp_29{background-color:var(--color-success)}._warning_4ztjp_33{background-color:var(--color-softred)}._toast_4ztjp_1 p{margin:0;color:var(--color-alt)}@media (max-width: 768px){._toast_4ztjp_1{position:initial;transition:none;transform:none}}._label_g3ts4_1{white-space:nowrap}._labelText_g3ts4_5{display:inline-block;font-size:14px;line-height:1;margin-right:8px;vertical-align:sub}._addAccountBtn_17bcq_2{margin-bottom:var(--spacing-default)}._walletHeader_17bcq_6{align-items:end;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--space-eight)}._walletTitle_17bcq_14{font-size:20px;font-weight:400;margin:0 0 var(--space-quarter) 0}._walletTitle_17bcq_14 small{color:var(--color-secondary);font-size:var(--size-default)}._setting_17bcq_25{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;min-height:var(--item-height);padding:var(--space-quarter) 0}._setting_17bcq_25:not(:last-child){border-bottom:solid 1px var(--background)}._coinLogo_17bcq_39{position:relative;z-index:2}._acccountLink_17bcq_44{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:1}._editBtn_17bcq_52{min-width:0;padding:0 0 0 var(--space-quarter)}._editBtn_17bcq_52 img{margin-right:var(--space-quarter);max-width:18px;height:auto;vertical-align:text-bottom}._toggleLabel_17bcq_64{align-items:center;display:flex;justify-content:space-between}._toggleLabelText_17bcq_70{color:var(--color-secondary)}._toggleLabelText_17bcq_70 img{color:var(--color-secondary);margin-right:var(--space-quarter);max-width:18px;vertical-align:bottom}._toggle_17bcq_64{flex-basis:60px;flex-shrink:0;margin-left:var(--spacing-half)}._accountActive_17bcq_87{cursor:pointer}._tokenSection_17bcq_91{align-items:flex-start;display:flex;flex-basis:100%;flex-direction:column;flex-wrap:wrap;padding:0 0 0 4px}._tokenContainer_17bcq_100{max-height:0vh;overflow:hidden;transition:max-height .27s ease;width:100%}._tokenContainerOpen_17bcq_107{max-height:200vh;padding:10px 0 0}._token_17bcq_91{align-items:center;display:flex;flex-direction:row;justify-content:space-between;min-height:var(--item-height);padding:10px 0;position:relative;width:100%}._token_17bcq_91:before{background-color:#ddd;content:"";height:22px;left:10px;position:absolute;top:-13px;right:8px;width:3px}._token_17bcq_91:first-child:before{height:16px;top:-7px}._token_17bcq_91 img:first-child{margin-right:0}._tokenIcon_17bcq_149{max-height:24px;max-width:24px}._tokenName_17bcq_154{flex:1;display:inline-block;padding-left:20px}._tokenInactive_17bcq_160{color:var(--color-tertiary);transition:color .2s ease}._expandBtn_17bcq_165{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:100% center;background-repeat:no-repeat;height:40px;padding:0 var(--space-default)}._expandBtnOpen_17bcq_173{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 16 12 10 18 16'/%3E%3C/svg%3E%0A")}._expandBtn_17bcq_165,._expandBtn_17bcq_165:focus,._expandBtn_17bcq_165:hover{border-color:transparent!important;margin-left:10px;outline:none}._watchOnlyContainer_17bcq_186{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-half)}._watchOnlyNote_17bcq_193{margin:0;margin-top:var(--space-half)}._watchOnlyAccountHidden_17bcq_198{background-color:var(--color-success);margin-top:var(--space-half);padding:var(--space-half)}._watchOnlyAccountHidden_17bcq_198 p{color:var(--color-alt);margin:0}._title_ahh86_1{margin:0;font-size:var(--size-subheader);font-weight:400}._resetLink_ahh86_7{color:var(--color-softred)!important}._serversContainer_ahh86_11{margin-top:var(--space-default)}._servers_ahh86_11{background-color:var(--background-secondary);list-style:none;padding:var(--space-quarter) var(--space-half);margin:0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11{display:flex;width:100%;align-items:center;font-weight:400;font-size:var(--size-default);min-height:52px}._serverLabel_ahh86_32{padding:var(--space-quarter) 0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11>div:last-child{margin-left:auto}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{border:none;border-radius:2px;font-size:var(--size-small);padding:var(--space-quarter) var(--space-half);word-break:normal}._servers_ahh86_11 ._server_ahh86_11>div button[disabled]{background-color:var(--color-disabled);color:var(--color-secondary)}._servers_ahh86_11 ._server_ahh86_11>div button:focus{outline:none}._servers_ahh86_11 ._server_ahh86_11>div button:not(:last-child){margin-right:var(--space-quarter)}@media (max-width: 768px){._servers_ahh86_11{padding:0 var(--space-quarter)}._serverLabel_ahh86_32{padding-right:var(--space-quarter)}._servers_ahh86_11 ._server_ahh86_11>div button{margin:var(--space-quarter) 0}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{display:block;padding:var(--space-quarter);width:100%}}._primary_ahh86_82{background-color:var(--color-blue);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._primary_ahh86_82:hover{background-color:var(--color-lightblue)}._warning_ahh86_93{background-color:var(--color-softred);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._warning_ahh86_93:hover{background-color:var(--color-lightred)}._textarea_ahh86_104{width:100%;border-radius:2px;border-color:var(--background-quaternary);padding:var(--space-half) var(--space-half);margin-bottom:var(--space-quarter)}._block_ahh86_112{margin-bottom:var(--space-half)}._addServer_ahh86_116{margin-top:var(--space-half);margin-bottom:var(--space-default);background-color:var(--background-secondary);padding:var(--space-half)}._addServer_ahh86_116 p{font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);margin-bottom:var(--space-quarter)}._addServer_ahh86_116>div:first-child p{margin-top:var(--spacing-default)}@media (max-width: 768px){._addServer_ahh86_116{padding:var(--space-half) var(--space-quarter)}}._badge_ahh86_140{color:var(--color-secondary);border-radius:2px;margin-right:var(--space-quarter);width:16px;text-align:center}._badge_ahh86_140:after{content:"."}._miniSpinnerContainer_ahh86_152{position:relative;margin-right:4px;display:inline-block}._miniSpinner_ahh86_152{color:var(--color-blue)}._miniSpinner_ahh86_152:after{position:relative;animation:_changeContent_ahh86_1 .8s linear infinite;display:block;content:"⠋"}@keyframes _changeContent_ahh86_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._syncContainer_nrzbt_1{position:relative;width:100%;top:-18px;margin-bottom:-18px}._progressBar_nrzbt_8{width:100%;height:1px;background-color:var(--background)}._progressValue_nrzbt_14{height:100%;background-color:var(--color-blue);transition:width 1s ease;will-change:width}._syncMessage_nrzbt_21{height:16px;width:100%;max-width:var(--content-width);font-size:var(--size-small);color:var(--color-secondary);text-align:right;margin:0 auto 1px;padding:0 var(--spacing-large)}._syncText_nrzbt_33{display:inline-block;height:100%;font-variant:tabular-nums}._spinnerContainer_nrzbt_39{position:relative;display:inline-block}._spinner_nrzbt_39{color:var(--color-blue)}._spinner_nrzbt_39:after{position:relative;top:2px;animation:_changeContent_nrzbt_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_nrzbt_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}@media (max-width: 900px){._syncMessage_nrzbt_21{padding:0 var(--spacing-default)}}@media (max-width: 640px){._syncMessage_nrzbt_21{padding:0 var(--spacing-half)}}._container_13974_1{transform:rotate(-90deg);background-color:transparent!important}._background_13974_6,._foreground_13974_7{fill:none}._background_13974_6{stroke:var(--color-mediumgray)}._complete_13974_19{stroke:var(--color-success)}._pending_13974_23,._generic_13974_24{stroke:var(--color-primary)}._error_13974_28{stroke:var(--color-danger)}._txArrowType_m24u9_1{width:18px;height:18px}._txArrowTypeIn_m24u9_6{stroke:var(--color-success)!important}._txArrowTypeOut_m24u9_10{stroke:var(--color-danger)!important}._txArrowTypeSelf_m24u9_14{stroke:var(--color-secondary)!important}._container_1j01g_1{margin:calc(var(--space-default) * 1.5) 0}._header_1j01g_5{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--space-default)}._header_1j01g_5 label{font-size:var(--size-default)}._columns_1j01g_17{align-items:center;background-color:var(--background-secondary);display:flex;flex-direction:row;justify-content:flex-start;margin-bottom:1px;width:100%}._headers_1j01g_27{font-weight:700;height:48px}._columns_1j01g_17>*,._columnGroup_1j01g_33>*{display:flex;flex-direction:row;align-items:center;font-size:var(--size-default);padding:0 var(--space-quarter)}._columnGroup_1j01g_33{width:100%;padding:0}._type_1j01g_46{min-width:54px;width:54px;justify-content:center}._date_1j01g_52{min-width:98px;width:98px}._activity_1j01g_57{min-width:334px;width:334px;text-align:left}._status_1j01g_63{min-width:106px;width:106px}._fiat_1j01g_68{min-width:134px;width:134px;justify-content:flex-end}._currency_1j01g_74{min-width:230px;width:230px;justify-content:flex-end}._action_1j01g_80{min-width:60px;width:60px;justify-content:center;align-items:center}._empty_1j01g_87{background-color:var(--background-secondary);height:52px;display:flex;flex-direction:row;align-items:center;justify-content:center}._empty_1j01g_87 p{font-size:var(--size-default);font-weight:400;color:var(--color-secondary)}@media (min-width: 1081px) and (max-width: 1199px),(min-width: 1323px){._hideOnMedium_1j01g_103{display:none}._activity_1j01g_57{padding:var(--space-quarter) 0}}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._showOnMedium_1j01g_113{display:none}._columns_1j01g_17{flex-direction:column;justify-content:center}._columnGroup_1j01g_33:last-child{margin-top:var(--space-quarter)}._type_1j01g_46{min-width:36px;width:36px;justify-content:flex-start}._date_1j01g_52{min-width:126px;width:126px}._activity_1j01g_57{flex:1}._fiat_1j01g_68,._currency_1j01g_74{justify-content:flex-start;min-width:0;width:auto;text-align:right}._action_1j01g_80{justify-content:flex-end;min-width:36px;width:36px}._status_1j01g_63{justify-content:flex-start;width:auto;margin-left:36px;margin-right:auto}}@media (max-width: 768px){._container_1j01g_1{margin:var(--space-default) 0}._fiat_1j01g_68,._currency_1j01g_74{min-width:0;width:auto}._fiat_1j01g_68{flex-grow:1;flex-shrink:0;justify-content:flex-end}._currency_1j01g_74{flex-grow:0;flex-shrink:1}}@media (max-width: 666px){._columns_1j01g_17>*,._columnGroup_1j01g_33>*{padding:0 var(--space-eight)}._type_1j01g_46{min-width:26px;width:26px}._activity_1j01g_57{min-width:0;width:auto}._date_1j01g_52{min-width:80px;width:80px}._status_1j01g_63{margin-left:2px;min-width:14px;padding-right:0}}._container_1tutj_1{margin:0 0 1px}._row_1tutj_5{background-color:var(--background-secondary)!important;min-height:52px}._row_1tutj_5 *{font-size:var(--size-default);font-weight:400}._address_1tutj_19{text-overflow:ellipsis;overflow:hidden}._address_1tutj_19 ._badge_1tutj_24{margin-left:5px;color:var(--color-secondary)}._statusIndicator_1tutj_29{width:9px;height:9px;border-radius:50%;background-color:var(--background);margin-right:var(--space-quarter)}._statusIndicatorComplete_1tutj_37{background-color:var(--color-success)}._statusIndicatorPending_1tutj_41{background-color:var(--color-yellow)}._statusIndicatorFailed_1tutj_45{background-color:var(--color-danger)}._fiat_1tutj_53{font-variant:tabular-nums}._amount_1tutj_57{font-variant:tabular-nums;max-width:100%}._amountOverflow_1tutj_62{overflow:hidden;position:relative;text-overflow:ellipsis}._amountOverflow_1tutj_62:after{content:attr(data-unit);color:transparent}._send_1tutj_74{color:var(--color-softred)!important}._receive_1tutj_78{color:var(--color-success)}._currency_1tutj_82{font-variant:tabular-nums}._currencyUnit_1tutj_86{color:var(--color-secondary);font-variant:normal}._amountOverflow_1tutj_62 ._currencyUnit_1tutj_86{position:absolute;right:0;top:0}._action_1tutj_97{align-items:center;background:none;border:none;display:flex;flex-direction:column;justify-content:center;padding:0;-webkit-appearance:none}._label_1tutj_108{white-space:nowrap}._label_1tutj_108,._columnLabel_1tutj_113,._inlineLabel_1tutj_114{color:var(--color-secondary);font-size:var(--size-default)}._label_1tutj_108,._columnLabel_1tutj_113{margin-right:var(--space-quarter)}._columnLabel_1tutj_113{display:none}._inlineValue_1tutj_128{margin-left:var(--space-quarter)}._fee_1tutj_132{min-width:140px}._transactionId_1tutj_136{overflow:hidden;text-overflow:ellipsis}._detail_1tutj_141,._detailInput_1tutj_142{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detailInput_1tutj_142{padding:0 0 0 var(--space-half)}._detailInput_1tutj_142 label{margin-bottom:0}._textOnlyInput_1tutj_159{margin:0}._textOnlyInput_1tutj_159 input{border:none}._editButton_1tutj_167{background:none;border:none;height:20px;margin-right:var(--space-half);padding:0;-webkit-appearance:none;width:20px}._editButton_1tutj_167:focus{outline:none}._editButton_1tutj_167 img{opacity:.4;vertical-align:text-bottom;outline:none}._editButton_1tutj_167:hover img{opacity:.55}._detail_1tutj_141:not(:first-child){border-top:solid 1px var(--background)}._detail_1tutj_141 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1tutj_141 label,._detail_1tutj_141 p{margin:0;line-height:1}._detail_1tutj_141._addresses_1tutj_207{align-items:baseline;padding-bottom:0;padding-right:0;padding-top:0}._addresses_1tutj_207 label{padding:var(--space-half) 0}._detailAddresses_1tutj_218{flex-grow:1}._detailAddress_1tutj_218+._detailAddress_1tutj_218{margin-top:calc(var(--space-quarter) * -1)}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._container_1tutj_1{margin:0 0 var(--space-quarter) 0}._row_1tutj_5{height:auto;padding:var(--space-half)}._columnLabel_1tutj_113{display:inline}._action_1tutj_97{align-items:flex-end}}@media (max-width: 926px){._inlineLabel_1tutj_114{display:block;margin-bottom:var(--space-quarter)}._inlineValue_1tutj_128{margin-left:0;text-align:center}}@media (max-width: 666px){._columnLabel_1tutj_113{display:none}._row_1tutj_5{padding:var(--space-half) var(--space-quarter)}._inlineLabel_1tutj_114{white-space:nowrap}._fee_1tutj_132{min-width:0}}@media (max-width: 560px){._status_1tutj_29{display:none}}._container_8wadt_1{max-width:100%;width:100%;min-height:100%;padding:0;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start}._header_8wadt_12{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;flex:none;margin:0 auto;padding:var(--spacing-large) var(--spacing-large) 0 var(--spacing-large);width:800px}._actionsContainer_8wadt_23{display:flex;transform:translateY(-36%);margin-top:var(--space-quarter)}._buy_8wadt_29,._receive_8wadt_30,._walletConnect_8wadt_31,._send_8wadt_32{background-color:var(--color-blue);border-radius:2px;color:var(--color-alt);display:inline-block;font-size:var(--size-default);height:calc(var(--item-height) / 1.5);line-height:calc(var(--item-height) / 1.5);margin-left:var(--space-quarter);min-width:calc(var(--item-height) * 2);padding:0 var(--space-half);text-align:center;text-decoration:none;transition:background-color ease-out .2s;width:auto;will-change:background-color}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{flex-wrap:wrap;justify-content:flex-end}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{display:flex}._buy_8wadt_29:hover,._receive_8wadt_30:hover,._send_8wadt_32:not(._disabled_8wadt_62):hover{background-color:var(--color-lightblue)}._send_8wadt_32._disabled_8wadt_62{cursor:default;opacity:.4}._accountIcon_8wadt_71{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}@media (max-width: 768px){._actionsContainer_8wadt_23{flex:0 0 91%;justify-content:space-between;margin-bottom:var(--space-default);max-width:91%;transform:none;width:91%;margin-left:auto;margin-right:auto;flex-wrap:wrap}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{justify-content:center}._withWalletConnect_8wadt_50 ._buy_8wadt_29,._withWalletConnect_8wadt_50 ._receive_8wadt_30,._withWalletConnect_8wadt_50 ._send_8wadt_32{max-width:25%}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{align-items:center;display:flex;justify-content:center;max-width:15%}._actionsContainer_8wadt_23 a{flex:1 0 30%;margin-right:0;max-width:30%;min-width:unset}._send_8wadt_32,._receive_8wadt_30,._buy_8wadt_29{font-size:var(--size-small);width:auto}}._dropdown_1uw27_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23777' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_1uw27_10 .react-select__control{background-color:var(--background-secondary);border:2px solid var(--color-custom-select-border);border-radius:0;padding:0 var(--space-eight)}._select_1uw27_10{width:280px;background-color:var(--background-secondary);color:var(--color-default)}._select_1uw27_10 .react-select__option.react-select__option--is-focused:not(:hover){outline:solid 1px var(--color-blue)}._select_1uw27_10 .react-select__option.react-select__option--is-selected,._select_1uw27_10 .react-select__option:hover{background-color:var(--background-custom-select-selected)}._select_1uw27_10 .react-select__menu{background-color:var(--background-secondary)}._select_1uw27_10 .react-select__option{background-color:var(--background-secondary);font-size:var(--size-default);color:var(--color-default);padding:var(--space-half) var(--space-quarter);cursor:pointer}._select_1uw27_10 .react-select__menu-list{padding:1px}._select_1uw27_10 .react-select__control:hover{cursor:pointer}._select_1uw27_10 .react-select__single-value,._select_1uw27_10 .react-select__input-container{font-size:var(--size-default);color:var(--color-default)}._select_1uw27_10 .react-select__multi-value{padding:0;margin:0;background:transparent}._select_1uw27_10 .react-select__multi-value__label{padding:0;color:var(--color-default);font-size:var(--size-default)}@media (max-width: 560px){._select_1uw27_10{margin-top:var(--space-quarter);width:100%}}._select_1j2fm_1 .react-select__input-container{position:absolute;top:-2px;left:6px}._select_1j2fm_1 .react-select__option{display:flex;flex-direction:row;align-items:center;justify-content:space-between}._select_1j2fm_1 .react-select__multi-value:nth-child(n+4){display:none}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:not(:nth-last-child(2)):after{content:",";padding-right:2px}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:nth-child(3):not(:nth-last-child(2)):after{content:"…"}._select_1j2fm_1._hideMultiSelect_1j2fm_30 .react-select__multi-value{display:none}._select_1j2fm_1 .react-select__value-container--is-multi{height:var(--item-height-xsmall)}._defaultCurrency_1j2fm_51:hover{cursor:not-allowed}._defaultLabel_1j2fm_55{font-size:var(--size-small);margin:0;text-transform:capitalize}._inlineMessage_gi9x3_1{position:relative;padding:var(--spacing-default) 42px var(--spacing-default) var(--spacing-default);border-radius:3px}._inlineMessage_gi9x3_1._success_gi9x3_7{background-color:var(--color-success);color:var(--color-alt)}._inlineMessage_gi9x3_1._left_gi9x3_12{text-align:left}._close_gi9x3_16{position:absolute;top:var(--spacing-default);right:var(--spacing-default);line-height:1;cursor:pointer}._settingItem_6ge6v_3{margin-top:var(--space-half)}@media (max-width: 768px){._settingItem_6ge6v_3{margin-top:2px}}._headerContainer_wug0g_1{display:flex;flex-direction:column;align-items:center}._headerContainer_wug0g_1 p,._headerContainer_wug0g_1 h1{margin:0}._headerContainer_wug0g_1 h1{margin-top:var(--space-half);font-size:var(--size-large);font-weight:400}._headerContainer_wug0g_1 img{width:64px;height:64px}._headerContainer_wug0g_1 p{color:var(--color-secondary);margin-top:var(--space-quarter)}._accountName_wug0g_28{font-size:20px}._receiveAddress_wug0g_32{font-size:16px}@media (max-width: 768px){._headerContainer_wug0g_1 h1{margin-top:var(--space-eight);font-size:var(--size-subheader)}._headerContainer_wug0g_1 p{font-size:var(--size-small)}._headerContainer_wug0g_1 img{width:36px;height:36px}._headerContainer_wug0g_1 p._receiveAddress_wug0g_32{margin-top:var(--space-eight)}}._formContainer_1wrji_1{display:flex;flex-direction:column}._formButtonsContainer_1wrji_6{display:flex;justify-content:space-between}._inputWithIcon_1wrji_11{position:relative}._inputWithIcon_1wrji_11 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}@media (max-width: 768px){._formButtonsContainer_1wrji_6{flex-direction:column-reverse;margin-top:calc(var(--space-half) + var(--space-quarter))}._formButtonsContainer_1wrji_6 button+button{margin-bottom:var(--space-half)}._mobileQRScanner_1wrji_28{display:flex;flex-direction:column;margin-bottom:calc(var(--space-half) + var(--space-eight))}._mobileQRScanner_1wrji_28 video{max-width:320px;height:320px;margin:0 auto;object-fit:cover}._mobileQRScanner_1wrji_28 ._scanQRLabel_1wrji_41{margin-bottom:var(--space-quarter);margin-left:auto;margin-right:auto;text-align:center}}._buttonsContainer_yg3s8_1{margin-top:var(--space-default);display:flex;justify-content:space-between}._container_yg3s8_7{display:flex;flex-direction:column}._container_yg3s8_7 p._connectionRequest_yg3s8_12{margin-bottom:24px}._container_yg3s8_7 p._receiveAddress_yg3s8_16{color:var(--color-secondary);margin-top:24px}._pairingDetailContainer_yg3s8_21{display:flex;align-items:center;justify-content:space-between}._pairingDetailContainer_yg3s8_21 img{width:64px;height:64px}._pairingDetailContainer_yg3s8_21 p._metadata_yg3s8_32{color:var(--color-default);margin-bottom:var(--space-eight)}@media (max-width: 768px){._buttonsContainer_yg3s8_1{flex-direction:column-reverse}._buttonsContainer_yg3s8_1>*:not(:last-child){margin-top:var(--space-quarter)}._buttonsContainer_yg3s8_1 button{height:calc(var(--space-quarter) + var(--space-default))}._container_yg3s8_7 p._connectionRequest_yg3s8_12{text-align:center}._pairingDetailContainer_yg3s8_21{align-items:flex-start;flex-direction:column-reverse}._pairingDetailContainer_yg3s8_21 img{margin-left:auto;margin-right:auto;margin-bottom:var(--space-default)}}._container_1h5wj_1{align-items:center;display:flex;flex-direction:column}._successIcon_1h5wj_7{width:180px;height:180px}._container_1h5wj_1 p._successText_1h5wj_12{margin:calc(var(--space-quarter) + var(--space-half)) 0;text-align:center}@media (max-width: 768px){._container_1h5wj_1 p._successText_1h5wj_12{margin-bottom:var(--space-large);margin-top:calc(var(--space-quarter) + var(--space-default))}._container_1h5wj_1 button{height:calc(var(--space-quarter) + var(--space-default));width:100%}}._contentContainer_1iwqe_1{display:flex;margin-top:var(--space-default);margin-left:auto;margin-right:auto;max-width:800px;min-height:320px}._contentContainer_1iwqe_1>div{width:100%}._contentContainer_1iwqe_1 p{color:var(--color-secondary);font-size:16px;margin:0}@media (max-width: 768px){._contentContainer_1iwqe_1 p{font-size:var(--size-default)}}._container_1jggi_1{background-color:var(--background-session-card);display:flex;margin-top:calc(var(--space-quarter) + var(--space-half));padding:calc(var(--space-half) + var(--space-quarter));width:100%}._container_1jggi_1 p{color:var(--color-default);font-size:16px;line-height:1.9;margin-bottom:0}._textDataContainer_1jggi_16{display:flex;flex-direction:column}._receiveAddress_1jggi_21{color:var(--color-secondary);margin:0}._accountName_1jggi_26{font-weight:700;margin:0;padding-right:16px;width:240px}._dAppMetadataAndIconContainer_1jggi_33{align-items:center;display:flex}._dAppMetadataAndIconContainer_1jggi_33 p{margin-top:0}._dAppMetadataAndIconContainer_1jggi_33 img{width:var(--item-height);height:var(--item-height);margin-left:calc(var(--space-quarter) + var(--space-half))}._dAppNameAndUrlContainer_1jggi_48{display:flex;flex-direction:column;width:240px}._dAppMetadataAndIconContainer_1jggi_33 p._dappUrl_1jggi_54{margin-top:var(--space-quarter)}._accountNameAndWalletContainer_1jggi_58{display:flex;margin-bottom:calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63{align-items:flex-end;display:flex;margin-left:auto}._buttonDisconnect_1jggi_69{height:unset;padding:calc(var(--space-eight) + var(--space-quarter)) calc(var(--space-default) + var(--space-default))}@media (max-width: 768px){._container_1jggi_1{margin-top:var(--space-half);padding:calc(var(--space-quarter) * 2)}._container_1jggi_1 p{font-size:var(--size-default)}._textDataContainer_1jggi_16{width:50%}._dAppNameAndUrlContainer_1jggi_48,._accountName_1jggi_26{width:100%}._accountNameAndWalletContainer_1jggi_58{margin-bottom:var(--space-quarter)}._buttonAndIconContainer_1jggi_63{flex-direction:column;justify-content:flex-end}._buttonDisconnect_1jggi_69{font-size:var(--size-default);height:var(--item-height-small);padding:var(--space-eight) calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63 img{height:var(--item-height-small);width:var(--item-height-small);margin-top:var(--space-default);margin-bottom:var(--space-default)}}._buttonNewConnection_13so1_1{height:calc(var(--space-default) + var(--space-quarter))}._headerContainer_13so1_5{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:calc(var(--space-half) + var(--space-quarter))}._headerContainer_13so1_5 p{margin:0}._headerContainer_13so1_5 p._receiveAddress_13so1_16{color:var(--color-secondary);margin-top:var(--space-quarter);font-size:16px}._noConnectedSessions_13so1_22{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-large);text-align:center}._separator_13so1_30{background:var(--color-disabled);border:none;height:2px;margin:0}._sessionCardsContainer_13so1_37{display:flex;flex-direction:column}._allSessionsHeading_13so1_42{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-half)}@media (max-width: 768px){._buttonNewConnection_13so1_1{height:var(--space-default);padding:0 16px}._headerContainer_13so1_5 p{font-size:16px}._headerContainer_13so1_5 p._receiveAddress_13so1_16,._noConnectedSessions_13so1_22,._allSessionsHeading_13so1_42{font-size:var(--size-default)}._allSessionsHeading_13so1_42{margin-top:var(--space-quarter)}}._passwordGesturesWrapper_mvckk_1{height:auto;margin:var(--space-default) auto 0 auto;position:relative;width:100%}._passwordGestures_mvckk_1{background-color:#fff;display:block;height:75%;margin:0 auto;max-width:600px;object-fit:cover;width:100%}._passwordGestures_mvckk_1[src=""]:after{background-color:#fff;content:"";position:absolute;top:0;left:0;right:0;bottom:0}._toggle_1lt1t_1{align-items:center;display:flex;flex-direction:row}._toggleLabel_1lt1t_7{flex-grow:1;line-height:1.4;margin-bottom:0;padding-right:var(--space-half)}._textIcon_1lt1t_14{height:1.2em;margin-right:.5em;vertical-align:text-bottom}._wizardCheckbox_1shxj_2 label{font-size:var(--size-wizard-text)!important;line-height:1.4}._wizardCheckbox_1shxj_2 label:before{top:2px!important}._wizardCheckbox_1shxj_2 label:after{top:6px!important}._wizardLabel_11dvu_2 label{font-size:var(--size-wizard-text)!important}._logo_rqpye_1{display:block;filter:grayscale(100%);margin:var(--space-half) auto;max-height:32px;max-width:100%;opacity:.61}._prominent_rqpye_9{max-height:48px}@media (min-width: 1200px){._logo_rqpye_1{margin-top:var(--space-default);max-height:42px}._prominent_rqpye_9{max-height:72px}}._hostname_rqpye_22{color:var(--color-secondary)}@media (min-width: 769px){._hostname_rqpye_22{margin:0}}._capitalized_rqpye_31:first-letter{text-transform:capitalize}._banner_yebbr_1{background-color:var(--color-blue);color:var(--color-alt);font-weight:400;font-size:var(--size-subheader);padding:var(--space-half);text-align:center}._smallIcon_yebbr_10{margin:auto 0;width:30px}._successText_yebbr_15{color:var(--color-secondary);font-weight:400;font-size:var(--size-subheader);margin-bottom:var(--space-quarter)}@media (max-width: 768px){._successText_yebbr_15{font-size:var(--size-default);margin-top:0}}._proceed_yebbr_28{margin-bottom:var(--space-half);margin-top:0}._message_yebbr_33{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;min-height:52px;padding:var(--space-quarter) var(--space-half);text-align:left;width:100%;white-space:pre-line}@media (min-width: 1200px){._message_yebbr_33{--size-default: 18px}}._link_4u2en_1{color:var(--color-alt)}._link_4u2en_1:focus{outline-color:inherit}._bitboxContainer_1nxo8_1{margin-top:calc(var(--space-default) + var(--space-quarter));margin-bottom:calc(var(--space-default) + var(--space-quarter))}._bitboxContainer_1nxo8_1>div img{width:198px;height:115px;margin-right:var(--space-default)}._bitboxContainer_1nxo8_1>div svg{width:20px;height:20px}._bitboxContainer_1nxo8_1._failed_1nxo8_18{align-items:center;display:flex;flex-direction:column}._bitboxImage_1nxo8_24{width:198px;height:115px}._cancelIcon_1nxo8_29{margin-right:16px;width:48px}._text_1nxo8_35{font-size:16px}@media (max-width: 768px){._text_1nxo8_35{font-size:var(--size-default)}}._link_13in7_1{color:inherit}._auth_xdrxz_1{position:absolute;width:100%;height:100%;z-index:9999}._accountName_gsa52_1{font-size:16px;margin:0 var(--space-half) 0 0}._accountNameAndAddress_gsa52_6{display:flex}._address_gsa52_10{color:var(--color-secondary);font-size:16px;margin:0}._animationAndTextContainer_gsa52_16{align-items:center;display:flex;flex-direction:column;margin:auto}._animationAndTextContainer_gsa52_16 p{font-size:var(--header-default-font-size);margin-top:var(--space-quarter)}._chainContainer_gsa52_28{align-items:center;display:flex}._chainContainer_gsa52_28 ._itemText_gsa52_33{margin-right:calc(var(--space-quarter) + var(--space-eight))}._chainContainer_gsa52_28 img{height:20px;width:20px}._dappIcon_gsa52_42{height:96px;width:96px}._item_gsa52_33{display:flex;flex-direction:column}._item_gsa52_33+._item_gsa52_33{margin-top:var(--space-half)}._itemText_gsa52_33{font-size:16px;margin:0}._label_gsa52_62{color:var(--color-secondary);font-size:var(--size-default);margin:0 0 var(--space-quarter) 0}._listContainer_gsa52_68{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}._outerContainer_gsa52_77{display:flex;flex-direction:column;min-height:460px;padding:0 var(--space-half)}._successIcon_gsa52_84{height:240px;width:240px}._textarea_gsa52_89{border-color:var(--background-quaternary);border-radius:var(--space-eight);font-family:var(--font-family);padding:var(--space-quarter);width:100%}._titleContainer_gsa52_97{align-items:center;display:flex;margin-bottom:var(--space-half)}._titleContainer_gsa52_97 h3{font-size:var(--header-default-font-size);font-weight:400;margin:0 0 0 var(--space-eight);padding:0 var(--space-quarter)}:root{--color-darkgreen: #4f9879;--color-green: #7aba7a;--color-lightgreen: rgba(79, 152, 121, .33);--color-palegreen: rgba(79, 152, 121, .2);--color-softred: #EC644B;--color-lightred: #F28E72;--color-swissred: #E30613;--color-white: #FFFFFF;--color-lightgray: #F5F5F5;--color-mediumgray: #E5E5E5;--color-gray-alt: #999999;--color-gray: #777777;--color-softblack: #333333;--color-dark: #1D1D1B;--color-yellow: #fef160;--color-darkyellow: rgb(243, 234, 0, .66);--color-lightyellow: rgba(255, 252, 177, .15);--color-darkblue: #4f7998;--color-blue: #5E94BF;--color-lightblue: #73A5CD;--color-light-skyblue: #ECF7FF;--color-electric-blue: #2684FF;--color-powder-blue: #DEEBFF;--color-pale-ice-blue: #E6F7FF;--color-blue-alt: #91BFCF;--color-orange: #F5A04C;--color-olive: #908B00;--color-lightorange: #F9AC60;--color-success: var(--color-green);--color-info: var(--color-blue);--color-warning: var(--color-softred);--color-error: var(--color-swissred);--color-danger: var(--color-error);--size-extra-large: 2.2rem;--size-large: 2rem;--size-large-mobile: 1.4rem;--size-subheader: 18px;--size-medium: var(--size-default);--size-default: 14px;--size-small: 12px;--size-xsmall: 11px;--size-label: var(--size-small);--size-button: var(--size-default);--size-title: 32px;--size-wizard-text: 16px;--spacing-large: 2rem;--spacing-default: 1rem;--spacing-half: .5rem;--space-large: 64px;--space-default: 32px;--space-half: 16px;--space-quarter: 8px;--space-eight: 4px;--item-height-xsmall: 24px;--item-height-small: 36px;--item-height: 52px;--item-height-large: 72px;--item-height-xlarge: 84px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--sidebar-width-large: 250px;--sidebar-margin: 32px;--sidebar-item-height: 52px;--sidebar-icon-margin: 14px;--sidebar-icon-size: 24px;--sidebar-header-size: 12px;--sidebar-header-line-height: 16px;--header-height: 70px;--header-default-font-size: 24px;--content-width: 1080px;--content-width-small: 550px;--content-width-larger: 740px;--guide-width: 350px}:root,.light-mode{--color-disabled: var(--color-mediumgray);--color-default: var(--color-dark);--color-primary: var(--color-blue);--color-secondary: var(--color-gray);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-lightgray);--background: var(--color-lightgray);--background-blue: var(--color-blue);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-white);--background-dark: var(--color-softblack);--background-focus: var(--color-light-skyblue);--background-tertiary: var(--color-gray-alt);--background-quaternary: var(--color-mediumgray);--background-custom-select-hover: var(--color-powder-blue);--background-custom-select-selected: var(--color-pale-ice-blue);--background-session-card: var(--color-white)}@media (prefers-color-scheme: dark){:root{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (prefers-color-scheme: light){.dark-mode{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (max-width: 1199px){:root{--size-title: 18px}}@media (max-width: 768px){:root{--header-default-font-size: 20px;--size-subheader: 16px;--size-title: 16px;--size-wizard-text: 14px}}html,body{background-color:var(--background);color:var(--color-default);font-family:var(--font-family);font-weight:400;height:100%;line-height:1.3;margin:0;overflow:hidden;padding:0;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-app-region:drag}*{box-sizing:border-box}hr{background:none;border-color:var(--background-quaternary) transparent;border-style:solid;border-width:1px 0 0 0;margin:var(--spacing-large) 0}h1,h2,h3,h4,h5{line-height:1.25}::-webkit-scrollbar-track{background-color:#f5f5f5}::-webkit-scrollbar{width:4px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{background-color:var(--color-gray)}p{font-weight:400;font-size:var(--size-default)}a{color:var(--color-blue);cursor:pointer}dl div{display:inline-block;margin-right:var(--spacing-large)}dl dt{margin-right:var(--spacing-half);text-indent:0}dl dd{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis}img,button{-webkit-user-select:none;user-select:none}svg{stroke-width:1.6!important}pre{background-color:var(--background-secondary);display:block;font-family:monospace;font-size:20px;margin:0 0 var(--space-default) 0;padding:var(--space-default);text-align:center}progress{display:block;width:100%}.flex{display:flex!important}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-center{justify-content:center}.flex-start{justify-content:flex-start}.flex-around{justify-content:space-around}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-items-center{align-items:center}.flex-items-baseline{align-items:baseline}.flex-items-start{align-items:flex-start}.flex-items-end{align-items:flex-end}.flex-items-stretch{align-items:stretch}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-grow{flex-grow:1}.flex-none{flex:none!important}.flex>*{min-width:0}@media (max-width: 768px){.flex-column-mobile{flex-direction:column}.flex-reverse-mobile{flex-direction:column-reverse}.flex-self-start-mobile{align-self:flex-start}}.text-center{text-align:center}.text-right{text-align:right}.text-small{font-size:var(--size-small)}.text-medium{font-size:var(--size-default)}.text-medium>label{font-size:var(--size-default);text-transform:none}.text-blue{color:var(--color-blue)}.text-red{color:var(--color-danger)}.text-green{color:var(--color-success)}.text-gray{color:var(--color-secondary)}.show-on-small{display:none}.text-ellipsis{overflow-x:hidden;text-overflow:ellipsis}.text-break{word-break:break-all}.first{margin-top:0!important}.spaced>*:not(:last-child){margin-right:var(--space-default)}.app{display:flex;flex:1 1 auto;min-height:100vh}.appContent{height:100vh}@media (max-width: 900px){.appContent{position:absolute;width:100%}}@media (max-width: 768px){.spaced>*:not(:last-child){margin-right:var(--space-quarter)}}.contentWithGuide{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}.container{display:flex;flex:1 1 auto;flex-direction:column;position:relative;width:100%}.innerContainer{display:flex;flex-direction:column;height:100%}.scrollableContainer{overflow:auto}.scrollContainer{overflow-x:auto;overflow-y:scroll}.subTitle{font-size:var(--size-subheader);font-weight:400;line-height:1;margin:0 0 calc(var(--space-half) * 1.5) 0}.title{font-size:var(--size-title);font-weight:400;line-height:1;margin:0 0 var(--space-half) 0}@media (min-width: 1200px){.title{margin:0 0 var(--space-default) 0}}.content{flex:1;margin:0 auto;max-width:var(--content-width);padding:0 var(--space-default);width:100%}.content.narrow{max-width:var(--content-width-small)}.content.larger{max-width:var(--content-width-larger)}.content.padded{padding-top:var(--space-default)}@media (max-width: 768px){.content{padding:0 var(--space-half)}}.tabs{width:100%;max-width:var(--content-width);margin:0 auto}.tabs .tab{width:50%;height:52px;border:solid 1px var(--color-gray);transition:all .2s ease-out}.tabs .tab.active{border:solid 1px var(--color-blue)}.tabs .tab a{width:100%;height:100%;padding:var(--space-quarter);display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:center;text-decoration:none;font-size:var(--size-default);color:var(--color-secondary);transition:all .2s ease-out}.tabs .tab.active a{color:var(--color-blue);background-color:var(--background-secondary)}@media (max-width: 768px){.tabs .tab a{font-size:var(--size-small)}}.row:not(:first-child){margin-top:var(--space-quarter)}.row:not(:first-child).extra{margin-top:var(--space-half)}.isVerticallyCentered{display:flex;flex-direction:column;justify-content:center}.box{background-color:var(--background-secondary);padding:var(--space-half)}.box>*:first-child{margin-top:0}.box.large{padding:var(--space-default)}.box.larger{padding:var(--space-large)}.box.slim{padding:0}.box.slim.divide>*:not(:first-child){border-top:solid 1px var(--background)}.box .buttons{margin-top:var(--space-default);width:100%}.box .buttons.ignore{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.box .buttons.ignore.reverse{flex-direction:row-reverse}.box .buttons.ignore>*:not(:first-child){margin-left:var(--space-half);margin-right:0}.box .buttons.ignore.reverse>*:not(:first-child){margin-right:var(--space-half);margin-left:0}.box .buttons:not(.ignore)>*:not(:first-child){margin-top:var(--space-quarter)}.box .buttons:not(.ignore) button,.box .buttons:not(.ignore) a{width:100%}.m-none{margin:0!important}.m-top-none{margin-top:0!important}.m-top-quarter{margin-top:var(--space-quarter)!important}.m-top-half{margin-top:var(--space-half)!important}.m-top-default{margin-top:var(--space-default)!important}.m-top-default-extra{margin-top:calc(var(--space-default) * 1.5)!important}.m-top-large{margin-top:var(--space-large)!important}.m-right-tiny{margin-right:calc(var(--space-quarter) / 2)!important}.m-right-quarter{margin-right:var(--space-quarter)!important}.m-right-half{margin-right:var(--space-half)!important}.m-right-default{margin-right:var(--space-default)!important}.m-bottom-none{margin-bottom:0!important}.m-bottom-quarter{margin-bottom:var(--space-quarter)!important}.m-bottom-half{margin-bottom:var(--space-half)!important}.m-bottom-default{margin-bottom:var(--space-default)!important}.m-bottom-large{margin-bottom:calc(var(--space-half) * 1.5)!important}.m-bottom-xlarge{margin-bottom:calc(var(--space-half) * 3)!important}.m-bottom-xxlarge{margin-bottom:calc(var(--space-half) * 6)!important}.m-left-quarter{margin-left:var(--space-quarter)!important}.m-left-half{margin-left:var(--space-half)!important}.m-left-default{margin-left:var(--space-default)!important}.width-1-1{width:100%!important}.noPadding,.p-none{padding:0!important}.p-top-none{padding-top:0!important}.p-top-quarter{padding-top:var(--space-quarter)!important}.p-top-half{padding-top:var(--space-half)!important}.p-top-default{padding-top:var(--space-default)!important}.p-top-default-extra{padding-top:calc(var(--space-default) * 1.5)!important}.p-top-large{padding-top:var(--space-large)!important}.p-right-none{padding-right:0!important}.p-right-quarter{padding-right:var(--space-quarter)!important}.p-right-half{padding-right:var(--space-half)!important}.p-right-default{padding-right:var(--space-default)!important}.p-bottom-none{padding-bottom:0!important}.p-bottom-quarter{padding-bottom:var(--space-quarter)!important}.p-bottom-half{padding-bottom:var(--space-half)!important}.p-bottom-default{padding-bottom:var(--space-default)!important}.p-bottom-large{padding-bottom:calc(var(--space-half) * 1.5)!important}.p-left-none{padding-left:0!important}.p-left-quarter{padding-left:var(--space-quarter)!important}.p-left-half{padding-left:var(--space-half)!important}.p-left-default{padding-left:var(--space-default)!important}.wrapped{margin-top:calc(var(--spacing-half) * -1)}.wrapped>*{margin-top:var(--spacing-half)}.items{flex-shrink:0;position:relative;margin:calc(var(--space-quarter) * -1)}.items.marginBottom{margin-bottom:var(--space-half)}.buttons-end{text-align:right}.items>*{display:inline-block;margin:var(--space-quarter)}.stacked{position:relative}.stacked img{transition:opacity .2s ease}.stacked img:last-child{opacity:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.transparent{display:none}@media (max-width: 768px){.row:not(:first-child){margin-top:var(--space-quarter)}.box.large{padding:var(--space-half)}.box.larger{padding:var(--space-default)}.m-top-quarter-on-small{margin-top:var(--space-quarter)}.full-width-on-small{width:100%}.hide-on-small{display:none}.show-on-small{display:initial}}.light-mode .show-in-darkmode,.dark-mode .show-in-lightmode{display:none}.columnsContainer{width:100%}.columns{display:block;margin-right:calc(var(--space-default) * -1)}.columnsContainer.half .columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-default);margin-bottom:var(--space-default);display:inline-block;vertical-align:top}.columnsContainer.half .columns>*{margin-right:var(--space-half);margin-bottom:var(--space-half)}.columns.quarter>*{margin-bottom:var(--space-quarter)!important}.columnsContainer .columns .column{width:calc(100% - var(--space-default))}.columnsContainer.half .columns .column{width:calc(100% - var(--space-half))}.columnsContainer .columns .column.column-1-2{width:calc((100% - (var(--space-default) * 2)) / 2)}.columnsContainer.half .columns .column.column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columnsContainer .columns .column.column-1-3{width:calc((100% - (var(--space-default) * 3)) / 3)}.columnsContainer.half .columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}.columns .column.column-2-3{width:calc((100% - (var(--space-half) * 3)) / 1.5)}.column>*:first-child{margin-top:0}.column>*:last-child{margin-bottom:0}@media (max-width: 768px){.columnsContainer{margin-right:calc(var(--space-half) * -1)}.columnsContainer>*{margin-right:var(--space-half)}.columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-half);margin-bottom:calc(var(--space-half) * 1.5)}.columnsContainer.half .columns>*{margin-bottom:var(--space-quarter)}.columns .column{width:calc(100% - (var(--space-half)))!important}.columns .column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}}button,input[type=checkbox],input[type=radio]{-webkit-user-select:none;user-select:none}input[type=number],input[type=password],input[type=text],textarea{color:var(--color-default);background:var(--background-secondary)}label,dt{color:var(--color-secondary);display:block;font-size:var(--size-default);font-weight:400;line-height:1;margin-bottom:var(--space-quarter)}.labelXLarge{font-size:var(--size-subheader);margin-bottom:calc(var(--space-half) * 1.5);color:var(--color-default)}input:invalid,input:invalid:focus{border-color:var(--color-error)}input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}a[tabindex="0"]:focus,button:focus,input:focus,select:focus,input[type=checkbox]:focus+label:before{outline-color:var(--color-blue);outline-offset:-2px;outline-style:auto;outline-width:4px}@media (max-width: 768px){.labelXLarge{margin-bottom:var(--space-half)}}.checked-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:1;stroke-miterlimit:10;stroke:#7aba7a;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checked{border-radius:50%;stroke:#fff;stroke-miterlimit:10;stroke-width:1!important;box-shadow:inset 0 0 #7aba7a;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checked-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards;stroke:#7aba7a}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.02,1.02,1)}}.caretDown{animation:fadeinout 3s cubic-bezier(.45,.05,.55,.95) infinite;stroke-width:1!important;max-width:26px}.dark-mode .caretDown{fill:#fff}@keyframes fadeinout{0%,to{opacity:1}50%{opacity:.1}} diff --git a/frontends/web/build/assets/index.es-439fa429.js b/frontends/web/build/assets/index.es-439fa429.js new file mode 100644 index 0000000000..bc27613344 --- /dev/null +++ b/frontends/web/build/assets/index.es-439fa429.js @@ -0,0 +1 @@ +import{g as Yi,a as lo,E as Nt,b as G,I as fo,M as Wi,O as Ji,P as jr,R as dr,S as go,c as ut,N as J,T as Xi,V as Qi,Z as po,$ as Ar,a0 as yo,K as mo,a1 as bo,a2 as si,a3 as vo,a4 as wo,a5 as _o,a6 as ni,a7 as Eo,L as Fr,a8 as Cr,U as Bt,a9 as sr,aa as Gt,ab as xo,ac as Io,ad as oi,ae as So,af as To,w as Nr,ag as Ro,ah as Oo,_ as Lo,p as nr,ai as Po,aj as ai,d as Ao,y as _r,m as ci,H as Er,k as Fo,n as Co,C as No,ak as Do,al as Mo,am as zo,D as Uo,an as $o,ao as jo}from"./index-b913d093.js";var Kr={exports:{}},Ct=typeof Reflect=="object"?Reflect:null,hi=Ct&&typeof Ct.apply=="function"?Ct.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)},or;Ct&&typeof Ct.ownKeys=="function"?or=Ct.ownKeys:Object.getOwnPropertySymbols?or=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:or=function(e){return Object.getOwnPropertyNames(e)};function Ko(r){console&&console.warn&&console.warn(r)}var Zi=Number.isNaN||function(e){return e!==e};function X(){X.init.call(this)}Kr.exports=X;Kr.exports.once=Go;X.EventEmitter=X;X.prototype._events=void 0;X.prototype._eventsCount=0;X.prototype._maxListeners=void 0;var ui=10;function gr(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(X,"defaultMaxListeners",{enumerable:!0,get:function(){return ui},set:function(r){if(typeof r!="number"||r<0||Zi(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");ui=r}});X.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};X.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Zi(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function es(r){return r._maxListeners===void 0?X.defaultMaxListeners:r._maxListeners}X.prototype.getMaxListeners=function(){return es(this)};X.prototype.emit=function(e){for(var t=[],i=1;i0&&(c=t[0]),c instanceof Error)throw c;var l=new Error("Unhandled error."+(c?" ("+c.message+")":""));throw l.context=c,l}var p=a[e];if(p===void 0)return!1;if(typeof p=="function")hi(p,this,t);else for(var h=p.length,g=ns(p,h),i=0;i0&&c.length>n&&!c.warned){c.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+c.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=r,l.type=e,l.count=c.length,Ko(l)}return r}X.prototype.addListener=function(e,t){return ts(this,e,t,!1)};X.prototype.on=X.prototype.addListener;X.prototype.prependListener=function(e,t){return ts(this,e,t,!0)};function Bo(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function rs(r,e,t){var i={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},n=Bo.bind(i);return n.listener=t,i.wrapFn=n,n}X.prototype.once=function(e,t){return gr(t),this.on(e,rs(this,e,t)),this};X.prototype.prependOnceListener=function(e,t){return gr(t),this.prependListener(e,rs(this,e,t)),this};X.prototype.removeListener=function(e,t){var i,n,a,c,l;if(gr(t),n=this._events,n===void 0)return this;if(i=n[e],i===void 0)return this;if(i===t||i.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if(typeof i!="function"){for(a=-1,c=i.length-1;c>=0;c--)if(i[c]===t||i[c].listener===t){l=i[c].listener,a=c;break}if(a<0)return this;a===0?i.shift():Ho(i,a),i.length===1&&(n[e]=i[0]),n.removeListener!==void 0&&this.emit("removeListener",e,l||t)}return this};X.prototype.off=X.prototype.removeListener;X.prototype.removeAllListeners=function(e){var t,i,n;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[e]),this;if(arguments.length===0){var a=Object.keys(i),c;for(n=0;n=0;n--)this.removeListener(e,t[n]);return this};function is(r,e,t){var i=r._events;if(i===void 0)return[];var n=i[e];return n===void 0?[]:typeof n=="function"?t?[n.listener||n]:[n]:t?ko(n):ns(n,n.length)}X.prototype.listeners=function(e){return is(this,e,!0)};X.prototype.rawListeners=function(e){return is(this,e,!1)};X.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):ss.call(r,e)};X.prototype.listenerCount=ss;function ss(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}X.prototype.eventNames=function(){return this._eventsCount>0?or(this._events):[]};function ns(r,e){for(var t=new Array(e),i=0;i{const r=new Map;return{name:na,options:{},hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function aa(r={}){const e={mounts:{"":r.driver||oa()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=h=>{for(const g of e.mountpoints)if(h.startsWith(g))return{base:g,relativeKey:h.slice(g.length),driver:e.mounts[g]};return{base:"",relativeKey:h,driver:e.mounts[""]}},i=(h,g)=>e.mountpoints.filter(w=>w.startsWith(h)||g&&h.startsWith(w)).map(w=>({relativeBase:h.length>w.length?h.slice(w.length):void 0,mountpoint:w,driver:e.mounts[w]})),n=(h,g)=>{if(e.watching){g=Je(g);for(const w of e.watchListeners)w(h,g)}},a=async()=>{if(!e.watching){e.watching=!0;for(const h in e.mounts)e.unwatch[h]=await li(e.mounts[h],n,h)}},c=async()=>{if(e.watching){for(const h in e.unwatch)await e.unwatch[h]();e.unwatch={},e.watching=!1}},l=(h,g,w)=>{const I=new Map,R=x=>{let O=I.get(x.base);return O||(O={driver:x.driver,base:x.base,items:[]},I.set(x.base,O)),O};for(const x of h){const O=typeof x=="string",$=Je(O?x:x.key),B=O?void 0:x.value,U=O||!x.options?g:{...g,...x.options},Q=t($);R(Q).items.push({key:$,value:B,relativeKey:Q.relativeKey,options:U})}return Promise.all([...I.values()].map(x=>w(x))).then(x=>x.flat())},p={hasItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.hasItem,w,g)},getItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.getItem,w,g).then(R=>rr(R))},getItems(h,g){return l(h,g,w=>w.driver.getItems?Ue(w.driver.getItems,w.items.map(I=>({key:I.relativeKey,options:I.options})),g).then(I=>I.map(R=>({key:sa(w.base,R.key),value:rr(R.value)}))):Promise.all(w.items.map(I=>Ue(w.driver.getItem,I.relativeKey,I.options).then(R=>({key:I.key,value:rr(R)})))))},getItemRaw(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return I.getItemRaw?Ue(I.getItemRaw,w,g):Ue(I.getItem,w,g).then(R=>ia(R))},async setItem(h,g,w={}){if(g===void 0)return p.removeItem(h);h=Je(h);const{relativeKey:I,driver:R}=t(h);R.setItem&&(await Ue(R.setItem,I,ar(g),w),R.watch||n("update",h))},async setItems(h,g){await l(h,g,async w=>{w.driver.setItems&&await Ue(w.driver.setItems,w.items.map(I=>({key:I.relativeKey,value:ar(I.value),options:I.options})),g),w.driver.setItem&&await Promise.all(w.items.map(I=>Ue(w.driver.setItem,I.relativeKey,ar(I.value),I.options)))})},async setItemRaw(h,g,w={}){if(g===void 0)return p.removeItem(h,w);h=Je(h);const{relativeKey:I,driver:R}=t(h);if(R.setItemRaw)await Ue(R.setItemRaw,I,g,w);else if(R.setItem)await Ue(R.setItem,I,ra(g),w);else return;R.watch||n("update",h)},async removeItem(h,g={}){typeof g=="boolean"&&(g={removeMeta:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h);I.removeItem&&(await Ue(I.removeItem,w,g),(g.removeMeta||g.removeMata)&&await Ue(I.removeItem,w+"$",g),I.watch||n("remove",h))},async getMeta(h,g={}){typeof g=="boolean"&&(g={nativeOnly:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h),R=Object.create(null);if(I.getMeta&&Object.assign(R,await Ue(I.getMeta,w,g)),!g.nativeOnly){const x=await Ue(I.getItem,w+"$",g).then(O=>rr(O));x&&typeof x=="object"&&(typeof x.atime=="string"&&(x.atime=new Date(x.atime)),typeof x.mtime=="string"&&(x.mtime=new Date(x.mtime)),Object.assign(R,x))}return R},setMeta(h,g,w={}){return this.setItem(h+"$",g,w)},removeMeta(h,g={}){return this.removeItem(h+"$",g)},async getKeys(h,g={}){h=ir(h);const w=i(h,!0);let I=[];const R=[];for(const x of w){const $=(await Ue(x.driver.getKeys,x.relativeBase,g)).map(B=>x.mountpoint+Je(B)).filter(B=>!I.some(U=>B.startsWith(U)));R.push(...$),I=[x.mountpoint,...I.filter(B=>!B.startsWith(x.mountpoint))]}return h?R.filter(x=>x.startsWith(h)&&!x.endsWith("$")):R.filter(x=>!x.endsWith("$"))},async clear(h,g={}){h=ir(h),await Promise.all(i(h,!1).map(async w=>{if(w.driver.clear)return Ue(w.driver.clear,w.relativeBase,g);if(w.driver.removeItem){const I=await w.driver.getKeys(w.relativeBase||"",g);return Promise.all(I.map(R=>w.driver.removeItem(R,g)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(h=>fi(h)))},async watch(h){return await a(),e.watchListeners.push(h),async()=>{e.watchListeners=e.watchListeners.filter(g=>g!==h),e.watchListeners.length===0&&await c()}},async unwatch(){e.watchListeners=[],await c()},mount(h,g){if(h=ir(h),h&&e.mounts[h])throw new Error(`already mounted at ${h}`);return h&&(e.mountpoints.push(h),e.mountpoints.sort((w,I)=>I.length-w.length)),e.mounts[h]=g,e.watching&&Promise.resolve(li(g,n,h)).then(w=>{e.unwatch[h]=w}).catch(console.error),p},async unmount(h,g=!0){h=ir(h),!(!h||!e.mounts[h])&&(e.watching&&h in e.unwatch&&(e.unwatch[h](),delete e.unwatch[h]),g&&await fi(e.mounts[h]),e.mountpoints=e.mountpoints.filter(w=>w!==h),delete e.mounts[h])},getMount(h=""){h=Je(h)+":";const g=t(h);return{driver:g.driver,base:g.base}},getMounts(h="",g={}){return h=Je(h),i(h,g.parents).map(I=>({driver:I.driver,base:I.mountpoint}))}};return p}function li(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function fi(r){typeof r.dispose=="function"&&await Ue(r.dispose)}function Ot(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function cs(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=Ot(t);return(n,a)=>i.then(c=>a(c.transaction(e,n).objectStore(e)))}let xr;function Vt(){return xr||(xr=cs("keyval-store","keyval")),xr}function di(r,e=Vt()){return e("readonly",t=>Ot(t.get(r)))}function ca(r,e,t=Vt()){return t("readwrite",i=>(i.put(e,r),Ot(i.transaction)))}function ha(r,e=Vt()){return e("readwrite",t=>(t.delete(r),Ot(t.transaction)))}function ua(r=Vt()){return r("readwrite",e=>(e.clear(),Ot(e.transaction)))}function la(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},Ot(r.transaction)}function fa(r=Vt()){return r("readonly",e=>{if(e.getAllKeys)return Ot(e.getAllKeys());const t=[];return la(e,i=>t.push(i.key)).then(()=>t)})}const da=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),ga=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function pr(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return ga(r)}catch{return r}}function qt(r){return typeof r=="string"?r:da(r)||""}const pa="idb-keyval";var ya=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=cs(r.dbName,r.storeName)),{name:pa,options:r,async hasItem(n){return!(typeof await di(t(n),i)>"u")},async getItem(n){return await di(t(n),i)??null},setItem(n,a){return ca(t(n),a,i)},removeItem(n){return ha(t(n),i)},getKeys(){return fa(i)},clear(){return ua(i)}}};const ma="WALLET_CONNECT_V2_INDEXED_DB",ba="keyvaluestorage";class va{constructor(){this.indexedDb=aa({driver:ya({dbName:ma,storeName:ba})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,qt(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var Ir=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cr={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,i){this[t]=String(i)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(i){t[i]=void 0,delete t[i]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof Ir<"u"&&Ir.localStorage?cr.exports=Ir.localStorage:typeof window<"u"&&window.localStorage?cr.exports=window.localStorage:cr.exports=new e})();function wa(r){var e;return[r[0],pr((e=r[1])!=null?e:"")]}class _a{constructor(){this.localStorage=cr.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(wa)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return pr(t)}async setItem(e,t){this.localStorage.setItem(e,qt(t))}async removeItem(e){this.localStorage.removeItem(e)}}const Ea="wc_storage_version",gi=1,xa=async(r,e,t)=>{const i=Ea,n=await e.getItem(i);if(n&&n>=gi){t(e);return}const a=await r.getKeys();if(!a.length){t(e);return}const c=[];for(;a.length;){const l=a.shift();if(!l)continue;const p=l.toLowerCase();if(p.includes("wc@")||p.includes("walletconnect")||p.includes("wc_")||p.includes("wallet_connect")){const h=await r.getItem(l);await e.setItem(l,h),c.push(l)}}await e.setItem(i,gi),t(e),Ia(r,c)},Ia=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let Sa=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new _a;this.storage=e;try{const t=new va;xa(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};var Dt={},$t={},Sr={},jt={};let Lt=class{};const Ta=Object.freeze(Object.defineProperty({__proto__:null,IEvents:Lt},Symbol.toStringTag,{value:"Module"})),Ra=lo(Ta);var pi;function Oa(){if(pi)return jt;pi=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.IHeartBeat=void 0;const r=Ra;class e extends r.IEvents{constructor(i){super()}}return jt.IHeartBeat=e,jt}var yi;function hs(){return yi||(yi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(Oa(),r)}(Sr)),Sr}var Tr={},Tt={},mi;function La(){if(mi)return Tt;mi=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.HEARTBEAT_EVENTS=Tt.HEARTBEAT_INTERVAL=void 0;const r=G;return Tt.HEARTBEAT_INTERVAL=r.FIVE_SECONDS,Tt.HEARTBEAT_EVENTS={pulse:"heartbeat_pulse"},Tt}var bi;function us(){return bi||(bi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(La(),r)}(Tr)),Tr}var vi;function Pa(){if(vi)return $t;vi=1,Object.defineProperty($t,"__esModule",{value:!0}),$t.HeartBeat=void 0;const r=Nt,e=lt,t=G,i=hs(),n=us();class a extends i.IHeartBeat{constructor(l){super(l),this.events=new e.EventEmitter,this.interval=n.HEARTBEAT_INTERVAL,this.interval=(l==null?void 0:l.interval)||n.HEARTBEAT_INTERVAL}static init(l){return r.__awaiter(this,void 0,void 0,function*(){const p=new a(l);return yield p.init(),p})}init(){return r.__awaiter(this,void 0,void 0,function*(){yield this.initialize()})}stop(){clearInterval(this.intervalRef)}on(l,p){this.events.on(l,p)}once(l,p){this.events.once(l,p)}off(l,p){this.events.off(l,p)}removeListener(l,p){this.events.removeListener(l,p)}initialize(){return r.__awaiter(this,void 0,void 0,function*(){this.intervalRef=setInterval(()=>this.pulse(),t.toMiliseconds(this.interval))})}pulse(){this.events.emit(n.HEARTBEAT_EVENTS.pulse)}}return $t.HeartBeat=a,$t}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(Pa(),r),e.__exportStar(hs(),r),e.__exportStar(us(),r)})(Dt);var Y={},Rr,wi;function Aa(){if(wi)return Rr;wi=1;function r(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}Rr=e;function e(t,i,n){var a=n&&n.stringify||r,c=1;if(typeof t=="object"&&t!==null){var l=i.length+c;if(l===1)return t;var p=new Array(l);p[0]=a(t);for(var h=1;h-1?R:0,t.charCodeAt(O+1)){case 100:case 102:if(I>=g||i[I]==null)break;R=g||i[I]==null)break;R=g||i[I]===void 0)break;R",R=O+2,O++;break}w+=a(i[I]),R=O+2,O++;break;case 115:if(I>=g)break;R-1&&(K=!1);const k=["error","fatal","warn","info","debug","trace"];typeof P=="function"&&(P.error=P.fatal=P.warn=P.info=P.debug=P.trace=P),v.enabled===!1&&(v.level="silent");const le=v.level||"info",y=Object.create(P);y.log||(y.log=$),Object.defineProperty(y,"levelVal",{get:Z}),Object.defineProperty(y,"level",{get:ae,set:C});const _={transmit:S,serialize:D,asObject:v.browser.asObject,levels:k,timestamp:R(v)};y.levels=n.levels,y.level=le,y.setMaxListeners=y.getMaxListeners=y.emit=y.addListener=y.on=y.prependListener=y.once=y.prependOnceListener=y.removeListener=y.removeAllListeners=y.listeners=y.listenerCount=y.eventNames=y.write=y.flush=$,y.serializers=j,y._serialize=D,y._stdErrSerialize=K,y.child=L,S&&(y._logEvent=w());function Z(){return this.level==="silent"?1/0:this.levels.values[this.level]}function ae(){return this._level}function C(T){if(T!=="silent"&&!this.levels.values[T])throw Error("unknown level "+T);this._level=T,a(_,y,"error","log"),a(_,y,"fatal","error"),a(_,y,"warn","error"),a(_,y,"info","log"),a(_,y,"debug","log"),a(_,y,"trace","log")}function L(T,F){if(!T)throw new Error("missing bindings for child Pino");F=F||{},D&&T.serializers&&(F.serializers=T.serializers);const me=F.serializers;if(D&&me){var ie=Object.assign({},j,me),mt=v.browser.serialize===!0?Object.keys(ie):D;delete T.serializers,p([T],mt,ie,this._stdErrSerialize)}function H(Ge){this._childLevel=(Ge._childLevel|0)+1,this.error=h(Ge,T,"error"),this.fatal=h(Ge,T,"fatal"),this.warn=h(Ge,T,"warn"),this.info=h(Ge,T,"info"),this.debug=h(Ge,T,"debug"),this.trace=h(Ge,T,"trace"),ie&&(this.serializers=ie,this._serialize=mt),S&&(this._logEvent=w([].concat(Ge._logEvent.bindings,T)))}return H.prototype=this,new H(this)}return y}n.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},n.stdSerializers=t,n.stdTimeFunctions=Object.assign({},{nullTime:B,epochTime:U,unixTime:Q,isoTime:oe});function a(v,S,P,j){const D=Object.getPrototypeOf(S);S[P]=S.levelVal>S.levels.values[P]?$:D[P]?D[P]:e[P]||e[j]||$,c(v,S,P)}function c(v,S,P){!v.transmit&&S[P]===$||(S[P]=function(j){return function(){const K=v.timestamp(),k=new Array(arguments.length),le=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var y=0;y-1&&K in P&&(v[D][K]=P[K](v[D][K]))}function h(v,S,P){return function(){const j=new Array(1+arguments.length);j[0]=S;for(var D=1;D"u"?h=t(l,p):h=l.bindings().context||"",h}qe.getLoggerContext=n;function a(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=n(l,h);return g.trim()?`${g}/${p}`:p}qe.formatChildLoggerContext=a;function c(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=a(l,p,h),w=l.child({context:g});return i(w,g,h)}return qe.generateChildLogger=c,qe}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.pino=void 0;const e=Nt,t=e.__importDefault(Fa());Object.defineProperty(r,"pino",{enumerable:!0,get:function(){return t.default}}),e.__exportStar(ls(),r),e.__exportStar(Ca(),r)})(Y);class Na extends Lt{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}let Da=class extends Lt{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},Ma=class{constructor(e,t){this.logger=e,this.core=t}};class za extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}let Ua=class extends Lt{constructor(e){super()}};class $a{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}}class ja extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}class Ka extends Lt{constructor(e,t){super(),this.core=e,this.logger=t}}class Ba{constructor(e,t){this.projectId=e,this.logger=t}}let Tu=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},Ou=class{constructor(e){this.client=e}};var Br={},fs={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=fo,t=Wi;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var i=function(){function l(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return l.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},l.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},l.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},l.prototype.update=function(p,h){if(h===void 0&&(h=p.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var g=0;if(this._bytesHashed+=h,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=p[g++],h--;this._bufferLength===this.blockSize&&(a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(h>=this.blockSize&&(g=a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,p,g,h),h%=this.blockSize);h>0;)this._buffer[this._bufferLength++]=p[g++],h--;return this},l.prototype.finish=function(p){if(!this._finished){var h=this._bytesHashed,g=this._bufferLength,w=h/536870912|0,I=h<<3,R=h%128<112?128:256;this._buffer[g]=128;for(var x=g+1;x0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},l.prototype.restoreState=function(p){return this._stateHi.set(p.stateHi),this._stateLo.set(p.stateLo),this._bufferLength=p.bufferLength,p.buffer&&this._buffer.set(p.buffer),this._bytesHashed=p.bytesHashed,this._finished=!1,this},l.prototype.cleanSavedState=function(p){t.wipe(p.stateHi),t.wipe(p.stateLo),p.buffer&&t.wipe(p.buffer),p.bufferLength=0,p.bytesHashed=0},l}();r.SHA512=i;var n=new Int32Array([1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function a(l,p,h,g,w,I,R){for(var x=h[0],O=h[1],$=h[2],B=h[3],U=h[4],Q=h[5],oe=h[6],V=h[7],v=g[0],S=g[1],P=g[2],j=g[3],D=g[4],K=g[5],k=g[6],le=g[7],y,_,Z,ae,C,L,T,F;R>=128;){for(var me=0;me<16;me++){var ie=8*me+I;l[me]=e.readUint32BE(w,ie),p[me]=e.readUint32BE(w,ie+4)}for(var me=0;me<80;me++){var mt=x,H=O,Ge=$,b=B,m=U,d=Q,s=oe,u=V,N=v,M=S,W=P,ee=j,q=D,te=K,$e=k,Se=le;if(y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(U>>>14|D<<32-14)^(U>>>18|D<<32-18)^(D>>>41-32|U<<32-(41-32)),_=(D>>>14|U<<32-14)^(D>>>18|U<<32-18)^(U>>>41-32|D<<32-(41-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=U&Q^~U&oe,_=D&K^~D&k,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=n[me*2],_=n[me*2+1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=l[me%16],_=p[me%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,Z=T&65535|F<<16,ae=C&65535|L<<16,y=Z,_=ae,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(x>>>28|v<<32-28)^(v>>>34-32|x<<32-(34-32))^(v>>>39-32|x<<32-(39-32)),_=(v>>>28|x<<32-28)^(x>>>34-32|v<<32-(34-32))^(x>>>39-32|v<<32-(39-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=x&O^x&$^O&$,_=v&S^v&P^S&P,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,u=T&65535|F<<16,Se=C&65535|L<<16,y=b,_=ee,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=Z,_=ae,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,b=T&65535|F<<16,ee=C&65535|L<<16,O=mt,$=H,B=Ge,U=b,Q=m,oe=d,V=s,x=u,S=N,P=M,j=W,D=ee,K=q,k=te,le=$e,v=Se,me%16===15)for(var ie=0;ie<16;ie++)y=l[ie],_=p[ie],C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=l[(ie+9)%16],_=p[(ie+9)%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+1)%16],ae=p[(ie+1)%16],y=(Z>>>1|ae<<32-1)^(Z>>>8|ae<<32-8)^Z>>>7,_=(ae>>>1|Z<<32-1)^(ae>>>8|Z<<32-8)^(ae>>>7|Z<<32-7),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+14)%16],ae=p[(ie+14)%16],y=(Z>>>19|ae<<32-19)^(ae>>>61-32|Z<<32-(61-32))^Z>>>6,_=(ae>>>19|Z<<32-19)^(Z>>>61-32|ae<<32-(61-32))^(ae>>>6|Z<<32-6),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,l[ie]=T&65535|F<<16,p[ie]=C&65535|L<<16}y=x,_=v,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[0],_=g[0],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[0]=x=T&65535|F<<16,g[0]=v=C&65535|L<<16,y=O,_=S,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[1],_=g[1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[1]=O=T&65535|F<<16,g[1]=S=C&65535|L<<16,y=$,_=P,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[2],_=g[2],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[2]=$=T&65535|F<<16,g[2]=P=C&65535|L<<16,y=B,_=j,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[3],_=g[3],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[3]=B=T&65535|F<<16,g[3]=j=C&65535|L<<16,y=U,_=D,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[4],_=g[4],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[4]=U=T&65535|F<<16,g[4]=D=C&65535|L<<16,y=Q,_=K,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[5],_=g[5],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[5]=Q=T&65535|F<<16,g[5]=K=C&65535|L<<16,y=oe,_=k,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[6],_=g[6],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[6]=oe=T&65535|F<<16,g[6]=k=C&65535|L<<16,y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[7],_=g[7],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[7]=V=T&65535|F<<16,g[7]=le=C&65535|L<<16,I+=128,R-=128}return I}function c(l){var p=new i;p.update(l);var h=p.digest();return p.clean(),h}r.hash=c})(fs);(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=Ji,t=fs,i=Wi;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function n(b){const m=new Float64Array(16);if(b)for(let d=0;d>16&1),d[M-1]&=65535;d[15]=s[15]-32767-(d[14]>>16&1);const N=d[15]>>16&1;d[14]&=65535,O(s,d,1-N)}for(let u=0;u<16;u++)b[2*u]=s[u]&255,b[2*u+1]=s[u]>>8}function B(b,m){let d=0;for(let s=0;s<32;s++)d|=b[s]^m[s];return(1&d-1>>>8)-1}function U(b,m){const d=new Uint8Array(32),s=new Uint8Array(32);return $(d,b),$(s,m),B(d,s)}function Q(b){const m=new Uint8Array(32);return $(m,b),m[0]&1}function oe(b,m){for(let d=0;d<16;d++)b[d]=m[2*d]+(m[2*d+1]<<8);b[15]&=32767}function V(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]+d[s]}function v(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]-d[s]}function S(b,m,d){let s,u,N=0,M=0,W=0,ee=0,q=0,te=0,$e=0,Se=0,je=0,Oe=0,Te=0,be=0,ye=0,fe=0,he=0,re=0,ve=0,Le=0,se=0,He=0,Ve=0,Xe=0,Qe=0,We=0,nt=0,ct=0,bt=0,Ze=0,Et=0,Mt=0,Wt=0,we=d[0],de=d[1],_e=d[2],Ee=d[3],xe=d[4],ge=d[5],Pe=d[6],Ae=d[7],Fe=d[8],Ce=d[9],Ne=d[10],Re=d[11],Ie=d[12],ce=d[13],De=d[14],Me=d[15];s=m[0],N+=s*we,M+=s*de,W+=s*_e,ee+=s*Ee,q+=s*xe,te+=s*ge,$e+=s*Pe,Se+=s*Ae,je+=s*Fe,Oe+=s*Ce,Te+=s*Ne,be+=s*Re,ye+=s*Ie,fe+=s*ce,he+=s*De,re+=s*Me,s=m[1],M+=s*we,W+=s*de,ee+=s*_e,q+=s*Ee,te+=s*xe,$e+=s*ge,Se+=s*Pe,je+=s*Ae,Oe+=s*Fe,Te+=s*Ce,be+=s*Ne,ye+=s*Re,fe+=s*Ie,he+=s*ce,re+=s*De,ve+=s*Me,s=m[2],W+=s*we,ee+=s*de,q+=s*_e,te+=s*Ee,$e+=s*xe,Se+=s*ge,je+=s*Pe,Oe+=s*Ae,Te+=s*Fe,be+=s*Ce,ye+=s*Ne,fe+=s*Re,he+=s*Ie,re+=s*ce,ve+=s*De,Le+=s*Me,s=m[3],ee+=s*we,q+=s*de,te+=s*_e,$e+=s*Ee,Se+=s*xe,je+=s*ge,Oe+=s*Pe,Te+=s*Ae,be+=s*Fe,ye+=s*Ce,fe+=s*Ne,he+=s*Re,re+=s*Ie,ve+=s*ce,Le+=s*De,se+=s*Me,s=m[4],q+=s*we,te+=s*de,$e+=s*_e,Se+=s*Ee,je+=s*xe,Oe+=s*ge,Te+=s*Pe,be+=s*Ae,ye+=s*Fe,fe+=s*Ce,he+=s*Ne,re+=s*Re,ve+=s*Ie,Le+=s*ce,se+=s*De,He+=s*Me,s=m[5],te+=s*we,$e+=s*de,Se+=s*_e,je+=s*Ee,Oe+=s*xe,Te+=s*ge,be+=s*Pe,ye+=s*Ae,fe+=s*Fe,he+=s*Ce,re+=s*Ne,ve+=s*Re,Le+=s*Ie,se+=s*ce,He+=s*De,Ve+=s*Me,s=m[6],$e+=s*we,Se+=s*de,je+=s*_e,Oe+=s*Ee,Te+=s*xe,be+=s*ge,ye+=s*Pe,fe+=s*Ae,he+=s*Fe,re+=s*Ce,ve+=s*Ne,Le+=s*Re,se+=s*Ie,He+=s*ce,Ve+=s*De,Xe+=s*Me,s=m[7],Se+=s*we,je+=s*de,Oe+=s*_e,Te+=s*Ee,be+=s*xe,ye+=s*ge,fe+=s*Pe,he+=s*Ae,re+=s*Fe,ve+=s*Ce,Le+=s*Ne,se+=s*Re,He+=s*Ie,Ve+=s*ce,Xe+=s*De,Qe+=s*Me,s=m[8],je+=s*we,Oe+=s*de,Te+=s*_e,be+=s*Ee,ye+=s*xe,fe+=s*ge,he+=s*Pe,re+=s*Ae,ve+=s*Fe,Le+=s*Ce,se+=s*Ne,He+=s*Re,Ve+=s*Ie,Xe+=s*ce,Qe+=s*De,We+=s*Me,s=m[9],Oe+=s*we,Te+=s*de,be+=s*_e,ye+=s*Ee,fe+=s*xe,he+=s*ge,re+=s*Pe,ve+=s*Ae,Le+=s*Fe,se+=s*Ce,He+=s*Ne,Ve+=s*Re,Xe+=s*Ie,Qe+=s*ce,We+=s*De,nt+=s*Me,s=m[10],Te+=s*we,be+=s*de,ye+=s*_e,fe+=s*Ee,he+=s*xe,re+=s*ge,ve+=s*Pe,Le+=s*Ae,se+=s*Fe,He+=s*Ce,Ve+=s*Ne,Xe+=s*Re,Qe+=s*Ie,We+=s*ce,nt+=s*De,ct+=s*Me,s=m[11],be+=s*we,ye+=s*de,fe+=s*_e,he+=s*Ee,re+=s*xe,ve+=s*ge,Le+=s*Pe,se+=s*Ae,He+=s*Fe,Ve+=s*Ce,Xe+=s*Ne,Qe+=s*Re,We+=s*Ie,nt+=s*ce,ct+=s*De,bt+=s*Me,s=m[12],ye+=s*we,fe+=s*de,he+=s*_e,re+=s*Ee,ve+=s*xe,Le+=s*ge,se+=s*Pe,He+=s*Ae,Ve+=s*Fe,Xe+=s*Ce,Qe+=s*Ne,We+=s*Re,nt+=s*Ie,ct+=s*ce,bt+=s*De,Ze+=s*Me,s=m[13],fe+=s*we,he+=s*de,re+=s*_e,ve+=s*Ee,Le+=s*xe,se+=s*ge,He+=s*Pe,Ve+=s*Ae,Xe+=s*Fe,Qe+=s*Ce,We+=s*Ne,nt+=s*Re,ct+=s*Ie,bt+=s*ce,Ze+=s*De,Et+=s*Me,s=m[14],he+=s*we,re+=s*de,ve+=s*_e,Le+=s*Ee,se+=s*xe,He+=s*ge,Ve+=s*Pe,Xe+=s*Ae,Qe+=s*Fe,We+=s*Ce,nt+=s*Ne,ct+=s*Re,bt+=s*Ie,Ze+=s*ce,Et+=s*De,Mt+=s*Me,s=m[15],re+=s*we,ve+=s*de,Le+=s*_e,se+=s*Ee,He+=s*xe,Ve+=s*ge,Xe+=s*Pe,Qe+=s*Ae,We+=s*Fe,nt+=s*Ce,ct+=s*Ne,bt+=s*Re,Ze+=s*Ie,Et+=s*ce,Mt+=s*De,Wt+=s*Me,N+=38*ve,M+=38*Le,W+=38*se,ee+=38*He,q+=38*Ve,te+=38*Xe,$e+=38*Qe,Se+=38*We,je+=38*nt,Oe+=38*ct,Te+=38*bt,be+=38*Ze,ye+=38*Et,fe+=38*Mt,he+=38*Wt,u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),b[0]=N,b[1]=M,b[2]=W,b[3]=ee,b[4]=q,b[5]=te,b[6]=$e,b[7]=Se,b[8]=je,b[9]=Oe,b[10]=Te,b[11]=be,b[12]=ye,b[13]=fe,b[14]=he,b[15]=re}function P(b,m){S(b,m,m)}function j(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=253;s>=0;s--)P(d,d),s!==2&&s!==4&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function D(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=250;s>=0;s--)P(d,d),s!==1&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function K(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n(),q=n(),te=n();v(d,b[1],b[0]),v(te,m[1],m[0]),S(d,d,te),V(s,b[0],b[1]),V(te,m[0],m[1]),S(s,s,te),S(u,b[3],m[3]),S(u,u,h),S(N,b[2],m[2]),V(N,N,N),v(M,s,d),v(W,N,u),V(ee,N,u),V(q,s,d),S(b[0],M,W),S(b[1],q,ee),S(b[2],ee,W),S(b[3],M,q)}function k(b,m,d){for(let s=0;s<4;s++)O(b[s],m[s],d)}function le(b,m){const d=n(),s=n(),u=n();j(u,m[2]),S(d,m[0],u),S(s,m[1],u),$(b,s),b[31]^=Q(d)<<7}function y(b,m,d){R(b[0],c),R(b[1],l),R(b[2],l),R(b[3],c);for(let s=255;s>=0;--s){const u=d[s/8|0]>>(s&7)&1;k(b,m,u),K(m,b),K(b,b),k(b,m,u)}}function _(b,m){const d=[n(),n(),n(),n()];R(d[0],g),R(d[1],w),R(d[2],l),S(d[3],g,w),y(b,d,m)}function Z(b){if(b.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const m=(0,t.hash)(b);m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(32),s=[n(),n(),n(),n()];_(s,m),le(d,s);const u=new Uint8Array(64);return u.set(b),u.set(d,32),{publicKey:d,secretKey:u}}r.generateKeyPairFromSeed=Z;function ae(b){const m=(0,e.randomBytes)(32,b),d=Z(m);return(0,i.wipe)(m),d}r.generateKeyPair=ae;function C(b){if(b.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(b.subarray(32))}r.extractPublicKeyFromSecretKey=C;const L=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function T(b,m){let d,s,u,N;for(s=63;s>=32;--s){for(d=0,u=s-32,N=s-12;u>4)*L[u],d=m[u]>>8,m[u]&=255;for(u=0;u<32;u++)m[u]-=d*L[u];for(s=0;s<32;s++)m[s+1]+=m[s]>>8,b[s]=m[s]&255}function F(b){const m=new Float64Array(64);for(let d=0;d<64;d++)m[d]=b[d];for(let d=0;d<64;d++)b[d]=0;T(b,m)}function me(b,m){const d=new Float64Array(64),s=[n(),n(),n(),n()],u=(0,t.hash)(b.subarray(0,32));u[0]&=248,u[31]&=127,u[31]|=64;const N=new Uint8Array(64);N.set(u.subarray(32),32);const M=new t.SHA512;M.update(N.subarray(32)),M.update(m);const W=M.digest();M.clean(),F(W),_(s,W),le(N,s),M.reset(),M.update(N.subarray(0,32)),M.update(b.subarray(32)),M.update(m);const ee=M.digest();F(ee);for(let q=0;q<32;q++)d[q]=W[q];for(let q=0;q<32;q++)for(let te=0;te<32;te++)d[q+te]+=ee[q]*u[te];return T(N.subarray(32),d),N}r.sign=me;function ie(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n();return R(b[2],l),oe(b[1],m),P(u,b[1]),S(N,u,p),v(u,u,b[2]),V(N,b[2],N),P(M,N),P(W,M),S(ee,W,M),S(d,ee,u),S(d,d,N),D(d,d),S(d,d,u),S(d,d,N),S(d,d,N),S(b[0],d,N),P(s,b[0]),S(s,s,N),U(s,u)&&S(b[0],b[0],I),P(s,b[0]),S(s,s,N),U(s,u)?-1:(Q(b[0])===m[31]>>7&&v(b[0],c,b[0]),S(b[3],b[0],b[1]),0)}function mt(b,m,d){const s=new Uint8Array(32),u=[n(),n(),n(),n()],N=[n(),n(),n(),n()];if(d.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(ie(N,b))return!1;const M=new t.SHA512;M.update(d.subarray(0,32)),M.update(b),M.update(m);const W=M.digest();return F(W),y(u,N,W),_(N,d.subarray(32)),K(u,N),le(s,u),!B(d,s)}r.verify=mt;function H(b){let m=[n(),n(),n(),n()];if(ie(m,b))throw new Error("Ed25519: invalid public key");let d=n(),s=n(),u=m[1];V(d,l,u),v(s,l,u),j(s,s),S(d,d,s);let N=new Uint8Array(32);return $(N,d),N}r.convertPublicKeyToX25519=H;function Ge(b){const m=(0,t.hash)(b.subarray(0,32));m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(m.subarray(0,32));return(0,i.wipe)(m),d}r.convertSecretKeyToX25519=Ge})(Br);const Ha="EdDSA",ka="JWT",ds=".",gs="base64url",Ga="utf8",Va="utf8",qa=":",Ya="did",Wa="key",Ii="base58btc",Ja="z",Xa="K36",Qa=32;function ur(r){return dr(jr(qt(r),Ga),gs)}function ps(r){const e=jr(Xa,Ii),t=Ja+dr(go([e,r]),Ii);return[Ya,Wa,t].join(qa)}function Za(r){return dr(r,gs)}function ec(r){return jr([ur(r.header),ur(r.payload)].join(ds),Va)}function tc(r){return[ur(r.header),ur(r.payload),Za(r.signature)].join(ds)}function Si(r=Ji.randomBytes(Qa)){return Br.generateKeyPairFromSeed(r)}async function rc(r,e,t,i,n=G.fromMiliseconds(Date.now())){const a={alg:Ha,typ:ka},c=ps(i.publicKey),l=n+t,p={iss:c,sub:r,aud:e,iat:n,exp:l},h=ec({header:a,payload:p}),g=Br.sign(i.secretKey,h);return tc({header:a,payload:p,signature:g})}const ic="PARSE_ERROR",sc="INVALID_REQUEST",nc="METHOD_NOT_FOUND",oc="INVALID_PARAMS",ys="INTERNAL_ERROR",Hr="SERVER_ERROR",ac=[-32700,-32600,-32601,-32602,-32603],kt={[ic]:{code:-32700,message:"Parse error"},[sc]:{code:-32600,message:"Invalid Request"},[nc]:{code:-32601,message:"Method not found"},[oc]:{code:-32602,message:"Invalid params"},[ys]:{code:-32603,message:"Internal error"},[Hr]:{code:-32e3,message:"Server error"}},ms=Hr;function cc(r){return ac.includes(r)}function Ti(r){return Object.keys(kt).includes(r)?kt[r]:kt[ms]}function hc(r){const e=Object.values(kt).find(t=>t.code===r);return e||kt[ms]}function uc(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var bs={},gt={},Ri;function lc(){if(Ri)return gt;Ri=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.isBrowserCryptoAvailable=gt.getSubtleCrypto=gt.getBrowerCrypto=void 0;function r(){return(ut===null||ut===void 0?void 0:ut.crypto)||(ut===null||ut===void 0?void 0:ut.msCrypto)||{}}gt.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}gt.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return gt.isBrowserCryptoAvailable=t,gt}var pt={},Oi;function fc(){if(Oi)return pt;Oi=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.isBrowser=pt.isNode=pt.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}pt.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}pt.isNode=e;function t(){return!r()&&!e()}return pt.isBrowser=t,pt}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(lc(),r),e.__exportStar(fc(),r)})(bs);function vs(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function ws(r=6){return BigInt(vs(r))}function kr(r,e,t){return{id:t||vs(),jsonrpc:"2.0",method:r,params:e}}function _s(r,e){return{id:r,jsonrpc:"2.0",result:e}}function Es(r,e,t){return{id:r,jsonrpc:"2.0",error:dc(e,t)}}function dc(r,e){return typeof r>"u"?Ti(ys):(typeof r=="string"&&(r=Object.assign(Object.assign({},Ti(Hr)),{message:r})),typeof e<"u"&&(r.data=e),cc(r.code)&&(r=hc(r.code)),r)}class gc{}class pc extends gc{constructor(){super()}}class yc extends pc{constructor(e){super()}}const mc="^wss?:";function bc(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function vc(r,e){const t=bc(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function Li(r){return vc(r,mc)}function wc(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function xs(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Is(r){return xs(r)&&"method"in r}function Gr(r){return xs(r)&&(Ss(r)||yr(r))}function Ss(r){return"result"in r}function yr(r){return"error"in r}class _c extends yc{constructor(e){super(e),this.events=new lt.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict(kr(e.method,e.params||[],e.id||ws().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(a){n(a)}this.events.on(`${e.id}`,a=>{yr(a)?n(a.error):i(a.result)});try{await this.connection.send(e,t)}catch(a){n(a)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Gr(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const Ec=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),xc=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",Pi=r=>r.split("?")[0],Ai=10,Ic=Ec();class Sc{constructor(e){if(this.url=e,this.events=new lt.EventEmitter,this.registering=!1,!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(qt(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,n)=>{this.events.once("register_error",a=>{this.resetMaxListeners(),n(a)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return n(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,i)=>{const n=new URLSearchParams(e).get("origin"),a=bs.isReactNative()?{headers:{origin:n}}:{rejectUnauthorized:!wc(e)},c=new Ic(e,[],a);xc()?c.onerror=l=>{const p=l;i(this.emitError(p.error))}:c.on("error",l=>{i(this.emitError(l))}),c.onopen=()=>{this.onOpen(c),t(c)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?pr(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=Es(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return uc(e,Pi(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>Ai&&this.events.setMaxListeners(Ai)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${Pi(this.url)}`));return this.events.emit("register_error",t),t}}var lr={exports:{}};lr.exports;(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,a=2,c=9007199254740991,l="[object Arguments]",p="[object Array]",h="[object AsyncFunction]",g="[object Boolean]",w="[object Date]",I="[object Error]",R="[object Function]",x="[object GeneratorFunction]",O="[object Map]",$="[object Number]",B="[object Null]",U="[object Object]",Q="[object Promise]",oe="[object Proxy]",V="[object RegExp]",v="[object Set]",S="[object String]",P="[object Symbol]",j="[object Undefined]",D="[object WeakMap]",K="[object ArrayBuffer]",k="[object DataView]",le="[object Float32Array]",y="[object Float64Array]",_="[object Int8Array]",Z="[object Int16Array]",ae="[object Int32Array]",C="[object Uint8Array]",L="[object Uint8ClampedArray]",T="[object Uint16Array]",F="[object Uint32Array]",me=/[\\^$.*+?()[\]{}|]/g,ie=/^\[object .+?Constructor\]$/,mt=/^(?:0|[1-9]\d*)$/,H={};H[le]=H[y]=H[_]=H[Z]=H[ae]=H[C]=H[L]=H[T]=H[F]=!0,H[l]=H[p]=H[K]=H[g]=H[k]=H[w]=H[I]=H[R]=H[O]=H[$]=H[U]=H[V]=H[v]=H[S]=H[D]=!1;var Ge=typeof ut=="object"&&ut&&ut.Object===Object&&ut,b=typeof self=="object"&&self&&self.Object===Object&&self,m=Ge||b||Function("return this")(),d=e&&!e.nodeType&&e,s=d&&!0&&r&&!r.nodeType&&r,u=s&&s.exports===d,N=u&&Ge.process,M=function(){try{return N&&N.binding&&N.binding("util")}catch{}}(),W=M&&M.isTypedArray;function ee(o,f){for(var E=-1,A=o==null?0:o.length,ne=0,z=[];++E-1}function An(o,f){var E=this.__data__,A=Xt(E,o);return A<0?(++this.size,E.push([o,f])):E[A][1]=f,this}ft.prototype.clear=Rn,ft.prototype.delete=On,ft.prototype.get=Ln,ft.prototype.has=Pn,ft.prototype.set=An;function xt(o){var f=-1,E=o==null?0:o.length;for(this.clear();++fze))return!1;var ue=z.get(o);if(ue&&z.get(f))return ue==f;var et=-1,ot=!0,ke=E&a?new Jt:void 0;for(z.set(o,f),z.set(f,o);++et-1&&o%1==0&&o-1&&o%1==0&&o<=c}function ti(o){var f=typeof o;return o!=null&&(f=="object"||f=="function")}function Ut(o){return o!=null&&typeof o=="object"}var ri=W?Se(W):Yn;function co(o){return oo(o)?kn(o):Wn(o)}function ho(){return[]}function uo(){return!1}r.exports=ao})(lr,lr.exports);var Tc=lr.exports;const Rc=Yi(Tc);function Oc(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i>>0,oe=new Uint8Array(Q);B!==U;){for(var V=x[B],v=0,S=Q-1;(V!==0||v<$)&&S!==-1;S--,v++)V+=256*oe[S]>>>0,oe[S]=V%l>>>0,V=V/l>>>0;if(V!==0)throw new Error("Non-zero carry");$=v,B++}for(var P=Q-$;P!==Q&&oe[P]===0;)P++;for(var j=p.repeat(O);P>>0,Q=new Uint8Array(U);x[O];){var oe=t[x.charCodeAt(O)];if(oe===255)return;for(var V=0,v=U-1;(oe!==0||V>>0,Q[v]=oe%256>>>0,oe=oe/256>>>0;if(oe!==0)throw new Error("Non-zero carry");B=V,O++}if(x[O]!==" "){for(var S=U-B;S!==U&&Q[S]===0;)S++;for(var P=new Uint8Array($+(U-S)),j=$;S!==U;)P[j++]=Q[S++];return P}}}function R(x){var O=I(x);if(O)return O;throw new Error(`Non-${e} character`)}return{encode:w,decodeUnsafe:I,decode:R}}var Lc=Oc,Pc=Lc;const Ts=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},Ac=r=>new TextEncoder().encode(r),Fc=r=>new TextDecoder().decode(r);class Cc{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Nc{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rs(this,e)}}class Dc{constructor(e){this.decoders=e}or(e){return Rs(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Rs=(r,e)=>new Dc({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class Mc{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new Cc(e,t,i),this.decoder=new Nc(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const mr=({name:r,prefix:e,encode:t,decode:i})=>new Mc(r,e,t,i),Yt=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=Pc(t,e);return mr({prefix:r,name:e,encode:i,decode:a=>Ts(n(a))})},zc=(r,e,t,i)=>{const n={};for(let g=0;g=8&&(l-=8,c[h++]=255&p>>l)}if(l>=t||255&p<<8-l)throw new SyntaxError("Unexpected end of data");return c},Uc=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<t;)c-=t,a+=e[n&l>>c];if(c&&(a+=e[n&l<mr({prefix:e,name:r,encode(n){return Uc(n,i,t)},decode(n){return zc(n,i,t,r)}}),$c=mr({prefix:"\0",name:"identity",encode:r=>Fc(r),decode:r=>Ac(r)});var jc=Object.freeze({__proto__:null,identity:$c});const Kc=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Bc=Object.freeze({__proto__:null,base2:Kc});const Hc=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var kc=Object.freeze({__proto__:null,base8:Hc});const Gc=Yt({prefix:"9",name:"base10",alphabet:"0123456789"});var Vc=Object.freeze({__proto__:null,base10:Gc});const qc=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Yc=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wc=Object.freeze({__proto__:null,base16:qc,base16upper:Yc});const Jc=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xc=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qc=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zc=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eh=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),th=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rh=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ih=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sh=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nh=Object.freeze({__proto__:null,base32:Jc,base32upper:Xc,base32pad:Qc,base32padupper:Zc,base32hex:eh,base32hexupper:th,base32hexpad:rh,base32hexpadupper:ih,base32z:sh});const oh=Yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ah=Yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ch=Object.freeze({__proto__:null,base36:oh,base36upper:ah});const hh=Yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),uh=Yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lh=Object.freeze({__proto__:null,base58btc:hh,base58flickr:uh});const fh=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),dh=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gh=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ph=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var yh=Object.freeze({__proto__:null,base64:fh,base64pad:dh,base64url:gh,base64urlpad:ph});const Os=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),mh=Os.reduce((r,e,t)=>(r[t]=e,r),[]),bh=Os.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vh(r){return r.reduce((e,t)=>(e+=mh[t],e),"")}function wh(r){const e=[];for(const t of r){const i=bh[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const _h=mr({prefix:"🚀",name:"base256emoji",encode:vh,decode:wh});var Eh=Object.freeze({__proto__:null,base256emoji:_h}),xh=Ls,Fi=128,Ih=127,Sh=~Ih,Th=Math.pow(2,31);function Ls(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Th;)e[t++]=r&255|Fi,r/=128;for(;r&Sh;)e[t++]=r&255|Fi,r>>>=7;return e[t]=r|0,Ls.bytes=t-i+1,e}var Rh=Mr,Oh=128,Ci=127;function Mr(r,i){var t=0,i=i||0,n=0,a=i,c,l=r.length;do{if(a>=l)throw Mr.bytes=0,new RangeError("Could not decode varint");c=r[a++],t+=n<28?(c&Ci)<=Oh);return Mr.bytes=a-i,t}var Lh=Math.pow(2,7),Ph=Math.pow(2,14),Ah=Math.pow(2,21),Fh=Math.pow(2,28),Ch=Math.pow(2,35),Nh=Math.pow(2,42),Dh=Math.pow(2,49),Mh=Math.pow(2,56),zh=Math.pow(2,63),Uh=function(r){return r(Ps.encode(r,e,t),e),Di=r=>Ps.encodingLength(r),zr=(r,e)=>{const t=e.byteLength,i=Di(r),n=i+Di(t),a=new Uint8Array(n+t);return Ni(r,a,0),Ni(t,a,i),a.set(e,n),new jh(r,t,e,a)};class jh{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const As=({name:r,code:e,encode:t})=>new Kh(r,e,t);class Kh{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?zr(this.code,t):t.then(i=>zr(this.code,i))}else throw Error("Unknown type, must be binary type")}}const Fs=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Bh=As({name:"sha2-256",code:18,encode:Fs("SHA-256")}),Hh=As({name:"sha2-512",code:19,encode:Fs("SHA-512")});var kh=Object.freeze({__proto__:null,sha256:Bh,sha512:Hh});const Cs=0,Gh="identity",Ns=Ts,Vh=r=>zr(Cs,Ns(r)),qh={code:Cs,name:Gh,encode:Ns,digest:Vh};var Yh=Object.freeze({__proto__:null,identity:qh});new TextEncoder,new TextDecoder;const Mi={...jc,...Bc,...kc,...Vc,...Wc,...nh,...ch,...lh,...yh,...Eh};({...kh,...Yh});function Ds(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Wh(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Ds(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Ms(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const zi=Ms("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Lr=Ms("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=Wh(r.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,n)=>{this.isInitialized(),this.keychain.set(i,n),await this.persist()},this.get=i=>{this.isInitialized();const n=this.keychain.get(i);if(typeof n>"u"){const{message:a}=J("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(a)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class pn{constructor(e,t,i){this.core=e,this.logger=t,this.name=js,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=n=>(this.isInitialized(),this.keychain.has(n)),this.getClientId=async()=>{this.isInitialized();const n=await this.getClientSeed(),a=Si(n);return ps(a.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=po();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const a=await this.getClientSeed(),c=Si(a),l=Ar();return await rc(l,n,Ks,c)},this.generateSharedKey=(n,a,c)=>{this.isInitialized();const l=this.getPrivateKey(n),p=yo(l,a);return this.setSymKey(p,c)},this.setSymKey=async(n,a)=>{this.isInitialized();const c=a||mo(n);return await this.keychain.set(c,n),c},this.deleteKeyPair=async n=>{this.isInitialized(),await this.keychain.del(n)},this.deleteSymKey=async n=>{this.isInitialized(),await this.keychain.del(n)},this.encode=async(n,a,c)=>{this.isInitialized();const l=bo(c),p=qt(a);if(si(l)){const I=l.senderPublicKey,R=l.receiverPublicKey;n=await this.generateSharedKey(I,R)}const h=this.getSymKey(n),{type:g,senderPublicKey:w}=l;return vo({type:g,symKey:h,message:p,senderPublicKey:w})},this.decode=async(n,a,c)=>{this.isInitialized();const l=wo(a,c);if(si(l)){const p=l.receiverPublicKey,h=l.senderPublicKey;n=await this.generateSharedKey(p,h)}try{const p=this.getSymKey(n),h=_o({symKey:p,encoded:a});return pr(h)}catch(p){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(p)}},this.getPayloadType=n=>{const a=ni(n);return Eo(a.type)},this.getPayloadSenderPublicKey=n=>{const a=ni(n);return a.senderPublicKey?dr(a.senderPublicKey,jo):void 0},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.keychain=i||new gn(this.core,this.logger)}get context(){return Y.getLoggerContext(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(Ur)}catch{e=Ar(),await this.keychain.set(Ur,e)}return Xh(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class yn extends Ma{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=ks,this.version=Gs,this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,n)=>{this.isInitialized();const a=Fr(n);let c=this.messages.get(i);return typeof c>"u"&&(c={}),typeof c[a]<"u"||(c[a]=n,this.messages.set(i,c),await this.persist()),a},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const a=this.get(i),c=Fr(n);return typeof a[c]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Y.generateChildLogger(e,this.name),this.core=t}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class ru extends za{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new lt.EventEmitter,this.name=qs,this.queue=new Map,this.publishTimeout=G.toMiliseconds(G.TEN_SECONDS),this.needsTransportRestart=!1,this.publish=async(i,n,a)=>{var c;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}});try{const l=(a==null?void 0:a.ttl)||Vs,p=Cr(a),h=(a==null?void 0:a.prompt)||!1,g=(a==null?void 0:a.tag)||0,w=(a==null?void 0:a.id)||ws().toString(),I={topic:i,message:n,opts:{ttl:l,relay:p,prompt:h,tag:g,id:w}},R=setTimeout(()=>this.queue.set(w,I),this.publishTimeout);try{await await Gt(this.rpcPublish(i,n,l,p,h,g,w),this.publishTimeout,"Failed to publish payload, please try again."),this.removeRequestFromQueue(w),this.relayer.events.emit(Ye.publish,I)}catch(x){if(this.logger.debug("Publishing Payload stalled"),this.needsTransportRestart=!0,(c=a==null?void 0:a.internal)!=null&&c.throwOnFailedPublish)throw this.removeRequestFromQueue(w),x;return}finally{clearTimeout(R)}this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}})}catch(l){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(l),l}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.registerEventListeners()}get context(){return Y.getLoggerContext(this.logger)}rpcPublish(e,t,i,n,a,c,l){var p,h,g,w;const I={method:sr(n.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:a,tag:c},id:l};return Nr((p=I.params)==null?void 0:p.prompt)&&((h=I.params)==null||delete h.prompt),Nr((g=I.params)==null?void 0:g.tag)&&((w=I.params)==null||delete w.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I}),this.relayer.request(I)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:n}=e;await this.publish(t,i,n)})}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Ye.connection_stalled);return}this.checkQueue()}),this.relayer.on(Ye.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class iu{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const n=i.filter(a=>a!==t);if(!n.length){this.map.delete(e);return}this.map.set(e,n)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var su=Object.defineProperty,nu=Object.defineProperties,ou=Object.getOwnPropertyDescriptors,Ui=Object.getOwnPropertySymbols,au=Object.prototype.hasOwnProperty,cu=Object.prototype.propertyIsEnumerable,$i=(r,e,t)=>e in r?su(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Kt=(r,e)=>{for(var t in e||(e={}))au.call(e,t)&&$i(r,t,e[t]);if(Ui)for(var t of Ui(e))cu.call(e,t)&&$i(r,t,e[t]);return r},Pr=(r,e)=>nu(r,ou(e));class mn extends ja{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new iu,this.events=new lt.EventEmitter,this.name=sn,this.version=nn,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=yt,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const a=Cr(n),c={topic:i,relay:a};this.pending.set(i,c);const l=await this.rpcSubscribe(i,a);return this.onSubscribe(l,c),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}}),l}catch(a){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(a),a}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof(n==null?void 0:n.id)<"u"?await this.unsubscribeById(i,n.id,n):await this.unsubscribeByTopic(i,n)},this.isSubscribed=async i=>this.topics.includes(i)?!0:await new Promise((n,a)=>{const c=new G.Watch;c.start(this.pendingSubscriptionWatchLabel);const l=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),n(!0)),c.elapsed(this.pendingSubscriptionWatchLabel)>=on&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),a(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.clientId=""}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const n=Cr(i);await this.rpcUnsubscribe(e,t,n);const a=Bt("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,a),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,t){const i={method:sr(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}return Fr(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:sr(t.protocol).batchSubscribe,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{return await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}}rpcUnsubscribe(e,t,i){const n={method:sr(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,t){this.setSubscription(e,Pr(Kt({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,Kt({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.subscriptions.has(e)||(this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t))}addSubscription(e,t){this.subscriptions.set(e,Kt({},t)),this.topicMap.set(t.topic,e),this.events.emit(st.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(st.deleted,Pr(Kt({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(st.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);xo(t)&&this.onBatchSubscribe(t.map((i,n)=>Pr(Kt({},e[n]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(Ye.connect,async()=>{await this.onConnect()}),this.relayer.on(Ye.disconnect,()=>{this.onDisconnect()}),this.events.on(st.created,async e=>{const t=st.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(st.deleted,async e=>{const t=st.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var hu=Object.defineProperty,ji=Object.getOwnPropertySymbols,uu=Object.prototype.hasOwnProperty,lu=Object.prototype.propertyIsEnumerable,Ki=(r,e,t)=>e in r?hu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fu=(r,e)=>{for(var t in e||(e={}))uu.call(e,t)&&Ki(r,t,e[t]);if(ji)for(var t of ji(e))lu.call(e,t)&&Ki(r,t,e[t]);return r};class bn extends Ua{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new lt.EventEmitter,this.name=Js,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.hasExperiencedNetworkDisruption=!1,this.request=async t=>{this.logger.debug("Publishing Request Payload");try{return await this.toEstablishConnection(),await this.provider.request(t)}catch(i){throw this.logger.debug("Failed to Publish Request"),this.logger.error(i),i}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(Ye.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(Ye.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(ht.payload,this.onPayloadHandler),this.provider.on(ht.connect,this.onConnectHandler),this.provider.on(ht.disconnect,this.onDisconnectHandler),this.provider.on(ht.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Y.generateChildLogger(e.logger,this.name):Y.pino(Y.getDefaultLoggerOptions({level:e.logger||Ws})),this.messages=new yn(this.logger,e.core),this.subscriber=new mn(this,this.logger),this.publisher=new ru(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.projectId=e.projectId,this.bundleId=Io(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${$r}...`),await this.restartTransport($r)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},en)}get context(){return Y.getLoggerContext(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let n=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"";if(n)return n;let a;const c=l=>{l.topic===e&&(this.subscriber.off(st.created,c),a())};return await Promise.all([new Promise(l=>{a=l,this.subscriber.on(st.created,c)}),new Promise(async l=>{n=await this.subscriber.subscribe(e,t),l()})]),n}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportClose(){this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await Gt(this.provider.disconnect(),1e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(st.resubscribed,()=>{t()})}),new Promise(async(t,i)=>{try{await Gt(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(n){i(n);return}t()})])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.provider.events.emit(ht.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await oi())throw new Error("No internet connection detected. Please restart your network and try again.")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _c(new Sc(So({sdkVersion:Zs,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.debug(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Is(e)){if(!e.method.endsWith(Xs))return;const t=e.params,{topic:i,message:n,publishedAt:a}=t.data,c={topic:i,message:n,publishedAt:a};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(fu({type:"event",event:t.id},c)),this.events.emit(t.id,c),await this.acknowledgePayload(e),await this.onMessageEvent(c)}else Gr(e)&&this.events.emit(Ye.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Ye.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=_s(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(ht.payload,this.onPayloadHandler),this.provider.off(ht.connect,this.onConnectHandler),this.provider.off(ht.disconnect,this.onDisconnectHandler),this.provider.off(ht.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(Ye.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await oi();To(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(i=>this.logger.error(i))))})}onProviderDisconnect(){this.events.emit(Ye.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info("attemptToReconnect called. Connecting..."),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},G.toMiliseconds(Qs)))}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var du=Object.defineProperty,Bi=Object.getOwnPropertySymbols,gu=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,Hi=(r,e,t)=>e in r?du(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ki=(r,e)=>{for(var t in e||(e={}))gu.call(e,t)&&Hi(r,t,e[t]);if(Bi)for(var t of Bi(e))pu.call(e,t)&&Hi(r,t,e[t]);return r};class vn extends $a{constructor(e,t,i,n=yt,a=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=tn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(c=>{this.getKey&&c!==null&&!Nr(c)?this.map.set(this.getKey(c),c):Ro(c)?this.map.set(c.id,c):Oo(c)&&this.map.set(c.topic,c)}),this.cached=[],this.initialized=!0)},this.set=async(c,l)=>{this.isInitialized(),this.map.has(c)?await this.update(c,l):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:c,value:l}),this.map.set(c,l),await this.persist())},this.get=c=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:c}),this.getData(c)),this.getAll=c=>(this.isInitialized(),c?this.values.filter(l=>Object.keys(c).every(p=>Rc(l[p],c[p]))):this.values),this.update=async(c,l)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:c,update:l});const p=ki(ki({},this.getData(c)),l);this.map.set(c,p),await this.persist()},this.delete=async(c,l)=>{this.isInitialized(),this.map.has(c)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:c,reason:l}),this.map.delete(c),await this.persist())},this.logger=Y.generateChildLogger(t,this.name),this.storagePrefix=n,this.getKey=a}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class wn{constructor(e,t){this.core=e,this.logger=t,this.name=an,this.version=cn,this.events=new qo,this.initialized=!1,this.storagePrefix=yt,this.ignoredPayloadTypes=[Lo],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=Ar(),n=await this.core.crypto.setSymKey(i),a=nr(G.FIVE_MINUTES),c={protocol:Ys},l={topic:n,expiry:a,relay:c,active:!1},p=Po({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:c});return await this.pairings.set(n,l),await this.core.relayer.subscribe(n),this.core.expirer.set(n,a),{topic:n,uri:p}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:n,symKey:a,relay:c}=ai(i.uri);let l;if(this.pairings.keys.includes(n)&&(l=this.pairings.get(n),l.active))throw new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);const p=nr(G.FIVE_MINUTES),h={topic:n,relay:c,expiry:p,active:!1};return await this.pairings.set(n,h),this.core.expirer.set(n,p),i.activatePairing&&await this.activate({topic:n}),this.events.emit(Ht.create,h),this.core.crypto.keychain.has(n)||(await this.core.crypto.setSymKey(a,n),await this.core.relayer.subscribe(n,{relay:c})),h},this.activate=async({topic:i})=>{this.isInitialized();const n=nr(G.THIRTY_DAYS);await this.pairings.update(i,{active:!0,expiry:n}),this.core.expirer.set(i,n)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:n}=i;if(this.pairings.keys.includes(n)){const a=await this.sendRequest(n,"wc_pairingPing",{}),{done:c,resolve:l,reject:p}=Ao();this.events.once(_r("pairing_ping",a),({error:h})=>{h?p(h):l()}),await c()}},this.updateExpiry=async({topic:i,expiry:n})=>{this.isInitialized(),await this.pairings.update(i,{expiry:n})},this.updateMetadata=async({topic:i,metadata:n})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:n})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:n}=i;this.pairings.keys.includes(n)&&(await this.sendRequest(n,"wc_pairingDelete",Bt("USER_DISCONNECTED")),await this.deletePairing(n))},this.sendRequest=async(i,n,a)=>{const c=kr(n,a),l=await this.core.crypto.encode(i,c),p=At[n].req;return this.core.history.set(i,c),this.core.relayer.publish(i,l,p),c.id},this.sendResult=async(i,n,a)=>{const c=_s(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method].res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.sendError=async(i,n,a)=>{const c=Es(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method]?At[p.request.method].res:At.unregistered_method.res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,Bt("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),n?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(n=>ci(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:a}=i;switch(a.method){case"wc_pairingPing":return this.onPairingPingRequest(n,a);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,a);default:return this.onUnknownRpcMethodRequest(n,a)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:a}=i,c=(await this.core.history.get(n,a.id)).request.method;switch(c){case"wc_pairingPing":return this.onPairingPingResponse(n,a);default:return this.onUnknownRpcMethodResponse(c)}},this.onPairingPingRequest=async(i,n)=>{const{id:a}=n;try{this.isValidPing({topic:i}),await this.sendResult(a,i,!0),this.events.emit(Ht.ping,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onPairingPingResponse=(i,n)=>{const{id:a}=n;setTimeout(()=>{Ss(n)?this.events.emit(_r("pairing_ping",a),{}):yr(n)&&this.events.emit(_r("pairing_ping",a),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:a}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(Ht.delete,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:a,method:c}=n;try{if(this.registeredMethods.includes(c))return;const l=Bt("WC_METHOD_UNSUPPORTED",c);await this.sendError(a,i,l),this.logger.error(l)}catch(l){await this.sendError(a,i,l),this.logger.error(l)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(Bt("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=i=>{var n;if(!Er(i)){const{message:c}=J("MISSING_OR_INVALID",`pair() params: ${i}`);throw new Error(c)}if(!Fo(i.uri)){const{message:c}=J("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw new Error(c)}const a=ai(i.uri);if(!((n=a==null?void 0:a.relay)!=null&&n.protocol)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(c)}if(!(a!=null&&a.symKey)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(c)}},this.isValidPing=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!Co(i,!1)){const{message:n}=J("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=J("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(ci(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=J("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.pairings=new vn(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Y.getLoggerContext(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Ye.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const n=await this.core.crypto.decode(t,i);try{Is(n)?(this.core.history.set(t,n),this.onRelayEventRequest({topic:t,payload:n})):Gr(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id))}catch(a){this.logger.error(a)}})}registerExpirerEvents(){this.core.expirer.on(it.expired,async e=>{const{topic:t}=No(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Ht.expire,{topic:t}))})}}class _n extends Da{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new lt.EventEmitter,this.name=hn,this.version=un,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,n,a)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:a}),this.records.has(n.id))return;const c={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:a,expiry:nr(G.THIRTY_DAYS)};this.records.set(c.id,c),this.events.emit(at.created,c)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const n=await this.getRecord(i.id);typeof n.response>"u"&&(n.response=yr(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.events.emit(at.updated,n))},this.get=async(i,n)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:n}),await this.getRecord(n)),this.delete=(i,n)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:n}),this.values.forEach(a=>{if(a.topic===i){if(typeof n<"u"&&a.id!==n)return;this.records.delete(a.id),this.events.emit(at.deleted,a)}})},this.exists=async(i,n)=>(this.isInitialized(),this.records.has(n)?(await this.getRecord(n)).topic===i:!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:kr(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(at.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(at.created,e=>{const t=at.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.updated,e=>{const t=at.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.deleted,e=>{const t=at.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{G.toMiliseconds(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class En extends Ka{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new lt.EventEmitter,this.name=ln,this.version=fn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const n=this.formatTarget(i);return typeof this.getExpiration(n)<"u"}catch{return!1}},this.set=(i,n)=>{this.isInitialized();const a=this.formatTarget(i),c={target:a,expiry:n};this.expirations.set(a,c),this.checkExpiry(a,c),this.events.emit(it.created,{target:a,expiration:c})},this.get=i=>{this.isInitialized();const n=this.formatTarget(i);return this.getExpiration(n)},this.del=i=>{if(this.isInitialized(),this.has(i)){const n=this.formatTarget(i),a=this.getExpiration(n);this.expirations.delete(n),this.events.emit(it.deleted,{target:n,expiration:a})}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Do(e);if(typeof e=="number")return Mo(e);const{message:t}=J("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(it.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;G.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(it.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(it.created,e=>{const t=it.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.expired,e=>{const t=it.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.deleted,e=>{const t=it.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class xn extends Ba{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=hr,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||zo()||!Uo())return;const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);this.verifyUrl!==n&&this.removeIframe(),this.verifyUrl=n;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a)}if(!this.initialized){this.removeIframe(),this.verifyUrl=fr;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return"";const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);let a;try{a=await this.fetchAttestation(i.attestationId,n)}catch(c){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${n}`),this.logger.info(c),a=await this.fetchAttestation(i.attestationId,fr)}return a},this.fetchAttestation=async(i,n)=>{this.logger.info(`resolving attestation: ${i} from url: ${n}`);const a=this.startAbortTimer(G.ONE_SECOND*2),c=await fetch(`${n}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(a),c.status===200?await c.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var n;try{if(!this.iframe)return;(n=this.iframe.contentWindow)==null||n.postMessage(i,"*"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const n=a=>{a.data==="verify_ready"&&(this.initialized=!0,this.processQueue(),window.removeEventListener("message",n),i())};await Promise.race([new Promise(a=>{if(document.getElementById(hr))return a();window.addEventListener("message",n);const c=document.createElement("iframe");c.id=hr,c.src=`${this.verifyUrl}/${this.projectId}`,c.style.display="none",document.body.append(c),this.iframe=c,i=a}),new Promise((a,c)=>setTimeout(()=>{window.removeEventListener("message",n),c("verify iframe load timeout")},G.toMiliseconds(G.FIVE_SECONDS)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let n=i||Ft;return dn.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${Ft}`),n=Ft),n},this.logger=Y.generateChildLogger(t,this.name),this.verifyUrl=Ft,this.abortController=new AbortController,this.isDevEnv=$o()&&{}.IS_VITEST}get context(){return Y.getLoggerContext(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),G.toMiliseconds(e))}}var yu=Object.defineProperty,Gi=Object.getOwnPropertySymbols,mu=Object.prototype.hasOwnProperty,bu=Object.prototype.propertyIsEnumerable,Vi=(r,e,t)=>e in r?yu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))mu.call(e,t)&&Vi(r,t,e[t]);if(Gi)for(var t of Gi(e))bu.call(e,t)&&Vi(r,t,e[t]);return r};class vr extends Na{constructor(e){super(e),this.protocol=Vr,this.version=zs,this.name=br,this.events=new lt.EventEmitter,this.initialized=!1,this.on=(i,n)=>this.events.on(i,n),this.once=(i,n)=>this.events.once(i,n),this.off=(i,n)=>this.events.off(i,n),this.removeListener=(i,n)=>this.events.removeListener(i,n),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Y.pino(Y.getDefaultLoggerOptions({level:(e==null?void 0:e.logger)||Us.logger}));this.logger=Y.generateChildLogger(t,this.name),this.heartbeat=new Dt.HeartBeat,this.crypto=new pn(this,this.logger,e==null?void 0:e.keychain),this.history=new _n(this,this.logger),this.expirer=new En(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Sa(qi(qi({},$s),e==null?void 0:e.storageOptions)),this.relayer=new bn({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new wn(this,this.logger),this.verify=new xn(this.projectId||"",this.logger)}static async init(e){const t=new vr(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(rn,i),t}get context(){return Y.getLoggerContext(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const vu=vr,Pu=Object.freeze(Object.defineProperty({__proto__:null,CORE_CONTEXT:br,CORE_DEFAULT:Us,CORE_PROTOCOL:Vr,CORE_STORAGE_OPTIONS:$s,CORE_STORAGE_PREFIX:yt,CORE_VERSION:zs,CRYPTO_CLIENT_SEED:Ur,CRYPTO_CONTEXT:js,CRYPTO_JWT_TTL:Ks,Core:vu,Crypto:pn,EXPIRER_CONTEXT:ln,EXPIRER_DEFAULT_TTL:tu,EXPIRER_EVENTS:it,EXPIRER_STORAGE_VERSION:fn,Expirer:En,HISTORY_CONTEXT:hn,HISTORY_EVENTS:at,HISTORY_STORAGE_VERSION:un,JsonRpcHistory:_n,KEYCHAIN_CONTEXT:Bs,KEYCHAIN_STORAGE_VERSION:Hs,KeyChain:gn,MESSAGES_CONTEXT:ks,MESSAGES_STORAGE_VERSION:Gs,MessageTracker:yn,PAIRING_CONTEXT:an,PAIRING_DEFAULT_TTL:eu,PAIRING_EVENTS:Ht,PAIRING_RPC_OPTS:At,PAIRING_STORAGE_VERSION:cn,PENDING_SUB_RESOLUTION_TIMEOUT:on,PUBLISHER_CONTEXT:qs,PUBLISHER_DEFAULT_TTL:Vs,Pairing:wn,RELAYER_CONTEXT:Js,RELAYER_DEFAULT_LOGGER:Ws,RELAYER_DEFAULT_PROTOCOL:Ys,RELAYER_DEFAULT_RELAY_URL:qr,RELAYER_EVENTS:Ye,RELAYER_FAILOVER_RELAY_URL:$r,RELAYER_PROVIDER_EVENTS:ht,RELAYER_RECONNECT_TIMEOUT:Qs,RELAYER_SDK_VERSION:Zs,RELAYER_STORAGE_OPTIONS:Qh,RELAYER_SUBSCRIBER_SUFFIX:Xs,RELAYER_TRANSPORT_CUTOFF:en,Relayer:bn,STORE_STORAGE_VERSION:tn,SUBSCRIBER_CONTEXT:sn,SUBSCRIBER_DEFAULT_TTL:Zh,SUBSCRIBER_EVENTS:st,SUBSCRIBER_STORAGE_VERSION:nn,Store:vn,Subscriber:mn,TRUSTED_VERIFY_URLS:dn,VERIFY_CONTEXT:hr,VERIFY_FALLBACK_SERVER:fr,VERIFY_SERVER:Ft,Verify:xn,WALLETCONNECT_CLIENT_ID:rn,default:vr},Symbol.toStringTag,{value:"Module"}));export{Ft as $,Ye as D,vn as M,vu as N,Ou as S,Ht as V,qo as Y,yr as a,Is as b,Y as c,Gr as d,lt as e,Es as f,kr as g,_s as h,Ss as i,Tu as j,Ys as k,Pu as l,vs as p,it as v}; diff --git a/frontends/web/build/assets/index.es-df41910f.js b/frontends/web/build/assets/index.es-df41910f.js new file mode 100644 index 0000000000..a88d4d57f5 --- /dev/null +++ b/frontends/web/build/assets/index.es-df41910f.js @@ -0,0 +1,13 @@ +import{e as xn,c as _t,N as _n,M as Gt,f as Mn,i as bt,a as xt,D as di,b as Sn,d as An,V as En,g as br,h as In,j as Is,S as Rs,Y as Ns,k as Fs,$ as Ps,v as qs,p as Os}from"./index.es-439fa429.js";import{c as Rn,g as Pr,r as Cs,a as Ts,K as Oi,D as Nn,N as B,b as W,k as $s,X as Fn,s as Ls,_ as Pn,Q as Ds,d as ir,y as Le,p as Bt,B as Xr,j as Us,U as zt,e as ks,h as Bs,f as zs,L as Yr,m as jt,t as gr,H as We,w as nr,x as Vs,i as Ks,u as Qr,l as Ci,n as sr,q as js,o as Gs,v as Hs,z as Ti,A as Js,Y as Ws,G as Xs,W as Ys,J as Qs,C as Zs,F as eo}from"./index-b913d093.js";var qn={exports:{}};/** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT + */(function(i){(function(){var t="input is invalid type",e="finalize already called",r=typeof window=="object",n=r?window:{};n.JS_SHA3_NO_WINDOW&&(r=!1);var s=!r&&typeof self=="object",u=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;u?n=Rn:s&&(n=self);var c=!n.JS_SHA3_NO_COMMON_JS&&!0&&i.exports,d=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",m="0123456789abcdef".split(""),b=[31,7936,2031616,520093696],x=[4,1024,262144,67108864],A=[1,256,65536,16777216],I=[6,1536,393216,100663296],S=[0,8,16,24],F=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],$=[224,256,384,512],T=[128,256],K=["hex","buffer","arrayBuffer","array","digest"],H={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(h){return Object.prototype.toString.call(h)==="[object Array]"}),d&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(h){return typeof h=="object"&&h.buffer&&h.buffer.constructor===ArrayBuffer});for(var z=function(h,E,R){return function(N){return new a(h,E,h).update(N)[R]()}},V=function(h,E,R){return function(N,P){return new a(h,E,P).update(N)[R]()}},j=function(h,E,R){return function(N,P,L,O){return o["cshake"+h].update(N,P,L,O)[R]()}},J=function(h,E,R){return function(N,P,L,O){return o["kmac"+h].update(N,P,L,O)[R]()}},Y=function(h,E,R,N){for(var P=0;P>5,this.byteCount=this.blockCount<<2,this.outputBlocks=R>>5,this.extraBytes=(R&31)>>3;for(var N=0;N<50;++N)this.s[N]=0}a.prototype.update=function(h){if(this.finalized)throw new Error(e);var E,R=typeof h;if(R!=="string"){if(R==="object"){if(h===null)throw new Error(t);if(d&&h.constructor===ArrayBuffer)h=new Uint8Array(h);else if(!Array.isArray(h)&&(!d||!ArrayBuffer.isView(h)))throw new Error(t)}else throw new Error(t);E=!0}for(var N=this.blocks,P=this.byteCount,L=h.length,O=this.blockCount,q=0,qe=this.s,C,U;q>2]|=h[q]<>2]|=U<>2]|=(192|U>>6)<>2]|=(128|U&63)<=57344?(N[C>>2]|=(224|U>>12)<>2]|=(128|U>>6&63)<>2]|=(128|U&63)<>2]|=(240|U>>18)<>2]|=(128|U>>12&63)<>2]|=(128|U>>6&63)<>2]|=(128|U&63)<=P){for(this.start=C-P,this.block=N[O],C=0;C>8,R=h&255;R>0;)P.unshift(R),h=h>>8,R=h&255,++N;return E?P.push(N):P.unshift(N),this.update(P),P.length},a.prototype.encodeString=function(h){var E,R=typeof h;if(R!=="string"){if(R==="object"){if(h===null)throw new Error(t);if(d&&h.constructor===ArrayBuffer)h=new Uint8Array(h);else if(!Array.isArray(h)&&(!d||!ArrayBuffer.isView(h)))throw new Error(t)}else throw new Error(t);E=!0}var N=0,P=h.length;if(E)N=P;else for(var L=0;L=57344?N+=3:(O=65536+((O&1023)<<10|h.charCodeAt(++L)&1023),N+=4)}return N+=this.encode(N*8),this.update(h),N},a.prototype.bytepad=function(h,E){for(var R=this.encode(E),N=0;N>2]|=this.padding[E&3],this.lastByteIndex===this.byteCount)for(h[0]=h[R],E=1;E>4&15]+m[q&15]+m[q>>12&15]+m[q>>8&15]+m[q>>20&15]+m[q>>16&15]+m[q>>28&15]+m[q>>24&15];L%h===0&&(D(E),P=0)}return N&&(q=E[P],O+=m[q>>4&15]+m[q&15],N>1&&(O+=m[q>>12&15]+m[q>>8&15]),N>2&&(O+=m[q>>20&15]+m[q>>16&15])),O},a.prototype.arrayBuffer=function(){this.finalize();var h=this.blockCount,E=this.s,R=this.outputBlocks,N=this.extraBytes,P=0,L=0,O=this.outputBits>>3,q;N?q=new ArrayBuffer(R+1<<2):q=new ArrayBuffer(O);for(var qe=new Uint32Array(q);L>8&255,O[q+2]=qe>>16&255,O[q+3]=qe>>24&255;L%h===0&&D(E)}return N&&(q=L<<2,qe=E[P],O[q]=qe&255,N>1&&(O[q+1]=qe>>8&255),N>2&&(O[q+2]=qe>>16&255)),O};function g(h,E,R){a.call(this,h,E,R)}g.prototype=new a,g.prototype.finalize=function(){return this.encode(this.outputBits,!0),a.prototype.finalize.call(this)};var D=function(h){var E,R,N,P,L,O,q,qe,C,U,At,Z,ee,Et,te,re,It,ie,ne,Rt,se,oe,Nt,ae,fe,Ft,he,ue,Pt,ce,le,qt,de,pe,Ot,ve,ge,Ct,me,ye,Tt,we,be,$t,xe,_e,Lt,Me,Se,Dt,Ae,Ee,Ut,Ie,Re,kt,Ne,Fe,pt,vt,gt,mt,yt;for(N=0;N<48;N+=2)P=h[0]^h[10]^h[20]^h[30]^h[40],L=h[1]^h[11]^h[21]^h[31]^h[41],O=h[2]^h[12]^h[22]^h[32]^h[42],q=h[3]^h[13]^h[23]^h[33]^h[43],qe=h[4]^h[14]^h[24]^h[34]^h[44],C=h[5]^h[15]^h[25]^h[35]^h[45],U=h[6]^h[16]^h[26]^h[36]^h[46],At=h[7]^h[17]^h[27]^h[37]^h[47],Z=h[8]^h[18]^h[28]^h[38]^h[48],ee=h[9]^h[19]^h[29]^h[39]^h[49],E=Z^(O<<1|q>>>31),R=ee^(q<<1|O>>>31),h[0]^=E,h[1]^=R,h[10]^=E,h[11]^=R,h[20]^=E,h[21]^=R,h[30]^=E,h[31]^=R,h[40]^=E,h[41]^=R,E=P^(qe<<1|C>>>31),R=L^(C<<1|qe>>>31),h[2]^=E,h[3]^=R,h[12]^=E,h[13]^=R,h[22]^=E,h[23]^=R,h[32]^=E,h[33]^=R,h[42]^=E,h[43]^=R,E=O^(U<<1|At>>>31),R=q^(At<<1|U>>>31),h[4]^=E,h[5]^=R,h[14]^=E,h[15]^=R,h[24]^=E,h[25]^=R,h[34]^=E,h[35]^=R,h[44]^=E,h[45]^=R,E=qe^(Z<<1|ee>>>31),R=C^(ee<<1|Z>>>31),h[6]^=E,h[7]^=R,h[16]^=E,h[17]^=R,h[26]^=E,h[27]^=R,h[36]^=E,h[37]^=R,h[46]^=E,h[47]^=R,E=U^(P<<1|L>>>31),R=At^(L<<1|P>>>31),h[8]^=E,h[9]^=R,h[18]^=E,h[19]^=R,h[28]^=E,h[29]^=R,h[38]^=E,h[39]^=R,h[48]^=E,h[49]^=R,Et=h[0],te=h[1],_e=h[11]<<4|h[10]>>>28,Lt=h[10]<<4|h[11]>>>28,ue=h[20]<<3|h[21]>>>29,Pt=h[21]<<3|h[20]>>>29,vt=h[31]<<9|h[30]>>>23,gt=h[30]<<9|h[31]>>>23,we=h[40]<<18|h[41]>>>14,be=h[41]<<18|h[40]>>>14,pe=h[2]<<1|h[3]>>>31,Ot=h[3]<<1|h[2]>>>31,re=h[13]<<12|h[12]>>>20,It=h[12]<<12|h[13]>>>20,Me=h[22]<<10|h[23]>>>22,Se=h[23]<<10|h[22]>>>22,ce=h[33]<<13|h[32]>>>19,le=h[32]<<13|h[33]>>>19,mt=h[42]<<2|h[43]>>>30,yt=h[43]<<2|h[42]>>>30,Ie=h[5]<<30|h[4]>>>2,Re=h[4]<<30|h[5]>>>2,ve=h[14]<<6|h[15]>>>26,ge=h[15]<<6|h[14]>>>26,ie=h[25]<<11|h[24]>>>21,ne=h[24]<<11|h[25]>>>21,Dt=h[34]<<15|h[35]>>>17,Ae=h[35]<<15|h[34]>>>17,qt=h[45]<<29|h[44]>>>3,de=h[44]<<29|h[45]>>>3,ae=h[6]<<28|h[7]>>>4,fe=h[7]<<28|h[6]>>>4,kt=h[17]<<23|h[16]>>>9,Ne=h[16]<<23|h[17]>>>9,Ct=h[26]<<25|h[27]>>>7,me=h[27]<<25|h[26]>>>7,Rt=h[36]<<21|h[37]>>>11,se=h[37]<<21|h[36]>>>11,Ee=h[47]<<24|h[46]>>>8,Ut=h[46]<<24|h[47]>>>8,$t=h[8]<<27|h[9]>>>5,xe=h[9]<<27|h[8]>>>5,Ft=h[18]<<20|h[19]>>>12,he=h[19]<<20|h[18]>>>12,Fe=h[29]<<7|h[28]>>>25,pt=h[28]<<7|h[29]>>>25,ye=h[38]<<8|h[39]>>>24,Tt=h[39]<<8|h[38]>>>24,oe=h[48]<<14|h[49]>>>18,Nt=h[49]<<14|h[48]>>>18,h[0]=Et^~re&ie,h[1]=te^~It&ne,h[10]=ae^~Ft&ue,h[11]=fe^~he&Pt,h[20]=pe^~ve&Ct,h[21]=Ot^~ge&me,h[30]=$t^~_e&Me,h[31]=xe^~Lt&Se,h[40]=Ie^~kt&Fe,h[41]=Re^~Ne&pt,h[2]=re^~ie&Rt,h[3]=It^~ne&se,h[12]=Ft^~ue&ce,h[13]=he^~Pt&le,h[22]=ve^~Ct&ye,h[23]=ge^~me&Tt,h[32]=_e^~Me&Dt,h[33]=Lt^~Se&Ae,h[42]=kt^~Fe&vt,h[43]=Ne^~pt>,h[4]=ie^~Rt&oe,h[5]=ne^~se&Nt,h[14]=ue^~ce&qt,h[15]=Pt^~le&de,h[24]=Ct^~ye&we,h[25]=me^~Tt&be,h[34]=Me^~Dt&Ee,h[35]=Se^~Ae&Ut,h[44]=Fe^~vt&mt,h[45]=pt^~gt&yt,h[6]=Rt^~oe&Et,h[7]=se^~Nt&te,h[16]=ce^~qt&ae,h[17]=le^~de&fe,h[26]=ye^~we&pe,h[27]=Tt^~be&Ot,h[36]=Dt^~Ee&$t,h[37]=Ae^~Ut&xe,h[46]=vt^~mt&Ie,h[47]=gt^~yt&Re,h[8]=oe^~Et&re,h[9]=Nt^~te&It,h[18]=qt^~ae&Ft,h[19]=de^~fe&he,h[28]=we^~pe&ve,h[29]=be^~Ot&ge,h[38]=Ee^~$t&_e,h[39]=Ut^~xe&Lt,h[48]=mt^~Ie&kt,h[49]=yt^~Re&Ne,h[0]^=F[N],h[1]^=F[N+1]};if(c)i.exports=o;else for(l=0;l{try{if("test".normalize(t)!=="test")throw new Error("bad normalize")}catch{i.push(t)}}),i.length)throw new Error("missing "+i.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(i){return i.message}return null}const Ui=no();var pi;(function(i){i.DEBUG="DEBUG",i.INFO="INFO",i.WARNING="WARNING",i.ERROR="ERROR",i.OFF="OFF"})(pi||(pi={}));var Ye;(function(i){i.UNKNOWN_ERROR="UNKNOWN_ERROR",i.NOT_IMPLEMENTED="NOT_IMPLEMENTED",i.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",i.NETWORK_ERROR="NETWORK_ERROR",i.SERVER_ERROR="SERVER_ERROR",i.TIMEOUT="TIMEOUT",i.BUFFER_OVERRUN="BUFFER_OVERRUN",i.NUMERIC_FAULT="NUMERIC_FAULT",i.MISSING_NEW="MISSING_NEW",i.INVALID_ARGUMENT="INVALID_ARGUMENT",i.MISSING_ARGUMENT="MISSING_ARGUMENT",i.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",i.CALL_EXCEPTION="CALL_EXCEPTION",i.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",i.NONCE_EXPIRED="NONCE_EXPIRED",i.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",i.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",i.TRANSACTION_REPLACED="TRANSACTION_REPLACED",i.ACTION_REJECTED="ACTION_REJECTED"})(Ye||(Ye={}));const ki="0123456789abcdef";class Pe{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const r=t.toLowerCase();xr[r]==null&&this.throwArgumentError("invalid log level name","logLevel",t),!(Di>xr[r])&&console.log.apply(console,e)}debug(...t){this._log(Pe.levels.DEBUG,t)}info(...t){this._log(Pe.levels.INFO,t)}warn(...t){this._log(Pe.levels.WARNING,t)}makeError(t,e,r){if(Li)return this.makeError("censored error",e,{});e||(e=Pe.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach(d=>{const m=r[d];try{if(m instanceof Uint8Array){let b="";for(let x=0;x>4],b+=ki[m[x]&15];n.push(d+"=Uint8Array(0x"+b+")")}else n.push(d+"="+JSON.stringify(m))}catch{n.push(d+"="+JSON.stringify(r[d].toString()))}}),n.push(`code=${e}`),n.push(`version=${this.version}`);const s=t;let u="";switch(e){case Ye.NUMERIC_FAULT:{u="NUMERIC_FAULT";const d=t;switch(d){case"overflow":case"underflow":case"division-by-zero":u+="-"+d;break;case"negative-power":case"negative-width":u+="-unsupported";break;case"unbound-bitwise-result":u+="-unbound-result";break}break}case Ye.CALL_EXCEPTION:case Ye.INSUFFICIENT_FUNDS:case Ye.MISSING_NEW:case Ye.NONCE_EXPIRED:case Ye.REPLACEMENT_UNDERPRICED:case Ye.TRANSACTION_REPLACED:case Ye.UNPREDICTABLE_GAS_LIMIT:u=e;break}u&&(t+=" [ See: https://links.ethers.org/v5-errors-"+u+" ]"),n.length&&(t+=" ("+n.join(", ")+")");const c=new Error(t);return c.reason=s,c.code=e,Object.keys(r).forEach(function(d){c[d]=r[d]}),c}throwError(t,e,r){throw this.makeError(t,e,r)}throwArgumentError(t,e,r){return this.throwError(t,Pe.errors.INVALID_ARGUMENT,{argument:e,value:r})}assert(t,e,r,n){t||this.throwError(e,r,n)}assertArgument(t,e,r,n){t||this.throwArgumentError(e,r,n)}checkNormalize(t){Ui&&this.throwError("platform missing String.prototype.normalize",Pe.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Ui})}checkSafeUint53(t,e){typeof t=="number"&&(e==null&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,Pe.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,Pe.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,r){r?r=": "+r:r="",te&&this.throwError("too many arguments"+r,Pe.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){(t===Object||t==null)&&this.throwError("missing new",Pe.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",Pe.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):(t===Object||t==null)&&this.throwError("missing new",Pe.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return Zr||(Zr=new Pe(io)),Zr}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",Pe.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),$i){if(!t)return;this.globalLogger().throwError("error censorship permanent",Pe.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Li=!!t,$i=!!e}static setLogLevel(t){const e=xr[t.toLowerCase()];if(e==null){Pe.globalLogger().warn("invalid log level - "+t);return}Di=e}static from(t){return new Pe(t)}}Pe.errors=Ye;Pe.levels=pi;const so="bytes/5.7.0",Oe=new Pe(so);function On(i){return!!i.toHexString}function Ht(i){return i.slice||(i.slice=function(){const t=Array.prototype.slice.call(arguments);return Ht(new Uint8Array(Array.prototype.slice.apply(i,t)))}),i}function oo(i){return tt(i)&&!(i.length%2)||_i(i)}function Bi(i){return typeof i=="number"&&i==i&&i%1===0}function _i(i){if(i==null)return!1;if(i.constructor===Uint8Array)return!0;if(typeof i=="string"||!Bi(i.length)||i.length<0)return!1;for(let t=0;t=256)return!1}return!0}function Ce(i,t){if(t||(t={}),typeof i=="number"){Oe.checkSafeUint53(i,"invalid arrayify value");const e=[];for(;i;)e.unshift(i&255),i=parseInt(String(i/256));return e.length===0&&e.push(0),Ht(new Uint8Array(e))}if(t.allowMissingPrefix&&typeof i=="string"&&i.substring(0,2)!=="0x"&&(i="0x"+i),On(i)&&(i=i.toHexString()),tt(i)){let e=i.substring(2);e.length%2&&(t.hexPad==="left"?e="0"+e:t.hexPad==="right"?e+="0":Oe.throwArgumentError("hex data is odd-length","value",i));const r=[];for(let n=0;nCe(n)),e=t.reduce((n,s)=>n+s.length,0),r=new Uint8Array(e);return t.reduce((n,s)=>(r.set(s,n),n+s.length),0),Ht(r)}function fo(i,t){i=Ce(i),i.length>t&&Oe.throwArgumentError("value out of range","value",arguments[0]);const e=new Uint8Array(t);return e.set(i,t-i.length),Ht(e)}function tt(i,t){return!(typeof i!="string"||!i.match(/^0x[0-9A-Fa-f]*$/)||t&&i.length!==2+2*t)}const ei="0123456789abcdef";function ze(i,t){if(t||(t={}),typeof i=="number"){Oe.checkSafeUint53(i,"invalid hexlify value");let e="";for(;i;)e=ei[i&15]+e,i=Math.floor(i/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if(typeof i=="bigint")return i=i.toString(16),i.length%2?"0x0"+i:"0x"+i;if(t.allowMissingPrefix&&typeof i=="string"&&i.substring(0,2)!=="0x"&&(i="0x"+i),On(i))return i.toHexString();if(tt(i))return i.length%2&&(t.hexPad==="left"?i="0x0"+i.substring(2):t.hexPad==="right"?i+="0":Oe.throwArgumentError("hex data is odd-length","value",i)),i.toLowerCase();if(_i(i)){let e="0x";for(let r=0;r>4]+ei[n&15]}return e}return Oe.throwArgumentError("invalid hexlify value","value",i)}function ho(i){if(typeof i!="string")i=ze(i);else if(!tt(i)||i.length%2)return null;return(i.length-2)/2}function zi(i,t,e){return typeof i!="string"?i=ze(i):(!tt(i)||i.length%2)&&Oe.throwArgumentError("invalid hexData","value",i),t=2+2*t,e!=null?"0x"+i.substring(t,2+2*e):"0x"+i.substring(t)}function Jt(i,t){for(typeof i!="string"?i=ze(i):tt(i)||Oe.throwArgumentError("invalid hex string","value",i),i.length>2*t+2&&Oe.throwArgumentError("value out of range","value",arguments[1]);i.length<2*t+2;)i="0x0"+i.substring(2);return i}function Cn(i){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(oo(i)){let e=Ce(i);e.length===64?(t.v=27+(e[32]>>7),e[32]&=127,t.r=ze(e.slice(0,32)),t.s=ze(e.slice(32,64))):e.length===65?(t.r=ze(e.slice(0,32)),t.s=ze(e.slice(32,64)),t.v=e[64]):Oe.throwArgumentError("invalid signature string","signature",i),t.v<27&&(t.v===0||t.v===1?t.v+=27:Oe.throwArgumentError("signature invalid v byte","signature",i)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(e[32]|=128),t._vs=ze(e.slice(32,64))}else{if(t.r=i.r,t.s=i.s,t.v=i.v,t.recoveryParam=i.recoveryParam,t._vs=i._vs,t._vs!=null){const n=fo(Ce(t._vs),32);t._vs=ze(n);const s=n[0]>=128?1:0;t.recoveryParam==null?t.recoveryParam=s:t.recoveryParam!==s&&Oe.throwArgumentError("signature recoveryParam mismatch _vs","signature",i),n[0]&=127;const u=ze(n);t.s==null?t.s=u:t.s!==u&&Oe.throwArgumentError("signature v mismatch _vs","signature",i)}if(t.recoveryParam==null)t.v==null?Oe.throwArgumentError("signature missing v and recoveryParam","signature",i):t.v===0||t.v===1?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(t.v==null)t.v=27+t.recoveryParam;else{const n=t.v===0||t.v===1?t.v:1-t.v%2;t.recoveryParam!==n&&Oe.throwArgumentError("signature recoveryParam mismatch v","signature",i)}t.r==null||!tt(t.r)?Oe.throwArgumentError("signature missing or invalid r","signature",i):t.r=Jt(t.r,32),t.s==null||!tt(t.s)?Oe.throwArgumentError("signature missing or invalid s","signature",i):t.s=Jt(t.s,32);const e=Ce(t.s);e[0]>=128&&Oe.throwArgumentError("signature s out of range","signature",i),t.recoveryParam&&(e[0]|=128);const r=ze(e);t._vs&&(tt(t._vs)||Oe.throwArgumentError("signature invalid _vs","signature",i),t._vs=Jt(t._vs,32)),t._vs==null?t._vs=r:t._vs!==r&&Oe.throwArgumentError("signature _vs mismatch v and s","signature",i)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function Mi(i){return"0x"+ro.keccak_256(Ce(i))}var Si={exports:{}};Si.exports;(function(i){(function(t,e){function r(w,o){if(!w)throw new Error(o||"Assertion failed")}function n(w,o){w.super_=o;var f=function(){};f.prototype=o.prototype,w.prototype=new f,w.prototype.constructor=w}function s(w,o,f){if(s.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,w!==null&&((o==="le"||o==="be")&&(f=o,o=10),this._init(w||0,o||10,f||"be"))}typeof t=="object"?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;var u;try{typeof window<"u"&&typeof window.Buffer<"u"?u=window.Buffer:u=Cs.Buffer}catch{}s.isBN=function(o){return o instanceof s?!0:o!==null&&typeof o=="object"&&o.constructor.wordSize===s.wordSize&&Array.isArray(o.words)},s.max=function(o,f){return o.cmp(f)>0?o:f},s.min=function(o,f){return o.cmp(f)<0?o:f},s.prototype._init=function(o,f,l){if(typeof o=="number")return this._initNumber(o,f,l);if(typeof o=="object")return this._initArray(o,f,l);f==="hex"&&(f=16),r(f===(f|0)&&f>=2&&f<=36),o=o.toString().replace(/\s+/g,"");var v=0;o[0]==="-"&&(v++,this.negative=1),v=0;v-=3)_=o[v]|o[v-1]<<8|o[v-2]<<16,this.words[y]|=_<>>26-M&67108863,M+=24,M>=26&&(M-=26,y++);else if(l==="le")for(v=0,y=0;v>>26-M&67108863,M+=24,M>=26&&(M-=26,y++);return this._strip()};function c(w,o){var f=w.charCodeAt(o);if(f>=48&&f<=57)return f-48;if(f>=65&&f<=70)return f-55;if(f>=97&&f<=102)return f-87;r(!1,"Invalid character in "+w)}function d(w,o,f){var l=c(w,f);return f-1>=o&&(l|=c(w,f-1)<<4),l}s.prototype._parseHex=function(o,f,l){this.length=Math.ceil((o.length-f)/6),this.words=new Array(this.length);for(var v=0;v=f;v-=2)M=d(o,f,v)<=18?(y-=18,_+=1,this.words[_]|=M>>>26):y+=8;else{var p=o.length-f;for(v=p%2===0?f+1:f;v=18?(y-=18,_+=1,this.words[_]|=M>>>26):y+=8}this._strip()};function m(w,o,f,l){for(var v=0,y=0,_=Math.min(w.length,f),M=o;M<_;M++){var p=w.charCodeAt(M)-48;v*=l,p>=49?y=p-49+10:p>=17?y=p-17+10:y=p,r(p>=0&&y1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=x}catch{s.prototype.inspect=x}else s.prototype.inspect=x;function x(){return(this.red?""}var A=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],S=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(o,f){o=o||10,f=f|0||1;var l;if(o===16||o==="hex"){l="";for(var v=0,y=0,_=0;_>>24-v&16777215,v+=2,v>=26&&(v-=26,_--),y!==0||_!==this.length-1?l=A[6-p.length]+p+l:l=p+l}for(y!==0&&(l=y.toString(16)+l);l.length%f!==0;)l="0"+l;return this.negative!==0&&(l="-"+l),l}if(o===(o|0)&&o>=2&&o<=36){var a=I[o],g=S[o];l="";var D=this.clone();for(D.negative=0;!D.isZero();){var h=D.modrn(g).toString(o);D=D.idivn(g),D.isZero()?l=h+l:l=A[a-h.length]+h+l}for(this.isZero()&&(l="0"+l);l.length%f!==0;)l="0"+l;return this.negative!==0&&(l="-"+l),l}r(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var o=this.words[0];return this.length===2?o+=this.words[1]*67108864:this.length===3&&this.words[2]===1?o+=4503599627370496+this.words[1]*67108864:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-o:o},s.prototype.toJSON=function(){return this.toString(16,2)},u&&(s.prototype.toBuffer=function(o,f){return this.toArrayLike(u,o,f)}),s.prototype.toArray=function(o,f){return this.toArrayLike(Array,o,f)};var F=function(o,f){return o.allocUnsafe?o.allocUnsafe(f):new o(f)};s.prototype.toArrayLike=function(o,f,l){this._strip();var v=this.byteLength(),y=l||Math.max(1,v);r(v<=y,"byte array longer than desired length"),r(y>0,"Requested array length <= 0");var _=F(o,y),M=f==="le"?"LE":"BE";return this["_toArrayLike"+M](_,v),_},s.prototype._toArrayLikeLE=function(o,f){for(var l=0,v=0,y=0,_=0;y>8&255),l>16&255),_===6?(l>24&255),v=0,_=0):(v=M>>>24,_+=2)}if(l=0&&(o[l--]=M>>8&255),l>=0&&(o[l--]=M>>16&255),_===6?(l>=0&&(o[l--]=M>>24&255),v=0,_=0):(v=M>>>24,_+=2)}if(l>=0)for(o[l--]=v;l>=0;)o[l--]=0},Math.clz32?s.prototype._countBits=function(o){return 32-Math.clz32(o)}:s.prototype._countBits=function(o){var f=o,l=0;return f>=4096&&(l+=13,f>>>=13),f>=64&&(l+=7,f>>>=7),f>=8&&(l+=4,f>>>=4),f>=2&&(l+=2,f>>>=2),l+f},s.prototype._zeroBits=function(o){if(o===0)return 26;var f=o,l=0;return f&8191||(l+=13,f>>>=13),f&127||(l+=7,f>>>=7),f&15||(l+=4,f>>>=4),f&3||(l+=2,f>>>=2),f&1||l++,l},s.prototype.bitLength=function(){var o=this.words[this.length-1],f=this._countBits(o);return(this.length-1)*26+f};function $(w){for(var o=new Array(w.bitLength()),f=0;f>>v&1}return o}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var o=0,f=0;fo.length?this.clone().ior(o):o.clone().ior(this)},s.prototype.uor=function(o){return this.length>o.length?this.clone().iuor(o):o.clone().iuor(this)},s.prototype.iuand=function(o){var f;this.length>o.length?f=o:f=this;for(var l=0;lo.length?this.clone().iand(o):o.clone().iand(this)},s.prototype.uand=function(o){return this.length>o.length?this.clone().iuand(o):o.clone().iuand(this)},s.prototype.iuxor=function(o){var f,l;this.length>o.length?(f=this,l=o):(f=o,l=this);for(var v=0;vo.length?this.clone().ixor(o):o.clone().ixor(this)},s.prototype.uxor=function(o){return this.length>o.length?this.clone().iuxor(o):o.clone().iuxor(this)},s.prototype.inotn=function(o){r(typeof o=="number"&&o>=0);var f=Math.ceil(o/26)|0,l=o%26;this._expand(f),l>0&&f--;for(var v=0;v0&&(this.words[v]=~this.words[v]&67108863>>26-l),this._strip()},s.prototype.notn=function(o){return this.clone().inotn(o)},s.prototype.setn=function(o,f){r(typeof o=="number"&&o>=0);var l=o/26|0,v=o%26;return this._expand(l+1),f?this.words[l]=this.words[l]|1<o.length?(l=this,v=o):(l=o,v=this);for(var y=0,_=0;_>>26;for(;y!==0&&_>>26;if(this.length=l.length,y!==0)this.words[this.length]=y,this.length++;else if(l!==this)for(;_o.length?this.clone().iadd(o):o.clone().iadd(this)},s.prototype.isub=function(o){if(o.negative!==0){o.negative=0;var f=this.iadd(o);return o.negative=1,f._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(o),this.negative=1,this._normSign();var l=this.cmp(o);if(l===0)return this.negative=0,this.length=1,this.words[0]=0,this;var v,y;l>0?(v=this,y=o):(v=o,y=this);for(var _=0,M=0;M>26,this.words[M]=f&67108863;for(;_!==0&&M>26,this.words[M]=f&67108863;if(_===0&&M>>26,D=p&67108863,h=Math.min(a,o.length-1),E=Math.max(0,a-w.length+1);E<=h;E++){var R=a-E|0;v=w.words[R]|0,y=o.words[E]|0,_=v*y+D,g+=_/67108864|0,D=_&67108863}f.words[a]=D|0,p=g|0}return p!==0?f.words[a]=p|0:f.length--,f._strip()}var K=function(o,f,l){var v=o.words,y=f.words,_=l.words,M=0,p,a,g,D=v[0]|0,h=D&8191,E=D>>>13,R=v[1]|0,N=R&8191,P=R>>>13,L=v[2]|0,O=L&8191,q=L>>>13,qe=v[3]|0,C=qe&8191,U=qe>>>13,At=v[4]|0,Z=At&8191,ee=At>>>13,Et=v[5]|0,te=Et&8191,re=Et>>>13,It=v[6]|0,ie=It&8191,ne=It>>>13,Rt=v[7]|0,se=Rt&8191,oe=Rt>>>13,Nt=v[8]|0,ae=Nt&8191,fe=Nt>>>13,Ft=v[9]|0,he=Ft&8191,ue=Ft>>>13,Pt=y[0]|0,ce=Pt&8191,le=Pt>>>13,qt=y[1]|0,de=qt&8191,pe=qt>>>13,Ot=y[2]|0,ve=Ot&8191,ge=Ot>>>13,Ct=y[3]|0,me=Ct&8191,ye=Ct>>>13,Tt=y[4]|0,we=Tt&8191,be=Tt>>>13,$t=y[5]|0,xe=$t&8191,_e=$t>>>13,Lt=y[6]|0,Me=Lt&8191,Se=Lt>>>13,Dt=y[7]|0,Ae=Dt&8191,Ee=Dt>>>13,Ut=y[8]|0,Ie=Ut&8191,Re=Ut>>>13,kt=y[9]|0,Ne=kt&8191,Fe=kt>>>13;l.negative=o.negative^f.negative,l.length=19,p=Math.imul(h,ce),a=Math.imul(h,le),a=a+Math.imul(E,ce)|0,g=Math.imul(E,le);var pt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,p=Math.imul(N,ce),a=Math.imul(N,le),a=a+Math.imul(P,ce)|0,g=Math.imul(P,le),p=p+Math.imul(h,de)|0,a=a+Math.imul(h,pe)|0,a=a+Math.imul(E,de)|0,g=g+Math.imul(E,pe)|0;var vt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,p=Math.imul(O,ce),a=Math.imul(O,le),a=a+Math.imul(q,ce)|0,g=Math.imul(q,le),p=p+Math.imul(N,de)|0,a=a+Math.imul(N,pe)|0,a=a+Math.imul(P,de)|0,g=g+Math.imul(P,pe)|0,p=p+Math.imul(h,ve)|0,a=a+Math.imul(h,ge)|0,a=a+Math.imul(E,ve)|0,g=g+Math.imul(E,ge)|0;var gt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(gt>>>26)|0,gt&=67108863,p=Math.imul(C,ce),a=Math.imul(C,le),a=a+Math.imul(U,ce)|0,g=Math.imul(U,le),p=p+Math.imul(O,de)|0,a=a+Math.imul(O,pe)|0,a=a+Math.imul(q,de)|0,g=g+Math.imul(q,pe)|0,p=p+Math.imul(N,ve)|0,a=a+Math.imul(N,ge)|0,a=a+Math.imul(P,ve)|0,g=g+Math.imul(P,ge)|0,p=p+Math.imul(h,me)|0,a=a+Math.imul(h,ye)|0,a=a+Math.imul(E,me)|0,g=g+Math.imul(E,ye)|0;var mt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,p=Math.imul(Z,ce),a=Math.imul(Z,le),a=a+Math.imul(ee,ce)|0,g=Math.imul(ee,le),p=p+Math.imul(C,de)|0,a=a+Math.imul(C,pe)|0,a=a+Math.imul(U,de)|0,g=g+Math.imul(U,pe)|0,p=p+Math.imul(O,ve)|0,a=a+Math.imul(O,ge)|0,a=a+Math.imul(q,ve)|0,g=g+Math.imul(q,ge)|0,p=p+Math.imul(N,me)|0,a=a+Math.imul(N,ye)|0,a=a+Math.imul(P,me)|0,g=g+Math.imul(P,ye)|0,p=p+Math.imul(h,we)|0,a=a+Math.imul(h,be)|0,a=a+Math.imul(E,we)|0,g=g+Math.imul(E,be)|0;var yt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,p=Math.imul(te,ce),a=Math.imul(te,le),a=a+Math.imul(re,ce)|0,g=Math.imul(re,le),p=p+Math.imul(Z,de)|0,a=a+Math.imul(Z,pe)|0,a=a+Math.imul(ee,de)|0,g=g+Math.imul(ee,pe)|0,p=p+Math.imul(C,ve)|0,a=a+Math.imul(C,ge)|0,a=a+Math.imul(U,ve)|0,g=g+Math.imul(U,ge)|0,p=p+Math.imul(O,me)|0,a=a+Math.imul(O,ye)|0,a=a+Math.imul(q,me)|0,g=g+Math.imul(q,ye)|0,p=p+Math.imul(N,we)|0,a=a+Math.imul(N,be)|0,a=a+Math.imul(P,we)|0,g=g+Math.imul(P,be)|0,p=p+Math.imul(h,xe)|0,a=a+Math.imul(h,_e)|0,a=a+Math.imul(E,xe)|0,g=g+Math.imul(E,_e)|0;var $r=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+($r>>>26)|0,$r&=67108863,p=Math.imul(ie,ce),a=Math.imul(ie,le),a=a+Math.imul(ne,ce)|0,g=Math.imul(ne,le),p=p+Math.imul(te,de)|0,a=a+Math.imul(te,pe)|0,a=a+Math.imul(re,de)|0,g=g+Math.imul(re,pe)|0,p=p+Math.imul(Z,ve)|0,a=a+Math.imul(Z,ge)|0,a=a+Math.imul(ee,ve)|0,g=g+Math.imul(ee,ge)|0,p=p+Math.imul(C,me)|0,a=a+Math.imul(C,ye)|0,a=a+Math.imul(U,me)|0,g=g+Math.imul(U,ye)|0,p=p+Math.imul(O,we)|0,a=a+Math.imul(O,be)|0,a=a+Math.imul(q,we)|0,g=g+Math.imul(q,be)|0,p=p+Math.imul(N,xe)|0,a=a+Math.imul(N,_e)|0,a=a+Math.imul(P,xe)|0,g=g+Math.imul(P,_e)|0,p=p+Math.imul(h,Me)|0,a=a+Math.imul(h,Se)|0,a=a+Math.imul(E,Me)|0,g=g+Math.imul(E,Se)|0;var Lr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,p=Math.imul(se,ce),a=Math.imul(se,le),a=a+Math.imul(oe,ce)|0,g=Math.imul(oe,le),p=p+Math.imul(ie,de)|0,a=a+Math.imul(ie,pe)|0,a=a+Math.imul(ne,de)|0,g=g+Math.imul(ne,pe)|0,p=p+Math.imul(te,ve)|0,a=a+Math.imul(te,ge)|0,a=a+Math.imul(re,ve)|0,g=g+Math.imul(re,ge)|0,p=p+Math.imul(Z,me)|0,a=a+Math.imul(Z,ye)|0,a=a+Math.imul(ee,me)|0,g=g+Math.imul(ee,ye)|0,p=p+Math.imul(C,we)|0,a=a+Math.imul(C,be)|0,a=a+Math.imul(U,we)|0,g=g+Math.imul(U,be)|0,p=p+Math.imul(O,xe)|0,a=a+Math.imul(O,_e)|0,a=a+Math.imul(q,xe)|0,g=g+Math.imul(q,_e)|0,p=p+Math.imul(N,Me)|0,a=a+Math.imul(N,Se)|0,a=a+Math.imul(P,Me)|0,g=g+Math.imul(P,Se)|0,p=p+Math.imul(h,Ae)|0,a=a+Math.imul(h,Ee)|0,a=a+Math.imul(E,Ae)|0,g=g+Math.imul(E,Ee)|0;var Dr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,p=Math.imul(ae,ce),a=Math.imul(ae,le),a=a+Math.imul(fe,ce)|0,g=Math.imul(fe,le),p=p+Math.imul(se,de)|0,a=a+Math.imul(se,pe)|0,a=a+Math.imul(oe,de)|0,g=g+Math.imul(oe,pe)|0,p=p+Math.imul(ie,ve)|0,a=a+Math.imul(ie,ge)|0,a=a+Math.imul(ne,ve)|0,g=g+Math.imul(ne,ge)|0,p=p+Math.imul(te,me)|0,a=a+Math.imul(te,ye)|0,a=a+Math.imul(re,me)|0,g=g+Math.imul(re,ye)|0,p=p+Math.imul(Z,we)|0,a=a+Math.imul(Z,be)|0,a=a+Math.imul(ee,we)|0,g=g+Math.imul(ee,be)|0,p=p+Math.imul(C,xe)|0,a=a+Math.imul(C,_e)|0,a=a+Math.imul(U,xe)|0,g=g+Math.imul(U,_e)|0,p=p+Math.imul(O,Me)|0,a=a+Math.imul(O,Se)|0,a=a+Math.imul(q,Me)|0,g=g+Math.imul(q,Se)|0,p=p+Math.imul(N,Ae)|0,a=a+Math.imul(N,Ee)|0,a=a+Math.imul(P,Ae)|0,g=g+Math.imul(P,Ee)|0,p=p+Math.imul(h,Ie)|0,a=a+Math.imul(h,Re)|0,a=a+Math.imul(E,Ie)|0,g=g+Math.imul(E,Re)|0;var Ur=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Ur>>>26)|0,Ur&=67108863,p=Math.imul(he,ce),a=Math.imul(he,le),a=a+Math.imul(ue,ce)|0,g=Math.imul(ue,le),p=p+Math.imul(ae,de)|0,a=a+Math.imul(ae,pe)|0,a=a+Math.imul(fe,de)|0,g=g+Math.imul(fe,pe)|0,p=p+Math.imul(se,ve)|0,a=a+Math.imul(se,ge)|0,a=a+Math.imul(oe,ve)|0,g=g+Math.imul(oe,ge)|0,p=p+Math.imul(ie,me)|0,a=a+Math.imul(ie,ye)|0,a=a+Math.imul(ne,me)|0,g=g+Math.imul(ne,ye)|0,p=p+Math.imul(te,we)|0,a=a+Math.imul(te,be)|0,a=a+Math.imul(re,we)|0,g=g+Math.imul(re,be)|0,p=p+Math.imul(Z,xe)|0,a=a+Math.imul(Z,_e)|0,a=a+Math.imul(ee,xe)|0,g=g+Math.imul(ee,_e)|0,p=p+Math.imul(C,Me)|0,a=a+Math.imul(C,Se)|0,a=a+Math.imul(U,Me)|0,g=g+Math.imul(U,Se)|0,p=p+Math.imul(O,Ae)|0,a=a+Math.imul(O,Ee)|0,a=a+Math.imul(q,Ae)|0,g=g+Math.imul(q,Ee)|0,p=p+Math.imul(N,Ie)|0,a=a+Math.imul(N,Re)|0,a=a+Math.imul(P,Ie)|0,g=g+Math.imul(P,Re)|0,p=p+Math.imul(h,Ne)|0,a=a+Math.imul(h,Fe)|0,a=a+Math.imul(E,Ne)|0,g=g+Math.imul(E,Fe)|0;var kr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(kr>>>26)|0,kr&=67108863,p=Math.imul(he,de),a=Math.imul(he,pe),a=a+Math.imul(ue,de)|0,g=Math.imul(ue,pe),p=p+Math.imul(ae,ve)|0,a=a+Math.imul(ae,ge)|0,a=a+Math.imul(fe,ve)|0,g=g+Math.imul(fe,ge)|0,p=p+Math.imul(se,me)|0,a=a+Math.imul(se,ye)|0,a=a+Math.imul(oe,me)|0,g=g+Math.imul(oe,ye)|0,p=p+Math.imul(ie,we)|0,a=a+Math.imul(ie,be)|0,a=a+Math.imul(ne,we)|0,g=g+Math.imul(ne,be)|0,p=p+Math.imul(te,xe)|0,a=a+Math.imul(te,_e)|0,a=a+Math.imul(re,xe)|0,g=g+Math.imul(re,_e)|0,p=p+Math.imul(Z,Me)|0,a=a+Math.imul(Z,Se)|0,a=a+Math.imul(ee,Me)|0,g=g+Math.imul(ee,Se)|0,p=p+Math.imul(C,Ae)|0,a=a+Math.imul(C,Ee)|0,a=a+Math.imul(U,Ae)|0,g=g+Math.imul(U,Ee)|0,p=p+Math.imul(O,Ie)|0,a=a+Math.imul(O,Re)|0,a=a+Math.imul(q,Ie)|0,g=g+Math.imul(q,Re)|0,p=p+Math.imul(N,Ne)|0,a=a+Math.imul(N,Fe)|0,a=a+Math.imul(P,Ne)|0,g=g+Math.imul(P,Fe)|0;var Br=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Br>>>26)|0,Br&=67108863,p=Math.imul(he,ve),a=Math.imul(he,ge),a=a+Math.imul(ue,ve)|0,g=Math.imul(ue,ge),p=p+Math.imul(ae,me)|0,a=a+Math.imul(ae,ye)|0,a=a+Math.imul(fe,me)|0,g=g+Math.imul(fe,ye)|0,p=p+Math.imul(se,we)|0,a=a+Math.imul(se,be)|0,a=a+Math.imul(oe,we)|0,g=g+Math.imul(oe,be)|0,p=p+Math.imul(ie,xe)|0,a=a+Math.imul(ie,_e)|0,a=a+Math.imul(ne,xe)|0,g=g+Math.imul(ne,_e)|0,p=p+Math.imul(te,Me)|0,a=a+Math.imul(te,Se)|0,a=a+Math.imul(re,Me)|0,g=g+Math.imul(re,Se)|0,p=p+Math.imul(Z,Ae)|0,a=a+Math.imul(Z,Ee)|0,a=a+Math.imul(ee,Ae)|0,g=g+Math.imul(ee,Ee)|0,p=p+Math.imul(C,Ie)|0,a=a+Math.imul(C,Re)|0,a=a+Math.imul(U,Ie)|0,g=g+Math.imul(U,Re)|0,p=p+Math.imul(O,Ne)|0,a=a+Math.imul(O,Fe)|0,a=a+Math.imul(q,Ne)|0,g=g+Math.imul(q,Fe)|0;var zr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(zr>>>26)|0,zr&=67108863,p=Math.imul(he,me),a=Math.imul(he,ye),a=a+Math.imul(ue,me)|0,g=Math.imul(ue,ye),p=p+Math.imul(ae,we)|0,a=a+Math.imul(ae,be)|0,a=a+Math.imul(fe,we)|0,g=g+Math.imul(fe,be)|0,p=p+Math.imul(se,xe)|0,a=a+Math.imul(se,_e)|0,a=a+Math.imul(oe,xe)|0,g=g+Math.imul(oe,_e)|0,p=p+Math.imul(ie,Me)|0,a=a+Math.imul(ie,Se)|0,a=a+Math.imul(ne,Me)|0,g=g+Math.imul(ne,Se)|0,p=p+Math.imul(te,Ae)|0,a=a+Math.imul(te,Ee)|0,a=a+Math.imul(re,Ae)|0,g=g+Math.imul(re,Ee)|0,p=p+Math.imul(Z,Ie)|0,a=a+Math.imul(Z,Re)|0,a=a+Math.imul(ee,Ie)|0,g=g+Math.imul(ee,Re)|0,p=p+Math.imul(C,Ne)|0,a=a+Math.imul(C,Fe)|0,a=a+Math.imul(U,Ne)|0,g=g+Math.imul(U,Fe)|0;var Vr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,p=Math.imul(he,we),a=Math.imul(he,be),a=a+Math.imul(ue,we)|0,g=Math.imul(ue,be),p=p+Math.imul(ae,xe)|0,a=a+Math.imul(ae,_e)|0,a=a+Math.imul(fe,xe)|0,g=g+Math.imul(fe,_e)|0,p=p+Math.imul(se,Me)|0,a=a+Math.imul(se,Se)|0,a=a+Math.imul(oe,Me)|0,g=g+Math.imul(oe,Se)|0,p=p+Math.imul(ie,Ae)|0,a=a+Math.imul(ie,Ee)|0,a=a+Math.imul(ne,Ae)|0,g=g+Math.imul(ne,Ee)|0,p=p+Math.imul(te,Ie)|0,a=a+Math.imul(te,Re)|0,a=a+Math.imul(re,Ie)|0,g=g+Math.imul(re,Re)|0,p=p+Math.imul(Z,Ne)|0,a=a+Math.imul(Z,Fe)|0,a=a+Math.imul(ee,Ne)|0,g=g+Math.imul(ee,Fe)|0;var Kr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Kr>>>26)|0,Kr&=67108863,p=Math.imul(he,xe),a=Math.imul(he,_e),a=a+Math.imul(ue,xe)|0,g=Math.imul(ue,_e),p=p+Math.imul(ae,Me)|0,a=a+Math.imul(ae,Se)|0,a=a+Math.imul(fe,Me)|0,g=g+Math.imul(fe,Se)|0,p=p+Math.imul(se,Ae)|0,a=a+Math.imul(se,Ee)|0,a=a+Math.imul(oe,Ae)|0,g=g+Math.imul(oe,Ee)|0,p=p+Math.imul(ie,Ie)|0,a=a+Math.imul(ie,Re)|0,a=a+Math.imul(ne,Ie)|0,g=g+Math.imul(ne,Re)|0,p=p+Math.imul(te,Ne)|0,a=a+Math.imul(te,Fe)|0,a=a+Math.imul(re,Ne)|0,g=g+Math.imul(re,Fe)|0;var jr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(jr>>>26)|0,jr&=67108863,p=Math.imul(he,Me),a=Math.imul(he,Se),a=a+Math.imul(ue,Me)|0,g=Math.imul(ue,Se),p=p+Math.imul(ae,Ae)|0,a=a+Math.imul(ae,Ee)|0,a=a+Math.imul(fe,Ae)|0,g=g+Math.imul(fe,Ee)|0,p=p+Math.imul(se,Ie)|0,a=a+Math.imul(se,Re)|0,a=a+Math.imul(oe,Ie)|0,g=g+Math.imul(oe,Re)|0,p=p+Math.imul(ie,Ne)|0,a=a+Math.imul(ie,Fe)|0,a=a+Math.imul(ne,Ne)|0,g=g+Math.imul(ne,Fe)|0;var Gr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Gr>>>26)|0,Gr&=67108863,p=Math.imul(he,Ae),a=Math.imul(he,Ee),a=a+Math.imul(ue,Ae)|0,g=Math.imul(ue,Ee),p=p+Math.imul(ae,Ie)|0,a=a+Math.imul(ae,Re)|0,a=a+Math.imul(fe,Ie)|0,g=g+Math.imul(fe,Re)|0,p=p+Math.imul(se,Ne)|0,a=a+Math.imul(se,Fe)|0,a=a+Math.imul(oe,Ne)|0,g=g+Math.imul(oe,Fe)|0;var Hr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Hr>>>26)|0,Hr&=67108863,p=Math.imul(he,Ie),a=Math.imul(he,Re),a=a+Math.imul(ue,Ie)|0,g=Math.imul(ue,Re),p=p+Math.imul(ae,Ne)|0,a=a+Math.imul(ae,Fe)|0,a=a+Math.imul(fe,Ne)|0,g=g+Math.imul(fe,Fe)|0;var Jr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Jr>>>26)|0,Jr&=67108863,p=Math.imul(he,Ne),a=Math.imul(he,Fe),a=a+Math.imul(ue,Ne)|0,g=Math.imul(ue,Fe);var Wr=(M+p|0)+((a&8191)<<13)|0;return M=(g+(a>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,_[0]=pt,_[1]=vt,_[2]=gt,_[3]=mt,_[4]=yt,_[5]=$r,_[6]=Lr,_[7]=Dr,_[8]=Ur,_[9]=kr,_[10]=Br,_[11]=zr,_[12]=Vr,_[13]=Kr,_[14]=jr,_[15]=Gr,_[16]=Hr,_[17]=Jr,_[18]=Wr,M!==0&&(_[19]=M,l.length++),l};Math.imul||(K=T);function H(w,o,f){f.negative=o.negative^w.negative,f.length=w.length+o.length;for(var l=0,v=0,y=0;y>>26)|0,v+=_>>>26,_&=67108863}f.words[y]=M,l=_,_=v}return l!==0?f.words[y]=l:f.length--,f._strip()}function z(w,o,f){return H(w,o,f)}s.prototype.mulTo=function(o,f){var l,v=this.length+o.length;return this.length===10&&o.length===10?l=K(this,o,f):v<63?l=T(this,o,f):v<1024?l=H(this,o,f):l=z(this,o,f),l},s.prototype.mul=function(o){var f=new s(null);return f.words=new Array(this.length+o.length),this.mulTo(o,f)},s.prototype.mulf=function(o){var f=new s(null);return f.words=new Array(this.length+o.length),z(this,o,f)},s.prototype.imul=function(o){return this.clone().mulTo(o,this)},s.prototype.imuln=function(o){var f=o<0;f&&(o=-o),r(typeof o=="number"),r(o<67108864);for(var l=0,v=0;v>=26,l+=y/67108864|0,l+=_>>>26,this.words[v]=_&67108863}return l!==0&&(this.words[v]=l,this.length++),f?this.ineg():this},s.prototype.muln=function(o){return this.clone().imuln(o)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(o){var f=$(o);if(f.length===0)return new s(1);for(var l=this,v=0;v=0);var f=o%26,l=(o-f)/26,v=67108863>>>26-f<<26-f,y;if(f!==0){var _=0;for(y=0;y>>26-f}_&&(this.words[y]=_,this.length++)}if(l!==0){for(y=this.length-1;y>=0;y--)this.words[y+l]=this.words[y];for(y=0;y=0);var v;f?v=(f-f%26)/26:v=0;var y=o%26,_=Math.min((o-y)/26,this.length),M=67108863^67108863>>>y<_)for(this.length-=_,a=0;a=0&&(g!==0||a>=v);a--){var D=this.words[a]|0;this.words[a]=g<<26-y|D>>>y,g=D&M}return p&&g!==0&&(p.words[p.length++]=g),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(o,f,l){return r(this.negative===0),this.iushrn(o,f,l)},s.prototype.shln=function(o){return this.clone().ishln(o)},s.prototype.ushln=function(o){return this.clone().iushln(o)},s.prototype.shrn=function(o){return this.clone().ishrn(o)},s.prototype.ushrn=function(o){return this.clone().iushrn(o)},s.prototype.testn=function(o){r(typeof o=="number"&&o>=0);var f=o%26,l=(o-f)/26,v=1<=0);var f=o%26,l=(o-f)/26;if(r(this.negative===0,"imaskn works only with positive numbers"),this.length<=l)return this;if(f!==0&&l++,this.length=Math.min(l,this.length),f!==0){var v=67108863^67108863>>>f<=67108864;f++)this.words[f]-=67108864,f===this.length-1?this.words[f+1]=1:this.words[f+1]++;return this.length=Math.max(this.length,f+1),this},s.prototype.isubn=function(o){if(r(typeof o=="number"),r(o<67108864),o<0)return this.iaddn(-o);if(this.negative!==0)return this.negative=0,this.iaddn(o),this.negative=1,this;if(this.words[0]-=o,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var f=0;f>26)-(p/67108864|0),this.words[y+l]=_&67108863}for(;y>26,this.words[y+l]=_&67108863;if(M===0)return this._strip();for(r(M===-1),M=0,y=0;y>26,this.words[y]=_&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(o,f){var l=this.length-o.length,v=this.clone(),y=o,_=y.words[y.length-1]|0,M=this._countBits(_);l=26-M,l!==0&&(y=y.ushln(l),v.iushln(l),_=y.words[y.length-1]|0);var p=v.length-y.length,a;if(f!=="mod"){a=new s(null),a.length=p+1,a.words=new Array(a.length);for(var g=0;g=0;h--){var E=(v.words[y.length+h]|0)*67108864+(v.words[y.length+h-1]|0);for(E=Math.min(E/_|0,67108863),v._ishlnsubmul(y,E,h);v.negative!==0;)E--,v.negative=0,v._ishlnsubmul(y,1,h),v.isZero()||(v.negative^=1);a&&(a.words[h]=E)}return a&&a._strip(),v._strip(),f!=="div"&&l!==0&&v.iushrn(l),{div:a||null,mod:v}},s.prototype.divmod=function(o,f,l){if(r(!o.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var v,y,_;return this.negative!==0&&o.negative===0?(_=this.neg().divmod(o,f),f!=="mod"&&(v=_.div.neg()),f!=="div"&&(y=_.mod.neg(),l&&y.negative!==0&&y.iadd(o)),{div:v,mod:y}):this.negative===0&&o.negative!==0?(_=this.divmod(o.neg(),f),f!=="mod"&&(v=_.div.neg()),{div:v,mod:_.mod}):this.negative&o.negative?(_=this.neg().divmod(o.neg(),f),f!=="div"&&(y=_.mod.neg(),l&&y.negative!==0&&y.isub(o)),{div:_.div,mod:y}):o.length>this.length||this.cmp(o)<0?{div:new s(0),mod:this}:o.length===1?f==="div"?{div:this.divn(o.words[0]),mod:null}:f==="mod"?{div:null,mod:new s(this.modrn(o.words[0]))}:{div:this.divn(o.words[0]),mod:new s(this.modrn(o.words[0]))}:this._wordDiv(o,f)},s.prototype.div=function(o){return this.divmod(o,"div",!1).div},s.prototype.mod=function(o){return this.divmod(o,"mod",!1).mod},s.prototype.umod=function(o){return this.divmod(o,"mod",!0).mod},s.prototype.divRound=function(o){var f=this.divmod(o);if(f.mod.isZero())return f.div;var l=f.div.negative!==0?f.mod.isub(o):f.mod,v=o.ushrn(1),y=o.andln(1),_=l.cmp(v);return _<0||y===1&&_===0?f.div:f.div.negative!==0?f.div.isubn(1):f.div.iaddn(1)},s.prototype.modrn=function(o){var f=o<0;f&&(o=-o),r(o<=67108863);for(var l=(1<<26)%o,v=0,y=this.length-1;y>=0;y--)v=(l*v+(this.words[y]|0))%o;return f?-v:v},s.prototype.modn=function(o){return this.modrn(o)},s.prototype.idivn=function(o){var f=o<0;f&&(o=-o),r(o<=67108863);for(var l=0,v=this.length-1;v>=0;v--){var y=(this.words[v]|0)+l*67108864;this.words[v]=y/o|0,l=y%o}return this._strip(),f?this.ineg():this},s.prototype.divn=function(o){return this.clone().idivn(o)},s.prototype.egcd=function(o){r(o.negative===0),r(!o.isZero());var f=this,l=o.clone();f.negative!==0?f=f.umod(o):f=f.clone();for(var v=new s(1),y=new s(0),_=new s(0),M=new s(1),p=0;f.isEven()&&l.isEven();)f.iushrn(1),l.iushrn(1),++p;for(var a=l.clone(),g=f.clone();!f.isZero();){for(var D=0,h=1;!(f.words[0]&h)&&D<26;++D,h<<=1);if(D>0)for(f.iushrn(D);D-- >0;)(v.isOdd()||y.isOdd())&&(v.iadd(a),y.isub(g)),v.iushrn(1),y.iushrn(1);for(var E=0,R=1;!(l.words[0]&R)&&E<26;++E,R<<=1);if(E>0)for(l.iushrn(E);E-- >0;)(_.isOdd()||M.isOdd())&&(_.iadd(a),M.isub(g)),_.iushrn(1),M.iushrn(1);f.cmp(l)>=0?(f.isub(l),v.isub(_),y.isub(M)):(l.isub(f),_.isub(v),M.isub(y))}return{a:_,b:M,gcd:l.iushln(p)}},s.prototype._invmp=function(o){r(o.negative===0),r(!o.isZero());var f=this,l=o.clone();f.negative!==0?f=f.umod(o):f=f.clone();for(var v=new s(1),y=new s(0),_=l.clone();f.cmpn(1)>0&&l.cmpn(1)>0;){for(var M=0,p=1;!(f.words[0]&p)&&M<26;++M,p<<=1);if(M>0)for(f.iushrn(M);M-- >0;)v.isOdd()&&v.iadd(_),v.iushrn(1);for(var a=0,g=1;!(l.words[0]&g)&&a<26;++a,g<<=1);if(a>0)for(l.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(_),y.iushrn(1);f.cmp(l)>=0?(f.isub(l),v.isub(y)):(l.isub(f),y.isub(v))}var D;return f.cmpn(1)===0?D=v:D=y,D.cmpn(0)<0&&D.iadd(o),D},s.prototype.gcd=function(o){if(this.isZero())return o.abs();if(o.isZero())return this.abs();var f=this.clone(),l=o.clone();f.negative=0,l.negative=0;for(var v=0;f.isEven()&&l.isEven();v++)f.iushrn(1),l.iushrn(1);do{for(;f.isEven();)f.iushrn(1);for(;l.isEven();)l.iushrn(1);var y=f.cmp(l);if(y<0){var _=f;f=l,l=_}else if(y===0||l.cmpn(1)===0)break;f.isub(l)}while(!0);return l.iushln(v)},s.prototype.invm=function(o){return this.egcd(o).a.umod(o)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(o){return this.words[0]&o},s.prototype.bincn=function(o){r(typeof o=="number");var f=o%26,l=(o-f)/26,v=1<>>26,M&=67108863,this.words[_]=M}return y!==0&&(this.words[_]=y,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(o){var f=o<0;if(this.negative!==0&&!f)return-1;if(this.negative===0&&f)return 1;this._strip();var l;if(this.length>1)l=1;else{f&&(o=-o),r(o<=67108863,"Number is too big");var v=this.words[0]|0;l=v===o?0:vo.length)return 1;if(this.length=0;l--){var v=this.words[l]|0,y=o.words[l]|0;if(v!==y){vy&&(f=1);break}}return f},s.prototype.gtn=function(o){return this.cmpn(o)===1},s.prototype.gt=function(o){return this.cmp(o)===1},s.prototype.gten=function(o){return this.cmpn(o)>=0},s.prototype.gte=function(o){return this.cmp(o)>=0},s.prototype.ltn=function(o){return this.cmpn(o)===-1},s.prototype.lt=function(o){return this.cmp(o)===-1},s.prototype.lten=function(o){return this.cmpn(o)<=0},s.prototype.lte=function(o){return this.cmp(o)<=0},s.prototype.eqn=function(o){return this.cmpn(o)===0},s.prototype.eq=function(o){return this.cmp(o)===0},s.red=function(o){return new Q(o)},s.prototype.toRed=function(o){return r(!this.red,"Already a number in reduction context"),r(this.negative===0,"red works only with positives"),o.convertTo(this)._forceRed(o)},s.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(o){return this.red=o,this},s.prototype.forceRed=function(o){return r(!this.red,"Already a number in reduction context"),this._forceRed(o)},s.prototype.redAdd=function(o){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,o)},s.prototype.redIAdd=function(o){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,o)},s.prototype.redSub=function(o){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,o)},s.prototype.redISub=function(o){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,o)},s.prototype.redShl=function(o){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,o)},s.prototype.redMul=function(o){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.mul(this,o)},s.prototype.redIMul=function(o){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.imul(this,o)},s.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(o){return r(this.red&&!o.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,o)};var V={k256:null,p224:null,p192:null,p25519:null};function j(w,o){this.name=w,this.p=new s(o,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}j.prototype._tmp=function(){var o=new s(null);return o.words=new Array(Math.ceil(this.n/13)),o},j.prototype.ireduce=function(o){var f=o,l;do this.split(f,this.tmp),f=this.imulK(f),f=f.iadd(this.tmp),l=f.bitLength();while(l>this.n);var v=l0?f.isub(this.p):f.strip!==void 0?f.strip():f._strip(),f},j.prototype.split=function(o,f){o.iushrn(this.n,0,f)},j.prototype.imulK=function(o){return o.imul(this.k)};function J(){j.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(J,j),J.prototype.split=function(o,f){for(var l=4194303,v=Math.min(o.length,9),y=0;y>>22,_=M}_>>>=22,o.words[y-10]=_,_===0&&o.length>10?o.length-=10:o.length-=9},J.prototype.imulK=function(o){o.words[o.length]=0,o.words[o.length+1]=0,o.length+=2;for(var f=0,l=0;l>>=26,o.words[l]=y,f=v}return f!==0&&(o.words[o.length++]=f),o},s._prime=function(o){if(V[o])return V[o];var f;if(o==="k256")f=new J;else if(o==="p224")f=new Y;else if(o==="p192")f=new Te;else if(o==="p25519")f=new dt;else throw new Error("Unknown prime "+o);return V[o]=f,f};function Q(w){if(typeof w=="string"){var o=s._prime(w);this.m=o.p,this.prime=o}else r(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}Q.prototype._verify1=function(o){r(o.negative===0,"red works only with positives"),r(o.red,"red works only with red numbers")},Q.prototype._verify2=function(o,f){r((o.negative|f.negative)===0,"red works only with positives"),r(o.red&&o.red===f.red,"red works only with red numbers")},Q.prototype.imod=function(o){return this.prime?this.prime.ireduce(o)._forceRed(this):(b(o,o.umod(this.m)._forceRed(this)),o)},Q.prototype.neg=function(o){return o.isZero()?o.clone():this.m.sub(o)._forceRed(this)},Q.prototype.add=function(o,f){this._verify2(o,f);var l=o.add(f);return l.cmp(this.m)>=0&&l.isub(this.m),l._forceRed(this)},Q.prototype.iadd=function(o,f){this._verify2(o,f);var l=o.iadd(f);return l.cmp(this.m)>=0&&l.isub(this.m),l},Q.prototype.sub=function(o,f){this._verify2(o,f);var l=o.sub(f);return l.cmpn(0)<0&&l.iadd(this.m),l._forceRed(this)},Q.prototype.isub=function(o,f){this._verify2(o,f);var l=o.isub(f);return l.cmpn(0)<0&&l.iadd(this.m),l},Q.prototype.shl=function(o,f){return this._verify1(o),this.imod(o.ushln(f))},Q.prototype.imul=function(o,f){return this._verify2(o,f),this.imod(o.imul(f))},Q.prototype.mul=function(o,f){return this._verify2(o,f),this.imod(o.mul(f))},Q.prototype.isqr=function(o){return this.imul(o,o.clone())},Q.prototype.sqr=function(o){return this.mul(o,o)},Q.prototype.sqrt=function(o){if(o.isZero())return o.clone();var f=this.m.andln(3);if(r(f%2===1),f===3){var l=this.m.add(new s(1)).iushrn(2);return this.pow(o,l)}for(var v=this.m.subn(1),y=0;!v.isZero()&&v.andln(1)===0;)y++,v.iushrn(1);r(!v.isZero());var _=new s(1).toRed(this),M=_.redNeg(),p=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);this.pow(a,p).cmp(M)!==0;)a.redIAdd(M);for(var g=this.pow(a,v),D=this.pow(o,v.addn(1).iushrn(1)),h=this.pow(o,v),E=y;h.cmp(_)!==0;){for(var R=h,N=0;R.cmp(_)!==0;N++)R=R.redSqr();r(N=0;y--){for(var g=f.words[y],D=a-1;D>=0;D--){var h=g>>D&1;if(_!==v[0]&&(_=this.sqr(_)),h===0&&M===0){p=0;continue}M<<=1,M|=h,p++,!(p!==l&&(y!==0||D!==0))&&(_=this.mul(_,v[M]),p=0,M=0)}a=26}return _},Q.prototype.convertTo=function(o){var f=o.umod(this.m);return f===o?f.clone():f},Q.prototype.convertFrom=function(o){var f=o.clone();return f.red=null,f},s.mont=function(o){return new je(o)};function je(w){Q.call(this,w),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(je,Q),je.prototype.convertTo=function(o){return this.imod(o.ushln(this.shift))},je.prototype.convertFrom=function(o){var f=this.imod(o.mul(this.rinv));return f.red=null,f},je.prototype.imul=function(o,f){if(o.isZero()||f.isZero())return o.words[0]=0,o.length=1,o;var l=o.imul(f),v=l.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=l.isub(v).iushrn(this.shift),_=y;return y.cmp(this.m)>=0?_=y.isub(this.m):y.cmpn(0)<0&&(_=y.iadd(this.m)),_._forceRed(this)},je.prototype.mul=function(o,f){if(o.isZero()||f.isZero())return new s(0)._forceRed(this);var l=o.mul(f),v=l.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=l.isub(v).iushrn(this.shift),_=y;return y.cmp(this.m)>=0?_=y.isub(this.m):y.cmpn(0)<0&&(_=y.iadd(this.m)),_._forceRed(this)},je.prototype.invm=function(o){var f=this.imod(o._invmp(this.m).mul(this.r2));return f._forceRed(this)}})(i,Rn)})(Si);var uo=Si.exports;const k=Pr(uo);var co=k.BN;function lo(i){return new co(i,36).toString(16)}const po="strings/5.7.0",vo=new Pe(po);var Ir;(function(i){i.current="",i.NFC="NFC",i.NFD="NFD",i.NFKC="NFKC",i.NFKD="NFKD"})(Ir||(Ir={}));var Vi;(function(i){i.UNEXPECTED_CONTINUE="unexpected continuation byte",i.BAD_PREFIX="bad codepoint prefix",i.OVERRUN="string overrun",i.MISSING_CONTINUE="missing continuation byte",i.OUT_OF_RANGE="out of UTF-8 range",i.UTF16_SURROGATE="UTF-16 surrogate",i.OVERLONG="overlong representation"})(Vi||(Vi={}));function ti(i,t=Ir.current){t!=Ir.current&&(vo.checkNormalize(),i=i.normalize(t));let e=[];for(let r=0;r>6|192),e.push(n&63|128);else if((n&64512)==55296){r++;const s=i.charCodeAt(r);if(r>=i.length||(s&64512)!==56320)throw new Error("invalid utf-8 string");const u=65536+((n&1023)<<10)+(s&1023);e.push(u>>18|240),e.push(u>>12&63|128),e.push(u>>6&63|128),e.push(u&63|128)}else e.push(n>>12|224),e.push(n>>6&63|128),e.push(n&63|128)}return Ce(e)}const go=`Ethereum Signed Message: +`;function Tn(i){return typeof i=="string"&&(i=ti(i)),Mi(ao([ti(go),ti(String(i.length)),i]))}const mo="address/5.7.0",lr=new Pe(mo);function Ki(i){tt(i,20)||lr.throwArgumentError("invalid address","address",i),i=i.toLowerCase();const t=i.substring(2).split(""),e=new Uint8Array(40);for(let n=0;n<40;n++)e[n]=t[n].charCodeAt(0);const r=Ce(Mi(e));for(let n=0;n<40;n+=2)r[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(r[n>>1]&15)>=8&&(t[n+1]=t[n+1].toUpperCase());return"0x"+t.join("")}const yo=9007199254740991;function wo(i){return Math.log10?Math.log10(i):Math.log(i)/Math.LN10}const Ai={};for(let i=0;i<10;i++)Ai[String(i)]=String(i);for(let i=0;i<26;i++)Ai[String.fromCharCode(65+i)]=String(10+i);const ji=Math.floor(wo(yo));function bo(i){i=i.toUpperCase(),i=i.substring(4)+i.substring(0,2)+"00";let t=i.split("").map(r=>Ai[r]).join("");for(;t.length>=ji;){let r=t.substring(0,ji);t=parseInt(r,10)%97+t.substring(r.length)}let e=String(98-parseInt(t,10)%97);for(;e.length<2;)e="0"+e;return e}function xo(i){let t=null;if(typeof i!="string"&&lr.throwArgumentError("invalid address","address",i),i.match(/^(0x)?[0-9a-fA-F]{40}$/))i.substring(0,2)!=="0x"&&(i="0x"+i),t=Ki(i),i.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==i&&lr.throwArgumentError("bad address checksum","address",i);else if(i.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(i.substring(2,4)!==bo(i)&&lr.throwArgumentError("bad icap checksum","address",i),t=lo(i.substring(4));t.length<40;)t="0"+t;t=Ki("0x"+t)}else lr.throwArgumentError("invalid address","address",i);return t}globalThis&&globalThis.__awaiter;function or(i,t,e){Object.defineProperty(i,t,{enumerable:!0,value:e,writable:!1})}var $n={},G={},pr=Ln;function Ln(i,t){if(!i)throw new Error(t||"Assertion failed")}Ln.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)};var vi={exports:{}};typeof Object.create=="function"?vi.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:vi.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}};var _o=vi.exports,Mo=pr,So=_o;G.inherits=So;function Ao(i,t){return(i.charCodeAt(t)&64512)!==55296||t<0||t+1>=i.length?!1:(i.charCodeAt(t+1)&64512)===56320}function Eo(i,t){if(Array.isArray(i))return i.slice();if(!i)return[];var e=[];if(typeof i=="string")if(t){if(t==="hex")for(i=i.replace(/[^a-z0-9]+/ig,""),i.length%2!==0&&(i="0"+i),n=0;n>6|192,e[r++]=s&63|128):Ao(i,n)?(s=65536+((s&1023)<<10)+(i.charCodeAt(++n)&1023),e[r++]=s>>18|240,e[r++]=s>>12&63|128,e[r++]=s>>6&63|128,e[r++]=s&63|128):(e[r++]=s>>12|224,e[r++]=s>>6&63|128,e[r++]=s&63|128)}else for(n=0;n>>24|i>>>8&65280|i<<8&16711680|(i&255)<<24;return t>>>0}G.htonl=Dn;function Ro(i,t){for(var e="",r=0;r>>0}return s}G.join32=No;function Fo(i,t){for(var e=new Array(i.length*4),r=0,n=0;r>>24,e[n+1]=s>>>16&255,e[n+2]=s>>>8&255,e[n+3]=s&255):(e[n+3]=s>>>24,e[n+2]=s>>>16&255,e[n+1]=s>>>8&255,e[n]=s&255)}return e}G.split32=Fo;function Po(i,t){return i>>>t|i<<32-t}G.rotr32=Po;function qo(i,t){return i<>>32-t}G.rotl32=qo;function Oo(i,t){return i+t>>>0}G.sum32=Oo;function Co(i,t,e){return i+t+e>>>0}G.sum32_3=Co;function To(i,t,e,r){return i+t+e+r>>>0}G.sum32_4=To;function $o(i,t,e,r,n){return i+t+e+r+n>>>0}G.sum32_5=$o;function Lo(i,t,e,r){var n=i[t],s=i[t+1],u=r+s>>>0,c=(u>>0,i[t+1]=u}G.sum64=Lo;function Do(i,t,e,r){var n=t+r>>>0,s=(n>>0}G.sum64_hi=Do;function Uo(i,t,e,r){var n=t+r;return n>>>0}G.sum64_lo=Uo;function ko(i,t,e,r,n,s,u,c){var d=0,m=t;m=m+r>>>0,d+=m>>0,d+=m>>0,d+=m>>0}G.sum64_4_hi=ko;function Bo(i,t,e,r,n,s,u,c){var d=t+r+s+c;return d>>>0}G.sum64_4_lo=Bo;function zo(i,t,e,r,n,s,u,c,d,m){var b=0,x=t;x=x+r>>>0,b+=x>>0,b+=x>>0,b+=x>>0,b+=x>>0}G.sum64_5_hi=zo;function Vo(i,t,e,r,n,s,u,c,d,m){var b=t+r+s+c+m;return b>>>0}G.sum64_5_lo=Vo;function Ko(i,t,e){var r=t<<32-e|i>>>e;return r>>>0}G.rotr64_hi=Ko;function jo(i,t,e){var r=i<<32-e|t>>>e;return r>>>0}G.rotr64_lo=jo;function Go(i,t,e){return i>>>e}G.shr64_hi=Go;function Ho(i,t,e){var r=i<<32-e|t>>>e;return r>>>0}G.shr64_lo=Ho;var Zt={},Gi=G,Jo=pr;function qr(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}Zt.BlockHash=qr;qr.prototype.update=function(t,e){if(t=Gi.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){t=this.pending;var r=t.length%this._delta8;this.pending=t.slice(t.length-r,t.length),this.pending.length===0&&(this.pending=null),t=Gi.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[s++]=t>>>16&255,n[s++]=t>>>8&255,n[s++]=t&255}else for(n[s++]=t&255,n[s++]=t>>>8&255,n[s++]=t>>>16&255,n[s++]=t>>>24&255,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,u=8;u>>3}ft.g0_256=Zo;function ea(i){return rt(i,17)^rt(i,19)^i>>>10}ft.g1_256=ea;var Xt=G,ta=Zt,ra=ft,ri=Xt.rotl32,ar=Xt.sum32,ia=Xt.sum32_5,na=ra.ft_1,Kn=ta.BlockHash,sa=[1518500249,1859775393,2400959708,3395469782];function st(){if(!(this instanceof st))return new st;Kn.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Xt.inherits(st,Kn);var oa=st;st.blockSize=512;st.outSize=160;st.hmacStrength=80;st.padLength=64;st.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=new this.Hash().update(t).digest()),Ha(t.length<=this.blockSize);for(var e=t.length;e>8,A=b&255;x?d.push(x,A):d.push(A)}return d}e.toArray=r;function n(u){return u.length===1?"0"+u:u}e.zero2=n;function s(u){for(var c="",d=0;d(A>>1)-1?F=(A>>1)-$:F=$,I.isubn(F)):F=0,x[S]=F,I.iushrn(1)}return x}e.getNAF=r;function n(d,m){var b=[[],[]];d=d.clone(),m=m.clone();for(var x=0,A=0,I;d.cmpn(-x)>0||m.cmpn(-A)>0;){var S=d.andln(3)+x&3,F=m.andln(3)+A&3;S===3&&(S=-1),F===3&&(F=-1);var $;S&1?(I=d.andln(7)+x&7,(I===3||I===5)&&F===2?$=-S:$=S):$=0,b[0].push($);var T;F&1?(I=m.andln(7)+A&7,(I===3||I===5)&&S===2?T=-F:T=F):T=0,b[1].push(T),2*x===$+1&&(x=1-x),2*A===T+1&&(A=1-A),d.iushrn(1),m.iushrn(1)}return b}e.getJSF=n;function s(d,m,b){var x="_"+m;d.prototype[m]=function(){return this[x]!==void 0?this[x]:this[x]=b.call(this)}}e.cachedProperty=s;function u(d){return typeof d=="string"?e.toArray(d,"hex"):d}e.parseBytes=u;function c(d){return new k(d,"hex","le")}e.intFromLE=c}),Rr=Ke.getNAF,Xa=Ke.getJSF,Nr=Ke.assert;function St(i,t){this.type=i,this.p=new k(t.p,16),this.red=t.prime?k.red(t.prime):k.mont(this.p),this.zero=new k(0).toRed(this.red),this.one=new k(1).toRed(this.red),this.two=new k(2).toRed(this.red),this.n=t.n&&new k(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var e=this.n&&this.p.div(this.n);!e||e.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Kt=St;St.prototype.point=function(){throw new Error("Not implemented")};St.prototype.validate=function(){throw new Error("Not implemented")};St.prototype._fixedNafMul=function(t,e){Nr(t.precomputed);var r=t._getDoubles(),n=Rr(e,1,this._bitLength),s=(1<=c;m--)d=(d<<1)+n[m];u.push(d)}for(var b=this.jpoint(null,null,null),x=this.jpoint(null,null,null),A=s;A>0;A--){for(c=0;c=0;d--){for(var m=0;d>=0&&u[d]===0;d--)m++;if(d>=0&&m++,c=c.dblp(m),d<0)break;var b=u[d];Nr(b!==0),t.type==="affine"?b>0?c=c.mixedAdd(s[b-1>>1]):c=c.mixedAdd(s[-b-1>>1].neg()):b>0?c=c.add(s[b-1>>1]):c=c.add(s[-b-1>>1].neg())}return t.type==="affine"?c.toP():c};St.prototype._wnafMulAdd=function(t,e,r,n,s){var u=this._wnafT1,c=this._wnafT2,d=this._wnafT3,m=0,b,x,A;for(b=0;b=1;b-=2){var S=b-1,F=b;if(u[S]!==1||u[F]!==1){d[S]=Rr(r[S],u[S],this._bitLength),d[F]=Rr(r[F],u[F],this._bitLength),m=Math.max(d[S].length,m),m=Math.max(d[F].length,m);continue}var $=[e[S],null,null,e[F]];e[S].y.cmp(e[F].y)===0?($[1]=e[S].add(e[F]),$[2]=e[S].toJ().mixedAdd(e[F].neg())):e[S].y.cmp(e[F].y.redNeg())===0?($[1]=e[S].toJ().mixedAdd(e[F]),$[2]=e[S].add(e[F].neg())):($[1]=e[S].toJ().mixedAdd(e[F]),$[2]=e[S].toJ().mixedAdd(e[F].neg()));var T=[-3,-1,-5,-7,0,7,5,1,3],K=Xa(r[S],r[F]);for(m=Math.max(K[0].length,m),d[S]=new Array(m),d[F]=new Array(m),x=0;x=0;b--){for(var J=0;b>=0;){var Y=!0;for(x=0;x=0&&J++,V=V.dblp(J),b<0)break;for(x=0;x0?A=c[x][Te-1>>1]:Te<0&&(A=c[x][-Te-1>>1].neg()),A.type==="affine"?V=V.mixedAdd(A):V=V.add(A))}}for(b=0;b=Math.ceil((t.bitLength()+1)/e.step):!1};He.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,s=0;s=0&&(I=m,S=b),x.negative&&(x=x.neg(),A=A.neg()),I.negative&&(I=I.neg(),S=S.neg()),[{a:x,b:A},{a:I,b:S}]};Je.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],s=n.b.mul(t).divRound(this.n),u=r.b.neg().mul(t).divRound(this.n),c=s.mul(r.a),d=u.mul(n.a),m=s.mul(r.b),b=u.mul(n.b),x=t.sub(c).sub(d),A=m.add(b).neg();return{k1:x,k2:A}};Je.prototype.pointFromX=function(t,e){t=new k(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(n.redSqr().redSub(r).cmp(this.zero)!==0)throw new Error("invalid point");var s=n.fromRed().isOdd();return(e&&!s||!e&&s)&&(n=n.redNeg()),this.point(t,n)};Je.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),s=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return r.redSqr().redISub(s).cmpn(0)===0};Je.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,s=this._endoWnafT2,u=0;u":""};$e.prototype.isInfinity=function(){return this.inf};$e.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(this.x.cmp(t.x)===0)return this.curve.point(null,null);var e=this.y.redSub(t.y);e.cmpn(0)!==0&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)};$e.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(t.cmpn(0)===0)return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),s=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),u=s.redSqr().redISub(this.x.redAdd(this.x)),c=s.redMul(this.x.redSub(u)).redISub(this.y);return this.curve.point(u,c)};$e.prototype.getX=function(){return this.x.fromRed()};$e.prototype.getY=function(){return this.y.fromRed()};$e.prototype.mul=function(t){return t=new k(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)};$e.prototype.mulAdd=function(t,e,r){var n=[this,e],s=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)};$e.prototype.jmulAdd=function(t,e,r){var n=[this,e],s=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)};$e.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||this.x.cmp(t.x)===0&&this.y.cmp(t.y)===0)};$e.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(s){return s.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e};$e.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t};function De(i,t,e,r){Kt.BasePoint.call(this,i,"jacobian"),t===null&&e===null&&r===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new k(0)):(this.x=new k(t,16),this.y=new k(e,16),this.z=new k(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Ii(De,Kt.BasePoint);Je.prototype.jpoint=function(t,e,r){return new De(this,t,e,r)};De.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)};De.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};De.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),s=t.x.redMul(r),u=this.y.redMul(e.redMul(t.z)),c=t.y.redMul(r.redMul(this.z)),d=n.redSub(s),m=u.redSub(c);if(d.cmpn(0)===0)return m.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var b=d.redSqr(),x=b.redMul(d),A=n.redMul(b),I=m.redSqr().redIAdd(x).redISub(A).redISub(A),S=m.redMul(A.redISub(I)).redISub(u.redMul(x)),F=this.z.redMul(t.z).redMul(d);return this.curve.jpoint(I,S,F)};De.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),s=this.y,u=t.y.redMul(e).redMul(this.z),c=r.redSub(n),d=s.redSub(u);if(c.cmpn(0)===0)return d.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var m=c.redSqr(),b=m.redMul(c),x=r.redMul(m),A=d.redSqr().redIAdd(b).redISub(x).redISub(x),I=d.redMul(x.redISub(A)).redISub(s.redMul(b)),S=this.z.redMul(c);return this.curve.jpoint(A,I,S)};De.prototype.dblp=function(t){if(t===0)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(s),this.x.cmp(r)===0)return!0}};De.prototype.inspect=function(){return this.isInfinity()?"":""};De.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var _r=rr(function(i,t){var e=t;e.base=Kt,e.short=Qa,e.mont=null,e.edwards=null}),Mr=rr(function(i,t){var e=t,r=Ke.assert;function n(c){c.type==="short"?this.curve=new _r.short(c):c.type==="edwards"?this.curve=new _r.edwards(c):this.curve=new _r.mont(c),this.g=this.curve.g,this.n=this.curve.n,this.hash=c.hash,r(this.g.validate(),"Invalid curve"),r(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=n;function s(c,d){Object.defineProperty(e,c,{configurable:!0,enumerable:!0,get:function(){var m=new n(d);return Object.defineProperty(e,c,{configurable:!0,enumerable:!0,value:m}),m}})}s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:ut.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:ut.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:ut.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:ut.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:ut.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ut.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ut.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var u;try{u=null.crash()}catch{u=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:ut.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",u]})});function Mt(i){if(!(this instanceof Mt))return new Mt(i);this.hash=i.hash,this.predResist=!!i.predResist,this.outLen=this.hash.outSize,this.minEntropy=i.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=Qe.toArray(i.entropy,i.entropyEnc||"hex"),e=Qe.toArray(i.nonce,i.nonceEnc||"hex"),r=Qe.toArray(i.pers,i.persEnc||"hex");Ei(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,e,r)}var rs=Mt;Mt.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1};Mt.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof e!="string"&&(n=r,r=e,e=null),r&&(r=Qe.toArray(r,n||"hex"),this._update(r));for(var s=[];s.length"};var Za=Ke.assert;function Or(i,t){if(i instanceof Or)return i;this._importDER(i,t)||(Za(i.r&&i.s,"Signature without r or s"),this.r=new k(i.r,16),this.s=new k(i.s,16),i.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=i.recoveryParam)}var Cr=Or;function ef(){this.place=0}function si(i,t){var e=i[t.place++];if(!(e&128))return e;var r=e&15;if(r===0||r>4)return!1;for(var n=0,s=0,u=t.place;s>>=0;return n<=127?!1:(t.place=u,n)}function Xi(i){for(var t=0,e=i.length-1;!i[t]&&!(i[t+1]&128)&&t>>3);for(i.push(e|128);--e;)i.push(t>>>(e<<3)&255);i.push(t)}Or.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(e[0]&128&&(e=[0].concat(e)),r[0]&128&&(r=[0].concat(r)),e=Xi(e),r=Xi(r);!r[0]&&!(r[1]&128);)r=r.slice(1);var n=[2];oi(n,e.length),n=n.concat(e),n.push(2),oi(n,r.length);var s=n.concat(r),u=[48];return oi(u,s.length),u=u.concat(s),Ke.encode(u,t)};var tf=function(){throw new Error("unsupported")},is=Ke.assert;function Ge(i){if(!(this instanceof Ge))return new Ge(i);typeof i=="string"&&(is(Object.prototype.hasOwnProperty.call(Mr,i),"Unknown curve "+i),i=Mr[i]),i instanceof Mr.PresetCurve&&(i={curve:i}),this.curve=i.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=i.curve.g,this.g.precompute(i.curve.n.bitLength()+1),this.hash=i.hash||i.curve.hash}var rf=Ge;Ge.prototype.keyPair=function(t){return new Ri(this,t)};Ge.prototype.keyFromPrivate=function(t,e){return Ri.fromPrivate(this,t,e)};Ge.prototype.keyFromPublic=function(t,e){return Ri.fromPublic(this,t,e)};Ge.prototype.genKeyPair=function(t){t||(t={});for(var e=new rs({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||tf(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new k(2));;){var s=new k(e.generate(r));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}};Ge.prototype._truncateToN=function(t,e){var r=t.byteLength()*8-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t};Ge.prototype.sign=function(t,e,r,n){typeof r=="object"&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new k(t,16));for(var s=this.n.byteLength(),u=e.getPrivate().toArray("be",s),c=t.toArray("be",s),d=new rs({hash:this.hash,entropy:u,nonce:c,pers:n.pers,persEnc:n.persEnc||"utf8"}),m=this.n.sub(new k(1)),b=0;;b++){var x=n.k?n.k(b):new k(d.generate(this.n.byteLength()));if(x=this._truncateToN(x,!0),!(x.cmpn(1)<=0||x.cmp(m)>=0)){var A=this.g.mul(x);if(!A.isInfinity()){var I=A.getX(),S=I.umod(this.n);if(S.cmpn(0)!==0){var F=x.invm(this.n).mul(S.mul(e.getPrivate()).iadd(t));if(F=F.umod(this.n),F.cmpn(0)!==0){var $=(A.getY().isOdd()?1:0)|(I.cmp(S)!==0?2:0);return n.canonical&&F.cmp(this.nh)>0&&(F=this.n.sub(F),$^=1),new Cr({r:S,s:F,recoveryParam:$})}}}}}};Ge.prototype.verify=function(t,e,r,n){t=this._truncateToN(new k(t,16)),r=this.keyFromPublic(r,n),e=new Cr(e,"hex");var s=e.r,u=e.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0||u.cmpn(1)<0||u.cmp(this.n)>=0)return!1;var c=u.invm(this.n),d=c.mul(t).umod(this.n),m=c.mul(s).umod(this.n),b;return this.curve._maxwellTrick?(b=this.g.jmulAdd(d,r.getPublic(),m),b.isInfinity()?!1:b.eqXToP(s)):(b=this.g.mulAdd(d,r.getPublic(),m),b.isInfinity()?!1:b.getX().umod(this.n).cmp(s)===0)};Ge.prototype.recoverPubKey=function(i,t,e,r){is((3&e)===e,"The recovery param is more than two bits"),t=new Cr(t,r);var n=this.n,s=new k(i),u=t.r,c=t.s,d=e&1,m=e>>1;if(u.cmp(this.curve.p.umod(this.curve.n))>=0&&m)throw new Error("Unable to find sencond key candinate");m?u=this.curve.pointFromX(u.add(this.curve.n),d):u=this.curve.pointFromX(u,d);var b=t.r.invm(n),x=n.sub(s).mul(b).umod(n),A=c.mul(b).umod(n);return this.g.mulAdd(x,u,A)};Ge.prototype.getKeyRecoveryParam=function(i,t,e,r){if(t=new Cr(t,r),t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(i,t,n)}catch{continue}if(s.eq(e))return n}throw new Error("Unable to find valid recovery factor")};var nf=rr(function(i,t){var e=t;e.version="6.5.4",e.utils=Ke,e.rand=function(){throw new Error("unsupported")},e.curve=_r,e.curves=Mr,e.ec=rf,e.eddsa=null}),sf=nf.ec;const of="signing-key/5.7.0",wi=new Pe(of);let ai=null;function et(){return ai||(ai=new sf("secp256k1")),ai}class af{constructor(t){or(this,"curve","secp256k1"),or(this,"privateKey",ze(t)),ho(this.privateKey)!==32&&wi.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const e=et().keyFromPrivate(Ce(this.privateKey));or(this,"publicKey","0x"+e.getPublic(!1,"hex")),or(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),or(this,"_isSigningKey",!0)}_addPoint(t){const e=et().keyFromPublic(Ce(this.publicKey)),r=et().keyFromPublic(Ce(t));return"0x"+e.pub.add(r.pub).encodeCompressed("hex")}signDigest(t){const e=et().keyFromPrivate(Ce(this.privateKey)),r=Ce(t);r.length!==32&&wi.throwArgumentError("bad digest length","digest",t);const n=e.sign(r,{canonical:!0});return Cn({recoveryParam:n.recoveryParam,r:Jt("0x"+n.r.toString(16),32),s:Jt("0x"+n.s.toString(16),32)})}computeSharedSecret(t){const e=et().keyFromPrivate(Ce(this.privateKey)),r=et().keyFromPublic(Ce(ns(t)));return Jt("0x"+e.derive(r.getPublic()).toString(16),32)}static isSigningKey(t){return!!(t&&t._isSigningKey)}}function ff(i,t){const e=Cn(t),r={r:Ce(e.r),s:Ce(e.s)};return"0x"+et().recoverPubKey(Ce(i),r,e.recoveryParam).encode("hex",!1)}function ns(i,t){const e=Ce(i);if(e.length===32){const r=new af(e);return t?"0x"+et().keyFromPrivate(e).getPublic(!0,"hex"):r.publicKey}else{if(e.length===33)return t?ze(e):"0x"+et().keyFromPublic(e).getPublic(!1,"hex");if(e.length===65)return t?"0x"+et().keyFromPublic(e).getPublic(!0,"hex"):ze(e)}return wi.throwArgumentError("invalid public or private key","key","[REDACTED]")}var Yi;(function(i){i[i.legacy=0]="legacy",i[i.eip2930=1]="eip2930",i[i.eip1559=2]="eip1559"})(Yi||(Yi={}));function hf(i){const t=ns(i);return xo(zi(Mi(zi(t,1)),12))}function uf(i,t){return hf(ff(Ce(i),t))}function cf(i,t){return t=t||{},new Promise(function(e,r){var n=new XMLHttpRequest,s=[],u=[],c={},d=function(){return{ok:(n.status/100|0)==2,statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:d,headers:{keys:function(){return s},entries:function(){return u},get:function(b){return c[b.toLowerCase()]},has:function(b){return b.toLowerCase()in c}}}};for(var m in n.open(t.method||"get",i,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(b,x,A){s.push(x=x.toLowerCase()),u.push([x,A]),c[x]=c[x]?c[x]+","+A:A}),e(d())},n.onerror=r,n.withCredentials=t.credentials=="include",t.headers)n.setRequestHeader(m,t.headers[m]);n.send(t.body||null)})}const lf=Object.freeze(Object.defineProperty({__proto__:null,default:cf},Symbol.toStringTag,{value:"Module"})),Qi=Ts(lf);var df=self.fetch||(self.fetch=Qi.default||Qi);const pf=Pr(df);let vf=class{constructor(t){this.client=t}},gf=class{constructor(t){this.opts=t}};const mf="https://rpc.walletconnect.com/v1",yr={wc_authRequest:{req:{ttl:W.ONE_DAY,prompt:!0,tag:3e3},res:{ttl:W.ONE_DAY,prompt:!1,tag:3001}}},fi={min:W.FIVE_MINUTES,max:W.SEVEN_DAYS},ss="wc",yf=1,wf="auth",Zi="authClient",Sr=`${ss}@1:${wf}:`,dr=`${Sr}:PUB_KEY`;function Ni(i){return i==null?void 0:i.split(":")}function bf(i){const t=i&&Ni(i);if(t)return t[3]}function xf(i){const t=i&&Ni(i);if(t)return t[2]+":"+t[3]}function en(i){const t=i&&Ni(i);if(t)return t.pop()}async function _f(i,t,e,r,n){switch(e.t){case"eip191":return Mf(i,t,e.s);case"eip1271":return await Sf(i,t,e.s,r,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${e.t}`)}}function Mf(i,t,e){return uf(Tn(t),e).toLowerCase()===i.toLowerCase()}async function Sf(i,t,e,r,n){try{const s="0x1626ba7e",u="0000000000000000000000000000000000000000000000000000000000000040",c="0000000000000000000000000000000000000000000000000000000000000041",d=e.substring(2),m=Tn(t).substring(2),b=s+m+u+c+d,x=await pf(`${mf}/?chainId=${r}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:Af(),jsonrpc:"2.0",method:"eth_call",params:[{to:i,data:b},"latest"]})}),{result:A}=await x.json();return A?A.slice(0,s.length).toLowerCase()===s.toLowerCase():!1}catch(s){return console.error("isValidEip1271Signature: ",s),!1}}function Af(){return Date.now()+Math.floor(Math.random()*1e3)}function os(i){return i.getAll().filter(t=>"requester"in t)}function as(i,t){return os(i).find(e=>e.id===t)}function Ef(i){const t=$s(i.aud),e=new RegExp(`${i.domain}`).test(i.aud),r=!!i.nonce,n=i.type?i.type==="eip4361":!0,s=i.expiry;if(s&&!Fn(s,fi)){const{message:u}=B("MISSING_OR_INVALID",`request() expiry: ${s}. Expiry must be a number (in seconds) between ${fi.min} and ${fi.max}`);throw new Error(u)}return!!(t&&e&&r&&n)}function If(i,t){return!!as(t,i.id)}function Rf(i=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(i):new Uint8Array(i)}function Nf(i,t){if(i.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r>>0,z=new Uint8Array(H);T!==K;){for(var V=S[T],j=0,J=H-1;(V!==0||j<$)&&J!==-1;J--,j++)V+=256*z[J]>>>0,z[J]=V%c>>>0,V=V/c>>>0;if(V!==0)throw new Error("Non-zero carry");$=j,T++}for(var Y=H-$;Y!==H&&z[Y]===0;)Y++;for(var Te=d.repeat(F);Y>>0,H=new Uint8Array(K);S[F];){var z=e[S.charCodeAt(F)];if(z===255)return;for(var V=0,j=K-1;(z!==0||V>>0,H[j]=z%256>>>0,z=z/256>>>0;if(z!==0)throw new Error("Non-zero carry");T=V,F++}if(S[F]!==" "){for(var J=K-T;J!==K&&H[J]===0;)J++;for(var Y=new Uint8Array($+(K-J)),Te=$;J!==K;)Y[Te++]=H[J++];return Y}}}function I(S){var F=A(S);if(F)return F;throw new Error(`Non-${t} character`)}return{encode:x,decodeUnsafe:A,decode:I}}var Ff=Nf,Pf=Ff;const fs=i=>{if(i instanceof Uint8Array&&i.constructor.name==="Uint8Array")return i;if(i instanceof ArrayBuffer)return new Uint8Array(i);if(ArrayBuffer.isView(i))return new Uint8Array(i.buffer,i.byteOffset,i.byteLength);throw new Error("Unknown type, must be binary type")},qf=i=>new TextEncoder().encode(i),Of=i=>new TextDecoder().decode(i);class Cf{constructor(t,e,r){this.name=t,this.prefix=e,this.baseEncode=r}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}}class Tf{constructor(t,e,r){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=r}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return hs(this,t)}}class $f{constructor(t){this.decoders=t}or(t){return hs(this,t)}decode(t){const e=t[0],r=this.decoders[e];if(r)return r.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const hs=(i,t)=>new $f({...i.decoders||{[i.prefix]:i},...t.decoders||{[t.prefix]:t}});class Lf{constructor(t,e,r,n){this.name=t,this.prefix=e,this.baseEncode=r,this.baseDecode=n,this.encoder=new Cf(t,e,r),this.decoder=new Tf(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}}const Tr=({name:i,prefix:t,encode:e,decode:r})=>new Lf(i,t,e,r),vr=({prefix:i,name:t,alphabet:e})=>{const{encode:r,decode:n}=Pf(e,t);return Tr({prefix:i,name:t,encode:r,decode:s=>fs(n(s))})},Df=(i,t,e,r)=>{const n={};for(let b=0;b=8&&(c-=8,u[m++]=255&d>>c)}if(c>=e||255&d<<8-c)throw new SyntaxError("Unexpected end of data");return u},Uf=(i,t,e)=>{const r=t[t.length-1]==="=",n=(1<e;)u-=e,s+=t[n&c>>u];if(u&&(s+=t[n&c<Tr({prefix:t,name:i,encode(n){return Uf(n,r,e)},decode(n){return Df(n,r,e,i)}}),kf=Tr({prefix:"\0",name:"identity",encode:i=>Of(i),decode:i=>qf(i)});var Bf=Object.freeze({__proto__:null,identity:kf});const zf=Ue({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vf=Object.freeze({__proto__:null,base2:zf});const Kf=Ue({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var jf=Object.freeze({__proto__:null,base8:Kf});const Gf=vr({prefix:"9",name:"base10",alphabet:"0123456789"});var Hf=Object.freeze({__proto__:null,base10:Gf});const Jf=Ue({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Wf=Ue({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xf=Object.freeze({__proto__:null,base16:Jf,base16upper:Wf});const Yf=Ue({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qf=Ue({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Zf=Ue({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),eh=Ue({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),th=Ue({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),rh=Ue({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ih=Ue({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nh=Ue({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sh=Ue({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var oh=Object.freeze({__proto__:null,base32:Yf,base32upper:Qf,base32pad:Zf,base32padupper:eh,base32hex:th,base32hexupper:rh,base32hexpad:ih,base32hexpadupper:nh,base32z:sh});const ah=vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fh=vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var hh=Object.freeze({__proto__:null,base36:ah,base36upper:fh});const uh=vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ch=vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lh=Object.freeze({__proto__:null,base58btc:uh,base58flickr:ch});const dh=Ue({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ph=Ue({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),vh=Ue({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),gh=Ue({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var mh=Object.freeze({__proto__:null,base64:dh,base64pad:ph,base64url:vh,base64urlpad:gh});const us=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),yh=us.reduce((i,t,e)=>(i[e]=t,i),[]),wh=us.reduce((i,t,e)=>(i[t.codePointAt(0)]=e,i),[]);function bh(i){return i.reduce((t,e)=>(t+=yh[e],t),"")}function xh(i){const t=[];for(const e of i){const r=wh[e.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(r)}return new Uint8Array(t)}const _h=Tr({prefix:"🚀",name:"base256emoji",encode:bh,decode:xh});var Mh=Object.freeze({__proto__:null,base256emoji:_h}),Sh=cs,tn=128,Ah=127,Eh=~Ah,Ih=Math.pow(2,31);function cs(i,t,e){t=t||[],e=e||0;for(var r=e;i>=Ih;)t[e++]=i&255|tn,i/=128;for(;i&Eh;)t[e++]=i&255|tn,i>>>=7;return t[e]=i|0,cs.bytes=e-r+1,t}var Rh=bi,Nh=128,rn=127;function bi(i,r){var e=0,r=r||0,n=0,s=r,u,c=i.length;do{if(s>=c)throw bi.bytes=0,new RangeError("Could not decode varint");u=i[s++],e+=n<28?(u&rn)<=Nh);return bi.bytes=s-r,e}var Fh=Math.pow(2,7),Ph=Math.pow(2,14),qh=Math.pow(2,21),Oh=Math.pow(2,28),Ch=Math.pow(2,35),Th=Math.pow(2,42),$h=Math.pow(2,49),Lh=Math.pow(2,56),Dh=Math.pow(2,63),Uh=function(i){return i(ls.encode(i,t,e),t),sn=i=>ls.encodingLength(i),xi=(i,t)=>{const e=t.byteLength,r=sn(i),n=r+sn(e),s=new Uint8Array(n+e);return nn(i,s,0),nn(e,s,r),s.set(t,n),new Bh(i,e,t,s)};class Bh{constructor(t,e,r,n){this.code=t,this.size=e,this.digest=r,this.bytes=n}}const ds=({name:i,code:t,encode:e})=>new zh(i,t,e);class zh{constructor(t,e,r){this.name=t,this.code=e,this.encode=r}digest(t){if(t instanceof Uint8Array){const e=this.encode(t);return e instanceof Uint8Array?xi(this.code,e):e.then(r=>xi(this.code,r))}else throw Error("Unknown type, must be binary type")}}const ps=i=>async t=>new Uint8Array(await crypto.subtle.digest(i,t)),Vh=ds({name:"sha2-256",code:18,encode:ps("SHA-256")}),Kh=ds({name:"sha2-512",code:19,encode:ps("SHA-512")});var jh=Object.freeze({__proto__:null,sha256:Vh,sha512:Kh});const vs=0,Gh="identity",gs=fs,Hh=i=>xi(vs,gs(i)),Jh={code:vs,name:Gh,encode:gs,digest:Hh};var Wh=Object.freeze({__proto__:null,identity:Jh});new TextEncoder,new TextDecoder;const on={...Bf,...Vf,...jf,...Hf,...Xf,...oh,...hh,...lh,...mh,...Mh};({...jh,...Wh});function ms(i,t,e,r){return{name:i,prefix:t,encoder:{name:i,prefix:t,encode:e},decoder:{decode:r}}}const an=ms("utf8","u",i=>"u"+new TextDecoder("utf8").decode(i),i=>new TextEncoder().encode(i.substring(1))),hi=ms("ascii","a",i=>{let t="a";for(let e=0;e{i=i.substring(1);const t=Rf(i.length);for(let e=0;et in i?eu(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,hr=(i,t)=>{for(var e in t||(t={}))iu.call(t,e)&&un(i,e,t[e]);if(hn)for(var e of hn(t))nu.call(t,e)&&un(i,e,t[e]);return i},ui=(i,t)=>tu(i,ru(t));class su extends vf{constructor(t){super(t),this.initialized=!1,this.name="authEngine",this.init=()=>{this.initialized||(this.registerRelayerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(yr)}),this.initialized=!0)},this.request=async(e,r)=>{if(this.isInitialized(),!Ef(e))throw new Error("Invalid request");if(r!=null&&r.topic)return await this.requestOnKnownPairing(r.topic,e);const{chainId:n,statement:s,aud:u,domain:c,nonce:d,type:m,exp:b,nbf:x}=e,{topic:A,uri:I}=await this.client.core.pairing.create();this.client.logger.info({message:"Generated new pairing",pairing:{topic:A,uri:I}});const S=await this.client.core.crypto.generateKeyPair(),F=Oi(S);await this.client.authKeys.set(dr,{responseTopic:F,publicKey:S}),await this.client.pairingTopics.set(F,{topic:F,pairingTopic:A}),await this.client.core.relayer.subscribe(F),this.client.logger.info(`sending request to new pairing topic: ${A}`);const $=await this.sendRequest(A,"wc_authRequest",{payloadParams:{type:m??"eip4361",chainId:n,statement:s,aud:u,domain:c,version:"1",nonce:d,iat:new Date().toISOString(),exp:b,nbf:x},requester:{publicKey:S,metadata:this.client.metadata}},{},e.expiry);return this.client.logger.info(`sent request to new pairing topic: ${A}`),{uri:I,id:$}},this.respond=async(e,r)=>{if(this.isInitialized(),!If(e,this.client.requests))throw new Error("Invalid response");const n=as(this.client.requests,e.id);if(!n)throw new Error(`Could not find pending auth request with id ${e.id}`);const s=n.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),c=Oi(s),d={type:Pn,receiverPublicKey:s,senderPublicKey:u};if("error"in e){await this.sendError(n.id,c,e,d);return}const m={h:{t:"eip4361"},p:ui(hr({},n.cacaoPayload),{iss:r}),s:e.signature};await this.sendResult(n.id,c,m,d),await this.client.core.pairing.activate({topic:n.pairingTopic}),await this.client.requests.update(n.id,hr({},m))},this.getPendingRequests=()=>os(this.client.requests),this.formatMessage=(e,r)=>{this.client.logger.debug(`formatMessage, cacao is: ${JSON.stringify(e)}`);const n=`${e.domain} wants you to sign in with your Ethereum account:`,s=en(r),u=e.statement,c=`URI: ${e.aud}`,d=`Version: ${e.version}`,m=`Chain ID: ${bf(r)}`,b=`Nonce: ${e.nonce}`,x=`Issued At: ${e.iat}`,A=e.exp?`Expiry: ${e.exp}`:void 0,I=e.resources&&e.resources.length>0?`Resources: +${e.resources.map(S=>`- ${S}`).join(` +`)}`:void 0;return[n,s,"",u,"",c,d,m,b,x,A,I].filter(S=>S!=null).join(` +`)},this.setExpiry=async(e,r)=>{this.client.core.pairing.pairings.keys.includes(e)&&await this.client.core.pairing.updateExpiry({topic:e,expiry:r}),this.client.core.expirer.set(e,r)},this.sendRequest=async(e,r,n,s,u)=>{const c=br(r,n),d=await this.client.core.crypto.encode(e,c,s),m=yr[r].req;if(u&&(m.ttl=u),this.client.core.history.set(e,c),Nn()){const b=fn(JSON.stringify(c));this.client.core.verify.register({attestationId:b})}return await this.client.core.relayer.publish(e,d,ui(hr({},m),{internal:{throwOnFailedPublish:!0}})),c.id},this.sendResult=async(e,r,n,s)=>{const u=In(e,n),c=await this.client.core.crypto.encode(r,u,s),d=await this.client.core.history.get(r,e),m=yr[d.request.method].res;return await this.client.core.relayer.publish(r,c,ui(hr({},m),{internal:{throwOnFailedPublish:!0}})),await this.client.core.history.resolve(u),u.id},this.sendError=async(e,r,n,s)=>{const u=Mn(e,n.error),c=await this.client.core.crypto.encode(r,u,s),d=await this.client.core.history.get(r,e),m=yr[d.request.method].res;return await this.client.core.relayer.publish(r,c,m),await this.client.core.history.resolve(u),u.id},this.requestOnKnownPairing=async(e,r)=>{const n=this.client.core.pairing.pairings.getAll({active:!0}).find(I=>I.topic===e);if(!n)throw new Error(`Could not find pairing for provided topic ${e}`);const{publicKey:s}=this.client.authKeys.get(dr),{chainId:u,statement:c,aud:d,domain:m,nonce:b,type:x}=r,A=await this.sendRequest(n.topic,"wc_authRequest",{payloadParams:{type:x??"eip4361",chainId:u,statement:c,aud:d,domain:m,version:"1",nonce:b,iat:new Date().toISOString()},requester:{publicKey:s,metadata:this.client.metadata}},{},r.expiry);return this.client.logger.info(`sent request to known pairing topic: ${n.topic}`),{id:A}},this.onPairingCreated=e=>{const r=this.getPendingRequests();if(r){const n=Object.values(r).find(s=>s.pairingTopic===e.topic);n&&this.handleAuthRequest(n)}},this.onRelayEventRequest=e=>{const{topic:r,payload:n}=e,s=n.method;switch(s){case"wc_authRequest":return this.onAuthRequest(r,n);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async e=>{const{topic:r,payload:n}=e,s=(await this.client.core.history.get(r,n.id)).request.method;switch(s){case"wc_authRequest":return this.onAuthResponse(r,n);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onAuthRequest=async(e,r)=>{const{requester:n,payloadParams:s}=r.params;this.client.logger.info({type:"onAuthRequest",topic:e,payload:r});const u=fn(JSON.stringify(r)),c=await this.getVerifyContext(u,this.client.metadata),d={requester:n,pairingTopic:e,id:r.id,cacaoPayload:s,verifyContext:c};await this.client.requests.set(r.id,d),this.handleAuthRequest(d)},this.handleAuthRequest=async e=>{const{id:r,pairingTopic:n,requester:s,cacaoPayload:u,verifyContext:c}=e;try{this.client.emit("auth_request",{id:r,topic:n,params:{requester:s,cacaoPayload:u},verifyContext:c})}catch(d){await this.sendError(e.id,e.pairingTopic,d),this.client.logger.error(d)}},this.onAuthResponse=async(e,r)=>{const{id:n}=r;if(this.client.logger.info({type:"onAuthResponse",topic:e,response:r}),bt(r)){const{pairingTopic:s}=this.client.pairingTopics.get(e);await this.client.core.pairing.activate({topic:s});const{s:u,p:c}=r.result;await this.client.requests.set(n,hr({id:n,pairingTopic:s},r.result));const d=this.formatMessage(c,c.iss);this.client.logger.debug(`reconstructed message: +`,JSON.stringify(d)),this.client.logger.debug("payload.iss:",c.iss),this.client.logger.debug("signature:",u);const m=en(c.iss),b=xf(c.iss);if(!m)throw new Error("Could not derive address from `payload.iss`");if(!b)throw new Error("Could not derive chainId from `payload.iss`");this.client.logger.debug("walletAddress extracted from `payload.iss`:",m),await _f(m,d,u,b,this.client.projectId)?this.client.emit("auth_response",{id:n,topic:e,params:r}):this.client.emit("auth_response",{id:n,topic:e,params:{message:"Invalid signature",code:-1}})}else xt(r)&&this.client.emit("auth_response",{id:n,topic:e,params:r})},this.getVerifyContext=async(e,r)=>{const n={verified:{verifyUrl:r.verifyUrl||"",validation:"UNKNOWN",origin:r.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:e,verifyUrl:r.verifyUrl});s&&(n.verified.origin=s.origin,n.verified.isScam=s.isScam,n.verified.validation=origin===new URL(r.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.error(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(n)}`),n}}isInitialized(){if(!this.initialized){const{message:t}=B("NOT_INITIALIZED",this.name);throw new Error(t)}}registerRelayerEvents(){this.client.core.relayer.on(di.message,async t=>{const{topic:e,message:r}=t,{responseTopic:n,publicKey:s}=this.client.authKeys.keys.includes(dr)?this.client.authKeys.get(dr):{responseTopic:void 0,publicKey:void 0};if(n&&e!==n){this.client.logger.debug("[Auth] Ignoring message from unknown topic",e);return}const u=await this.client.core.crypto.decode(e,r,{receiverPublicKey:s});Sn(u)?(this.client.core.history.set(e,u),this.onRelayEventRequest({topic:e,payload:u})):An(u)&&(await this.client.core.history.resolve(u),this.onRelayEventResponse({topic:e,payload:u}))})}registerPairingEvents(){this.client.core.pairing.events.on(En.create,t=>this.onPairingCreated(t))}}let ou=class ws extends gf{constructor(t){super(t),this.protocol=ss,this.version=yf,this.name=Zi,this.events=new xn.EventEmitter,this.emit=(r,n)=>this.events.emit(r,n),this.on=(r,n)=>this.events.on(r,n),this.once=(r,n)=>this.events.once(r,n),this.off=(r,n)=>this.events.off(r,n),this.removeListener=(r,n)=>this.events.removeListener(r,n),this.request=async(r,n)=>{try{return await this.engine.request(r,n)}catch(s){throw this.logger.error(s.message),s}},this.respond=async(r,n)=>{try{return await this.engine.respond(r,n)}catch(s){throw this.logger.error(s.message),s}},this.getPendingRequests=()=>{try{return this.engine.getPendingRequests()}catch(r){throw this.logger.error(r.message),r}},this.formatMessage=(r,n)=>{try{return this.engine.formatMessage(r,n)}catch(s){throw this.logger.error(s.message),s}};const e=typeof t.logger<"u"&&typeof t.logger!="string"?t.logger:_t.pino(_t.getDefaultLoggerOptions({level:t.logger||"error"}));this.name=(t==null?void 0:t.name)||Zi,this.metadata=t.metadata,this.projectId=t.projectId,this.core=t.core||new _n(t),this.logger=_t.generateChildLogger(e,this.name),this.authKeys=new Gt(this.core,this.logger,"authKeys",Sr,()=>dr),this.pairingTopics=new Gt(this.core,this.logger,"pairingTopics",Sr),this.requests=new Gt(this.core,this.logger,"requests",Sr,r=>r.id),this.engine=new su(this)}static async init(t){const e=new ws(t);return await e.initialize(),e}get context(){return _t.getLoggerContext(this.logger)}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.authKeys.init(),await this.requests.init(),await this.pairingTopics.init(),await this.engine.init(),this.logger.info("AuthClient Initialization Success"),this.logger.info({authClient:this})}catch(t){throw this.logger.info("AuthClient Initialization Failure"),this.logger.error(t.message),t}}};const au=ou,bs="wc",xs=2,_s="client",Fi=`${bs}@${xs}:${_s}:`,ci={name:_s,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},cn="WALLETCONNECT_DEEPLINK_CHOICE",fu="proposal",hu="Proposal expired",uu="session",wr=W.SEVEN_DAYS,cu="engine",ur={wc_sessionPropose:{req:{ttl:W.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:W.ONE_DAY,prompt:!1,tag:1104},res:{ttl:W.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:W.ONE_DAY,prompt:!1,tag:1106},res:{ttl:W.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:W.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:W.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:W.ONE_DAY,prompt:!1,tag:1112},res:{ttl:W.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:W.THIRTY_SECONDS,prompt:!1,tag:1114},res:{ttl:W.THIRTY_SECONDS,prompt:!1,tag:1115}}},li={min:W.FIVE_MINUTES,max:W.SEVEN_DAYS},ht={idle:"IDLE",active:"ACTIVE"},lu="request",du=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"];var pu=Object.defineProperty,vu=Object.defineProperties,gu=Object.getOwnPropertyDescriptors,ln=Object.getOwnPropertySymbols,mu=Object.prototype.hasOwnProperty,yu=Object.prototype.propertyIsEnumerable,dn=(i,t,e)=>t in i?pu(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,Be=(i,t)=>{for(var e in t||(t={}))mu.call(t,e)&&dn(i,e,t[e]);if(ln)for(var e of ln(t))yu.call(t,e)&&dn(i,e,t[e]);return i},cr=(i,t)=>vu(i,gu(t));class wu extends Rs{constructor(t){super(t),this.name=cu,this.events=new Ns,this.initialized=!1,this.ignoredPayloadTypes=[Pn],this.requestQueue={state:ht.idle,queue:[]},this.sessionRequestQueue={state:ht.idle,queue:[]},this.requestQueueDelay=W.ONE_SECOND,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(ur)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},W.toMiliseconds(this.requestQueueDelay)))},this.connect=async e=>{await this.isInitialized();const r=cr(Be({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(r);const{pairingTopic:n,requiredNamespaces:s,optionalNamespaces:u,sessionProperties:c,relays:d}=r;let m=n,b,x=!1;if(m&&(x=this.client.core.pairing.pairings.get(m).active),!m||!x){const{topic:H,uri:z}=await this.client.core.pairing.create();m=H,b=z}const A=await this.client.core.crypto.generateKeyPair(),I=Be({requiredNamespaces:s,optionalNamespaces:u,relays:d??[{protocol:Fs}],proposer:{publicKey:A,metadata:this.client.metadata}},c&&{sessionProperties:c}),{reject:S,resolve:F,done:$}=ir(W.FIVE_MINUTES,hu);if(this.events.once(Le("session_connect"),async({error:H,session:z})=>{if(H)S(H);else if(z){z.self.publicKey=A;const V=cr(Be({},z),{requiredNamespaces:z.requiredNamespaces,optionalNamespaces:z.optionalNamespaces});await this.client.session.set(z.topic,V),await this.setExpiry(z.topic,z.expiry),m&&await this.client.core.pairing.updateMetadata({topic:m,metadata:z.peer.metadata}),F(V)}}),!m){const{message:H}=B("NO_MATCHING_KEY",`connect() pairing topic: ${m}`);throw new Error(H)}const T=await this.sendRequest({topic:m,method:"wc_sessionPropose",params:I}),K=Bt(W.FIVE_MINUTES);return await this.setProposal(T,Be({id:T,expiry:K},I)),{uri:b,approval:$}},this.pair=async e=>(await this.isInitialized(),await this.client.core.pairing.pair(e)),this.approve=async e=>{await this.isInitialized(),await this.isValidApprove(e);const{id:r,relayProtocol:n,namespaces:s,sessionProperties:u}=e,c=this.client.proposal.get(r);let{pairingTopic:d,proposer:m,requiredNamespaces:b,optionalNamespaces:x}=c;d=d||"",Xr(b)||(b=Us(s,"approve()"));const A=await this.client.core.crypto.generateKeyPair(),I=m.publicKey,S=await this.client.core.crypto.generateSharedKey(A,I);d&&r&&(await this.client.core.pairing.updateMetadata({topic:d,metadata:m.metadata}),await this.sendResult({id:r,topic:d,result:{relay:{protocol:n??"irn"},responderPublicKey:A}}),await this.client.proposal.delete(r,zt("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:d}));const F=Be({relay:{protocol:n??"irn"},namespaces:s,requiredNamespaces:b,optionalNamespaces:x,pairingTopic:d,controller:{publicKey:A,metadata:this.client.metadata},expiry:Bt(wr)},u&&{sessionProperties:u});await this.client.core.relayer.subscribe(S),await this.sendRequest({topic:S,method:"wc_sessionSettle",params:F,throwOnFailedPublish:!0});const $=cr(Be({},F),{topic:S,pairingTopic:d,acknowledged:!1,self:F.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:A});return await this.client.session.set(S,$),await this.setExpiry(S,Bt(wr)),{topic:S,acknowledged:()=>new Promise(T=>setTimeout(()=>T(this.client.session.get(S)),500))}},this.reject=async e=>{await this.isInitialized(),await this.isValidReject(e);const{id:r,reason:n}=e,{pairingTopic:s}=this.client.proposal.get(r);s&&(await this.sendError(r,s,n),await this.client.proposal.delete(r,zt("USER_DISCONNECTED")))},this.update=async e=>{await this.isInitialized(),await this.isValidUpdate(e);const{topic:r,namespaces:n}=e,s=await this.sendRequest({topic:r,method:"wc_sessionUpdate",params:{namespaces:n}}),{done:u,resolve:c,reject:d}=ir();return this.events.once(Le("session_update",s),({error:m})=>{m?d(m):c()}),await this.client.session.update(r,{namespaces:n}),{acknowledged:u}},this.extend=async e=>{await this.isInitialized(),await this.isValidExtend(e);const{topic:r}=e,n=await this.sendRequest({topic:r,method:"wc_sessionExtend",params:{}}),{done:s,resolve:u,reject:c}=ir();return this.events.once(Le("session_extend",n),({error:d})=>{d?c(d):u()}),await this.setExpiry(r,Bt(wr)),{acknowledged:s}},this.request=async e=>{await this.isInitialized(),await this.isValidRequest(e);const{chainId:r,request:n,topic:s,expiry:u}=e,c=Os(),{done:d,resolve:m,reject:b}=ir(u,"Request expired. Please try again.");return this.events.once(Le("session_request",c),({error:x,result:A})=>{x?b(x):m(A)}),await Promise.all([new Promise(async x=>{await this.sendRequest({clientRpcId:c,topic:s,method:"wc_sessionRequest",params:{request:n,chainId:r},expiry:u,throwOnFailedPublish:!0}).catch(A=>b(A)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:r,id:c}),x()}),new Promise(async x=>{const A=await ks(this.client.core.storage,cn);Bs({id:c,topic:s,wcDeepLink:A}),x()}),d()]).then(x=>x[2])},this.respond=async e=>{await this.isInitialized(),await this.isValidRespond(e);const{topic:r,response:n}=e,{id:s}=n;bt(n)?await this.sendResult({id:s,topic:r,result:n.result,throwOnFailedPublish:!0}):xt(n)&&await this.sendError(s,r,n.error),this.cleanupAfterResponse(e)},this.ping=async e=>{await this.isInitialized(),await this.isValidPing(e);const{topic:r}=e;if(this.client.session.keys.includes(r)){const n=await this.sendRequest({topic:r,method:"wc_sessionPing",params:{}}),{done:s,resolve:u,reject:c}=ir();this.events.once(Le("session_ping",n),({error:d})=>{d?c(d):u()}),await s()}else this.client.core.pairing.pairings.keys.includes(r)&&await this.client.core.pairing.ping({topic:r})},this.emit=async e=>{await this.isInitialized(),await this.isValidEmit(e);const{topic:r,event:n,chainId:s}=e;await this.sendRequest({topic:r,method:"wc_sessionEvent",params:{event:n,chainId:s}})},this.disconnect=async e=>{await this.isInitialized(),await this.isValidDisconnect(e);const{topic:r}=e;this.client.session.keys.includes(r)?(await this.sendRequest({topic:r,method:"wc_sessionDelete",params:zt("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession(r)):await this.client.core.pairing.disconnect({topic:r})},this.find=e=>(this.isInitialized(),this.client.session.getAll().filter(r=>zs(r,e))),this.getPendingSessionRequests=()=>(this.isInitialized(),this.client.pendingRequest.getAll()),this.cleanupDuplicatePairings=async e=>{if(e.pairingTopic)try{const r=this.client.core.pairing.pairings.get(e.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(s=>{var u,c;return((u=s.peerMetadata)==null?void 0:u.url)&&((c=s.peerMetadata)==null?void 0:c.url)===e.peer.metadata.url&&s.topic&&s.topic!==r.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(r){this.client.logger.error(r)}},this.deleteSession=async(e,r)=>{const{self:n}=this.client.session.get(e);await this.client.core.relayer.unsubscribe(e),this.client.session.delete(e,zt("USER_DISCONNECTED")),this.client.core.crypto.keychain.has(n.publicKey)&&await this.client.core.crypto.deleteKeyPair(n.publicKey),this.client.core.crypto.keychain.has(e)&&await this.client.core.crypto.deleteSymKey(e),r||this.client.core.expirer.del(e),this.client.core.storage.removeItem(cn).catch(s=>this.client.logger.warn(s))},this.deleteProposal=async(e,r)=>{await Promise.all([this.client.proposal.delete(e,zt("USER_DISCONNECTED")),r?Promise.resolve():this.client.core.expirer.del(e)])},this.deletePendingSessionRequest=async(e,r,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,r),n?Promise.resolve():this.client.core.expirer.del(e)]),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==e),n&&(this.sessionRequestQueue.state=ht.idle)},this.setExpiry=async(e,r)=>{this.client.session.keys.includes(e)&&await this.client.session.update(e,{expiry:r}),this.client.core.expirer.set(e,r)},this.setProposal=async(e,r)=>{await this.client.proposal.set(e,r),this.client.core.expirer.set(e,r.expiry)},this.setPendingSessionRequest=async e=>{const r=ur.wc_sessionRequest.req.ttl,{id:n,topic:s,params:u,verifyContext:c}=e;await this.client.pendingRequest.set(n,{id:n,topic:s,params:u,verifyContext:c}),r&&this.client.core.expirer.set(n,Bt(r))},this.sendRequest=async e=>{const{topic:r,method:n,params:s,expiry:u,relayRpcId:c,clientRpcId:d,throwOnFailedPublish:m}=e,b=br(n,s,d);if(Nn()&&du.includes(n)){const I=Yr(JSON.stringify(b));this.client.core.verify.register({attestationId:I})}const x=await this.client.core.crypto.encode(r,b),A=ur[n].req;return u&&(A.ttl=u),c&&(A.id=c),this.client.core.history.set(r,b),m?(A.internal=cr(Be({},A.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(r,x,A)):this.client.core.relayer.publish(r,x,A).catch(I=>this.client.logger.error(I)),b.id},this.sendResult=async e=>{const{id:r,topic:n,result:s,throwOnFailedPublish:u}=e,c=In(r,s),d=await this.client.core.crypto.encode(n,c),m=await this.client.core.history.get(n,r),b=ur[m.request.method].res;u?(b.internal=cr(Be({},b.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,d,b)):this.client.core.relayer.publish(n,d,b).catch(x=>this.client.logger.error(x)),await this.client.core.history.resolve(c)},this.sendError=async(e,r,n)=>{const s=Mn(e,n),u=await this.client.core.crypto.encode(r,s),c=await this.client.core.history.get(r,e),d=ur[c.request.method].res;this.client.core.relayer.publish(r,u,d),await this.client.core.history.resolve(s)},this.cleanup=async()=>{const e=[],r=[];this.client.session.getAll().forEach(n=>{jt(n.expiry)&&e.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{jt(n.expiry)&&r.push(n.id)}),await Promise.all([...e.map(n=>this.deleteSession(n)),...r.map(n=>this.deleteProposal(n))])},this.onRelayEventRequest=async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===ht.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=ht.active;const e=this.requestQueue.queue.shift();if(e)try{this.processRequest(e),await new Promise(r=>setTimeout(r,300))}catch(r){this.client.logger.warn(r)}}this.requestQueue.state=ht.idle},this.processRequest=e=>{const{topic:r,payload:n}=e,s=n.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeRequest(r,n);case"wc_sessionSettle":return this.onSessionSettleRequest(r,n);case"wc_sessionUpdate":return this.onSessionUpdateRequest(r,n);case"wc_sessionExtend":return this.onSessionExtendRequest(r,n);case"wc_sessionPing":return this.onSessionPingRequest(r,n);case"wc_sessionDelete":return this.onSessionDeleteRequest(r,n);case"wc_sessionRequest":return this.onSessionRequest(r,n);case"wc_sessionEvent":return this.onSessionEventRequest(r,n);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async e=>{const{topic:r,payload:n}=e,s=(await this.client.core.history.get(r,n.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(r,n);case"wc_sessionSettle":return this.onSessionSettleResponse(r,n);case"wc_sessionUpdate":return this.onSessionUpdateResponse(r,n);case"wc_sessionExtend":return this.onSessionExtendResponse(r,n);case"wc_sessionPing":return this.onSessionPingResponse(r,n);case"wc_sessionRequest":return this.onSessionRequestResponse(r,n);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onRelayEventUnknownPayload=e=>{const{topic:r}=e,{message:n}=B("MISSING_OR_INVALID",`Decoded payload on topic ${r} is not identifiable as a JSON-RPC request or a response.`);throw new Error(n)},this.onSessionProposeRequest=async(e,r)=>{const{params:n,id:s}=r;try{this.isValidConnect(Be({},r.params));const u=Bt(W.FIVE_MINUTES),c=Be({id:s,pairingTopic:e,expiry:u},n);await this.setProposal(s,c);const d=Yr(JSON.stringify(r)),m=await this.getVerifyContext(d,c.proposer.metadata);this.client.events.emit("session_proposal",{id:s,params:c,verifyContext:m})}catch(u){await this.sendError(s,e,u),this.client.logger.error(u)}},this.onSessionProposeResponse=async(e,r)=>{const{id:n}=r;if(bt(r)){const{result:s}=r;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});const u=this.client.proposal.get(n);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:u});const c=u.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const d=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:d});const m=await this.client.core.crypto.generateSharedKey(c,d);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:m});const b=await this.client.core.relayer.subscribe(m);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:b}),await this.client.core.pairing.activate({topic:e})}else xt(r)&&(await this.client.proposal.delete(n,zt("USER_DISCONNECTED")),this.events.emit(Le("session_connect"),{error:r.error}))},this.onSessionSettleRequest=async(e,r)=>{const{id:n,params:s}=r;try{this.isValidSessionSettleRequest(s);const{relay:u,controller:c,expiry:d,namespaces:m,requiredNamespaces:b,optionalNamespaces:x,sessionProperties:A,pairingTopic:I}=r.params,S=Be({topic:e,relay:u,expiry:d,namespaces:m,acknowledged:!0,pairingTopic:I,requiredNamespaces:b,optionalNamespaces:x,controller:c.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:c.publicKey,metadata:c.metadata}},A&&{sessionProperties:A});await this.sendResult({id:r.id,topic:e,result:!0}),this.events.emit(Le("session_connect"),{session:S}),this.cleanupDuplicatePairings(S)}catch(u){await this.sendError(n,e,u),this.client.logger.error(u)}},this.onSessionSettleResponse=async(e,r)=>{const{id:n}=r;bt(r)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(Le("session_approve",n),{})):xt(r)&&(await this.client.session.delete(e,zt("USER_DISCONNECTED")),this.events.emit(Le("session_approve",n),{error:r.error}))},this.onSessionUpdateRequest=async(e,r)=>{const{params:n,id:s}=r;try{const u=`${e}_session_update`,c=gr.get(u);if(c&&this.isRequestOutOfSync(c,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidUpdate(Be({topic:e},n)),await this.client.session.update(e,{namespaces:n.namespaces}),await this.sendResult({id:s,topic:e,result:!0}),this.client.events.emit("session_update",{id:s,topic:e,params:n}),gr.set(u,s)}catch(u){await this.sendError(s,e,u),this.client.logger.error(u)}},this.isRequestOutOfSync=(e,r)=>parseInt(r.toString().slice(0,-3))<=parseInt(e.toString().slice(0,-3)),this.onSessionUpdateResponse=(e,r)=>{const{id:n}=r;bt(r)?this.events.emit(Le("session_update",n),{}):xt(r)&&this.events.emit(Le("session_update",n),{error:r.error})},this.onSessionExtendRequest=async(e,r)=>{const{id:n}=r;try{this.isValidExtend({topic:e}),await this.setExpiry(e,Bt(wr)),await this.sendResult({id:n,topic:e,result:!0}),this.client.events.emit("session_extend",{id:n,topic:e})}catch(s){await this.sendError(n,e,s),this.client.logger.error(s)}},this.onSessionExtendResponse=(e,r)=>{const{id:n}=r;bt(r)?this.events.emit(Le("session_extend",n),{}):xt(r)&&this.events.emit(Le("session_extend",n),{error:r.error})},this.onSessionPingRequest=async(e,r)=>{const{id:n}=r;try{this.isValidPing({topic:e}),await this.sendResult({id:n,topic:e,result:!0}),this.client.events.emit("session_ping",{id:n,topic:e})}catch(s){await this.sendError(n,e,s),this.client.logger.error(s)}},this.onSessionPingResponse=(e,r)=>{const{id:n}=r;setTimeout(()=>{bt(r)?this.events.emit(Le("session_ping",n),{}):xt(r)&&this.events.emit(Le("session_ping",n),{error:r.error})},500)},this.onSessionDeleteRequest=async(e,r)=>{const{id:n}=r;try{this.isValidDisconnect({topic:e,reason:r.params}),await Promise.all([new Promise(s=>{this.client.core.relayer.once(di.publish,async()=>{s(await this.deleteSession(e))})}),this.sendResult({id:n,topic:e,result:!0})]),this.client.events.emit("session_delete",{id:n,topic:e})}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async(e,r)=>{const{id:n,params:s}=r;try{this.isValidRequest(Be({topic:e},s));const u=Yr(JSON.stringify(br("wc_sessionRequest",s,n))),c=this.client.session.get(e),d=await this.getVerifyContext(u,c.peer.metadata),m={id:n,topic:e,params:s,verifyContext:d};await this.setPendingSessionRequest(m),this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue()}catch(u){await this.sendError(n,e,u),this.client.logger.error(u)}},this.onSessionRequestResponse=(e,r)=>{const{id:n}=r;bt(r)?this.events.emit(Le("session_request",n),{result:r.result}):xt(r)&&this.events.emit(Le("session_request",n),{error:r.error})},this.onSessionEventRequest=async(e,r)=>{const{id:n,params:s}=r;try{const u=`${e}_session_event_${s.event.name}`,c=gr.get(u);if(c&&this.isRequestOutOfSync(c,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(Be({topic:e},s)),this.client.events.emit("session_event",{id:n,topic:e,params:s}),gr.set(u,n)}catch(u){await this.sendError(n,e,u),this.client.logger.error(u)}},this.addSessionRequestToSessionRequestQueue=e=>{this.sessionRequestQueue.queue.push(e)},this.cleanupAfterResponse=e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=ht.idle,this.processSessionRequestQueue()},W.toMiliseconds(this.requestQueueDelay))},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===ht.active){this.client.logger.info("session request queue is already active.");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=ht.active,this.client.events.emit("session_request",e)}catch(r){this.client.logger.error(r)}},this.onPairingCreated=e=>{if(e.active)return;const r=this.client.proposal.getAll().find(n=>n.pairingTopic===e.topic);r&&this.onSessionProposeRequest(e.topic,br("wc_sessionPropose",{requiredNamespaces:r.requiredNamespaces,optionalNamespaces:r.optionalNamespaces,relays:r.relays,proposer:r.proposer,sessionProperties:r.sessionProperties},r.id))},this.isValidConnect=async e=>{if(!We(e)){const{message:d}=B("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw new Error(d)}const{pairingTopic:r,requiredNamespaces:n,optionalNamespaces:s,sessionProperties:u,relays:c}=e;if(nr(r)||await this.isValidPairingTopic(r),!Vs(c,!0)){const{message:d}=B("MISSING_OR_INVALID",`connect() relays: ${c}`);throw new Error(d)}!nr(n)&&Xr(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!nr(s)&&Xr(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),nr(u)||this.validateSessionProps(u,"sessionProperties")},this.validateNamespaces=(e,r)=>{const n=Ks(e,"connect()",r);if(n)throw new Error(n.message)},this.isValidApprove=async e=>{if(!We(e))throw new Error(B("MISSING_OR_INVALID",`approve() params: ${e}`).message);const{id:r,namespaces:n,relayProtocol:s,sessionProperties:u}=e;await this.isValidProposalId(r);const c=this.client.proposal.get(r),d=Qr(n,"approve()");if(d)throw new Error(d.message);const m=Ci(c.requiredNamespaces,n,"approve()");if(m)throw new Error(m.message);if(!sr(s,!0)){const{message:b}=B("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(b)}nr(u)||this.validateSessionProps(u,"sessionProperties")},this.isValidReject=async e=>{if(!We(e)){const{message:s}=B("MISSING_OR_INVALID",`reject() params: ${e}`);throw new Error(s)}const{id:r,reason:n}=e;if(await this.isValidProposalId(r),!js(n)){const{message:s}=B("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidSessionSettleRequest=e=>{if(!We(e)){const{message:m}=B("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw new Error(m)}const{relay:r,controller:n,namespaces:s,expiry:u}=e;if(!Gs(r)){const{message:m}=B("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(m)}const c=Hs(n,"onSessionSettleRequest()");if(c)throw new Error(c.message);const d=Qr(s,"onSessionSettleRequest()");if(d)throw new Error(d.message);if(jt(u)){const{message:m}=B("EXPIRED","onSessionSettleRequest()");throw new Error(m)}},this.isValidUpdate=async e=>{if(!We(e)){const{message:d}=B("MISSING_OR_INVALID",`update() params: ${e}`);throw new Error(d)}const{topic:r,namespaces:n}=e;await this.isValidSessionTopic(r);const s=this.client.session.get(r),u=Qr(n,"update()");if(u)throw new Error(u.message);const c=Ci(s.requiredNamespaces,n,"update()");if(c)throw new Error(c.message)},this.isValidExtend=async e=>{if(!We(e)){const{message:n}=B("MISSING_OR_INVALID",`extend() params: ${e}`);throw new Error(n)}const{topic:r}=e;await this.isValidSessionTopic(r)},this.isValidRequest=async e=>{if(!We(e)){const{message:d}=B("MISSING_OR_INVALID",`request() params: ${e}`);throw new Error(d)}const{topic:r,request:n,chainId:s,expiry:u}=e;await this.isValidSessionTopic(r);const{namespaces:c}=this.client.session.get(r);if(!Ti(c,s)){const{message:d}=B("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(d)}if(!Js(n)){const{message:d}=B("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(d)}if(!Ws(c,s,n.method)){const{message:d}=B("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(d)}if(u&&!Fn(u,li)){const{message:d}=B("MISSING_OR_INVALID",`request() expiry: ${u}. Expiry must be a number (in seconds) between ${li.min} and ${li.max}`);throw new Error(d)}},this.isValidRespond=async e=>{if(!We(e)){const{message:s}=B("MISSING_OR_INVALID",`respond() params: ${e}`);throw new Error(s)}const{topic:r,response:n}=e;if(await this.isValidSessionTopic(r),!Xs(n)){const{message:s}=B("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidPing=async e=>{if(!We(e)){const{message:n}=B("MISSING_OR_INVALID",`ping() params: ${e}`);throw new Error(n)}const{topic:r}=e;await this.isValidSessionOrPairingTopic(r)},this.isValidEmit=async e=>{if(!We(e)){const{message:c}=B("MISSING_OR_INVALID",`emit() params: ${e}`);throw new Error(c)}const{topic:r,event:n,chainId:s}=e;await this.isValidSessionTopic(r);const{namespaces:u}=this.client.session.get(r);if(!Ti(u,s)){const{message:c}=B("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(c)}if(!Ys(n)){const{message:c}=B("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(c)}if(!Qs(u,s,n.name)){const{message:c}=B("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(c)}},this.isValidDisconnect=async e=>{if(!We(e)){const{message:n}=B("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw new Error(n)}const{topic:r}=e;await this.isValidSessionOrPairingTopic(r)},this.getVerifyContext=async(e,r)=>{const n={verified:{verifyUrl:r.verifyUrl||Ps,validation:"UNKNOWN",origin:r.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:e,verifyUrl:r.verifyUrl});s&&(n.verified.origin=s.origin,n.verified.isScam=s.isScam,n.verified.validation=s.origin===new URL(r.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.info(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(n)}`),n},this.validateSessionProps=(e,r)=>{Object.values(e).forEach(n=>{if(!sr(n,!1)){const{message:s}=B("MISSING_OR_INVALID",`${r} must be in Record format. Received: ${JSON.stringify(n)}`);throw new Error(s)}})}}async isInitialized(){if(!this.initialized){const{message:t}=B("NOT_INITIALIZED",this.name);throw new Error(t)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(di.message,async t=>{const{topic:e,message:r}=t;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(r)))return;const n=await this.client.core.crypto.decode(e,r);try{Sn(n)?(this.client.core.history.set(e,n),this.onRelayEventRequest({topic:e,payload:n})):An(n)?(await this.client.core.history.resolve(n),await this.onRelayEventResponse({topic:e,payload:n}),this.client.core.history.delete(e,n.id)):this.onRelayEventUnknownPayload({topic:e,payload:n})}catch(s){this.client.logger.error(s)}})}registerExpirerEvents(){this.client.core.expirer.on(qs.expired,async t=>{const{topic:e,id:r}=Zs(t.target);if(r&&this.client.pendingRequest.keys.includes(r))return await this.deletePendingSessionRequest(r,B("EXPIRED"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession(e,!0),this.client.events.emit("session_expire",{topic:e})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r}))})}registerPairingEvents(){this.client.core.pairing.events.on(En.create,t=>this.onPairingCreated(t))}isValidPairingTopic(t){if(!sr(t,!1)){const{message:e}=B("MISSING_OR_INVALID",`pairing topic should be a string: ${t}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(t)){const{message:e}=B("NO_MATCHING_KEY",`pairing topic doesn't exist: ${t}`);throw new Error(e)}if(jt(this.client.core.pairing.pairings.get(t).expiry)){const{message:e}=B("EXPIRED",`pairing topic: ${t}`);throw new Error(e)}}async isValidSessionTopic(t){if(!sr(t,!1)){const{message:e}=B("MISSING_OR_INVALID",`session topic should be a string: ${t}`);throw new Error(e)}if(!this.client.session.keys.includes(t)){const{message:e}=B("NO_MATCHING_KEY",`session topic doesn't exist: ${t}`);throw new Error(e)}if(jt(this.client.session.get(t).expiry)){await this.deleteSession(t);const{message:e}=B("EXPIRED",`session topic: ${t}`);throw new Error(e)}}async isValidSessionOrPairingTopic(t){if(this.client.session.keys.includes(t))await this.isValidSessionTopic(t);else if(this.client.core.pairing.pairings.keys.includes(t))this.isValidPairingTopic(t);else if(sr(t,!1)){const{message:e}=B("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${t}`);throw new Error(e)}else{const{message:e}=B("MISSING_OR_INVALID",`session or pairing topic should be a string: ${t}`);throw new Error(e)}}async isValidProposalId(t){if(!eo(t)){const{message:e}=B("MISSING_OR_INVALID",`proposal id should be a number: ${t}`);throw new Error(e)}if(!this.client.proposal.keys.includes(t)){const{message:e}=B("NO_MATCHING_KEY",`proposal id doesn't exist: ${t}`);throw new Error(e)}if(jt(this.client.proposal.get(t).expiry)){await this.deleteProposal(t);const{message:e}=B("EXPIRED",`proposal id: ${t}`);throw new Error(e)}}}class bu extends Gt{constructor(t,e){super(t,e,fu,Fi),this.core=t,this.logger=e}}class xu extends Gt{constructor(t,e){super(t,e,uu,Fi),this.core=t,this.logger=e}}class _u extends Gt{constructor(t,e){super(t,e,lu,Fi,r=>r.id),this.core=t,this.logger=e}}class Pi extends Is{constructor(t){super(t),this.protocol=bs,this.version=xs,this.name=ci.name,this.events=new xn.EventEmitter,this.on=(r,n)=>this.events.on(r,n),this.once=(r,n)=>this.events.once(r,n),this.off=(r,n)=>this.events.off(r,n),this.removeListener=(r,n)=>this.events.removeListener(r,n),this.removeAllListeners=r=>this.events.removeAllListeners(r),this.connect=async r=>{try{return await this.engine.connect(r)}catch(n){throw this.logger.error(n.message),n}},this.pair=async r=>{try{return await this.engine.pair(r)}catch(n){throw this.logger.error(n.message),n}},this.approve=async r=>{try{return await this.engine.approve(r)}catch(n){throw this.logger.error(n.message),n}},this.reject=async r=>{try{return await this.engine.reject(r)}catch(n){throw this.logger.error(n.message),n}},this.update=async r=>{try{return await this.engine.update(r)}catch(n){throw this.logger.error(n.message),n}},this.extend=async r=>{try{return await this.engine.extend(r)}catch(n){throw this.logger.error(n.message),n}},this.request=async r=>{try{return await this.engine.request(r)}catch(n){throw this.logger.error(n.message),n}},this.respond=async r=>{try{return await this.engine.respond(r)}catch(n){throw this.logger.error(n.message),n}},this.ping=async r=>{try{return await this.engine.ping(r)}catch(n){throw this.logger.error(n.message),n}},this.emit=async r=>{try{return await this.engine.emit(r)}catch(n){throw this.logger.error(n.message),n}},this.disconnect=async r=>{try{return await this.engine.disconnect(r)}catch(n){throw this.logger.error(n.message),n}},this.find=r=>{try{return this.engine.find(r)}catch(n){throw this.logger.error(n.message),n}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(r){throw this.logger.error(r.message),r}},this.name=(t==null?void 0:t.name)||ci.name,this.metadata=(t==null?void 0:t.metadata)||Ds();const e=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:_t.pino(_t.getDefaultLoggerOptions({level:(t==null?void 0:t.logger)||ci.logger}));this.core=(t==null?void 0:t.core)||new _n(t),this.logger=_t.generateChildLogger(e,this.name),this.session=new xu(this.core,this.logger),this.proposal=new bu(this.core,this.logger),this.pendingRequest=new _u(this.core,this.logger),this.engine=new wu(this)}static async init(t){const e=new Pi(t);return await e.initialize(),e}get context(){return _t.getLoggerContext(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(t){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(t.message),t}}}const Mu=Pi;var Fr={exports:{}},Wt=typeof Reflect=="object"?Reflect:null,pn=Wt&&typeof Wt.apply=="function"?Wt.apply:function(i,t,e){return Function.prototype.apply.call(i,t,e)},Ar;Wt&&typeof Wt.ownKeys=="function"?Ar=Wt.ownKeys:Object.getOwnPropertySymbols?Ar=function(i){return Object.getOwnPropertyNames(i).concat(Object.getOwnPropertySymbols(i))}:Ar=function(i){return Object.getOwnPropertyNames(i)};function Su(i){console&&console.warn&&console.warn(i)}var vn=Number.isNaN||function(i){return i!==i};function X(){X.init.call(this)}Fr.exports=X,Fr.exports.once=Ru,X.EventEmitter=X,X.prototype._events=void 0,X.prototype._eventsCount=0,X.prototype._maxListeners=void 0;var gn=10;function Er(i){if(typeof i!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof i)}Object.defineProperty(X,"defaultMaxListeners",{enumerable:!0,get:function(){return gn},set:function(i){if(typeof i!="number"||i<0||vn(i))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+i+".");gn=i}}),X.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},X.prototype.setMaxListeners=function(i){if(typeof i!="number"||i<0||vn(i))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+i+".");return this._maxListeners=i,this};function Ms(i){return i._maxListeners===void 0?X.defaultMaxListeners:i._maxListeners}X.prototype.getMaxListeners=function(){return Ms(this)},X.prototype.emit=function(i){for(var t=[],e=1;e0&&(s=t[0]),s instanceof Error)throw s;var u=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw u.context=s,u}var c=n[i];if(c===void 0)return!1;if(typeof c=="function")pn(c,this,t);else for(var d=c.length,m=Ss(c,d),e=0;e0&&u.length>n&&!u.warned){u.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+u.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=i,c.type=t,c.count=u.length,Su(c)}return i}X.prototype.addListener=function(i,t){return mn(this,i,t,!1)},X.prototype.on=X.prototype.addListener,X.prototype.prependListener=function(i,t){return mn(this,i,t,!0)};function Au(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function yn(i,t,e){var r={fired:!1,wrapFn:void 0,target:i,type:t,listener:e},n=Au.bind(r);return n.listener=e,r.wrapFn=n,n}X.prototype.once=function(i,t){return Er(t),this.on(i,yn(this,i,t)),this},X.prototype.prependOnceListener=function(i,t){return Er(t),this.prependListener(i,yn(this,i,t)),this},X.prototype.removeListener=function(i,t){var e,r,n,s,u;if(Er(t),r=this._events,r===void 0)return this;if(e=r[i],e===void 0)return this;if(e===t||e.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[i],r.removeListener&&this.emit("removeListener",i,e.listener||t));else if(typeof e!="function"){for(n=-1,s=e.length-1;s>=0;s--)if(e[s]===t||e[s].listener===t){u=e[s].listener,n=s;break}if(n<0)return this;n===0?e.shift():Eu(e,n),e.length===1&&(r[i]=e[0]),r.removeListener!==void 0&&this.emit("removeListener",i,u||t)}return this},X.prototype.off=X.prototype.removeListener,X.prototype.removeAllListeners=function(i){var t,e,r;if(e=this._events,e===void 0)return this;if(e.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):e[i]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete e[i]),this;if(arguments.length===0){var n=Object.keys(e),s;for(r=0;r=0;r--)this.removeListener(i,t[r]);return this};function wn(i,t,e){var r=i._events;if(r===void 0)return[];var n=r[t];return n===void 0?[]:typeof n=="function"?e?[n.listener||n]:[n]:e?Iu(n):Ss(n,n.length)}X.prototype.listeners=function(i){return wn(this,i,!0)},X.prototype.rawListeners=function(i){return wn(this,i,!1)},X.listenerCount=function(i,t){return typeof i.listenerCount=="function"?i.listenerCount(t):bn.call(i,t)},X.prototype.listenerCount=bn;function bn(i){var t=this._events;if(t!==void 0){var e=t[i];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}X.prototype.eventNames=function(){return this._eventsCount>0?Ar(this._events):[]};function Ss(i,t){for(var e=new Array(t),r=0;r{this.signClient=await Mu.init({core:this.client.core,metadata:this.client.metadata}),this.authClient=await au.init({core:this.client.core,projectId:"",metadata:this.client.metadata}),this.initializeEventListeners()},this.pair=async e=>{await this.client.core.pairing.pair(e)},this.approveSession=async e=>{const{topic:r,acknowledged:n}=await this.signClient.approve({id:e.id,namespaces:e.namespaces});return await n(),this.signClient.session.get(r)},this.rejectSession=async e=>await this.signClient.reject(e),this.updateSession=async e=>await(await this.signClient.update(e)).acknowledged(),this.extendSession=async e=>await(await this.signClient.extend(e)).acknowledged(),this.respondSessionRequest=async e=>await this.signClient.respond(e),this.disconnectSession=async e=>await this.signClient.disconnect(e),this.emitSessionEvent=async e=>await this.signClient.emit(e),this.getActiveSessions=()=>this.signClient.session.getAll().reduce((e,r)=>(e[r.topic]=r,e),{}),this.getPendingSessionProposals=()=>this.signClient.proposal.getAll(),this.getPendingSessionRequests=()=>this.signClient.getPendingSessionRequests(),this.respondAuthRequest=async(e,r)=>await this.authClient.respond(e,r),this.getPendingAuthRequests=()=>this.authClient.requests.getAll().filter(e=>"requester"in e),this.formatMessage=(e,r)=>this.authClient.formatMessage(e,r),this.onSessionRequest=e=>{this.client.events.emit("session_request",e)},this.onSessionProposal=e=>{this.client.events.emit("session_proposal",e)},this.onSessionDelete=e=>{this.client.events.emit("session_delete",e)},this.onAuthRequest=e=>{this.client.events.emit("auth_request",e)},this.initializeEventListeners=()=>{this.signClient.events.on("session_proposal",this.onSessionProposal),this.signClient.events.on("session_request",this.onSessionRequest),this.signClient.events.on("session_delete",this.onSessionDelete),this.authClient.on("auth_request",this.onAuthRequest)},this.signClient={},this.authClient={}}}class qi extends Pu{constructor(t){super(t),this.events=new Fr.exports,this.on=(e,r)=>this.events.on(e,r),this.once=(e,r)=>this.events.once(e,r),this.off=(e,r)=>this.events.off(e,r),this.removeListener=(e,r)=>this.events.removeListener(e,r),this.pair=async e=>{try{return await this.engine.pair(e)}catch(r){throw this.logger.error(r.message),r}},this.approveSession=async e=>{try{return await this.engine.approveSession(e)}catch(r){throw this.logger.error(r.message),r}},this.rejectSession=async e=>{try{return await this.engine.rejectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.updateSession=async e=>{try{return await this.engine.updateSession(e)}catch(r){throw this.logger.error(r.message),r}},this.extendSession=async e=>{try{return await this.engine.extendSession(e)}catch(r){throw this.logger.error(r.message),r}},this.respondSessionRequest=async e=>{try{return await this.engine.respondSessionRequest(e)}catch(r){throw this.logger.error(r.message),r}},this.disconnectSession=async e=>{try{return await this.engine.disconnectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.emitSessionEvent=async e=>{try{return await this.engine.emitSessionEvent(e)}catch(r){throw this.logger.error(r.message),r}},this.getActiveSessions=()=>{try{return this.engine.getActiveSessions()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionProposals=()=>{try{return this.engine.getPendingSessionProposals()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.respondAuthRequest=async(e,r)=>{try{return await this.engine.respondAuthRequest(e,r)}catch(n){throw this.logger.error(n.message),n}},this.getPendingAuthRequests=()=>{try{return this.engine.getPendingAuthRequests()}catch(e){throw this.logger.error(e.message),e}},this.formatMessage=(e,r)=>{try{return this.engine.formatMessage(e,r)}catch(n){throw this.logger.error(n.message),n}},this.metadata=t.metadata,this.name=t.name||Es,this.core=t.core,this.logger=this.core.logger,this.engine=new Ou(this)}static async init(t){const e=new qi(t);return await e.initialize(),e}async initialize(){this.logger.trace("Initialized");try{await this.engine.init(),this.logger.info("Web3Wallet Initialization Success")}catch(t){throw this.logger.info("Web3Wallet Initialization Failure"),this.logger.error(t.message),t}}}const Vu=qi;export{Es as CLIENT_CONTEXT,ku as CLIENT_STORAGE_OPTIONS,Uu as CLIENT_STORAGE_PREFIX,Pu as IWeb3Wallet,qu as IWeb3WalletEngine,zu as IWeb3WalletEvents,Fu as PROTOCOL,Du as PROTOCOL_VERSION,Bu as REQUEST_CONTEXT,Vu as Web3Wallet,qi as default}; diff --git a/frontends/web/build/assets/qr-scanner-worker.min-5f44a019.js b/frontends/web/build/assets/qr-scanner-worker.min-5f44a019.js new file mode 100644 index 0000000000..191a2537f7 --- /dev/null +++ b/frontends/web/build/assets/qr-scanner-worker.min-5f44a019.js @@ -0,0 +1,98 @@ +const e=()=>new Worker(URL.createObjectURL(new Blob([`class x{constructor(a,b){this.width=b;this.height=a.length/b;this.data=a}static createEmpty(a,b){return new x(new Uint8ClampedArray(a*b),a)}get(a,b){return 0>a||a>=this.width||0>b||b>=this.height?!1:!!this.data[b*this.width+a]}set(a,b,c){this.data[b*this.width+a]=c?1:0}setRegion(a,b,c,d,e){for(let f=b;fa||32this.available())throw Error("Cannot read "+a.toString()+" bits");var b=0;if(0>8-c<>b;a-=c;this.bitOffset+=c;8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(0>c<>c, +this.bitOffset+=a)}return b}available(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset}}var B,C=B||(B={});C.Numeric="numeric";C.Alphanumeric="alphanumeric";C.Byte="byte";C.Kanji="kanji";C.ECI="eci";C.StructuredAppend="structuredappend";var D,E=D||(D={});E[E.Terminator=0]="Terminator";E[E.Numeric=1]="Numeric";E[E.Alphanumeric=2]="Alphanumeric";E[E.Byte=4]="Byte";E[E.Kanji=8]="Kanji";E[E.ECI=7]="ECI";E[E.StructuredAppend=3]="StructuredAppend";let F="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".split(""); +function ca(a,b){let c=[],d="";b=a.readBits([8,16,16][b]);for(let e=0;e\`%\${("0"+e.toString(16)).substr(-2)}\`).join(""))}catch(e){}return{bytes:c,text:d}} +function da(a,b){a=new ba(a);let c=9>=b?0:26>=b?1:2;for(b={text:"",bytes:[],chunks:[],version:b};4<=a.available();){var d=a.readBits(4);if(d===D.Terminator)return b;if(d===D.ECI)0===a.readBits(1)?b.chunks.push({type:B.ECI,assignmentNumber:a.readBits(7)}):0===a.readBits(1)?b.chunks.push({type:B.ECI,assignmentNumber:a.readBits(14)}):0===a.readBits(1)?b.chunks.push({type:B.ECI,assignmentNumber:a.readBits(21)}):b.chunks.push({type:B.ECI,assignmentNumber:-1});else if(d===D.Numeric){var e=a,f=[];d="";for(var g= +e.readBits([10,12,14][c]);3<=g;){var h=e.readBits(10);if(1E3<=h)throw Error("Invalid numeric value above 999");var k=Math.floor(h/100),m=Math.floor(h/10)%10;h%=10;f.push(48+k,48+m,48+h);d+=k.toString()+m.toString()+h.toString();g-=3}if(2===g){g=e.readBits(7);if(100<=g)throw Error("Invalid numeric value above 99");e=Math.floor(g/10);g%=10;f.push(48+e,48+g);d+=e.toString()+g.toString()}else if(1===g){e=e.readBits(4);if(10<=e)throw Error("Invalid numeric value above 9");f.push(48+e);d+=e.toString()}b.text+= +d;b.bytes.push(...f);b.chunks.push({type:B.Numeric,text:d})}else if(d===D.Alphanumeric){e=a;f=[];d="";for(g=e.readBits([9,11,13][c]);2<=g;)m=e.readBits(11),k=Math.floor(m/45),m%=45,f.push(F[k].charCodeAt(0),F[m].charCodeAt(0)),d+=F[k]+F[m],g-=2;1===g&&(e=e.readBits(6),f.push(F[e].charCodeAt(0)),d+=F[e]);b.text+=d;b.bytes.push(...f);b.chunks.push({type:B.Alphanumeric,text:d})}else if(d===D.Byte)d=ca(a,c),b.text+=d.text,b.bytes.push(...d.bytes),b.chunks.push({type:B.Byte,bytes:d.bytes,text:d.text}); +else if(d===D.Kanji){f=a;d=[];e=f.readBits([8,10,12][c]);for(g=0;gk?k+33088:k+49472,d.push(k>>8,k&255);f=(new TextDecoder("shift-jis")).decode(Uint8Array.from(d));b.text+=f;b.bytes.push(...d);b.chunks.push({type:B.Kanji,bytes:d,text:f})}else d===D.StructuredAppend&&b.chunks.push({type:B.StructuredAppend,currentSequence:a.readBits(4),totalSequence:a.readBits(4),parity:a.readBits(8)})}if(0===a.available()||0===a.readBits(a.available()))return b} +class G{constructor(a,b){if(0===b.length)throw Error("No coefficients.");this.field=a;let c=b.length;if(1a.length&&([b,a]=[a,b]);let c=new Uint8ClampedArray(a.length),d=a.length-b.length;for(var e=0;ea)throw Error("Invalid degree less than 0");if(0===b)return this.field.zero;let c=this.coefficients.length;a=new Uint8ClampedArray(c+a);for(let d=0;d{b^=d}),b;b=this.coefficients[0];for(let d=1;d=this.size&&(a=(a^this.primitive)&this.size-1);for(a=0;aa)throw Error("Invalid monomial degree less than 0");if(0===b)return this.zero;a=new Uint8ClampedArray(a+1);a[0]=b;return new G(this,a)}log(a){if(0===a)throw Error("Can't take log(0)");return this.logTable[a]}exp(a){return this.expTable[a]}} +function fa(a,b,c,d){b.degree()=d/2;){var g=b;let h=e;b=c;e=f;if(b.isZero())return null;c=g;f=a.zero;g=b.getCoefficient(b.degree());for(g=a.inverse(g);c.degree()>=b.degree()&&!c.isZero();){let k=c.degree()-b.degree(),m=a.multiply(c.getCoefficient(c.degree()),g);f=f.addOrSubtract(a.buildMonomial(k,m));c=c.addOrSubtract(b.multiplyByMonomial(k,m))}f=f.multiplyPoly(e).addOrSubtract(h);if(c.degree()>=b.degree())return null}d=f.getCoefficient(0); +if(0===d)return null;a=a.inverse(d);return[f.multiply(a),c.multiply(a)]} +function ha(a,b){let c=new Uint8ClampedArray(a.length);c.set(a);a=new ea(285,256,0);var d=new G(a,c),e=new Uint8ClampedArray(b),f=!1;for(var g=0;gf)return null;c[f]^=d[e]}return c} +let I=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1, +dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18, +ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]}, +{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6, +34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18, +ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38}, +{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36}, +{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4, +dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1, +dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]}, +{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]}, +{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115}, +{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22, +ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50, +74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749, +versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17, +dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2, +dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]}, +{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24}, +{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22}, +{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24}, +{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24}, +{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30, +ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13, +dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19, +dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]}, +{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117}, +{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30, +ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6, +26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]}, +{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15}, +{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19, +dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]}, +{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44, +dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]}, +{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6, +dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]}, +{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4, +dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166], +errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017, +versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15}, +{numBlocks:61,dataCodewordsPerBlock:16}]}]}];function J(a,b){a^=b;for(b=0;a;)b++,a&=a-1;return b}function K(a,b){return b<<1|a} +let ia=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0, +dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054, +formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2, +dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],ja=[a=>0===(a.y+a.x)%2,a=>0===a.y%2,a=>0===a.x%3,a=>0===(a.y+a.x)%3,a=>0===(Math.floor(a.y/2)+Math.floor(a.x/3))%2,a=>0===a.x*a.y% +2+a.x*a.y%3,a=>0===(a.y*a.x%2+a.y*a.x%3)%2,a=>0===((a.y+a.x)%2+a.y*a.x%3)%2]; +function ka(a,b,c){c=ja[c.dataMask];let d=a.height;var e=17+4*b.versionNumber;let f=x.createEmpty(e,e);f.setRegion(0,0,9,9,!0);f.setRegion(e-8,0,8,9,!0);f.setRegion(0,e-8,9,8,!0);for(var g of b.alignmentPatternCenters)for(var h of b.alignmentPatternCenters)6===g&&6===h||6===g&&h===e-7||g===e-7&&6===h||f.setRegion(g-2,h-2,5,5,!0);f.setRegion(6,9,1,e-17,!0);f.setRegion(9,6,e-17,1,!0);6n;n++){let q=k-n;if(!f.get(q,l)){h++;let r=a.get(q,l);c({y:l,x:q})&&(r=!r);g=g<<1|r;8===h&&(b.push(g),g=h=0)}}}e=!e}return b} +function la(a){var b=a.height,c=Math.floor((b-17)/4);if(6>=c)return I[c-1];c=0;for(var d=5;0<=d;d--)for(var e=b-9;e>=b-11;e--)c=K(a.get(e,d),c);d=0;for(e=5;0<=e;e--)for(let g=b-9;g>=b-11;g--)d=K(a.get(e,g),d);a=Infinity;let f;for(let g of I){if(g.infoBits===c||g.infoBits===d)return g;b=J(c,g.infoBits);b=a)return f} +function ma(a){let b=0;for(var c=0;8>=c;c++)6!==c&&(b=K(a.get(c,8),b));for(c=7;0<=c;c--)6!==c&&(b=K(a.get(8,c),b));var d=a.height;c=0;for(var e=d-1;e>=d-7;e--)c=K(a.get(8,e),c);for(e=d-8;e=a?d:null} +function na(a,b,c){let d=b.errorCorrectionLevels[c],e=[],f=0;d.ecBlocks.forEach(h=>{for(let k=0;ke+f.numDataCodewords,0);c=new Uint8ClampedArray(c);a=0;for(let e of d){d=ha(e.codewords,e.codewords.length-e.numDataCodewords);if(!d)return null;for(let f=0;f{const p=g*r+m*u+q;return{x:(e*r+h*u+l)/p,y:(f*r+k*u+n)/p}};for(let r=0;rMath.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2));function O(a){return a.reduce((b,c)=>b+c)} +function qa(a,b,c){let d=N(a,b),e=N(b,c),f=N(a,c),g,h,k;e>=d&&e>=f?[g,h,k]=[b,a,c]:f>=e&&f>=d?[g,h,k]=[a,b,c]:[g,h,k]=[a,c,b];0>(k.x-h.x)*(g.y-h.y)-(k.y-h.y)*(g.x-h.x)&&([g,k]=[k,g]);return{bottomLeft:g,topLeft:h,topRight:k}} +function ra(a,b,c,d){d=(O(P(a,c,d,5))/7+O(P(a,b,d,5))/7+O(P(c,a,d,5))/7+O(P(b,a,d,5))/7)/4;if(1>d)throw Error("Invalid module size");b=Math.round(N(a,b)/d);a=Math.round(N(a,c)/d);a=Math.floor((b+a)/2)+7;switch(a%4){case 0:a++;break;case 2:a--}return{dimension:a,moduleSize:d}} +function Q(a,b,c,d){let e=[{x:Math.floor(a.x),y:Math.floor(a.y)}];var f=Math.abs(b.y-a.y)>Math.abs(b.x-a.x);if(f){var g=Math.floor(a.y);var h=Math.floor(a.x);a=Math.floor(b.y);b=Math.floor(b.x)}else g=Math.floor(a.x),h=Math.floor(a.y),a=Math.floor(b.x),b=Math.floor(b.y);let k=Math.abs(a-g),m=Math.abs(b-h),l=Math.floor(-k/2),n=g{d+=Math.pow(a[f]-e*c,2)});return{averageSize:c,error:d}} +function S(a,b,c){try{let d=P(a,{x:-1,y:a.y},c,b.length),e=P(a,{x:a.x,y:-1},c,b.length),f=P(a,{x:Math.max(0,a.x-a.y)-1,y:Math.max(0,a.y-a.x)-1},c,b.length),g=P(a,{x:Math.min(c.width,a.x+a.y)+1,y:Math.min(c.height,a.y+a.x)+1},c,b.length),h=R(d,b),k=R(e,b),m=R(f,b),l=R(g,b),n=(h.averageSize+k.averageSize+m.averageSize+l.averageSize)/4;return Math.sqrt(h.error*h.error+k.error*k.error+m.error*m.error+l.error*l.error)+(Math.pow(h.averageSize-n,2)+Math.pow(k.averageSize-n,2)+Math.pow(m.averageSize-n,2)+ +Math.pow(l.averageSize-n,2))/n}catch(d){return Infinity}}function T(a,b){for(var c=Math.round(b.x);a.get(c,Math.round(b.y));)c--;for(var d=Math.round(b.x);a.get(d,Math.round(b.y));)d++;c=(c+d)/2;for(d=Math.round(b.y);a.get(Math.round(c),d);)d--;for(b=Math.round(b.y);a.get(Math.round(c),b);)b++;return{x:c,y:(d+b)/2}} +function sa(a){var b=[],c=[];let d=[];var e=[];for(let p=0;p<=a.height;p++){var f=0,g=!1;let t=[0,0,0,0,0];for(let v=-1;v<=a.width;v++){var h=a.get(v,p);if(h===g)f++;else{t=[t[1],t[2],t[3],t[4],f];f=1;g=h;var k=O(t)/7;k=Math.abs(t[0]-k)y>=w.bottom.startX&& +y<=w.bottom.endX||z>=w.bottom.startX&&y<=w.bottom.endX||y<=w.bottom.startX&&z>=w.bottom.endX&&1.5>t[2]/(w.bottom.endX-w.bottom.startX)&&.5y>=w.bottom.startX&&y<=w.bottom.endX||z>=w.bottom.startX&&y<=w.bottom.endX||y<=w.bottom.startX&&z>=w.bottom.endX&&1.5>t[2]/(w.bottom.endX-w.bottom.startX)&&.5v.bottom.y!==p&&2<=v.bottom.y-v.top.y));c=c.filter(v=>v.bottom.y===p);d.push(...e.filter(v=>v.bottom.y!==p));e=e.filter(v=>v.bottom.y===p)}b.push(...c.filter(p=>2<=p.bottom.y-p.top.y));d.push(...e);c=[];for(var l of b)2>l.bottom.y-l.top.y||(b=(l.top.startX+l.top.endX+l.bottom.startX+l.bottom.endX)/4,e=(l.top.y+l.bottom.y+1)/2,a.get(Math.round(b),Math.round(e))&&(f=[l.top.endX-l.top.startX,l.bottom.endX-l.bottom.startX,l.bottom.y-l.top.y+ +1],f=O(f)/f.length,g=S({x:Math.round(b),y:Math.round(e)},[1,1,3,1,1],a),c.push({score:g,x:b,y:e,size:f})));if(3>c.length)return null;c.sort((p,t)=>p.score-t.score);l=[];for(b=0;bp.score-t.score);l.push({points:[e,f[0],f[1]],score:e.score+f[0].score+f[1].score})}l.sort((p,t)=>p.score-t.score);let {topRight:q,topLeft:r,bottomLeft:u}=qa(...l[0].points); +l=U(a,d,q,r,u);n=[];l&&n.push({alignmentPattern:{x:l.alignmentPattern.x,y:l.alignmentPattern.y},bottomLeft:{x:u.x,y:u.y},dimension:l.dimension,topLeft:{x:r.x,y:r.y},topRight:{x:q.x,y:q.y}});l=T(a,q);b=T(a,r);c=T(a,u);(a=U(a,d,l,b,c))&&n.push({alignmentPattern:{x:a.alignmentPattern.x,y:a.alignmentPattern.y},bottomLeft:{x:c.x,y:c.y},topLeft:{x:b.x,y:b.y},topRight:{x:l.x,y:l.y},dimension:a.dimension});return 0===n.length?null:n} +function U(a,b,c,d,e){let f,g;try{({dimension:f,moduleSize:g}=ra(d,c,e,a))}catch(l){return null}var h=c.x-d.x+e.x,k=c.y-d.y+e.y;c=(N(d,e)+N(d,c))/2/g;e=1-3/c;let m={x:d.x+e*(h-d.x),y:d.y+e*(k-d.y)};b=b.map(l=>{const n=(l.top.startX+l.top.endX+l.bottom.startX+l.bottom.endX)/4;l=(l.top.y+l.bottom.y+1)/2;if(a.get(Math.floor(n),Math.floor(l))){var q=S({x:Math.floor(n),y:Math.floor(l)},[1,1,1],a)+N({x:n,y:l},m);return{x:n,y:l,score:q}}}).filter(l=>!!l).sort((l,n)=>l.score-n.score);return{alignmentPattern:15<= +c&&b.length?b[0]:m,dimension:f}} +function V(a){var b=sa(a);if(!b)return null;for(let e of b){b=pa(a,e);var c=b.matrix;if(null==c)c=null;else{var d=L(c);if(d)c=d;else{for(d=0;d{a[c]=b[c]})} +function X(a,b,c,d={}){let e=Object.create(null);W(e,ta);W(e,d);d="onlyInvert"===e.inversionAttempts||"invertFirst"===e.inversionAttempts;var f="attemptBoth"===e.inversionAttempts||d;var g=e.greyScaleWeights,h=e.canOverwriteImage,k=b*c;if(a.length!==4*k)throw Error("Malformed data passed to binarizer.");var m=0;if(h){var l=new Uint8ClampedArray(a.buffer,m,k);m+=k}l=new A(b,c,l);if(g.useIntegerApproximation)for(var n=0;n>8)}else for(n=0;nv;v++)for(let w=0;8>w;w++){let aa=l.get(8*r+w,8*q+v);p=Math.min(p,aa);t=Math.max(t,aa)}v=(p+t)/2;v=Math.min(255,1.11*v);24>=t-p&&(v=p/2,0a?2:a>c?c:a;h=n-3;h=2>b?2:b>h?h:b;k=0;for(m=-2;2>=m;m++)for(p=-2;2>=p;p++)k+=u.get(c+m,h+p);c=k/25;for(h=0;8>h;h++)for(k=0;8>k;k++)m=8*a+h,p=8*b+k,t=l.get(m,p),q.set(m,p,t<=c),f&&r.set(m,p,!(t<=c))}f=f?{binarized:q,inverted:r}:{binarized:q};let {binarized:z,inverted:y}=f;(f=V(d? +y:z))||"attemptBoth"!==e.inversionAttempts&&"invertFirst"!==e.inversionAttempts||(f=V(d?z:y));return f}X.default=X;let Y="dontInvert",Z={red:77,green:150,blue:29,useIntegerApproximation:!0}; +self.onmessage=a=>{let b=a.data.id,c=a.data.data;switch(a.data.type){case "decode":(a=X(c.data,c.width,c.height,{inversionAttempts:Y,greyScaleWeights:Z}))?self.postMessage({id:b,type:"qrResult",data:a.data,cornerPoints:[a.location.topLeftCorner,a.location.topRightCorner,a.location.bottomRightCorner,a.location.bottomLeftCorner]}):self.postMessage({id:b,type:"qrResult",data:null});break;case "grayscaleWeights":Z.red=c.red;Z.green=c.green;Z.blue=c.blue;Z.useIntegerApproximation=c.useIntegerApproximation; +break;case "inversionMode":switch(c){case "original":Y="dontInvert";break;case "invert":Y="onlyInvert";break;case "both":Y="attemptBoth";break;default:throw Error("Invalid inversion mode");}break;case "close":self.close()}} +`]),{type:"application/javascript"}));export{e as createWorker}; diff --git a/frontends/web/build/index.html b/frontends/web/build/index.html new file mode 100644 index 0000000000..909f09b7f6 --- /dev/null +++ b/frontends/web/build/index.html @@ -0,0 +1,15 @@ + + + + + + + BitBoxApp + + + + +
+ + + From 17ba3adbe38e24bcb2b35b944c4ae31092feef07 Mon Sep 17 00:00:00 2001 From: thisconnect Date: Sun, 31 Dec 2023 10:14:58 +0100 Subject: [PATCH 03/11] frontend: temp disable file hashing This way built files should have same file name so that we can see the different outputs when changing build config, in future commits. This is only a temporary change for review. --- frontends/web/build/assets/index-d1f7113c.css | 1 - frontends/web/build/assets/index.css | 1 + .../web/build/assets/index.es-439fa429.js | 1 - frontends/web/build/assets/index.es.js | 1 + .../{index.es-df41910f.js => index.es2.js} | 2 +- .../assets/{index-b913d093.js => index.js} | 60 +++++++++---------- ...n-5f44a019.js => qr-scanner-worker.min.js} | 0 frontends/web/build/index.html | 4 +- frontends/web/vite.config.mjs | 7 +++ 9 files changed, 42 insertions(+), 35 deletions(-) delete mode 100644 frontends/web/build/assets/index-d1f7113c.css create mode 100644 frontends/web/build/assets/index.css delete mode 100644 frontends/web/build/assets/index.es-439fa429.js create mode 100644 frontends/web/build/assets/index.es.js rename frontends/web/build/assets/{index.es-df41910f.js => index.es2.js} (99%) rename frontends/web/build/assets/{index-b913d093.js => index.js} (93%) rename frontends/web/build/assets/{qr-scanner-worker.min-5f44a019.js => qr-scanner-worker.min.js} (100%) diff --git a/frontends/web/build/assets/index-d1f7113c.css b/frontends/web/build/assets/index-d1f7113c.css deleted file mode 100644 index 4af7ef889f..0000000000 --- a/frontends/web/build/assets/index-d1f7113c.css +++ /dev/null @@ -1 +0,0 @@ -._expandIcon_j17uw_1{stroke:var(--color-gray);width:18px;height:18px}._logo_gbled_1{display:block;margin:0 auto var(--space-default) auto;max-width:160px}._swissOpenSource_gbled_7{max-width:240px!important;width:100%!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:280px!important}@media (max-width: 768px){._swissOpenSource_gbled_7{max-width:180px!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:210px!important}}._point2bitbox02_1vb0x_1{text-align:center}._caret_1vb0x_5{display:block;margin:0 auto}._bitbox02_1vb0x_10{display:inline-block;max-width:264px;position:relative;right:-16px}._overlay_1u8gr_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background:transparent;z-index:4010}._overlay_1u8gr_1._activeOverlay_1u8gr_15{background-color:var(--bg-transparent-dark)}._modal_1u8gr_19{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto}@media (min-width: 1200px){._header_1u8gr_31 ._title_1u8gr_31{--size-subheader: 16px}._modal_1u8gr_19{margin-left:var(--sidebar-width-large)}._modal_1u8gr_19 ._contentContainer_1u8gr_37 p{--size-default: 14px}}._modal_1u8gr_19._small_1u8gr_42{max-width:340px;width:100%}._modal_1u8gr_19._medium_1u8gr_47{max-width:520px;width:100%}._modal_1u8gr_19._large_1u8gr_53{max-width:800px;width:100%}._header_1u8gr_31{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--background)}._header_1u8gr_31._centered_1u8gr_68{justify-content:center}._header_1u8gr_31 ._title_1u8gr_31{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_1u8gr_78{background:none;border:none;padding:0;width:auto!important}._closeButton_1u8gr_78:focus{outline:none}._closeButton_1u8gr_78:disabled{color:var(--color-secondary)}._header_1u8gr_31 ._closeButton_1u8gr_78,._header_1u8gr_31 ._closeButton_1u8gr_78 img{width:18px;height:18px}._contentContainer_1u8gr_37{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_1u8gr_37._slim_1u8gr_105{padding:0}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-default)}._content_1u8gr_37 p{word-break:break-word}._actions_1u8gr_117 button,._actions_1u8gr_117 a,._small_1u8gr_42 ._actions_1u8gr_117 button,._small_1u8gr_42 ._actions_1u8gr_117 a{width:100%}._actions_1u8gr_117>*:not(:last-child),._small_1u8gr_42 ._actions_1u8gr_117>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_1u8gr_117{margin-top:var(--space-quarter)}._confirmationLabel_1u8gr_135{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_1u8gr_144{display:inline-block;position:absolute;left:0}._disabledLabel_1u8gr_150,._disabledLabel_1u8gr_150 span{color:var(--color-light)!important}._noStep_1u8gr_155{padding-left:0}._confirmationInstructions_1u8gr_159{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_1u8gr_159>div{width:50%}._confirmationInstructions_1u8gr_159 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_1u8gr_159._confirm_1u8gr_135{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_1u8gr_179{height:120px;margin-right:var(--space-half)}._modalContent_1u8gr_184 p{font-size:var(--size-default);font-weight:400}._modalContent_1u8gr_184>*:first-child{margin-top:0}._detail_1u8gr_193{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_1u8gr_193:not(:first-child){border-bottom:solid 1px var(--background)}._detail_1u8gr_193 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1u8gr_193 label,._detail_1u8gr_193 p{margin:0;line-height:1}._detail_1u8gr_193._description_1u8gr_217>span{text-align:right}._buttons_1u8gr_221{padding:var(--space-quarter)}._buttons_1u8gr_221 button:first-child{margin-right:10px}._buttons_1u8gr_221 button{width:50%}._dialogButtons_1u8gr_233{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_1u8gr_233>*:only-child{width:100%}@media (min-width: 769px){._closingOverlay_1u8gr_244{display:none}}@media (max-width: 768px){._header_1u8gr_31 ._title_1u8gr_31{font-size:var(--header-default-font-size)}._modal_1u8gr_19{padding:0}._modal_1u8gr_19,._modal_1u8gr_19._small_1u8gr_42,._modal_1u8gr_19._medium_1u8gr_47,._modal_1u8gr_19._large_1u8gr_53{max-width:100vw;height:100vh;transform:translateY(100vh);transition:transform .3s;border-top-right-radius:var(--space-half);border-top-left-radius:var(--space-half)}._modal_1u8gr_19._open_1u8gr_268{transition:transform .3s;transform:translateY(0)}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-half)}}._link_28asd_1{align-items:center;background:none;border:none;color:var(--color-blue);cursor:default;display:flex;flex-direction:row;font-size:var(--size-default);justify-content:flex-start;padding:var(--space-quarter)}._link_28asd_1 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._language_28asd_20{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:var(--item-height);padding:0 var(--space-half);color:var(--color-blue);border:none;background-color:transparent;font-size:var(--size-default)}._language_28asd_20:focus{outline:none}._language_28asd_20._selected_28asd_38{color:var(--color-default)}._language_28asd_20:hover{background-color:var(--background)}._checked_28asd_46{width:18px;height:18px}@media (max-width: 768px){._link_28asd_1{font-size:var(--size-small)}._language_28asd_20{font-size:var(--size-small)!important}}._fullscreen_q1y08_1{background:var(--background);bottom:0;display:flex;flex-grow:1;flex-direction:column;left:0;overflow-x:inherit;overflow-y:auto;position:fixed;right:0;top:0;z-index:5100}.container ._fullscreen_q1y08_1{z-index:5050}._dialog_q1y08_22{background-color:var(--bg-transparent-dark);justify-content:center}._fill_q1y08_28{align-self:center;display:flex;flex-direction:column;flex-grow:1;padding:0 var(--space-default) var(--space-default) var(--space-default);max-width:var(--content-width);width:100%}._inner_q1y08_38{display:flex;flex-direction:column;margin:0 auto;max-width:var(--content-width);padding:var(--space-half) 0;width:100%}._verticallyCentered_q1y08_46 ._inner_q1y08_38{margin-bottom:auto;margin-top:auto}._inner_q1y08_38._fit_q1y08_50{flex-shrink:0;max-height:100%;padding-bottom:0;padding-top:0}._fit_q1y08_50 ._content_q1y08_56{align-items:stretch;display:flex;flex-direction:column}._textCenter_q1y08_61,._text-center_q1y08_62{text-align:center}._text-left_q1y08_65{text-align:left}@media (max-width: 768px){._inner_q1y08_38{flex-grow:1;display:flex;flex-direction:column;margin:0 auto;min-height:auto!important}._inner_q1y08_38._fit_q1y08_50{padding-bottom:var(--space-half);padding-top:2vh}}@media (min-width: 769px){._fullscreen_q1y08_1 ._inner_q1y08_38{padding-left:var(--space-default);padding-right:var(--space-default)}}@media (max-width: 1080px){._inner_q1y08_38{max-width:100%}}@media (min-width: 1200px){._inner_q1y08_38{padding-left:0;padding-right:0}}._dialog_q1y08_22 ._inner_q1y08_38{background-color:var(--background-secondary);box-shadow:0 3px 5px #0000004d;flex-grow:0;max-width:100%;padding-left:0;padding-right:0;width:540px}._header_q1y08_109{color:var(--color-secondary);font-size:var(--size-default);margin-bottom:var(--space-default);word-break:break-word}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-default);padding-top:0;padding-right:var(--space-default)}@media (max-width: 768px){._fill_q1y08_28{padding:0 0 var(--space-default) 0}._header_q1y08_109{padding-left:var(--space-half);padding-top:var(--space-default);padding-right:var(--space-half);margin-bottom:0}._smallHeader_q1y08_130{margin-bottom:var(--space-half);padding-top:var(--space-half)}._fill_q1y08_28 ._header_q1y08_109{padding-top:0}}@media (max-width: 1199px){._header_q1y08_109{padding-top:var(--space-large)}._smallHeader_q1y08_130,._fill_q1y08_28 ._header_q1y08_109{padding-top:0}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-half);padding-top:0;padding-right:var(--space-half)}}._title_q1y08_155{color:var(--color-default);font-size:var(--size-subheader);font-weight:400;margin-bottom:var(--space-half)}._title_q1y08_155 span{display:block}._header_q1y08_109 p{margin-top:var(--space-quarter)}._closeButton_q1y08_169{background:transparent;border:none;color:var(--color-primary);height:var(--header-height);left:0;position:absolute;text-align:center;top:0;width:var(--header-height)}._content_q1y08_56{flex-grow:1;flex-shrink:0;min-height:80px;word-break:break-word}._fit_q1y08_50 ._content_q1y08_56{flex-shrink:1}@media (max-width: 768px){._content_q1y08_56{flex-grow:1;flex-basis:auto;flex-shrink:0;padding:0 var(--space-half)}._content_q1y08_56._fullWidth_q1y08_197{padding:0}}@media (max-width: 1199px){._dialog_q1y08_22 ._content_q1y08_56{padding:0 var(--space-half)}}@media (min-width: 1200px){._content_q1y08_56{min-height:130px}._dialog_q1y08_22 ._content_q1y08_56{padding:var(--space-half) var(--space-default)}}._content_q1y08_56 ._largeIcon_q1y08_215{margin:var(--space-half) auto;max-height:100%;max-width:280px;min-width:80px;width:50%}@media (max-width: 768px){._content_q1y08_56 ._largeIcon_q1y08_215{margin-bottom:var(--space-half);margin-top:var(--space-half);max-width:160px}}._content_q1y08_56 ul{font-size:var(--size-default);line-height:1.625;padding-left:1.4em}._content_q1y08_56 label{color:var(--color-default)}._buttons_q1y08_240{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default);padding-bottom:var(--space-half)}._dialog_q1y08_22 ._buttons_q1y08_240{padding-left:var(--space-default);padding-right:var(--space-default)}@media (max-width: 768px){._buttons_q1y08_240{padding:0 var(--space-half)}}@media (max-width: 768px) and (orientation: portrait){._buttons_q1y08_240{align-items:stretch;flex-direction:column;flex-grow:0;justify-content:flex-end;margin-top:var(--space-half)}._buttons_q1y08_240>*:not(:last-child){margin-bottom:var(--space-half)}}@media (max-width: 1199px){._dialog_q1y08_22 ._buttons_q1y08_240{padding:0 var(--space-half)}}._textCenter_q1y08_61 ._buttons_q1y08_240>*:only-child{justify-self:flex-end;margin:0 auto}@media (min-width: 1200px){._title_q1y08_155{--size-subheader: 28px}._header_q1y08_109,._inner_q1y08_38 p{--size-default: 20px}._fullscreen_q1y08_1{--size-default: 18px}._inner_q1y08_38 footer p{--size-default: 14px}}._footer_q1y08_294{align-items:center;display:flex;flex-direction:row;justify-content:flex-end;margin:var(--space-default) auto 0 auto;max-width:var(--content-width);padding:0;width:100%}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-default) auto;padding:0 var(--space-default)}._footer_q1y08_294 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_q1y08_294 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_q1y08_294{padding:0 var(--space-half);margin:var(--space-half) 0 0 0}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-half) 0}._footer_q1y08_294 p{text-align:right;font-size:var(--size-small)}._footer_q1y08_294 img{width:80px}}._button_b8ew4_1{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:transparent;border-radius:2px;border-style:solid;border-width:1px;cursor:default;display:inline-flex;flex-direction:row;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;justify-content:center;min-width:100px;height:50px;outline:none;padding:0 var(--space-default);position:relative;text-align:center;text-decoration:none;transition:background-color .2s ease-out,color .2s ease-out;will-change:background-color,color}._button_b8ew4_1:hover{cursor:pointer}._button_b8ew4_1:disabled{cursor:not-allowed}._button_b8ew4_1:focus{outline:none}._primary_b8ew4_38{background:var(--color-blue);color:var(--color-alt)}._primary_b8ew4_38:not([disabled]):focus,._primary_b8ew4_38:not([disabled]):hover{background-color:var(--color-lightblue)}._secondary_b8ew4_49{background-color:var(--background-secondary);border-color:var(--background-tertiary);color:var(--color-default)}._secondary_b8ew4_49:not([disabled]):focus,._secondary_b8ew4_49:not([disabled]):hover{border-color:var(--color-blue);color:var(--color-blue)}._secondary_b8ew4_49[disabled]{border-color:var(--background-quaternary);color:var(--color-tertiary)}._danger_b8ew4_67{background-color:var(--color-softred);border-color:var(--color-softred);color:var(--color-alt)}._danger_b8ew4_67:not([disabled]):focus,._danger_b8ew4_67:not([disabled]):hover{background-color:var(--color-lightred);border-color:var(--color-lightred)}._danger_b8ew4_67:focus{outline-color:var(--color-swissred)}._transparent_b8ew4_84{background-color:transparent;border-color:transparent;color:var(--color-blue);display:inline-block;height:auto;min-width:0;padding:var(--space-half)}._transparent_b8ew4_84:not([disabled]):focus,._transparent_b8ew4_84:not([disabled]):hover{color:var(--color-lightblue)}._primary_b8ew4_38[disabled],._danger_b8ew4_67[disabled],._transparent_b8ew4_84[disabled]{opacity:.4}._button_b8ew4_1[hidden]{display:none}@media (max-width: 768px){._button_b8ew4_1{min-width:90px}}._checkbox_1m6k1_1 input{position:absolute;opacity:0}._checkbox_1m6k1_1 input+label{display:inline-block;max-width:100%;padding-left:2em;position:relative}._checkbox_1m6k1_1 input+label:before,._checkbox_1m6k1_1 input+label:after{background:var(--background-secondary);box-sizing:border-box;content:"";display:inline-block;width:1em;height:1em;position:absolute;left:0;vertical-align:top;text-align:center;transition:all .1s ease}._checkbox_1m6k1_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:2px;top:-1px}._success_1m6k1_33 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-success)}._warning_1m6k1_37 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-warning)}._info_1m6k1_41 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-info)}._checkbox_1m6k1_1 input+label:after{background:transparent;border:solid var(--background-secondary);border-width:0px 2px 2px 0;width:.35em;height:.55em;position:absolute;top:3px;left:6px;margin-left:-1px;margin-top:-2px;opacity:0;transform:scale(2) rotate(45deg);transition:opacity .2s ease-out,transform .2s ease-out}._checkbox_1m6k1_1 input:checked+label:before{background-color:var(--color-blue);border-color:var(--color-blue)}._success_1m6k1_33 input:checked+label:before{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-alt)}._warning_1m6k1_37 input:checked+label:before{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-alt)}._info_1m6k1_41 input:checked+label:before{background-color:var(--color-info);border-color:var(--color-info);color:var(--color-alt)}._checkbox_1m6k1_1 input:checked+label:after{opacity:1;transform:scale(1) rotate(37deg)}._checkbox_1m6k1_1 input[type=checkbox]:focus+label:before{border-color:var(--color-blue);outline:none;outline-offset:0}._checkbox_1m6k1_1 input[type=checkbox]:checked:focus+label:before{outline:2px solid var(--color-blue);outline-offset:-1px}:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:focus+label:before,:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:checked:focus+label:before{border-color:transparent;outline:2px solid var(--color-blue);outline-offset:0}._checkbox_1m6k1_1 input[disabled]+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_198i3_1{--size-default: 14px}._radio_198i3_1 input{position:absolute;opacity:0}._radio_198i3_1 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin-right:var(--space-half);padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_198i3_1 input+label:before,._radio_198i3_1 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_198i3_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_198i3_1 input+label:after{background:var(--color-blue);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radio_198i3_1 input:checked+label:before{background-color:var(--background-secondary)}._radio_198i3_1 input:checked+label:after{opacity:1;transform:scale(1)}._radio_198i3_1 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue);outline:none;outline-offset:0}._radio_198i3_1 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue)}._radio_198i3_1 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._field_d2mb0_1{margin-bottom:var(--spacing-default)}._input_1dgl0_1{width:100%;margin-bottom:var(--space-half);position:relative}._input_1dgl0_1 label{display:block;margin:0 0 var(--space-quarter) 0}._align-left_1dgl0_12 label{justify-self:flex-start}._align-right_1dgl0_16 label{flex-grow:1;justify-self:flex-end;text-align:right}._align-right_1dgl0_16 input{text-align:right}._input_1dgl0_1 input{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%;transition:border-color .2s ease-out;will-change:border-color}._input_1dgl0_1 input:focus{border-color:var(--color-blue);outline:none}._input_1dgl0_1 input::placeholder{color:var(--color-secondary)}._input_1dgl0_1 input[disabled]{background-color:var(--background-secondary)!important;border-color:var(--background)!important;color:var(--color-secondary)!important;cursor:not-allowed}._isTransparent_1dgl0_58 input[disabled]{border-color:var(--background);color:var(--color-default)!important;cursor:default}._errorText_1dgl0_64{color:var(--color-softred)!important}._errorText_1dgl0_64>span>span{margin-left:5px}._input_1dgl0_1 input[type=checkbox]{width:auto;height:auto}._label_53nw1_1{text-align:left}._select_yd5xu_1{margin-bottom:var(--space-half);position:relative;width:100%}._select_yd5xu_1 label{display:block;margin-bottom:var(--space-quarter);text-align:left}._select_yd5xu_1 select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:calc(100% - 12px);background-repeat:no-repeat;border:solid 1px var(--background-quaternary);border-radius:2px;color:var(--color-default);font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%}._select_yd5xu_1 select[disabled]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23ccc'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A")}._select_yd5xu_1 option{background-color:var(--background-secondary);color:var(--color-default);padding:var(--spacing-default);width:100%}._select_yd5xu_1 option[disabled]{color:var(--color-disabled)}._message_ncb43_1{border:solid 1px var(--background-quaternary);color:var(--color-secondary);border-radius:2px;padding:var(--spacing-default);margin-bottom:var(--spacing-default);display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-shrink:0;overflow:hidden}._message_ncb43_1._small_ncb43_15{flex-shrink:1;font-size:var(--size-default)}._message_ncb43_1 img{margin-right:var(--spacing-default)}._message_ncb43_1 p:last-child{margin-bottom:0!important}._success_ncb43_28{color:var(--color-success);border-color:var(--color-success)}._info_ncb43_34{color:var(--color-blue);border-color:var(--color-blue)}._warning_ncb43_40{color:var(--color-warning);border-color:var(--color-warning)}._error_ncb43_46{color:var(--color-error);border-color:var(--color-error)}._capsWarning_1xqma_1{color:var(--color-warning);font-weight:700;line-height:42px;position:absolute;right:0;width:2rem}._badge_f2nw5_1{border-radius:var(--space-half);border:1px solid;display:inline-block;font-size:var(--size-small);line-height:14px;padding:var(--space-eight) 10px;white-space:nowrap}._badge_f2nw5_1._iconOnly_f2nw5_11{align-items:center;display:inline-flex;height:18px;justify-content:center;padding:0;width:18px}._badgeIcon_f2nw5_20{max-width:10px}._withChildren_f2nw5_24 ._badgeIcon_f2nw5_20{margin-right:var(--space-eight)}@media (max-width: 382px){._badge_f2nw5_1{font-size:10px}}._success_f2nw5_34{background:var(--color-palegreen);border-color:var(--color-lightgreen);color:var(--color-darkgreen)}._warning_f2nw5_40{background:var(--color-lightyellow);border-color:var(--color-darkyellow);color:var(--color-olive)}._closeButton_1xwfn_1{background:transparent;border:none;display:none;padding:12px;transform:translate(14px)}._closeButton_1xwfn_1:focus{outline:none}._sidebarOverlay_1xwfn_13{position:fixed;background-color:#0000004d;width:100%;height:100%;top:0;left:0;z-index:-1;opacity:0;animation-delay:.2s;transition:opacity ease .2s}._sidebarOverlay_1xwfn_13._active_1xwfn_26{opacity:1;z-index:4001}._sidebar_1xwfn_13{position:fixed;margin-left:calc(var(--sidebar-width-large) * -1);align-content:stretch;background-color:var(--background-dark);display:flex;flex-direction:column;flex-shrink:0;justify-content:flex-start;height:100vh;padding:0 0 var(--spacing-default) 0;width:var(--sidebar-width-large);z-index:4002;overflow-y:auto}._sidebar_1xwfn_13>*._end_1xwfn_47{margin-top:auto;padding-top:var(--sidebar-margin)}._sidebar_1xwfn_13._forceShow_1xwfn_52{margin-left:0}._sidebar_1xwfn_13 ._sidebarLogoContainer_1xwfn_56{align-items:center;display:flex;flex-direction:row;height:70px;justify-content:space-between;padding:calc(var(--spacing-default) + var(--spacing-half)) var(--spacing-large);background-size:cover;background-color:#0000001a;opacity:1;transition:opacity .2s ease}._sidebarLogoContainer_1xwfn_56 img{margin-bottom:0;width:auto!important;height:var(--sidebar-icon-size)!important}._sidebarHeaderContainer_1xwfn_75{margin-top:var(--sidebar-margin);margin-bottom:var(--sidebar-header-size);padding:0 var(--sidebar-margin);display:flex;flex-direction:row;justify-content:space-between;align-items:center}._sidebarPortfolio_1xwfn_85+._sidebarHeaderContainer_1xwfn_75{margin-top:28px}._sidebarHeader_1xwfn_75{font-size:var(--sidebar-header-size);line-height:var(--sidebar-header-line-height);color:var(--color-secondary)}._sidebarIconVisible_1xwfn_95{visibility:visible}._sidebarIconHidden_1xwfn_99{visibility:hidden}._sidebarItem_1xwfn_103{display:block}._sidebarItem_1xwfn_103 a{position:relative;color:#fff;cursor:default;height:var(--sidebar-item-height);text-decoration:none;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;border-radius:2px}._sidebarArrow_1xwfn_121{display:none}._sidebarItem_1xwfn_103 a._sidebarActive_1xwfn_125{text-decoration:none;background-color:#ffffff1a}._activeGroup_1xwfn_130 ._sidebarArrow_1xwfn_121{display:inline;margin-right:var(--sidebar-margin)}._sidebarItem_1xwfn_103 .stacked,._sidebarItem_1xwfn_103 ._single_1xwfn_136{margin:0 var(--sidebar-icon-margin) 0 var(--sidebar-margin);height:var(--sidebar-icon-size)}a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141,._sidebar_1xwfn_13 a:hover ._sidebarLabel_1xwfn_141,._activeGroup_1xwfn_130 ._sidebarLabel_1xwfn_141{color:var(--color-alt)}._sidebar_1xwfn_13 a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141{font-weight:400}a._sidebarActive_1xwfn_125 .stacked img:first-child,._sidebar_1xwfn_13 a:hover .stacked img:first-child{opacity:0}a._sidebarActive_1xwfn_125 .stacked img:last-child,._sidebar_1xwfn_13 a:hover .stacked img:last-child,._activeGroup_1xwfn_130 .stacked img:last-child{opacity:1}._sidebar_1xwfn_13 img{width:var(--sidebar-icon-size);height:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}._single_1xwfn_136 img{opacity:.6;transition:opacity .2s ease}a._sidebarActive_1xwfn_125 ._single_1xwfn_136 img,._sidebar_1xwfn_13 a:hover ._single_1xwfn_136 img{opacity:1}._sidebarLabel_1xwfn_141{color:var(--color-light);line-height:1;flex:1;padding-top:0;padding-right:var(--space-default);font-size:var(--size-default);font-weight:400;transition:all .2s ease;word-break:break-word}._activeGroup_1xwfn_130{background-color:#555}._sidebarSubmenu_1xwfn_197 a svg{width:18px;height:18px;margin-right:var(--sidebar-icon-margin);margin-left:calc(var(--sidebar-margin) + var(--sidebar-icon-margin))}._sidebarArrow_1xwfn_121{width:12px;height:12px}@media (max-width: 1199px){._sidebar_1xwfn_13{transition:margin-left .2s ease}}@media (min-width: 1200px){._sidebarContainer_1xwfn_216:not(._forceHide_1xwfn_216) ._sidebar_1xwfn_13{position:relative;margin-left:0;width:var(--sidebar-width-large)}}@media (max-width: 560px){._closeButton_1xwfn_1{display:block}._sidebar_1xwfn_13{margin-left:-100vw;transition:margin-left .3s ease;width:100vw}}._children_1y42x_1{display:flex;flex-direction:row;align-items:center;margin-bottom:var(--space-quarter)}._children_1y42x_1>a{display:inline-block;height:18px;font-size:var(--size-default);text-decoration:none;font-weight:400}._children_1y42x_1>a>svg{width:18px;height:18px;stroke-width:2}._container_1y42x_22{width:100%}._container_1y42x_22._fixed_1y42x_26{position:fixed;left:var(--sidebar-width);height:var(--header-height);width:calc(100% - var(--sidebar-width));z-index:1001}._disabled_1y42x_34{opacity:.4}._forceHidden_1y42x_38 ._sidebarToggler_1y42x_38{display:none!important}._guideIcon_1y42x_42{font-size:var(--size-default);text-decoration:none;display:flex;flex-direction:row;align-items:center}._guideIcon_1y42x_42 img{width:18px;height:18px;color:var(--color-blue);margin-right:calc(var(--space-quarter) / 2)}._guideIconContainer_1y42x_57{height:18px;margin-left:var(--space-half)}._header_1y42x_62{padding:0 var(--space-default);max-width:var(--content-width);min-height:var(--header-height);width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex:none;margin:0 auto;flex-wrap:wrap}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2){text-align:center}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2)>*{max-width:600px;width:100%}._sidebarToggler_1y42x_38{width:32px;height:32px;margin-bottom:var(--space-quarter);margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._sidebarToggler_1y42x_38 img{width:20px}._title_1y42x_99{white-space:nowrap;flex-grow:1;margin-bottom:var(--space-quarter);padding-right:var(--space-half)}._title_1y42x_99>*{margin:0;font-size:var(--header-default-font-size);font-weight:400;line-height:1;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}@media (max-width: 768px){._header_1y42x_62{padding:var(--space-half)}._sidebarToggler_1y42x_38._hideSidebarToggler_1y42x_120{display:none}._container_1y42x_22 ._sidebarToggler_1y42x_38{margin-right:0}}@media (min-width: 1200px){._sidebarToggler_1y42x_38{display:none}}._main_1ntet_1{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;overflow-x:inherit;overflow-y:auto;position:relative}._columnAsCard_1rob5_1{background-color:var(--background-secondary);padding:var(--space-default)}._column_1rob5_1 p{margin-top:0}._columnButtons_1rob5_10:not(._columnButtonsInline_1rob5_10) button{width:100%}._columnButtons_1rob5_10 button:not(:first-child){margin-top:var(--space-quarter)}._columnButtonsInline_1rob5_10{display:flex;flex-direction:row-reverse}._columnButtonsInline_1rob5_10>a:not(:first-child),._columnButtonsInline_1rob5_10>button:not(:first-child){margin-right:var(--space-half);margin-top:0}._left_1rob5_29{text-align:left}._center_1rob5_33{text-align:center}@media (max-width: 768px){._columnAsCard_1rob5_1{padding:var(--space-half)}._columnAsCard_1rob5_1+._columnAsCard_1rob5_1{margin-top:var(--space-default)}}@media (min-width: 769px){._grid_1rob5_47{display:grid;gap:var(--space-default);grid-auto-rows:minmax(100px,auto)}._grid-columns-1_1rob5_53{grid-template-columns:repeat(1,1fr)}._grid-columns-2_1rob5_56{grid-template-columns:repeat(2,1fr)}._column_1rob5_1{display:flex;flex-direction:column}._columnButtons_1rob5_10{margin-top:auto}}._footer_19w3c_1{max-width:var(--content-width);width:100%;padding:0 var(--space-default);margin:var(--space-default) auto}._footer_19w3c_1 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_19w3c_1 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_19w3c_1{padding:0 var(--space-half);margin:var(--space-half) 0}._footer_19w3c_1 p{text-align:right;font-size:var(--size-small)}._footer_19w3c_1 img{width:80px}}._contentWithGuide_1gscs_1{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}._container_1gscs_8{display:flex;flex:1 1 auto;flex-direction:column;overflow:auto;position:relative;width:100%}:root{--icon-size: 10px;--icon-size-small: 8px}._steps_1l429_6{align-items:flex-start;display:inline-flex;flex-shrink:0;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--space-half);overflow:hidden;position:relative;width:100%}._step_1l429_6{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative;text-align:left}._dot_1l429_38{display:inline-block;margin-bottom:var(--space-quarter);min-height:var(--icon-size)}._dot_1l429_38:before{background:var(--color-primary);border:4px solid var(--background-secondary);border-radius:50%;content:"";display:inline-block;flex-shrink:0;font-size:14px;height:var(--icon-size);line-height:var(--icon-size);position:relative;text-align:center;transition:background-color .3s,border-color .3s;vertical-align:top;width:var(--icon-size);z-index:13}._dot_1l429_38:after{border-top:5px solid var(--background-secondary);content:"";position:absolute;top:6px;right:50%;width:100vw;z-index:12}._line_1l429_72 ._dot_1l429_38:after{z-index:1}._finish_1l429_76 ._dot_1l429_38:before{height:var(--icon-size-small);width:var(--icon-size-small)}._wait_1l429_81{color:var(--color-tertiary)}._finish_1l429_76 ._dot_1l429_38:before,._wait_1l429_81 ._dot_1l429_38:before{margin-top:1px}._wait_1l429_81 ._dot_1l429_38:before{background:var(--background-quaternary);height:var(--icon-size-small);width:var(--icon-size-small)}._finish_1l429_76._line_1l429_72 ._dot_1l429_38:after,._process_1l429_97._line_1l429_72 ._dot_1l429_38:after{border-color:var(--color-primary);border-top-width:3px;z-index:11;top:7px}._wait_1l429_81._line_1l429_72 ._dot_1l429_38:after{border-color:var(--background-quaternary);border-top-width:3px;top:7px}._content_1l429_110{font-size:var(--size-small);line-height:1;margin:0;min-width:90px;position:relative;text-align:center;width:min-content;white-space:nowrap}._link_1o1mh_1{color:var(--color-blue);cursor:pointer;text-decoration:underline}._link_1o1mh_1:focus{outline:1px solid var(--color-blue);text-decoration:none}._overlay_14an4_1{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000004d;z-index:-1;opacity:0;transition:opacity ease .2s}._close_14an4_13{color:var(--color-alt);font-size:var(--size-default)!important;text-decoration:none;display:flex;flex-direction:row;align-items:center;line-height:1}._close_14an4_13 img{width:18px;height:18px;margin-left:calc(var(--space-quarter) / 2)}._wrapper_14an4_29{position:relative}._guide_14an4_33{margin-right:calc(var(--guide-width) * -1);height:100vh;width:var(--guide-width);color:#fff;background-color:var(--color-lightblue);overflow-y:auto;transition:margin-right .2s ease,transform .2s ease;will-change:margin-right,transform}._header_14an4_44{margin-bottom:var(--space-default);height:var(--header-height);padding:0 var(--space-default);background-color:var(--color-blue)}._header_14an4_44 h2{margin:0;font-size:var(--header-default-font-size);font-weight:400}._header_14an4_44 a{cursor:pointer;font-size:20px}._content_14an4_62{padding:0 var(--space-default)}._content_14an4_62 h1{margin-top:0;font-size:1.5em}._content_14an4_62 h2{margin:0;font-size:1.1em;line-height:1.2em;font-weight:400}._guide_14an4_33 p{margin:.4em 0;font-size:var(--size-default)}._show_14an4_83{margin-right:0}._entry_14an4_87{margin-top:var(--space-default)}._entryTitle_14an4_91{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;cursor:default}._entryTitle_14an4_91 ._entryToggle_14an4_99{width:16px;line-height:1.2em;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;font-weight:700}._entryTitle_14an4_91 ._entryTitleText_14an4_109{flex:1}._entryContent_14an4_113{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;padding-left:16px}._expanded_14an4_121{flex-basis:0}._link_14an4_125{color:inherit;text-decoration:underline}._link_14an4_125:focus{outline-color:inherit}@media (max-width: 1348px){._guideWrapper_14an4_135{width:calc((((100% - var(--sidebar-width-large)) - var(--content-width)) / 2) + 18px + var(--space-default))}}@media screen and (max-width: 1601px){._overlay_14an4_1._show_14an4_83{opacity:1}._guide_14an4_33{position:fixed;margin-right:0;top:0;right:0;width:100%;max-width:460px;opacity:0;z-index:-10;transform:translate(100%);transition-delay:.2s}._show_14an4_83{opacity:1;z-index:4002}._guide_14an4_33._show_14an4_83{transform:translate(0)}}@media (max-width: 768px){._guideWrapper_14an4_135{position:fixed;top:0;right:0;width:calc(var(--space-half) + 18px)}._header_14an4_44,._content_14an4_62{padding-left:var(--space-half);padding-right:var(--space-half)}}@media screen and (max-width: 640px){._guide_14an4_33 h2{font-size:1.05em}}._manageContainer_1n5md_1{flex-basis:490px;flex-shrink:1;margin-bottom:var(--header-height);min-height:390px;max-height:100%}._title_1n5md_9{font-size:var(--size-large);font-weight:400}._successCheck_1n5md_14{background-color:var(--color-success);border:.5rem solid var(--color-success);border-radius:100px}._successMessage_1n5md_20{color:var(--color-secondary)}._successMessage_1n5md_20 strong{color:var(--color-default)}._spinnerContainer_rthjr_1{position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--background-secondary);z-index:2000;display:flex;flex-direction:column;justify-content:center;align-items:center;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}._spinner_rthjr_1{display:inline-block;position:relative;width:64px;height:64px}._spinnerText_rthjr_24{margin:0}._spinner_rthjr_1 div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:var(--color-blue);animation-timing-function:cubic-bezier(0,1,1,0)}._spinner_rthjr_1 div:nth-child(1){left:6px;animation:_spinner1_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(2){left:6px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(3){left:26px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(4){left:45px;animation:_spinner3_rthjr_1 .6s infinite}._horizontallyCentered_rthjr_59{left:50%;position:absolute;transform:translate(-50%)}@keyframes _spinner1_rthjr_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _spinner3_rthjr_1{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes _spinner2_rthjr_1{0%{transform:translate(0)}to{transform:translate(19px)}}._overlay_rthjr_81{position:absolute;top:0;bottom:0;left:0;right:0;background:var(--background-secondary);animation:_fadein_rthjr_1 .3s;opacity:0}@keyframes _fadein_rthjr_1{0%{opacity:1}66%{opacity:1}to{opacity:0}}._togglersContainer_rthjr_98{position:fixed;top:calc((var(--header-height) - 32px) / 2);max-width:var(--content-width);width:100%;padding:0 var(--space-default);z-index:1;display:flex;flex-direction:row;justify-content:space-between;align-items:center}._guideToggler_rthjr_111{display:flex;flex-direction:row;align-items:center;height:32px;color:var(--color-primary);font-size:var(--size-default);cursor:default}._guideToggler_rthjr_111 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._toggler_rthjr_98{width:32px;height:32px;margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._toggler_rthjr_98 img{width:20px}@media (min-width: 1200px){._togglersContainer_rthjr_98{flex-direction:row-reverse}._togglerContainer_rthjr_145{display:none}}@media (max-width: 768px){._togglersContainer_rthjr_98{padding:0 var(--space-half)}}._disclaimerContainer_5gxwf_1{align-items:center;display:flex;flex-basis:100%;flex-direction:column;flex-grow:0;flex-shrink:1;justify-content:center;margin:0 auto;overflow:auto;padding:0 var(--space-half) var(--header-height) var(--space-half);width:100%}._title_5gxwf_15{font-size:2rem;font-weight:400;text-align:center}._disclaimer_5gxwf_1{background-color:var(--background-secondary);flex-basis:100%;font-family:var(--font-family);flex-grow:0;flex-shrink:1;margin:var(--space-default) 0;max-width:660px;overflow:auto;padding:var(--space-quarter) 1em 1em 1em}._disclaimer_5gxwf_1::-webkit-scrollbar-track{background-color:#fff}._disclaimer_5gxwf_1 ._title_5gxwf_15{font-size:.875rem;font-weight:700;text-align:left}._disclaimer_5gxwf_1 p{font-size:.875rem;line-height:1.5}._disclaimer_5gxwf_1 p+._title_5gxwf_15{margin:2.5rem 0 0}._table_5gxwf_52{overflow:auto}._table_5gxwf_52 table{border-collapse:collapse;font-size:.875rem;text-align:left}._table_5gxwf_52 td,._table_5gxwf_52 th{padding:var(--spacing-half);vertical-align:top}._table_5gxwf_52 td{border-top:1px solid var(--color-mediumgray)}._table_5gxwf_52 td:not(:last-child),._table_5gxwf_52 th:not(:last-child){padding-left:0}._nowrap_5gxwf_77{white-space:nowrap}._container_yg57j_1{display:flex;flex-basis:100%;flex-grow:0;flex-shrink:1;flex-direction:column;overflow:hidden;position:relative}._iframe_yg57j_12{max-width:100%;position:relative;z-index:3000}._header_yg57j_18{position:relative;z-index:2200}._balance_17xkv_1,._balanceSingleValue_17xkv_1{color:var(--color-secondary);margin-left:auto;text-transform:uppercase}._balanceSingleValue_17xkv_1{margin-right:var(--space-quarter)}._dropdown_17xkv_11{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_17xkv_20{margin-bottom:var(--space-half)}._select_17xkv_20 .react-select__menu,._select_17xkv_20 .react-select__option{background-color:var(--background-secondary)}._select_17xkv_20 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_17xkv_20 .react-select__option--is-selected,._select_17xkv_20 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled span{color:var(--color-secondary)}._select_17xkv_20 .react-select__option--is-disabled.react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled:hover{background-color:transparent}._select_17xkv_20 .react-select__option--is-selected ._balance_17xkv_1{color:var(--color-default)}._select_17xkv_20 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_17xkv_20 .react-select__single-value{width:100%}._selectLabelText_17xkv_66{margin-left:6px}._singleValueContainer_17xkv_70{align-items:center;display:flex;left:var(--space-quarter);position:absolute;width:100%}._valueContainer_17xkv_78{align-items:center;color:var(--color-default);display:flex}._select_17xkv_20 .react-select__option--is-selected ._selectLabelText_17xkv_66{color:var(--color-default)}._valueContainer_17xkv_78>img{width:20px;height:20px}._button_1riw8_1{border-width:0;display:flex;padding:0}._button_1riw8_1 img{width:18px;height:18px}._button_1riw8_1 span{width:96px;margin-left:var(--space-eight)}.fib,.fi{background-size:contain;background-position:50%;background-repeat:no-repeat}.fi{position:relative;display:inline-block;width:1.333333em;line-height:1em}.fi:before{content:" "}.fi.fis{width:1em}.fi-xx{background-image:url(./xx-5f776f5b.svg)}.fi-xx.fis{background-image:url(./xx-84717c7a.svg)}.fi-ad{background-image:url(./ad-01e40953.svg)}.fi-ad.fis{background-image:url(./ad-4b037d69.svg)}.fi-ae{background-image:url(./ae-e646ea13.svg)}.fi-ae.fis{background-image:url(./ae-534fefed.svg)}.fi-af{background-image:url(./af-dcf380eb.svg)}.fi-af.fis{background-image:url(./af-2b0f0512.svg)}.fi-ag{background-image:url(./ag-d8b2d313.svg)}.fi-ag.fis{background-image:url(./ag-0426382d.svg)}.fi-ai{background-image:url(./ai-9404c772.svg)}.fi-ai.fis{background-image:url(./ai-259c2c73.svg)}.fi-al{background-image:url(./al-d5d048db.svg)}.fi-al.fis{background-image:url(./al-21e1b6b5.svg)}.fi-am{background-image:url(./am-efb6cdaa.svg)}.fi-am.fis{background-image:url(./am-57edcffa.svg)}.fi-ao{background-image:url(./ao-3c52ff53.svg)}.fi-ao.fis{background-image:url(./ao-a296c39c.svg)}.fi-aq{background-image:url(./aq-454424bf.svg)}.fi-aq.fis{background-image:url(./aq-733794b7.svg)}.fi-ar{background-image:url(./ar-2f7aada4.svg)}.fi-ar.fis{background-image:url(./ar-1768d119.svg)}.fi-as{background-image:url(./as-43a6bbb4.svg)}.fi-as.fis{background-image:url(./as-c4c6fecf.svg)}.fi-at{background-image:url(./at-2754ed2f.svg)}.fi-at.fis{background-image:url(./at-9152f136.svg)}.fi-au{background-image:url(./au-6cf0b0da.svg)}.fi-au.fis{background-image:url(./au-01aa7963.svg)}.fi-aw{background-image:url(./aw-c790e041.svg)}.fi-aw.fis{background-image:url(./aw-e778dd16.svg)}.fi-ax{background-image:url(./ax-1f2bddd3.svg)}.fi-ax.fis{background-image:url(./ax-4702b3f0.svg)}.fi-az{background-image:url(./az-b942e12d.svg)}.fi-az.fis{background-image:url(./az-fef5c465.svg)}.fi-ba{background-image:url(./ba-a87565c0.svg)}.fi-ba.fis{background-image:url(./ba-6f3a3ab7.svg)}.fi-bb{background-image:url(./bb-3054f0b2.svg)}.fi-bb.fis{background-image:url(./bb-c7b3b259.svg)}.fi-bd{background-image:url(./bd-1aabb4a7.svg)}.fi-bd.fis{background-image:url(./bd-90f8f20e.svg)}.fi-be{background-image:url(./be-42f09ed6.svg)}.fi-be.fis{background-image:url(./be-a2f62b54.svg)}.fi-bf{background-image:url(./bf-606b17ad.svg)}.fi-bf.fis{background-image:url(./bf-62cdc2bd.svg)}.fi-bg{background-image:url(./bg-a2282477.svg)}.fi-bg.fis{background-image:url(./bg-40e29b66.svg)}.fi-bh{background-image:url(./bh-7a519f58.svg)}.fi-bh.fis{background-image:url(./bh-102fe27e.svg)}.fi-bi{background-image:url(./bi-5ef1a56b.svg)}.fi-bi.fis{background-image:url(./bi-976cd178.svg)}.fi-bj{background-image:url(./bj-0a46cbae.svg)}.fi-bj.fis{background-image:url(./bj-2cbd6426.svg)}.fi-bl{background-image:url(./bl-d511eb84.svg)}.fi-bl.fis{background-image:url(./bl-025f596f.svg)}.fi-bm{background-image:url(./bm-a15913d4.svg)}.fi-bm.fis{background-image:url(./bm-fc42642b.svg)}.fi-bn{background-image:url(./bn-6a573bd7.svg)}.fi-bn.fis{background-image:url(./bn-a381967f.svg)}.fi-bo{background-image:url(./bo-24e9a0dd.svg)}.fi-bo.fis{background-image:url(./bo-651ff433.svg)}.fi-bq{background-image:url(./bq-23881e6c.svg)}.fi-bq.fis{background-image:url(./bq-83723941.svg)}.fi-br{background-image:url(./br-fc872e71.svg)}.fi-br.fis{background-image:url(./br-ce7e334e.svg)}.fi-bs{background-image:url(./bs-e3a1ee51.svg)}.fi-bs.fis{background-image:url(./bs-21cdbdc6.svg)}.fi-bt{background-image:url(./bt-dc7fe8fa.svg)}.fi-bt.fis{background-image:url(./bt-84e84171.svg)}.fi-bv{background-image:url(./bv-d972d58c.svg)}.fi-bv.fis{background-image:url(./bv-342b164c.svg)}.fi-bw{background-image:url(./bw-1fc9322c.svg)}.fi-bw.fis{background-image:url(./bw-e1e15926.svg)}.fi-by{background-image:url(./by-c8f5fce1.svg)}.fi-by.fis{background-image:url(./by-6352ceb3.svg)}.fi-bz{background-image:url(./bz-33179ee8.svg)}.fi-bz.fis{background-image:url(./bz-93bdf8bf.svg)}.fi-ca{background-image:url(./ca-73bd9657.svg)}.fi-ca.fis{background-image:url(./ca-5e8736c4.svg)}.fi-cc{background-image:url(./cc-9c6cd055.svg)}.fi-cc.fis{background-image:url(./cc-6ab691df.svg)}.fi-cd{background-image:url(./cd-23f049df.svg)}.fi-cd.fis{background-image:url(./cd-c3f432db.svg)}.fi-cf{background-image:url(./cf-1b58dc20.svg)}.fi-cf.fis{background-image:url(./cf-2e16b1cf.svg)}.fi-cg{background-image:url(./cg-c606004c.svg)}.fi-cg.fis{background-image:url(./cg-d2d60d9f.svg)}.fi-ch{background-image:url(./ch-ac676cd3.svg)}.fi-ch.fis{background-image:url(./ch-be4b8257.svg)}.fi-ci{background-image:url(./ci-4ecfea70.svg)}.fi-ci.fis{background-image:url(./ci-c3f20b8e.svg)}.fi-ck{background-image:url(./ck-b17c039f.svg)}.fi-ck.fis{background-image:url(./ck-e5457495.svg)}.fi-cl{background-image:url(./cl-24dfd9cf.svg)}.fi-cl.fis{background-image:url(./cl-5ae2d8a4.svg)}.fi-cm{background-image:url(./cm-c9a327dc.svg)}.fi-cm.fis{background-image:url(./cm-0899a610.svg)}.fi-cn{background-image:url(./cn-981da9bd.svg)}.fi-cn.fis{background-image:url(./cn-b63401f4.svg)}.fi-co{background-image:url(./co-6bab3c96.svg)}.fi-co.fis{background-image:url(./co-596558a2.svg)}.fi-cr{background-image:url(./cr-4775ef01.svg)}.fi-cr.fis{background-image:url(./cr-b70b33c4.svg)}.fi-cu{background-image:url(./cu-e76f7c38.svg)}.fi-cu.fis{background-image:url(./cu-4b240cd3.svg)}.fi-cv{background-image:url(./cv-2fa67e0a.svg)}.fi-cv.fis{background-image:url(./cv-1f908f34.svg)}.fi-cw{background-image:url(./cw-c845d0ca.svg)}.fi-cw.fis{background-image:url(./cw-f4df53da.svg)}.fi-cx{background-image:url(./cx-ade6b862.svg)}.fi-cx.fis{background-image:url(./cx-cd561600.svg)}.fi-cy{background-image:url(./cy-4ef9fb91.svg)}.fi-cy.fis{background-image:url(./cy-72cd7167.svg)}.fi-cz{background-image:url(./cz-d601fcc2.svg)}.fi-cz.fis{background-image:url(./cz-5a462b5f.svg)}.fi-de{background-image:url(./de-7318c9aa.svg)}.fi-de.fis{background-image:url(./de-d5f40046.svg)}.fi-dj{background-image:url(./dj-ed66c09f.svg)}.fi-dj.fis{background-image:url(./dj-e788b24d.svg)}.fi-dk{background-image:url(./dk-d2847c0b.svg)}.fi-dk.fis{background-image:url(./dk-4d7c9c44.svg)}.fi-dm{background-image:url(./dm-ff490fa3.svg)}.fi-dm.fis{background-image:url(./dm-eab3ec31.svg)}.fi-do{background-image:url(./do-9470b8ab.svg)}.fi-do.fis{background-image:url(./do-b63f4eb9.svg)}.fi-dz{background-image:url(./dz-9ea0cf93.svg)}.fi-dz.fis{background-image:url(./dz-73f56cc7.svg)}.fi-ec{background-image:url(./ec-73be1a4b.svg)}.fi-ec.fis{background-image:url(./ec-c1196d0f.svg)}.fi-ee{background-image:url(./ee-1c30ac2c.svg)}.fi-ee.fis{background-image:url(./ee-733a082e.svg)}.fi-eg{background-image:url(./eg-3383c598.svg)}.fi-eg.fis{background-image:url(./eg-04d3ab3f.svg)}.fi-eh{background-image:url(./eh-e9d3c61b.svg)}.fi-eh.fis{background-image:url(./eh-cd622ccb.svg)}.fi-er{background-image:url(./er-21cdc1d1.svg)}.fi-er.fis{background-image:url(./er-3cd1a45c.svg)}.fi-es{background-image:url(./es-6fe80291.svg)}.fi-es.fis{background-image:url(./es-edd3ba17.svg)}.fi-et{background-image:url(./et-c2525ca4.svg)}.fi-et.fis{background-image:url(./et-68cee02b.svg)}.fi-fi{background-image:url(./fi-012edd98.svg)}.fi-fi.fis{background-image:url(./fi-f4064089.svg)}.fi-fj{background-image:url(./fj-34660dda.svg)}.fi-fj.fis{background-image:url(./fj-be546b9d.svg)}.fi-fk{background-image:url(./fk-e27a1876.svg)}.fi-fk.fis{background-image:url(./fk-2b55d0fe.svg)}.fi-fm{background-image:url(./fm-23db3e9f.svg)}.fi-fm.fis{background-image:url(./fm-3113102b.svg)}.fi-fo{background-image:url(./fo-db222fca.svg)}.fi-fo.fis{background-image:url(./fo-f3d95cc8.svg)}.fi-fr{background-image:url(./fr-8cdacc8d.svg)}.fi-fr.fis{background-image:url(./fr-5cdc5047.svg)}.fi-ga{background-image:url(./ga-f7b775c4.svg)}.fi-ga.fis{background-image:url(./ga-cb2951db.svg)}.fi-gb{background-image:url(./gb-51a8613a.svg)}.fi-gb.fis{background-image:url(./gb-4b739ae8.svg)}.fi-gd{background-image:url(./gd-5b590f15.svg)}.fi-gd.fis{background-image:url(./gd-a0f628ea.svg)}.fi-ge{background-image:url(./ge-3821d90a.svg)}.fi-ge.fis{background-image:url(./ge-c89af007.svg)}.fi-gf{background-image:url(./gf-cb5464e2.svg)}.fi-gf.fis{background-image:url(./gf-7643aaa7.svg)}.fi-gg{background-image:url(./gg-ea806b48.svg)}.fi-gg.fis{background-image:url(./gg-ca797ce5.svg)}.fi-gh{background-image:url(./gh-86635202.svg)}.fi-gh.fis{background-image:url(./gh-4afd4198.svg)}.fi-gi{background-image:url(./gi-64b3c164.svg)}.fi-gi.fis{background-image:url(./gi-a72043d1.svg)}.fi-gl{background-image:url(./gl-15a60b07.svg)}.fi-gl.fis{background-image:url(./gl-debe7773.svg)}.fi-gm{background-image:url(./gm-2aa3fad4.svg)}.fi-gm.fis{background-image:url(./gm-726e760b.svg)}.fi-gn{background-image:url(./gn-ee01e7dd.svg)}.fi-gn.fis{background-image:url(./gn-8d20e686.svg)}.fi-gp{background-image:url(./gp-ee9d78d0.svg)}.fi-gp.fis{background-image:url(./gp-5f0e3566.svg)}.fi-gq{background-image:url(./gq-be2561d6.svg)}.fi-gq.fis{background-image:url(./gq-a3bf98e3.svg)}.fi-gr{background-image:url(./gr-a184070f.svg)}.fi-gr.fis{background-image:url(./gr-a4519d98.svg)}.fi-gs{background-image:url(./gs-5798c05b.svg)}.fi-gs.fis{background-image:url(./gs-0801216a.svg)}.fi-gt{background-image:url(./gt-047e034e.svg)}.fi-gt.fis{background-image:url(./gt-387d7394.svg)}.fi-gu{background-image:url(./gu-8d45b5e2.svg)}.fi-gu.fis{background-image:url(./gu-0fc8abf7.svg)}.fi-gw{background-image:url(./gw-651e35df.svg)}.fi-gw.fis{background-image:url(./gw-7bb04bdb.svg)}.fi-gy{background-image:url(./gy-81301929.svg)}.fi-gy.fis{background-image:url(./gy-97253f86.svg)}.fi-hk{background-image:url(./hk-b1d75699.svg)}.fi-hk.fis{background-image:url(./hk-cb99edfd.svg)}.fi-hm{background-image:url(./hm-962e9410.svg)}.fi-hm.fis{background-image:url(./hm-3c45173f.svg)}.fi-hn{background-image:url(./hn-67130fa0.svg)}.fi-hn.fis{background-image:url(./hn-545c93c9.svg)}.fi-hr{background-image:url(./hr-269fdafe.svg)}.fi-hr.fis{background-image:url(./hr-11b51582.svg)}.fi-ht{background-image:url(./ht-06453723.svg)}.fi-ht.fis{background-image:url(./ht-f397e92e.svg)}.fi-hu{background-image:url(./hu-ffc4edd5.svg)}.fi-hu.fis{background-image:url(./hu-9e6bc6d7.svg)}.fi-id{background-image:url(./id-5cd3acc4.svg)}.fi-id.fis{background-image:url(./id-b8cd30f2.svg)}.fi-ie{background-image:url(./ie-f82568d7.svg)}.fi-ie.fis{background-image:url(./ie-860168f5.svg)}.fi-il{background-image:url(./il-023f6d1b.svg)}.fi-il.fis{background-image:url(./il-a1a6fff1.svg)}.fi-im{background-image:url(./im-4297d37f.svg)}.fi-im.fis{background-image:url(./im-4b7d3373.svg)}.fi-in{background-image:url(./in-5578409e.svg)}.fi-in.fis{background-image:url(./in-ca5f38b1.svg)}.fi-io{background-image:url(./io-a7a4cf26.svg)}.fi-io.fis{background-image:url(./io-1d9b0992.svg)}.fi-iq{background-image:url(./iq-0e5d8753.svg)}.fi-iq.fis{background-image:url(./iq-d23d774b.svg)}.fi-ir{background-image:url(./ir-f55cb919.svg)}.fi-ir.fis{background-image:url(./ir-a26d6b1f.svg)}.fi-is{background-image:url(./is-ef74d1f1.svg)}.fi-is.fis{background-image:url(./is-07f3da7e.svg)}.fi-it{background-image:url(./it-9fa88118.svg)}.fi-it.fis{background-image:url(./it-03086f2e.svg)}.fi-je{background-image:url(./je-27d4c347.svg)}.fi-je.fis{background-image:url(./je-c138f8b2.svg)}.fi-jm{background-image:url(./jm-61441775.svg)}.fi-jm.fis{background-image:url(./jm-a556453f.svg)}.fi-jo{background-image:url(./jo-28827eb1.svg)}.fi-jo.fis{background-image:url(./jo-6e2909a8.svg)}.fi-jp{background-image:url(./jp-bfea80ba.svg)}.fi-jp.fis{background-image:url(./jp-2bd3a486.svg)}.fi-ke{background-image:url(./ke-dd6b6ae5.svg)}.fi-ke.fis{background-image:url(./ke-7eb5e970.svg)}.fi-kg{background-image:url(./kg-1a70b98a.svg)}.fi-kg.fis{background-image:url(./kg-106674d7.svg)}.fi-kh{background-image:url(./kh-706c89a1.svg)}.fi-kh.fis{background-image:url(./kh-65671aad.svg)}.fi-ki{background-image:url(./ki-f9f15e1f.svg)}.fi-ki.fis{background-image:url(./ki-62b89f15.svg)}.fi-km{background-image:url(./km-f66aabe2.svg)}.fi-km.fis{background-image:url(./km-e08a7d38.svg)}.fi-kn{background-image:url(./kn-c7744ba0.svg)}.fi-kn.fis{background-image:url(./kn-2056e537.svg)}.fi-kp{background-image:url(./kp-c0815d9c.svg)}.fi-kp.fis{background-image:url(./kp-a5f669ad.svg)}.fi-kr{background-image:url(./kr-28c300b3.svg)}.fi-kr.fis{background-image:url(./kr-1ffe3852.svg)}.fi-kw{background-image:url(./kw-fabd47f0.svg)}.fi-kw.fis{background-image:url(./kw-c014b43b.svg)}.fi-ky{background-image:url(./ky-7ce314ba.svg)}.fi-ky.fis{background-image:url(./ky-081844eb.svg)}.fi-kz{background-image:url(./kz-bb09cc45.svg)}.fi-kz.fis{background-image:url(./kz-d9160b84.svg)}.fi-la{background-image:url(./la-ed8ce307.svg)}.fi-la.fis{background-image:url(./la-cde719dd.svg)}.fi-lb{background-image:url(./lb-3abccf66.svg)}.fi-lb.fis{background-image:url(./lb-97589547.svg)}.fi-lc{background-image:url(./lc-525ad8c3.svg)}.fi-lc.fis{background-image:url(./lc-539914cb.svg)}.fi-li{background-image:url(./li-ab80b8a1.svg)}.fi-li.fis{background-image:url(./li-f5687123.svg)}.fi-lk{background-image:url(./lk-b3f79269.svg)}.fi-lk.fis{background-image:url(./lk-e6bb471e.svg)}.fi-lr{background-image:url(./lr-cbf9ef85.svg)}.fi-lr.fis{background-image:url(./lr-bca2ce8b.svg)}.fi-ls{background-image:url(./ls-9491616e.svg)}.fi-ls.fis{background-image:url(./ls-d59e8226.svg)}.fi-lt{background-image:url(./lt-dc040199.svg)}.fi-lt.fis{background-image:url(./lt-8ef0e9cb.svg)}.fi-lu{background-image:url(./lu-a6c17cd0.svg)}.fi-lu.fis{background-image:url(./lu-965964b5.svg)}.fi-lv{background-image:url(./lv-15d4e812.svg)}.fi-lv.fis{background-image:url(./lv-f4e0567e.svg)}.fi-ly{background-image:url(./ly-b9246781.svg)}.fi-ly.fis{background-image:url(./ly-bbd57e2f.svg)}.fi-ma{background-image:url(./ma-28cfcdec.svg)}.fi-ma.fis{background-image:url(./ma-8f1a0be2.svg)}.fi-mc{background-image:url(./mc-690c23fe.svg)}.fi-mc.fis{background-image:url(./mc-c3aaba7e.svg)}.fi-md{background-image:url(./md-ae4fd022.svg)}.fi-md.fis{background-image:url(./md-e678dd90.svg)}.fi-me{background-image:url(./me-73f05f92.svg)}.fi-me.fis{background-image:url(./me-8d3f7f89.svg)}.fi-mf{background-image:url(./mf-137b371d.svg)}.fi-mf.fis{background-image:url(./mf-65d7d1af.svg)}.fi-mg{background-image:url(./mg-59246c21.svg)}.fi-mg.fis{background-image:url(./mg-f16ffe66.svg)}.fi-mh{background-image:url(./mh-f4d41b34.svg)}.fi-mh.fis{background-image:url(./mh-7bd55f27.svg)}.fi-mk{background-image:url(./mk-22488dc8.svg)}.fi-mk.fis{background-image:url(./mk-8faba052.svg)}.fi-ml{background-image:url(./ml-49e84081.svg)}.fi-ml.fis{background-image:url(./ml-34021383.svg)}.fi-mm{background-image:url(./mm-c0b2e23a.svg)}.fi-mm.fis{background-image:url(./mm-ea2756fc.svg)}.fi-mn{background-image:url(./mn-e1212518.svg)}.fi-mn.fis{background-image:url(./mn-3867f78b.svg)}.fi-mo{background-image:url(./mo-b3150f82.svg)}.fi-mo.fis{background-image:url(./mo-f2828f31.svg)}.fi-mp{background-image:url(./mp-0f686973.svg)}.fi-mp.fis{background-image:url(./mp-59ca53fb.svg)}.fi-mq{background-image:url(./mq-94315e14.svg)}.fi-mq.fis{background-image:url(./mq-e58f7279.svg)}.fi-mr{background-image:url(./mr-b5b86550.svg)}.fi-mr.fis{background-image:url(./mr-4ccf1997.svg)}.fi-ms{background-image:url(./ms-91a65429.svg)}.fi-ms.fis{background-image:url(./ms-a22195f9.svg)}.fi-mt{background-image:url(./mt-847b9371.svg)}.fi-mt.fis{background-image:url(./mt-ae7e5df1.svg)}.fi-mu{background-image:url(./mu-51f86810.svg)}.fi-mu.fis{background-image:url(./mu-3a73b077.svg)}.fi-mv{background-image:url(./mv-5546d527.svg)}.fi-mv.fis{background-image:url(./mv-ecc358a3.svg)}.fi-mw{background-image:url(./mw-2a3cc640.svg)}.fi-mw.fis{background-image:url(./mw-b53cff28.svg)}.fi-mx{background-image:url(./mx-46cef6ab.svg)}.fi-mx.fis{background-image:url(./mx-cda16de8.svg)}.fi-my{background-image:url(./my-fbda82cd.svg)}.fi-my.fis{background-image:url(./my-ab77d984.svg)}.fi-mz{background-image:url(./mz-888f5aa1.svg)}.fi-mz.fis{background-image:url(./mz-69568d10.svg)}.fi-na{background-image:url(./na-c32f1b89.svg)}.fi-na.fis{background-image:url(./na-65796b81.svg)}.fi-nc{background-image:url(./nc-cff3afeb.svg)}.fi-nc.fis{background-image:url(./nc-8b7ef8a4.svg)}.fi-ne{background-image:url(./ne-4b91653d.svg)}.fi-ne.fis{background-image:url(./ne-c92686fc.svg)}.fi-nf{background-image:url(./nf-9cf4bf10.svg)}.fi-nf.fis{background-image:url(./nf-d458b917.svg)}.fi-ng{background-image:url(./ng-b7a2a45a.svg)}.fi-ng.fis{background-image:url(./ng-a41dbb75.svg)}.fi-ni{background-image:url(./ni-74e7ce0d.svg)}.fi-ni.fis{background-image:url(./ni-8028e8a2.svg)}.fi-nl{background-image:url(./nl-54b194d9.svg)}.fi-nl.fis{background-image:url(./nl-a8b56f7d.svg)}.fi-no{background-image:url(./no-ceea17af.svg)}.fi-no.fis{background-image:url(./no-55fc1564.svg)}.fi-np{background-image:url(./np-6244a1aa.svg)}.fi-np.fis{background-image:url(./np-f463b176.svg)}.fi-nr{background-image:url(./nr-f1de4b06.svg)}.fi-nr.fis{background-image:url(./nr-c0fc69e7.svg)}.fi-nu{background-image:url(./nu-835c94f3.svg)}.fi-nu.fis{background-image:url(./nu-93e802ac.svg)}.fi-nz{background-image:url(./nz-794a2c8c.svg)}.fi-nz.fis{background-image:url(./nz-9e6e1d5e.svg)}.fi-om{background-image:url(./om-4de803ba.svg)}.fi-om.fis{background-image:url(./om-51908fdc.svg)}.fi-pa{background-image:url(./pa-6181586e.svg)}.fi-pa.fis{background-image:url(./pa-354bb5c9.svg)}.fi-pe{background-image:url(./pe-e9dd299d.svg)}.fi-pe.fis{background-image:url(./pe-c9852484.svg)}.fi-pf{background-image:url(./pf-d44b1974.svg)}.fi-pf.fis{background-image:url(./pf-947958db.svg)}.fi-pg{background-image:url(./pg-45e15441.svg)}.fi-pg.fis{background-image:url(./pg-34424deb.svg)}.fi-ph{background-image:url(./ph-4cccf403.svg)}.fi-ph.fis{background-image:url(./ph-37c54f47.svg)}.fi-pk{background-image:url(./pk-d4949a03.svg)}.fi-pk.fis{background-image:url(./pk-490b17d5.svg)}.fi-pl{background-image:url(./pl-369bb3e1.svg)}.fi-pl.fis{background-image:url(./pl-698cda1f.svg)}.fi-pm{background-image:url(./pm-10cc79ca.svg)}.fi-pm.fis{background-image:url(./pm-498e2e96.svg)}.fi-pn{background-image:url(./pn-b0b97502.svg)}.fi-pn.fis{background-image:url(./pn-3087f94d.svg)}.fi-pr{background-image:url(./pr-3b26f0a1.svg)}.fi-pr.fis{background-image:url(./pr-4c742be2.svg)}.fi-ps{background-image:url(./ps-e05636e8.svg)}.fi-ps.fis{background-image:url(./ps-1d2d7ac5.svg)}.fi-pt{background-image:url(./pt-8dcc4829.svg)}.fi-pt.fis{background-image:url(./pt-d79b25d4.svg)}.fi-pw{background-image:url(./pw-e2a38cce.svg)}.fi-pw.fis{background-image:url(./pw-77185a59.svg)}.fi-py{background-image:url(./py-0b374b8f.svg)}.fi-py.fis{background-image:url(./py-413b67df.svg)}.fi-qa{background-image:url(./qa-4d41fa3c.svg)}.fi-qa.fis{background-image:url(./qa-a781df63.svg)}.fi-re{background-image:url(./re-7b5a5202.svg)}.fi-re.fis{background-image:url(./re-a5347d1a.svg)}.fi-ro{background-image:url(./ro-17a3a747.svg)}.fi-ro.fis{background-image:url(./ro-b56a867a.svg)}.fi-rs{background-image:url(./rs-c254c0e1.svg)}.fi-rs.fis{background-image:url(./rs-f1579d87.svg)}.fi-ru{background-image:url(./ru-6c62f886.svg)}.fi-ru.fis{background-image:url(./ru-5224e89e.svg)}.fi-rw{background-image:url(./rw-9512100a.svg)}.fi-rw.fis{background-image:url(./rw-ada409bb.svg)}.fi-sa{background-image:url(./sa-b71b7934.svg)}.fi-sa.fis{background-image:url(./sa-3dc0b466.svg)}.fi-sb{background-image:url(./sb-255e4192.svg)}.fi-sb.fis{background-image:url(./sb-477f263a.svg)}.fi-sc{background-image:url(./sc-30cdbe42.svg)}.fi-sc.fis{background-image:url(./sc-4363a818.svg)}.fi-sd{background-image:url(./sd-f4721ceb.svg)}.fi-sd.fis{background-image:url(./sd-4c191d43.svg)}.fi-se{background-image:url(./se-bc8a97e1.svg)}.fi-se.fis{background-image:url(./se-b4cc09f1.svg)}.fi-sg{background-image:url(./sg-25de9044.svg)}.fi-sg.fis{background-image:url(./sg-37b8db58.svg)}.fi-sh{background-image:url(./sh-0b207fd4.svg)}.fi-sh.fis{background-image:url(./sh-46034309.svg)}.fi-si{background-image:url(./si-b7fe90ba.svg)}.fi-si.fis{background-image:url(./si-fee21cbd.svg)}.fi-sj{background-image:url(./sj-b60dad0e.svg)}.fi-sj.fis{background-image:url(./sj-880802e4.svg)}.fi-sk{background-image:url(./sk-01a41b70.svg)}.fi-sk.fis{background-image:url(./sk-40b3a188.svg)}.fi-sl{background-image:url(./sl-d0c384b0.svg)}.fi-sl.fis{background-image:url(./sl-feb8b966.svg)}.fi-sm{background-image:url(./sm-c2055b28.svg)}.fi-sm.fis{background-image:url(./sm-d2f10302.svg)}.fi-sn{background-image:url(./sn-6437db13.svg)}.fi-sn.fis{background-image:url(./sn-2c7a8737.svg)}.fi-so{background-image:url(./so-a3e6f461.svg)}.fi-so.fis{background-image:url(./so-50f29485.svg)}.fi-sr{background-image:url(./sr-5194a6af.svg)}.fi-sr.fis{background-image:url(./sr-81b54581.svg)}.fi-ss{background-image:url(./ss-d09319a4.svg)}.fi-ss.fis{background-image:url(./ss-6aa031ba.svg)}.fi-st{background-image:url(./st-e9ac3984.svg)}.fi-st.fis{background-image:url(./st-cd70af66.svg)}.fi-sv{background-image:url(./sv-d9228d5c.svg)}.fi-sv.fis{background-image:url(./sv-c921e011.svg)}.fi-sx{background-image:url(./sx-e6f91141.svg)}.fi-sx.fis{background-image:url(./sx-b47e2df3.svg)}.fi-sy{background-image:url(./sy-38125aa4.svg)}.fi-sy.fis{background-image:url(./sy-6e3feb72.svg)}.fi-sz{background-image:url(./sz-1565c373.svg)}.fi-sz.fis{background-image:url(./sz-956856c2.svg)}.fi-tc{background-image:url(./tc-2e45c89e.svg)}.fi-tc.fis{background-image:url(./tc-94789b54.svg)}.fi-td{background-image:url(./td-19a278fb.svg)}.fi-td.fis{background-image:url(./td-f5c38f02.svg)}.fi-tf{background-image:url(./tf-297113df.svg)}.fi-tf.fis{background-image:url(./tf-4c8eec85.svg)}.fi-tg{background-image:url(./tg-87150e04.svg)}.fi-tg.fis{background-image:url(./tg-af622c09.svg)}.fi-th{background-image:url(./th-329cc0d5.svg)}.fi-th.fis{background-image:url(./th-bb8a18d6.svg)}.fi-tj{background-image:url(./tj-93a976af.svg)}.fi-tj.fis{background-image:url(./tj-45e33e60.svg)}.fi-tk{background-image:url(./tk-a8540a4a.svg)}.fi-tk.fis{background-image:url(./tk-a12ef3ff.svg)}.fi-tl{background-image:url(./tl-3db6f72a.svg)}.fi-tl.fis{background-image:url(./tl-6d71669d.svg)}.fi-tm{background-image:url(./tm-6af9a1d7.svg)}.fi-tm.fis{background-image:url(./tm-3f4afeb2.svg)}.fi-tn{background-image:url(./tn-0aac4442.svg)}.fi-tn.fis{background-image:url(./tn-e14a8dd4.svg)}.fi-to{background-image:url(./to-b351703f.svg)}.fi-to.fis{background-image:url(./to-8f2f476b.svg)}.fi-tr{background-image:url(./tr-479d84d0.svg)}.fi-tr.fis{background-image:url(./tr-be7d115b.svg)}.fi-tt{background-image:url(./tt-92f1261b.svg)}.fi-tt.fis{background-image:url(./tt-125d18de.svg)}.fi-tv{background-image:url(./tv-d94fa5f1.svg)}.fi-tv.fis{background-image:url(./tv-7415f816.svg)}.fi-tw{background-image:url(./tw-931757f0.svg)}.fi-tw.fis{background-image:url(./tw-c04cf00d.svg)}.fi-tz{background-image:url(./tz-ee08fcf5.svg)}.fi-tz.fis{background-image:url(./tz-0d271a2b.svg)}.fi-ua{background-image:url(./ua-2d869c23.svg)}.fi-ua.fis{background-image:url(./ua-fd9ad29b.svg)}.fi-ug{background-image:url(./ug-8fc334ff.svg)}.fi-ug.fis{background-image:url(./ug-873a2fe3.svg)}.fi-um{background-image:url(./um-fe8b4e6c.svg)}.fi-um.fis{background-image:url(./um-f18c77e2.svg)}.fi-us{background-image:url(./us-ef4d2e6e.svg)}.fi-us.fis{background-image:url(./us-d49605ae.svg)}.fi-uy{background-image:url(./uy-47656c0b.svg)}.fi-uy.fis{background-image:url(./uy-560c003d.svg)}.fi-uz{background-image:url(./uz-62ce6f10.svg)}.fi-uz.fis{background-image:url(./uz-8f09f1fe.svg)}.fi-va{background-image:url(./va-89a0740b.svg)}.fi-va.fis{background-image:url(./va-6c856cb2.svg)}.fi-vc{background-image:url(./vc-6357f389.svg)}.fi-vc.fis{background-image:url(./vc-2ef7fd06.svg)}.fi-ve{background-image:url(./ve-5712f1c6.svg)}.fi-ve.fis{background-image:url(./ve-9052562f.svg)}.fi-vg{background-image:url(./vg-f9eabcef.svg)}.fi-vg.fis{background-image:url(./vg-73832b5d.svg)}.fi-vi{background-image:url(./vi-77a2e9d5.svg)}.fi-vi.fis{background-image:url(./vi-a618e688.svg)}.fi-vn{background-image:url(./vn-23550372.svg)}.fi-vn.fis{background-image:url(./vn-4fa1366c.svg)}.fi-vu{background-image:url(./vu-8fc05c32.svg)}.fi-vu.fis{background-image:url(./vu-b3048d60.svg)}.fi-wf{background-image:url(./wf-ad34db05.svg)}.fi-wf.fis{background-image:url(./wf-da8ca66e.svg)}.fi-ws{background-image:url(./ws-6b1a7ebc.svg)}.fi-ws.fis{background-image:url(./ws-48d15d76.svg)}.fi-ye{background-image:url(./ye-dc5607f4.svg)}.fi-ye.fis{background-image:url(./ye-15c1b50c.svg)}.fi-yt{background-image:url(./yt-f6ed4975.svg)}.fi-yt.fis{background-image:url(./yt-5a57b00a.svg)}.fi-za{background-image:url(./za-384d6ef6.svg)}.fi-za.fis{background-image:url(./za-00b65e3b.svg)}.fi-zm{background-image:url(./zm-3336b5d3.svg)}.fi-zm.fis{background-image:url(./zm-57492d45.svg)}.fi-zw{background-image:url(./zw-065490a5.svg)}.fi-zw.fis{background-image:url(./zw-666c4541.svg)}.fi-arab{background-image:url(./arab-ffc0ee52.svg)}.fi-arab.fis{background-image:url(./arab-c98d9d99.svg)}.fi-cefta{background-image:url(./cefta-bfefb0f6.svg)}.fi-cefta.fis{background-image:url(./cefta-0c277cae.svg)}.fi-cp{background-image:url(./cp-bd880fc5.svg)}.fi-cp.fis{background-image:url(./cp-7dfc8de4.svg)}.fi-dg{background-image:url(./dg-dc437057.svg)}.fi-dg.fis{background-image:url(./dg-58d4805f.svg)}.fi-eac{background-image:url(./eac-b35bb4ff.svg)}.fi-eac.fis{background-image:url(./eac-c4ef426e.svg)}.fi-es-ct{background-image:url(./es-ct-11229703.svg)}.fi-es-ct.fis{background-image:url(./es-ct-95f4033c.svg)}.fi-es-ga{background-image:url(./es-ga-8a921639.svg)}.fi-es-ga.fis{background-image:url(./es-ga-477a1812.svg)}.fi-es-pv{background-image:url(./es-pv-70a6e0fb.svg)}.fi-es-pv.fis{background-image:url(./es-pv-f608b2f3.svg)}.fi-eu{background-image:url(./eu-67040ccd.svg)}.fi-eu.fis{background-image:url(./eu-019d50bf.svg)}.fi-gb-eng{background-image:url(./gb-eng-53797ba9.svg)}.fi-gb-eng.fis{background-image:url(./gb-eng-2dd36838.svg)}.fi-gb-nir{background-image:url(./gb-nir-1e5cfe93.svg)}.fi-gb-nir.fis{background-image:url(./gb-nir-d91beb89.svg)}.fi-gb-sct{background-image:url(./gb-sct-7b55bce7.svg)}.fi-gb-sct.fis{background-image:url(./gb-sct-19ed371e.svg)}.fi-gb-wls{background-image:url(./gb-wls-3a95845d.svg)}.fi-gb-wls.fis{background-image:url(./gb-wls-d3c5b996.svg)}.fi-ic{background-image:url(./ic-9a584e04.svg)}.fi-ic.fis{background-image:url(./ic-4e5a5e63.svg)}.fi-pc{background-image:url(./pc-540c3f0b.svg)}.fi-pc.fis{background-image:url(./pc-502e1da5.svg)}.fi-sh-ac{background-image:url(./sh-ac-b6ad57b0.svg)}.fi-sh-ac.fis{background-image:url(./sh-ac-b08e4e0a.svg)}.fi-sh-hl{background-image:url(./sh-hl-6555ab98.svg)}.fi-sh-hl.fis{background-image:url(./sh-hl-37e199e9.svg)}.fi-sh-ta{background-image:url(./sh-ta-799b3dee.svg)}.fi-sh-ta.fis{background-image:url(./sh-ta-6b600555.svg)}.fi-un{background-image:url(./un-1b4df7a8.svg)}.fi-un.fis{background-image:url(./un-45d364fc.svg)}.fi-xk{background-image:url(./xk-95fe9a76.svg)}.fi-xk.fis{background-image:url(./xk-1571e3bb.svg)}._button_diw5d_1{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._container_1ksto_17,._paymentMethodContainer_1ksto_17{display:flex}._exchangeName_1ksto_21{width:30%}._infoButton_1ksto_25{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._outerContainer_1ksto_37{position:relative}._paymentMethodsContainer_1ksto_41{display:flex;flex-direction:column;width:70%}._paymentMethodName_1ksto_47{color:var(--color-default);display:inline-block;font-weight:400;line-height:22px;margin:0}._paymentMethodName_1ksto_47 img{margin-right:var(--space-quarter)}._paymentMethodContainer_1ksto_17:not(:first-child){margin-top:var(--space-eight)}._paymentMethodContainer_1ksto_17>span{flex-basis:124px;flex-grow:1}._radio_1ksto_67{--size-default: 14px;background-color:var(--background-secondary);border:1px solid var(--background-quaternary);display:block;padding:8px}._radio_1ksto_67:hover,._radio_1ksto_67 *:hover{cursor:pointer}._radio_1ksto_67 input{display:none}._radio_1ksto_67 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin:0;padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_1ksto_67 input+label:before,._radio_1ksto_67 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_1ksto_67 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_1ksto_67 input+label:after{background:var(--color-info);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radioLabel_1ksto_123{width:100%}._text_1ksto_127{color:var(--color-default);margin:0}._radio_1ksto_67[aria-checked=true]{background-color:var(--background-focus)}._radio_1ksto_67:focus{position:relative;z-index:2}._radio_1ksto_67 input:checked+label:before{background-color:var(--background-secondary)}._radio_1ksto_67 input:checked+label:after{opacity:1;transform:scale(1)}._radio_1ksto_67 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-info);outline:none;outline-offset:0}._radio_1ksto_67 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-info)}._radio_1ksto_67 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_1ksto_67[aria-disabled=true]{background-color:#fff}._radio_1ksto_67[aria-disabled=true],._radio_1ksto_67[aria-disabled=true] *{cursor:not-allowed}span[role=radio]:focus{outline-color:var(--color-blue)}._container_h94uh_1 p,._container_h94uh_1 ul{margin:0}._buttonBack_62uya_17{margin-right:auto}._buttonsContainer_62uya_21{display:flex;margin-top:var(--space-half);justify-content:center}._container_62uya_27{margin-top:calc(var(--space-default) * 1.5)}._exchangeContainer_62uya_31{display:flex;flex-direction:column;min-height:300px}._exchangeContainer_62uya_31.content{flex-grow:0;flex-shrink:0;margin:auto;padding-right:40px}._header_62uya_44{position:relative;z-index:2200}._selectContainer_62uya_49{position:relative;margin-bottom:var(--space-half)}._selectContainer_62uya_49>div{position:relative}._selectContainer_62uya_49>div>div{margin:0}._label_62uya_62{color:var(--color-gray-alt);line-height:22px;margin:0;margin-bottom:var(--space-eight)}._noExchangeText_62uya_69{color:var(--color-gray-alt);line-height:22px;margin:0;margin-top:calc((var(--space-eight) + var(--space-half)));margin-left:calc((var(--space-eight) + var(--space-quarter)))}._radioButtonsContainer_62uya_77{min-height:180px}._title_62uya_81{font-size:2rem;font-weight:400;margin-top:0;margin-bottom:var(--space-default);text-align:center}._dropdown_9chnx_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-half) + var(--space-eight))}._flag_9chnx_10{font-size:20px}._globe_9chnx_14{margin-top:3px;width:26px;height:22px}._optionsContainer_9chnx_20{align-items:center;display:flex}._select_9chnx_25 .react-select__input-container,._select_9chnx_25 .react-select__single-value{color:var(--color-default)}._select_9chnx_25 .react-select__menu,._select_9chnx_25 .react-select__option{background-color:var(--background-secondary)}._select_9chnx_25 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_9chnx_25 .react-select__option--is-selected,._select_9chnx_25 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_9chnx_25 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_9chnx_25 .react-select__input-container{padding-left:var(--space-default)}._selectLabelText_9chnx_59{color:var(--color-default);margin-left:6px}._singleValueContainer_9chnx_64{align-items:center;display:flex;left:var(--space-quarter);position:absolute}._overlay_12k4v_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background-color:var(--bg-transparent-dark);z-index:4010;opacity:0}._overlay_12k4v_1._activeOverlay_12k4v_16{opacity:1}._modal_12k4v_20{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto;opacity:0}._modal_12k4v_20._activeModal_12k4v_32{opacity:1}._modal_12k4v_20._small_12k4v_38{max-width:340px;width:100%}._modal_12k4v_20._medium_12k4v_43{max-width:520px;width:100%}._modal_12k4v_20._large_12k4v_49{max-width:800px;width:100%}._header_12k4v_54{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--color-lightgray)}._header_12k4v_54._centered_12k4v_64{justify-content:center}._header_12k4v_54 ._title_12k4v_68{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_12k4v_74{background:none;border:none;padding:0;width:auto!important}._closeButton_12k4v_74:focus{outline:none}._closeButton_12k4v_74:disabled{color:var(--color-secondary)}._header_12k4v_54 ._closeButton_12k4v_74,._header_12k4v_54 ._closeButton_12k4v_74 img{width:18px;height:18px}._contentContainer_12k4v_95{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_12k4v_95._slim_12k4v_101{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-default)}._content_12k4v_95 p{word-break:break-word}._actions_12k4v_113 button,._actions_12k4v_113 a,._small_12k4v_38 ._actions_12k4v_113 button,._small_12k4v_38 ._actions_12k4v_113 a{width:100%}._actions_12k4v_113>*:not(:last-child),._small_12k4v_38 ._actions_12k4v_113>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_12k4v_113{margin-top:var(--space-quarter)}._confirmationLabel_12k4v_131{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_12k4v_140{display:inline-block;position:absolute;left:0}._disabledLabel_12k4v_146,._disabledLabel_12k4v_146 span{color:var(--color-mediumgray)!important}._noStep_12k4v_151{padding-left:0}._confirmationInstructions_12k4v_155{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_12k4v_155>div{width:50%}._confirmationInstructions_12k4v_155 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_12k4v_155._confirm_12k4v_131{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_12k4v_175{height:120px;margin-right:var(--space-half)}._modalContent_12k4v_180 p{font-size:var(--size-default);font-weight:400}._modalContent_12k4v_180>*:first-child{margin-top:0}._detail_12k4v_189{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_12k4v_189:not(:first-child){border-top:solid 1px var(--color-lightgray)}._detail_12k4v_189 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_12k4v_189 label,._detail_12k4v_189 p{margin:0;line-height:1}._detail_12k4v_189._description_12k4v_213>span{text-align:right}._buttons_12k4v_217{padding:var(--space-quarter)}._buttons_12k4v_217 button:first-child{margin-right:10px}._buttons_12k4v_217 button{width:50%}._dialogButtons_12k4v_229{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_12k4v_229>*:only-child{width:100%}@media (max-width: 768px){._modal_12k4v_20{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-half)}}._button_1djzh_1{align-items:center;background-color:var(--background-secondary);border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:row;height:18px;justify-content:center;margin-top:var(--spacing-half);min-width:18px!important;padding:0;position:absolute;right:var(--spacing-default);top:10px;transition:background-color ease .2s;width:18px;will-change:background-color}._button_1djzh_1 img{width:18px}._button_1djzh_1:focus{outline:none}._button_1djzh_1:disabled{cursor:not-allowed}._success_1djzh_34{background-color:var(--color-success)!important}._container_1djzh_38{position:relative}._inputField_1djzh_42{border:1px solid var(--background-quaternary);border-radius:2px;flex:1;font-size:var(--size-default);font-weight:400;height:52px;margin-bottom:0;min-width:200px!important;padding:var(--space-half) calc(var(--space-default) * 1.2 + 5px) var(--space-half) calc(var(--space-half) * .5);resize:none;width:100%}@media screen and (min-width: 640px){._inputField_1djzh_42{text-align:center}}._inputField_1djzh_42:focus{outline:solid 1px var(--color-blue)}@media screen and (max-width: 640px){._button_1djzh_1{margin-left:var(--space-quarter)}}._flexibleHeight_1djzh_72{height:auto}._alignLeft_1djzh_76{text-align:left}._alignRight_1djzh_80{text-align:right}._borderLess_1djzh_84,._borderLess_1djzh_84:focus{border:none;border-radius:0;outline:none}._empty_gzy3c_1{width:256px;height:256px;color:var(--color-secondary)}._title_nnme6_1{font-size:var(--header-default-font-size);font-weight:400}._nextButton_nnme6_6{background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:2px;text-align:left;margin:0 0 0 -2px}._details_nnme6_17{font-size:var(--size-default);margin-bottom:var(--space-default)}._qrCode_nnme6_22{min-height:260px;text-align:center}._qrCode_nnme6_22 img{height:auto;max-width:100%}._buttons_nnme6_35{clear:both;display:flex;justify-content:space-between;min-height:3.5rem}._verifyButton_nnme6_42{order:2}._entry_nnme6_46{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--space-half)}@media screen and (min-width: 640px){._xPubInfo_nnme6_55{max-width:calc(100% - 218px)}._details_nnme6_17{display:flex;flex-direction:column;min-height:180px}._entry_nnme6_46:first-child{margin-top:0}._qrCode_nnme6_22{float:right;position:relative;top:-38px;right:calc(-1 * var(--space-default))}}@media (max-width: 640px){._infoContent_nnme6_82{width:100%}._largeEntry_nnme6_86{align-items:stretch;flex-direction:column}._largeEntry_nnme6_86 strong{display:block;margin-bottom:var(--space-quarter)}._addressField_nnme6_96 input{font-size:var(--size-small)}._qrCode_nnme6_22{margin-left:calc(-1 * var(--space-default));margin-right:calc(-1 * var(--space-default))}}._labels_1m4jx_1{align-items:center;display:flex;justify-content:space-between;margin:var(--spacing-default) 0}._label_1m4jx_1{color:var(--color-secondary);flex-grow:1;font-size:var(--size-default);font-weight:400;margin:0;padding:0 var(--space-quarter)}._qrCodeContainer_1m4jx_17{margin-bottom:var(--space-default);min-height:260px}._arrowLeft_1m4jx_22,._arrowRight_1m4jx_23{width:16px;position:relative;top:3px}._arrowLeft_1m4jx_22{margin-right:3px}._arrowRight_1m4jx_23{margin-left:3px}._previous_1m4jx_37,._next_1m4jx_38{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--color-blue);font-size:var(--size-button);line-height:1;padding:0;text-decoration:none}._hide_1m4jx_49{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-secondary)}._changeType_1m4jx_58{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--color-secondary);cursor:pointer;display:inline-block;text-align:center;text-decoration:underline;padding:var(--space-quarter)}._container_1ooxc_1{margin:0 auto;position:relative;padding:calc(var(--space-default) * 1.5);width:100%}._container_1ooxc_1._withCloseBtn_1ooxc_7{padding-right:60px}.padded ._container_1ooxc_1{max-width:var(--content-width)}._status_1ooxc_15{font-size:var(--size-subheader);max-width:800px;text-align:left}._success_1ooxc_21{background-color:var(--color-success)}._warning_1ooxc_25{background-color:var(--color-warning)}._info_1ooxc_29{background-color:var(--color-info)}._success_1ooxc_21,._warning_1ooxc_25,._info_1ooxc_29,._success_1ooxc_21 label,._warning_1ooxc_25 label,._info_1ooxc_29 label{color:var(--color-alt)}._close-success_1ooxc_42{background:var(--color-darkgreen)}._close-warning_1ooxc_46{background:var(--color-swissred)}._close-info_1ooxc_50{background:var(--color-darkblue)}._close_1ooxc_42{border:none;line-height:.5;padding:var(--space-half);position:absolute;top:0;right:0}._close_1ooxc_42 svg{width:18px;height:18px}._withCloseBtn_1ooxc_7 ._status_1ooxc_15:before{content:"";float:right;height:18px;padding-bottom:2px;padding-left:var(--space-default);width:18px}@media (max-width: 1199px){._container_1ooxc_1{padding:calc(var(--space-half) * 1.5)}}._space_tpxrt_1{margin-left:.33ch}._rates_19qqe_1{cursor:default;line-height:1;margin:0;white-space:nowrap}._unit_19qqe_8{font-weight:400}._unit_19qqe_8,._unitAction_19qqe_13{color:var(--color-secondary);font-size:var(--size-default);font-variant:normal;position:relative}._availableFiatAmount_19qqe_24{padding-right:var(--space-quarter)!important;text-align:right}._availableFiatUnitNoAction_19qqe_29,._availableFiatUnit_19qqe_29{color:var(--color-secondary);cursor:default;position:relative}._unitAction_19qqe_13:after,._availableFiatUnit_19qqe_29:after{border-bottom:dotted 1px var(--color-softblack);content:"";position:absolute;bottom:0;left:2px;right:2px}._notAvailable_19qqe_46{color:var(--color-default)}@media (max-width: 880px){._fiatRow_19qqe_20{bottom:0}._availableFiatAmount_19qqe_24,._availableFiatUnit_19qqe_29{line-height:24px}}@media (max-width: 640px){._availableFiatUnit_19qqe_29:after{border-bottom:none}}._balanceTable_m2hui_1{align-items:flex-end;border-collapse:collapse;border-spacing:0;display:flex;flex-direction:row;position:relative}._balanceTable_m2hui_1 tr{display:inline-block;vertical-align:bottom}._balanceTable_m2hui_1 td{font-size:var(--size-large);font-weight:400;line-height:1.2;padding:0;vertical-align:baseline}._balanceTable_m2hui_1 td:last-child{font-size:var(--size-default)}._balanceTable_m2hui_1 ._availableAmount_m2hui_27{padding-right:var(--space-quarter);text-align:right}._balanceTable_m2hui_1 ._availableUnit_m2hui_32{color:var(--color-secondary);padding-right:var(--space-half)}._pendingBalance_m2hui_37{color:var(--color-secondary);font-size:var(--size-small);line-height:1;margin:0;padding-top:var(--space-half)}@media (max-width: 768px){._balanceTable_m2hui_1{display:inline-block;margin:0 auto}._balanceTable_m2hui_1 td{font-size:var(--size-large-mobile);line-height:1.5}._pendingBalance_m2hui_37{padding-top:var(--space-quarter)}}@media (max-width: 560px){._balanceTable_m2hui_1 td{font-size:var(--size-subheader)}}._row_1qpuo_1{display:flex;flex-direction:column}._rowCustomFee_1qpuo_6{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12{flex-basis:50%;flex-grow:1;flex-shrink:0}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:first-child{flex-basis:50%}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:nth-child(2){flex-basis:50%}@media (min-width: 640px){._row_1qpuo_1{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12:first-child{flex-basis:50%}._column_1qpuo_12:nth-child(2){flex-basis:50%}}._rowCustomFee_1qpuo_6 select._priority_1qpuo_38{border-right:none;padding-right:0}._rowCustomFee_1qpuo_6 ._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0;border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0}}select:disabled._priority_1qpuo_38{border-color:var(--background)!important}select._priority_1qpuo_38{border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input:disabled{border-color:var(--background)!important}._fee_1qpuo_42 input{border-color:var(--background-quaternary)!important}}@media (max-width: 639px){._row_1qpuo_1 ._fee_1qpuo_42 *{display:block!important;text-align:left!important}._row_1qpuo_1 ._fee_1qpuo_42 input{border:none;color:var(--color-secondary)!important;font-size:var(--size-small);font-weight:400;height:auto;margin-top:0;padding:0}}._feeCustom_1qpuo_91 input{padding-right:58px}._feeDescription_1qpuo_95,._feeProposed_1qpuo_96{color:var(--color-secondary);flex:0 0 100%;font-size:var(--size-small);font-weight:400;margin-top:0}._feeProposed_1qpuo_96{margin:0}._feeDescription_1qpuo_95+._feeProposed_1qpuo_96{margin:var(--space-quarter) 0 0 0}._customFeeUnit_1qpuo_112{bottom:0;color:var(--color-secondary);font-size:var(--size-default);line-height:50px;padding-right:var(--space-half);position:absolute;right:0;width:auto}._utxosList_8ra1q_1{list-style:none;padding:0 0 var(--space-half) 0}._utxosList_8ra1q_1 label{-webkit-user-select:text;user-select:text;width:100%}._utxo_8ra1q_1{margin-top:var(--space-half);padding:0 0 var(--space-eight) 0;border-bottom:solid 1px var(--color-lightgray)}._utxoContent_8ra1q_17{align-items:flex-start;color:var(--color-default);display:flex;flex-wrap:nowrap;font-size:var(--size-subheader)}._note_8ra1q_25{color:var(--color-default);font-size:var(--size-subheader);line-height:1.5;margin-top:-7px;margin-bottom:var(--space-quarter)}._utxoData_8ra1q_33{flex-basis:auto;flex-grow:1;flex-shrink:1;overflow-x:hidden;overflow-y:auto}._utxoExplorer_8ra1q_41{margin-top:calc(var(--space-quarter) * -1);padding:var(--space-quarter)}._utxoExplorer_8ra1q_41 img{width:18px;height:18px}._amounts_8ra1q_51{padding-bottom:var(--space-quarter)}._amount_8ra1q_51{margin-right:var(--space-quarter)}._label_8ra1q_59,._unit_8ra1q_60{color:var(--color-secondary)}._label_8ra1q_59{display:inline-block;padding-right:4px}._unit_8ra1q_60{font-size:var(--size-default)}._address_8ra1q_73,._transaction_8ra1q_74{display:flex;font-size:var(--size-default);line-height:1.4;white-space:nowrap}._shrink_8ra1q_81{overflow:hidden;text-overflow:ellipsis}._confirmItem_1e5e5_1 p{margin-top:var(--space-quarter);word-break:break-all}._confirmationValue_1e5e5_6{font-size:var(--size-default);font-weight:400;line-height:1;overflow:hidden;text-overflow:ellipsis;direction:rtl}._total_1e5e5_15 p{font-size:var(--size-subheader)!important;margin-bottom:var(--space-quarter)}._spinnerAnimationContainer_18sha_1{align-items:center;display:flex;height:0;justify-content:center;position:relative;top:150px}._qrVideo_18sha_10{width:100%;margin-bottom:var(--spacing-default)}._qrVideo_18sha_10+.scan-region-highlight svg{stroke:var(--color-darkyellow)!important;stroke-width:3!important}._inputWithIcon_drrz7_1{position:relative}._inputWithIcon_drrz7_1 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}._action_drrz7_9{color:var(--color-blue);font-size:var(--size-small);font-weight:400;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}._qrButton_drrz7_18{align-items:center;display:flex;border:none;background-color:var(--background-secondary);height:36px;width:36px;justify-content:center;padding:0;position:absolute;top:calc(50% - var(--space-quarter));right:calc(var(--spacing-default) - var(--space-quarter));cursor:pointer}._qrButton_drrz7_18 img{width:18px;height:18px}._maxAmount_1t5n0_1 label{display:block!important;margin-right:0!important}._maxAmount_1t5n0_1 label:before{top:-2px!important}._maxAmount_1t5n0_1 label:after{margin-top:-3px!important}._labelDescription_5etm5_1{color:var(--color-secondary);font-size:var(--size-small);font-weight:400;margin-top:0}._container_8f83b_1{margin-top:calc(var(--space-default) * 1.5)}._skeleton_13p4i_1{animation:_skeleton-loading_13p4i_1 1.4s ease infinite;background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(129,129,129,.24) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;display:inline-block;max-width:100%;overflow:clip}._skeleton_13p4i_1:before{color:transparent;content:"_";display:block;line-height:1;min-width:1em}@keyframes _skeleton-loading_13p4i_1{0%{background-position:100% 50%}to{background-position:0 50%}}._chart_1bo3n_1{box-sizing:border-box;margin-bottom:var(--spacing-large);position:relative}._invisible_1bo3n_7{visibility:hidden}._chartUpdatingMessage_1bo3n_11{align-items:center;color:var(--color-tertiary);display:flex;flex-direction:column;justify-content:center;padding:0 var(--space-half);text-align:center}._chart_1bo3n_1 header{display:flex;flex-wrap:wrap;margin-bottom:var(--spacing-half);min-height:68px}._summary_1bo3n_28{margin:0 auto;display:flex;flex-direction:column;align-items:flex-start}._filters_1bo3n_35{align-items:baseline;display:flex;flex-wrap:wrap;flex-grow:1;justify-content:flex-end;margin:var(--spacing-half) 0 0 0}@media (max-width: 640px){._chart_1bo3n_1{margin-bottom:var(--spacing-default)}._summary_1bo3n_28{align-items:center}._filters_1bo3n_35{justify-content:center;margin-top:var(--spacing-default)}}._filters_1bo3n_35 button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-secondary);border:2px solid var(--background-secondary);border-radius:2rem;color:var(--color-default);font-size:var(--size-default);line-height:1.75;margin-bottom:var(--spacing-half);margin-left:var(--spacing-half);padding:0 calc(var(--spacing-default) * .75)}._filters_1bo3n_35 button:hover:not([disabled]){cursor:pointer}._filters_1bo3n_35 button:hover:is([disabled]){cursor:not-allowed}._filters_1bo3n_35 button:focus{border:2px solid var(--color-blue);outline:none}._filters_1bo3n_35 button._filterActive_1bo3n_87{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-alt)}._filters_1bo3n_35 button[disabled]{background:var(--background-quaternary);border-color:var(--background-quaternary);color:var(--color-alt)}.dark-mode ._filters_1bo3n_35 button[disabled]{background:var(--background-secondary);border-color:var(--background-secondary);color:var(--color-disabled)}._arrow_1bo3n_104 svg{margin-right:.25rem;vertical-align:text-bottom}._up_1bo3n_109{color:var(--color-green)}._down_1bo3n_113{color:var(--color-softred)}._totalValue_1bo3n_117{font-size:2rem}._totalUnit_1bo3n_121{color:var(--color-secondary);display:inline-block;font-size:1.4rem;padding:0 .25rem}._diffValue_1bo3n_128{font-size:1.2rem}._diffUnit_1bo3n_132{font-size:1rem;padding:0 .25rem}._chartCanvas_1bo3n_137{position:relative}@media (max-width: 640px){._chartCanvas_1bo3n_137{max-width:100%;overflow:hidden}}._tooltip_1bo3n_149{background:var(--background-secondary);border:1px solid var(--background);border-radius:3px;font-size:var(--size-small);margin-top:-25px;min-width:140px;padding:.75rem .6rem;pointer-events:none;position:absolute;text-align:center;transition:left .03s ease-out,top .03s ease-out;z-index:12}._toolTipValue_1bo3n_164{font-weight:400;font-size:1rem;margin:0 0 .25rem}._toolTipUnit_1bo3n_170{color:var(--color-secondary);font-size:var(--size-small);padding:0 .125rem}._toolTipTime_1bo3n_176{white-space:nowrap}._spinnerContainer_1akm7_1{position:relative;display:inline-block}._spinner_1akm7_1{color:var(--color-blue)}._spinner_1akm7_1:after{position:relative;top:2px;animation:_changeContent_1akm7_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_1akm7_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._balanceTable_1v4c8_1{margin:0 0 var(--spacing-large) 0}._coincode_1v4c8_4{height:24px}._coinheader_1v4c8_9{display:flex;flex-direction:row;align-items:center}._coinheader_1v4c8_9>div:first-child{height:24px;margin-right:calc(var(--space-half) / 2)}._dataMissing_1v4c8_20{text-align:center}._openFileText_1v4c8_24{color:var(--color-primary);cursor:pointer;font-size:var(--size-small)}._table_1v4c8_30{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-default);border:solid 1px var(--background-quaternary)}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{height:52px;padding:var(--space-half);text-align:left;font-weight:400}._table_1v4c8_30 tr td._noAccount_1v4c8_45{text-align:center}._table_1v4c8_30 tr>td:not(:first-child),._table_1v4c8_30 tr>th:not(:first-child){text-align:right}._table_1v4c8_30 thead th{border-bottom:solid 1px var(--background-quaternary)}._table_1v4c8_30 thead th,._table_1v4c8_30 tfoot th{background-color:var(--background-secondary);font-size:var(--size-default);font-weight:700}._table_1v4c8_30 thead th:first-child,._table_1v4c8_30 tfoot th:first-child{padding-left:calc(24px + var(--space-default))}._table_1v4c8_30 tr td{font-size:var(--size-default)!important;line-height:1.5714}._table_1v4c8_30 tbody td{background-color:var(--background-secondary)}._clickable_1v4c8_80{cursor:pointer}._summaryTableBalance_1v4c8_84{white-space:nowrap}._table_1v4c8_30 tfoot th,._table_1v4c8_30 tfoot td{background-color:var(--background-secondary);padding-bottom:calc(var(--space-quarter) + var(--space-half))}._coinName_1v4c8_94{display:flex}._coinName_1v4c8_94 img{flex-shrink:0;margin-right:var(--spacing-default);vertical-align:middle}._coinUnit_1v4c8_104{color:var(--color-secondary)}._syncText_1v4c8_108{font-variant:tabular-nums}._showOnTableView_1v4c8_112{display:block}._showInCollapsedView_1v4c8_116{display:none}@media (max-width: 640px){._showOnTableView_1v4c8_112{display:none}._showInCollapsedView_1v4c8_116{display:block}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{padding:var(--spacing-default)}._table_1v4c8_30 thead{display:none}._table_1v4c8_30,._table_1v4c8_30 tbody,._table_1v4c8_30 tbody tr,._table_1v4c8_30 tfoot{display:block}._table_1v4c8_30 tfoot tr{background-color:var(--background-secondary);display:flex;justify-content:space-between}._table_1v4c8_30 tfoot th:first-child{padding-left:var(--space-half)}._table_1v4c8_30 tbody td{display:flex;justify-content:space-between;height:auto;padding-bottom:0}._table_1v4c8_30 tbody td:before{content:attr(data-label);white-space:nowrap}._subTotal_1v4c8_167 td:before{font-weight:700}._table_1v4c8_30 tbody td:last-child{border-bottom:solid 1px var(--color-mediumgray);padding-bottom:var(--spacing-default)}._coinName_1v4c8_94{position:relative}._coinName_1v4c8_94 img{left:-2rem;position:absolute;top:-3px}}._container_1mptn_1{display:flex;justify-content:center}._container_1mptn_1>button:first-child{margin-right:var(--space-half)}._main_1mptn_8{padding:calc(var(--space-default) * 1.5) 0}._main_1mptn_8>*{margin-right:0!important;text-align:center}._walletConnect_1mptn_17{margin-left:var(--space-half)}._walletConnect_1mptn_17 span{margin-left:var(--space-eight)}._container_17oq2_1{align-items:center;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;padding:0 var(--space-half)}._scrollable_17oq2_17{overflow:auto}._agreements_17oq2_22{margin-bottom:var(--spacing-default)}._agreementsLabel_17oq2_26{margin:var(--spacing-half) 0}._title_17oq2_30{margin-top:0;margin-bottom:var(--spacing-large);font-weight:400}._summary_17oq2_36{margin:var(--spacing-large) auto;max-width:450px}._summary_17oq2_36 li{margin-bottom:var(--spacing-default)}._heading_17oq2_45{margin-top:1px}._content_17oq2_49{display:flex;flex-basis:auto;flex-direction:column;flex-grow:1;flex-shrink:1;max-width:var(--content-width);width:100%;padding:var(--spacing-large) var(--spacing-default) 0 var(--spacing-default)}._verticalButtons_17oq2_60{display:flex;flex-direction:column;max-width:300px;width:100%;margin:0 auto}._verticalButtons_17oq2_60 button:first-child{margin-bottom:var(--spacing-default)}._block_17oq2_72{flex:1}._block_17oq2_72 p:first-child,._block_17oq2_72 h2:first-child{margin-top:0}._block_17oq2_72 p:last-child{margin-bottom:var(--spacing-large)}._list_17oq2_85{padding-left:18px}._list_17oq2_85 li:not(:first-child){margin-top:var(--spacing-half)}._buttons_17oq2_93{margin-bottom:0;margin-top:var(--spacing-large)}._stepNumber_17oq2_98{min-width:20px!important;margin-right:20px;text-align:center;color:var(--color-secondary);font-size:var(--size-extra-large);line-height:var(--size-extra-large);font-weight:400}._badge_17oq2_108{max-height:40px;height:40px}._waitingLogo_17oq2_113{margin-bottom:var(--space-default)}._waitingContent_17oq2_117{max-width:540px;width:100%;background-color:var(--background-secondary);padding:var(--space-default);margin:0 auto;text-align:center}._waitingText_17oq2_126{margin-top:0;margin-bottom:var(--space-half);text-align:center;font-weight:400;font-size:var(--size-subheader)}._waitingDescription_17oq2_134{text-align:center;margin-bottom:0}@media screen and (max-width: 640px){._qrcodeContainer_17oq2_140{width:50%}._qrcodeContainer_17oq2_140 img{width:100%;height:auto}}._container_l7fdu_1{width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:var(--item-height);text-decoration:none;text-align:left;border:none;color:var(--color-blue);background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:0 var(--space-half);cursor:pointer}._container_l7fdu_1 svg,._container_l7fdu_1 img{width:18px;height:18px;color:var(--color-secondary)}._danger_l7fdu_27{color:var(--color-softred)}._children_l7fdu_31{min-width:120px}._optionalText_l7fdu_35{margin-left:auto;margin-right:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary);white-space:nowrap;max-width:300px;text-overflow:ellipsis;overflow:hidden}._secondaryText_l7fdu_46{color:var(--color-secondary);font-size:var(--size-small);margin-top:4px;overflow:hidden;text-overflow:ellipsis}._primaryText_l7fdu_54{display:block}._icon_l7fdu_58 img{margin-left:8px;margin-bottom:-4px}._disabled_l7fdu_63{opacity:.5;cursor:default}._item_l7fdu_68{color:var(--color-secondary);cursor:default}._container_l7fdu_1:focus{outline:solid 1px var(--color-blue)}._stepContext_g2o2c_1{margin:var(--space-default) 0}._backupsList_g2o2c_5{background:var(--background-secondary);border:1px solid var(--background-secondary);display:flex;flex-direction:column;text-align:left;flex:1}._listContainer_g2o2c_14{display:flex;flex-direction:column;max-height:45vh;overflow-x:hidden;overflow-y:scroll;position:relative;width:100%}._item_g2o2c_24{width:100%;padding:var(--space-quarter) var(--space-half)}._item_g2o2c_24:not(:first-child){border-top:solid 1px var(--background)}._item_g2o2c_24 label{margin-bottom:0!important}._agreements_g2o2c_37{margin-bottom:1rem}._emptyText_g2o2c_41{text-align:center;color:var(--color-secondary);padding:var(--spacing-large) 0}._backupItem_g2o2c_47+label{color:var(--color-default);word-break:break-all}._backupID_g2o2c_52{word-break:break-all;margin-bottom:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary)}._backupButtons_g2o2c_59{display:flex;flex-wrap:wrap;flex-direction:row-reverse;margin-top:var(--space-default)}@media (min-width: 769px){._backupButtons_g2o2c_59>*:not(:first-child){margin-right:var(--space-half)}}@media (max-width: 768px){._backupButtons_g2o2c_59{align-items:center;flex-direction:column;margin-top:var(--space-default)}._backupButtons_g2o2c_59>*:not(:first-child){margin-top:var(--space-half)}}._container_6tizs_1{height:var(--item-height-xlarge);width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;text-decoration:none;text-align:left;border:none;background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:16px 24px;color:var(--color-dark);margin-bottom:var(--size-default)}._primaryText_6tizs_21{color:var(--color-default);font-size:16px;margin:0}._isButton_6tizs_27:hover{cursor:pointer}._rightContentContainer_6tizs_32{display:flex;align-items:center;flex-shrink:0}._displayedValue_6tizs_38{color:var(--color-secondary);font-size:14px;margin:0;padding-left:var(--space-half);overflow:hidden;text-overflow:ellipsis}._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:var(--space-quarter)}._secondaryText_6tizs_51{color:var(--color-secondary);font-size:14px;margin:0;margin-top:var(--space-quarter);overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){._container_6tizs_1{height:auto;margin-bottom:5px;min-width:100%}._secondaryText_6tizs_51{display:none}}@media (max-width: 560px){._container_6tizs_1._collapse_6tizs_74{align-items:start;flex-direction:column}._container_6tizs_1._collapse_6tizs_74 ._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:0}._container_6tizs_1._collapse_6tizs_74 ._rightContentContainer_6tizs_32{width:100%}._hideDisplayedValueOnSmall_6tizs_87{display:none}}._container_1rta5_1{display:flex;margin-bottom:var(--space-default);word-break:keep-all}._container_1rta5_1 a{margin-right:var(--space-default);font-size:var(--size-subheader);text-decoration:none}._container_1rta5_1 a._active_1rta5_13{padding-bottom:var(--space-quarter);border-bottom:2px solid var(--color-blue)}@media (max-width: 768px){._container_1rta5_1,._container_1rta5_1 a,._container_1rta5_1 a._active_1rta5_13{all:unset}}._settingNameContainer_usdew_1{display:flex}._settingName_usdew_1{color:var(--color-swissred);font-size:16px;margin:0;margin-left:var(--space-quarter)}._section_18i3w_1{margin-bottom:var(--space-default)}._section_18i3w_1 h3{margin-bottom:var(--space-half)}._skeletonWrapper_18i3w_9{margin-bottom:var(--size-default)}@media (max-width: 768px){._skeletonWrapper_18i3w_9{margin-bottom:2px}}._container_flzib_1{align-items:center;display:none;position:relative}._backButton_flzib_7{background-color:transparent;border:none;color:var(--color-default);display:flex;align-items:center;font-size:var(--size-title);padding:var(--space-quarter);padding-left:0;text-decoration:none}._backButton_flzib_7:focus{outline:none}._backButton_flzib_7:hover{cursor:pointer}._backButton_flzib_7 img{margin-right:var(--space-eight)}._headerText_flzib_31{font-size:var(--size-title);font-weight:400;margin:0 auto;position:absolute;left:50%;transform:translate(-50%)}._withGuide_flzib_40 ._headerText_flzib_31{left:calc(50% + 37px)}@media (max-width: 768px){._container_flzib_1{display:flex}}._container_18axn_1{align-items:stretch;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;max-width:var(--content-width-small);width:100%}._container_14uup_1{display:inline-block;flex-shrink:0;margin:0;min-height:var(--item-height-xsmall);position:relative;width:60px}._container_14uup_1 input{height:0;opacity:0;width:0}._container_14uup_1 input[disabled]+._slider_14uup_16{cursor:default;background-color:var(--color-disabled)}._slider_14uup_16{background-color:var(--background-tertiary);border-radius:2px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.2s}._slider_14uup_16:before{background-color:#fff;border-radius:2px;bottom:4px;content:"";height:16px;left:4px;position:absolute;width:26px;transition:.2s}input:checked+._slider_14uup_16{background-color:var(--color-blue)}input:checked+._slider_14uup_16:before{transform:translate(26px)}._toast_4ztjp_1{position:fixed;display:block;bottom:calc(var(--item-height-large) + var(--space-half));right:50%;transform:translate(50%,120%);max-width:calc(100% - (var(--guide-width) + var(--sidebar-width) + var(--spacing-large)));min-width:180px;min-height:20px;border-radius:2px;padding:var(--space-half);box-shadow:0 1px 5px #0003;transition:transform ease-out .2s;z-index:1}._active_4ztjp_17{transform:translate(50%)}._active_4ztjp_17._shifted_4ztjp_21{right:calc(var(--spacing-default) + 350px)}._info_4ztjp_25{background-color:var(--color-darkblue)}._success_4ztjp_29{background-color:var(--color-success)}._warning_4ztjp_33{background-color:var(--color-softred)}._toast_4ztjp_1 p{margin:0;color:var(--color-alt)}@media (max-width: 768px){._toast_4ztjp_1{position:initial;transition:none;transform:none}}._label_g3ts4_1{white-space:nowrap}._labelText_g3ts4_5{display:inline-block;font-size:14px;line-height:1;margin-right:8px;vertical-align:sub}._addAccountBtn_17bcq_2{margin-bottom:var(--spacing-default)}._walletHeader_17bcq_6{align-items:end;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--space-eight)}._walletTitle_17bcq_14{font-size:20px;font-weight:400;margin:0 0 var(--space-quarter) 0}._walletTitle_17bcq_14 small{color:var(--color-secondary);font-size:var(--size-default)}._setting_17bcq_25{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;min-height:var(--item-height);padding:var(--space-quarter) 0}._setting_17bcq_25:not(:last-child){border-bottom:solid 1px var(--background)}._coinLogo_17bcq_39{position:relative;z-index:2}._acccountLink_17bcq_44{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:1}._editBtn_17bcq_52{min-width:0;padding:0 0 0 var(--space-quarter)}._editBtn_17bcq_52 img{margin-right:var(--space-quarter);max-width:18px;height:auto;vertical-align:text-bottom}._toggleLabel_17bcq_64{align-items:center;display:flex;justify-content:space-between}._toggleLabelText_17bcq_70{color:var(--color-secondary)}._toggleLabelText_17bcq_70 img{color:var(--color-secondary);margin-right:var(--space-quarter);max-width:18px;vertical-align:bottom}._toggle_17bcq_64{flex-basis:60px;flex-shrink:0;margin-left:var(--spacing-half)}._accountActive_17bcq_87{cursor:pointer}._tokenSection_17bcq_91{align-items:flex-start;display:flex;flex-basis:100%;flex-direction:column;flex-wrap:wrap;padding:0 0 0 4px}._tokenContainer_17bcq_100{max-height:0vh;overflow:hidden;transition:max-height .27s ease;width:100%}._tokenContainerOpen_17bcq_107{max-height:200vh;padding:10px 0 0}._token_17bcq_91{align-items:center;display:flex;flex-direction:row;justify-content:space-between;min-height:var(--item-height);padding:10px 0;position:relative;width:100%}._token_17bcq_91:before{background-color:#ddd;content:"";height:22px;left:10px;position:absolute;top:-13px;right:8px;width:3px}._token_17bcq_91:first-child:before{height:16px;top:-7px}._token_17bcq_91 img:first-child{margin-right:0}._tokenIcon_17bcq_149{max-height:24px;max-width:24px}._tokenName_17bcq_154{flex:1;display:inline-block;padding-left:20px}._tokenInactive_17bcq_160{color:var(--color-tertiary);transition:color .2s ease}._expandBtn_17bcq_165{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:100% center;background-repeat:no-repeat;height:40px;padding:0 var(--space-default)}._expandBtnOpen_17bcq_173{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 16 12 10 18 16'/%3E%3C/svg%3E%0A")}._expandBtn_17bcq_165,._expandBtn_17bcq_165:focus,._expandBtn_17bcq_165:hover{border-color:transparent!important;margin-left:10px;outline:none}._watchOnlyContainer_17bcq_186{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-half)}._watchOnlyNote_17bcq_193{margin:0;margin-top:var(--space-half)}._watchOnlyAccountHidden_17bcq_198{background-color:var(--color-success);margin-top:var(--space-half);padding:var(--space-half)}._watchOnlyAccountHidden_17bcq_198 p{color:var(--color-alt);margin:0}._title_ahh86_1{margin:0;font-size:var(--size-subheader);font-weight:400}._resetLink_ahh86_7{color:var(--color-softred)!important}._serversContainer_ahh86_11{margin-top:var(--space-default)}._servers_ahh86_11{background-color:var(--background-secondary);list-style:none;padding:var(--space-quarter) var(--space-half);margin:0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11{display:flex;width:100%;align-items:center;font-weight:400;font-size:var(--size-default);min-height:52px}._serverLabel_ahh86_32{padding:var(--space-quarter) 0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11>div:last-child{margin-left:auto}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{border:none;border-radius:2px;font-size:var(--size-small);padding:var(--space-quarter) var(--space-half);word-break:normal}._servers_ahh86_11 ._server_ahh86_11>div button[disabled]{background-color:var(--color-disabled);color:var(--color-secondary)}._servers_ahh86_11 ._server_ahh86_11>div button:focus{outline:none}._servers_ahh86_11 ._server_ahh86_11>div button:not(:last-child){margin-right:var(--space-quarter)}@media (max-width: 768px){._servers_ahh86_11{padding:0 var(--space-quarter)}._serverLabel_ahh86_32{padding-right:var(--space-quarter)}._servers_ahh86_11 ._server_ahh86_11>div button{margin:var(--space-quarter) 0}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{display:block;padding:var(--space-quarter);width:100%}}._primary_ahh86_82{background-color:var(--color-blue);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._primary_ahh86_82:hover{background-color:var(--color-lightblue)}._warning_ahh86_93{background-color:var(--color-softred);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._warning_ahh86_93:hover{background-color:var(--color-lightred)}._textarea_ahh86_104{width:100%;border-radius:2px;border-color:var(--background-quaternary);padding:var(--space-half) var(--space-half);margin-bottom:var(--space-quarter)}._block_ahh86_112{margin-bottom:var(--space-half)}._addServer_ahh86_116{margin-top:var(--space-half);margin-bottom:var(--space-default);background-color:var(--background-secondary);padding:var(--space-half)}._addServer_ahh86_116 p{font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);margin-bottom:var(--space-quarter)}._addServer_ahh86_116>div:first-child p{margin-top:var(--spacing-default)}@media (max-width: 768px){._addServer_ahh86_116{padding:var(--space-half) var(--space-quarter)}}._badge_ahh86_140{color:var(--color-secondary);border-radius:2px;margin-right:var(--space-quarter);width:16px;text-align:center}._badge_ahh86_140:after{content:"."}._miniSpinnerContainer_ahh86_152{position:relative;margin-right:4px;display:inline-block}._miniSpinner_ahh86_152{color:var(--color-blue)}._miniSpinner_ahh86_152:after{position:relative;animation:_changeContent_ahh86_1 .8s linear infinite;display:block;content:"⠋"}@keyframes _changeContent_ahh86_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._syncContainer_nrzbt_1{position:relative;width:100%;top:-18px;margin-bottom:-18px}._progressBar_nrzbt_8{width:100%;height:1px;background-color:var(--background)}._progressValue_nrzbt_14{height:100%;background-color:var(--color-blue);transition:width 1s ease;will-change:width}._syncMessage_nrzbt_21{height:16px;width:100%;max-width:var(--content-width);font-size:var(--size-small);color:var(--color-secondary);text-align:right;margin:0 auto 1px;padding:0 var(--spacing-large)}._syncText_nrzbt_33{display:inline-block;height:100%;font-variant:tabular-nums}._spinnerContainer_nrzbt_39{position:relative;display:inline-block}._spinner_nrzbt_39{color:var(--color-blue)}._spinner_nrzbt_39:after{position:relative;top:2px;animation:_changeContent_nrzbt_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_nrzbt_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}@media (max-width: 900px){._syncMessage_nrzbt_21{padding:0 var(--spacing-default)}}@media (max-width: 640px){._syncMessage_nrzbt_21{padding:0 var(--spacing-half)}}._container_13974_1{transform:rotate(-90deg);background-color:transparent!important}._background_13974_6,._foreground_13974_7{fill:none}._background_13974_6{stroke:var(--color-mediumgray)}._complete_13974_19{stroke:var(--color-success)}._pending_13974_23,._generic_13974_24{stroke:var(--color-primary)}._error_13974_28{stroke:var(--color-danger)}._txArrowType_m24u9_1{width:18px;height:18px}._txArrowTypeIn_m24u9_6{stroke:var(--color-success)!important}._txArrowTypeOut_m24u9_10{stroke:var(--color-danger)!important}._txArrowTypeSelf_m24u9_14{stroke:var(--color-secondary)!important}._container_1j01g_1{margin:calc(var(--space-default) * 1.5) 0}._header_1j01g_5{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--space-default)}._header_1j01g_5 label{font-size:var(--size-default)}._columns_1j01g_17{align-items:center;background-color:var(--background-secondary);display:flex;flex-direction:row;justify-content:flex-start;margin-bottom:1px;width:100%}._headers_1j01g_27{font-weight:700;height:48px}._columns_1j01g_17>*,._columnGroup_1j01g_33>*{display:flex;flex-direction:row;align-items:center;font-size:var(--size-default);padding:0 var(--space-quarter)}._columnGroup_1j01g_33{width:100%;padding:0}._type_1j01g_46{min-width:54px;width:54px;justify-content:center}._date_1j01g_52{min-width:98px;width:98px}._activity_1j01g_57{min-width:334px;width:334px;text-align:left}._status_1j01g_63{min-width:106px;width:106px}._fiat_1j01g_68{min-width:134px;width:134px;justify-content:flex-end}._currency_1j01g_74{min-width:230px;width:230px;justify-content:flex-end}._action_1j01g_80{min-width:60px;width:60px;justify-content:center;align-items:center}._empty_1j01g_87{background-color:var(--background-secondary);height:52px;display:flex;flex-direction:row;align-items:center;justify-content:center}._empty_1j01g_87 p{font-size:var(--size-default);font-weight:400;color:var(--color-secondary)}@media (min-width: 1081px) and (max-width: 1199px),(min-width: 1323px){._hideOnMedium_1j01g_103{display:none}._activity_1j01g_57{padding:var(--space-quarter) 0}}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._showOnMedium_1j01g_113{display:none}._columns_1j01g_17{flex-direction:column;justify-content:center}._columnGroup_1j01g_33:last-child{margin-top:var(--space-quarter)}._type_1j01g_46{min-width:36px;width:36px;justify-content:flex-start}._date_1j01g_52{min-width:126px;width:126px}._activity_1j01g_57{flex:1}._fiat_1j01g_68,._currency_1j01g_74{justify-content:flex-start;min-width:0;width:auto;text-align:right}._action_1j01g_80{justify-content:flex-end;min-width:36px;width:36px}._status_1j01g_63{justify-content:flex-start;width:auto;margin-left:36px;margin-right:auto}}@media (max-width: 768px){._container_1j01g_1{margin:var(--space-default) 0}._fiat_1j01g_68,._currency_1j01g_74{min-width:0;width:auto}._fiat_1j01g_68{flex-grow:1;flex-shrink:0;justify-content:flex-end}._currency_1j01g_74{flex-grow:0;flex-shrink:1}}@media (max-width: 666px){._columns_1j01g_17>*,._columnGroup_1j01g_33>*{padding:0 var(--space-eight)}._type_1j01g_46{min-width:26px;width:26px}._activity_1j01g_57{min-width:0;width:auto}._date_1j01g_52{min-width:80px;width:80px}._status_1j01g_63{margin-left:2px;min-width:14px;padding-right:0}}._container_1tutj_1{margin:0 0 1px}._row_1tutj_5{background-color:var(--background-secondary)!important;min-height:52px}._row_1tutj_5 *{font-size:var(--size-default);font-weight:400}._address_1tutj_19{text-overflow:ellipsis;overflow:hidden}._address_1tutj_19 ._badge_1tutj_24{margin-left:5px;color:var(--color-secondary)}._statusIndicator_1tutj_29{width:9px;height:9px;border-radius:50%;background-color:var(--background);margin-right:var(--space-quarter)}._statusIndicatorComplete_1tutj_37{background-color:var(--color-success)}._statusIndicatorPending_1tutj_41{background-color:var(--color-yellow)}._statusIndicatorFailed_1tutj_45{background-color:var(--color-danger)}._fiat_1tutj_53{font-variant:tabular-nums}._amount_1tutj_57{font-variant:tabular-nums;max-width:100%}._amountOverflow_1tutj_62{overflow:hidden;position:relative;text-overflow:ellipsis}._amountOverflow_1tutj_62:after{content:attr(data-unit);color:transparent}._send_1tutj_74{color:var(--color-softred)!important}._receive_1tutj_78{color:var(--color-success)}._currency_1tutj_82{font-variant:tabular-nums}._currencyUnit_1tutj_86{color:var(--color-secondary);font-variant:normal}._amountOverflow_1tutj_62 ._currencyUnit_1tutj_86{position:absolute;right:0;top:0}._action_1tutj_97{align-items:center;background:none;border:none;display:flex;flex-direction:column;justify-content:center;padding:0;-webkit-appearance:none}._label_1tutj_108{white-space:nowrap}._label_1tutj_108,._columnLabel_1tutj_113,._inlineLabel_1tutj_114{color:var(--color-secondary);font-size:var(--size-default)}._label_1tutj_108,._columnLabel_1tutj_113{margin-right:var(--space-quarter)}._columnLabel_1tutj_113{display:none}._inlineValue_1tutj_128{margin-left:var(--space-quarter)}._fee_1tutj_132{min-width:140px}._transactionId_1tutj_136{overflow:hidden;text-overflow:ellipsis}._detail_1tutj_141,._detailInput_1tutj_142{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detailInput_1tutj_142{padding:0 0 0 var(--space-half)}._detailInput_1tutj_142 label{margin-bottom:0}._textOnlyInput_1tutj_159{margin:0}._textOnlyInput_1tutj_159 input{border:none}._editButton_1tutj_167{background:none;border:none;height:20px;margin-right:var(--space-half);padding:0;-webkit-appearance:none;width:20px}._editButton_1tutj_167:focus{outline:none}._editButton_1tutj_167 img{opacity:.4;vertical-align:text-bottom;outline:none}._editButton_1tutj_167:hover img{opacity:.55}._detail_1tutj_141:not(:first-child){border-top:solid 1px var(--background)}._detail_1tutj_141 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1tutj_141 label,._detail_1tutj_141 p{margin:0;line-height:1}._detail_1tutj_141._addresses_1tutj_207{align-items:baseline;padding-bottom:0;padding-right:0;padding-top:0}._addresses_1tutj_207 label{padding:var(--space-half) 0}._detailAddresses_1tutj_218{flex-grow:1}._detailAddress_1tutj_218+._detailAddress_1tutj_218{margin-top:calc(var(--space-quarter) * -1)}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._container_1tutj_1{margin:0 0 var(--space-quarter) 0}._row_1tutj_5{height:auto;padding:var(--space-half)}._columnLabel_1tutj_113{display:inline}._action_1tutj_97{align-items:flex-end}}@media (max-width: 926px){._inlineLabel_1tutj_114{display:block;margin-bottom:var(--space-quarter)}._inlineValue_1tutj_128{margin-left:0;text-align:center}}@media (max-width: 666px){._columnLabel_1tutj_113{display:none}._row_1tutj_5{padding:var(--space-half) var(--space-quarter)}._inlineLabel_1tutj_114{white-space:nowrap}._fee_1tutj_132{min-width:0}}@media (max-width: 560px){._status_1tutj_29{display:none}}._container_8wadt_1{max-width:100%;width:100%;min-height:100%;padding:0;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start}._header_8wadt_12{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;flex:none;margin:0 auto;padding:var(--spacing-large) var(--spacing-large) 0 var(--spacing-large);width:800px}._actionsContainer_8wadt_23{display:flex;transform:translateY(-36%);margin-top:var(--space-quarter)}._buy_8wadt_29,._receive_8wadt_30,._walletConnect_8wadt_31,._send_8wadt_32{background-color:var(--color-blue);border-radius:2px;color:var(--color-alt);display:inline-block;font-size:var(--size-default);height:calc(var(--item-height) / 1.5);line-height:calc(var(--item-height) / 1.5);margin-left:var(--space-quarter);min-width:calc(var(--item-height) * 2);padding:0 var(--space-half);text-align:center;text-decoration:none;transition:background-color ease-out .2s;width:auto;will-change:background-color}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{flex-wrap:wrap;justify-content:flex-end}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{display:flex}._buy_8wadt_29:hover,._receive_8wadt_30:hover,._send_8wadt_32:not(._disabled_8wadt_62):hover{background-color:var(--color-lightblue)}._send_8wadt_32._disabled_8wadt_62{cursor:default;opacity:.4}._accountIcon_8wadt_71{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}@media (max-width: 768px){._actionsContainer_8wadt_23{flex:0 0 91%;justify-content:space-between;margin-bottom:var(--space-default);max-width:91%;transform:none;width:91%;margin-left:auto;margin-right:auto;flex-wrap:wrap}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{justify-content:center}._withWalletConnect_8wadt_50 ._buy_8wadt_29,._withWalletConnect_8wadt_50 ._receive_8wadt_30,._withWalletConnect_8wadt_50 ._send_8wadt_32{max-width:25%}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{align-items:center;display:flex;justify-content:center;max-width:15%}._actionsContainer_8wadt_23 a{flex:1 0 30%;margin-right:0;max-width:30%;min-width:unset}._send_8wadt_32,._receive_8wadt_30,._buy_8wadt_29{font-size:var(--size-small);width:auto}}._dropdown_1uw27_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23777' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_1uw27_10 .react-select__control{background-color:var(--background-secondary);border:2px solid var(--color-custom-select-border);border-radius:0;padding:0 var(--space-eight)}._select_1uw27_10{width:280px;background-color:var(--background-secondary);color:var(--color-default)}._select_1uw27_10 .react-select__option.react-select__option--is-focused:not(:hover){outline:solid 1px var(--color-blue)}._select_1uw27_10 .react-select__option.react-select__option--is-selected,._select_1uw27_10 .react-select__option:hover{background-color:var(--background-custom-select-selected)}._select_1uw27_10 .react-select__menu{background-color:var(--background-secondary)}._select_1uw27_10 .react-select__option{background-color:var(--background-secondary);font-size:var(--size-default);color:var(--color-default);padding:var(--space-half) var(--space-quarter);cursor:pointer}._select_1uw27_10 .react-select__menu-list{padding:1px}._select_1uw27_10 .react-select__control:hover{cursor:pointer}._select_1uw27_10 .react-select__single-value,._select_1uw27_10 .react-select__input-container{font-size:var(--size-default);color:var(--color-default)}._select_1uw27_10 .react-select__multi-value{padding:0;margin:0;background:transparent}._select_1uw27_10 .react-select__multi-value__label{padding:0;color:var(--color-default);font-size:var(--size-default)}@media (max-width: 560px){._select_1uw27_10{margin-top:var(--space-quarter);width:100%}}._select_1j2fm_1 .react-select__input-container{position:absolute;top:-2px;left:6px}._select_1j2fm_1 .react-select__option{display:flex;flex-direction:row;align-items:center;justify-content:space-between}._select_1j2fm_1 .react-select__multi-value:nth-child(n+4){display:none}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:not(:nth-last-child(2)):after{content:",";padding-right:2px}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:nth-child(3):not(:nth-last-child(2)):after{content:"…"}._select_1j2fm_1._hideMultiSelect_1j2fm_30 .react-select__multi-value{display:none}._select_1j2fm_1 .react-select__value-container--is-multi{height:var(--item-height-xsmall)}._defaultCurrency_1j2fm_51:hover{cursor:not-allowed}._defaultLabel_1j2fm_55{font-size:var(--size-small);margin:0;text-transform:capitalize}._inlineMessage_gi9x3_1{position:relative;padding:var(--spacing-default) 42px var(--spacing-default) var(--spacing-default);border-radius:3px}._inlineMessage_gi9x3_1._success_gi9x3_7{background-color:var(--color-success);color:var(--color-alt)}._inlineMessage_gi9x3_1._left_gi9x3_12{text-align:left}._close_gi9x3_16{position:absolute;top:var(--spacing-default);right:var(--spacing-default);line-height:1;cursor:pointer}._settingItem_6ge6v_3{margin-top:var(--space-half)}@media (max-width: 768px){._settingItem_6ge6v_3{margin-top:2px}}._headerContainer_wug0g_1{display:flex;flex-direction:column;align-items:center}._headerContainer_wug0g_1 p,._headerContainer_wug0g_1 h1{margin:0}._headerContainer_wug0g_1 h1{margin-top:var(--space-half);font-size:var(--size-large);font-weight:400}._headerContainer_wug0g_1 img{width:64px;height:64px}._headerContainer_wug0g_1 p{color:var(--color-secondary);margin-top:var(--space-quarter)}._accountName_wug0g_28{font-size:20px}._receiveAddress_wug0g_32{font-size:16px}@media (max-width: 768px){._headerContainer_wug0g_1 h1{margin-top:var(--space-eight);font-size:var(--size-subheader)}._headerContainer_wug0g_1 p{font-size:var(--size-small)}._headerContainer_wug0g_1 img{width:36px;height:36px}._headerContainer_wug0g_1 p._receiveAddress_wug0g_32{margin-top:var(--space-eight)}}._formContainer_1wrji_1{display:flex;flex-direction:column}._formButtonsContainer_1wrji_6{display:flex;justify-content:space-between}._inputWithIcon_1wrji_11{position:relative}._inputWithIcon_1wrji_11 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}@media (max-width: 768px){._formButtonsContainer_1wrji_6{flex-direction:column-reverse;margin-top:calc(var(--space-half) + var(--space-quarter))}._formButtonsContainer_1wrji_6 button+button{margin-bottom:var(--space-half)}._mobileQRScanner_1wrji_28{display:flex;flex-direction:column;margin-bottom:calc(var(--space-half) + var(--space-eight))}._mobileQRScanner_1wrji_28 video{max-width:320px;height:320px;margin:0 auto;object-fit:cover}._mobileQRScanner_1wrji_28 ._scanQRLabel_1wrji_41{margin-bottom:var(--space-quarter);margin-left:auto;margin-right:auto;text-align:center}}._buttonsContainer_yg3s8_1{margin-top:var(--space-default);display:flex;justify-content:space-between}._container_yg3s8_7{display:flex;flex-direction:column}._container_yg3s8_7 p._connectionRequest_yg3s8_12{margin-bottom:24px}._container_yg3s8_7 p._receiveAddress_yg3s8_16{color:var(--color-secondary);margin-top:24px}._pairingDetailContainer_yg3s8_21{display:flex;align-items:center;justify-content:space-between}._pairingDetailContainer_yg3s8_21 img{width:64px;height:64px}._pairingDetailContainer_yg3s8_21 p._metadata_yg3s8_32{color:var(--color-default);margin-bottom:var(--space-eight)}@media (max-width: 768px){._buttonsContainer_yg3s8_1{flex-direction:column-reverse}._buttonsContainer_yg3s8_1>*:not(:last-child){margin-top:var(--space-quarter)}._buttonsContainer_yg3s8_1 button{height:calc(var(--space-quarter) + var(--space-default))}._container_yg3s8_7 p._connectionRequest_yg3s8_12{text-align:center}._pairingDetailContainer_yg3s8_21{align-items:flex-start;flex-direction:column-reverse}._pairingDetailContainer_yg3s8_21 img{margin-left:auto;margin-right:auto;margin-bottom:var(--space-default)}}._container_1h5wj_1{align-items:center;display:flex;flex-direction:column}._successIcon_1h5wj_7{width:180px;height:180px}._container_1h5wj_1 p._successText_1h5wj_12{margin:calc(var(--space-quarter) + var(--space-half)) 0;text-align:center}@media (max-width: 768px){._container_1h5wj_1 p._successText_1h5wj_12{margin-bottom:var(--space-large);margin-top:calc(var(--space-quarter) + var(--space-default))}._container_1h5wj_1 button{height:calc(var(--space-quarter) + var(--space-default));width:100%}}._contentContainer_1iwqe_1{display:flex;margin-top:var(--space-default);margin-left:auto;margin-right:auto;max-width:800px;min-height:320px}._contentContainer_1iwqe_1>div{width:100%}._contentContainer_1iwqe_1 p{color:var(--color-secondary);font-size:16px;margin:0}@media (max-width: 768px){._contentContainer_1iwqe_1 p{font-size:var(--size-default)}}._container_1jggi_1{background-color:var(--background-session-card);display:flex;margin-top:calc(var(--space-quarter) + var(--space-half));padding:calc(var(--space-half) + var(--space-quarter));width:100%}._container_1jggi_1 p{color:var(--color-default);font-size:16px;line-height:1.9;margin-bottom:0}._textDataContainer_1jggi_16{display:flex;flex-direction:column}._receiveAddress_1jggi_21{color:var(--color-secondary);margin:0}._accountName_1jggi_26{font-weight:700;margin:0;padding-right:16px;width:240px}._dAppMetadataAndIconContainer_1jggi_33{align-items:center;display:flex}._dAppMetadataAndIconContainer_1jggi_33 p{margin-top:0}._dAppMetadataAndIconContainer_1jggi_33 img{width:var(--item-height);height:var(--item-height);margin-left:calc(var(--space-quarter) + var(--space-half))}._dAppNameAndUrlContainer_1jggi_48{display:flex;flex-direction:column;width:240px}._dAppMetadataAndIconContainer_1jggi_33 p._dappUrl_1jggi_54{margin-top:var(--space-quarter)}._accountNameAndWalletContainer_1jggi_58{display:flex;margin-bottom:calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63{align-items:flex-end;display:flex;margin-left:auto}._buttonDisconnect_1jggi_69{height:unset;padding:calc(var(--space-eight) + var(--space-quarter)) calc(var(--space-default) + var(--space-default))}@media (max-width: 768px){._container_1jggi_1{margin-top:var(--space-half);padding:calc(var(--space-quarter) * 2)}._container_1jggi_1 p{font-size:var(--size-default)}._textDataContainer_1jggi_16{width:50%}._dAppNameAndUrlContainer_1jggi_48,._accountName_1jggi_26{width:100%}._accountNameAndWalletContainer_1jggi_58{margin-bottom:var(--space-quarter)}._buttonAndIconContainer_1jggi_63{flex-direction:column;justify-content:flex-end}._buttonDisconnect_1jggi_69{font-size:var(--size-default);height:var(--item-height-small);padding:var(--space-eight) calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63 img{height:var(--item-height-small);width:var(--item-height-small);margin-top:var(--space-default);margin-bottom:var(--space-default)}}._buttonNewConnection_13so1_1{height:calc(var(--space-default) + var(--space-quarter))}._headerContainer_13so1_5{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:calc(var(--space-half) + var(--space-quarter))}._headerContainer_13so1_5 p{margin:0}._headerContainer_13so1_5 p._receiveAddress_13so1_16{color:var(--color-secondary);margin-top:var(--space-quarter);font-size:16px}._noConnectedSessions_13so1_22{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-large);text-align:center}._separator_13so1_30{background:var(--color-disabled);border:none;height:2px;margin:0}._sessionCardsContainer_13so1_37{display:flex;flex-direction:column}._allSessionsHeading_13so1_42{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-half)}@media (max-width: 768px){._buttonNewConnection_13so1_1{height:var(--space-default);padding:0 16px}._headerContainer_13so1_5 p{font-size:16px}._headerContainer_13so1_5 p._receiveAddress_13so1_16,._noConnectedSessions_13so1_22,._allSessionsHeading_13so1_42{font-size:var(--size-default)}._allSessionsHeading_13so1_42{margin-top:var(--space-quarter)}}._passwordGesturesWrapper_mvckk_1{height:auto;margin:var(--space-default) auto 0 auto;position:relative;width:100%}._passwordGestures_mvckk_1{background-color:#fff;display:block;height:75%;margin:0 auto;max-width:600px;object-fit:cover;width:100%}._passwordGestures_mvckk_1[src=""]:after{background-color:#fff;content:"";position:absolute;top:0;left:0;right:0;bottom:0}._toggle_1lt1t_1{align-items:center;display:flex;flex-direction:row}._toggleLabel_1lt1t_7{flex-grow:1;line-height:1.4;margin-bottom:0;padding-right:var(--space-half)}._textIcon_1lt1t_14{height:1.2em;margin-right:.5em;vertical-align:text-bottom}._wizardCheckbox_1shxj_2 label{font-size:var(--size-wizard-text)!important;line-height:1.4}._wizardCheckbox_1shxj_2 label:before{top:2px!important}._wizardCheckbox_1shxj_2 label:after{top:6px!important}._wizardLabel_11dvu_2 label{font-size:var(--size-wizard-text)!important}._logo_rqpye_1{display:block;filter:grayscale(100%);margin:var(--space-half) auto;max-height:32px;max-width:100%;opacity:.61}._prominent_rqpye_9{max-height:48px}@media (min-width: 1200px){._logo_rqpye_1{margin-top:var(--space-default);max-height:42px}._prominent_rqpye_9{max-height:72px}}._hostname_rqpye_22{color:var(--color-secondary)}@media (min-width: 769px){._hostname_rqpye_22{margin:0}}._capitalized_rqpye_31:first-letter{text-transform:capitalize}._banner_yebbr_1{background-color:var(--color-blue);color:var(--color-alt);font-weight:400;font-size:var(--size-subheader);padding:var(--space-half);text-align:center}._smallIcon_yebbr_10{margin:auto 0;width:30px}._successText_yebbr_15{color:var(--color-secondary);font-weight:400;font-size:var(--size-subheader);margin-bottom:var(--space-quarter)}@media (max-width: 768px){._successText_yebbr_15{font-size:var(--size-default);margin-top:0}}._proceed_yebbr_28{margin-bottom:var(--space-half);margin-top:0}._message_yebbr_33{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;min-height:52px;padding:var(--space-quarter) var(--space-half);text-align:left;width:100%;white-space:pre-line}@media (min-width: 1200px){._message_yebbr_33{--size-default: 18px}}._link_4u2en_1{color:var(--color-alt)}._link_4u2en_1:focus{outline-color:inherit}._bitboxContainer_1nxo8_1{margin-top:calc(var(--space-default) + var(--space-quarter));margin-bottom:calc(var(--space-default) + var(--space-quarter))}._bitboxContainer_1nxo8_1>div img{width:198px;height:115px;margin-right:var(--space-default)}._bitboxContainer_1nxo8_1>div svg{width:20px;height:20px}._bitboxContainer_1nxo8_1._failed_1nxo8_18{align-items:center;display:flex;flex-direction:column}._bitboxImage_1nxo8_24{width:198px;height:115px}._cancelIcon_1nxo8_29{margin-right:16px;width:48px}._text_1nxo8_35{font-size:16px}@media (max-width: 768px){._text_1nxo8_35{font-size:var(--size-default)}}._link_13in7_1{color:inherit}._auth_xdrxz_1{position:absolute;width:100%;height:100%;z-index:9999}._accountName_gsa52_1{font-size:16px;margin:0 var(--space-half) 0 0}._accountNameAndAddress_gsa52_6{display:flex}._address_gsa52_10{color:var(--color-secondary);font-size:16px;margin:0}._animationAndTextContainer_gsa52_16{align-items:center;display:flex;flex-direction:column;margin:auto}._animationAndTextContainer_gsa52_16 p{font-size:var(--header-default-font-size);margin-top:var(--space-quarter)}._chainContainer_gsa52_28{align-items:center;display:flex}._chainContainer_gsa52_28 ._itemText_gsa52_33{margin-right:calc(var(--space-quarter) + var(--space-eight))}._chainContainer_gsa52_28 img{height:20px;width:20px}._dappIcon_gsa52_42{height:96px;width:96px}._item_gsa52_33{display:flex;flex-direction:column}._item_gsa52_33+._item_gsa52_33{margin-top:var(--space-half)}._itemText_gsa52_33{font-size:16px;margin:0}._label_gsa52_62{color:var(--color-secondary);font-size:var(--size-default);margin:0 0 var(--space-quarter) 0}._listContainer_gsa52_68{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}._outerContainer_gsa52_77{display:flex;flex-direction:column;min-height:460px;padding:0 var(--space-half)}._successIcon_gsa52_84{height:240px;width:240px}._textarea_gsa52_89{border-color:var(--background-quaternary);border-radius:var(--space-eight);font-family:var(--font-family);padding:var(--space-quarter);width:100%}._titleContainer_gsa52_97{align-items:center;display:flex;margin-bottom:var(--space-half)}._titleContainer_gsa52_97 h3{font-size:var(--header-default-font-size);font-weight:400;margin:0 0 0 var(--space-eight);padding:0 var(--space-quarter)}:root{--color-darkgreen: #4f9879;--color-green: #7aba7a;--color-lightgreen: rgba(79, 152, 121, .33);--color-palegreen: rgba(79, 152, 121, .2);--color-softred: #EC644B;--color-lightred: #F28E72;--color-swissred: #E30613;--color-white: #FFFFFF;--color-lightgray: #F5F5F5;--color-mediumgray: #E5E5E5;--color-gray-alt: #999999;--color-gray: #777777;--color-softblack: #333333;--color-dark: #1D1D1B;--color-yellow: #fef160;--color-darkyellow: rgb(243, 234, 0, .66);--color-lightyellow: rgba(255, 252, 177, .15);--color-darkblue: #4f7998;--color-blue: #5E94BF;--color-lightblue: #73A5CD;--color-light-skyblue: #ECF7FF;--color-electric-blue: #2684FF;--color-powder-blue: #DEEBFF;--color-pale-ice-blue: #E6F7FF;--color-blue-alt: #91BFCF;--color-orange: #F5A04C;--color-olive: #908B00;--color-lightorange: #F9AC60;--color-success: var(--color-green);--color-info: var(--color-blue);--color-warning: var(--color-softred);--color-error: var(--color-swissred);--color-danger: var(--color-error);--size-extra-large: 2.2rem;--size-large: 2rem;--size-large-mobile: 1.4rem;--size-subheader: 18px;--size-medium: var(--size-default);--size-default: 14px;--size-small: 12px;--size-xsmall: 11px;--size-label: var(--size-small);--size-button: var(--size-default);--size-title: 32px;--size-wizard-text: 16px;--spacing-large: 2rem;--spacing-default: 1rem;--spacing-half: .5rem;--space-large: 64px;--space-default: 32px;--space-half: 16px;--space-quarter: 8px;--space-eight: 4px;--item-height-xsmall: 24px;--item-height-small: 36px;--item-height: 52px;--item-height-large: 72px;--item-height-xlarge: 84px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--sidebar-width-large: 250px;--sidebar-margin: 32px;--sidebar-item-height: 52px;--sidebar-icon-margin: 14px;--sidebar-icon-size: 24px;--sidebar-header-size: 12px;--sidebar-header-line-height: 16px;--header-height: 70px;--header-default-font-size: 24px;--content-width: 1080px;--content-width-small: 550px;--content-width-larger: 740px;--guide-width: 350px}:root,.light-mode{--color-disabled: var(--color-mediumgray);--color-default: var(--color-dark);--color-primary: var(--color-blue);--color-secondary: var(--color-gray);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-lightgray);--background: var(--color-lightgray);--background-blue: var(--color-blue);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-white);--background-dark: var(--color-softblack);--background-focus: var(--color-light-skyblue);--background-tertiary: var(--color-gray-alt);--background-quaternary: var(--color-mediumgray);--background-custom-select-hover: var(--color-powder-blue);--background-custom-select-selected: var(--color-pale-ice-blue);--background-session-card: var(--color-white)}@media (prefers-color-scheme: dark){:root{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (prefers-color-scheme: light){.dark-mode{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (max-width: 1199px){:root{--size-title: 18px}}@media (max-width: 768px){:root{--header-default-font-size: 20px;--size-subheader: 16px;--size-title: 16px;--size-wizard-text: 14px}}html,body{background-color:var(--background);color:var(--color-default);font-family:var(--font-family);font-weight:400;height:100%;line-height:1.3;margin:0;overflow:hidden;padding:0;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-app-region:drag}*{box-sizing:border-box}hr{background:none;border-color:var(--background-quaternary) transparent;border-style:solid;border-width:1px 0 0 0;margin:var(--spacing-large) 0}h1,h2,h3,h4,h5{line-height:1.25}::-webkit-scrollbar-track{background-color:#f5f5f5}::-webkit-scrollbar{width:4px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{background-color:var(--color-gray)}p{font-weight:400;font-size:var(--size-default)}a{color:var(--color-blue);cursor:pointer}dl div{display:inline-block;margin-right:var(--spacing-large)}dl dt{margin-right:var(--spacing-half);text-indent:0}dl dd{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis}img,button{-webkit-user-select:none;user-select:none}svg{stroke-width:1.6!important}pre{background-color:var(--background-secondary);display:block;font-family:monospace;font-size:20px;margin:0 0 var(--space-default) 0;padding:var(--space-default);text-align:center}progress{display:block;width:100%}.flex{display:flex!important}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-center{justify-content:center}.flex-start{justify-content:flex-start}.flex-around{justify-content:space-around}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-items-center{align-items:center}.flex-items-baseline{align-items:baseline}.flex-items-start{align-items:flex-start}.flex-items-end{align-items:flex-end}.flex-items-stretch{align-items:stretch}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-grow{flex-grow:1}.flex-none{flex:none!important}.flex>*{min-width:0}@media (max-width: 768px){.flex-column-mobile{flex-direction:column}.flex-reverse-mobile{flex-direction:column-reverse}.flex-self-start-mobile{align-self:flex-start}}.text-center{text-align:center}.text-right{text-align:right}.text-small{font-size:var(--size-small)}.text-medium{font-size:var(--size-default)}.text-medium>label{font-size:var(--size-default);text-transform:none}.text-blue{color:var(--color-blue)}.text-red{color:var(--color-danger)}.text-green{color:var(--color-success)}.text-gray{color:var(--color-secondary)}.show-on-small{display:none}.text-ellipsis{overflow-x:hidden;text-overflow:ellipsis}.text-break{word-break:break-all}.first{margin-top:0!important}.spaced>*:not(:last-child){margin-right:var(--space-default)}.app{display:flex;flex:1 1 auto;min-height:100vh}.appContent{height:100vh}@media (max-width: 900px){.appContent{position:absolute;width:100%}}@media (max-width: 768px){.spaced>*:not(:last-child){margin-right:var(--space-quarter)}}.contentWithGuide{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}.container{display:flex;flex:1 1 auto;flex-direction:column;position:relative;width:100%}.innerContainer{display:flex;flex-direction:column;height:100%}.scrollableContainer{overflow:auto}.scrollContainer{overflow-x:auto;overflow-y:scroll}.subTitle{font-size:var(--size-subheader);font-weight:400;line-height:1;margin:0 0 calc(var(--space-half) * 1.5) 0}.title{font-size:var(--size-title);font-weight:400;line-height:1;margin:0 0 var(--space-half) 0}@media (min-width: 1200px){.title{margin:0 0 var(--space-default) 0}}.content{flex:1;margin:0 auto;max-width:var(--content-width);padding:0 var(--space-default);width:100%}.content.narrow{max-width:var(--content-width-small)}.content.larger{max-width:var(--content-width-larger)}.content.padded{padding-top:var(--space-default)}@media (max-width: 768px){.content{padding:0 var(--space-half)}}.tabs{width:100%;max-width:var(--content-width);margin:0 auto}.tabs .tab{width:50%;height:52px;border:solid 1px var(--color-gray);transition:all .2s ease-out}.tabs .tab.active{border:solid 1px var(--color-blue)}.tabs .tab a{width:100%;height:100%;padding:var(--space-quarter);display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:center;text-decoration:none;font-size:var(--size-default);color:var(--color-secondary);transition:all .2s ease-out}.tabs .tab.active a{color:var(--color-blue);background-color:var(--background-secondary)}@media (max-width: 768px){.tabs .tab a{font-size:var(--size-small)}}.row:not(:first-child){margin-top:var(--space-quarter)}.row:not(:first-child).extra{margin-top:var(--space-half)}.isVerticallyCentered{display:flex;flex-direction:column;justify-content:center}.box{background-color:var(--background-secondary);padding:var(--space-half)}.box>*:first-child{margin-top:0}.box.large{padding:var(--space-default)}.box.larger{padding:var(--space-large)}.box.slim{padding:0}.box.slim.divide>*:not(:first-child){border-top:solid 1px var(--background)}.box .buttons{margin-top:var(--space-default);width:100%}.box .buttons.ignore{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.box .buttons.ignore.reverse{flex-direction:row-reverse}.box .buttons.ignore>*:not(:first-child){margin-left:var(--space-half);margin-right:0}.box .buttons.ignore.reverse>*:not(:first-child){margin-right:var(--space-half);margin-left:0}.box .buttons:not(.ignore)>*:not(:first-child){margin-top:var(--space-quarter)}.box .buttons:not(.ignore) button,.box .buttons:not(.ignore) a{width:100%}.m-none{margin:0!important}.m-top-none{margin-top:0!important}.m-top-quarter{margin-top:var(--space-quarter)!important}.m-top-half{margin-top:var(--space-half)!important}.m-top-default{margin-top:var(--space-default)!important}.m-top-default-extra{margin-top:calc(var(--space-default) * 1.5)!important}.m-top-large{margin-top:var(--space-large)!important}.m-right-tiny{margin-right:calc(var(--space-quarter) / 2)!important}.m-right-quarter{margin-right:var(--space-quarter)!important}.m-right-half{margin-right:var(--space-half)!important}.m-right-default{margin-right:var(--space-default)!important}.m-bottom-none{margin-bottom:0!important}.m-bottom-quarter{margin-bottom:var(--space-quarter)!important}.m-bottom-half{margin-bottom:var(--space-half)!important}.m-bottom-default{margin-bottom:var(--space-default)!important}.m-bottom-large{margin-bottom:calc(var(--space-half) * 1.5)!important}.m-bottom-xlarge{margin-bottom:calc(var(--space-half) * 3)!important}.m-bottom-xxlarge{margin-bottom:calc(var(--space-half) * 6)!important}.m-left-quarter{margin-left:var(--space-quarter)!important}.m-left-half{margin-left:var(--space-half)!important}.m-left-default{margin-left:var(--space-default)!important}.width-1-1{width:100%!important}.noPadding,.p-none{padding:0!important}.p-top-none{padding-top:0!important}.p-top-quarter{padding-top:var(--space-quarter)!important}.p-top-half{padding-top:var(--space-half)!important}.p-top-default{padding-top:var(--space-default)!important}.p-top-default-extra{padding-top:calc(var(--space-default) * 1.5)!important}.p-top-large{padding-top:var(--space-large)!important}.p-right-none{padding-right:0!important}.p-right-quarter{padding-right:var(--space-quarter)!important}.p-right-half{padding-right:var(--space-half)!important}.p-right-default{padding-right:var(--space-default)!important}.p-bottom-none{padding-bottom:0!important}.p-bottom-quarter{padding-bottom:var(--space-quarter)!important}.p-bottom-half{padding-bottom:var(--space-half)!important}.p-bottom-default{padding-bottom:var(--space-default)!important}.p-bottom-large{padding-bottom:calc(var(--space-half) * 1.5)!important}.p-left-none{padding-left:0!important}.p-left-quarter{padding-left:var(--space-quarter)!important}.p-left-half{padding-left:var(--space-half)!important}.p-left-default{padding-left:var(--space-default)!important}.wrapped{margin-top:calc(var(--spacing-half) * -1)}.wrapped>*{margin-top:var(--spacing-half)}.items{flex-shrink:0;position:relative;margin:calc(var(--space-quarter) * -1)}.items.marginBottom{margin-bottom:var(--space-half)}.buttons-end{text-align:right}.items>*{display:inline-block;margin:var(--space-quarter)}.stacked{position:relative}.stacked img{transition:opacity .2s ease}.stacked img:last-child{opacity:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.transparent{display:none}@media (max-width: 768px){.row:not(:first-child){margin-top:var(--space-quarter)}.box.large{padding:var(--space-half)}.box.larger{padding:var(--space-default)}.m-top-quarter-on-small{margin-top:var(--space-quarter)}.full-width-on-small{width:100%}.hide-on-small{display:none}.show-on-small{display:initial}}.light-mode .show-in-darkmode,.dark-mode .show-in-lightmode{display:none}.columnsContainer{width:100%}.columns{display:block;margin-right:calc(var(--space-default) * -1)}.columnsContainer.half .columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-default);margin-bottom:var(--space-default);display:inline-block;vertical-align:top}.columnsContainer.half .columns>*{margin-right:var(--space-half);margin-bottom:var(--space-half)}.columns.quarter>*{margin-bottom:var(--space-quarter)!important}.columnsContainer .columns .column{width:calc(100% - var(--space-default))}.columnsContainer.half .columns .column{width:calc(100% - var(--space-half))}.columnsContainer .columns .column.column-1-2{width:calc((100% - (var(--space-default) * 2)) / 2)}.columnsContainer.half .columns .column.column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columnsContainer .columns .column.column-1-3{width:calc((100% - (var(--space-default) * 3)) / 3)}.columnsContainer.half .columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}.columns .column.column-2-3{width:calc((100% - (var(--space-half) * 3)) / 1.5)}.column>*:first-child{margin-top:0}.column>*:last-child{margin-bottom:0}@media (max-width: 768px){.columnsContainer{margin-right:calc(var(--space-half) * -1)}.columnsContainer>*{margin-right:var(--space-half)}.columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-half);margin-bottom:calc(var(--space-half) * 1.5)}.columnsContainer.half .columns>*{margin-bottom:var(--space-quarter)}.columns .column{width:calc(100% - (var(--space-half)))!important}.columns .column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}}button,input[type=checkbox],input[type=radio]{-webkit-user-select:none;user-select:none}input[type=number],input[type=password],input[type=text],textarea{color:var(--color-default);background:var(--background-secondary)}label,dt{color:var(--color-secondary);display:block;font-size:var(--size-default);font-weight:400;line-height:1;margin-bottom:var(--space-quarter)}.labelXLarge{font-size:var(--size-subheader);margin-bottom:calc(var(--space-half) * 1.5);color:var(--color-default)}input:invalid,input:invalid:focus{border-color:var(--color-error)}input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}a[tabindex="0"]:focus,button:focus,input:focus,select:focus,input[type=checkbox]:focus+label:before{outline-color:var(--color-blue);outline-offset:-2px;outline-style:auto;outline-width:4px}@media (max-width: 768px){.labelXLarge{margin-bottom:var(--space-half)}}.checked-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:1;stroke-miterlimit:10;stroke:#7aba7a;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checked{border-radius:50%;stroke:#fff;stroke-miterlimit:10;stroke-width:1!important;box-shadow:inset 0 0 #7aba7a;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checked-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards;stroke:#7aba7a}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.02,1.02,1)}}.caretDown{animation:fadeinout 3s cubic-bezier(.45,.05,.55,.95) infinite;stroke-width:1!important;max-width:26px}.dark-mode .caretDown{fill:#fff}@keyframes fadeinout{0%,to{opacity:1}50%{opacity:.1}} diff --git a/frontends/web/build/assets/index.css b/frontends/web/build/assets/index.css new file mode 100644 index 0000000000..4e92cd673c --- /dev/null +++ b/frontends/web/build/assets/index.css @@ -0,0 +1 @@ +._expandIcon_j17uw_1{stroke:var(--color-gray);width:18px;height:18px}._logo_gbled_1{display:block;margin:0 auto var(--space-default) auto;max-width:160px}._swissOpenSource_gbled_7{max-width:240px!important;width:100%!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:280px!important}@media (max-width: 768px){._swissOpenSource_gbled_7{max-width:180px!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:210px!important}}._point2bitbox02_1vb0x_1{text-align:center}._caret_1vb0x_5{display:block;margin:0 auto}._bitbox02_1vb0x_10{display:inline-block;max-width:264px;position:relative;right:-16px}._overlay_1u8gr_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background:transparent;z-index:4010}._overlay_1u8gr_1._activeOverlay_1u8gr_15{background-color:var(--bg-transparent-dark)}._modal_1u8gr_19{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto}@media (min-width: 1200px){._header_1u8gr_31 ._title_1u8gr_31{--size-subheader: 16px}._modal_1u8gr_19{margin-left:var(--sidebar-width-large)}._modal_1u8gr_19 ._contentContainer_1u8gr_37 p{--size-default: 14px}}._modal_1u8gr_19._small_1u8gr_42{max-width:340px;width:100%}._modal_1u8gr_19._medium_1u8gr_47{max-width:520px;width:100%}._modal_1u8gr_19._large_1u8gr_53{max-width:800px;width:100%}._header_1u8gr_31{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--background)}._header_1u8gr_31._centered_1u8gr_68{justify-content:center}._header_1u8gr_31 ._title_1u8gr_31{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_1u8gr_78{background:none;border:none;padding:0;width:auto!important}._closeButton_1u8gr_78:focus{outline:none}._closeButton_1u8gr_78:disabled{color:var(--color-secondary)}._header_1u8gr_31 ._closeButton_1u8gr_78,._header_1u8gr_31 ._closeButton_1u8gr_78 img{width:18px;height:18px}._contentContainer_1u8gr_37{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_1u8gr_37._slim_1u8gr_105{padding:0}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-default)}._content_1u8gr_37 p{word-break:break-word}._actions_1u8gr_117 button,._actions_1u8gr_117 a,._small_1u8gr_42 ._actions_1u8gr_117 button,._small_1u8gr_42 ._actions_1u8gr_117 a{width:100%}._actions_1u8gr_117>*:not(:last-child),._small_1u8gr_42 ._actions_1u8gr_117>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_1u8gr_117{margin-top:var(--space-quarter)}._confirmationLabel_1u8gr_135{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_1u8gr_144{display:inline-block;position:absolute;left:0}._disabledLabel_1u8gr_150,._disabledLabel_1u8gr_150 span{color:var(--color-light)!important}._noStep_1u8gr_155{padding-left:0}._confirmationInstructions_1u8gr_159{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_1u8gr_159>div{width:50%}._confirmationInstructions_1u8gr_159 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_1u8gr_159._confirm_1u8gr_135{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_1u8gr_179{height:120px;margin-right:var(--space-half)}._modalContent_1u8gr_184 p{font-size:var(--size-default);font-weight:400}._modalContent_1u8gr_184>*:first-child{margin-top:0}._detail_1u8gr_193{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_1u8gr_193:not(:first-child){border-bottom:solid 1px var(--background)}._detail_1u8gr_193 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1u8gr_193 label,._detail_1u8gr_193 p{margin:0;line-height:1}._detail_1u8gr_193._description_1u8gr_217>span{text-align:right}._buttons_1u8gr_221{padding:var(--space-quarter)}._buttons_1u8gr_221 button:first-child{margin-right:10px}._buttons_1u8gr_221 button{width:50%}._dialogButtons_1u8gr_233{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_1u8gr_233>*:only-child{width:100%}@media (min-width: 769px){._closingOverlay_1u8gr_244{display:none}}@media (max-width: 768px){._header_1u8gr_31 ._title_1u8gr_31{font-size:var(--header-default-font-size)}._modal_1u8gr_19{padding:0}._modal_1u8gr_19,._modal_1u8gr_19._small_1u8gr_42,._modal_1u8gr_19._medium_1u8gr_47,._modal_1u8gr_19._large_1u8gr_53{max-width:100vw;height:100vh;transform:translateY(100vh);transition:transform .3s;border-top-right-radius:var(--space-half);border-top-left-radius:var(--space-half)}._modal_1u8gr_19._open_1u8gr_268{transition:transform .3s;transform:translateY(0)}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-half)}}._link_28asd_1{align-items:center;background:none;border:none;color:var(--color-blue);cursor:default;display:flex;flex-direction:row;font-size:var(--size-default);justify-content:flex-start;padding:var(--space-quarter)}._link_28asd_1 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._language_28asd_20{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:var(--item-height);padding:0 var(--space-half);color:var(--color-blue);border:none;background-color:transparent;font-size:var(--size-default)}._language_28asd_20:focus{outline:none}._language_28asd_20._selected_28asd_38{color:var(--color-default)}._language_28asd_20:hover{background-color:var(--background)}._checked_28asd_46{width:18px;height:18px}@media (max-width: 768px){._link_28asd_1{font-size:var(--size-small)}._language_28asd_20{font-size:var(--size-small)!important}}._fullscreen_q1y08_1{background:var(--background);bottom:0;display:flex;flex-grow:1;flex-direction:column;left:0;overflow-x:inherit;overflow-y:auto;position:fixed;right:0;top:0;z-index:5100}.container ._fullscreen_q1y08_1{z-index:5050}._dialog_q1y08_22{background-color:var(--bg-transparent-dark);justify-content:center}._fill_q1y08_28{align-self:center;display:flex;flex-direction:column;flex-grow:1;padding:0 var(--space-default) var(--space-default) var(--space-default);max-width:var(--content-width);width:100%}._inner_q1y08_38{display:flex;flex-direction:column;margin:0 auto;max-width:var(--content-width);padding:var(--space-half) 0;width:100%}._verticallyCentered_q1y08_46 ._inner_q1y08_38{margin-bottom:auto;margin-top:auto}._inner_q1y08_38._fit_q1y08_50{flex-shrink:0;max-height:100%;padding-bottom:0;padding-top:0}._fit_q1y08_50 ._content_q1y08_56{align-items:stretch;display:flex;flex-direction:column}._textCenter_q1y08_61,._text-center_q1y08_62{text-align:center}._text-left_q1y08_65{text-align:left}@media (max-width: 768px){._inner_q1y08_38{flex-grow:1;display:flex;flex-direction:column;margin:0 auto;min-height:auto!important}._inner_q1y08_38._fit_q1y08_50{padding-bottom:var(--space-half);padding-top:2vh}}@media (min-width: 769px){._fullscreen_q1y08_1 ._inner_q1y08_38{padding-left:var(--space-default);padding-right:var(--space-default)}}@media (max-width: 1080px){._inner_q1y08_38{max-width:100%}}@media (min-width: 1200px){._inner_q1y08_38{padding-left:0;padding-right:0}}._dialog_q1y08_22 ._inner_q1y08_38{background-color:var(--background-secondary);box-shadow:0 3px 5px #0000004d;flex-grow:0;max-width:100%;padding-left:0;padding-right:0;width:540px}._header_q1y08_109{color:var(--color-secondary);font-size:var(--size-default);margin-bottom:var(--space-default);word-break:break-word}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-default);padding-top:0;padding-right:var(--space-default)}@media (max-width: 768px){._fill_q1y08_28{padding:0 0 var(--space-default) 0}._header_q1y08_109{padding-left:var(--space-half);padding-top:var(--space-default);padding-right:var(--space-half);margin-bottom:0}._smallHeader_q1y08_130{margin-bottom:var(--space-half);padding-top:var(--space-half)}._fill_q1y08_28 ._header_q1y08_109{padding-top:0}}@media (max-width: 1199px){._header_q1y08_109{padding-top:var(--space-large)}._smallHeader_q1y08_130,._fill_q1y08_28 ._header_q1y08_109{padding-top:0}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-half);padding-top:0;padding-right:var(--space-half)}}._title_q1y08_155{color:var(--color-default);font-size:var(--size-subheader);font-weight:400;margin-bottom:var(--space-half)}._title_q1y08_155 span{display:block}._header_q1y08_109 p{margin-top:var(--space-quarter)}._closeButton_q1y08_169{background:transparent;border:none;color:var(--color-primary);height:var(--header-height);left:0;position:absolute;text-align:center;top:0;width:var(--header-height)}._content_q1y08_56{flex-grow:1;flex-shrink:0;min-height:80px;word-break:break-word}._fit_q1y08_50 ._content_q1y08_56{flex-shrink:1}@media (max-width: 768px){._content_q1y08_56{flex-grow:1;flex-basis:auto;flex-shrink:0;padding:0 var(--space-half)}._content_q1y08_56._fullWidth_q1y08_197{padding:0}}@media (max-width: 1199px){._dialog_q1y08_22 ._content_q1y08_56{padding:0 var(--space-half)}}@media (min-width: 1200px){._content_q1y08_56{min-height:130px}._dialog_q1y08_22 ._content_q1y08_56{padding:var(--space-half) var(--space-default)}}._content_q1y08_56 ._largeIcon_q1y08_215{margin:var(--space-half) auto;max-height:100%;max-width:280px;min-width:80px;width:50%}@media (max-width: 768px){._content_q1y08_56 ._largeIcon_q1y08_215{margin-bottom:var(--space-half);margin-top:var(--space-half);max-width:160px}}._content_q1y08_56 ul{font-size:var(--size-default);line-height:1.625;padding-left:1.4em}._content_q1y08_56 label{color:var(--color-default)}._buttons_q1y08_240{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default);padding-bottom:var(--space-half)}._dialog_q1y08_22 ._buttons_q1y08_240{padding-left:var(--space-default);padding-right:var(--space-default)}@media (max-width: 768px){._buttons_q1y08_240{padding:0 var(--space-half)}}@media (max-width: 768px) and (orientation: portrait){._buttons_q1y08_240{align-items:stretch;flex-direction:column;flex-grow:0;justify-content:flex-end;margin-top:var(--space-half)}._buttons_q1y08_240>*:not(:last-child){margin-bottom:var(--space-half)}}@media (max-width: 1199px){._dialog_q1y08_22 ._buttons_q1y08_240{padding:0 var(--space-half)}}._textCenter_q1y08_61 ._buttons_q1y08_240>*:only-child{justify-self:flex-end;margin:0 auto}@media (min-width: 1200px){._title_q1y08_155{--size-subheader: 28px}._header_q1y08_109,._inner_q1y08_38 p{--size-default: 20px}._fullscreen_q1y08_1{--size-default: 18px}._inner_q1y08_38 footer p{--size-default: 14px}}._footer_q1y08_294{align-items:center;display:flex;flex-direction:row;justify-content:flex-end;margin:var(--space-default) auto 0 auto;max-width:var(--content-width);padding:0;width:100%}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-default) auto;padding:0 var(--space-default)}._footer_q1y08_294 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_q1y08_294 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_q1y08_294{padding:0 var(--space-half);margin:var(--space-half) 0 0 0}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-half) 0}._footer_q1y08_294 p{text-align:right;font-size:var(--size-small)}._footer_q1y08_294 img{width:80px}}._button_b8ew4_1{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:transparent;border-radius:2px;border-style:solid;border-width:1px;cursor:default;display:inline-flex;flex-direction:row;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;justify-content:center;min-width:100px;height:50px;outline:none;padding:0 var(--space-default);position:relative;text-align:center;text-decoration:none;transition:background-color .2s ease-out,color .2s ease-out;will-change:background-color,color}._button_b8ew4_1:hover{cursor:pointer}._button_b8ew4_1:disabled{cursor:not-allowed}._button_b8ew4_1:focus{outline:none}._primary_b8ew4_38{background:var(--color-blue);color:var(--color-alt)}._primary_b8ew4_38:not([disabled]):focus,._primary_b8ew4_38:not([disabled]):hover{background-color:var(--color-lightblue)}._secondary_b8ew4_49{background-color:var(--background-secondary);border-color:var(--background-tertiary);color:var(--color-default)}._secondary_b8ew4_49:not([disabled]):focus,._secondary_b8ew4_49:not([disabled]):hover{border-color:var(--color-blue);color:var(--color-blue)}._secondary_b8ew4_49[disabled]{border-color:var(--background-quaternary);color:var(--color-tertiary)}._danger_b8ew4_67{background-color:var(--color-softred);border-color:var(--color-softred);color:var(--color-alt)}._danger_b8ew4_67:not([disabled]):focus,._danger_b8ew4_67:not([disabled]):hover{background-color:var(--color-lightred);border-color:var(--color-lightred)}._danger_b8ew4_67:focus{outline-color:var(--color-swissred)}._transparent_b8ew4_84{background-color:transparent;border-color:transparent;color:var(--color-blue);display:inline-block;height:auto;min-width:0;padding:var(--space-half)}._transparent_b8ew4_84:not([disabled]):focus,._transparent_b8ew4_84:not([disabled]):hover{color:var(--color-lightblue)}._primary_b8ew4_38[disabled],._danger_b8ew4_67[disabled],._transparent_b8ew4_84[disabled]{opacity:.4}._button_b8ew4_1[hidden]{display:none}@media (max-width: 768px){._button_b8ew4_1{min-width:90px}}._checkbox_1m6k1_1 input{position:absolute;opacity:0}._checkbox_1m6k1_1 input+label{display:inline-block;max-width:100%;padding-left:2em;position:relative}._checkbox_1m6k1_1 input+label:before,._checkbox_1m6k1_1 input+label:after{background:var(--background-secondary);box-sizing:border-box;content:"";display:inline-block;width:1em;height:1em;position:absolute;left:0;vertical-align:top;text-align:center;transition:all .1s ease}._checkbox_1m6k1_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:2px;top:-1px}._success_1m6k1_33 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-success)}._warning_1m6k1_37 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-warning)}._info_1m6k1_41 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-info)}._checkbox_1m6k1_1 input+label:after{background:transparent;border:solid var(--background-secondary);border-width:0px 2px 2px 0;width:.35em;height:.55em;position:absolute;top:3px;left:6px;margin-left:-1px;margin-top:-2px;opacity:0;transform:scale(2) rotate(45deg);transition:opacity .2s ease-out,transform .2s ease-out}._checkbox_1m6k1_1 input:checked+label:before{background-color:var(--color-blue);border-color:var(--color-blue)}._success_1m6k1_33 input:checked+label:before{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-alt)}._warning_1m6k1_37 input:checked+label:before{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-alt)}._info_1m6k1_41 input:checked+label:before{background-color:var(--color-info);border-color:var(--color-info);color:var(--color-alt)}._checkbox_1m6k1_1 input:checked+label:after{opacity:1;transform:scale(1) rotate(37deg)}._checkbox_1m6k1_1 input[type=checkbox]:focus+label:before{border-color:var(--color-blue);outline:none;outline-offset:0}._checkbox_1m6k1_1 input[type=checkbox]:checked:focus+label:before{outline:2px solid var(--color-blue);outline-offset:-1px}:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:focus+label:before,:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:checked:focus+label:before{border-color:transparent;outline:2px solid var(--color-blue);outline-offset:0}._checkbox_1m6k1_1 input[disabled]+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_198i3_1{--size-default: 14px}._radio_198i3_1 input{position:absolute;opacity:0}._radio_198i3_1 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin-right:var(--space-half);padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_198i3_1 input+label:before,._radio_198i3_1 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_198i3_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_198i3_1 input+label:after{background:var(--color-blue);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radio_198i3_1 input:checked+label:before{background-color:var(--background-secondary)}._radio_198i3_1 input:checked+label:after{opacity:1;transform:scale(1)}._radio_198i3_1 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue);outline:none;outline-offset:0}._radio_198i3_1 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue)}._radio_198i3_1 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._field_d2mb0_1{margin-bottom:var(--spacing-default)}._input_1dgl0_1{width:100%;margin-bottom:var(--space-half);position:relative}._input_1dgl0_1 label{display:block;margin:0 0 var(--space-quarter) 0}._align-left_1dgl0_12 label{justify-self:flex-start}._align-right_1dgl0_16 label{flex-grow:1;justify-self:flex-end;text-align:right}._align-right_1dgl0_16 input{text-align:right}._input_1dgl0_1 input{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%;transition:border-color .2s ease-out;will-change:border-color}._input_1dgl0_1 input:focus{border-color:var(--color-blue);outline:none}._input_1dgl0_1 input::placeholder{color:var(--color-secondary)}._input_1dgl0_1 input[disabled]{background-color:var(--background-secondary)!important;border-color:var(--background)!important;color:var(--color-secondary)!important;cursor:not-allowed}._isTransparent_1dgl0_58 input[disabled]{border-color:var(--background);color:var(--color-default)!important;cursor:default}._errorText_1dgl0_64{color:var(--color-softred)!important}._errorText_1dgl0_64>span>span{margin-left:5px}._input_1dgl0_1 input[type=checkbox]{width:auto;height:auto}._label_53nw1_1{text-align:left}._select_yd5xu_1{margin-bottom:var(--space-half);position:relative;width:100%}._select_yd5xu_1 label{display:block;margin-bottom:var(--space-quarter);text-align:left}._select_yd5xu_1 select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:calc(100% - 12px);background-repeat:no-repeat;border:solid 1px var(--background-quaternary);border-radius:2px;color:var(--color-default);font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%}._select_yd5xu_1 select[disabled]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23ccc'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A")}._select_yd5xu_1 option{background-color:var(--background-secondary);color:var(--color-default);padding:var(--spacing-default);width:100%}._select_yd5xu_1 option[disabled]{color:var(--color-disabled)}._message_ncb43_1{border:solid 1px var(--background-quaternary);color:var(--color-secondary);border-radius:2px;padding:var(--spacing-default);margin-bottom:var(--spacing-default);display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-shrink:0;overflow:hidden}._message_ncb43_1._small_ncb43_15{flex-shrink:1;font-size:var(--size-default)}._message_ncb43_1 img{margin-right:var(--spacing-default)}._message_ncb43_1 p:last-child{margin-bottom:0!important}._success_ncb43_28{color:var(--color-success);border-color:var(--color-success)}._info_ncb43_34{color:var(--color-blue);border-color:var(--color-blue)}._warning_ncb43_40{color:var(--color-warning);border-color:var(--color-warning)}._error_ncb43_46{color:var(--color-error);border-color:var(--color-error)}._capsWarning_1xqma_1{color:var(--color-warning);font-weight:700;line-height:42px;position:absolute;right:0;width:2rem}._badge_f2nw5_1{border-radius:var(--space-half);border:1px solid;display:inline-block;font-size:var(--size-small);line-height:14px;padding:var(--space-eight) 10px;white-space:nowrap}._badge_f2nw5_1._iconOnly_f2nw5_11{align-items:center;display:inline-flex;height:18px;justify-content:center;padding:0;width:18px}._badgeIcon_f2nw5_20{max-width:10px}._withChildren_f2nw5_24 ._badgeIcon_f2nw5_20{margin-right:var(--space-eight)}@media (max-width: 382px){._badge_f2nw5_1{font-size:10px}}._success_f2nw5_34{background:var(--color-palegreen);border-color:var(--color-lightgreen);color:var(--color-darkgreen)}._warning_f2nw5_40{background:var(--color-lightyellow);border-color:var(--color-darkyellow);color:var(--color-olive)}._closeButton_1xwfn_1{background:transparent;border:none;display:none;padding:12px;transform:translate(14px)}._closeButton_1xwfn_1:focus{outline:none}._sidebarOverlay_1xwfn_13{position:fixed;background-color:#0000004d;width:100%;height:100%;top:0;left:0;z-index:-1;opacity:0;animation-delay:.2s;transition:opacity ease .2s}._sidebarOverlay_1xwfn_13._active_1xwfn_26{opacity:1;z-index:4001}._sidebar_1xwfn_13{position:fixed;margin-left:calc(var(--sidebar-width-large) * -1);align-content:stretch;background-color:var(--background-dark);display:flex;flex-direction:column;flex-shrink:0;justify-content:flex-start;height:100vh;padding:0 0 var(--spacing-default) 0;width:var(--sidebar-width-large);z-index:4002;overflow-y:auto}._sidebar_1xwfn_13>*._end_1xwfn_47{margin-top:auto;padding-top:var(--sidebar-margin)}._sidebar_1xwfn_13._forceShow_1xwfn_52{margin-left:0}._sidebar_1xwfn_13 ._sidebarLogoContainer_1xwfn_56{align-items:center;display:flex;flex-direction:row;height:70px;justify-content:space-between;padding:calc(var(--spacing-default) + var(--spacing-half)) var(--spacing-large);background-size:cover;background-color:#0000001a;opacity:1;transition:opacity .2s ease}._sidebarLogoContainer_1xwfn_56 img{margin-bottom:0;width:auto!important;height:var(--sidebar-icon-size)!important}._sidebarHeaderContainer_1xwfn_75{margin-top:var(--sidebar-margin);margin-bottom:var(--sidebar-header-size);padding:0 var(--sidebar-margin);display:flex;flex-direction:row;justify-content:space-between;align-items:center}._sidebarPortfolio_1xwfn_85+._sidebarHeaderContainer_1xwfn_75{margin-top:28px}._sidebarHeader_1xwfn_75{font-size:var(--sidebar-header-size);line-height:var(--sidebar-header-line-height);color:var(--color-secondary)}._sidebarIconVisible_1xwfn_95{visibility:visible}._sidebarIconHidden_1xwfn_99{visibility:hidden}._sidebarItem_1xwfn_103{display:block}._sidebarItem_1xwfn_103 a{position:relative;color:#fff;cursor:default;height:var(--sidebar-item-height);text-decoration:none;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;border-radius:2px}._sidebarArrow_1xwfn_121{display:none}._sidebarItem_1xwfn_103 a._sidebarActive_1xwfn_125{text-decoration:none;background-color:#ffffff1a}._activeGroup_1xwfn_130 ._sidebarArrow_1xwfn_121{display:inline;margin-right:var(--sidebar-margin)}._sidebarItem_1xwfn_103 .stacked,._sidebarItem_1xwfn_103 ._single_1xwfn_136{margin:0 var(--sidebar-icon-margin) 0 var(--sidebar-margin);height:var(--sidebar-icon-size)}a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141,._sidebar_1xwfn_13 a:hover ._sidebarLabel_1xwfn_141,._activeGroup_1xwfn_130 ._sidebarLabel_1xwfn_141{color:var(--color-alt)}._sidebar_1xwfn_13 a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141{font-weight:400}a._sidebarActive_1xwfn_125 .stacked img:first-child,._sidebar_1xwfn_13 a:hover .stacked img:first-child{opacity:0}a._sidebarActive_1xwfn_125 .stacked img:last-child,._sidebar_1xwfn_13 a:hover .stacked img:last-child,._activeGroup_1xwfn_130 .stacked img:last-child{opacity:1}._sidebar_1xwfn_13 img{width:var(--sidebar-icon-size);height:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}._single_1xwfn_136 img{opacity:.6;transition:opacity .2s ease}a._sidebarActive_1xwfn_125 ._single_1xwfn_136 img,._sidebar_1xwfn_13 a:hover ._single_1xwfn_136 img{opacity:1}._sidebarLabel_1xwfn_141{color:var(--color-light);line-height:1;flex:1;padding-top:0;padding-right:var(--space-default);font-size:var(--size-default);font-weight:400;transition:all .2s ease;word-break:break-word}._activeGroup_1xwfn_130{background-color:#555}._sidebarSubmenu_1xwfn_197 a svg{width:18px;height:18px;margin-right:var(--sidebar-icon-margin);margin-left:calc(var(--sidebar-margin) + var(--sidebar-icon-margin))}._sidebarArrow_1xwfn_121{width:12px;height:12px}@media (max-width: 1199px){._sidebar_1xwfn_13{transition:margin-left .2s ease}}@media (min-width: 1200px){._sidebarContainer_1xwfn_216:not(._forceHide_1xwfn_216) ._sidebar_1xwfn_13{position:relative;margin-left:0;width:var(--sidebar-width-large)}}@media (max-width: 560px){._closeButton_1xwfn_1{display:block}._sidebar_1xwfn_13{margin-left:-100vw;transition:margin-left .3s ease;width:100vw}}._children_1y42x_1{display:flex;flex-direction:row;align-items:center;margin-bottom:var(--space-quarter)}._children_1y42x_1>a{display:inline-block;height:18px;font-size:var(--size-default);text-decoration:none;font-weight:400}._children_1y42x_1>a>svg{width:18px;height:18px;stroke-width:2}._container_1y42x_22{width:100%}._container_1y42x_22._fixed_1y42x_26{position:fixed;left:var(--sidebar-width);height:var(--header-height);width:calc(100% - var(--sidebar-width));z-index:1001}._disabled_1y42x_34{opacity:.4}._forceHidden_1y42x_38 ._sidebarToggler_1y42x_38{display:none!important}._guideIcon_1y42x_42{font-size:var(--size-default);text-decoration:none;display:flex;flex-direction:row;align-items:center}._guideIcon_1y42x_42 img{width:18px;height:18px;color:var(--color-blue);margin-right:calc(var(--space-quarter) / 2)}._guideIconContainer_1y42x_57{height:18px;margin-left:var(--space-half)}._header_1y42x_62{padding:0 var(--space-default);max-width:var(--content-width);min-height:var(--header-height);width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex:none;margin:0 auto;flex-wrap:wrap}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2){text-align:center}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2)>*{max-width:600px;width:100%}._sidebarToggler_1y42x_38{width:32px;height:32px;margin-bottom:var(--space-quarter);margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._sidebarToggler_1y42x_38 img{width:20px}._title_1y42x_99{white-space:nowrap;flex-grow:1;margin-bottom:var(--space-quarter);padding-right:var(--space-half)}._title_1y42x_99>*{margin:0;font-size:var(--header-default-font-size);font-weight:400;line-height:1;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}@media (max-width: 768px){._header_1y42x_62{padding:var(--space-half)}._sidebarToggler_1y42x_38._hideSidebarToggler_1y42x_120{display:none}._container_1y42x_22 ._sidebarToggler_1y42x_38{margin-right:0}}@media (min-width: 1200px){._sidebarToggler_1y42x_38{display:none}}._main_1ntet_1{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;overflow-x:inherit;overflow-y:auto;position:relative}._columnAsCard_1rob5_1{background-color:var(--background-secondary);padding:var(--space-default)}._column_1rob5_1 p{margin-top:0}._columnButtons_1rob5_10:not(._columnButtonsInline_1rob5_10) button{width:100%}._columnButtons_1rob5_10 button:not(:first-child){margin-top:var(--space-quarter)}._columnButtonsInline_1rob5_10{display:flex;flex-direction:row-reverse}._columnButtonsInline_1rob5_10>a:not(:first-child),._columnButtonsInline_1rob5_10>button:not(:first-child){margin-right:var(--space-half);margin-top:0}._left_1rob5_29{text-align:left}._center_1rob5_33{text-align:center}@media (max-width: 768px){._columnAsCard_1rob5_1{padding:var(--space-half)}._columnAsCard_1rob5_1+._columnAsCard_1rob5_1{margin-top:var(--space-default)}}@media (min-width: 769px){._grid_1rob5_47{display:grid;gap:var(--space-default);grid-auto-rows:minmax(100px,auto)}._grid-columns-1_1rob5_53{grid-template-columns:repeat(1,1fr)}._grid-columns-2_1rob5_56{grid-template-columns:repeat(2,1fr)}._column_1rob5_1{display:flex;flex-direction:column}._columnButtons_1rob5_10{margin-top:auto}}._footer_19w3c_1{max-width:var(--content-width);width:100%;padding:0 var(--space-default);margin:var(--space-default) auto}._footer_19w3c_1 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_19w3c_1 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_19w3c_1{padding:0 var(--space-half);margin:var(--space-half) 0}._footer_19w3c_1 p{text-align:right;font-size:var(--size-small)}._footer_19w3c_1 img{width:80px}}._contentWithGuide_1gscs_1{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}._container_1gscs_8{display:flex;flex:1 1 auto;flex-direction:column;overflow:auto;position:relative;width:100%}:root{--icon-size: 10px;--icon-size-small: 8px}._steps_1l429_6{align-items:flex-start;display:inline-flex;flex-shrink:0;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--space-half);overflow:hidden;position:relative;width:100%}._step_1l429_6{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative;text-align:left}._dot_1l429_38{display:inline-block;margin-bottom:var(--space-quarter);min-height:var(--icon-size)}._dot_1l429_38:before{background:var(--color-primary);border:4px solid var(--background-secondary);border-radius:50%;content:"";display:inline-block;flex-shrink:0;font-size:14px;height:var(--icon-size);line-height:var(--icon-size);position:relative;text-align:center;transition:background-color .3s,border-color .3s;vertical-align:top;width:var(--icon-size);z-index:13}._dot_1l429_38:after{border-top:5px solid var(--background-secondary);content:"";position:absolute;top:6px;right:50%;width:100vw;z-index:12}._line_1l429_72 ._dot_1l429_38:after{z-index:1}._finish_1l429_76 ._dot_1l429_38:before{height:var(--icon-size-small);width:var(--icon-size-small)}._wait_1l429_81{color:var(--color-tertiary)}._finish_1l429_76 ._dot_1l429_38:before,._wait_1l429_81 ._dot_1l429_38:before{margin-top:1px}._wait_1l429_81 ._dot_1l429_38:before{background:var(--background-quaternary);height:var(--icon-size-small);width:var(--icon-size-small)}._finish_1l429_76._line_1l429_72 ._dot_1l429_38:after,._process_1l429_97._line_1l429_72 ._dot_1l429_38:after{border-color:var(--color-primary);border-top-width:3px;z-index:11;top:7px}._wait_1l429_81._line_1l429_72 ._dot_1l429_38:after{border-color:var(--background-quaternary);border-top-width:3px;top:7px}._content_1l429_110{font-size:var(--size-small);line-height:1;margin:0;min-width:90px;position:relative;text-align:center;width:min-content;white-space:nowrap}._link_1o1mh_1{color:var(--color-blue);cursor:pointer;text-decoration:underline}._link_1o1mh_1:focus{outline:1px solid var(--color-blue);text-decoration:none}._overlay_14an4_1{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000004d;z-index:-1;opacity:0;transition:opacity ease .2s}._close_14an4_13{color:var(--color-alt);font-size:var(--size-default)!important;text-decoration:none;display:flex;flex-direction:row;align-items:center;line-height:1}._close_14an4_13 img{width:18px;height:18px;margin-left:calc(var(--space-quarter) / 2)}._wrapper_14an4_29{position:relative}._guide_14an4_33{margin-right:calc(var(--guide-width) * -1);height:100vh;width:var(--guide-width);color:#fff;background-color:var(--color-lightblue);overflow-y:auto;transition:margin-right .2s ease,transform .2s ease;will-change:margin-right,transform}._header_14an4_44{margin-bottom:var(--space-default);height:var(--header-height);padding:0 var(--space-default);background-color:var(--color-blue)}._header_14an4_44 h2{margin:0;font-size:var(--header-default-font-size);font-weight:400}._header_14an4_44 a{cursor:pointer;font-size:20px}._content_14an4_62{padding:0 var(--space-default)}._content_14an4_62 h1{margin-top:0;font-size:1.5em}._content_14an4_62 h2{margin:0;font-size:1.1em;line-height:1.2em;font-weight:400}._guide_14an4_33 p{margin:.4em 0;font-size:var(--size-default)}._show_14an4_83{margin-right:0}._entry_14an4_87{margin-top:var(--space-default)}._entryTitle_14an4_91{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;cursor:default}._entryTitle_14an4_91 ._entryToggle_14an4_99{width:16px;line-height:1.2em;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;font-weight:700}._entryTitle_14an4_91 ._entryTitleText_14an4_109{flex:1}._entryContent_14an4_113{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;padding-left:16px}._expanded_14an4_121{flex-basis:0}._link_14an4_125{color:inherit;text-decoration:underline}._link_14an4_125:focus{outline-color:inherit}@media (max-width: 1348px){._guideWrapper_14an4_135{width:calc((((100% - var(--sidebar-width-large)) - var(--content-width)) / 2) + 18px + var(--space-default))}}@media screen and (max-width: 1601px){._overlay_14an4_1._show_14an4_83{opacity:1}._guide_14an4_33{position:fixed;margin-right:0;top:0;right:0;width:100%;max-width:460px;opacity:0;z-index:-10;transform:translate(100%);transition-delay:.2s}._show_14an4_83{opacity:1;z-index:4002}._guide_14an4_33._show_14an4_83{transform:translate(0)}}@media (max-width: 768px){._guideWrapper_14an4_135{position:fixed;top:0;right:0;width:calc(var(--space-half) + 18px)}._header_14an4_44,._content_14an4_62{padding-left:var(--space-half);padding-right:var(--space-half)}}@media screen and (max-width: 640px){._guide_14an4_33 h2{font-size:1.05em}}._manageContainer_1n5md_1{flex-basis:490px;flex-shrink:1;margin-bottom:var(--header-height);min-height:390px;max-height:100%}._title_1n5md_9{font-size:var(--size-large);font-weight:400}._successCheck_1n5md_14{background-color:var(--color-success);border:.5rem solid var(--color-success);border-radius:100px}._successMessage_1n5md_20{color:var(--color-secondary)}._successMessage_1n5md_20 strong{color:var(--color-default)}._spinnerContainer_rthjr_1{position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--background-secondary);z-index:2000;display:flex;flex-direction:column;justify-content:center;align-items:center;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}._spinner_rthjr_1{display:inline-block;position:relative;width:64px;height:64px}._spinnerText_rthjr_24{margin:0}._spinner_rthjr_1 div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:var(--color-blue);animation-timing-function:cubic-bezier(0,1,1,0)}._spinner_rthjr_1 div:nth-child(1){left:6px;animation:_spinner1_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(2){left:6px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(3){left:26px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(4){left:45px;animation:_spinner3_rthjr_1 .6s infinite}._horizontallyCentered_rthjr_59{left:50%;position:absolute;transform:translate(-50%)}@keyframes _spinner1_rthjr_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _spinner3_rthjr_1{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes _spinner2_rthjr_1{0%{transform:translate(0)}to{transform:translate(19px)}}._overlay_rthjr_81{position:absolute;top:0;bottom:0;left:0;right:0;background:var(--background-secondary);animation:_fadein_rthjr_1 .3s;opacity:0}@keyframes _fadein_rthjr_1{0%{opacity:1}66%{opacity:1}to{opacity:0}}._togglersContainer_rthjr_98{position:fixed;top:calc((var(--header-height) - 32px) / 2);max-width:var(--content-width);width:100%;padding:0 var(--space-default);z-index:1;display:flex;flex-direction:row;justify-content:space-between;align-items:center}._guideToggler_rthjr_111{display:flex;flex-direction:row;align-items:center;height:32px;color:var(--color-primary);font-size:var(--size-default);cursor:default}._guideToggler_rthjr_111 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._toggler_rthjr_98{width:32px;height:32px;margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._toggler_rthjr_98 img{width:20px}@media (min-width: 1200px){._togglersContainer_rthjr_98{flex-direction:row-reverse}._togglerContainer_rthjr_145{display:none}}@media (max-width: 768px){._togglersContainer_rthjr_98{padding:0 var(--space-half)}}._disclaimerContainer_5gxwf_1{align-items:center;display:flex;flex-basis:100%;flex-direction:column;flex-grow:0;flex-shrink:1;justify-content:center;margin:0 auto;overflow:auto;padding:0 var(--space-half) var(--header-height) var(--space-half);width:100%}._title_5gxwf_15{font-size:2rem;font-weight:400;text-align:center}._disclaimer_5gxwf_1{background-color:var(--background-secondary);flex-basis:100%;font-family:var(--font-family);flex-grow:0;flex-shrink:1;margin:var(--space-default) 0;max-width:660px;overflow:auto;padding:var(--space-quarter) 1em 1em 1em}._disclaimer_5gxwf_1::-webkit-scrollbar-track{background-color:#fff}._disclaimer_5gxwf_1 ._title_5gxwf_15{font-size:.875rem;font-weight:700;text-align:left}._disclaimer_5gxwf_1 p{font-size:.875rem;line-height:1.5}._disclaimer_5gxwf_1 p+._title_5gxwf_15{margin:2.5rem 0 0}._table_5gxwf_52{overflow:auto}._table_5gxwf_52 table{border-collapse:collapse;font-size:.875rem;text-align:left}._table_5gxwf_52 td,._table_5gxwf_52 th{padding:var(--spacing-half);vertical-align:top}._table_5gxwf_52 td{border-top:1px solid var(--color-mediumgray)}._table_5gxwf_52 td:not(:last-child),._table_5gxwf_52 th:not(:last-child){padding-left:0}._nowrap_5gxwf_77{white-space:nowrap}._container_yg57j_1{display:flex;flex-basis:100%;flex-grow:0;flex-shrink:1;flex-direction:column;overflow:hidden;position:relative}._iframe_yg57j_12{max-width:100%;position:relative;z-index:3000}._header_yg57j_18{position:relative;z-index:2200}._balance_17xkv_1,._balanceSingleValue_17xkv_1{color:var(--color-secondary);margin-left:auto;text-transform:uppercase}._balanceSingleValue_17xkv_1{margin-right:var(--space-quarter)}._dropdown_17xkv_11{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_17xkv_20{margin-bottom:var(--space-half)}._select_17xkv_20 .react-select__menu,._select_17xkv_20 .react-select__option{background-color:var(--background-secondary)}._select_17xkv_20 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_17xkv_20 .react-select__option--is-selected,._select_17xkv_20 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled span{color:var(--color-secondary)}._select_17xkv_20 .react-select__option--is-disabled.react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled:hover{background-color:transparent}._select_17xkv_20 .react-select__option--is-selected ._balance_17xkv_1{color:var(--color-default)}._select_17xkv_20 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_17xkv_20 .react-select__single-value{width:100%}._selectLabelText_17xkv_66{margin-left:6px}._singleValueContainer_17xkv_70{align-items:center;display:flex;left:var(--space-quarter);position:absolute;width:100%}._valueContainer_17xkv_78{align-items:center;color:var(--color-default);display:flex}._select_17xkv_20 .react-select__option--is-selected ._selectLabelText_17xkv_66{color:var(--color-default)}._valueContainer_17xkv_78>img{width:20px;height:20px}._button_1riw8_1{border-width:0;display:flex;padding:0}._button_1riw8_1 img{width:18px;height:18px}._button_1riw8_1 span{width:96px;margin-left:var(--space-eight)}.fib,.fi{background-size:contain;background-position:50%;background-repeat:no-repeat}.fi{position:relative;display:inline-block;width:1.333333em;line-height:1em}.fi:before{content:" "}.fi.fis{width:1em}.fi-xx{background-image:url(./xx2.svg)}.fi-xx.fis{background-image:url(./xx.svg)}.fi-ad{background-image:url(./ad.svg)}.fi-ad.fis{background-image:url(./ad2.svg)}.fi-ae{background-image:url(./ae2.svg)}.fi-ae.fis{background-image:url(./ae.svg)}.fi-af{background-image:url(./af.svg)}.fi-af.fis{background-image:url(./af2.svg)}.fi-ag{background-image:url(./ag.svg)}.fi-ag.fis{background-image:url(./ag2.svg)}.fi-ai{background-image:url(./ai.svg)}.fi-ai.fis{background-image:url(./ai2.svg)}.fi-al{background-image:url(./al.svg)}.fi-al.fis{background-image:url(./al2.svg)}.fi-am{background-image:url(./am2.svg)}.fi-am.fis{background-image:url(./am.svg)}.fi-ao{background-image:url(./ao.svg)}.fi-ao.fis{background-image:url(./ao2.svg)}.fi-aq{background-image:url(./aq.svg)}.fi-aq.fis{background-image:url(./aq2.svg)}.fi-ar{background-image:url(./ar.svg)}.fi-ar.fis{background-image:url(./ar2.svg)}.fi-as{background-image:url(./as.svg)}.fi-as.fis{background-image:url(./as2.svg)}.fi-at{background-image:url(./at2.svg)}.fi-at.fis{background-image:url(./at.svg)}.fi-au{background-image:url(./au.svg)}.fi-au.fis{background-image:url(./au2.svg)}.fi-aw{background-image:url(./aw.svg)}.fi-aw.fis{background-image:url(./aw2.svg)}.fi-ax{background-image:url(./ax.svg)}.fi-ax.fis{background-image:url(./ax2.svg)}.fi-az{background-image:url(./az.svg)}.fi-az.fis{background-image:url(./az2.svg)}.fi-ba{background-image:url(./ba.svg)}.fi-ba.fis{background-image:url(./ba2.svg)}.fi-bb{background-image:url(./bb.svg)}.fi-bb.fis{background-image:url(./bb2.svg)}.fi-bd{background-image:url(./bd.svg)}.fi-bd.fis{background-image:url(./bd2.svg)}.fi-be{background-image:url(./be.svg)}.fi-be.fis{background-image:url(./be2.svg)}.fi-bf{background-image:url(./bf.svg)}.fi-bf.fis{background-image:url(./bf2.svg)}.fi-bg{background-image:url(./bg.svg)}.fi-bg.fis{background-image:url(./bg2.svg)}.fi-bh{background-image:url(./bh.svg)}.fi-bh.fis{background-image:url(./bh2.svg)}.fi-bi{background-image:url(./bi.svg)}.fi-bi.fis{background-image:url(./bi2.svg)}.fi-bj{background-image:url(./bj.svg)}.fi-bj.fis{background-image:url(./bj2.svg)}.fi-bl{background-image:url(./bl.svg)}.fi-bl.fis{background-image:url(./bl2.svg)}.fi-bm{background-image:url(./bm.svg)}.fi-bm.fis{background-image:url(./bm2.svg)}.fi-bn{background-image:url(./bn2.svg)}.fi-bn.fis{background-image:url(./bn.svg)}.fi-bo{background-image:url(./bo.svg)}.fi-bo.fis{background-image:url(./bo2.svg)}.fi-bq{background-image:url(./bq2.svg)}.fi-bq.fis{background-image:url(./bq.svg)}.fi-br{background-image:url(./br.svg)}.fi-br.fis{background-image:url(./br2.svg)}.fi-bs{background-image:url(./bs.svg)}.fi-bs.fis{background-image:url(./bs2.svg)}.fi-bt{background-image:url(./bt2.svg)}.fi-bt.fis{background-image:url(./bt.svg)}.fi-bv{background-image:url(./bv.svg)}.fi-bv.fis{background-image:url(./bv2.svg)}.fi-bw{background-image:url(./bw.svg)}.fi-bw.fis{background-image:url(./bw2.svg)}.fi-by{background-image:url(./by.svg)}.fi-by.fis{background-image:url(./by2.svg)}.fi-bz{background-image:url(./bz.svg)}.fi-bz.fis{background-image:url(./bz2.svg)}.fi-ca{background-image:url(./ca.svg)}.fi-ca.fis{background-image:url(./ca2.svg)}.fi-cc{background-image:url(./cc.svg)}.fi-cc.fis{background-image:url(./cc2.svg)}.fi-cd{background-image:url(./cd.svg)}.fi-cd.fis{background-image:url(./cd2.svg)}.fi-cf{background-image:url(./cf.svg)}.fi-cf.fis{background-image:url(./cf2.svg)}.fi-cg{background-image:url(./cg.svg)}.fi-cg.fis{background-image:url(./cg2.svg)}.fi-ch{background-image:url(./ch.svg)}.fi-ch.fis{background-image:url(./ch2.svg)}.fi-ci{background-image:url(./ci.svg)}.fi-ci.fis{background-image:url(./ci2.svg)}.fi-ck{background-image:url(./ck.svg)}.fi-ck.fis{background-image:url(./ck2.svg)}.fi-cl{background-image:url(./cl.svg)}.fi-cl.fis{background-image:url(./cl2.svg)}.fi-cm{background-image:url(./cm.svg)}.fi-cm.fis{background-image:url(./cm2.svg)}.fi-cn{background-image:url(./cn.svg)}.fi-cn.fis{background-image:url(./cn2.svg)}.fi-co{background-image:url(./co.svg)}.fi-co.fis{background-image:url(./co2.svg)}.fi-cr{background-image:url(./cr2.svg)}.fi-cr.fis{background-image:url(./cr.svg)}.fi-cu{background-image:url(./cu.svg)}.fi-cu.fis{background-image:url(./cu2.svg)}.fi-cv{background-image:url(./cv.svg)}.fi-cv.fis{background-image:url(./cv2.svg)}.fi-cw{background-image:url(./cw.svg)}.fi-cw.fis{background-image:url(./cw2.svg)}.fi-cx{background-image:url(./cx.svg)}.fi-cx.fis{background-image:url(./cx2.svg)}.fi-cy{background-image:url(./cy.svg)}.fi-cy.fis{background-image:url(./cy2.svg)}.fi-cz{background-image:url(./cz.svg)}.fi-cz.fis{background-image:url(./cz2.svg)}.fi-de{background-image:url(./de.svg)}.fi-de.fis{background-image:url(./de2.svg)}.fi-dj{background-image:url(./dj.svg)}.fi-dj.fis{background-image:url(./dj2.svg)}.fi-dk{background-image:url(./dk.svg)}.fi-dk.fis{background-image:url(./dk2.svg)}.fi-dm{background-image:url(./dm.svg)}.fi-dm.fis{background-image:url(./dm2.svg)}.fi-do{background-image:url(./do.svg)}.fi-do.fis{background-image:url(./do2.svg)}.fi-dz{background-image:url(./dz2.svg)}.fi-dz.fis{background-image:url(./dz.svg)}.fi-ec{background-image:url(./ec.svg)}.fi-ec.fis{background-image:url(./ec2.svg)}.fi-ee{background-image:url(./ee.svg)}.fi-ee.fis{background-image:url(./ee2.svg)}.fi-eg{background-image:url(./eg.svg)}.fi-eg.fis{background-image:url(./eg2.svg)}.fi-eh{background-image:url(./eh.svg)}.fi-eh.fis{background-image:url(./eh2.svg)}.fi-er{background-image:url(./er.svg)}.fi-er.fis{background-image:url(./er2.svg)}.fi-es{background-image:url(./es.svg)}.fi-es.fis{background-image:url(./es2.svg)}.fi-et{background-image:url(./et2.svg)}.fi-et.fis{background-image:url(./et.svg)}.fi-fi{background-image:url(./fi.svg)}.fi-fi.fis{background-image:url(./fi2.svg)}.fi-fj{background-image:url(./fj.svg)}.fi-fj.fis{background-image:url(./fj2.svg)}.fi-fk{background-image:url(./fk.svg)}.fi-fk.fis{background-image:url(./fk2.svg)}.fi-fm{background-image:url(./fm2.svg)}.fi-fm.fis{background-image:url(./fm.svg)}.fi-fo{background-image:url(./fo2.svg)}.fi-fo.fis{background-image:url(./fo.svg)}.fi-fr{background-image:url(./fr2.svg)}.fi-fr.fis{background-image:url(./fr.svg)}.fi-ga{background-image:url(./ga2.svg)}.fi-ga.fis{background-image:url(./ga.svg)}.fi-gb{background-image:url(./gb.svg)}.fi-gb.fis{background-image:url(./gb2.svg)}.fi-gd{background-image:url(./gd2.svg)}.fi-gd.fis{background-image:url(./gd.svg)}.fi-ge{background-image:url(./ge.svg)}.fi-ge.fis{background-image:url(./ge2.svg)}.fi-gf{background-image:url(./gf.svg)}.fi-gf.fis{background-image:url(./gf2.svg)}.fi-gg{background-image:url(./gg2.svg)}.fi-gg.fis{background-image:url(./gg.svg)}.fi-gh{background-image:url(./gh.svg)}.fi-gh.fis{background-image:url(./gh2.svg)}.fi-gi{background-image:url(./gi.svg)}.fi-gi.fis{background-image:url(./gi2.svg)}.fi-gl{background-image:url(./gl2.svg)}.fi-gl.fis{background-image:url(./gl.svg)}.fi-gm{background-image:url(./gm2.svg)}.fi-gm.fis{background-image:url(./gm.svg)}.fi-gn{background-image:url(./gn.svg)}.fi-gn.fis{background-image:url(./gn2.svg)}.fi-gp{background-image:url(./gp2.svg)}.fi-gp.fis{background-image:url(./gp.svg)}.fi-gq{background-image:url(./gq.svg)}.fi-gq.fis{background-image:url(./gq2.svg)}.fi-gr{background-image:url(./gr2.svg)}.fi-gr.fis{background-image:url(./gr.svg)}.fi-gs{background-image:url(./gs.svg)}.fi-gs.fis{background-image:url(./gs2.svg)}.fi-gt{background-image:url(./gt2.svg)}.fi-gt.fis{background-image:url(./gt.svg)}.fi-gu{background-image:url(./gu.svg)}.fi-gu.fis{background-image:url(./gu2.svg)}.fi-gw{background-image:url(./gw.svg)}.fi-gw.fis{background-image:url(./gw2.svg)}.fi-gy{background-image:url(./gy.svg)}.fi-gy.fis{background-image:url(./gy2.svg)}.fi-hk{background-image:url(./hk.svg)}.fi-hk.fis{background-image:url(./hk2.svg)}.fi-hm{background-image:url(./hm.svg)}.fi-hm.fis{background-image:url(./hm2.svg)}.fi-hn{background-image:url(./hn.svg)}.fi-hn.fis{background-image:url(./hn2.svg)}.fi-hr{background-image:url(./hr2.svg)}.fi-hr.fis{background-image:url(./hr.svg)}.fi-ht{background-image:url(./ht2.svg)}.fi-ht.fis{background-image:url(./ht.svg)}.fi-hu{background-image:url(./hu.svg)}.fi-hu.fis{background-image:url(./hu2.svg)}.fi-id{background-image:url(./id.svg)}.fi-id.fis{background-image:url(./id2.svg)}.fi-ie{background-image:url(./ie.svg)}.fi-ie.fis{background-image:url(./ie2.svg)}.fi-il{background-image:url(./il2.svg)}.fi-il.fis{background-image:url(./il.svg)}.fi-im{background-image:url(./im.svg)}.fi-im.fis{background-image:url(./im2.svg)}.fi-in{background-image:url(./in2.svg)}.fi-in.fis{background-image:url(./in.svg)}.fi-io{background-image:url(./io2.svg)}.fi-io.fis{background-image:url(./io.svg)}.fi-iq{background-image:url(./iq.svg)}.fi-iq.fis{background-image:url(./iq2.svg)}.fi-ir{background-image:url(./ir.svg)}.fi-ir.fis{background-image:url(./ir2.svg)}.fi-is{background-image:url(./is.svg)}.fi-is.fis{background-image:url(./is2.svg)}.fi-it{background-image:url(./it.svg)}.fi-it.fis{background-image:url(./it2.svg)}.fi-je{background-image:url(./je.svg)}.fi-je.fis{background-image:url(./je2.svg)}.fi-jm{background-image:url(./jm.svg)}.fi-jm.fis{background-image:url(./jm2.svg)}.fi-jo{background-image:url(./jo.svg)}.fi-jo.fis{background-image:url(./jo2.svg)}.fi-jp{background-image:url(./jp.svg)}.fi-jp.fis{background-image:url(./jp2.svg)}.fi-ke{background-image:url(./ke.svg)}.fi-ke.fis{background-image:url(./ke2.svg)}.fi-kg{background-image:url(./kg.svg)}.fi-kg.fis{background-image:url(./kg2.svg)}.fi-kh{background-image:url(./kh2.svg)}.fi-kh.fis{background-image:url(./kh.svg)}.fi-ki{background-image:url(./ki.svg)}.fi-ki.fis{background-image:url(./ki2.svg)}.fi-km{background-image:url(./km.svg)}.fi-km.fis{background-image:url(./km2.svg)}.fi-kn{background-image:url(./kn.svg)}.fi-kn.fis{background-image:url(./kn2.svg)}.fi-kp{background-image:url(./kp2.svg)}.fi-kp.fis{background-image:url(./kp.svg)}.fi-kr{background-image:url(./kr.svg)}.fi-kr.fis{background-image:url(./kr2.svg)}.fi-kw{background-image:url(./kw2.svg)}.fi-kw.fis{background-image:url(./kw.svg)}.fi-ky{background-image:url(./ky.svg)}.fi-ky.fis{background-image:url(./ky2.svg)}.fi-kz{background-image:url(./kz.svg)}.fi-kz.fis{background-image:url(./kz2.svg)}.fi-la{background-image:url(./la.svg)}.fi-la.fis{background-image:url(./la2.svg)}.fi-lb{background-image:url(./lb.svg)}.fi-lb.fis{background-image:url(./lb2.svg)}.fi-lc{background-image:url(./lc.svg)}.fi-lc.fis{background-image:url(./lc2.svg)}.fi-li{background-image:url(./li2.svg)}.fi-li.fis{background-image:url(./li.svg)}.fi-lk{background-image:url(./lk.svg)}.fi-lk.fis{background-image:url(./lk2.svg)}.fi-lr{background-image:url(./lr2.svg)}.fi-lr.fis{background-image:url(./lr.svg)}.fi-ls{background-image:url(./ls.svg)}.fi-ls.fis{background-image:url(./ls2.svg)}.fi-lt{background-image:url(./lt.svg)}.fi-lt.fis{background-image:url(./lt2.svg)}.fi-lu{background-image:url(./lu.svg)}.fi-lu.fis{background-image:url(./lu2.svg)}.fi-lv{background-image:url(./lv.svg)}.fi-lv.fis{background-image:url(./lv2.svg)}.fi-ly{background-image:url(./ly.svg)}.fi-ly.fis{background-image:url(./ly2.svg)}.fi-ma{background-image:url(./ma.svg)}.fi-ma.fis{background-image:url(./ma2.svg)}.fi-mc{background-image:url(./mc.svg)}.fi-mc.fis{background-image:url(./mc2.svg)}.fi-md{background-image:url(./md.svg)}.fi-md.fis{background-image:url(./md2.svg)}.fi-me{background-image:url(./me.svg)}.fi-me.fis{background-image:url(./me2.svg)}.fi-mf{background-image:url(./mf.svg)}.fi-mf.fis{background-image:url(./mf2.svg)}.fi-mg{background-image:url(./mg2.svg)}.fi-mg.fis{background-image:url(./mg.svg)}.fi-mh{background-image:url(./mh.svg)}.fi-mh.fis{background-image:url(./mh2.svg)}.fi-mk{background-image:url(./mk.svg)}.fi-mk.fis{background-image:url(./mk2.svg)}.fi-ml{background-image:url(./ml.svg)}.fi-ml.fis{background-image:url(./ml2.svg)}.fi-mm{background-image:url(./mm.svg)}.fi-mm.fis{background-image:url(./mm2.svg)}.fi-mn{background-image:url(./mn.svg)}.fi-mn.fis{background-image:url(./mn2.svg)}.fi-mo{background-image:url(./mo.svg)}.fi-mo.fis{background-image:url(./mo2.svg)}.fi-mp{background-image:url(./mp.svg)}.fi-mp.fis{background-image:url(./mp2.svg)}.fi-mq{background-image:url(./mq2.svg)}.fi-mq.fis{background-image:url(./mq.svg)}.fi-mr{background-image:url(./mr.svg)}.fi-mr.fis{background-image:url(./mr2.svg)}.fi-ms{background-image:url(./ms.svg)}.fi-ms.fis{background-image:url(./ms2.svg)}.fi-mt{background-image:url(./mt.svg)}.fi-mt.fis{background-image:url(./mt2.svg)}.fi-mu{background-image:url(./mu.svg)}.fi-mu.fis{background-image:url(./mu2.svg)}.fi-mv{background-image:url(./mv.svg)}.fi-mv.fis{background-image:url(./mv2.svg)}.fi-mw{background-image:url(./mw.svg)}.fi-mw.fis{background-image:url(./mw2.svg)}.fi-mx{background-image:url(./mx.svg)}.fi-mx.fis{background-image:url(./mx2.svg)}.fi-my{background-image:url(./my.svg)}.fi-my.fis{background-image:url(./my2.svg)}.fi-mz{background-image:url(./mz2.svg)}.fi-mz.fis{background-image:url(./mz.svg)}.fi-na{background-image:url(./na.svg)}.fi-na.fis{background-image:url(./na2.svg)}.fi-nc{background-image:url(./nc.svg)}.fi-nc.fis{background-image:url(./nc2.svg)}.fi-ne{background-image:url(./ne.svg)}.fi-ne.fis{background-image:url(./ne2.svg)}.fi-nf{background-image:url(./nf.svg)}.fi-nf.fis{background-image:url(./nf2.svg)}.fi-ng{background-image:url(./ng2.svg)}.fi-ng.fis{background-image:url(./ng.svg)}.fi-ni{background-image:url(./ni.svg)}.fi-ni.fis{background-image:url(./ni2.svg)}.fi-nl{background-image:url(./nl.svg)}.fi-nl.fis{background-image:url(./nl2.svg)}.fi-no{background-image:url(./no.svg)}.fi-no.fis{background-image:url(./no2.svg)}.fi-np{background-image:url(./np.svg)}.fi-np.fis{background-image:url(./np2.svg)}.fi-nr{background-image:url(./nr.svg)}.fi-nr.fis{background-image:url(./nr2.svg)}.fi-nu{background-image:url(./nu.svg)}.fi-nu.fis{background-image:url(./nu2.svg)}.fi-nz{background-image:url(./nz.svg)}.fi-nz.fis{background-image:url(./nz2.svg)}.fi-om{background-image:url(./om.svg)}.fi-om.fis{background-image:url(./om2.svg)}.fi-pa{background-image:url(./pa.svg)}.fi-pa.fis{background-image:url(./pa2.svg)}.fi-pe{background-image:url(./pe.svg)}.fi-pe.fis{background-image:url(./pe2.svg)}.fi-pf{background-image:url(./pf2.svg)}.fi-pf.fis{background-image:url(./pf.svg)}.fi-pg{background-image:url(./pg.svg)}.fi-pg.fis{background-image:url(./pg2.svg)}.fi-ph{background-image:url(./ph.svg)}.fi-ph.fis{background-image:url(./ph2.svg)}.fi-pk{background-image:url(./pk.svg)}.fi-pk.fis{background-image:url(./pk2.svg)}.fi-pl{background-image:url(./pl.svg)}.fi-pl.fis{background-image:url(./pl2.svg)}.fi-pm{background-image:url(./pm2.svg)}.fi-pm.fis{background-image:url(./pm.svg)}.fi-pn{background-image:url(./pn.svg)}.fi-pn.fis{background-image:url(./pn2.svg)}.fi-pr{background-image:url(./pr2.svg)}.fi-pr.fis{background-image:url(./pr.svg)}.fi-ps{background-image:url(./ps.svg)}.fi-ps.fis{background-image:url(./ps2.svg)}.fi-pt{background-image:url(./pt.svg)}.fi-pt.fis{background-image:url(./pt2.svg)}.fi-pw{background-image:url(./pw.svg)}.fi-pw.fis{background-image:url(./pw2.svg)}.fi-py{background-image:url(./py2.svg)}.fi-py.fis{background-image:url(./py.svg)}.fi-qa{background-image:url(./qa.svg)}.fi-qa.fis{background-image:url(./qa2.svg)}.fi-re{background-image:url(./re.svg)}.fi-re.fis{background-image:url(./re2.svg)}.fi-ro{background-image:url(./ro.svg)}.fi-ro.fis{background-image:url(./ro2.svg)}.fi-rs{background-image:url(./rs.svg)}.fi-rs.fis{background-image:url(./rs2.svg)}.fi-ru{background-image:url(./ru.svg)}.fi-ru.fis{background-image:url(./ru2.svg)}.fi-rw{background-image:url(./rw.svg)}.fi-rw.fis{background-image:url(./rw2.svg)}.fi-sa{background-image:url(./sa.svg)}.fi-sa.fis{background-image:url(./sa2.svg)}.fi-sb{background-image:url(./sb.svg)}.fi-sb.fis{background-image:url(./sb2.svg)}.fi-sc{background-image:url(./sc.svg)}.fi-sc.fis{background-image:url(./sc2.svg)}.fi-sd{background-image:url(./sd2.svg)}.fi-sd.fis{background-image:url(./sd.svg)}.fi-se{background-image:url(./se.svg)}.fi-se.fis{background-image:url(./se2.svg)}.fi-sg{background-image:url(./sg.svg)}.fi-sg.fis{background-image:url(./sg2.svg)}.fi-sh{background-image:url(./sh.svg)}.fi-sh.fis{background-image:url(./sh2.svg)}.fi-si{background-image:url(./si.svg)}.fi-si.fis{background-image:url(./si2.svg)}.fi-sj{background-image:url(./sj.svg)}.fi-sj.fis{background-image:url(./sj2.svg)}.fi-sk{background-image:url(./sk.svg)}.fi-sk.fis{background-image:url(./sk2.svg)}.fi-sl{background-image:url(./sl.svg)}.fi-sl.fis{background-image:url(./sl2.svg)}.fi-sm{background-image:url(./sm.svg)}.fi-sm.fis{background-image:url(./sm2.svg)}.fi-sn{background-image:url(./sn.svg)}.fi-sn.fis{background-image:url(./sn2.svg)}.fi-so{background-image:url(./so.svg)}.fi-so.fis{background-image:url(./so2.svg)}.fi-sr{background-image:url(./sr.svg)}.fi-sr.fis{background-image:url(./sr2.svg)}.fi-ss{background-image:url(./ss.svg)}.fi-ss.fis{background-image:url(./ss2.svg)}.fi-st{background-image:url(./st.svg)}.fi-st.fis{background-image:url(./st2.svg)}.fi-sv{background-image:url(./sv.svg)}.fi-sv.fis{background-image:url(./sv2.svg)}.fi-sx{background-image:url(./sx2.svg)}.fi-sx.fis{background-image:url(./sx.svg)}.fi-sy{background-image:url(./sy.svg)}.fi-sy.fis{background-image:url(./sy2.svg)}.fi-sz{background-image:url(./sz.svg)}.fi-sz.fis{background-image:url(./sz2.svg)}.fi-tc{background-image:url(./tc.svg)}.fi-tc.fis{background-image:url(./tc2.svg)}.fi-td{background-image:url(./td.svg)}.fi-td.fis{background-image:url(./td2.svg)}.fi-tf{background-image:url(./tf2.svg)}.fi-tf.fis{background-image:url(./tf.svg)}.fi-tg{background-image:url(./tg.svg)}.fi-tg.fis{background-image:url(./tg2.svg)}.fi-th{background-image:url(./th2.svg)}.fi-th.fis{background-image:url(./th.svg)}.fi-tj{background-image:url(./tj.svg)}.fi-tj.fis{background-image:url(./tj2.svg)}.fi-tk{background-image:url(./tk2.svg)}.fi-tk.fis{background-image:url(./tk.svg)}.fi-tl{background-image:url(./tl.svg)}.fi-tl.fis{background-image:url(./tl2.svg)}.fi-tm{background-image:url(./tm.svg)}.fi-tm.fis{background-image:url(./tm2.svg)}.fi-tn{background-image:url(./tn2.svg)}.fi-tn.fis{background-image:url(./tn.svg)}.fi-to{background-image:url(./to.svg)}.fi-to.fis{background-image:url(./to2.svg)}.fi-tr{background-image:url(./tr.svg)}.fi-tr.fis{background-image:url(./tr2.svg)}.fi-tt{background-image:url(./tt.svg)}.fi-tt.fis{background-image:url(./tt2.svg)}.fi-tv{background-image:url(./tv2.svg)}.fi-tv.fis{background-image:url(./tv.svg)}.fi-tw{background-image:url(./tw.svg)}.fi-tw.fis{background-image:url(./tw2.svg)}.fi-tz{background-image:url(./tz.svg)}.fi-tz.fis{background-image:url(./tz2.svg)}.fi-ua{background-image:url(./ua.svg)}.fi-ua.fis{background-image:url(./ua2.svg)}.fi-ug{background-image:url(./ug2.svg)}.fi-ug.fis{background-image:url(./ug.svg)}.fi-um{background-image:url(./um.svg)}.fi-um.fis{background-image:url(./um2.svg)}.fi-us{background-image:url(./us.svg)}.fi-us.fis{background-image:url(./us2.svg)}.fi-uy{background-image:url(./uy.svg)}.fi-uy.fis{background-image:url(./uy2.svg)}.fi-uz{background-image:url(./uz.svg)}.fi-uz.fis{background-image:url(./uz2.svg)}.fi-va{background-image:url(./va2.svg)}.fi-va.fis{background-image:url(./va.svg)}.fi-vc{background-image:url(./vc2.svg)}.fi-vc.fis{background-image:url(./vc.svg)}.fi-ve{background-image:url(./ve2.svg)}.fi-ve.fis{background-image:url(./ve.svg)}.fi-vg{background-image:url(./vg.svg)}.fi-vg.fis{background-image:url(./vg2.svg)}.fi-vi{background-image:url(./vi.svg)}.fi-vi.fis{background-image:url(./vi2.svg)}.fi-vn{background-image:url(./vn2.svg)}.fi-vn.fis{background-image:url(./vn.svg)}.fi-vu{background-image:url(./vu.svg)}.fi-vu.fis{background-image:url(./vu2.svg)}.fi-wf{background-image:url(./wf.svg)}.fi-wf.fis{background-image:url(./wf2.svg)}.fi-ws{background-image:url(./ws.svg)}.fi-ws.fis{background-image:url(./ws2.svg)}.fi-ye{background-image:url(./ye.svg)}.fi-ye.fis{background-image:url(./ye2.svg)}.fi-yt{background-image:url(./yt.svg)}.fi-yt.fis{background-image:url(./yt2.svg)}.fi-za{background-image:url(./za.svg)}.fi-za.fis{background-image:url(./za2.svg)}.fi-zm{background-image:url(./zm.svg)}.fi-zm.fis{background-image:url(./zm2.svg)}.fi-zw{background-image:url(./zw.svg)}.fi-zw.fis{background-image:url(./zw2.svg)}.fi-arab{background-image:url(./arab.svg)}.fi-arab.fis{background-image:url(./arab2.svg)}.fi-cefta{background-image:url(./cefta2.svg)}.fi-cefta.fis{background-image:url(./cefta.svg)}.fi-cp{background-image:url(./cp.svg)}.fi-cp.fis{background-image:url(./cp2.svg)}.fi-dg{background-image:url(./dg2.svg)}.fi-dg.fis{background-image:url(./dg.svg)}.fi-eac{background-image:url(./eac.svg)}.fi-eac.fis{background-image:url(./eac2.svg)}.fi-es-ct{background-image:url(./es-ct.svg)}.fi-es-ct.fis{background-image:url(./es-ct2.svg)}.fi-es-ga{background-image:url(./es-ga.svg)}.fi-es-ga.fis{background-image:url(./es-ga2.svg)}.fi-es-pv{background-image:url(./es-pv.svg)}.fi-es-pv.fis{background-image:url(./es-pv2.svg)}.fi-eu{background-image:url(./eu.svg)}.fi-eu.fis{background-image:url(./eu2.svg)}.fi-gb-eng{background-image:url(./gb-eng2.svg)}.fi-gb-eng.fis{background-image:url(./gb-eng.svg)}.fi-gb-nir{background-image:url(./gb-nir2.svg)}.fi-gb-nir.fis{background-image:url(./gb-nir.svg)}.fi-gb-sct{background-image:url(./gb-sct.svg)}.fi-gb-sct.fis{background-image:url(./gb-sct2.svg)}.fi-gb-wls{background-image:url(./gb-wls.svg)}.fi-gb-wls.fis{background-image:url(./gb-wls2.svg)}.fi-ic{background-image:url(./ic2.svg)}.fi-ic.fis{background-image:url(./ic.svg)}.fi-pc{background-image:url(./pc.svg)}.fi-pc.fis{background-image:url(./pc2.svg)}.fi-sh-ac{background-image:url(./sh-ac.svg)}.fi-sh-ac.fis{background-image:url(./sh-ac2.svg)}.fi-sh-hl{background-image:url(./sh-hl.svg)}.fi-sh-hl.fis{background-image:url(./sh-hl2.svg)}.fi-sh-ta{background-image:url(./sh-ta.svg)}.fi-sh-ta.fis{background-image:url(./sh-ta2.svg)}.fi-un{background-image:url(./un.svg)}.fi-un.fis{background-image:url(./un2.svg)}.fi-xk{background-image:url(./xk.svg)}.fi-xk.fis{background-image:url(./xk2.svg)}._button_diw5d_1{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._container_1ksto_17,._paymentMethodContainer_1ksto_17{display:flex}._exchangeName_1ksto_21{width:30%}._infoButton_1ksto_25{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._outerContainer_1ksto_37{position:relative}._paymentMethodsContainer_1ksto_41{display:flex;flex-direction:column;width:70%}._paymentMethodName_1ksto_47{color:var(--color-default);display:inline-block;font-weight:400;line-height:22px;margin:0}._paymentMethodName_1ksto_47 img{margin-right:var(--space-quarter)}._paymentMethodContainer_1ksto_17:not(:first-child){margin-top:var(--space-eight)}._paymentMethodContainer_1ksto_17>span{flex-basis:124px;flex-grow:1}._radio_1ksto_67{--size-default: 14px;background-color:var(--background-secondary);border:1px solid var(--background-quaternary);display:block;padding:8px}._radio_1ksto_67:hover,._radio_1ksto_67 *:hover{cursor:pointer}._radio_1ksto_67 input{display:none}._radio_1ksto_67 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin:0;padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_1ksto_67 input+label:before,._radio_1ksto_67 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_1ksto_67 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_1ksto_67 input+label:after{background:var(--color-info);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radioLabel_1ksto_123{width:100%}._text_1ksto_127{color:var(--color-default);margin:0}._radio_1ksto_67[aria-checked=true]{background-color:var(--background-focus)}._radio_1ksto_67:focus{position:relative;z-index:2}._radio_1ksto_67 input:checked+label:before{background-color:var(--background-secondary)}._radio_1ksto_67 input:checked+label:after{opacity:1;transform:scale(1)}._radio_1ksto_67 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-info);outline:none;outline-offset:0}._radio_1ksto_67 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-info)}._radio_1ksto_67 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_1ksto_67[aria-disabled=true]{background-color:#fff}._radio_1ksto_67[aria-disabled=true],._radio_1ksto_67[aria-disabled=true] *{cursor:not-allowed}span[role=radio]:focus{outline-color:var(--color-blue)}._container_h94uh_1 p,._container_h94uh_1 ul{margin:0}._buttonBack_62uya_17{margin-right:auto}._buttonsContainer_62uya_21{display:flex;margin-top:var(--space-half);justify-content:center}._container_62uya_27{margin-top:calc(var(--space-default) * 1.5)}._exchangeContainer_62uya_31{display:flex;flex-direction:column;min-height:300px}._exchangeContainer_62uya_31.content{flex-grow:0;flex-shrink:0;margin:auto;padding-right:40px}._header_62uya_44{position:relative;z-index:2200}._selectContainer_62uya_49{position:relative;margin-bottom:var(--space-half)}._selectContainer_62uya_49>div{position:relative}._selectContainer_62uya_49>div>div{margin:0}._label_62uya_62{color:var(--color-gray-alt);line-height:22px;margin:0;margin-bottom:var(--space-eight)}._noExchangeText_62uya_69{color:var(--color-gray-alt);line-height:22px;margin:0;margin-top:calc((var(--space-eight) + var(--space-half)));margin-left:calc((var(--space-eight) + var(--space-quarter)))}._radioButtonsContainer_62uya_77{min-height:180px}._title_62uya_81{font-size:2rem;font-weight:400;margin-top:0;margin-bottom:var(--space-default);text-align:center}._dropdown_9chnx_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-half) + var(--space-eight))}._flag_9chnx_10{font-size:20px}._globe_9chnx_14{margin-top:3px;width:26px;height:22px}._optionsContainer_9chnx_20{align-items:center;display:flex}._select_9chnx_25 .react-select__input-container,._select_9chnx_25 .react-select__single-value{color:var(--color-default)}._select_9chnx_25 .react-select__menu,._select_9chnx_25 .react-select__option{background-color:var(--background-secondary)}._select_9chnx_25 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_9chnx_25 .react-select__option--is-selected,._select_9chnx_25 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_9chnx_25 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_9chnx_25 .react-select__input-container{padding-left:var(--space-default)}._selectLabelText_9chnx_59{color:var(--color-default);margin-left:6px}._singleValueContainer_9chnx_64{align-items:center;display:flex;left:var(--space-quarter);position:absolute}._overlay_12k4v_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background-color:var(--bg-transparent-dark);z-index:4010;opacity:0}._overlay_12k4v_1._activeOverlay_12k4v_16{opacity:1}._modal_12k4v_20{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto;opacity:0}._modal_12k4v_20._activeModal_12k4v_32{opacity:1}._modal_12k4v_20._small_12k4v_38{max-width:340px;width:100%}._modal_12k4v_20._medium_12k4v_43{max-width:520px;width:100%}._modal_12k4v_20._large_12k4v_49{max-width:800px;width:100%}._header_12k4v_54{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--color-lightgray)}._header_12k4v_54._centered_12k4v_64{justify-content:center}._header_12k4v_54 ._title_12k4v_68{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_12k4v_74{background:none;border:none;padding:0;width:auto!important}._closeButton_12k4v_74:focus{outline:none}._closeButton_12k4v_74:disabled{color:var(--color-secondary)}._header_12k4v_54 ._closeButton_12k4v_74,._header_12k4v_54 ._closeButton_12k4v_74 img{width:18px;height:18px}._contentContainer_12k4v_95{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_12k4v_95._slim_12k4v_101{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-default)}._content_12k4v_95 p{word-break:break-word}._actions_12k4v_113 button,._actions_12k4v_113 a,._small_12k4v_38 ._actions_12k4v_113 button,._small_12k4v_38 ._actions_12k4v_113 a{width:100%}._actions_12k4v_113>*:not(:last-child),._small_12k4v_38 ._actions_12k4v_113>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_12k4v_113{margin-top:var(--space-quarter)}._confirmationLabel_12k4v_131{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_12k4v_140{display:inline-block;position:absolute;left:0}._disabledLabel_12k4v_146,._disabledLabel_12k4v_146 span{color:var(--color-mediumgray)!important}._noStep_12k4v_151{padding-left:0}._confirmationInstructions_12k4v_155{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_12k4v_155>div{width:50%}._confirmationInstructions_12k4v_155 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_12k4v_155._confirm_12k4v_131{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_12k4v_175{height:120px;margin-right:var(--space-half)}._modalContent_12k4v_180 p{font-size:var(--size-default);font-weight:400}._modalContent_12k4v_180>*:first-child{margin-top:0}._detail_12k4v_189{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_12k4v_189:not(:first-child){border-top:solid 1px var(--color-lightgray)}._detail_12k4v_189 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_12k4v_189 label,._detail_12k4v_189 p{margin:0;line-height:1}._detail_12k4v_189._description_12k4v_213>span{text-align:right}._buttons_12k4v_217{padding:var(--space-quarter)}._buttons_12k4v_217 button:first-child{margin-right:10px}._buttons_12k4v_217 button{width:50%}._dialogButtons_12k4v_229{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_12k4v_229>*:only-child{width:100%}@media (max-width: 768px){._modal_12k4v_20{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-half)}}._button_1djzh_1{align-items:center;background-color:var(--background-secondary);border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:row;height:18px;justify-content:center;margin-top:var(--spacing-half);min-width:18px!important;padding:0;position:absolute;right:var(--spacing-default);top:10px;transition:background-color ease .2s;width:18px;will-change:background-color}._button_1djzh_1 img{width:18px}._button_1djzh_1:focus{outline:none}._button_1djzh_1:disabled{cursor:not-allowed}._success_1djzh_34{background-color:var(--color-success)!important}._container_1djzh_38{position:relative}._inputField_1djzh_42{border:1px solid var(--background-quaternary);border-radius:2px;flex:1;font-size:var(--size-default);font-weight:400;height:52px;margin-bottom:0;min-width:200px!important;padding:var(--space-half) calc(var(--space-default) * 1.2 + 5px) var(--space-half) calc(var(--space-half) * .5);resize:none;width:100%}@media screen and (min-width: 640px){._inputField_1djzh_42{text-align:center}}._inputField_1djzh_42:focus{outline:solid 1px var(--color-blue)}@media screen and (max-width: 640px){._button_1djzh_1{margin-left:var(--space-quarter)}}._flexibleHeight_1djzh_72{height:auto}._alignLeft_1djzh_76{text-align:left}._alignRight_1djzh_80{text-align:right}._borderLess_1djzh_84,._borderLess_1djzh_84:focus{border:none;border-radius:0;outline:none}._empty_gzy3c_1{width:256px;height:256px;color:var(--color-secondary)}._title_nnme6_1{font-size:var(--header-default-font-size);font-weight:400}._nextButton_nnme6_6{background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:2px;text-align:left;margin:0 0 0 -2px}._details_nnme6_17{font-size:var(--size-default);margin-bottom:var(--space-default)}._qrCode_nnme6_22{min-height:260px;text-align:center}._qrCode_nnme6_22 img{height:auto;max-width:100%}._buttons_nnme6_35{clear:both;display:flex;justify-content:space-between;min-height:3.5rem}._verifyButton_nnme6_42{order:2}._entry_nnme6_46{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--space-half)}@media screen and (min-width: 640px){._xPubInfo_nnme6_55{max-width:calc(100% - 218px)}._details_nnme6_17{display:flex;flex-direction:column;min-height:180px}._entry_nnme6_46:first-child{margin-top:0}._qrCode_nnme6_22{float:right;position:relative;top:-38px;right:calc(-1 * var(--space-default))}}@media (max-width: 640px){._infoContent_nnme6_82{width:100%}._largeEntry_nnme6_86{align-items:stretch;flex-direction:column}._largeEntry_nnme6_86 strong{display:block;margin-bottom:var(--space-quarter)}._addressField_nnme6_96 input{font-size:var(--size-small)}._qrCode_nnme6_22{margin-left:calc(-1 * var(--space-default));margin-right:calc(-1 * var(--space-default))}}._labels_1m4jx_1{align-items:center;display:flex;justify-content:space-between;margin:var(--spacing-default) 0}._label_1m4jx_1{color:var(--color-secondary);flex-grow:1;font-size:var(--size-default);font-weight:400;margin:0;padding:0 var(--space-quarter)}._qrCodeContainer_1m4jx_17{margin-bottom:var(--space-default);min-height:260px}._arrowLeft_1m4jx_22,._arrowRight_1m4jx_23{width:16px;position:relative;top:3px}._arrowLeft_1m4jx_22{margin-right:3px}._arrowRight_1m4jx_23{margin-left:3px}._previous_1m4jx_37,._next_1m4jx_38{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--color-blue);font-size:var(--size-button);line-height:1;padding:0;text-decoration:none}._hide_1m4jx_49{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-secondary)}._changeType_1m4jx_58{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--color-secondary);cursor:pointer;display:inline-block;text-align:center;text-decoration:underline;padding:var(--space-quarter)}._container_1ooxc_1{margin:0 auto;position:relative;padding:calc(var(--space-default) * 1.5);width:100%}._container_1ooxc_1._withCloseBtn_1ooxc_7{padding-right:60px}.padded ._container_1ooxc_1{max-width:var(--content-width)}._status_1ooxc_15{font-size:var(--size-subheader);max-width:800px;text-align:left}._success_1ooxc_21{background-color:var(--color-success)}._warning_1ooxc_25{background-color:var(--color-warning)}._info_1ooxc_29{background-color:var(--color-info)}._success_1ooxc_21,._warning_1ooxc_25,._info_1ooxc_29,._success_1ooxc_21 label,._warning_1ooxc_25 label,._info_1ooxc_29 label{color:var(--color-alt)}._close-success_1ooxc_42{background:var(--color-darkgreen)}._close-warning_1ooxc_46{background:var(--color-swissred)}._close-info_1ooxc_50{background:var(--color-darkblue)}._close_1ooxc_42{border:none;line-height:.5;padding:var(--space-half);position:absolute;top:0;right:0}._close_1ooxc_42 svg{width:18px;height:18px}._withCloseBtn_1ooxc_7 ._status_1ooxc_15:before{content:"";float:right;height:18px;padding-bottom:2px;padding-left:var(--space-default);width:18px}@media (max-width: 1199px){._container_1ooxc_1{padding:calc(var(--space-half) * 1.5)}}._space_tpxrt_1{margin-left:.33ch}._rates_19qqe_1{cursor:default;line-height:1;margin:0;white-space:nowrap}._unit_19qqe_8{font-weight:400}._unit_19qqe_8,._unitAction_19qqe_13{color:var(--color-secondary);font-size:var(--size-default);font-variant:normal;position:relative}._availableFiatAmount_19qqe_24{padding-right:var(--space-quarter)!important;text-align:right}._availableFiatUnitNoAction_19qqe_29,._availableFiatUnit_19qqe_29{color:var(--color-secondary);cursor:default;position:relative}._unitAction_19qqe_13:after,._availableFiatUnit_19qqe_29:after{border-bottom:dotted 1px var(--color-softblack);content:"";position:absolute;bottom:0;left:2px;right:2px}._notAvailable_19qqe_46{color:var(--color-default)}@media (max-width: 880px){._fiatRow_19qqe_20{bottom:0}._availableFiatAmount_19qqe_24,._availableFiatUnit_19qqe_29{line-height:24px}}@media (max-width: 640px){._availableFiatUnit_19qqe_29:after{border-bottom:none}}._balanceTable_m2hui_1{align-items:flex-end;border-collapse:collapse;border-spacing:0;display:flex;flex-direction:row;position:relative}._balanceTable_m2hui_1 tr{display:inline-block;vertical-align:bottom}._balanceTable_m2hui_1 td{font-size:var(--size-large);font-weight:400;line-height:1.2;padding:0;vertical-align:baseline}._balanceTable_m2hui_1 td:last-child{font-size:var(--size-default)}._balanceTable_m2hui_1 ._availableAmount_m2hui_27{padding-right:var(--space-quarter);text-align:right}._balanceTable_m2hui_1 ._availableUnit_m2hui_32{color:var(--color-secondary);padding-right:var(--space-half)}._pendingBalance_m2hui_37{color:var(--color-secondary);font-size:var(--size-small);line-height:1;margin:0;padding-top:var(--space-half)}@media (max-width: 768px){._balanceTable_m2hui_1{display:inline-block;margin:0 auto}._balanceTable_m2hui_1 td{font-size:var(--size-large-mobile);line-height:1.5}._pendingBalance_m2hui_37{padding-top:var(--space-quarter)}}@media (max-width: 560px){._balanceTable_m2hui_1 td{font-size:var(--size-subheader)}}._row_1qpuo_1{display:flex;flex-direction:column}._rowCustomFee_1qpuo_6{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12{flex-basis:50%;flex-grow:1;flex-shrink:0}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:first-child{flex-basis:50%}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:nth-child(2){flex-basis:50%}@media (min-width: 640px){._row_1qpuo_1{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12:first-child{flex-basis:50%}._column_1qpuo_12:nth-child(2){flex-basis:50%}}._rowCustomFee_1qpuo_6 select._priority_1qpuo_38{border-right:none;padding-right:0}._rowCustomFee_1qpuo_6 ._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0;border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0}}select:disabled._priority_1qpuo_38{border-color:var(--background)!important}select._priority_1qpuo_38{border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input:disabled{border-color:var(--background)!important}._fee_1qpuo_42 input{border-color:var(--background-quaternary)!important}}@media (max-width: 639px){._row_1qpuo_1 ._fee_1qpuo_42 *{display:block!important;text-align:left!important}._row_1qpuo_1 ._fee_1qpuo_42 input{border:none;color:var(--color-secondary)!important;font-size:var(--size-small);font-weight:400;height:auto;margin-top:0;padding:0}}._feeCustom_1qpuo_91 input{padding-right:58px}._feeDescription_1qpuo_95,._feeProposed_1qpuo_96{color:var(--color-secondary);flex:0 0 100%;font-size:var(--size-small);font-weight:400;margin-top:0}._feeProposed_1qpuo_96{margin:0}._feeDescription_1qpuo_95+._feeProposed_1qpuo_96{margin:var(--space-quarter) 0 0 0}._customFeeUnit_1qpuo_112{bottom:0;color:var(--color-secondary);font-size:var(--size-default);line-height:50px;padding-right:var(--space-half);position:absolute;right:0;width:auto}._utxosList_8ra1q_1{list-style:none;padding:0 0 var(--space-half) 0}._utxosList_8ra1q_1 label{-webkit-user-select:text;user-select:text;width:100%}._utxo_8ra1q_1{margin-top:var(--space-half);padding:0 0 var(--space-eight) 0;border-bottom:solid 1px var(--color-lightgray)}._utxoContent_8ra1q_17{align-items:flex-start;color:var(--color-default);display:flex;flex-wrap:nowrap;font-size:var(--size-subheader)}._note_8ra1q_25{color:var(--color-default);font-size:var(--size-subheader);line-height:1.5;margin-top:-7px;margin-bottom:var(--space-quarter)}._utxoData_8ra1q_33{flex-basis:auto;flex-grow:1;flex-shrink:1;overflow-x:hidden;overflow-y:auto}._utxoExplorer_8ra1q_41{margin-top:calc(var(--space-quarter) * -1);padding:var(--space-quarter)}._utxoExplorer_8ra1q_41 img{width:18px;height:18px}._amounts_8ra1q_51{padding-bottom:var(--space-quarter)}._amount_8ra1q_51{margin-right:var(--space-quarter)}._label_8ra1q_59,._unit_8ra1q_60{color:var(--color-secondary)}._label_8ra1q_59{display:inline-block;padding-right:4px}._unit_8ra1q_60{font-size:var(--size-default)}._address_8ra1q_73,._transaction_8ra1q_74{display:flex;font-size:var(--size-default);line-height:1.4;white-space:nowrap}._shrink_8ra1q_81{overflow:hidden;text-overflow:ellipsis}._confirmItem_1e5e5_1 p{margin-top:var(--space-quarter);word-break:break-all}._confirmationValue_1e5e5_6{font-size:var(--size-default);font-weight:400;line-height:1;overflow:hidden;text-overflow:ellipsis;direction:rtl}._total_1e5e5_15 p{font-size:var(--size-subheader)!important;margin-bottom:var(--space-quarter)}._spinnerAnimationContainer_18sha_1{align-items:center;display:flex;height:0;justify-content:center;position:relative;top:150px}._qrVideo_18sha_10{width:100%;margin-bottom:var(--spacing-default)}._qrVideo_18sha_10+.scan-region-highlight svg{stroke:var(--color-darkyellow)!important;stroke-width:3!important}._inputWithIcon_drrz7_1{position:relative}._inputWithIcon_drrz7_1 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}._action_drrz7_9{color:var(--color-blue);font-size:var(--size-small);font-weight:400;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}._qrButton_drrz7_18{align-items:center;display:flex;border:none;background-color:var(--background-secondary);height:36px;width:36px;justify-content:center;padding:0;position:absolute;top:calc(50% - var(--space-quarter));right:calc(var(--spacing-default) - var(--space-quarter));cursor:pointer}._qrButton_drrz7_18 img{width:18px;height:18px}._maxAmount_1t5n0_1 label{display:block!important;margin-right:0!important}._maxAmount_1t5n0_1 label:before{top:-2px!important}._maxAmount_1t5n0_1 label:after{margin-top:-3px!important}._labelDescription_5etm5_1{color:var(--color-secondary);font-size:var(--size-small);font-weight:400;margin-top:0}._container_8f83b_1{margin-top:calc(var(--space-default) * 1.5)}._skeleton_13p4i_1{animation:_skeleton-loading_13p4i_1 1.4s ease infinite;background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(129,129,129,.24) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;display:inline-block;max-width:100%;overflow:clip}._skeleton_13p4i_1:before{color:transparent;content:"_";display:block;line-height:1;min-width:1em}@keyframes _skeleton-loading_13p4i_1{0%{background-position:100% 50%}to{background-position:0 50%}}._chart_1bo3n_1{box-sizing:border-box;margin-bottom:var(--spacing-large);position:relative}._invisible_1bo3n_7{visibility:hidden}._chartUpdatingMessage_1bo3n_11{align-items:center;color:var(--color-tertiary);display:flex;flex-direction:column;justify-content:center;padding:0 var(--space-half);text-align:center}._chart_1bo3n_1 header{display:flex;flex-wrap:wrap;margin-bottom:var(--spacing-half);min-height:68px}._summary_1bo3n_28{margin:0 auto;display:flex;flex-direction:column;align-items:flex-start}._filters_1bo3n_35{align-items:baseline;display:flex;flex-wrap:wrap;flex-grow:1;justify-content:flex-end;margin:var(--spacing-half) 0 0 0}@media (max-width: 640px){._chart_1bo3n_1{margin-bottom:var(--spacing-default)}._summary_1bo3n_28{align-items:center}._filters_1bo3n_35{justify-content:center;margin-top:var(--spacing-default)}}._filters_1bo3n_35 button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-secondary);border:2px solid var(--background-secondary);border-radius:2rem;color:var(--color-default);font-size:var(--size-default);line-height:1.75;margin-bottom:var(--spacing-half);margin-left:var(--spacing-half);padding:0 calc(var(--spacing-default) * .75)}._filters_1bo3n_35 button:hover:not([disabled]){cursor:pointer}._filters_1bo3n_35 button:hover:is([disabled]){cursor:not-allowed}._filters_1bo3n_35 button:focus{border:2px solid var(--color-blue);outline:none}._filters_1bo3n_35 button._filterActive_1bo3n_87{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-alt)}._filters_1bo3n_35 button[disabled]{background:var(--background-quaternary);border-color:var(--background-quaternary);color:var(--color-alt)}.dark-mode ._filters_1bo3n_35 button[disabled]{background:var(--background-secondary);border-color:var(--background-secondary);color:var(--color-disabled)}._arrow_1bo3n_104 svg{margin-right:.25rem;vertical-align:text-bottom}._up_1bo3n_109{color:var(--color-green)}._down_1bo3n_113{color:var(--color-softred)}._totalValue_1bo3n_117{font-size:2rem}._totalUnit_1bo3n_121{color:var(--color-secondary);display:inline-block;font-size:1.4rem;padding:0 .25rem}._diffValue_1bo3n_128{font-size:1.2rem}._diffUnit_1bo3n_132{font-size:1rem;padding:0 .25rem}._chartCanvas_1bo3n_137{position:relative}@media (max-width: 640px){._chartCanvas_1bo3n_137{max-width:100%;overflow:hidden}}._tooltip_1bo3n_149{background:var(--background-secondary);border:1px solid var(--background);border-radius:3px;font-size:var(--size-small);margin-top:-25px;min-width:140px;padding:.75rem .6rem;pointer-events:none;position:absolute;text-align:center;transition:left .03s ease-out,top .03s ease-out;z-index:12}._toolTipValue_1bo3n_164{font-weight:400;font-size:1rem;margin:0 0 .25rem}._toolTipUnit_1bo3n_170{color:var(--color-secondary);font-size:var(--size-small);padding:0 .125rem}._toolTipTime_1bo3n_176{white-space:nowrap}._spinnerContainer_1akm7_1{position:relative;display:inline-block}._spinner_1akm7_1{color:var(--color-blue)}._spinner_1akm7_1:after{position:relative;top:2px;animation:_changeContent_1akm7_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_1akm7_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._balanceTable_1v4c8_1{margin:0 0 var(--spacing-large) 0}._coincode_1v4c8_4{height:24px}._coinheader_1v4c8_9{display:flex;flex-direction:row;align-items:center}._coinheader_1v4c8_9>div:first-child{height:24px;margin-right:calc(var(--space-half) / 2)}._dataMissing_1v4c8_20{text-align:center}._openFileText_1v4c8_24{color:var(--color-primary);cursor:pointer;font-size:var(--size-small)}._table_1v4c8_30{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-default);border:solid 1px var(--background-quaternary)}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{height:52px;padding:var(--space-half);text-align:left;font-weight:400}._table_1v4c8_30 tr td._noAccount_1v4c8_45{text-align:center}._table_1v4c8_30 tr>td:not(:first-child),._table_1v4c8_30 tr>th:not(:first-child){text-align:right}._table_1v4c8_30 thead th{border-bottom:solid 1px var(--background-quaternary)}._table_1v4c8_30 thead th,._table_1v4c8_30 tfoot th{background-color:var(--background-secondary);font-size:var(--size-default);font-weight:700}._table_1v4c8_30 thead th:first-child,._table_1v4c8_30 tfoot th:first-child{padding-left:calc(24px + var(--space-default))}._table_1v4c8_30 tr td{font-size:var(--size-default)!important;line-height:1.5714}._table_1v4c8_30 tbody td{background-color:var(--background-secondary)}._clickable_1v4c8_80{cursor:pointer}._summaryTableBalance_1v4c8_84{white-space:nowrap}._table_1v4c8_30 tfoot th,._table_1v4c8_30 tfoot td{background-color:var(--background-secondary);padding-bottom:calc(var(--space-quarter) + var(--space-half))}._coinName_1v4c8_94{display:flex}._coinName_1v4c8_94 img{flex-shrink:0;margin-right:var(--spacing-default);vertical-align:middle}._coinUnit_1v4c8_104{color:var(--color-secondary)}._syncText_1v4c8_108{font-variant:tabular-nums}._showOnTableView_1v4c8_112{display:block}._showInCollapsedView_1v4c8_116{display:none}@media (max-width: 640px){._showOnTableView_1v4c8_112{display:none}._showInCollapsedView_1v4c8_116{display:block}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{padding:var(--spacing-default)}._table_1v4c8_30 thead{display:none}._table_1v4c8_30,._table_1v4c8_30 tbody,._table_1v4c8_30 tbody tr,._table_1v4c8_30 tfoot{display:block}._table_1v4c8_30 tfoot tr{background-color:var(--background-secondary);display:flex;justify-content:space-between}._table_1v4c8_30 tfoot th:first-child{padding-left:var(--space-half)}._table_1v4c8_30 tbody td{display:flex;justify-content:space-between;height:auto;padding-bottom:0}._table_1v4c8_30 tbody td:before{content:attr(data-label);white-space:nowrap}._subTotal_1v4c8_167 td:before{font-weight:700}._table_1v4c8_30 tbody td:last-child{border-bottom:solid 1px var(--color-mediumgray);padding-bottom:var(--spacing-default)}._coinName_1v4c8_94{position:relative}._coinName_1v4c8_94 img{left:-2rem;position:absolute;top:-3px}}._container_1mptn_1{display:flex;justify-content:center}._container_1mptn_1>button:first-child{margin-right:var(--space-half)}._main_1mptn_8{padding:calc(var(--space-default) * 1.5) 0}._main_1mptn_8>*{margin-right:0!important;text-align:center}._walletConnect_1mptn_17{margin-left:var(--space-half)}._walletConnect_1mptn_17 span{margin-left:var(--space-eight)}._container_17oq2_1{align-items:center;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;padding:0 var(--space-half)}._scrollable_17oq2_17{overflow:auto}._agreements_17oq2_22{margin-bottom:var(--spacing-default)}._agreementsLabel_17oq2_26{margin:var(--spacing-half) 0}._title_17oq2_30{margin-top:0;margin-bottom:var(--spacing-large);font-weight:400}._summary_17oq2_36{margin:var(--spacing-large) auto;max-width:450px}._summary_17oq2_36 li{margin-bottom:var(--spacing-default)}._heading_17oq2_45{margin-top:1px}._content_17oq2_49{display:flex;flex-basis:auto;flex-direction:column;flex-grow:1;flex-shrink:1;max-width:var(--content-width);width:100%;padding:var(--spacing-large) var(--spacing-default) 0 var(--spacing-default)}._verticalButtons_17oq2_60{display:flex;flex-direction:column;max-width:300px;width:100%;margin:0 auto}._verticalButtons_17oq2_60 button:first-child{margin-bottom:var(--spacing-default)}._block_17oq2_72{flex:1}._block_17oq2_72 p:first-child,._block_17oq2_72 h2:first-child{margin-top:0}._block_17oq2_72 p:last-child{margin-bottom:var(--spacing-large)}._list_17oq2_85{padding-left:18px}._list_17oq2_85 li:not(:first-child){margin-top:var(--spacing-half)}._buttons_17oq2_93{margin-bottom:0;margin-top:var(--spacing-large)}._stepNumber_17oq2_98{min-width:20px!important;margin-right:20px;text-align:center;color:var(--color-secondary);font-size:var(--size-extra-large);line-height:var(--size-extra-large);font-weight:400}._badge_17oq2_108{max-height:40px;height:40px}._waitingLogo_17oq2_113{margin-bottom:var(--space-default)}._waitingContent_17oq2_117{max-width:540px;width:100%;background-color:var(--background-secondary);padding:var(--space-default);margin:0 auto;text-align:center}._waitingText_17oq2_126{margin-top:0;margin-bottom:var(--space-half);text-align:center;font-weight:400;font-size:var(--size-subheader)}._waitingDescription_17oq2_134{text-align:center;margin-bottom:0}@media screen and (max-width: 640px){._qrcodeContainer_17oq2_140{width:50%}._qrcodeContainer_17oq2_140 img{width:100%;height:auto}}._container_l7fdu_1{width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:var(--item-height);text-decoration:none;text-align:left;border:none;color:var(--color-blue);background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:0 var(--space-half);cursor:pointer}._container_l7fdu_1 svg,._container_l7fdu_1 img{width:18px;height:18px;color:var(--color-secondary)}._danger_l7fdu_27{color:var(--color-softred)}._children_l7fdu_31{min-width:120px}._optionalText_l7fdu_35{margin-left:auto;margin-right:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary);white-space:nowrap;max-width:300px;text-overflow:ellipsis;overflow:hidden}._secondaryText_l7fdu_46{color:var(--color-secondary);font-size:var(--size-small);margin-top:4px;overflow:hidden;text-overflow:ellipsis}._primaryText_l7fdu_54{display:block}._icon_l7fdu_58 img{margin-left:8px;margin-bottom:-4px}._disabled_l7fdu_63{opacity:.5;cursor:default}._item_l7fdu_68{color:var(--color-secondary);cursor:default}._container_l7fdu_1:focus{outline:solid 1px var(--color-blue)}._stepContext_g2o2c_1{margin:var(--space-default) 0}._backupsList_g2o2c_5{background:var(--background-secondary);border:1px solid var(--background-secondary);display:flex;flex-direction:column;text-align:left;flex:1}._listContainer_g2o2c_14{display:flex;flex-direction:column;max-height:45vh;overflow-x:hidden;overflow-y:scroll;position:relative;width:100%}._item_g2o2c_24{width:100%;padding:var(--space-quarter) var(--space-half)}._item_g2o2c_24:not(:first-child){border-top:solid 1px var(--background)}._item_g2o2c_24 label{margin-bottom:0!important}._agreements_g2o2c_37{margin-bottom:1rem}._emptyText_g2o2c_41{text-align:center;color:var(--color-secondary);padding:var(--spacing-large) 0}._backupItem_g2o2c_47+label{color:var(--color-default);word-break:break-all}._backupID_g2o2c_52{word-break:break-all;margin-bottom:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary)}._backupButtons_g2o2c_59{display:flex;flex-wrap:wrap;flex-direction:row-reverse;margin-top:var(--space-default)}@media (min-width: 769px){._backupButtons_g2o2c_59>*:not(:first-child){margin-right:var(--space-half)}}@media (max-width: 768px){._backupButtons_g2o2c_59{align-items:center;flex-direction:column;margin-top:var(--space-default)}._backupButtons_g2o2c_59>*:not(:first-child){margin-top:var(--space-half)}}._container_6tizs_1{height:var(--item-height-xlarge);width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;text-decoration:none;text-align:left;border:none;background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:16px 24px;color:var(--color-dark);margin-bottom:var(--size-default)}._primaryText_6tizs_21{color:var(--color-default);font-size:16px;margin:0}._isButton_6tizs_27:hover{cursor:pointer}._rightContentContainer_6tizs_32{display:flex;align-items:center;flex-shrink:0}._displayedValue_6tizs_38{color:var(--color-secondary);font-size:14px;margin:0;padding-left:var(--space-half);overflow:hidden;text-overflow:ellipsis}._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:var(--space-quarter)}._secondaryText_6tizs_51{color:var(--color-secondary);font-size:14px;margin:0;margin-top:var(--space-quarter);overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){._container_6tizs_1{height:auto;margin-bottom:5px;min-width:100%}._secondaryText_6tizs_51{display:none}}@media (max-width: 560px){._container_6tizs_1._collapse_6tizs_74{align-items:start;flex-direction:column}._container_6tizs_1._collapse_6tizs_74 ._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:0}._container_6tizs_1._collapse_6tizs_74 ._rightContentContainer_6tizs_32{width:100%}._hideDisplayedValueOnSmall_6tizs_87{display:none}}._container_1rta5_1{display:flex;margin-bottom:var(--space-default);word-break:keep-all}._container_1rta5_1 a{margin-right:var(--space-default);font-size:var(--size-subheader);text-decoration:none}._container_1rta5_1 a._active_1rta5_13{padding-bottom:var(--space-quarter);border-bottom:2px solid var(--color-blue)}@media (max-width: 768px){._container_1rta5_1,._container_1rta5_1 a,._container_1rta5_1 a._active_1rta5_13{all:unset}}._settingNameContainer_usdew_1{display:flex}._settingName_usdew_1{color:var(--color-swissred);font-size:16px;margin:0;margin-left:var(--space-quarter)}._section_18i3w_1{margin-bottom:var(--space-default)}._section_18i3w_1 h3{margin-bottom:var(--space-half)}._skeletonWrapper_18i3w_9{margin-bottom:var(--size-default)}@media (max-width: 768px){._skeletonWrapper_18i3w_9{margin-bottom:2px}}._container_flzib_1{align-items:center;display:none;position:relative}._backButton_flzib_7{background-color:transparent;border:none;color:var(--color-default);display:flex;align-items:center;font-size:var(--size-title);padding:var(--space-quarter);padding-left:0;text-decoration:none}._backButton_flzib_7:focus{outline:none}._backButton_flzib_7:hover{cursor:pointer}._backButton_flzib_7 img{margin-right:var(--space-eight)}._headerText_flzib_31{font-size:var(--size-title);font-weight:400;margin:0 auto;position:absolute;left:50%;transform:translate(-50%)}._withGuide_flzib_40 ._headerText_flzib_31{left:calc(50% + 37px)}@media (max-width: 768px){._container_flzib_1{display:flex}}._container_18axn_1{align-items:stretch;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;max-width:var(--content-width-small);width:100%}._container_14uup_1{display:inline-block;flex-shrink:0;margin:0;min-height:var(--item-height-xsmall);position:relative;width:60px}._container_14uup_1 input{height:0;opacity:0;width:0}._container_14uup_1 input[disabled]+._slider_14uup_16{cursor:default;background-color:var(--color-disabled)}._slider_14uup_16{background-color:var(--background-tertiary);border-radius:2px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.2s}._slider_14uup_16:before{background-color:#fff;border-radius:2px;bottom:4px;content:"";height:16px;left:4px;position:absolute;width:26px;transition:.2s}input:checked+._slider_14uup_16{background-color:var(--color-blue)}input:checked+._slider_14uup_16:before{transform:translate(26px)}._toast_4ztjp_1{position:fixed;display:block;bottom:calc(var(--item-height-large) + var(--space-half));right:50%;transform:translate(50%,120%);max-width:calc(100% - (var(--guide-width) + var(--sidebar-width) + var(--spacing-large)));min-width:180px;min-height:20px;border-radius:2px;padding:var(--space-half);box-shadow:0 1px 5px #0003;transition:transform ease-out .2s;z-index:1}._active_4ztjp_17{transform:translate(50%)}._active_4ztjp_17._shifted_4ztjp_21{right:calc(var(--spacing-default) + 350px)}._info_4ztjp_25{background-color:var(--color-darkblue)}._success_4ztjp_29{background-color:var(--color-success)}._warning_4ztjp_33{background-color:var(--color-softred)}._toast_4ztjp_1 p{margin:0;color:var(--color-alt)}@media (max-width: 768px){._toast_4ztjp_1{position:initial;transition:none;transform:none}}._label_g3ts4_1{white-space:nowrap}._labelText_g3ts4_5{display:inline-block;font-size:14px;line-height:1;margin-right:8px;vertical-align:sub}._addAccountBtn_17bcq_2{margin-bottom:var(--spacing-default)}._walletHeader_17bcq_6{align-items:end;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--space-eight)}._walletTitle_17bcq_14{font-size:20px;font-weight:400;margin:0 0 var(--space-quarter) 0}._walletTitle_17bcq_14 small{color:var(--color-secondary);font-size:var(--size-default)}._setting_17bcq_25{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;min-height:var(--item-height);padding:var(--space-quarter) 0}._setting_17bcq_25:not(:last-child){border-bottom:solid 1px var(--background)}._coinLogo_17bcq_39{position:relative;z-index:2}._acccountLink_17bcq_44{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:1}._editBtn_17bcq_52{min-width:0;padding:0 0 0 var(--space-quarter)}._editBtn_17bcq_52 img{margin-right:var(--space-quarter);max-width:18px;height:auto;vertical-align:text-bottom}._toggleLabel_17bcq_64{align-items:center;display:flex;justify-content:space-between}._toggleLabelText_17bcq_70{color:var(--color-secondary)}._toggleLabelText_17bcq_70 img{color:var(--color-secondary);margin-right:var(--space-quarter);max-width:18px;vertical-align:bottom}._toggle_17bcq_64{flex-basis:60px;flex-shrink:0;margin-left:var(--spacing-half)}._accountActive_17bcq_87{cursor:pointer}._tokenSection_17bcq_91{align-items:flex-start;display:flex;flex-basis:100%;flex-direction:column;flex-wrap:wrap;padding:0 0 0 4px}._tokenContainer_17bcq_100{max-height:0vh;overflow:hidden;transition:max-height .27s ease;width:100%}._tokenContainerOpen_17bcq_107{max-height:200vh;padding:10px 0 0}._token_17bcq_91{align-items:center;display:flex;flex-direction:row;justify-content:space-between;min-height:var(--item-height);padding:10px 0;position:relative;width:100%}._token_17bcq_91:before{background-color:#ddd;content:"";height:22px;left:10px;position:absolute;top:-13px;right:8px;width:3px}._token_17bcq_91:first-child:before{height:16px;top:-7px}._token_17bcq_91 img:first-child{margin-right:0}._tokenIcon_17bcq_149{max-height:24px;max-width:24px}._tokenName_17bcq_154{flex:1;display:inline-block;padding-left:20px}._tokenInactive_17bcq_160{color:var(--color-tertiary);transition:color .2s ease}._expandBtn_17bcq_165{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:100% center;background-repeat:no-repeat;height:40px;padding:0 var(--space-default)}._expandBtnOpen_17bcq_173{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 16 12 10 18 16'/%3E%3C/svg%3E%0A")}._expandBtn_17bcq_165,._expandBtn_17bcq_165:focus,._expandBtn_17bcq_165:hover{border-color:transparent!important;margin-left:10px;outline:none}._watchOnlyContainer_17bcq_186{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-half)}._watchOnlyNote_17bcq_193{margin:0;margin-top:var(--space-half)}._watchOnlyAccountHidden_17bcq_198{background-color:var(--color-success);margin-top:var(--space-half);padding:var(--space-half)}._watchOnlyAccountHidden_17bcq_198 p{color:var(--color-alt);margin:0}._title_ahh86_1{margin:0;font-size:var(--size-subheader);font-weight:400}._resetLink_ahh86_7{color:var(--color-softred)!important}._serversContainer_ahh86_11{margin-top:var(--space-default)}._servers_ahh86_11{background-color:var(--background-secondary);list-style:none;padding:var(--space-quarter) var(--space-half);margin:0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11{display:flex;width:100%;align-items:center;font-weight:400;font-size:var(--size-default);min-height:52px}._serverLabel_ahh86_32{padding:var(--space-quarter) 0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11>div:last-child{margin-left:auto}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{border:none;border-radius:2px;font-size:var(--size-small);padding:var(--space-quarter) var(--space-half);word-break:normal}._servers_ahh86_11 ._server_ahh86_11>div button[disabled]{background-color:var(--color-disabled);color:var(--color-secondary)}._servers_ahh86_11 ._server_ahh86_11>div button:focus{outline:none}._servers_ahh86_11 ._server_ahh86_11>div button:not(:last-child){margin-right:var(--space-quarter)}@media (max-width: 768px){._servers_ahh86_11{padding:0 var(--space-quarter)}._serverLabel_ahh86_32{padding-right:var(--space-quarter)}._servers_ahh86_11 ._server_ahh86_11>div button{margin:var(--space-quarter) 0}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{display:block;padding:var(--space-quarter);width:100%}}._primary_ahh86_82{background-color:var(--color-blue);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._primary_ahh86_82:hover{background-color:var(--color-lightblue)}._warning_ahh86_93{background-color:var(--color-softred);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._warning_ahh86_93:hover{background-color:var(--color-lightred)}._textarea_ahh86_104{width:100%;border-radius:2px;border-color:var(--background-quaternary);padding:var(--space-half) var(--space-half);margin-bottom:var(--space-quarter)}._block_ahh86_112{margin-bottom:var(--space-half)}._addServer_ahh86_116{margin-top:var(--space-half);margin-bottom:var(--space-default);background-color:var(--background-secondary);padding:var(--space-half)}._addServer_ahh86_116 p{font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);margin-bottom:var(--space-quarter)}._addServer_ahh86_116>div:first-child p{margin-top:var(--spacing-default)}@media (max-width: 768px){._addServer_ahh86_116{padding:var(--space-half) var(--space-quarter)}}._badge_ahh86_140{color:var(--color-secondary);border-radius:2px;margin-right:var(--space-quarter);width:16px;text-align:center}._badge_ahh86_140:after{content:"."}._miniSpinnerContainer_ahh86_152{position:relative;margin-right:4px;display:inline-block}._miniSpinner_ahh86_152{color:var(--color-blue)}._miniSpinner_ahh86_152:after{position:relative;animation:_changeContent_ahh86_1 .8s linear infinite;display:block;content:"⠋"}@keyframes _changeContent_ahh86_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._syncContainer_nrzbt_1{position:relative;width:100%;top:-18px;margin-bottom:-18px}._progressBar_nrzbt_8{width:100%;height:1px;background-color:var(--background)}._progressValue_nrzbt_14{height:100%;background-color:var(--color-blue);transition:width 1s ease;will-change:width}._syncMessage_nrzbt_21{height:16px;width:100%;max-width:var(--content-width);font-size:var(--size-small);color:var(--color-secondary);text-align:right;margin:0 auto 1px;padding:0 var(--spacing-large)}._syncText_nrzbt_33{display:inline-block;height:100%;font-variant:tabular-nums}._spinnerContainer_nrzbt_39{position:relative;display:inline-block}._spinner_nrzbt_39{color:var(--color-blue)}._spinner_nrzbt_39:after{position:relative;top:2px;animation:_changeContent_nrzbt_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_nrzbt_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}@media (max-width: 900px){._syncMessage_nrzbt_21{padding:0 var(--spacing-default)}}@media (max-width: 640px){._syncMessage_nrzbt_21{padding:0 var(--spacing-half)}}._container_13974_1{transform:rotate(-90deg);background-color:transparent!important}._background_13974_6,._foreground_13974_7{fill:none}._background_13974_6{stroke:var(--color-mediumgray)}._complete_13974_19{stroke:var(--color-success)}._pending_13974_23,._generic_13974_24{stroke:var(--color-primary)}._error_13974_28{stroke:var(--color-danger)}._txArrowType_m24u9_1{width:18px;height:18px}._txArrowTypeIn_m24u9_6{stroke:var(--color-success)!important}._txArrowTypeOut_m24u9_10{stroke:var(--color-danger)!important}._txArrowTypeSelf_m24u9_14{stroke:var(--color-secondary)!important}._container_1j01g_1{margin:calc(var(--space-default) * 1.5) 0}._header_1j01g_5{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--space-default)}._header_1j01g_5 label{font-size:var(--size-default)}._columns_1j01g_17{align-items:center;background-color:var(--background-secondary);display:flex;flex-direction:row;justify-content:flex-start;margin-bottom:1px;width:100%}._headers_1j01g_27{font-weight:700;height:48px}._columns_1j01g_17>*,._columnGroup_1j01g_33>*{display:flex;flex-direction:row;align-items:center;font-size:var(--size-default);padding:0 var(--space-quarter)}._columnGroup_1j01g_33{width:100%;padding:0}._type_1j01g_46{min-width:54px;width:54px;justify-content:center}._date_1j01g_52{min-width:98px;width:98px}._activity_1j01g_57{min-width:334px;width:334px;text-align:left}._status_1j01g_63{min-width:106px;width:106px}._fiat_1j01g_68{min-width:134px;width:134px;justify-content:flex-end}._currency_1j01g_74{min-width:230px;width:230px;justify-content:flex-end}._action_1j01g_80{min-width:60px;width:60px;justify-content:center;align-items:center}._empty_1j01g_87{background-color:var(--background-secondary);height:52px;display:flex;flex-direction:row;align-items:center;justify-content:center}._empty_1j01g_87 p{font-size:var(--size-default);font-weight:400;color:var(--color-secondary)}@media (min-width: 1081px) and (max-width: 1199px),(min-width: 1323px){._hideOnMedium_1j01g_103{display:none}._activity_1j01g_57{padding:var(--space-quarter) 0}}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._showOnMedium_1j01g_113{display:none}._columns_1j01g_17{flex-direction:column;justify-content:center}._columnGroup_1j01g_33:last-child{margin-top:var(--space-quarter)}._type_1j01g_46{min-width:36px;width:36px;justify-content:flex-start}._date_1j01g_52{min-width:126px;width:126px}._activity_1j01g_57{flex:1}._fiat_1j01g_68,._currency_1j01g_74{justify-content:flex-start;min-width:0;width:auto;text-align:right}._action_1j01g_80{justify-content:flex-end;min-width:36px;width:36px}._status_1j01g_63{justify-content:flex-start;width:auto;margin-left:36px;margin-right:auto}}@media (max-width: 768px){._container_1j01g_1{margin:var(--space-default) 0}._fiat_1j01g_68,._currency_1j01g_74{min-width:0;width:auto}._fiat_1j01g_68{flex-grow:1;flex-shrink:0;justify-content:flex-end}._currency_1j01g_74{flex-grow:0;flex-shrink:1}}@media (max-width: 666px){._columns_1j01g_17>*,._columnGroup_1j01g_33>*{padding:0 var(--space-eight)}._type_1j01g_46{min-width:26px;width:26px}._activity_1j01g_57{min-width:0;width:auto}._date_1j01g_52{min-width:80px;width:80px}._status_1j01g_63{margin-left:2px;min-width:14px;padding-right:0}}._container_1tutj_1{margin:0 0 1px}._row_1tutj_5{background-color:var(--background-secondary)!important;min-height:52px}._row_1tutj_5 *{font-size:var(--size-default);font-weight:400}._address_1tutj_19{text-overflow:ellipsis;overflow:hidden}._address_1tutj_19 ._badge_1tutj_24{margin-left:5px;color:var(--color-secondary)}._statusIndicator_1tutj_29{width:9px;height:9px;border-radius:50%;background-color:var(--background);margin-right:var(--space-quarter)}._statusIndicatorComplete_1tutj_37{background-color:var(--color-success)}._statusIndicatorPending_1tutj_41{background-color:var(--color-yellow)}._statusIndicatorFailed_1tutj_45{background-color:var(--color-danger)}._fiat_1tutj_53{font-variant:tabular-nums}._amount_1tutj_57{font-variant:tabular-nums;max-width:100%}._amountOverflow_1tutj_62{overflow:hidden;position:relative;text-overflow:ellipsis}._amountOverflow_1tutj_62:after{content:attr(data-unit);color:transparent}._send_1tutj_74{color:var(--color-softred)!important}._receive_1tutj_78{color:var(--color-success)}._currency_1tutj_82{font-variant:tabular-nums}._currencyUnit_1tutj_86{color:var(--color-secondary);font-variant:normal}._amountOverflow_1tutj_62 ._currencyUnit_1tutj_86{position:absolute;right:0;top:0}._action_1tutj_97{align-items:center;background:none;border:none;display:flex;flex-direction:column;justify-content:center;padding:0;-webkit-appearance:none}._label_1tutj_108{white-space:nowrap}._label_1tutj_108,._columnLabel_1tutj_113,._inlineLabel_1tutj_114{color:var(--color-secondary);font-size:var(--size-default)}._label_1tutj_108,._columnLabel_1tutj_113{margin-right:var(--space-quarter)}._columnLabel_1tutj_113{display:none}._inlineValue_1tutj_128{margin-left:var(--space-quarter)}._fee_1tutj_132{min-width:140px}._transactionId_1tutj_136{overflow:hidden;text-overflow:ellipsis}._detail_1tutj_141,._detailInput_1tutj_142{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detailInput_1tutj_142{padding:0 0 0 var(--space-half)}._detailInput_1tutj_142 label{margin-bottom:0}._textOnlyInput_1tutj_159{margin:0}._textOnlyInput_1tutj_159 input{border:none}._editButton_1tutj_167{background:none;border:none;height:20px;margin-right:var(--space-half);padding:0;-webkit-appearance:none;width:20px}._editButton_1tutj_167:focus{outline:none}._editButton_1tutj_167 img{opacity:.4;vertical-align:text-bottom;outline:none}._editButton_1tutj_167:hover img{opacity:.55}._detail_1tutj_141:not(:first-child){border-top:solid 1px var(--background)}._detail_1tutj_141 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1tutj_141 label,._detail_1tutj_141 p{margin:0;line-height:1}._detail_1tutj_141._addresses_1tutj_207{align-items:baseline;padding-bottom:0;padding-right:0;padding-top:0}._addresses_1tutj_207 label{padding:var(--space-half) 0}._detailAddresses_1tutj_218{flex-grow:1}._detailAddress_1tutj_218+._detailAddress_1tutj_218{margin-top:calc(var(--space-quarter) * -1)}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._container_1tutj_1{margin:0 0 var(--space-quarter) 0}._row_1tutj_5{height:auto;padding:var(--space-half)}._columnLabel_1tutj_113{display:inline}._action_1tutj_97{align-items:flex-end}}@media (max-width: 926px){._inlineLabel_1tutj_114{display:block;margin-bottom:var(--space-quarter)}._inlineValue_1tutj_128{margin-left:0;text-align:center}}@media (max-width: 666px){._columnLabel_1tutj_113{display:none}._row_1tutj_5{padding:var(--space-half) var(--space-quarter)}._inlineLabel_1tutj_114{white-space:nowrap}._fee_1tutj_132{min-width:0}}@media (max-width: 560px){._status_1tutj_29{display:none}}._container_8wadt_1{max-width:100%;width:100%;min-height:100%;padding:0;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start}._header_8wadt_12{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;flex:none;margin:0 auto;padding:var(--spacing-large) var(--spacing-large) 0 var(--spacing-large);width:800px}._actionsContainer_8wadt_23{display:flex;transform:translateY(-36%);margin-top:var(--space-quarter)}._buy_8wadt_29,._receive_8wadt_30,._walletConnect_8wadt_31,._send_8wadt_32{background-color:var(--color-blue);border-radius:2px;color:var(--color-alt);display:inline-block;font-size:var(--size-default);height:calc(var(--item-height) / 1.5);line-height:calc(var(--item-height) / 1.5);margin-left:var(--space-quarter);min-width:calc(var(--item-height) * 2);padding:0 var(--space-half);text-align:center;text-decoration:none;transition:background-color ease-out .2s;width:auto;will-change:background-color}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{flex-wrap:wrap;justify-content:flex-end}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{display:flex}._buy_8wadt_29:hover,._receive_8wadt_30:hover,._send_8wadt_32:not(._disabled_8wadt_62):hover{background-color:var(--color-lightblue)}._send_8wadt_32._disabled_8wadt_62{cursor:default;opacity:.4}._accountIcon_8wadt_71{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}@media (max-width: 768px){._actionsContainer_8wadt_23{flex:0 0 91%;justify-content:space-between;margin-bottom:var(--space-default);max-width:91%;transform:none;width:91%;margin-left:auto;margin-right:auto;flex-wrap:wrap}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{justify-content:center}._withWalletConnect_8wadt_50 ._buy_8wadt_29,._withWalletConnect_8wadt_50 ._receive_8wadt_30,._withWalletConnect_8wadt_50 ._send_8wadt_32{max-width:25%}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{align-items:center;display:flex;justify-content:center;max-width:15%}._actionsContainer_8wadt_23 a{flex:1 0 30%;margin-right:0;max-width:30%;min-width:unset}._send_8wadt_32,._receive_8wadt_30,._buy_8wadt_29{font-size:var(--size-small);width:auto}}._dropdown_1uw27_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23777' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_1uw27_10 .react-select__control{background-color:var(--background-secondary);border:2px solid var(--color-custom-select-border);border-radius:0;padding:0 var(--space-eight)}._select_1uw27_10{width:280px;background-color:var(--background-secondary);color:var(--color-default)}._select_1uw27_10 .react-select__option.react-select__option--is-focused:not(:hover){outline:solid 1px var(--color-blue)}._select_1uw27_10 .react-select__option.react-select__option--is-selected,._select_1uw27_10 .react-select__option:hover{background-color:var(--background-custom-select-selected)}._select_1uw27_10 .react-select__menu{background-color:var(--background-secondary)}._select_1uw27_10 .react-select__option{background-color:var(--background-secondary);font-size:var(--size-default);color:var(--color-default);padding:var(--space-half) var(--space-quarter);cursor:pointer}._select_1uw27_10 .react-select__menu-list{padding:1px}._select_1uw27_10 .react-select__control:hover{cursor:pointer}._select_1uw27_10 .react-select__single-value,._select_1uw27_10 .react-select__input-container{font-size:var(--size-default);color:var(--color-default)}._select_1uw27_10 .react-select__multi-value{padding:0;margin:0;background:transparent}._select_1uw27_10 .react-select__multi-value__label{padding:0;color:var(--color-default);font-size:var(--size-default)}@media (max-width: 560px){._select_1uw27_10{margin-top:var(--space-quarter);width:100%}}._select_1j2fm_1 .react-select__input-container{position:absolute;top:-2px;left:6px}._select_1j2fm_1 .react-select__option{display:flex;flex-direction:row;align-items:center;justify-content:space-between}._select_1j2fm_1 .react-select__multi-value:nth-child(n+4){display:none}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:not(:nth-last-child(2)):after{content:",";padding-right:2px}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:nth-child(3):not(:nth-last-child(2)):after{content:"…"}._select_1j2fm_1._hideMultiSelect_1j2fm_30 .react-select__multi-value{display:none}._select_1j2fm_1 .react-select__value-container--is-multi{height:var(--item-height-xsmall)}._defaultCurrency_1j2fm_51:hover{cursor:not-allowed}._defaultLabel_1j2fm_55{font-size:var(--size-small);margin:0;text-transform:capitalize}._inlineMessage_gi9x3_1{position:relative;padding:var(--spacing-default) 42px var(--spacing-default) var(--spacing-default);border-radius:3px}._inlineMessage_gi9x3_1._success_gi9x3_7{background-color:var(--color-success);color:var(--color-alt)}._inlineMessage_gi9x3_1._left_gi9x3_12{text-align:left}._close_gi9x3_16{position:absolute;top:var(--spacing-default);right:var(--spacing-default);line-height:1;cursor:pointer}._settingItem_6ge6v_3{margin-top:var(--space-half)}@media (max-width: 768px){._settingItem_6ge6v_3{margin-top:2px}}._headerContainer_wug0g_1{display:flex;flex-direction:column;align-items:center}._headerContainer_wug0g_1 p,._headerContainer_wug0g_1 h1{margin:0}._headerContainer_wug0g_1 h1{margin-top:var(--space-half);font-size:var(--size-large);font-weight:400}._headerContainer_wug0g_1 img{width:64px;height:64px}._headerContainer_wug0g_1 p{color:var(--color-secondary);margin-top:var(--space-quarter)}._accountName_wug0g_28{font-size:20px}._receiveAddress_wug0g_32{font-size:16px}@media (max-width: 768px){._headerContainer_wug0g_1 h1{margin-top:var(--space-eight);font-size:var(--size-subheader)}._headerContainer_wug0g_1 p{font-size:var(--size-small)}._headerContainer_wug0g_1 img{width:36px;height:36px}._headerContainer_wug0g_1 p._receiveAddress_wug0g_32{margin-top:var(--space-eight)}}._formContainer_1wrji_1{display:flex;flex-direction:column}._formButtonsContainer_1wrji_6{display:flex;justify-content:space-between}._inputWithIcon_1wrji_11{position:relative}._inputWithIcon_1wrji_11 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}@media (max-width: 768px){._formButtonsContainer_1wrji_6{flex-direction:column-reverse;margin-top:calc(var(--space-half) + var(--space-quarter))}._formButtonsContainer_1wrji_6 button+button{margin-bottom:var(--space-half)}._mobileQRScanner_1wrji_28{display:flex;flex-direction:column;margin-bottom:calc(var(--space-half) + var(--space-eight))}._mobileQRScanner_1wrji_28 video{max-width:320px;height:320px;margin:0 auto;object-fit:cover}._mobileQRScanner_1wrji_28 ._scanQRLabel_1wrji_41{margin-bottom:var(--space-quarter);margin-left:auto;margin-right:auto;text-align:center}}._buttonsContainer_yg3s8_1{margin-top:var(--space-default);display:flex;justify-content:space-between}._container_yg3s8_7{display:flex;flex-direction:column}._container_yg3s8_7 p._connectionRequest_yg3s8_12{margin-bottom:24px}._container_yg3s8_7 p._receiveAddress_yg3s8_16{color:var(--color-secondary);margin-top:24px}._pairingDetailContainer_yg3s8_21{display:flex;align-items:center;justify-content:space-between}._pairingDetailContainer_yg3s8_21 img{width:64px;height:64px}._pairingDetailContainer_yg3s8_21 p._metadata_yg3s8_32{color:var(--color-default);margin-bottom:var(--space-eight)}@media (max-width: 768px){._buttonsContainer_yg3s8_1{flex-direction:column-reverse}._buttonsContainer_yg3s8_1>*:not(:last-child){margin-top:var(--space-quarter)}._buttonsContainer_yg3s8_1 button{height:calc(var(--space-quarter) + var(--space-default))}._container_yg3s8_7 p._connectionRequest_yg3s8_12{text-align:center}._pairingDetailContainer_yg3s8_21{align-items:flex-start;flex-direction:column-reverse}._pairingDetailContainer_yg3s8_21 img{margin-left:auto;margin-right:auto;margin-bottom:var(--space-default)}}._container_1h5wj_1{align-items:center;display:flex;flex-direction:column}._successIcon_1h5wj_7{width:180px;height:180px}._container_1h5wj_1 p._successText_1h5wj_12{margin:calc(var(--space-quarter) + var(--space-half)) 0;text-align:center}@media (max-width: 768px){._container_1h5wj_1 p._successText_1h5wj_12{margin-bottom:var(--space-large);margin-top:calc(var(--space-quarter) + var(--space-default))}._container_1h5wj_1 button{height:calc(var(--space-quarter) + var(--space-default));width:100%}}._contentContainer_1iwqe_1{display:flex;margin-top:var(--space-default);margin-left:auto;margin-right:auto;max-width:800px;min-height:320px}._contentContainer_1iwqe_1>div{width:100%}._contentContainer_1iwqe_1 p{color:var(--color-secondary);font-size:16px;margin:0}@media (max-width: 768px){._contentContainer_1iwqe_1 p{font-size:var(--size-default)}}._container_1jggi_1{background-color:var(--background-session-card);display:flex;margin-top:calc(var(--space-quarter) + var(--space-half));padding:calc(var(--space-half) + var(--space-quarter));width:100%}._container_1jggi_1 p{color:var(--color-default);font-size:16px;line-height:1.9;margin-bottom:0}._textDataContainer_1jggi_16{display:flex;flex-direction:column}._receiveAddress_1jggi_21{color:var(--color-secondary);margin:0}._accountName_1jggi_26{font-weight:700;margin:0;padding-right:16px;width:240px}._dAppMetadataAndIconContainer_1jggi_33{align-items:center;display:flex}._dAppMetadataAndIconContainer_1jggi_33 p{margin-top:0}._dAppMetadataAndIconContainer_1jggi_33 img{width:var(--item-height);height:var(--item-height);margin-left:calc(var(--space-quarter) + var(--space-half))}._dAppNameAndUrlContainer_1jggi_48{display:flex;flex-direction:column;width:240px}._dAppMetadataAndIconContainer_1jggi_33 p._dappUrl_1jggi_54{margin-top:var(--space-quarter)}._accountNameAndWalletContainer_1jggi_58{display:flex;margin-bottom:calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63{align-items:flex-end;display:flex;margin-left:auto}._buttonDisconnect_1jggi_69{height:unset;padding:calc(var(--space-eight) + var(--space-quarter)) calc(var(--space-default) + var(--space-default))}@media (max-width: 768px){._container_1jggi_1{margin-top:var(--space-half);padding:calc(var(--space-quarter) * 2)}._container_1jggi_1 p{font-size:var(--size-default)}._textDataContainer_1jggi_16{width:50%}._dAppNameAndUrlContainer_1jggi_48,._accountName_1jggi_26{width:100%}._accountNameAndWalletContainer_1jggi_58{margin-bottom:var(--space-quarter)}._buttonAndIconContainer_1jggi_63{flex-direction:column;justify-content:flex-end}._buttonDisconnect_1jggi_69{font-size:var(--size-default);height:var(--item-height-small);padding:var(--space-eight) calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63 img{height:var(--item-height-small);width:var(--item-height-small);margin-top:var(--space-default);margin-bottom:var(--space-default)}}._buttonNewConnection_13so1_1{height:calc(var(--space-default) + var(--space-quarter))}._headerContainer_13so1_5{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:calc(var(--space-half) + var(--space-quarter))}._headerContainer_13so1_5 p{margin:0}._headerContainer_13so1_5 p._receiveAddress_13so1_16{color:var(--color-secondary);margin-top:var(--space-quarter);font-size:16px}._noConnectedSessions_13so1_22{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-large);text-align:center}._separator_13so1_30{background:var(--color-disabled);border:none;height:2px;margin:0}._sessionCardsContainer_13so1_37{display:flex;flex-direction:column}._allSessionsHeading_13so1_42{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-half)}@media (max-width: 768px){._buttonNewConnection_13so1_1{height:var(--space-default);padding:0 16px}._headerContainer_13so1_5 p{font-size:16px}._headerContainer_13so1_5 p._receiveAddress_13so1_16,._noConnectedSessions_13so1_22,._allSessionsHeading_13so1_42{font-size:var(--size-default)}._allSessionsHeading_13so1_42{margin-top:var(--space-quarter)}}._passwordGesturesWrapper_mvckk_1{height:auto;margin:var(--space-default) auto 0 auto;position:relative;width:100%}._passwordGestures_mvckk_1{background-color:#fff;display:block;height:75%;margin:0 auto;max-width:600px;object-fit:cover;width:100%}._passwordGestures_mvckk_1[src=""]:after{background-color:#fff;content:"";position:absolute;top:0;left:0;right:0;bottom:0}._toggle_1lt1t_1{align-items:center;display:flex;flex-direction:row}._toggleLabel_1lt1t_7{flex-grow:1;line-height:1.4;margin-bottom:0;padding-right:var(--space-half)}._textIcon_1lt1t_14{height:1.2em;margin-right:.5em;vertical-align:text-bottom}._wizardCheckbox_1shxj_2 label{font-size:var(--size-wizard-text)!important;line-height:1.4}._wizardCheckbox_1shxj_2 label:before{top:2px!important}._wizardCheckbox_1shxj_2 label:after{top:6px!important}._wizardLabel_11dvu_2 label{font-size:var(--size-wizard-text)!important}._logo_rqpye_1{display:block;filter:grayscale(100%);margin:var(--space-half) auto;max-height:32px;max-width:100%;opacity:.61}._prominent_rqpye_9{max-height:48px}@media (min-width: 1200px){._logo_rqpye_1{margin-top:var(--space-default);max-height:42px}._prominent_rqpye_9{max-height:72px}}._hostname_rqpye_22{color:var(--color-secondary)}@media (min-width: 769px){._hostname_rqpye_22{margin:0}}._capitalized_rqpye_31:first-letter{text-transform:capitalize}._banner_yebbr_1{background-color:var(--color-blue);color:var(--color-alt);font-weight:400;font-size:var(--size-subheader);padding:var(--space-half);text-align:center}._smallIcon_yebbr_10{margin:auto 0;width:30px}._successText_yebbr_15{color:var(--color-secondary);font-weight:400;font-size:var(--size-subheader);margin-bottom:var(--space-quarter)}@media (max-width: 768px){._successText_yebbr_15{font-size:var(--size-default);margin-top:0}}._proceed_yebbr_28{margin-bottom:var(--space-half);margin-top:0}._message_yebbr_33{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;min-height:52px;padding:var(--space-quarter) var(--space-half);text-align:left;width:100%;white-space:pre-line}@media (min-width: 1200px){._message_yebbr_33{--size-default: 18px}}._link_4u2en_1{color:var(--color-alt)}._link_4u2en_1:focus{outline-color:inherit}._bitboxContainer_1nxo8_1{margin-top:calc(var(--space-default) + var(--space-quarter));margin-bottom:calc(var(--space-default) + var(--space-quarter))}._bitboxContainer_1nxo8_1>div img{width:198px;height:115px;margin-right:var(--space-default)}._bitboxContainer_1nxo8_1>div svg{width:20px;height:20px}._bitboxContainer_1nxo8_1._failed_1nxo8_18{align-items:center;display:flex;flex-direction:column}._bitboxImage_1nxo8_24{width:198px;height:115px}._cancelIcon_1nxo8_29{margin-right:16px;width:48px}._text_1nxo8_35{font-size:16px}@media (max-width: 768px){._text_1nxo8_35{font-size:var(--size-default)}}._link_13in7_1{color:inherit}._auth_xdrxz_1{position:absolute;width:100%;height:100%;z-index:9999}._accountName_gsa52_1{font-size:16px;margin:0 var(--space-half) 0 0}._accountNameAndAddress_gsa52_6{display:flex}._address_gsa52_10{color:var(--color-secondary);font-size:16px;margin:0}._animationAndTextContainer_gsa52_16{align-items:center;display:flex;flex-direction:column;margin:auto}._animationAndTextContainer_gsa52_16 p{font-size:var(--header-default-font-size);margin-top:var(--space-quarter)}._chainContainer_gsa52_28{align-items:center;display:flex}._chainContainer_gsa52_28 ._itemText_gsa52_33{margin-right:calc(var(--space-quarter) + var(--space-eight))}._chainContainer_gsa52_28 img{height:20px;width:20px}._dappIcon_gsa52_42{height:96px;width:96px}._item_gsa52_33{display:flex;flex-direction:column}._item_gsa52_33+._item_gsa52_33{margin-top:var(--space-half)}._itemText_gsa52_33{font-size:16px;margin:0}._label_gsa52_62{color:var(--color-secondary);font-size:var(--size-default);margin:0 0 var(--space-quarter) 0}._listContainer_gsa52_68{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}._outerContainer_gsa52_77{display:flex;flex-direction:column;min-height:460px;padding:0 var(--space-half)}._successIcon_gsa52_84{height:240px;width:240px}._textarea_gsa52_89{border-color:var(--background-quaternary);border-radius:var(--space-eight);font-family:var(--font-family);padding:var(--space-quarter);width:100%}._titleContainer_gsa52_97{align-items:center;display:flex;margin-bottom:var(--space-half)}._titleContainer_gsa52_97 h3{font-size:var(--header-default-font-size);font-weight:400;margin:0 0 0 var(--space-eight);padding:0 var(--space-quarter)}:root{--color-darkgreen: #4f9879;--color-green: #7aba7a;--color-lightgreen: rgba(79, 152, 121, .33);--color-palegreen: rgba(79, 152, 121, .2);--color-softred: #EC644B;--color-lightred: #F28E72;--color-swissred: #E30613;--color-white: #FFFFFF;--color-lightgray: #F5F5F5;--color-mediumgray: #E5E5E5;--color-gray-alt: #999999;--color-gray: #777777;--color-softblack: #333333;--color-dark: #1D1D1B;--color-yellow: #fef160;--color-darkyellow: rgb(243, 234, 0, .66);--color-lightyellow: rgba(255, 252, 177, .15);--color-darkblue: #4f7998;--color-blue: #5E94BF;--color-lightblue: #73A5CD;--color-light-skyblue: #ECF7FF;--color-electric-blue: #2684FF;--color-powder-blue: #DEEBFF;--color-pale-ice-blue: #E6F7FF;--color-blue-alt: #91BFCF;--color-orange: #F5A04C;--color-olive: #908B00;--color-lightorange: #F9AC60;--color-success: var(--color-green);--color-info: var(--color-blue);--color-warning: var(--color-softred);--color-error: var(--color-swissred);--color-danger: var(--color-error);--size-extra-large: 2.2rem;--size-large: 2rem;--size-large-mobile: 1.4rem;--size-subheader: 18px;--size-medium: var(--size-default);--size-default: 14px;--size-small: 12px;--size-xsmall: 11px;--size-label: var(--size-small);--size-button: var(--size-default);--size-title: 32px;--size-wizard-text: 16px;--spacing-large: 2rem;--spacing-default: 1rem;--spacing-half: .5rem;--space-large: 64px;--space-default: 32px;--space-half: 16px;--space-quarter: 8px;--space-eight: 4px;--item-height-xsmall: 24px;--item-height-small: 36px;--item-height: 52px;--item-height-large: 72px;--item-height-xlarge: 84px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--sidebar-width-large: 250px;--sidebar-margin: 32px;--sidebar-item-height: 52px;--sidebar-icon-margin: 14px;--sidebar-icon-size: 24px;--sidebar-header-size: 12px;--sidebar-header-line-height: 16px;--header-height: 70px;--header-default-font-size: 24px;--content-width: 1080px;--content-width-small: 550px;--content-width-larger: 740px;--guide-width: 350px}:root,.light-mode{--color-disabled: var(--color-mediumgray);--color-default: var(--color-dark);--color-primary: var(--color-blue);--color-secondary: var(--color-gray);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-lightgray);--background: var(--color-lightgray);--background-blue: var(--color-blue);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-white);--background-dark: var(--color-softblack);--background-focus: var(--color-light-skyblue);--background-tertiary: var(--color-gray-alt);--background-quaternary: var(--color-mediumgray);--background-custom-select-hover: var(--color-powder-blue);--background-custom-select-selected: var(--color-pale-ice-blue);--background-session-card: var(--color-white)}@media (prefers-color-scheme: dark){:root{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (prefers-color-scheme: light){.dark-mode{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (max-width: 1199px){:root{--size-title: 18px}}@media (max-width: 768px){:root{--header-default-font-size: 20px;--size-subheader: 16px;--size-title: 16px;--size-wizard-text: 14px}}html,body{background-color:var(--background);color:var(--color-default);font-family:var(--font-family);font-weight:400;height:100%;line-height:1.3;margin:0;overflow:hidden;padding:0;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-app-region:drag}*{box-sizing:border-box}hr{background:none;border-color:var(--background-quaternary) transparent;border-style:solid;border-width:1px 0 0 0;margin:var(--spacing-large) 0}h1,h2,h3,h4,h5{line-height:1.25}::-webkit-scrollbar-track{background-color:#f5f5f5}::-webkit-scrollbar{width:4px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{background-color:var(--color-gray)}p{font-weight:400;font-size:var(--size-default)}a{color:var(--color-blue);cursor:pointer}dl div{display:inline-block;margin-right:var(--spacing-large)}dl dt{margin-right:var(--spacing-half);text-indent:0}dl dd{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis}img,button{-webkit-user-select:none;user-select:none}svg{stroke-width:1.6!important}pre{background-color:var(--background-secondary);display:block;font-family:monospace;font-size:20px;margin:0 0 var(--space-default) 0;padding:var(--space-default);text-align:center}progress{display:block;width:100%}.flex{display:flex!important}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-center{justify-content:center}.flex-start{justify-content:flex-start}.flex-around{justify-content:space-around}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-items-center{align-items:center}.flex-items-baseline{align-items:baseline}.flex-items-start{align-items:flex-start}.flex-items-end{align-items:flex-end}.flex-items-stretch{align-items:stretch}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-grow{flex-grow:1}.flex-none{flex:none!important}.flex>*{min-width:0}@media (max-width: 768px){.flex-column-mobile{flex-direction:column}.flex-reverse-mobile{flex-direction:column-reverse}.flex-self-start-mobile{align-self:flex-start}}.text-center{text-align:center}.text-right{text-align:right}.text-small{font-size:var(--size-small)}.text-medium{font-size:var(--size-default)}.text-medium>label{font-size:var(--size-default);text-transform:none}.text-blue{color:var(--color-blue)}.text-red{color:var(--color-danger)}.text-green{color:var(--color-success)}.text-gray{color:var(--color-secondary)}.show-on-small{display:none}.text-ellipsis{overflow-x:hidden;text-overflow:ellipsis}.text-break{word-break:break-all}.first{margin-top:0!important}.spaced>*:not(:last-child){margin-right:var(--space-default)}.app{display:flex;flex:1 1 auto;min-height:100vh}.appContent{height:100vh}@media (max-width: 900px){.appContent{position:absolute;width:100%}}@media (max-width: 768px){.spaced>*:not(:last-child){margin-right:var(--space-quarter)}}.contentWithGuide{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}.container{display:flex;flex:1 1 auto;flex-direction:column;position:relative;width:100%}.innerContainer{display:flex;flex-direction:column;height:100%}.scrollableContainer{overflow:auto}.scrollContainer{overflow-x:auto;overflow-y:scroll}.subTitle{font-size:var(--size-subheader);font-weight:400;line-height:1;margin:0 0 calc(var(--space-half) * 1.5) 0}.title{font-size:var(--size-title);font-weight:400;line-height:1;margin:0 0 var(--space-half) 0}@media (min-width: 1200px){.title{margin:0 0 var(--space-default) 0}}.content{flex:1;margin:0 auto;max-width:var(--content-width);padding:0 var(--space-default);width:100%}.content.narrow{max-width:var(--content-width-small)}.content.larger{max-width:var(--content-width-larger)}.content.padded{padding-top:var(--space-default)}@media (max-width: 768px){.content{padding:0 var(--space-half)}}.tabs{width:100%;max-width:var(--content-width);margin:0 auto}.tabs .tab{width:50%;height:52px;border:solid 1px var(--color-gray);transition:all .2s ease-out}.tabs .tab.active{border:solid 1px var(--color-blue)}.tabs .tab a{width:100%;height:100%;padding:var(--space-quarter);display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:center;text-decoration:none;font-size:var(--size-default);color:var(--color-secondary);transition:all .2s ease-out}.tabs .tab.active a{color:var(--color-blue);background-color:var(--background-secondary)}@media (max-width: 768px){.tabs .tab a{font-size:var(--size-small)}}.row:not(:first-child){margin-top:var(--space-quarter)}.row:not(:first-child).extra{margin-top:var(--space-half)}.isVerticallyCentered{display:flex;flex-direction:column;justify-content:center}.box{background-color:var(--background-secondary);padding:var(--space-half)}.box>*:first-child{margin-top:0}.box.large{padding:var(--space-default)}.box.larger{padding:var(--space-large)}.box.slim{padding:0}.box.slim.divide>*:not(:first-child){border-top:solid 1px var(--background)}.box .buttons{margin-top:var(--space-default);width:100%}.box .buttons.ignore{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.box .buttons.ignore.reverse{flex-direction:row-reverse}.box .buttons.ignore>*:not(:first-child){margin-left:var(--space-half);margin-right:0}.box .buttons.ignore.reverse>*:not(:first-child){margin-right:var(--space-half);margin-left:0}.box .buttons:not(.ignore)>*:not(:first-child){margin-top:var(--space-quarter)}.box .buttons:not(.ignore) button,.box .buttons:not(.ignore) a{width:100%}.m-none{margin:0!important}.m-top-none{margin-top:0!important}.m-top-quarter{margin-top:var(--space-quarter)!important}.m-top-half{margin-top:var(--space-half)!important}.m-top-default{margin-top:var(--space-default)!important}.m-top-default-extra{margin-top:calc(var(--space-default) * 1.5)!important}.m-top-large{margin-top:var(--space-large)!important}.m-right-tiny{margin-right:calc(var(--space-quarter) / 2)!important}.m-right-quarter{margin-right:var(--space-quarter)!important}.m-right-half{margin-right:var(--space-half)!important}.m-right-default{margin-right:var(--space-default)!important}.m-bottom-none{margin-bottom:0!important}.m-bottom-quarter{margin-bottom:var(--space-quarter)!important}.m-bottom-half{margin-bottom:var(--space-half)!important}.m-bottom-default{margin-bottom:var(--space-default)!important}.m-bottom-large{margin-bottom:calc(var(--space-half) * 1.5)!important}.m-bottom-xlarge{margin-bottom:calc(var(--space-half) * 3)!important}.m-bottom-xxlarge{margin-bottom:calc(var(--space-half) * 6)!important}.m-left-quarter{margin-left:var(--space-quarter)!important}.m-left-half{margin-left:var(--space-half)!important}.m-left-default{margin-left:var(--space-default)!important}.width-1-1{width:100%!important}.noPadding,.p-none{padding:0!important}.p-top-none{padding-top:0!important}.p-top-quarter{padding-top:var(--space-quarter)!important}.p-top-half{padding-top:var(--space-half)!important}.p-top-default{padding-top:var(--space-default)!important}.p-top-default-extra{padding-top:calc(var(--space-default) * 1.5)!important}.p-top-large{padding-top:var(--space-large)!important}.p-right-none{padding-right:0!important}.p-right-quarter{padding-right:var(--space-quarter)!important}.p-right-half{padding-right:var(--space-half)!important}.p-right-default{padding-right:var(--space-default)!important}.p-bottom-none{padding-bottom:0!important}.p-bottom-quarter{padding-bottom:var(--space-quarter)!important}.p-bottom-half{padding-bottom:var(--space-half)!important}.p-bottom-default{padding-bottom:var(--space-default)!important}.p-bottom-large{padding-bottom:calc(var(--space-half) * 1.5)!important}.p-left-none{padding-left:0!important}.p-left-quarter{padding-left:var(--space-quarter)!important}.p-left-half{padding-left:var(--space-half)!important}.p-left-default{padding-left:var(--space-default)!important}.wrapped{margin-top:calc(var(--spacing-half) * -1)}.wrapped>*{margin-top:var(--spacing-half)}.items{flex-shrink:0;position:relative;margin:calc(var(--space-quarter) * -1)}.items.marginBottom{margin-bottom:var(--space-half)}.buttons-end{text-align:right}.items>*{display:inline-block;margin:var(--space-quarter)}.stacked{position:relative}.stacked img{transition:opacity .2s ease}.stacked img:last-child{opacity:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.transparent{display:none}@media (max-width: 768px){.row:not(:first-child){margin-top:var(--space-quarter)}.box.large{padding:var(--space-half)}.box.larger{padding:var(--space-default)}.m-top-quarter-on-small{margin-top:var(--space-quarter)}.full-width-on-small{width:100%}.hide-on-small{display:none}.show-on-small{display:initial}}.light-mode .show-in-darkmode,.dark-mode .show-in-lightmode{display:none}.columnsContainer{width:100%}.columns{display:block;margin-right:calc(var(--space-default) * -1)}.columnsContainer.half .columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-default);margin-bottom:var(--space-default);display:inline-block;vertical-align:top}.columnsContainer.half .columns>*{margin-right:var(--space-half);margin-bottom:var(--space-half)}.columns.quarter>*{margin-bottom:var(--space-quarter)!important}.columnsContainer .columns .column{width:calc(100% - var(--space-default))}.columnsContainer.half .columns .column{width:calc(100% - var(--space-half))}.columnsContainer .columns .column.column-1-2{width:calc((100% - (var(--space-default) * 2)) / 2)}.columnsContainer.half .columns .column.column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columnsContainer .columns .column.column-1-3{width:calc((100% - (var(--space-default) * 3)) / 3)}.columnsContainer.half .columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}.columns .column.column-2-3{width:calc((100% - (var(--space-half) * 3)) / 1.5)}.column>*:first-child{margin-top:0}.column>*:last-child{margin-bottom:0}@media (max-width: 768px){.columnsContainer{margin-right:calc(var(--space-half) * -1)}.columnsContainer>*{margin-right:var(--space-half)}.columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-half);margin-bottom:calc(var(--space-half) * 1.5)}.columnsContainer.half .columns>*{margin-bottom:var(--space-quarter)}.columns .column{width:calc(100% - (var(--space-half)))!important}.columns .column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}}button,input[type=checkbox],input[type=radio]{-webkit-user-select:none;user-select:none}input[type=number],input[type=password],input[type=text],textarea{color:var(--color-default);background:var(--background-secondary)}label,dt{color:var(--color-secondary);display:block;font-size:var(--size-default);font-weight:400;line-height:1;margin-bottom:var(--space-quarter)}.labelXLarge{font-size:var(--size-subheader);margin-bottom:calc(var(--space-half) * 1.5);color:var(--color-default)}input:invalid,input:invalid:focus{border-color:var(--color-error)}input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}a[tabindex="0"]:focus,button:focus,input:focus,select:focus,input[type=checkbox]:focus+label:before{outline-color:var(--color-blue);outline-offset:-2px;outline-style:auto;outline-width:4px}@media (max-width: 768px){.labelXLarge{margin-bottom:var(--space-half)}}.checked-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:1;stroke-miterlimit:10;stroke:#7aba7a;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checked{border-radius:50%;stroke:#fff;stroke-miterlimit:10;stroke-width:1!important;box-shadow:inset 0 0 #7aba7a;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checked-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards;stroke:#7aba7a}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.02,1.02,1)}}.caretDown{animation:fadeinout 3s cubic-bezier(.45,.05,.55,.95) infinite;stroke-width:1!important;max-width:26px}.dark-mode .caretDown{fill:#fff}@keyframes fadeinout{0%,to{opacity:1}50%{opacity:.1}} diff --git a/frontends/web/build/assets/index.es-439fa429.js b/frontends/web/build/assets/index.es-439fa429.js deleted file mode 100644 index bc27613344..0000000000 --- a/frontends/web/build/assets/index.es-439fa429.js +++ /dev/null @@ -1 +0,0 @@ -import{g as Yi,a as lo,E as Nt,b as G,I as fo,M as Wi,O as Ji,P as jr,R as dr,S as go,c as ut,N as J,T as Xi,V as Qi,Z as po,$ as Ar,a0 as yo,K as mo,a1 as bo,a2 as si,a3 as vo,a4 as wo,a5 as _o,a6 as ni,a7 as Eo,L as Fr,a8 as Cr,U as Bt,a9 as sr,aa as Gt,ab as xo,ac as Io,ad as oi,ae as So,af as To,w as Nr,ag as Ro,ah as Oo,_ as Lo,p as nr,ai as Po,aj as ai,d as Ao,y as _r,m as ci,H as Er,k as Fo,n as Co,C as No,ak as Do,al as Mo,am as zo,D as Uo,an as $o,ao as jo}from"./index-b913d093.js";var Kr={exports:{}},Ct=typeof Reflect=="object"?Reflect:null,hi=Ct&&typeof Ct.apply=="function"?Ct.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)},or;Ct&&typeof Ct.ownKeys=="function"?or=Ct.ownKeys:Object.getOwnPropertySymbols?or=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:or=function(e){return Object.getOwnPropertyNames(e)};function Ko(r){console&&console.warn&&console.warn(r)}var Zi=Number.isNaN||function(e){return e!==e};function X(){X.init.call(this)}Kr.exports=X;Kr.exports.once=Go;X.EventEmitter=X;X.prototype._events=void 0;X.prototype._eventsCount=0;X.prototype._maxListeners=void 0;var ui=10;function gr(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(X,"defaultMaxListeners",{enumerable:!0,get:function(){return ui},set:function(r){if(typeof r!="number"||r<0||Zi(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");ui=r}});X.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};X.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Zi(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function es(r){return r._maxListeners===void 0?X.defaultMaxListeners:r._maxListeners}X.prototype.getMaxListeners=function(){return es(this)};X.prototype.emit=function(e){for(var t=[],i=1;i0&&(c=t[0]),c instanceof Error)throw c;var l=new Error("Unhandled error."+(c?" ("+c.message+")":""));throw l.context=c,l}var p=a[e];if(p===void 0)return!1;if(typeof p=="function")hi(p,this,t);else for(var h=p.length,g=ns(p,h),i=0;i0&&c.length>n&&!c.warned){c.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+c.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=r,l.type=e,l.count=c.length,Ko(l)}return r}X.prototype.addListener=function(e,t){return ts(this,e,t,!1)};X.prototype.on=X.prototype.addListener;X.prototype.prependListener=function(e,t){return ts(this,e,t,!0)};function Bo(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function rs(r,e,t){var i={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},n=Bo.bind(i);return n.listener=t,i.wrapFn=n,n}X.prototype.once=function(e,t){return gr(t),this.on(e,rs(this,e,t)),this};X.prototype.prependOnceListener=function(e,t){return gr(t),this.prependListener(e,rs(this,e,t)),this};X.prototype.removeListener=function(e,t){var i,n,a,c,l;if(gr(t),n=this._events,n===void 0)return this;if(i=n[e],i===void 0)return this;if(i===t||i.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if(typeof i!="function"){for(a=-1,c=i.length-1;c>=0;c--)if(i[c]===t||i[c].listener===t){l=i[c].listener,a=c;break}if(a<0)return this;a===0?i.shift():Ho(i,a),i.length===1&&(n[e]=i[0]),n.removeListener!==void 0&&this.emit("removeListener",e,l||t)}return this};X.prototype.off=X.prototype.removeListener;X.prototype.removeAllListeners=function(e){var t,i,n;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[e]),this;if(arguments.length===0){var a=Object.keys(i),c;for(n=0;n=0;n--)this.removeListener(e,t[n]);return this};function is(r,e,t){var i=r._events;if(i===void 0)return[];var n=i[e];return n===void 0?[]:typeof n=="function"?t?[n.listener||n]:[n]:t?ko(n):ns(n,n.length)}X.prototype.listeners=function(e){return is(this,e,!0)};X.prototype.rawListeners=function(e){return is(this,e,!1)};X.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):ss.call(r,e)};X.prototype.listenerCount=ss;function ss(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}X.prototype.eventNames=function(){return this._eventsCount>0?or(this._events):[]};function ns(r,e){for(var t=new Array(e),i=0;i{const r=new Map;return{name:na,options:{},hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function aa(r={}){const e={mounts:{"":r.driver||oa()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=h=>{for(const g of e.mountpoints)if(h.startsWith(g))return{base:g,relativeKey:h.slice(g.length),driver:e.mounts[g]};return{base:"",relativeKey:h,driver:e.mounts[""]}},i=(h,g)=>e.mountpoints.filter(w=>w.startsWith(h)||g&&h.startsWith(w)).map(w=>({relativeBase:h.length>w.length?h.slice(w.length):void 0,mountpoint:w,driver:e.mounts[w]})),n=(h,g)=>{if(e.watching){g=Je(g);for(const w of e.watchListeners)w(h,g)}},a=async()=>{if(!e.watching){e.watching=!0;for(const h in e.mounts)e.unwatch[h]=await li(e.mounts[h],n,h)}},c=async()=>{if(e.watching){for(const h in e.unwatch)await e.unwatch[h]();e.unwatch={},e.watching=!1}},l=(h,g,w)=>{const I=new Map,R=x=>{let O=I.get(x.base);return O||(O={driver:x.driver,base:x.base,items:[]},I.set(x.base,O)),O};for(const x of h){const O=typeof x=="string",$=Je(O?x:x.key),B=O?void 0:x.value,U=O||!x.options?g:{...g,...x.options},Q=t($);R(Q).items.push({key:$,value:B,relativeKey:Q.relativeKey,options:U})}return Promise.all([...I.values()].map(x=>w(x))).then(x=>x.flat())},p={hasItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.hasItem,w,g)},getItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.getItem,w,g).then(R=>rr(R))},getItems(h,g){return l(h,g,w=>w.driver.getItems?Ue(w.driver.getItems,w.items.map(I=>({key:I.relativeKey,options:I.options})),g).then(I=>I.map(R=>({key:sa(w.base,R.key),value:rr(R.value)}))):Promise.all(w.items.map(I=>Ue(w.driver.getItem,I.relativeKey,I.options).then(R=>({key:I.key,value:rr(R)})))))},getItemRaw(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return I.getItemRaw?Ue(I.getItemRaw,w,g):Ue(I.getItem,w,g).then(R=>ia(R))},async setItem(h,g,w={}){if(g===void 0)return p.removeItem(h);h=Je(h);const{relativeKey:I,driver:R}=t(h);R.setItem&&(await Ue(R.setItem,I,ar(g),w),R.watch||n("update",h))},async setItems(h,g){await l(h,g,async w=>{w.driver.setItems&&await Ue(w.driver.setItems,w.items.map(I=>({key:I.relativeKey,value:ar(I.value),options:I.options})),g),w.driver.setItem&&await Promise.all(w.items.map(I=>Ue(w.driver.setItem,I.relativeKey,ar(I.value),I.options)))})},async setItemRaw(h,g,w={}){if(g===void 0)return p.removeItem(h,w);h=Je(h);const{relativeKey:I,driver:R}=t(h);if(R.setItemRaw)await Ue(R.setItemRaw,I,g,w);else if(R.setItem)await Ue(R.setItem,I,ra(g),w);else return;R.watch||n("update",h)},async removeItem(h,g={}){typeof g=="boolean"&&(g={removeMeta:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h);I.removeItem&&(await Ue(I.removeItem,w,g),(g.removeMeta||g.removeMata)&&await Ue(I.removeItem,w+"$",g),I.watch||n("remove",h))},async getMeta(h,g={}){typeof g=="boolean"&&(g={nativeOnly:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h),R=Object.create(null);if(I.getMeta&&Object.assign(R,await Ue(I.getMeta,w,g)),!g.nativeOnly){const x=await Ue(I.getItem,w+"$",g).then(O=>rr(O));x&&typeof x=="object"&&(typeof x.atime=="string"&&(x.atime=new Date(x.atime)),typeof x.mtime=="string"&&(x.mtime=new Date(x.mtime)),Object.assign(R,x))}return R},setMeta(h,g,w={}){return this.setItem(h+"$",g,w)},removeMeta(h,g={}){return this.removeItem(h+"$",g)},async getKeys(h,g={}){h=ir(h);const w=i(h,!0);let I=[];const R=[];for(const x of w){const $=(await Ue(x.driver.getKeys,x.relativeBase,g)).map(B=>x.mountpoint+Je(B)).filter(B=>!I.some(U=>B.startsWith(U)));R.push(...$),I=[x.mountpoint,...I.filter(B=>!B.startsWith(x.mountpoint))]}return h?R.filter(x=>x.startsWith(h)&&!x.endsWith("$")):R.filter(x=>!x.endsWith("$"))},async clear(h,g={}){h=ir(h),await Promise.all(i(h,!1).map(async w=>{if(w.driver.clear)return Ue(w.driver.clear,w.relativeBase,g);if(w.driver.removeItem){const I=await w.driver.getKeys(w.relativeBase||"",g);return Promise.all(I.map(R=>w.driver.removeItem(R,g)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(h=>fi(h)))},async watch(h){return await a(),e.watchListeners.push(h),async()=>{e.watchListeners=e.watchListeners.filter(g=>g!==h),e.watchListeners.length===0&&await c()}},async unwatch(){e.watchListeners=[],await c()},mount(h,g){if(h=ir(h),h&&e.mounts[h])throw new Error(`already mounted at ${h}`);return h&&(e.mountpoints.push(h),e.mountpoints.sort((w,I)=>I.length-w.length)),e.mounts[h]=g,e.watching&&Promise.resolve(li(g,n,h)).then(w=>{e.unwatch[h]=w}).catch(console.error),p},async unmount(h,g=!0){h=ir(h),!(!h||!e.mounts[h])&&(e.watching&&h in e.unwatch&&(e.unwatch[h](),delete e.unwatch[h]),g&&await fi(e.mounts[h]),e.mountpoints=e.mountpoints.filter(w=>w!==h),delete e.mounts[h])},getMount(h=""){h=Je(h)+":";const g=t(h);return{driver:g.driver,base:g.base}},getMounts(h="",g={}){return h=Je(h),i(h,g.parents).map(I=>({driver:I.driver,base:I.mountpoint}))}};return p}function li(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function fi(r){typeof r.dispose=="function"&&await Ue(r.dispose)}function Ot(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function cs(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=Ot(t);return(n,a)=>i.then(c=>a(c.transaction(e,n).objectStore(e)))}let xr;function Vt(){return xr||(xr=cs("keyval-store","keyval")),xr}function di(r,e=Vt()){return e("readonly",t=>Ot(t.get(r)))}function ca(r,e,t=Vt()){return t("readwrite",i=>(i.put(e,r),Ot(i.transaction)))}function ha(r,e=Vt()){return e("readwrite",t=>(t.delete(r),Ot(t.transaction)))}function ua(r=Vt()){return r("readwrite",e=>(e.clear(),Ot(e.transaction)))}function la(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},Ot(r.transaction)}function fa(r=Vt()){return r("readonly",e=>{if(e.getAllKeys)return Ot(e.getAllKeys());const t=[];return la(e,i=>t.push(i.key)).then(()=>t)})}const da=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),ga=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function pr(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return ga(r)}catch{return r}}function qt(r){return typeof r=="string"?r:da(r)||""}const pa="idb-keyval";var ya=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=cs(r.dbName,r.storeName)),{name:pa,options:r,async hasItem(n){return!(typeof await di(t(n),i)>"u")},async getItem(n){return await di(t(n),i)??null},setItem(n,a){return ca(t(n),a,i)},removeItem(n){return ha(t(n),i)},getKeys(){return fa(i)},clear(){return ua(i)}}};const ma="WALLET_CONNECT_V2_INDEXED_DB",ba="keyvaluestorage";class va{constructor(){this.indexedDb=aa({driver:ya({dbName:ma,storeName:ba})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,qt(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var Ir=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cr={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,i){this[t]=String(i)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(i){t[i]=void 0,delete t[i]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof Ir<"u"&&Ir.localStorage?cr.exports=Ir.localStorage:typeof window<"u"&&window.localStorage?cr.exports=window.localStorage:cr.exports=new e})();function wa(r){var e;return[r[0],pr((e=r[1])!=null?e:"")]}class _a{constructor(){this.localStorage=cr.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(wa)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return pr(t)}async setItem(e,t){this.localStorage.setItem(e,qt(t))}async removeItem(e){this.localStorage.removeItem(e)}}const Ea="wc_storage_version",gi=1,xa=async(r,e,t)=>{const i=Ea,n=await e.getItem(i);if(n&&n>=gi){t(e);return}const a=await r.getKeys();if(!a.length){t(e);return}const c=[];for(;a.length;){const l=a.shift();if(!l)continue;const p=l.toLowerCase();if(p.includes("wc@")||p.includes("walletconnect")||p.includes("wc_")||p.includes("wallet_connect")){const h=await r.getItem(l);await e.setItem(l,h),c.push(l)}}await e.setItem(i,gi),t(e),Ia(r,c)},Ia=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let Sa=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new _a;this.storage=e;try{const t=new va;xa(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};var Dt={},$t={},Sr={},jt={};let Lt=class{};const Ta=Object.freeze(Object.defineProperty({__proto__:null,IEvents:Lt},Symbol.toStringTag,{value:"Module"})),Ra=lo(Ta);var pi;function Oa(){if(pi)return jt;pi=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.IHeartBeat=void 0;const r=Ra;class e extends r.IEvents{constructor(i){super()}}return jt.IHeartBeat=e,jt}var yi;function hs(){return yi||(yi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(Oa(),r)}(Sr)),Sr}var Tr={},Tt={},mi;function La(){if(mi)return Tt;mi=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.HEARTBEAT_EVENTS=Tt.HEARTBEAT_INTERVAL=void 0;const r=G;return Tt.HEARTBEAT_INTERVAL=r.FIVE_SECONDS,Tt.HEARTBEAT_EVENTS={pulse:"heartbeat_pulse"},Tt}var bi;function us(){return bi||(bi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(La(),r)}(Tr)),Tr}var vi;function Pa(){if(vi)return $t;vi=1,Object.defineProperty($t,"__esModule",{value:!0}),$t.HeartBeat=void 0;const r=Nt,e=lt,t=G,i=hs(),n=us();class a extends i.IHeartBeat{constructor(l){super(l),this.events=new e.EventEmitter,this.interval=n.HEARTBEAT_INTERVAL,this.interval=(l==null?void 0:l.interval)||n.HEARTBEAT_INTERVAL}static init(l){return r.__awaiter(this,void 0,void 0,function*(){const p=new a(l);return yield p.init(),p})}init(){return r.__awaiter(this,void 0,void 0,function*(){yield this.initialize()})}stop(){clearInterval(this.intervalRef)}on(l,p){this.events.on(l,p)}once(l,p){this.events.once(l,p)}off(l,p){this.events.off(l,p)}removeListener(l,p){this.events.removeListener(l,p)}initialize(){return r.__awaiter(this,void 0,void 0,function*(){this.intervalRef=setInterval(()=>this.pulse(),t.toMiliseconds(this.interval))})}pulse(){this.events.emit(n.HEARTBEAT_EVENTS.pulse)}}return $t.HeartBeat=a,$t}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(Pa(),r),e.__exportStar(hs(),r),e.__exportStar(us(),r)})(Dt);var Y={},Rr,wi;function Aa(){if(wi)return Rr;wi=1;function r(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}Rr=e;function e(t,i,n){var a=n&&n.stringify||r,c=1;if(typeof t=="object"&&t!==null){var l=i.length+c;if(l===1)return t;var p=new Array(l);p[0]=a(t);for(var h=1;h-1?R:0,t.charCodeAt(O+1)){case 100:case 102:if(I>=g||i[I]==null)break;R=g||i[I]==null)break;R=g||i[I]===void 0)break;R",R=O+2,O++;break}w+=a(i[I]),R=O+2,O++;break;case 115:if(I>=g)break;R-1&&(K=!1);const k=["error","fatal","warn","info","debug","trace"];typeof P=="function"&&(P.error=P.fatal=P.warn=P.info=P.debug=P.trace=P),v.enabled===!1&&(v.level="silent");const le=v.level||"info",y=Object.create(P);y.log||(y.log=$),Object.defineProperty(y,"levelVal",{get:Z}),Object.defineProperty(y,"level",{get:ae,set:C});const _={transmit:S,serialize:D,asObject:v.browser.asObject,levels:k,timestamp:R(v)};y.levels=n.levels,y.level=le,y.setMaxListeners=y.getMaxListeners=y.emit=y.addListener=y.on=y.prependListener=y.once=y.prependOnceListener=y.removeListener=y.removeAllListeners=y.listeners=y.listenerCount=y.eventNames=y.write=y.flush=$,y.serializers=j,y._serialize=D,y._stdErrSerialize=K,y.child=L,S&&(y._logEvent=w());function Z(){return this.level==="silent"?1/0:this.levels.values[this.level]}function ae(){return this._level}function C(T){if(T!=="silent"&&!this.levels.values[T])throw Error("unknown level "+T);this._level=T,a(_,y,"error","log"),a(_,y,"fatal","error"),a(_,y,"warn","error"),a(_,y,"info","log"),a(_,y,"debug","log"),a(_,y,"trace","log")}function L(T,F){if(!T)throw new Error("missing bindings for child Pino");F=F||{},D&&T.serializers&&(F.serializers=T.serializers);const me=F.serializers;if(D&&me){var ie=Object.assign({},j,me),mt=v.browser.serialize===!0?Object.keys(ie):D;delete T.serializers,p([T],mt,ie,this._stdErrSerialize)}function H(Ge){this._childLevel=(Ge._childLevel|0)+1,this.error=h(Ge,T,"error"),this.fatal=h(Ge,T,"fatal"),this.warn=h(Ge,T,"warn"),this.info=h(Ge,T,"info"),this.debug=h(Ge,T,"debug"),this.trace=h(Ge,T,"trace"),ie&&(this.serializers=ie,this._serialize=mt),S&&(this._logEvent=w([].concat(Ge._logEvent.bindings,T)))}return H.prototype=this,new H(this)}return y}n.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},n.stdSerializers=t,n.stdTimeFunctions=Object.assign({},{nullTime:B,epochTime:U,unixTime:Q,isoTime:oe});function a(v,S,P,j){const D=Object.getPrototypeOf(S);S[P]=S.levelVal>S.levels.values[P]?$:D[P]?D[P]:e[P]||e[j]||$,c(v,S,P)}function c(v,S,P){!v.transmit&&S[P]===$||(S[P]=function(j){return function(){const K=v.timestamp(),k=new Array(arguments.length),le=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var y=0;y-1&&K in P&&(v[D][K]=P[K](v[D][K]))}function h(v,S,P){return function(){const j=new Array(1+arguments.length);j[0]=S;for(var D=1;D"u"?h=t(l,p):h=l.bindings().context||"",h}qe.getLoggerContext=n;function a(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=n(l,h);return g.trim()?`${g}/${p}`:p}qe.formatChildLoggerContext=a;function c(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=a(l,p,h),w=l.child({context:g});return i(w,g,h)}return qe.generateChildLogger=c,qe}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.pino=void 0;const e=Nt,t=e.__importDefault(Fa());Object.defineProperty(r,"pino",{enumerable:!0,get:function(){return t.default}}),e.__exportStar(ls(),r),e.__exportStar(Ca(),r)})(Y);class Na extends Lt{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}let Da=class extends Lt{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},Ma=class{constructor(e,t){this.logger=e,this.core=t}};class za extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}let Ua=class extends Lt{constructor(e){super()}};class $a{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}}class ja extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}class Ka extends Lt{constructor(e,t){super(),this.core=e,this.logger=t}}class Ba{constructor(e,t){this.projectId=e,this.logger=t}}let Tu=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},Ou=class{constructor(e){this.client=e}};var Br={},fs={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=fo,t=Wi;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var i=function(){function l(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return l.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},l.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},l.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},l.prototype.update=function(p,h){if(h===void 0&&(h=p.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var g=0;if(this._bytesHashed+=h,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=p[g++],h--;this._bufferLength===this.blockSize&&(a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(h>=this.blockSize&&(g=a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,p,g,h),h%=this.blockSize);h>0;)this._buffer[this._bufferLength++]=p[g++],h--;return this},l.prototype.finish=function(p){if(!this._finished){var h=this._bytesHashed,g=this._bufferLength,w=h/536870912|0,I=h<<3,R=h%128<112?128:256;this._buffer[g]=128;for(var x=g+1;x0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},l.prototype.restoreState=function(p){return this._stateHi.set(p.stateHi),this._stateLo.set(p.stateLo),this._bufferLength=p.bufferLength,p.buffer&&this._buffer.set(p.buffer),this._bytesHashed=p.bytesHashed,this._finished=!1,this},l.prototype.cleanSavedState=function(p){t.wipe(p.stateHi),t.wipe(p.stateLo),p.buffer&&t.wipe(p.buffer),p.bufferLength=0,p.bytesHashed=0},l}();r.SHA512=i;var n=new Int32Array([1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function a(l,p,h,g,w,I,R){for(var x=h[0],O=h[1],$=h[2],B=h[3],U=h[4],Q=h[5],oe=h[6],V=h[7],v=g[0],S=g[1],P=g[2],j=g[3],D=g[4],K=g[5],k=g[6],le=g[7],y,_,Z,ae,C,L,T,F;R>=128;){for(var me=0;me<16;me++){var ie=8*me+I;l[me]=e.readUint32BE(w,ie),p[me]=e.readUint32BE(w,ie+4)}for(var me=0;me<80;me++){var mt=x,H=O,Ge=$,b=B,m=U,d=Q,s=oe,u=V,N=v,M=S,W=P,ee=j,q=D,te=K,$e=k,Se=le;if(y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(U>>>14|D<<32-14)^(U>>>18|D<<32-18)^(D>>>41-32|U<<32-(41-32)),_=(D>>>14|U<<32-14)^(D>>>18|U<<32-18)^(U>>>41-32|D<<32-(41-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=U&Q^~U&oe,_=D&K^~D&k,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=n[me*2],_=n[me*2+1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=l[me%16],_=p[me%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,Z=T&65535|F<<16,ae=C&65535|L<<16,y=Z,_=ae,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(x>>>28|v<<32-28)^(v>>>34-32|x<<32-(34-32))^(v>>>39-32|x<<32-(39-32)),_=(v>>>28|x<<32-28)^(x>>>34-32|v<<32-(34-32))^(x>>>39-32|v<<32-(39-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=x&O^x&$^O&$,_=v&S^v&P^S&P,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,u=T&65535|F<<16,Se=C&65535|L<<16,y=b,_=ee,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=Z,_=ae,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,b=T&65535|F<<16,ee=C&65535|L<<16,O=mt,$=H,B=Ge,U=b,Q=m,oe=d,V=s,x=u,S=N,P=M,j=W,D=ee,K=q,k=te,le=$e,v=Se,me%16===15)for(var ie=0;ie<16;ie++)y=l[ie],_=p[ie],C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=l[(ie+9)%16],_=p[(ie+9)%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+1)%16],ae=p[(ie+1)%16],y=(Z>>>1|ae<<32-1)^(Z>>>8|ae<<32-8)^Z>>>7,_=(ae>>>1|Z<<32-1)^(ae>>>8|Z<<32-8)^(ae>>>7|Z<<32-7),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+14)%16],ae=p[(ie+14)%16],y=(Z>>>19|ae<<32-19)^(ae>>>61-32|Z<<32-(61-32))^Z>>>6,_=(ae>>>19|Z<<32-19)^(Z>>>61-32|ae<<32-(61-32))^(ae>>>6|Z<<32-6),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,l[ie]=T&65535|F<<16,p[ie]=C&65535|L<<16}y=x,_=v,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[0],_=g[0],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[0]=x=T&65535|F<<16,g[0]=v=C&65535|L<<16,y=O,_=S,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[1],_=g[1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[1]=O=T&65535|F<<16,g[1]=S=C&65535|L<<16,y=$,_=P,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[2],_=g[2],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[2]=$=T&65535|F<<16,g[2]=P=C&65535|L<<16,y=B,_=j,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[3],_=g[3],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[3]=B=T&65535|F<<16,g[3]=j=C&65535|L<<16,y=U,_=D,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[4],_=g[4],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[4]=U=T&65535|F<<16,g[4]=D=C&65535|L<<16,y=Q,_=K,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[5],_=g[5],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[5]=Q=T&65535|F<<16,g[5]=K=C&65535|L<<16,y=oe,_=k,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[6],_=g[6],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[6]=oe=T&65535|F<<16,g[6]=k=C&65535|L<<16,y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[7],_=g[7],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[7]=V=T&65535|F<<16,g[7]=le=C&65535|L<<16,I+=128,R-=128}return I}function c(l){var p=new i;p.update(l);var h=p.digest();return p.clean(),h}r.hash=c})(fs);(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=Ji,t=fs,i=Wi;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function n(b){const m=new Float64Array(16);if(b)for(let d=0;d>16&1),d[M-1]&=65535;d[15]=s[15]-32767-(d[14]>>16&1);const N=d[15]>>16&1;d[14]&=65535,O(s,d,1-N)}for(let u=0;u<16;u++)b[2*u]=s[u]&255,b[2*u+1]=s[u]>>8}function B(b,m){let d=0;for(let s=0;s<32;s++)d|=b[s]^m[s];return(1&d-1>>>8)-1}function U(b,m){const d=new Uint8Array(32),s=new Uint8Array(32);return $(d,b),$(s,m),B(d,s)}function Q(b){const m=new Uint8Array(32);return $(m,b),m[0]&1}function oe(b,m){for(let d=0;d<16;d++)b[d]=m[2*d]+(m[2*d+1]<<8);b[15]&=32767}function V(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]+d[s]}function v(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]-d[s]}function S(b,m,d){let s,u,N=0,M=0,W=0,ee=0,q=0,te=0,$e=0,Se=0,je=0,Oe=0,Te=0,be=0,ye=0,fe=0,he=0,re=0,ve=0,Le=0,se=0,He=0,Ve=0,Xe=0,Qe=0,We=0,nt=0,ct=0,bt=0,Ze=0,Et=0,Mt=0,Wt=0,we=d[0],de=d[1],_e=d[2],Ee=d[3],xe=d[4],ge=d[5],Pe=d[6],Ae=d[7],Fe=d[8],Ce=d[9],Ne=d[10],Re=d[11],Ie=d[12],ce=d[13],De=d[14],Me=d[15];s=m[0],N+=s*we,M+=s*de,W+=s*_e,ee+=s*Ee,q+=s*xe,te+=s*ge,$e+=s*Pe,Se+=s*Ae,je+=s*Fe,Oe+=s*Ce,Te+=s*Ne,be+=s*Re,ye+=s*Ie,fe+=s*ce,he+=s*De,re+=s*Me,s=m[1],M+=s*we,W+=s*de,ee+=s*_e,q+=s*Ee,te+=s*xe,$e+=s*ge,Se+=s*Pe,je+=s*Ae,Oe+=s*Fe,Te+=s*Ce,be+=s*Ne,ye+=s*Re,fe+=s*Ie,he+=s*ce,re+=s*De,ve+=s*Me,s=m[2],W+=s*we,ee+=s*de,q+=s*_e,te+=s*Ee,$e+=s*xe,Se+=s*ge,je+=s*Pe,Oe+=s*Ae,Te+=s*Fe,be+=s*Ce,ye+=s*Ne,fe+=s*Re,he+=s*Ie,re+=s*ce,ve+=s*De,Le+=s*Me,s=m[3],ee+=s*we,q+=s*de,te+=s*_e,$e+=s*Ee,Se+=s*xe,je+=s*ge,Oe+=s*Pe,Te+=s*Ae,be+=s*Fe,ye+=s*Ce,fe+=s*Ne,he+=s*Re,re+=s*Ie,ve+=s*ce,Le+=s*De,se+=s*Me,s=m[4],q+=s*we,te+=s*de,$e+=s*_e,Se+=s*Ee,je+=s*xe,Oe+=s*ge,Te+=s*Pe,be+=s*Ae,ye+=s*Fe,fe+=s*Ce,he+=s*Ne,re+=s*Re,ve+=s*Ie,Le+=s*ce,se+=s*De,He+=s*Me,s=m[5],te+=s*we,$e+=s*de,Se+=s*_e,je+=s*Ee,Oe+=s*xe,Te+=s*ge,be+=s*Pe,ye+=s*Ae,fe+=s*Fe,he+=s*Ce,re+=s*Ne,ve+=s*Re,Le+=s*Ie,se+=s*ce,He+=s*De,Ve+=s*Me,s=m[6],$e+=s*we,Se+=s*de,je+=s*_e,Oe+=s*Ee,Te+=s*xe,be+=s*ge,ye+=s*Pe,fe+=s*Ae,he+=s*Fe,re+=s*Ce,ve+=s*Ne,Le+=s*Re,se+=s*Ie,He+=s*ce,Ve+=s*De,Xe+=s*Me,s=m[7],Se+=s*we,je+=s*de,Oe+=s*_e,Te+=s*Ee,be+=s*xe,ye+=s*ge,fe+=s*Pe,he+=s*Ae,re+=s*Fe,ve+=s*Ce,Le+=s*Ne,se+=s*Re,He+=s*Ie,Ve+=s*ce,Xe+=s*De,Qe+=s*Me,s=m[8],je+=s*we,Oe+=s*de,Te+=s*_e,be+=s*Ee,ye+=s*xe,fe+=s*ge,he+=s*Pe,re+=s*Ae,ve+=s*Fe,Le+=s*Ce,se+=s*Ne,He+=s*Re,Ve+=s*Ie,Xe+=s*ce,Qe+=s*De,We+=s*Me,s=m[9],Oe+=s*we,Te+=s*de,be+=s*_e,ye+=s*Ee,fe+=s*xe,he+=s*ge,re+=s*Pe,ve+=s*Ae,Le+=s*Fe,se+=s*Ce,He+=s*Ne,Ve+=s*Re,Xe+=s*Ie,Qe+=s*ce,We+=s*De,nt+=s*Me,s=m[10],Te+=s*we,be+=s*de,ye+=s*_e,fe+=s*Ee,he+=s*xe,re+=s*ge,ve+=s*Pe,Le+=s*Ae,se+=s*Fe,He+=s*Ce,Ve+=s*Ne,Xe+=s*Re,Qe+=s*Ie,We+=s*ce,nt+=s*De,ct+=s*Me,s=m[11],be+=s*we,ye+=s*de,fe+=s*_e,he+=s*Ee,re+=s*xe,ve+=s*ge,Le+=s*Pe,se+=s*Ae,He+=s*Fe,Ve+=s*Ce,Xe+=s*Ne,Qe+=s*Re,We+=s*Ie,nt+=s*ce,ct+=s*De,bt+=s*Me,s=m[12],ye+=s*we,fe+=s*de,he+=s*_e,re+=s*Ee,ve+=s*xe,Le+=s*ge,se+=s*Pe,He+=s*Ae,Ve+=s*Fe,Xe+=s*Ce,Qe+=s*Ne,We+=s*Re,nt+=s*Ie,ct+=s*ce,bt+=s*De,Ze+=s*Me,s=m[13],fe+=s*we,he+=s*de,re+=s*_e,ve+=s*Ee,Le+=s*xe,se+=s*ge,He+=s*Pe,Ve+=s*Ae,Xe+=s*Fe,Qe+=s*Ce,We+=s*Ne,nt+=s*Re,ct+=s*Ie,bt+=s*ce,Ze+=s*De,Et+=s*Me,s=m[14],he+=s*we,re+=s*de,ve+=s*_e,Le+=s*Ee,se+=s*xe,He+=s*ge,Ve+=s*Pe,Xe+=s*Ae,Qe+=s*Fe,We+=s*Ce,nt+=s*Ne,ct+=s*Re,bt+=s*Ie,Ze+=s*ce,Et+=s*De,Mt+=s*Me,s=m[15],re+=s*we,ve+=s*de,Le+=s*_e,se+=s*Ee,He+=s*xe,Ve+=s*ge,Xe+=s*Pe,Qe+=s*Ae,We+=s*Fe,nt+=s*Ce,ct+=s*Ne,bt+=s*Re,Ze+=s*Ie,Et+=s*ce,Mt+=s*De,Wt+=s*Me,N+=38*ve,M+=38*Le,W+=38*se,ee+=38*He,q+=38*Ve,te+=38*Xe,$e+=38*Qe,Se+=38*We,je+=38*nt,Oe+=38*ct,Te+=38*bt,be+=38*Ze,ye+=38*Et,fe+=38*Mt,he+=38*Wt,u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),b[0]=N,b[1]=M,b[2]=W,b[3]=ee,b[4]=q,b[5]=te,b[6]=$e,b[7]=Se,b[8]=je,b[9]=Oe,b[10]=Te,b[11]=be,b[12]=ye,b[13]=fe,b[14]=he,b[15]=re}function P(b,m){S(b,m,m)}function j(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=253;s>=0;s--)P(d,d),s!==2&&s!==4&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function D(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=250;s>=0;s--)P(d,d),s!==1&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function K(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n(),q=n(),te=n();v(d,b[1],b[0]),v(te,m[1],m[0]),S(d,d,te),V(s,b[0],b[1]),V(te,m[0],m[1]),S(s,s,te),S(u,b[3],m[3]),S(u,u,h),S(N,b[2],m[2]),V(N,N,N),v(M,s,d),v(W,N,u),V(ee,N,u),V(q,s,d),S(b[0],M,W),S(b[1],q,ee),S(b[2],ee,W),S(b[3],M,q)}function k(b,m,d){for(let s=0;s<4;s++)O(b[s],m[s],d)}function le(b,m){const d=n(),s=n(),u=n();j(u,m[2]),S(d,m[0],u),S(s,m[1],u),$(b,s),b[31]^=Q(d)<<7}function y(b,m,d){R(b[0],c),R(b[1],l),R(b[2],l),R(b[3],c);for(let s=255;s>=0;--s){const u=d[s/8|0]>>(s&7)&1;k(b,m,u),K(m,b),K(b,b),k(b,m,u)}}function _(b,m){const d=[n(),n(),n(),n()];R(d[0],g),R(d[1],w),R(d[2],l),S(d[3],g,w),y(b,d,m)}function Z(b){if(b.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const m=(0,t.hash)(b);m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(32),s=[n(),n(),n(),n()];_(s,m),le(d,s);const u=new Uint8Array(64);return u.set(b),u.set(d,32),{publicKey:d,secretKey:u}}r.generateKeyPairFromSeed=Z;function ae(b){const m=(0,e.randomBytes)(32,b),d=Z(m);return(0,i.wipe)(m),d}r.generateKeyPair=ae;function C(b){if(b.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(b.subarray(32))}r.extractPublicKeyFromSecretKey=C;const L=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function T(b,m){let d,s,u,N;for(s=63;s>=32;--s){for(d=0,u=s-32,N=s-12;u>4)*L[u],d=m[u]>>8,m[u]&=255;for(u=0;u<32;u++)m[u]-=d*L[u];for(s=0;s<32;s++)m[s+1]+=m[s]>>8,b[s]=m[s]&255}function F(b){const m=new Float64Array(64);for(let d=0;d<64;d++)m[d]=b[d];for(let d=0;d<64;d++)b[d]=0;T(b,m)}function me(b,m){const d=new Float64Array(64),s=[n(),n(),n(),n()],u=(0,t.hash)(b.subarray(0,32));u[0]&=248,u[31]&=127,u[31]|=64;const N=new Uint8Array(64);N.set(u.subarray(32),32);const M=new t.SHA512;M.update(N.subarray(32)),M.update(m);const W=M.digest();M.clean(),F(W),_(s,W),le(N,s),M.reset(),M.update(N.subarray(0,32)),M.update(b.subarray(32)),M.update(m);const ee=M.digest();F(ee);for(let q=0;q<32;q++)d[q]=W[q];for(let q=0;q<32;q++)for(let te=0;te<32;te++)d[q+te]+=ee[q]*u[te];return T(N.subarray(32),d),N}r.sign=me;function ie(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n();return R(b[2],l),oe(b[1],m),P(u,b[1]),S(N,u,p),v(u,u,b[2]),V(N,b[2],N),P(M,N),P(W,M),S(ee,W,M),S(d,ee,u),S(d,d,N),D(d,d),S(d,d,u),S(d,d,N),S(d,d,N),S(b[0],d,N),P(s,b[0]),S(s,s,N),U(s,u)&&S(b[0],b[0],I),P(s,b[0]),S(s,s,N),U(s,u)?-1:(Q(b[0])===m[31]>>7&&v(b[0],c,b[0]),S(b[3],b[0],b[1]),0)}function mt(b,m,d){const s=new Uint8Array(32),u=[n(),n(),n(),n()],N=[n(),n(),n(),n()];if(d.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(ie(N,b))return!1;const M=new t.SHA512;M.update(d.subarray(0,32)),M.update(b),M.update(m);const W=M.digest();return F(W),y(u,N,W),_(N,d.subarray(32)),K(u,N),le(s,u),!B(d,s)}r.verify=mt;function H(b){let m=[n(),n(),n(),n()];if(ie(m,b))throw new Error("Ed25519: invalid public key");let d=n(),s=n(),u=m[1];V(d,l,u),v(s,l,u),j(s,s),S(d,d,s);let N=new Uint8Array(32);return $(N,d),N}r.convertPublicKeyToX25519=H;function Ge(b){const m=(0,t.hash)(b.subarray(0,32));m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(m.subarray(0,32));return(0,i.wipe)(m),d}r.convertSecretKeyToX25519=Ge})(Br);const Ha="EdDSA",ka="JWT",ds=".",gs="base64url",Ga="utf8",Va="utf8",qa=":",Ya="did",Wa="key",Ii="base58btc",Ja="z",Xa="K36",Qa=32;function ur(r){return dr(jr(qt(r),Ga),gs)}function ps(r){const e=jr(Xa,Ii),t=Ja+dr(go([e,r]),Ii);return[Ya,Wa,t].join(qa)}function Za(r){return dr(r,gs)}function ec(r){return jr([ur(r.header),ur(r.payload)].join(ds),Va)}function tc(r){return[ur(r.header),ur(r.payload),Za(r.signature)].join(ds)}function Si(r=Ji.randomBytes(Qa)){return Br.generateKeyPairFromSeed(r)}async function rc(r,e,t,i,n=G.fromMiliseconds(Date.now())){const a={alg:Ha,typ:ka},c=ps(i.publicKey),l=n+t,p={iss:c,sub:r,aud:e,iat:n,exp:l},h=ec({header:a,payload:p}),g=Br.sign(i.secretKey,h);return tc({header:a,payload:p,signature:g})}const ic="PARSE_ERROR",sc="INVALID_REQUEST",nc="METHOD_NOT_FOUND",oc="INVALID_PARAMS",ys="INTERNAL_ERROR",Hr="SERVER_ERROR",ac=[-32700,-32600,-32601,-32602,-32603],kt={[ic]:{code:-32700,message:"Parse error"},[sc]:{code:-32600,message:"Invalid Request"},[nc]:{code:-32601,message:"Method not found"},[oc]:{code:-32602,message:"Invalid params"},[ys]:{code:-32603,message:"Internal error"},[Hr]:{code:-32e3,message:"Server error"}},ms=Hr;function cc(r){return ac.includes(r)}function Ti(r){return Object.keys(kt).includes(r)?kt[r]:kt[ms]}function hc(r){const e=Object.values(kt).find(t=>t.code===r);return e||kt[ms]}function uc(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var bs={},gt={},Ri;function lc(){if(Ri)return gt;Ri=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.isBrowserCryptoAvailable=gt.getSubtleCrypto=gt.getBrowerCrypto=void 0;function r(){return(ut===null||ut===void 0?void 0:ut.crypto)||(ut===null||ut===void 0?void 0:ut.msCrypto)||{}}gt.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}gt.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return gt.isBrowserCryptoAvailable=t,gt}var pt={},Oi;function fc(){if(Oi)return pt;Oi=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.isBrowser=pt.isNode=pt.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}pt.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}pt.isNode=e;function t(){return!r()&&!e()}return pt.isBrowser=t,pt}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(lc(),r),e.__exportStar(fc(),r)})(bs);function vs(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function ws(r=6){return BigInt(vs(r))}function kr(r,e,t){return{id:t||vs(),jsonrpc:"2.0",method:r,params:e}}function _s(r,e){return{id:r,jsonrpc:"2.0",result:e}}function Es(r,e,t){return{id:r,jsonrpc:"2.0",error:dc(e,t)}}function dc(r,e){return typeof r>"u"?Ti(ys):(typeof r=="string"&&(r=Object.assign(Object.assign({},Ti(Hr)),{message:r})),typeof e<"u"&&(r.data=e),cc(r.code)&&(r=hc(r.code)),r)}class gc{}class pc extends gc{constructor(){super()}}class yc extends pc{constructor(e){super()}}const mc="^wss?:";function bc(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function vc(r,e){const t=bc(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function Li(r){return vc(r,mc)}function wc(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function xs(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Is(r){return xs(r)&&"method"in r}function Gr(r){return xs(r)&&(Ss(r)||yr(r))}function Ss(r){return"result"in r}function yr(r){return"error"in r}class _c extends yc{constructor(e){super(e),this.events=new lt.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict(kr(e.method,e.params||[],e.id||ws().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(a){n(a)}this.events.on(`${e.id}`,a=>{yr(a)?n(a.error):i(a.result)});try{await this.connection.send(e,t)}catch(a){n(a)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Gr(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const Ec=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),xc=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",Pi=r=>r.split("?")[0],Ai=10,Ic=Ec();class Sc{constructor(e){if(this.url=e,this.events=new lt.EventEmitter,this.registering=!1,!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(qt(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,n)=>{this.events.once("register_error",a=>{this.resetMaxListeners(),n(a)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return n(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,i)=>{const n=new URLSearchParams(e).get("origin"),a=bs.isReactNative()?{headers:{origin:n}}:{rejectUnauthorized:!wc(e)},c=new Ic(e,[],a);xc()?c.onerror=l=>{const p=l;i(this.emitError(p.error))}:c.on("error",l=>{i(this.emitError(l))}),c.onopen=()=>{this.onOpen(c),t(c)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?pr(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=Es(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return uc(e,Pi(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>Ai&&this.events.setMaxListeners(Ai)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${Pi(this.url)}`));return this.events.emit("register_error",t),t}}var lr={exports:{}};lr.exports;(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,a=2,c=9007199254740991,l="[object Arguments]",p="[object Array]",h="[object AsyncFunction]",g="[object Boolean]",w="[object Date]",I="[object Error]",R="[object Function]",x="[object GeneratorFunction]",O="[object Map]",$="[object Number]",B="[object Null]",U="[object Object]",Q="[object Promise]",oe="[object Proxy]",V="[object RegExp]",v="[object Set]",S="[object String]",P="[object Symbol]",j="[object Undefined]",D="[object WeakMap]",K="[object ArrayBuffer]",k="[object DataView]",le="[object Float32Array]",y="[object Float64Array]",_="[object Int8Array]",Z="[object Int16Array]",ae="[object Int32Array]",C="[object Uint8Array]",L="[object Uint8ClampedArray]",T="[object Uint16Array]",F="[object Uint32Array]",me=/[\\^$.*+?()[\]{}|]/g,ie=/^\[object .+?Constructor\]$/,mt=/^(?:0|[1-9]\d*)$/,H={};H[le]=H[y]=H[_]=H[Z]=H[ae]=H[C]=H[L]=H[T]=H[F]=!0,H[l]=H[p]=H[K]=H[g]=H[k]=H[w]=H[I]=H[R]=H[O]=H[$]=H[U]=H[V]=H[v]=H[S]=H[D]=!1;var Ge=typeof ut=="object"&&ut&&ut.Object===Object&&ut,b=typeof self=="object"&&self&&self.Object===Object&&self,m=Ge||b||Function("return this")(),d=e&&!e.nodeType&&e,s=d&&!0&&r&&!r.nodeType&&r,u=s&&s.exports===d,N=u&&Ge.process,M=function(){try{return N&&N.binding&&N.binding("util")}catch{}}(),W=M&&M.isTypedArray;function ee(o,f){for(var E=-1,A=o==null?0:o.length,ne=0,z=[];++E-1}function An(o,f){var E=this.__data__,A=Xt(E,o);return A<0?(++this.size,E.push([o,f])):E[A][1]=f,this}ft.prototype.clear=Rn,ft.prototype.delete=On,ft.prototype.get=Ln,ft.prototype.has=Pn,ft.prototype.set=An;function xt(o){var f=-1,E=o==null?0:o.length;for(this.clear();++fze))return!1;var ue=z.get(o);if(ue&&z.get(f))return ue==f;var et=-1,ot=!0,ke=E&a?new Jt:void 0;for(z.set(o,f),z.set(f,o);++et-1&&o%1==0&&o-1&&o%1==0&&o<=c}function ti(o){var f=typeof o;return o!=null&&(f=="object"||f=="function")}function Ut(o){return o!=null&&typeof o=="object"}var ri=W?Se(W):Yn;function co(o){return oo(o)?kn(o):Wn(o)}function ho(){return[]}function uo(){return!1}r.exports=ao})(lr,lr.exports);var Tc=lr.exports;const Rc=Yi(Tc);function Oc(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i>>0,oe=new Uint8Array(Q);B!==U;){for(var V=x[B],v=0,S=Q-1;(V!==0||v<$)&&S!==-1;S--,v++)V+=256*oe[S]>>>0,oe[S]=V%l>>>0,V=V/l>>>0;if(V!==0)throw new Error("Non-zero carry");$=v,B++}for(var P=Q-$;P!==Q&&oe[P]===0;)P++;for(var j=p.repeat(O);P>>0,Q=new Uint8Array(U);x[O];){var oe=t[x.charCodeAt(O)];if(oe===255)return;for(var V=0,v=U-1;(oe!==0||V>>0,Q[v]=oe%256>>>0,oe=oe/256>>>0;if(oe!==0)throw new Error("Non-zero carry");B=V,O++}if(x[O]!==" "){for(var S=U-B;S!==U&&Q[S]===0;)S++;for(var P=new Uint8Array($+(U-S)),j=$;S!==U;)P[j++]=Q[S++];return P}}}function R(x){var O=I(x);if(O)return O;throw new Error(`Non-${e} character`)}return{encode:w,decodeUnsafe:I,decode:R}}var Lc=Oc,Pc=Lc;const Ts=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},Ac=r=>new TextEncoder().encode(r),Fc=r=>new TextDecoder().decode(r);class Cc{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Nc{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rs(this,e)}}class Dc{constructor(e){this.decoders=e}or(e){return Rs(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Rs=(r,e)=>new Dc({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class Mc{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new Cc(e,t,i),this.decoder=new Nc(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const mr=({name:r,prefix:e,encode:t,decode:i})=>new Mc(r,e,t,i),Yt=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=Pc(t,e);return mr({prefix:r,name:e,encode:i,decode:a=>Ts(n(a))})},zc=(r,e,t,i)=>{const n={};for(let g=0;g=8&&(l-=8,c[h++]=255&p>>l)}if(l>=t||255&p<<8-l)throw new SyntaxError("Unexpected end of data");return c},Uc=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<t;)c-=t,a+=e[n&l>>c];if(c&&(a+=e[n&l<mr({prefix:e,name:r,encode(n){return Uc(n,i,t)},decode(n){return zc(n,i,t,r)}}),$c=mr({prefix:"\0",name:"identity",encode:r=>Fc(r),decode:r=>Ac(r)});var jc=Object.freeze({__proto__:null,identity:$c});const Kc=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Bc=Object.freeze({__proto__:null,base2:Kc});const Hc=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var kc=Object.freeze({__proto__:null,base8:Hc});const Gc=Yt({prefix:"9",name:"base10",alphabet:"0123456789"});var Vc=Object.freeze({__proto__:null,base10:Gc});const qc=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Yc=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wc=Object.freeze({__proto__:null,base16:qc,base16upper:Yc});const Jc=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xc=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qc=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zc=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eh=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),th=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rh=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ih=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sh=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nh=Object.freeze({__proto__:null,base32:Jc,base32upper:Xc,base32pad:Qc,base32padupper:Zc,base32hex:eh,base32hexupper:th,base32hexpad:rh,base32hexpadupper:ih,base32z:sh});const oh=Yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ah=Yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ch=Object.freeze({__proto__:null,base36:oh,base36upper:ah});const hh=Yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),uh=Yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lh=Object.freeze({__proto__:null,base58btc:hh,base58flickr:uh});const fh=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),dh=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gh=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ph=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var yh=Object.freeze({__proto__:null,base64:fh,base64pad:dh,base64url:gh,base64urlpad:ph});const Os=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),mh=Os.reduce((r,e,t)=>(r[t]=e,r),[]),bh=Os.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vh(r){return r.reduce((e,t)=>(e+=mh[t],e),"")}function wh(r){const e=[];for(const t of r){const i=bh[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const _h=mr({prefix:"🚀",name:"base256emoji",encode:vh,decode:wh});var Eh=Object.freeze({__proto__:null,base256emoji:_h}),xh=Ls,Fi=128,Ih=127,Sh=~Ih,Th=Math.pow(2,31);function Ls(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Th;)e[t++]=r&255|Fi,r/=128;for(;r&Sh;)e[t++]=r&255|Fi,r>>>=7;return e[t]=r|0,Ls.bytes=t-i+1,e}var Rh=Mr,Oh=128,Ci=127;function Mr(r,i){var t=0,i=i||0,n=0,a=i,c,l=r.length;do{if(a>=l)throw Mr.bytes=0,new RangeError("Could not decode varint");c=r[a++],t+=n<28?(c&Ci)<=Oh);return Mr.bytes=a-i,t}var Lh=Math.pow(2,7),Ph=Math.pow(2,14),Ah=Math.pow(2,21),Fh=Math.pow(2,28),Ch=Math.pow(2,35),Nh=Math.pow(2,42),Dh=Math.pow(2,49),Mh=Math.pow(2,56),zh=Math.pow(2,63),Uh=function(r){return r(Ps.encode(r,e,t),e),Di=r=>Ps.encodingLength(r),zr=(r,e)=>{const t=e.byteLength,i=Di(r),n=i+Di(t),a=new Uint8Array(n+t);return Ni(r,a,0),Ni(t,a,i),a.set(e,n),new jh(r,t,e,a)};class jh{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const As=({name:r,code:e,encode:t})=>new Kh(r,e,t);class Kh{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?zr(this.code,t):t.then(i=>zr(this.code,i))}else throw Error("Unknown type, must be binary type")}}const Fs=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Bh=As({name:"sha2-256",code:18,encode:Fs("SHA-256")}),Hh=As({name:"sha2-512",code:19,encode:Fs("SHA-512")});var kh=Object.freeze({__proto__:null,sha256:Bh,sha512:Hh});const Cs=0,Gh="identity",Ns=Ts,Vh=r=>zr(Cs,Ns(r)),qh={code:Cs,name:Gh,encode:Ns,digest:Vh};var Yh=Object.freeze({__proto__:null,identity:qh});new TextEncoder,new TextDecoder;const Mi={...jc,...Bc,...kc,...Vc,...Wc,...nh,...ch,...lh,...yh,...Eh};({...kh,...Yh});function Ds(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Wh(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Ds(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Ms(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const zi=Ms("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Lr=Ms("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=Wh(r.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,n)=>{this.isInitialized(),this.keychain.set(i,n),await this.persist()},this.get=i=>{this.isInitialized();const n=this.keychain.get(i);if(typeof n>"u"){const{message:a}=J("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(a)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class pn{constructor(e,t,i){this.core=e,this.logger=t,this.name=js,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=n=>(this.isInitialized(),this.keychain.has(n)),this.getClientId=async()=>{this.isInitialized();const n=await this.getClientSeed(),a=Si(n);return ps(a.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=po();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const a=await this.getClientSeed(),c=Si(a),l=Ar();return await rc(l,n,Ks,c)},this.generateSharedKey=(n,a,c)=>{this.isInitialized();const l=this.getPrivateKey(n),p=yo(l,a);return this.setSymKey(p,c)},this.setSymKey=async(n,a)=>{this.isInitialized();const c=a||mo(n);return await this.keychain.set(c,n),c},this.deleteKeyPair=async n=>{this.isInitialized(),await this.keychain.del(n)},this.deleteSymKey=async n=>{this.isInitialized(),await this.keychain.del(n)},this.encode=async(n,a,c)=>{this.isInitialized();const l=bo(c),p=qt(a);if(si(l)){const I=l.senderPublicKey,R=l.receiverPublicKey;n=await this.generateSharedKey(I,R)}const h=this.getSymKey(n),{type:g,senderPublicKey:w}=l;return vo({type:g,symKey:h,message:p,senderPublicKey:w})},this.decode=async(n,a,c)=>{this.isInitialized();const l=wo(a,c);if(si(l)){const p=l.receiverPublicKey,h=l.senderPublicKey;n=await this.generateSharedKey(p,h)}try{const p=this.getSymKey(n),h=_o({symKey:p,encoded:a});return pr(h)}catch(p){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(p)}},this.getPayloadType=n=>{const a=ni(n);return Eo(a.type)},this.getPayloadSenderPublicKey=n=>{const a=ni(n);return a.senderPublicKey?dr(a.senderPublicKey,jo):void 0},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.keychain=i||new gn(this.core,this.logger)}get context(){return Y.getLoggerContext(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(Ur)}catch{e=Ar(),await this.keychain.set(Ur,e)}return Xh(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class yn extends Ma{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=ks,this.version=Gs,this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,n)=>{this.isInitialized();const a=Fr(n);let c=this.messages.get(i);return typeof c>"u"&&(c={}),typeof c[a]<"u"||(c[a]=n,this.messages.set(i,c),await this.persist()),a},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const a=this.get(i),c=Fr(n);return typeof a[c]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Y.generateChildLogger(e,this.name),this.core=t}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class ru extends za{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new lt.EventEmitter,this.name=qs,this.queue=new Map,this.publishTimeout=G.toMiliseconds(G.TEN_SECONDS),this.needsTransportRestart=!1,this.publish=async(i,n,a)=>{var c;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}});try{const l=(a==null?void 0:a.ttl)||Vs,p=Cr(a),h=(a==null?void 0:a.prompt)||!1,g=(a==null?void 0:a.tag)||0,w=(a==null?void 0:a.id)||ws().toString(),I={topic:i,message:n,opts:{ttl:l,relay:p,prompt:h,tag:g,id:w}},R=setTimeout(()=>this.queue.set(w,I),this.publishTimeout);try{await await Gt(this.rpcPublish(i,n,l,p,h,g,w),this.publishTimeout,"Failed to publish payload, please try again."),this.removeRequestFromQueue(w),this.relayer.events.emit(Ye.publish,I)}catch(x){if(this.logger.debug("Publishing Payload stalled"),this.needsTransportRestart=!0,(c=a==null?void 0:a.internal)!=null&&c.throwOnFailedPublish)throw this.removeRequestFromQueue(w),x;return}finally{clearTimeout(R)}this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}})}catch(l){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(l),l}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.registerEventListeners()}get context(){return Y.getLoggerContext(this.logger)}rpcPublish(e,t,i,n,a,c,l){var p,h,g,w;const I={method:sr(n.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:a,tag:c},id:l};return Nr((p=I.params)==null?void 0:p.prompt)&&((h=I.params)==null||delete h.prompt),Nr((g=I.params)==null?void 0:g.tag)&&((w=I.params)==null||delete w.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I}),this.relayer.request(I)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:n}=e;await this.publish(t,i,n)})}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Ye.connection_stalled);return}this.checkQueue()}),this.relayer.on(Ye.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class iu{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const n=i.filter(a=>a!==t);if(!n.length){this.map.delete(e);return}this.map.set(e,n)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var su=Object.defineProperty,nu=Object.defineProperties,ou=Object.getOwnPropertyDescriptors,Ui=Object.getOwnPropertySymbols,au=Object.prototype.hasOwnProperty,cu=Object.prototype.propertyIsEnumerable,$i=(r,e,t)=>e in r?su(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Kt=(r,e)=>{for(var t in e||(e={}))au.call(e,t)&&$i(r,t,e[t]);if(Ui)for(var t of Ui(e))cu.call(e,t)&&$i(r,t,e[t]);return r},Pr=(r,e)=>nu(r,ou(e));class mn extends ja{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new iu,this.events=new lt.EventEmitter,this.name=sn,this.version=nn,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=yt,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const a=Cr(n),c={topic:i,relay:a};this.pending.set(i,c);const l=await this.rpcSubscribe(i,a);return this.onSubscribe(l,c),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}}),l}catch(a){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(a),a}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof(n==null?void 0:n.id)<"u"?await this.unsubscribeById(i,n.id,n):await this.unsubscribeByTopic(i,n)},this.isSubscribed=async i=>this.topics.includes(i)?!0:await new Promise((n,a)=>{const c=new G.Watch;c.start(this.pendingSubscriptionWatchLabel);const l=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),n(!0)),c.elapsed(this.pendingSubscriptionWatchLabel)>=on&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),a(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.clientId=""}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const n=Cr(i);await this.rpcUnsubscribe(e,t,n);const a=Bt("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,a),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,t){const i={method:sr(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}return Fr(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:sr(t.protocol).batchSubscribe,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{return await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}}rpcUnsubscribe(e,t,i){const n={method:sr(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,t){this.setSubscription(e,Pr(Kt({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,Kt({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.subscriptions.has(e)||(this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t))}addSubscription(e,t){this.subscriptions.set(e,Kt({},t)),this.topicMap.set(t.topic,e),this.events.emit(st.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(st.deleted,Pr(Kt({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(st.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);xo(t)&&this.onBatchSubscribe(t.map((i,n)=>Pr(Kt({},e[n]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(Ye.connect,async()=>{await this.onConnect()}),this.relayer.on(Ye.disconnect,()=>{this.onDisconnect()}),this.events.on(st.created,async e=>{const t=st.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(st.deleted,async e=>{const t=st.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var hu=Object.defineProperty,ji=Object.getOwnPropertySymbols,uu=Object.prototype.hasOwnProperty,lu=Object.prototype.propertyIsEnumerable,Ki=(r,e,t)=>e in r?hu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fu=(r,e)=>{for(var t in e||(e={}))uu.call(e,t)&&Ki(r,t,e[t]);if(ji)for(var t of ji(e))lu.call(e,t)&&Ki(r,t,e[t]);return r};class bn extends Ua{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new lt.EventEmitter,this.name=Js,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.hasExperiencedNetworkDisruption=!1,this.request=async t=>{this.logger.debug("Publishing Request Payload");try{return await this.toEstablishConnection(),await this.provider.request(t)}catch(i){throw this.logger.debug("Failed to Publish Request"),this.logger.error(i),i}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(Ye.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(Ye.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(ht.payload,this.onPayloadHandler),this.provider.on(ht.connect,this.onConnectHandler),this.provider.on(ht.disconnect,this.onDisconnectHandler),this.provider.on(ht.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Y.generateChildLogger(e.logger,this.name):Y.pino(Y.getDefaultLoggerOptions({level:e.logger||Ws})),this.messages=new yn(this.logger,e.core),this.subscriber=new mn(this,this.logger),this.publisher=new ru(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.projectId=e.projectId,this.bundleId=Io(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${$r}...`),await this.restartTransport($r)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},en)}get context(){return Y.getLoggerContext(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let n=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"";if(n)return n;let a;const c=l=>{l.topic===e&&(this.subscriber.off(st.created,c),a())};return await Promise.all([new Promise(l=>{a=l,this.subscriber.on(st.created,c)}),new Promise(async l=>{n=await this.subscriber.subscribe(e,t),l()})]),n}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportClose(){this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await Gt(this.provider.disconnect(),1e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(st.resubscribed,()=>{t()})}),new Promise(async(t,i)=>{try{await Gt(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(n){i(n);return}t()})])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.provider.events.emit(ht.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await oi())throw new Error("No internet connection detected. Please restart your network and try again.")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _c(new Sc(So({sdkVersion:Zs,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.debug(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Is(e)){if(!e.method.endsWith(Xs))return;const t=e.params,{topic:i,message:n,publishedAt:a}=t.data,c={topic:i,message:n,publishedAt:a};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(fu({type:"event",event:t.id},c)),this.events.emit(t.id,c),await this.acknowledgePayload(e),await this.onMessageEvent(c)}else Gr(e)&&this.events.emit(Ye.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Ye.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=_s(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(ht.payload,this.onPayloadHandler),this.provider.off(ht.connect,this.onConnectHandler),this.provider.off(ht.disconnect,this.onDisconnectHandler),this.provider.off(ht.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(Ye.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await oi();To(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(i=>this.logger.error(i))))})}onProviderDisconnect(){this.events.emit(Ye.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info("attemptToReconnect called. Connecting..."),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},G.toMiliseconds(Qs)))}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var du=Object.defineProperty,Bi=Object.getOwnPropertySymbols,gu=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,Hi=(r,e,t)=>e in r?du(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ki=(r,e)=>{for(var t in e||(e={}))gu.call(e,t)&&Hi(r,t,e[t]);if(Bi)for(var t of Bi(e))pu.call(e,t)&&Hi(r,t,e[t]);return r};class vn extends $a{constructor(e,t,i,n=yt,a=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=tn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(c=>{this.getKey&&c!==null&&!Nr(c)?this.map.set(this.getKey(c),c):Ro(c)?this.map.set(c.id,c):Oo(c)&&this.map.set(c.topic,c)}),this.cached=[],this.initialized=!0)},this.set=async(c,l)=>{this.isInitialized(),this.map.has(c)?await this.update(c,l):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:c,value:l}),this.map.set(c,l),await this.persist())},this.get=c=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:c}),this.getData(c)),this.getAll=c=>(this.isInitialized(),c?this.values.filter(l=>Object.keys(c).every(p=>Rc(l[p],c[p]))):this.values),this.update=async(c,l)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:c,update:l});const p=ki(ki({},this.getData(c)),l);this.map.set(c,p),await this.persist()},this.delete=async(c,l)=>{this.isInitialized(),this.map.has(c)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:c,reason:l}),this.map.delete(c),await this.persist())},this.logger=Y.generateChildLogger(t,this.name),this.storagePrefix=n,this.getKey=a}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class wn{constructor(e,t){this.core=e,this.logger=t,this.name=an,this.version=cn,this.events=new qo,this.initialized=!1,this.storagePrefix=yt,this.ignoredPayloadTypes=[Lo],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=Ar(),n=await this.core.crypto.setSymKey(i),a=nr(G.FIVE_MINUTES),c={protocol:Ys},l={topic:n,expiry:a,relay:c,active:!1},p=Po({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:c});return await this.pairings.set(n,l),await this.core.relayer.subscribe(n),this.core.expirer.set(n,a),{topic:n,uri:p}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:n,symKey:a,relay:c}=ai(i.uri);let l;if(this.pairings.keys.includes(n)&&(l=this.pairings.get(n),l.active))throw new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);const p=nr(G.FIVE_MINUTES),h={topic:n,relay:c,expiry:p,active:!1};return await this.pairings.set(n,h),this.core.expirer.set(n,p),i.activatePairing&&await this.activate({topic:n}),this.events.emit(Ht.create,h),this.core.crypto.keychain.has(n)||(await this.core.crypto.setSymKey(a,n),await this.core.relayer.subscribe(n,{relay:c})),h},this.activate=async({topic:i})=>{this.isInitialized();const n=nr(G.THIRTY_DAYS);await this.pairings.update(i,{active:!0,expiry:n}),this.core.expirer.set(i,n)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:n}=i;if(this.pairings.keys.includes(n)){const a=await this.sendRequest(n,"wc_pairingPing",{}),{done:c,resolve:l,reject:p}=Ao();this.events.once(_r("pairing_ping",a),({error:h})=>{h?p(h):l()}),await c()}},this.updateExpiry=async({topic:i,expiry:n})=>{this.isInitialized(),await this.pairings.update(i,{expiry:n})},this.updateMetadata=async({topic:i,metadata:n})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:n})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:n}=i;this.pairings.keys.includes(n)&&(await this.sendRequest(n,"wc_pairingDelete",Bt("USER_DISCONNECTED")),await this.deletePairing(n))},this.sendRequest=async(i,n,a)=>{const c=kr(n,a),l=await this.core.crypto.encode(i,c),p=At[n].req;return this.core.history.set(i,c),this.core.relayer.publish(i,l,p),c.id},this.sendResult=async(i,n,a)=>{const c=_s(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method].res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.sendError=async(i,n,a)=>{const c=Es(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method]?At[p.request.method].res:At.unregistered_method.res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,Bt("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),n?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(n=>ci(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:a}=i;switch(a.method){case"wc_pairingPing":return this.onPairingPingRequest(n,a);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,a);default:return this.onUnknownRpcMethodRequest(n,a)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:a}=i,c=(await this.core.history.get(n,a.id)).request.method;switch(c){case"wc_pairingPing":return this.onPairingPingResponse(n,a);default:return this.onUnknownRpcMethodResponse(c)}},this.onPairingPingRequest=async(i,n)=>{const{id:a}=n;try{this.isValidPing({topic:i}),await this.sendResult(a,i,!0),this.events.emit(Ht.ping,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onPairingPingResponse=(i,n)=>{const{id:a}=n;setTimeout(()=>{Ss(n)?this.events.emit(_r("pairing_ping",a),{}):yr(n)&&this.events.emit(_r("pairing_ping",a),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:a}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(Ht.delete,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:a,method:c}=n;try{if(this.registeredMethods.includes(c))return;const l=Bt("WC_METHOD_UNSUPPORTED",c);await this.sendError(a,i,l),this.logger.error(l)}catch(l){await this.sendError(a,i,l),this.logger.error(l)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(Bt("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=i=>{var n;if(!Er(i)){const{message:c}=J("MISSING_OR_INVALID",`pair() params: ${i}`);throw new Error(c)}if(!Fo(i.uri)){const{message:c}=J("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw new Error(c)}const a=ai(i.uri);if(!((n=a==null?void 0:a.relay)!=null&&n.protocol)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(c)}if(!(a!=null&&a.symKey)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(c)}},this.isValidPing=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!Co(i,!1)){const{message:n}=J("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=J("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(ci(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=J("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.pairings=new vn(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Y.getLoggerContext(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Ye.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const n=await this.core.crypto.decode(t,i);try{Is(n)?(this.core.history.set(t,n),this.onRelayEventRequest({topic:t,payload:n})):Gr(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id))}catch(a){this.logger.error(a)}})}registerExpirerEvents(){this.core.expirer.on(it.expired,async e=>{const{topic:t}=No(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Ht.expire,{topic:t}))})}}class _n extends Da{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new lt.EventEmitter,this.name=hn,this.version=un,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,n,a)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:a}),this.records.has(n.id))return;const c={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:a,expiry:nr(G.THIRTY_DAYS)};this.records.set(c.id,c),this.events.emit(at.created,c)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const n=await this.getRecord(i.id);typeof n.response>"u"&&(n.response=yr(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.events.emit(at.updated,n))},this.get=async(i,n)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:n}),await this.getRecord(n)),this.delete=(i,n)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:n}),this.values.forEach(a=>{if(a.topic===i){if(typeof n<"u"&&a.id!==n)return;this.records.delete(a.id),this.events.emit(at.deleted,a)}})},this.exists=async(i,n)=>(this.isInitialized(),this.records.has(n)?(await this.getRecord(n)).topic===i:!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:kr(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(at.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(at.created,e=>{const t=at.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.updated,e=>{const t=at.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.deleted,e=>{const t=at.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{G.toMiliseconds(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class En extends Ka{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new lt.EventEmitter,this.name=ln,this.version=fn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const n=this.formatTarget(i);return typeof this.getExpiration(n)<"u"}catch{return!1}},this.set=(i,n)=>{this.isInitialized();const a=this.formatTarget(i),c={target:a,expiry:n};this.expirations.set(a,c),this.checkExpiry(a,c),this.events.emit(it.created,{target:a,expiration:c})},this.get=i=>{this.isInitialized();const n=this.formatTarget(i);return this.getExpiration(n)},this.del=i=>{if(this.isInitialized(),this.has(i)){const n=this.formatTarget(i),a=this.getExpiration(n);this.expirations.delete(n),this.events.emit(it.deleted,{target:n,expiration:a})}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Do(e);if(typeof e=="number")return Mo(e);const{message:t}=J("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(it.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;G.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(it.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(it.created,e=>{const t=it.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.expired,e=>{const t=it.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.deleted,e=>{const t=it.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class xn extends Ba{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=hr,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||zo()||!Uo())return;const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);this.verifyUrl!==n&&this.removeIframe(),this.verifyUrl=n;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a)}if(!this.initialized){this.removeIframe(),this.verifyUrl=fr;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return"";const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);let a;try{a=await this.fetchAttestation(i.attestationId,n)}catch(c){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${n}`),this.logger.info(c),a=await this.fetchAttestation(i.attestationId,fr)}return a},this.fetchAttestation=async(i,n)=>{this.logger.info(`resolving attestation: ${i} from url: ${n}`);const a=this.startAbortTimer(G.ONE_SECOND*2),c=await fetch(`${n}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(a),c.status===200?await c.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var n;try{if(!this.iframe)return;(n=this.iframe.contentWindow)==null||n.postMessage(i,"*"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const n=a=>{a.data==="verify_ready"&&(this.initialized=!0,this.processQueue(),window.removeEventListener("message",n),i())};await Promise.race([new Promise(a=>{if(document.getElementById(hr))return a();window.addEventListener("message",n);const c=document.createElement("iframe");c.id=hr,c.src=`${this.verifyUrl}/${this.projectId}`,c.style.display="none",document.body.append(c),this.iframe=c,i=a}),new Promise((a,c)=>setTimeout(()=>{window.removeEventListener("message",n),c("verify iframe load timeout")},G.toMiliseconds(G.FIVE_SECONDS)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let n=i||Ft;return dn.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${Ft}`),n=Ft),n},this.logger=Y.generateChildLogger(t,this.name),this.verifyUrl=Ft,this.abortController=new AbortController,this.isDevEnv=$o()&&{}.IS_VITEST}get context(){return Y.getLoggerContext(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),G.toMiliseconds(e))}}var yu=Object.defineProperty,Gi=Object.getOwnPropertySymbols,mu=Object.prototype.hasOwnProperty,bu=Object.prototype.propertyIsEnumerable,Vi=(r,e,t)=>e in r?yu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))mu.call(e,t)&&Vi(r,t,e[t]);if(Gi)for(var t of Gi(e))bu.call(e,t)&&Vi(r,t,e[t]);return r};class vr extends Na{constructor(e){super(e),this.protocol=Vr,this.version=zs,this.name=br,this.events=new lt.EventEmitter,this.initialized=!1,this.on=(i,n)=>this.events.on(i,n),this.once=(i,n)=>this.events.once(i,n),this.off=(i,n)=>this.events.off(i,n),this.removeListener=(i,n)=>this.events.removeListener(i,n),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Y.pino(Y.getDefaultLoggerOptions({level:(e==null?void 0:e.logger)||Us.logger}));this.logger=Y.generateChildLogger(t,this.name),this.heartbeat=new Dt.HeartBeat,this.crypto=new pn(this,this.logger,e==null?void 0:e.keychain),this.history=new _n(this,this.logger),this.expirer=new En(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Sa(qi(qi({},$s),e==null?void 0:e.storageOptions)),this.relayer=new bn({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new wn(this,this.logger),this.verify=new xn(this.projectId||"",this.logger)}static async init(e){const t=new vr(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(rn,i),t}get context(){return Y.getLoggerContext(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const vu=vr,Pu=Object.freeze(Object.defineProperty({__proto__:null,CORE_CONTEXT:br,CORE_DEFAULT:Us,CORE_PROTOCOL:Vr,CORE_STORAGE_OPTIONS:$s,CORE_STORAGE_PREFIX:yt,CORE_VERSION:zs,CRYPTO_CLIENT_SEED:Ur,CRYPTO_CONTEXT:js,CRYPTO_JWT_TTL:Ks,Core:vu,Crypto:pn,EXPIRER_CONTEXT:ln,EXPIRER_DEFAULT_TTL:tu,EXPIRER_EVENTS:it,EXPIRER_STORAGE_VERSION:fn,Expirer:En,HISTORY_CONTEXT:hn,HISTORY_EVENTS:at,HISTORY_STORAGE_VERSION:un,JsonRpcHistory:_n,KEYCHAIN_CONTEXT:Bs,KEYCHAIN_STORAGE_VERSION:Hs,KeyChain:gn,MESSAGES_CONTEXT:ks,MESSAGES_STORAGE_VERSION:Gs,MessageTracker:yn,PAIRING_CONTEXT:an,PAIRING_DEFAULT_TTL:eu,PAIRING_EVENTS:Ht,PAIRING_RPC_OPTS:At,PAIRING_STORAGE_VERSION:cn,PENDING_SUB_RESOLUTION_TIMEOUT:on,PUBLISHER_CONTEXT:qs,PUBLISHER_DEFAULT_TTL:Vs,Pairing:wn,RELAYER_CONTEXT:Js,RELAYER_DEFAULT_LOGGER:Ws,RELAYER_DEFAULT_PROTOCOL:Ys,RELAYER_DEFAULT_RELAY_URL:qr,RELAYER_EVENTS:Ye,RELAYER_FAILOVER_RELAY_URL:$r,RELAYER_PROVIDER_EVENTS:ht,RELAYER_RECONNECT_TIMEOUT:Qs,RELAYER_SDK_VERSION:Zs,RELAYER_STORAGE_OPTIONS:Qh,RELAYER_SUBSCRIBER_SUFFIX:Xs,RELAYER_TRANSPORT_CUTOFF:en,Relayer:bn,STORE_STORAGE_VERSION:tn,SUBSCRIBER_CONTEXT:sn,SUBSCRIBER_DEFAULT_TTL:Zh,SUBSCRIBER_EVENTS:st,SUBSCRIBER_STORAGE_VERSION:nn,Store:vn,Subscriber:mn,TRUSTED_VERIFY_URLS:dn,VERIFY_CONTEXT:hr,VERIFY_FALLBACK_SERVER:fr,VERIFY_SERVER:Ft,Verify:xn,WALLETCONNECT_CLIENT_ID:rn,default:vr},Symbol.toStringTag,{value:"Module"}));export{Ft as $,Ye as D,vn as M,vu as N,Ou as S,Ht as V,qo as Y,yr as a,Is as b,Y as c,Gr as d,lt as e,Es as f,kr as g,_s as h,Ss as i,Tu as j,Ys as k,Pu as l,vs as p,it as v}; diff --git a/frontends/web/build/assets/index.es.js b/frontends/web/build/assets/index.es.js new file mode 100644 index 0000000000..24498c8b4d --- /dev/null +++ b/frontends/web/build/assets/index.es.js @@ -0,0 +1 @@ +import{g as Yi,a as lo,E as Nt,b as G,I as fo,M as Wi,O as Ji,P as jr,R as dr,S as go,c as ut,N as J,T as Xi,V as Qi,Z as po,$ as Ar,a0 as yo,K as mo,a1 as bo,a2 as si,a3 as vo,a4 as wo,a5 as _o,a6 as ni,a7 as Eo,L as Fr,a8 as Cr,U as Bt,a9 as sr,aa as Gt,ab as xo,ac as Io,ad as oi,ae as So,af as To,w as Nr,ag as Ro,ah as Oo,_ as Lo,p as nr,ai as Po,aj as ai,d as Ao,y as _r,m as ci,H as Er,k as Fo,n as Co,C as No,ak as Do,al as Mo,am as zo,D as Uo,an as $o,ao as jo}from"./index.js";var Kr={exports:{}},Ct=typeof Reflect=="object"?Reflect:null,hi=Ct&&typeof Ct.apply=="function"?Ct.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)},or;Ct&&typeof Ct.ownKeys=="function"?or=Ct.ownKeys:Object.getOwnPropertySymbols?or=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:or=function(e){return Object.getOwnPropertyNames(e)};function Ko(r){console&&console.warn&&console.warn(r)}var Zi=Number.isNaN||function(e){return e!==e};function X(){X.init.call(this)}Kr.exports=X;Kr.exports.once=Go;X.EventEmitter=X;X.prototype._events=void 0;X.prototype._eventsCount=0;X.prototype._maxListeners=void 0;var ui=10;function gr(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(X,"defaultMaxListeners",{enumerable:!0,get:function(){return ui},set:function(r){if(typeof r!="number"||r<0||Zi(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");ui=r}});X.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};X.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Zi(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function es(r){return r._maxListeners===void 0?X.defaultMaxListeners:r._maxListeners}X.prototype.getMaxListeners=function(){return es(this)};X.prototype.emit=function(e){for(var t=[],i=1;i0&&(c=t[0]),c instanceof Error)throw c;var l=new Error("Unhandled error."+(c?" ("+c.message+")":""));throw l.context=c,l}var p=a[e];if(p===void 0)return!1;if(typeof p=="function")hi(p,this,t);else for(var h=p.length,g=ns(p,h),i=0;i0&&c.length>n&&!c.warned){c.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+c.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=r,l.type=e,l.count=c.length,Ko(l)}return r}X.prototype.addListener=function(e,t){return ts(this,e,t,!1)};X.prototype.on=X.prototype.addListener;X.prototype.prependListener=function(e,t){return ts(this,e,t,!0)};function Bo(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function rs(r,e,t){var i={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},n=Bo.bind(i);return n.listener=t,i.wrapFn=n,n}X.prototype.once=function(e,t){return gr(t),this.on(e,rs(this,e,t)),this};X.prototype.prependOnceListener=function(e,t){return gr(t),this.prependListener(e,rs(this,e,t)),this};X.prototype.removeListener=function(e,t){var i,n,a,c,l;if(gr(t),n=this._events,n===void 0)return this;if(i=n[e],i===void 0)return this;if(i===t||i.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if(typeof i!="function"){for(a=-1,c=i.length-1;c>=0;c--)if(i[c]===t||i[c].listener===t){l=i[c].listener,a=c;break}if(a<0)return this;a===0?i.shift():Ho(i,a),i.length===1&&(n[e]=i[0]),n.removeListener!==void 0&&this.emit("removeListener",e,l||t)}return this};X.prototype.off=X.prototype.removeListener;X.prototype.removeAllListeners=function(e){var t,i,n;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[e]),this;if(arguments.length===0){var a=Object.keys(i),c;for(n=0;n=0;n--)this.removeListener(e,t[n]);return this};function is(r,e,t){var i=r._events;if(i===void 0)return[];var n=i[e];return n===void 0?[]:typeof n=="function"?t?[n.listener||n]:[n]:t?ko(n):ns(n,n.length)}X.prototype.listeners=function(e){return is(this,e,!0)};X.prototype.rawListeners=function(e){return is(this,e,!1)};X.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):ss.call(r,e)};X.prototype.listenerCount=ss;function ss(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}X.prototype.eventNames=function(){return this._eventsCount>0?or(this._events):[]};function ns(r,e){for(var t=new Array(e),i=0;i{const r=new Map;return{name:na,options:{},hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function aa(r={}){const e={mounts:{"":r.driver||oa()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=h=>{for(const g of e.mountpoints)if(h.startsWith(g))return{base:g,relativeKey:h.slice(g.length),driver:e.mounts[g]};return{base:"",relativeKey:h,driver:e.mounts[""]}},i=(h,g)=>e.mountpoints.filter(w=>w.startsWith(h)||g&&h.startsWith(w)).map(w=>({relativeBase:h.length>w.length?h.slice(w.length):void 0,mountpoint:w,driver:e.mounts[w]})),n=(h,g)=>{if(e.watching){g=Je(g);for(const w of e.watchListeners)w(h,g)}},a=async()=>{if(!e.watching){e.watching=!0;for(const h in e.mounts)e.unwatch[h]=await li(e.mounts[h],n,h)}},c=async()=>{if(e.watching){for(const h in e.unwatch)await e.unwatch[h]();e.unwatch={},e.watching=!1}},l=(h,g,w)=>{const I=new Map,R=x=>{let O=I.get(x.base);return O||(O={driver:x.driver,base:x.base,items:[]},I.set(x.base,O)),O};for(const x of h){const O=typeof x=="string",$=Je(O?x:x.key),B=O?void 0:x.value,U=O||!x.options?g:{...g,...x.options},Q=t($);R(Q).items.push({key:$,value:B,relativeKey:Q.relativeKey,options:U})}return Promise.all([...I.values()].map(x=>w(x))).then(x=>x.flat())},p={hasItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.hasItem,w,g)},getItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.getItem,w,g).then(R=>rr(R))},getItems(h,g){return l(h,g,w=>w.driver.getItems?Ue(w.driver.getItems,w.items.map(I=>({key:I.relativeKey,options:I.options})),g).then(I=>I.map(R=>({key:sa(w.base,R.key),value:rr(R.value)}))):Promise.all(w.items.map(I=>Ue(w.driver.getItem,I.relativeKey,I.options).then(R=>({key:I.key,value:rr(R)})))))},getItemRaw(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return I.getItemRaw?Ue(I.getItemRaw,w,g):Ue(I.getItem,w,g).then(R=>ia(R))},async setItem(h,g,w={}){if(g===void 0)return p.removeItem(h);h=Je(h);const{relativeKey:I,driver:R}=t(h);R.setItem&&(await Ue(R.setItem,I,ar(g),w),R.watch||n("update",h))},async setItems(h,g){await l(h,g,async w=>{w.driver.setItems&&await Ue(w.driver.setItems,w.items.map(I=>({key:I.relativeKey,value:ar(I.value),options:I.options})),g),w.driver.setItem&&await Promise.all(w.items.map(I=>Ue(w.driver.setItem,I.relativeKey,ar(I.value),I.options)))})},async setItemRaw(h,g,w={}){if(g===void 0)return p.removeItem(h,w);h=Je(h);const{relativeKey:I,driver:R}=t(h);if(R.setItemRaw)await Ue(R.setItemRaw,I,g,w);else if(R.setItem)await Ue(R.setItem,I,ra(g),w);else return;R.watch||n("update",h)},async removeItem(h,g={}){typeof g=="boolean"&&(g={removeMeta:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h);I.removeItem&&(await Ue(I.removeItem,w,g),(g.removeMeta||g.removeMata)&&await Ue(I.removeItem,w+"$",g),I.watch||n("remove",h))},async getMeta(h,g={}){typeof g=="boolean"&&(g={nativeOnly:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h),R=Object.create(null);if(I.getMeta&&Object.assign(R,await Ue(I.getMeta,w,g)),!g.nativeOnly){const x=await Ue(I.getItem,w+"$",g).then(O=>rr(O));x&&typeof x=="object"&&(typeof x.atime=="string"&&(x.atime=new Date(x.atime)),typeof x.mtime=="string"&&(x.mtime=new Date(x.mtime)),Object.assign(R,x))}return R},setMeta(h,g,w={}){return this.setItem(h+"$",g,w)},removeMeta(h,g={}){return this.removeItem(h+"$",g)},async getKeys(h,g={}){h=ir(h);const w=i(h,!0);let I=[];const R=[];for(const x of w){const $=(await Ue(x.driver.getKeys,x.relativeBase,g)).map(B=>x.mountpoint+Je(B)).filter(B=>!I.some(U=>B.startsWith(U)));R.push(...$),I=[x.mountpoint,...I.filter(B=>!B.startsWith(x.mountpoint))]}return h?R.filter(x=>x.startsWith(h)&&!x.endsWith("$")):R.filter(x=>!x.endsWith("$"))},async clear(h,g={}){h=ir(h),await Promise.all(i(h,!1).map(async w=>{if(w.driver.clear)return Ue(w.driver.clear,w.relativeBase,g);if(w.driver.removeItem){const I=await w.driver.getKeys(w.relativeBase||"",g);return Promise.all(I.map(R=>w.driver.removeItem(R,g)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(h=>fi(h)))},async watch(h){return await a(),e.watchListeners.push(h),async()=>{e.watchListeners=e.watchListeners.filter(g=>g!==h),e.watchListeners.length===0&&await c()}},async unwatch(){e.watchListeners=[],await c()},mount(h,g){if(h=ir(h),h&&e.mounts[h])throw new Error(`already mounted at ${h}`);return h&&(e.mountpoints.push(h),e.mountpoints.sort((w,I)=>I.length-w.length)),e.mounts[h]=g,e.watching&&Promise.resolve(li(g,n,h)).then(w=>{e.unwatch[h]=w}).catch(console.error),p},async unmount(h,g=!0){h=ir(h),!(!h||!e.mounts[h])&&(e.watching&&h in e.unwatch&&(e.unwatch[h](),delete e.unwatch[h]),g&&await fi(e.mounts[h]),e.mountpoints=e.mountpoints.filter(w=>w!==h),delete e.mounts[h])},getMount(h=""){h=Je(h)+":";const g=t(h);return{driver:g.driver,base:g.base}},getMounts(h="",g={}){return h=Je(h),i(h,g.parents).map(I=>({driver:I.driver,base:I.mountpoint}))}};return p}function li(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function fi(r){typeof r.dispose=="function"&&await Ue(r.dispose)}function Ot(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function cs(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=Ot(t);return(n,a)=>i.then(c=>a(c.transaction(e,n).objectStore(e)))}let xr;function Vt(){return xr||(xr=cs("keyval-store","keyval")),xr}function di(r,e=Vt()){return e("readonly",t=>Ot(t.get(r)))}function ca(r,e,t=Vt()){return t("readwrite",i=>(i.put(e,r),Ot(i.transaction)))}function ha(r,e=Vt()){return e("readwrite",t=>(t.delete(r),Ot(t.transaction)))}function ua(r=Vt()){return r("readwrite",e=>(e.clear(),Ot(e.transaction)))}function la(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},Ot(r.transaction)}function fa(r=Vt()){return r("readonly",e=>{if(e.getAllKeys)return Ot(e.getAllKeys());const t=[];return la(e,i=>t.push(i.key)).then(()=>t)})}const da=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),ga=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function pr(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return ga(r)}catch{return r}}function qt(r){return typeof r=="string"?r:da(r)||""}const pa="idb-keyval";var ya=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=cs(r.dbName,r.storeName)),{name:pa,options:r,async hasItem(n){return!(typeof await di(t(n),i)>"u")},async getItem(n){return await di(t(n),i)??null},setItem(n,a){return ca(t(n),a,i)},removeItem(n){return ha(t(n),i)},getKeys(){return fa(i)},clear(){return ua(i)}}};const ma="WALLET_CONNECT_V2_INDEXED_DB",ba="keyvaluestorage";class va{constructor(){this.indexedDb=aa({driver:ya({dbName:ma,storeName:ba})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,qt(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var Ir=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cr={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,i){this[t]=String(i)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(i){t[i]=void 0,delete t[i]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof Ir<"u"&&Ir.localStorage?cr.exports=Ir.localStorage:typeof window<"u"&&window.localStorage?cr.exports=window.localStorage:cr.exports=new e})();function wa(r){var e;return[r[0],pr((e=r[1])!=null?e:"")]}class _a{constructor(){this.localStorage=cr.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(wa)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return pr(t)}async setItem(e,t){this.localStorage.setItem(e,qt(t))}async removeItem(e){this.localStorage.removeItem(e)}}const Ea="wc_storage_version",gi=1,xa=async(r,e,t)=>{const i=Ea,n=await e.getItem(i);if(n&&n>=gi){t(e);return}const a=await r.getKeys();if(!a.length){t(e);return}const c=[];for(;a.length;){const l=a.shift();if(!l)continue;const p=l.toLowerCase();if(p.includes("wc@")||p.includes("walletconnect")||p.includes("wc_")||p.includes("wallet_connect")){const h=await r.getItem(l);await e.setItem(l,h),c.push(l)}}await e.setItem(i,gi),t(e),Ia(r,c)},Ia=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let Sa=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new _a;this.storage=e;try{const t=new va;xa(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};var Dt={},$t={},Sr={},jt={};let Lt=class{};const Ta=Object.freeze(Object.defineProperty({__proto__:null,IEvents:Lt},Symbol.toStringTag,{value:"Module"})),Ra=lo(Ta);var pi;function Oa(){if(pi)return jt;pi=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.IHeartBeat=void 0;const r=Ra;class e extends r.IEvents{constructor(i){super()}}return jt.IHeartBeat=e,jt}var yi;function hs(){return yi||(yi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(Oa(),r)}(Sr)),Sr}var Tr={},Tt={},mi;function La(){if(mi)return Tt;mi=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.HEARTBEAT_EVENTS=Tt.HEARTBEAT_INTERVAL=void 0;const r=G;return Tt.HEARTBEAT_INTERVAL=r.FIVE_SECONDS,Tt.HEARTBEAT_EVENTS={pulse:"heartbeat_pulse"},Tt}var bi;function us(){return bi||(bi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(La(),r)}(Tr)),Tr}var vi;function Pa(){if(vi)return $t;vi=1,Object.defineProperty($t,"__esModule",{value:!0}),$t.HeartBeat=void 0;const r=Nt,e=lt,t=G,i=hs(),n=us();class a extends i.IHeartBeat{constructor(l){super(l),this.events=new e.EventEmitter,this.interval=n.HEARTBEAT_INTERVAL,this.interval=(l==null?void 0:l.interval)||n.HEARTBEAT_INTERVAL}static init(l){return r.__awaiter(this,void 0,void 0,function*(){const p=new a(l);return yield p.init(),p})}init(){return r.__awaiter(this,void 0,void 0,function*(){yield this.initialize()})}stop(){clearInterval(this.intervalRef)}on(l,p){this.events.on(l,p)}once(l,p){this.events.once(l,p)}off(l,p){this.events.off(l,p)}removeListener(l,p){this.events.removeListener(l,p)}initialize(){return r.__awaiter(this,void 0,void 0,function*(){this.intervalRef=setInterval(()=>this.pulse(),t.toMiliseconds(this.interval))})}pulse(){this.events.emit(n.HEARTBEAT_EVENTS.pulse)}}return $t.HeartBeat=a,$t}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(Pa(),r),e.__exportStar(hs(),r),e.__exportStar(us(),r)})(Dt);var Y={},Rr,wi;function Aa(){if(wi)return Rr;wi=1;function r(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}Rr=e;function e(t,i,n){var a=n&&n.stringify||r,c=1;if(typeof t=="object"&&t!==null){var l=i.length+c;if(l===1)return t;var p=new Array(l);p[0]=a(t);for(var h=1;h-1?R:0,t.charCodeAt(O+1)){case 100:case 102:if(I>=g||i[I]==null)break;R=g||i[I]==null)break;R=g||i[I]===void 0)break;R",R=O+2,O++;break}w+=a(i[I]),R=O+2,O++;break;case 115:if(I>=g)break;R-1&&(K=!1);const k=["error","fatal","warn","info","debug","trace"];typeof P=="function"&&(P.error=P.fatal=P.warn=P.info=P.debug=P.trace=P),v.enabled===!1&&(v.level="silent");const le=v.level||"info",y=Object.create(P);y.log||(y.log=$),Object.defineProperty(y,"levelVal",{get:Z}),Object.defineProperty(y,"level",{get:ae,set:C});const _={transmit:S,serialize:D,asObject:v.browser.asObject,levels:k,timestamp:R(v)};y.levels=n.levels,y.level=le,y.setMaxListeners=y.getMaxListeners=y.emit=y.addListener=y.on=y.prependListener=y.once=y.prependOnceListener=y.removeListener=y.removeAllListeners=y.listeners=y.listenerCount=y.eventNames=y.write=y.flush=$,y.serializers=j,y._serialize=D,y._stdErrSerialize=K,y.child=L,S&&(y._logEvent=w());function Z(){return this.level==="silent"?1/0:this.levels.values[this.level]}function ae(){return this._level}function C(T){if(T!=="silent"&&!this.levels.values[T])throw Error("unknown level "+T);this._level=T,a(_,y,"error","log"),a(_,y,"fatal","error"),a(_,y,"warn","error"),a(_,y,"info","log"),a(_,y,"debug","log"),a(_,y,"trace","log")}function L(T,F){if(!T)throw new Error("missing bindings for child Pino");F=F||{},D&&T.serializers&&(F.serializers=T.serializers);const me=F.serializers;if(D&&me){var ie=Object.assign({},j,me),mt=v.browser.serialize===!0?Object.keys(ie):D;delete T.serializers,p([T],mt,ie,this._stdErrSerialize)}function H(Ge){this._childLevel=(Ge._childLevel|0)+1,this.error=h(Ge,T,"error"),this.fatal=h(Ge,T,"fatal"),this.warn=h(Ge,T,"warn"),this.info=h(Ge,T,"info"),this.debug=h(Ge,T,"debug"),this.trace=h(Ge,T,"trace"),ie&&(this.serializers=ie,this._serialize=mt),S&&(this._logEvent=w([].concat(Ge._logEvent.bindings,T)))}return H.prototype=this,new H(this)}return y}n.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},n.stdSerializers=t,n.stdTimeFunctions=Object.assign({},{nullTime:B,epochTime:U,unixTime:Q,isoTime:oe});function a(v,S,P,j){const D=Object.getPrototypeOf(S);S[P]=S.levelVal>S.levels.values[P]?$:D[P]?D[P]:e[P]||e[j]||$,c(v,S,P)}function c(v,S,P){!v.transmit&&S[P]===$||(S[P]=function(j){return function(){const K=v.timestamp(),k=new Array(arguments.length),le=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var y=0;y-1&&K in P&&(v[D][K]=P[K](v[D][K]))}function h(v,S,P){return function(){const j=new Array(1+arguments.length);j[0]=S;for(var D=1;D"u"?h=t(l,p):h=l.bindings().context||"",h}qe.getLoggerContext=n;function a(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=n(l,h);return g.trim()?`${g}/${p}`:p}qe.formatChildLoggerContext=a;function c(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=a(l,p,h),w=l.child({context:g});return i(w,g,h)}return qe.generateChildLogger=c,qe}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.pino=void 0;const e=Nt,t=e.__importDefault(Fa());Object.defineProperty(r,"pino",{enumerable:!0,get:function(){return t.default}}),e.__exportStar(ls(),r),e.__exportStar(Ca(),r)})(Y);class Na extends Lt{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}let Da=class extends Lt{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},Ma=class{constructor(e,t){this.logger=e,this.core=t}};class za extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}let Ua=class extends Lt{constructor(e){super()}};class $a{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}}class ja extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}class Ka extends Lt{constructor(e,t){super(),this.core=e,this.logger=t}}class Ba{constructor(e,t){this.projectId=e,this.logger=t}}let Tu=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},Ou=class{constructor(e){this.client=e}};var Br={},fs={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=fo,t=Wi;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var i=function(){function l(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return l.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},l.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},l.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},l.prototype.update=function(p,h){if(h===void 0&&(h=p.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var g=0;if(this._bytesHashed+=h,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=p[g++],h--;this._bufferLength===this.blockSize&&(a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(h>=this.blockSize&&(g=a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,p,g,h),h%=this.blockSize);h>0;)this._buffer[this._bufferLength++]=p[g++],h--;return this},l.prototype.finish=function(p){if(!this._finished){var h=this._bytesHashed,g=this._bufferLength,w=h/536870912|0,I=h<<3,R=h%128<112?128:256;this._buffer[g]=128;for(var x=g+1;x0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},l.prototype.restoreState=function(p){return this._stateHi.set(p.stateHi),this._stateLo.set(p.stateLo),this._bufferLength=p.bufferLength,p.buffer&&this._buffer.set(p.buffer),this._bytesHashed=p.bytesHashed,this._finished=!1,this},l.prototype.cleanSavedState=function(p){t.wipe(p.stateHi),t.wipe(p.stateLo),p.buffer&&t.wipe(p.buffer),p.bufferLength=0,p.bytesHashed=0},l}();r.SHA512=i;var n=new Int32Array([1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function a(l,p,h,g,w,I,R){for(var x=h[0],O=h[1],$=h[2],B=h[3],U=h[4],Q=h[5],oe=h[6],V=h[7],v=g[0],S=g[1],P=g[2],j=g[3],D=g[4],K=g[5],k=g[6],le=g[7],y,_,Z,ae,C,L,T,F;R>=128;){for(var me=0;me<16;me++){var ie=8*me+I;l[me]=e.readUint32BE(w,ie),p[me]=e.readUint32BE(w,ie+4)}for(var me=0;me<80;me++){var mt=x,H=O,Ge=$,b=B,m=U,d=Q,s=oe,u=V,N=v,M=S,W=P,ee=j,q=D,te=K,$e=k,Se=le;if(y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(U>>>14|D<<32-14)^(U>>>18|D<<32-18)^(D>>>41-32|U<<32-(41-32)),_=(D>>>14|U<<32-14)^(D>>>18|U<<32-18)^(U>>>41-32|D<<32-(41-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=U&Q^~U&oe,_=D&K^~D&k,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=n[me*2],_=n[me*2+1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=l[me%16],_=p[me%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,Z=T&65535|F<<16,ae=C&65535|L<<16,y=Z,_=ae,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(x>>>28|v<<32-28)^(v>>>34-32|x<<32-(34-32))^(v>>>39-32|x<<32-(39-32)),_=(v>>>28|x<<32-28)^(x>>>34-32|v<<32-(34-32))^(x>>>39-32|v<<32-(39-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=x&O^x&$^O&$,_=v&S^v&P^S&P,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,u=T&65535|F<<16,Se=C&65535|L<<16,y=b,_=ee,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=Z,_=ae,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,b=T&65535|F<<16,ee=C&65535|L<<16,O=mt,$=H,B=Ge,U=b,Q=m,oe=d,V=s,x=u,S=N,P=M,j=W,D=ee,K=q,k=te,le=$e,v=Se,me%16===15)for(var ie=0;ie<16;ie++)y=l[ie],_=p[ie],C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=l[(ie+9)%16],_=p[(ie+9)%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+1)%16],ae=p[(ie+1)%16],y=(Z>>>1|ae<<32-1)^(Z>>>8|ae<<32-8)^Z>>>7,_=(ae>>>1|Z<<32-1)^(ae>>>8|Z<<32-8)^(ae>>>7|Z<<32-7),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+14)%16],ae=p[(ie+14)%16],y=(Z>>>19|ae<<32-19)^(ae>>>61-32|Z<<32-(61-32))^Z>>>6,_=(ae>>>19|Z<<32-19)^(Z>>>61-32|ae<<32-(61-32))^(ae>>>6|Z<<32-6),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,l[ie]=T&65535|F<<16,p[ie]=C&65535|L<<16}y=x,_=v,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[0],_=g[0],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[0]=x=T&65535|F<<16,g[0]=v=C&65535|L<<16,y=O,_=S,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[1],_=g[1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[1]=O=T&65535|F<<16,g[1]=S=C&65535|L<<16,y=$,_=P,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[2],_=g[2],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[2]=$=T&65535|F<<16,g[2]=P=C&65535|L<<16,y=B,_=j,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[3],_=g[3],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[3]=B=T&65535|F<<16,g[3]=j=C&65535|L<<16,y=U,_=D,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[4],_=g[4],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[4]=U=T&65535|F<<16,g[4]=D=C&65535|L<<16,y=Q,_=K,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[5],_=g[5],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[5]=Q=T&65535|F<<16,g[5]=K=C&65535|L<<16,y=oe,_=k,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[6],_=g[6],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[6]=oe=T&65535|F<<16,g[6]=k=C&65535|L<<16,y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[7],_=g[7],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[7]=V=T&65535|F<<16,g[7]=le=C&65535|L<<16,I+=128,R-=128}return I}function c(l){var p=new i;p.update(l);var h=p.digest();return p.clean(),h}r.hash=c})(fs);(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=Ji,t=fs,i=Wi;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function n(b){const m=new Float64Array(16);if(b)for(let d=0;d>16&1),d[M-1]&=65535;d[15]=s[15]-32767-(d[14]>>16&1);const N=d[15]>>16&1;d[14]&=65535,O(s,d,1-N)}for(let u=0;u<16;u++)b[2*u]=s[u]&255,b[2*u+1]=s[u]>>8}function B(b,m){let d=0;for(let s=0;s<32;s++)d|=b[s]^m[s];return(1&d-1>>>8)-1}function U(b,m){const d=new Uint8Array(32),s=new Uint8Array(32);return $(d,b),$(s,m),B(d,s)}function Q(b){const m=new Uint8Array(32);return $(m,b),m[0]&1}function oe(b,m){for(let d=0;d<16;d++)b[d]=m[2*d]+(m[2*d+1]<<8);b[15]&=32767}function V(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]+d[s]}function v(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]-d[s]}function S(b,m,d){let s,u,N=0,M=0,W=0,ee=0,q=0,te=0,$e=0,Se=0,je=0,Oe=0,Te=0,be=0,ye=0,fe=0,he=0,re=0,ve=0,Le=0,se=0,He=0,Ve=0,Xe=0,Qe=0,We=0,nt=0,ct=0,bt=0,Ze=0,Et=0,Mt=0,Wt=0,we=d[0],de=d[1],_e=d[2],Ee=d[3],xe=d[4],ge=d[5],Pe=d[6],Ae=d[7],Fe=d[8],Ce=d[9],Ne=d[10],Re=d[11],Ie=d[12],ce=d[13],De=d[14],Me=d[15];s=m[0],N+=s*we,M+=s*de,W+=s*_e,ee+=s*Ee,q+=s*xe,te+=s*ge,$e+=s*Pe,Se+=s*Ae,je+=s*Fe,Oe+=s*Ce,Te+=s*Ne,be+=s*Re,ye+=s*Ie,fe+=s*ce,he+=s*De,re+=s*Me,s=m[1],M+=s*we,W+=s*de,ee+=s*_e,q+=s*Ee,te+=s*xe,$e+=s*ge,Se+=s*Pe,je+=s*Ae,Oe+=s*Fe,Te+=s*Ce,be+=s*Ne,ye+=s*Re,fe+=s*Ie,he+=s*ce,re+=s*De,ve+=s*Me,s=m[2],W+=s*we,ee+=s*de,q+=s*_e,te+=s*Ee,$e+=s*xe,Se+=s*ge,je+=s*Pe,Oe+=s*Ae,Te+=s*Fe,be+=s*Ce,ye+=s*Ne,fe+=s*Re,he+=s*Ie,re+=s*ce,ve+=s*De,Le+=s*Me,s=m[3],ee+=s*we,q+=s*de,te+=s*_e,$e+=s*Ee,Se+=s*xe,je+=s*ge,Oe+=s*Pe,Te+=s*Ae,be+=s*Fe,ye+=s*Ce,fe+=s*Ne,he+=s*Re,re+=s*Ie,ve+=s*ce,Le+=s*De,se+=s*Me,s=m[4],q+=s*we,te+=s*de,$e+=s*_e,Se+=s*Ee,je+=s*xe,Oe+=s*ge,Te+=s*Pe,be+=s*Ae,ye+=s*Fe,fe+=s*Ce,he+=s*Ne,re+=s*Re,ve+=s*Ie,Le+=s*ce,se+=s*De,He+=s*Me,s=m[5],te+=s*we,$e+=s*de,Se+=s*_e,je+=s*Ee,Oe+=s*xe,Te+=s*ge,be+=s*Pe,ye+=s*Ae,fe+=s*Fe,he+=s*Ce,re+=s*Ne,ve+=s*Re,Le+=s*Ie,se+=s*ce,He+=s*De,Ve+=s*Me,s=m[6],$e+=s*we,Se+=s*de,je+=s*_e,Oe+=s*Ee,Te+=s*xe,be+=s*ge,ye+=s*Pe,fe+=s*Ae,he+=s*Fe,re+=s*Ce,ve+=s*Ne,Le+=s*Re,se+=s*Ie,He+=s*ce,Ve+=s*De,Xe+=s*Me,s=m[7],Se+=s*we,je+=s*de,Oe+=s*_e,Te+=s*Ee,be+=s*xe,ye+=s*ge,fe+=s*Pe,he+=s*Ae,re+=s*Fe,ve+=s*Ce,Le+=s*Ne,se+=s*Re,He+=s*Ie,Ve+=s*ce,Xe+=s*De,Qe+=s*Me,s=m[8],je+=s*we,Oe+=s*de,Te+=s*_e,be+=s*Ee,ye+=s*xe,fe+=s*ge,he+=s*Pe,re+=s*Ae,ve+=s*Fe,Le+=s*Ce,se+=s*Ne,He+=s*Re,Ve+=s*Ie,Xe+=s*ce,Qe+=s*De,We+=s*Me,s=m[9],Oe+=s*we,Te+=s*de,be+=s*_e,ye+=s*Ee,fe+=s*xe,he+=s*ge,re+=s*Pe,ve+=s*Ae,Le+=s*Fe,se+=s*Ce,He+=s*Ne,Ve+=s*Re,Xe+=s*Ie,Qe+=s*ce,We+=s*De,nt+=s*Me,s=m[10],Te+=s*we,be+=s*de,ye+=s*_e,fe+=s*Ee,he+=s*xe,re+=s*ge,ve+=s*Pe,Le+=s*Ae,se+=s*Fe,He+=s*Ce,Ve+=s*Ne,Xe+=s*Re,Qe+=s*Ie,We+=s*ce,nt+=s*De,ct+=s*Me,s=m[11],be+=s*we,ye+=s*de,fe+=s*_e,he+=s*Ee,re+=s*xe,ve+=s*ge,Le+=s*Pe,se+=s*Ae,He+=s*Fe,Ve+=s*Ce,Xe+=s*Ne,Qe+=s*Re,We+=s*Ie,nt+=s*ce,ct+=s*De,bt+=s*Me,s=m[12],ye+=s*we,fe+=s*de,he+=s*_e,re+=s*Ee,ve+=s*xe,Le+=s*ge,se+=s*Pe,He+=s*Ae,Ve+=s*Fe,Xe+=s*Ce,Qe+=s*Ne,We+=s*Re,nt+=s*Ie,ct+=s*ce,bt+=s*De,Ze+=s*Me,s=m[13],fe+=s*we,he+=s*de,re+=s*_e,ve+=s*Ee,Le+=s*xe,se+=s*ge,He+=s*Pe,Ve+=s*Ae,Xe+=s*Fe,Qe+=s*Ce,We+=s*Ne,nt+=s*Re,ct+=s*Ie,bt+=s*ce,Ze+=s*De,Et+=s*Me,s=m[14],he+=s*we,re+=s*de,ve+=s*_e,Le+=s*Ee,se+=s*xe,He+=s*ge,Ve+=s*Pe,Xe+=s*Ae,Qe+=s*Fe,We+=s*Ce,nt+=s*Ne,ct+=s*Re,bt+=s*Ie,Ze+=s*ce,Et+=s*De,Mt+=s*Me,s=m[15],re+=s*we,ve+=s*de,Le+=s*_e,se+=s*Ee,He+=s*xe,Ve+=s*ge,Xe+=s*Pe,Qe+=s*Ae,We+=s*Fe,nt+=s*Ce,ct+=s*Ne,bt+=s*Re,Ze+=s*Ie,Et+=s*ce,Mt+=s*De,Wt+=s*Me,N+=38*ve,M+=38*Le,W+=38*se,ee+=38*He,q+=38*Ve,te+=38*Xe,$e+=38*Qe,Se+=38*We,je+=38*nt,Oe+=38*ct,Te+=38*bt,be+=38*Ze,ye+=38*Et,fe+=38*Mt,he+=38*Wt,u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),b[0]=N,b[1]=M,b[2]=W,b[3]=ee,b[4]=q,b[5]=te,b[6]=$e,b[7]=Se,b[8]=je,b[9]=Oe,b[10]=Te,b[11]=be,b[12]=ye,b[13]=fe,b[14]=he,b[15]=re}function P(b,m){S(b,m,m)}function j(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=253;s>=0;s--)P(d,d),s!==2&&s!==4&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function D(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=250;s>=0;s--)P(d,d),s!==1&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function K(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n(),q=n(),te=n();v(d,b[1],b[0]),v(te,m[1],m[0]),S(d,d,te),V(s,b[0],b[1]),V(te,m[0],m[1]),S(s,s,te),S(u,b[3],m[3]),S(u,u,h),S(N,b[2],m[2]),V(N,N,N),v(M,s,d),v(W,N,u),V(ee,N,u),V(q,s,d),S(b[0],M,W),S(b[1],q,ee),S(b[2],ee,W),S(b[3],M,q)}function k(b,m,d){for(let s=0;s<4;s++)O(b[s],m[s],d)}function le(b,m){const d=n(),s=n(),u=n();j(u,m[2]),S(d,m[0],u),S(s,m[1],u),$(b,s),b[31]^=Q(d)<<7}function y(b,m,d){R(b[0],c),R(b[1],l),R(b[2],l),R(b[3],c);for(let s=255;s>=0;--s){const u=d[s/8|0]>>(s&7)&1;k(b,m,u),K(m,b),K(b,b),k(b,m,u)}}function _(b,m){const d=[n(),n(),n(),n()];R(d[0],g),R(d[1],w),R(d[2],l),S(d[3],g,w),y(b,d,m)}function Z(b){if(b.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const m=(0,t.hash)(b);m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(32),s=[n(),n(),n(),n()];_(s,m),le(d,s);const u=new Uint8Array(64);return u.set(b),u.set(d,32),{publicKey:d,secretKey:u}}r.generateKeyPairFromSeed=Z;function ae(b){const m=(0,e.randomBytes)(32,b),d=Z(m);return(0,i.wipe)(m),d}r.generateKeyPair=ae;function C(b){if(b.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(b.subarray(32))}r.extractPublicKeyFromSecretKey=C;const L=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function T(b,m){let d,s,u,N;for(s=63;s>=32;--s){for(d=0,u=s-32,N=s-12;u>4)*L[u],d=m[u]>>8,m[u]&=255;for(u=0;u<32;u++)m[u]-=d*L[u];for(s=0;s<32;s++)m[s+1]+=m[s]>>8,b[s]=m[s]&255}function F(b){const m=new Float64Array(64);for(let d=0;d<64;d++)m[d]=b[d];for(let d=0;d<64;d++)b[d]=0;T(b,m)}function me(b,m){const d=new Float64Array(64),s=[n(),n(),n(),n()],u=(0,t.hash)(b.subarray(0,32));u[0]&=248,u[31]&=127,u[31]|=64;const N=new Uint8Array(64);N.set(u.subarray(32),32);const M=new t.SHA512;M.update(N.subarray(32)),M.update(m);const W=M.digest();M.clean(),F(W),_(s,W),le(N,s),M.reset(),M.update(N.subarray(0,32)),M.update(b.subarray(32)),M.update(m);const ee=M.digest();F(ee);for(let q=0;q<32;q++)d[q]=W[q];for(let q=0;q<32;q++)for(let te=0;te<32;te++)d[q+te]+=ee[q]*u[te];return T(N.subarray(32),d),N}r.sign=me;function ie(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n();return R(b[2],l),oe(b[1],m),P(u,b[1]),S(N,u,p),v(u,u,b[2]),V(N,b[2],N),P(M,N),P(W,M),S(ee,W,M),S(d,ee,u),S(d,d,N),D(d,d),S(d,d,u),S(d,d,N),S(d,d,N),S(b[0],d,N),P(s,b[0]),S(s,s,N),U(s,u)&&S(b[0],b[0],I),P(s,b[0]),S(s,s,N),U(s,u)?-1:(Q(b[0])===m[31]>>7&&v(b[0],c,b[0]),S(b[3],b[0],b[1]),0)}function mt(b,m,d){const s=new Uint8Array(32),u=[n(),n(),n(),n()],N=[n(),n(),n(),n()];if(d.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(ie(N,b))return!1;const M=new t.SHA512;M.update(d.subarray(0,32)),M.update(b),M.update(m);const W=M.digest();return F(W),y(u,N,W),_(N,d.subarray(32)),K(u,N),le(s,u),!B(d,s)}r.verify=mt;function H(b){let m=[n(),n(),n(),n()];if(ie(m,b))throw new Error("Ed25519: invalid public key");let d=n(),s=n(),u=m[1];V(d,l,u),v(s,l,u),j(s,s),S(d,d,s);let N=new Uint8Array(32);return $(N,d),N}r.convertPublicKeyToX25519=H;function Ge(b){const m=(0,t.hash)(b.subarray(0,32));m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(m.subarray(0,32));return(0,i.wipe)(m),d}r.convertSecretKeyToX25519=Ge})(Br);const Ha="EdDSA",ka="JWT",ds=".",gs="base64url",Ga="utf8",Va="utf8",qa=":",Ya="did",Wa="key",Ii="base58btc",Ja="z",Xa="K36",Qa=32;function ur(r){return dr(jr(qt(r),Ga),gs)}function ps(r){const e=jr(Xa,Ii),t=Ja+dr(go([e,r]),Ii);return[Ya,Wa,t].join(qa)}function Za(r){return dr(r,gs)}function ec(r){return jr([ur(r.header),ur(r.payload)].join(ds),Va)}function tc(r){return[ur(r.header),ur(r.payload),Za(r.signature)].join(ds)}function Si(r=Ji.randomBytes(Qa)){return Br.generateKeyPairFromSeed(r)}async function rc(r,e,t,i,n=G.fromMiliseconds(Date.now())){const a={alg:Ha,typ:ka},c=ps(i.publicKey),l=n+t,p={iss:c,sub:r,aud:e,iat:n,exp:l},h=ec({header:a,payload:p}),g=Br.sign(i.secretKey,h);return tc({header:a,payload:p,signature:g})}const ic="PARSE_ERROR",sc="INVALID_REQUEST",nc="METHOD_NOT_FOUND",oc="INVALID_PARAMS",ys="INTERNAL_ERROR",Hr="SERVER_ERROR",ac=[-32700,-32600,-32601,-32602,-32603],kt={[ic]:{code:-32700,message:"Parse error"},[sc]:{code:-32600,message:"Invalid Request"},[nc]:{code:-32601,message:"Method not found"},[oc]:{code:-32602,message:"Invalid params"},[ys]:{code:-32603,message:"Internal error"},[Hr]:{code:-32e3,message:"Server error"}},ms=Hr;function cc(r){return ac.includes(r)}function Ti(r){return Object.keys(kt).includes(r)?kt[r]:kt[ms]}function hc(r){const e=Object.values(kt).find(t=>t.code===r);return e||kt[ms]}function uc(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var bs={},gt={},Ri;function lc(){if(Ri)return gt;Ri=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.isBrowserCryptoAvailable=gt.getSubtleCrypto=gt.getBrowerCrypto=void 0;function r(){return(ut===null||ut===void 0?void 0:ut.crypto)||(ut===null||ut===void 0?void 0:ut.msCrypto)||{}}gt.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}gt.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return gt.isBrowserCryptoAvailable=t,gt}var pt={},Oi;function fc(){if(Oi)return pt;Oi=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.isBrowser=pt.isNode=pt.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}pt.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}pt.isNode=e;function t(){return!r()&&!e()}return pt.isBrowser=t,pt}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(lc(),r),e.__exportStar(fc(),r)})(bs);function vs(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function ws(r=6){return BigInt(vs(r))}function kr(r,e,t){return{id:t||vs(),jsonrpc:"2.0",method:r,params:e}}function _s(r,e){return{id:r,jsonrpc:"2.0",result:e}}function Es(r,e,t){return{id:r,jsonrpc:"2.0",error:dc(e,t)}}function dc(r,e){return typeof r>"u"?Ti(ys):(typeof r=="string"&&(r=Object.assign(Object.assign({},Ti(Hr)),{message:r})),typeof e<"u"&&(r.data=e),cc(r.code)&&(r=hc(r.code)),r)}class gc{}class pc extends gc{constructor(){super()}}class yc extends pc{constructor(e){super()}}const mc="^wss?:";function bc(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function vc(r,e){const t=bc(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function Li(r){return vc(r,mc)}function wc(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function xs(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Is(r){return xs(r)&&"method"in r}function Gr(r){return xs(r)&&(Ss(r)||yr(r))}function Ss(r){return"result"in r}function yr(r){return"error"in r}class _c extends yc{constructor(e){super(e),this.events=new lt.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict(kr(e.method,e.params||[],e.id||ws().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(a){n(a)}this.events.on(`${e.id}`,a=>{yr(a)?n(a.error):i(a.result)});try{await this.connection.send(e,t)}catch(a){n(a)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Gr(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const Ec=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),xc=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",Pi=r=>r.split("?")[0],Ai=10,Ic=Ec();class Sc{constructor(e){if(this.url=e,this.events=new lt.EventEmitter,this.registering=!1,!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(qt(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,n)=>{this.events.once("register_error",a=>{this.resetMaxListeners(),n(a)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return n(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,i)=>{const n=new URLSearchParams(e).get("origin"),a=bs.isReactNative()?{headers:{origin:n}}:{rejectUnauthorized:!wc(e)},c=new Ic(e,[],a);xc()?c.onerror=l=>{const p=l;i(this.emitError(p.error))}:c.on("error",l=>{i(this.emitError(l))}),c.onopen=()=>{this.onOpen(c),t(c)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?pr(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=Es(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return uc(e,Pi(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>Ai&&this.events.setMaxListeners(Ai)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${Pi(this.url)}`));return this.events.emit("register_error",t),t}}var lr={exports:{}};lr.exports;(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,a=2,c=9007199254740991,l="[object Arguments]",p="[object Array]",h="[object AsyncFunction]",g="[object Boolean]",w="[object Date]",I="[object Error]",R="[object Function]",x="[object GeneratorFunction]",O="[object Map]",$="[object Number]",B="[object Null]",U="[object Object]",Q="[object Promise]",oe="[object Proxy]",V="[object RegExp]",v="[object Set]",S="[object String]",P="[object Symbol]",j="[object Undefined]",D="[object WeakMap]",K="[object ArrayBuffer]",k="[object DataView]",le="[object Float32Array]",y="[object Float64Array]",_="[object Int8Array]",Z="[object Int16Array]",ae="[object Int32Array]",C="[object Uint8Array]",L="[object Uint8ClampedArray]",T="[object Uint16Array]",F="[object Uint32Array]",me=/[\\^$.*+?()[\]{}|]/g,ie=/^\[object .+?Constructor\]$/,mt=/^(?:0|[1-9]\d*)$/,H={};H[le]=H[y]=H[_]=H[Z]=H[ae]=H[C]=H[L]=H[T]=H[F]=!0,H[l]=H[p]=H[K]=H[g]=H[k]=H[w]=H[I]=H[R]=H[O]=H[$]=H[U]=H[V]=H[v]=H[S]=H[D]=!1;var Ge=typeof ut=="object"&&ut&&ut.Object===Object&&ut,b=typeof self=="object"&&self&&self.Object===Object&&self,m=Ge||b||Function("return this")(),d=e&&!e.nodeType&&e,s=d&&!0&&r&&!r.nodeType&&r,u=s&&s.exports===d,N=u&&Ge.process,M=function(){try{return N&&N.binding&&N.binding("util")}catch{}}(),W=M&&M.isTypedArray;function ee(o,f){for(var E=-1,A=o==null?0:o.length,ne=0,z=[];++E-1}function An(o,f){var E=this.__data__,A=Xt(E,o);return A<0?(++this.size,E.push([o,f])):E[A][1]=f,this}ft.prototype.clear=Rn,ft.prototype.delete=On,ft.prototype.get=Ln,ft.prototype.has=Pn,ft.prototype.set=An;function xt(o){var f=-1,E=o==null?0:o.length;for(this.clear();++fze))return!1;var ue=z.get(o);if(ue&&z.get(f))return ue==f;var et=-1,ot=!0,ke=E&a?new Jt:void 0;for(z.set(o,f),z.set(f,o);++et-1&&o%1==0&&o-1&&o%1==0&&o<=c}function ti(o){var f=typeof o;return o!=null&&(f=="object"||f=="function")}function Ut(o){return o!=null&&typeof o=="object"}var ri=W?Se(W):Yn;function co(o){return oo(o)?kn(o):Wn(o)}function ho(){return[]}function uo(){return!1}r.exports=ao})(lr,lr.exports);var Tc=lr.exports;const Rc=Yi(Tc);function Oc(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i>>0,oe=new Uint8Array(Q);B!==U;){for(var V=x[B],v=0,S=Q-1;(V!==0||v<$)&&S!==-1;S--,v++)V+=256*oe[S]>>>0,oe[S]=V%l>>>0,V=V/l>>>0;if(V!==0)throw new Error("Non-zero carry");$=v,B++}for(var P=Q-$;P!==Q&&oe[P]===0;)P++;for(var j=p.repeat(O);P>>0,Q=new Uint8Array(U);x[O];){var oe=t[x.charCodeAt(O)];if(oe===255)return;for(var V=0,v=U-1;(oe!==0||V>>0,Q[v]=oe%256>>>0,oe=oe/256>>>0;if(oe!==0)throw new Error("Non-zero carry");B=V,O++}if(x[O]!==" "){for(var S=U-B;S!==U&&Q[S]===0;)S++;for(var P=new Uint8Array($+(U-S)),j=$;S!==U;)P[j++]=Q[S++];return P}}}function R(x){var O=I(x);if(O)return O;throw new Error(`Non-${e} character`)}return{encode:w,decodeUnsafe:I,decode:R}}var Lc=Oc,Pc=Lc;const Ts=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},Ac=r=>new TextEncoder().encode(r),Fc=r=>new TextDecoder().decode(r);class Cc{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Nc{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rs(this,e)}}class Dc{constructor(e){this.decoders=e}or(e){return Rs(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Rs=(r,e)=>new Dc({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class Mc{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new Cc(e,t,i),this.decoder=new Nc(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const mr=({name:r,prefix:e,encode:t,decode:i})=>new Mc(r,e,t,i),Yt=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=Pc(t,e);return mr({prefix:r,name:e,encode:i,decode:a=>Ts(n(a))})},zc=(r,e,t,i)=>{const n={};for(let g=0;g=8&&(l-=8,c[h++]=255&p>>l)}if(l>=t||255&p<<8-l)throw new SyntaxError("Unexpected end of data");return c},Uc=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<t;)c-=t,a+=e[n&l>>c];if(c&&(a+=e[n&l<mr({prefix:e,name:r,encode(n){return Uc(n,i,t)},decode(n){return zc(n,i,t,r)}}),$c=mr({prefix:"\0",name:"identity",encode:r=>Fc(r),decode:r=>Ac(r)});var jc=Object.freeze({__proto__:null,identity:$c});const Kc=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Bc=Object.freeze({__proto__:null,base2:Kc});const Hc=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var kc=Object.freeze({__proto__:null,base8:Hc});const Gc=Yt({prefix:"9",name:"base10",alphabet:"0123456789"});var Vc=Object.freeze({__proto__:null,base10:Gc});const qc=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Yc=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wc=Object.freeze({__proto__:null,base16:qc,base16upper:Yc});const Jc=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xc=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qc=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zc=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eh=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),th=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rh=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ih=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sh=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nh=Object.freeze({__proto__:null,base32:Jc,base32upper:Xc,base32pad:Qc,base32padupper:Zc,base32hex:eh,base32hexupper:th,base32hexpad:rh,base32hexpadupper:ih,base32z:sh});const oh=Yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ah=Yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ch=Object.freeze({__proto__:null,base36:oh,base36upper:ah});const hh=Yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),uh=Yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lh=Object.freeze({__proto__:null,base58btc:hh,base58flickr:uh});const fh=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),dh=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gh=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ph=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var yh=Object.freeze({__proto__:null,base64:fh,base64pad:dh,base64url:gh,base64urlpad:ph});const Os=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),mh=Os.reduce((r,e,t)=>(r[t]=e,r),[]),bh=Os.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vh(r){return r.reduce((e,t)=>(e+=mh[t],e),"")}function wh(r){const e=[];for(const t of r){const i=bh[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const _h=mr({prefix:"🚀",name:"base256emoji",encode:vh,decode:wh});var Eh=Object.freeze({__proto__:null,base256emoji:_h}),xh=Ls,Fi=128,Ih=127,Sh=~Ih,Th=Math.pow(2,31);function Ls(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Th;)e[t++]=r&255|Fi,r/=128;for(;r&Sh;)e[t++]=r&255|Fi,r>>>=7;return e[t]=r|0,Ls.bytes=t-i+1,e}var Rh=Mr,Oh=128,Ci=127;function Mr(r,i){var t=0,i=i||0,n=0,a=i,c,l=r.length;do{if(a>=l)throw Mr.bytes=0,new RangeError("Could not decode varint");c=r[a++],t+=n<28?(c&Ci)<=Oh);return Mr.bytes=a-i,t}var Lh=Math.pow(2,7),Ph=Math.pow(2,14),Ah=Math.pow(2,21),Fh=Math.pow(2,28),Ch=Math.pow(2,35),Nh=Math.pow(2,42),Dh=Math.pow(2,49),Mh=Math.pow(2,56),zh=Math.pow(2,63),Uh=function(r){return r(Ps.encode(r,e,t),e),Di=r=>Ps.encodingLength(r),zr=(r,e)=>{const t=e.byteLength,i=Di(r),n=i+Di(t),a=new Uint8Array(n+t);return Ni(r,a,0),Ni(t,a,i),a.set(e,n),new jh(r,t,e,a)};class jh{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const As=({name:r,code:e,encode:t})=>new Kh(r,e,t);class Kh{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?zr(this.code,t):t.then(i=>zr(this.code,i))}else throw Error("Unknown type, must be binary type")}}const Fs=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Bh=As({name:"sha2-256",code:18,encode:Fs("SHA-256")}),Hh=As({name:"sha2-512",code:19,encode:Fs("SHA-512")});var kh=Object.freeze({__proto__:null,sha256:Bh,sha512:Hh});const Cs=0,Gh="identity",Ns=Ts,Vh=r=>zr(Cs,Ns(r)),qh={code:Cs,name:Gh,encode:Ns,digest:Vh};var Yh=Object.freeze({__proto__:null,identity:qh});new TextEncoder,new TextDecoder;const Mi={...jc,...Bc,...kc,...Vc,...Wc,...nh,...ch,...lh,...yh,...Eh};({...kh,...Yh});function Ds(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Wh(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Ds(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Ms(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const zi=Ms("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Lr=Ms("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=Wh(r.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,n)=>{this.isInitialized(),this.keychain.set(i,n),await this.persist()},this.get=i=>{this.isInitialized();const n=this.keychain.get(i);if(typeof n>"u"){const{message:a}=J("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(a)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class pn{constructor(e,t,i){this.core=e,this.logger=t,this.name=js,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=n=>(this.isInitialized(),this.keychain.has(n)),this.getClientId=async()=>{this.isInitialized();const n=await this.getClientSeed(),a=Si(n);return ps(a.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=po();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const a=await this.getClientSeed(),c=Si(a),l=Ar();return await rc(l,n,Ks,c)},this.generateSharedKey=(n,a,c)=>{this.isInitialized();const l=this.getPrivateKey(n),p=yo(l,a);return this.setSymKey(p,c)},this.setSymKey=async(n,a)=>{this.isInitialized();const c=a||mo(n);return await this.keychain.set(c,n),c},this.deleteKeyPair=async n=>{this.isInitialized(),await this.keychain.del(n)},this.deleteSymKey=async n=>{this.isInitialized(),await this.keychain.del(n)},this.encode=async(n,a,c)=>{this.isInitialized();const l=bo(c),p=qt(a);if(si(l)){const I=l.senderPublicKey,R=l.receiverPublicKey;n=await this.generateSharedKey(I,R)}const h=this.getSymKey(n),{type:g,senderPublicKey:w}=l;return vo({type:g,symKey:h,message:p,senderPublicKey:w})},this.decode=async(n,a,c)=>{this.isInitialized();const l=wo(a,c);if(si(l)){const p=l.receiverPublicKey,h=l.senderPublicKey;n=await this.generateSharedKey(p,h)}try{const p=this.getSymKey(n),h=_o({symKey:p,encoded:a});return pr(h)}catch(p){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(p)}},this.getPayloadType=n=>{const a=ni(n);return Eo(a.type)},this.getPayloadSenderPublicKey=n=>{const a=ni(n);return a.senderPublicKey?dr(a.senderPublicKey,jo):void 0},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.keychain=i||new gn(this.core,this.logger)}get context(){return Y.getLoggerContext(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(Ur)}catch{e=Ar(),await this.keychain.set(Ur,e)}return Xh(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class yn extends Ma{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=ks,this.version=Gs,this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,n)=>{this.isInitialized();const a=Fr(n);let c=this.messages.get(i);return typeof c>"u"&&(c={}),typeof c[a]<"u"||(c[a]=n,this.messages.set(i,c),await this.persist()),a},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const a=this.get(i),c=Fr(n);return typeof a[c]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Y.generateChildLogger(e,this.name),this.core=t}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class ru extends za{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new lt.EventEmitter,this.name=qs,this.queue=new Map,this.publishTimeout=G.toMiliseconds(G.TEN_SECONDS),this.needsTransportRestart=!1,this.publish=async(i,n,a)=>{var c;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}});try{const l=(a==null?void 0:a.ttl)||Vs,p=Cr(a),h=(a==null?void 0:a.prompt)||!1,g=(a==null?void 0:a.tag)||0,w=(a==null?void 0:a.id)||ws().toString(),I={topic:i,message:n,opts:{ttl:l,relay:p,prompt:h,tag:g,id:w}},R=setTimeout(()=>this.queue.set(w,I),this.publishTimeout);try{await await Gt(this.rpcPublish(i,n,l,p,h,g,w),this.publishTimeout,"Failed to publish payload, please try again."),this.removeRequestFromQueue(w),this.relayer.events.emit(Ye.publish,I)}catch(x){if(this.logger.debug("Publishing Payload stalled"),this.needsTransportRestart=!0,(c=a==null?void 0:a.internal)!=null&&c.throwOnFailedPublish)throw this.removeRequestFromQueue(w),x;return}finally{clearTimeout(R)}this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}})}catch(l){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(l),l}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.registerEventListeners()}get context(){return Y.getLoggerContext(this.logger)}rpcPublish(e,t,i,n,a,c,l){var p,h,g,w;const I={method:sr(n.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:a,tag:c},id:l};return Nr((p=I.params)==null?void 0:p.prompt)&&((h=I.params)==null||delete h.prompt),Nr((g=I.params)==null?void 0:g.tag)&&((w=I.params)==null||delete w.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I}),this.relayer.request(I)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:n}=e;await this.publish(t,i,n)})}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Ye.connection_stalled);return}this.checkQueue()}),this.relayer.on(Ye.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class iu{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const n=i.filter(a=>a!==t);if(!n.length){this.map.delete(e);return}this.map.set(e,n)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var su=Object.defineProperty,nu=Object.defineProperties,ou=Object.getOwnPropertyDescriptors,Ui=Object.getOwnPropertySymbols,au=Object.prototype.hasOwnProperty,cu=Object.prototype.propertyIsEnumerable,$i=(r,e,t)=>e in r?su(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Kt=(r,e)=>{for(var t in e||(e={}))au.call(e,t)&&$i(r,t,e[t]);if(Ui)for(var t of Ui(e))cu.call(e,t)&&$i(r,t,e[t]);return r},Pr=(r,e)=>nu(r,ou(e));class mn extends ja{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new iu,this.events=new lt.EventEmitter,this.name=sn,this.version=nn,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=yt,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const a=Cr(n),c={topic:i,relay:a};this.pending.set(i,c);const l=await this.rpcSubscribe(i,a);return this.onSubscribe(l,c),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}}),l}catch(a){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(a),a}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof(n==null?void 0:n.id)<"u"?await this.unsubscribeById(i,n.id,n):await this.unsubscribeByTopic(i,n)},this.isSubscribed=async i=>this.topics.includes(i)?!0:await new Promise((n,a)=>{const c=new G.Watch;c.start(this.pendingSubscriptionWatchLabel);const l=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),n(!0)),c.elapsed(this.pendingSubscriptionWatchLabel)>=on&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),a(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.clientId=""}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const n=Cr(i);await this.rpcUnsubscribe(e,t,n);const a=Bt("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,a),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,t){const i={method:sr(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}return Fr(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:sr(t.protocol).batchSubscribe,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{return await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}}rpcUnsubscribe(e,t,i){const n={method:sr(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,t){this.setSubscription(e,Pr(Kt({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,Kt({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.subscriptions.has(e)||(this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t))}addSubscription(e,t){this.subscriptions.set(e,Kt({},t)),this.topicMap.set(t.topic,e),this.events.emit(st.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(st.deleted,Pr(Kt({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(st.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);xo(t)&&this.onBatchSubscribe(t.map((i,n)=>Pr(Kt({},e[n]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(Ye.connect,async()=>{await this.onConnect()}),this.relayer.on(Ye.disconnect,()=>{this.onDisconnect()}),this.events.on(st.created,async e=>{const t=st.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(st.deleted,async e=>{const t=st.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var hu=Object.defineProperty,ji=Object.getOwnPropertySymbols,uu=Object.prototype.hasOwnProperty,lu=Object.prototype.propertyIsEnumerable,Ki=(r,e,t)=>e in r?hu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fu=(r,e)=>{for(var t in e||(e={}))uu.call(e,t)&&Ki(r,t,e[t]);if(ji)for(var t of ji(e))lu.call(e,t)&&Ki(r,t,e[t]);return r};class bn extends Ua{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new lt.EventEmitter,this.name=Js,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.hasExperiencedNetworkDisruption=!1,this.request=async t=>{this.logger.debug("Publishing Request Payload");try{return await this.toEstablishConnection(),await this.provider.request(t)}catch(i){throw this.logger.debug("Failed to Publish Request"),this.logger.error(i),i}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(Ye.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(Ye.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(ht.payload,this.onPayloadHandler),this.provider.on(ht.connect,this.onConnectHandler),this.provider.on(ht.disconnect,this.onDisconnectHandler),this.provider.on(ht.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Y.generateChildLogger(e.logger,this.name):Y.pino(Y.getDefaultLoggerOptions({level:e.logger||Ws})),this.messages=new yn(this.logger,e.core),this.subscriber=new mn(this,this.logger),this.publisher=new ru(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.projectId=e.projectId,this.bundleId=Io(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${$r}...`),await this.restartTransport($r)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},en)}get context(){return Y.getLoggerContext(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let n=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"";if(n)return n;let a;const c=l=>{l.topic===e&&(this.subscriber.off(st.created,c),a())};return await Promise.all([new Promise(l=>{a=l,this.subscriber.on(st.created,c)}),new Promise(async l=>{n=await this.subscriber.subscribe(e,t),l()})]),n}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportClose(){this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await Gt(this.provider.disconnect(),1e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(st.resubscribed,()=>{t()})}),new Promise(async(t,i)=>{try{await Gt(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(n){i(n);return}t()})])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.provider.events.emit(ht.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await oi())throw new Error("No internet connection detected. Please restart your network and try again.")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _c(new Sc(So({sdkVersion:Zs,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.debug(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Is(e)){if(!e.method.endsWith(Xs))return;const t=e.params,{topic:i,message:n,publishedAt:a}=t.data,c={topic:i,message:n,publishedAt:a};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(fu({type:"event",event:t.id},c)),this.events.emit(t.id,c),await this.acknowledgePayload(e),await this.onMessageEvent(c)}else Gr(e)&&this.events.emit(Ye.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Ye.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=_s(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(ht.payload,this.onPayloadHandler),this.provider.off(ht.connect,this.onConnectHandler),this.provider.off(ht.disconnect,this.onDisconnectHandler),this.provider.off(ht.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(Ye.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await oi();To(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(i=>this.logger.error(i))))})}onProviderDisconnect(){this.events.emit(Ye.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info("attemptToReconnect called. Connecting..."),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},G.toMiliseconds(Qs)))}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var du=Object.defineProperty,Bi=Object.getOwnPropertySymbols,gu=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,Hi=(r,e,t)=>e in r?du(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ki=(r,e)=>{for(var t in e||(e={}))gu.call(e,t)&&Hi(r,t,e[t]);if(Bi)for(var t of Bi(e))pu.call(e,t)&&Hi(r,t,e[t]);return r};class vn extends $a{constructor(e,t,i,n=yt,a=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=tn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(c=>{this.getKey&&c!==null&&!Nr(c)?this.map.set(this.getKey(c),c):Ro(c)?this.map.set(c.id,c):Oo(c)&&this.map.set(c.topic,c)}),this.cached=[],this.initialized=!0)},this.set=async(c,l)=>{this.isInitialized(),this.map.has(c)?await this.update(c,l):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:c,value:l}),this.map.set(c,l),await this.persist())},this.get=c=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:c}),this.getData(c)),this.getAll=c=>(this.isInitialized(),c?this.values.filter(l=>Object.keys(c).every(p=>Rc(l[p],c[p]))):this.values),this.update=async(c,l)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:c,update:l});const p=ki(ki({},this.getData(c)),l);this.map.set(c,p),await this.persist()},this.delete=async(c,l)=>{this.isInitialized(),this.map.has(c)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:c,reason:l}),this.map.delete(c),await this.persist())},this.logger=Y.generateChildLogger(t,this.name),this.storagePrefix=n,this.getKey=a}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class wn{constructor(e,t){this.core=e,this.logger=t,this.name=an,this.version=cn,this.events=new qo,this.initialized=!1,this.storagePrefix=yt,this.ignoredPayloadTypes=[Lo],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=Ar(),n=await this.core.crypto.setSymKey(i),a=nr(G.FIVE_MINUTES),c={protocol:Ys},l={topic:n,expiry:a,relay:c,active:!1},p=Po({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:c});return await this.pairings.set(n,l),await this.core.relayer.subscribe(n),this.core.expirer.set(n,a),{topic:n,uri:p}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:n,symKey:a,relay:c}=ai(i.uri);let l;if(this.pairings.keys.includes(n)&&(l=this.pairings.get(n),l.active))throw new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);const p=nr(G.FIVE_MINUTES),h={topic:n,relay:c,expiry:p,active:!1};return await this.pairings.set(n,h),this.core.expirer.set(n,p),i.activatePairing&&await this.activate({topic:n}),this.events.emit(Ht.create,h),this.core.crypto.keychain.has(n)||(await this.core.crypto.setSymKey(a,n),await this.core.relayer.subscribe(n,{relay:c})),h},this.activate=async({topic:i})=>{this.isInitialized();const n=nr(G.THIRTY_DAYS);await this.pairings.update(i,{active:!0,expiry:n}),this.core.expirer.set(i,n)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:n}=i;if(this.pairings.keys.includes(n)){const a=await this.sendRequest(n,"wc_pairingPing",{}),{done:c,resolve:l,reject:p}=Ao();this.events.once(_r("pairing_ping",a),({error:h})=>{h?p(h):l()}),await c()}},this.updateExpiry=async({topic:i,expiry:n})=>{this.isInitialized(),await this.pairings.update(i,{expiry:n})},this.updateMetadata=async({topic:i,metadata:n})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:n})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:n}=i;this.pairings.keys.includes(n)&&(await this.sendRequest(n,"wc_pairingDelete",Bt("USER_DISCONNECTED")),await this.deletePairing(n))},this.sendRequest=async(i,n,a)=>{const c=kr(n,a),l=await this.core.crypto.encode(i,c),p=At[n].req;return this.core.history.set(i,c),this.core.relayer.publish(i,l,p),c.id},this.sendResult=async(i,n,a)=>{const c=_s(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method].res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.sendError=async(i,n,a)=>{const c=Es(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method]?At[p.request.method].res:At.unregistered_method.res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,Bt("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),n?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(n=>ci(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:a}=i;switch(a.method){case"wc_pairingPing":return this.onPairingPingRequest(n,a);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,a);default:return this.onUnknownRpcMethodRequest(n,a)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:a}=i,c=(await this.core.history.get(n,a.id)).request.method;switch(c){case"wc_pairingPing":return this.onPairingPingResponse(n,a);default:return this.onUnknownRpcMethodResponse(c)}},this.onPairingPingRequest=async(i,n)=>{const{id:a}=n;try{this.isValidPing({topic:i}),await this.sendResult(a,i,!0),this.events.emit(Ht.ping,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onPairingPingResponse=(i,n)=>{const{id:a}=n;setTimeout(()=>{Ss(n)?this.events.emit(_r("pairing_ping",a),{}):yr(n)&&this.events.emit(_r("pairing_ping",a),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:a}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(Ht.delete,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:a,method:c}=n;try{if(this.registeredMethods.includes(c))return;const l=Bt("WC_METHOD_UNSUPPORTED",c);await this.sendError(a,i,l),this.logger.error(l)}catch(l){await this.sendError(a,i,l),this.logger.error(l)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(Bt("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=i=>{var n;if(!Er(i)){const{message:c}=J("MISSING_OR_INVALID",`pair() params: ${i}`);throw new Error(c)}if(!Fo(i.uri)){const{message:c}=J("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw new Error(c)}const a=ai(i.uri);if(!((n=a==null?void 0:a.relay)!=null&&n.protocol)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(c)}if(!(a!=null&&a.symKey)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(c)}},this.isValidPing=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!Co(i,!1)){const{message:n}=J("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=J("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(ci(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=J("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.pairings=new vn(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Y.getLoggerContext(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Ye.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const n=await this.core.crypto.decode(t,i);try{Is(n)?(this.core.history.set(t,n),this.onRelayEventRequest({topic:t,payload:n})):Gr(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id))}catch(a){this.logger.error(a)}})}registerExpirerEvents(){this.core.expirer.on(it.expired,async e=>{const{topic:t}=No(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Ht.expire,{topic:t}))})}}class _n extends Da{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new lt.EventEmitter,this.name=hn,this.version=un,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,n,a)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:a}),this.records.has(n.id))return;const c={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:a,expiry:nr(G.THIRTY_DAYS)};this.records.set(c.id,c),this.events.emit(at.created,c)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const n=await this.getRecord(i.id);typeof n.response>"u"&&(n.response=yr(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.events.emit(at.updated,n))},this.get=async(i,n)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:n}),await this.getRecord(n)),this.delete=(i,n)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:n}),this.values.forEach(a=>{if(a.topic===i){if(typeof n<"u"&&a.id!==n)return;this.records.delete(a.id),this.events.emit(at.deleted,a)}})},this.exists=async(i,n)=>(this.isInitialized(),this.records.has(n)?(await this.getRecord(n)).topic===i:!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:kr(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(at.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(at.created,e=>{const t=at.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.updated,e=>{const t=at.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.deleted,e=>{const t=at.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{G.toMiliseconds(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class En extends Ka{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new lt.EventEmitter,this.name=ln,this.version=fn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const n=this.formatTarget(i);return typeof this.getExpiration(n)<"u"}catch{return!1}},this.set=(i,n)=>{this.isInitialized();const a=this.formatTarget(i),c={target:a,expiry:n};this.expirations.set(a,c),this.checkExpiry(a,c),this.events.emit(it.created,{target:a,expiration:c})},this.get=i=>{this.isInitialized();const n=this.formatTarget(i);return this.getExpiration(n)},this.del=i=>{if(this.isInitialized(),this.has(i)){const n=this.formatTarget(i),a=this.getExpiration(n);this.expirations.delete(n),this.events.emit(it.deleted,{target:n,expiration:a})}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Do(e);if(typeof e=="number")return Mo(e);const{message:t}=J("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(it.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;G.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(it.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(it.created,e=>{const t=it.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.expired,e=>{const t=it.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.deleted,e=>{const t=it.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class xn extends Ba{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=hr,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||zo()||!Uo())return;const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);this.verifyUrl!==n&&this.removeIframe(),this.verifyUrl=n;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a)}if(!this.initialized){this.removeIframe(),this.verifyUrl=fr;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return"";const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);let a;try{a=await this.fetchAttestation(i.attestationId,n)}catch(c){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${n}`),this.logger.info(c),a=await this.fetchAttestation(i.attestationId,fr)}return a},this.fetchAttestation=async(i,n)=>{this.logger.info(`resolving attestation: ${i} from url: ${n}`);const a=this.startAbortTimer(G.ONE_SECOND*2),c=await fetch(`${n}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(a),c.status===200?await c.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var n;try{if(!this.iframe)return;(n=this.iframe.contentWindow)==null||n.postMessage(i,"*"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const n=a=>{a.data==="verify_ready"&&(this.initialized=!0,this.processQueue(),window.removeEventListener("message",n),i())};await Promise.race([new Promise(a=>{if(document.getElementById(hr))return a();window.addEventListener("message",n);const c=document.createElement("iframe");c.id=hr,c.src=`${this.verifyUrl}/${this.projectId}`,c.style.display="none",document.body.append(c),this.iframe=c,i=a}),new Promise((a,c)=>setTimeout(()=>{window.removeEventListener("message",n),c("verify iframe load timeout")},G.toMiliseconds(G.FIVE_SECONDS)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let n=i||Ft;return dn.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${Ft}`),n=Ft),n},this.logger=Y.generateChildLogger(t,this.name),this.verifyUrl=Ft,this.abortController=new AbortController,this.isDevEnv=$o()&&{}.IS_VITEST}get context(){return Y.getLoggerContext(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),G.toMiliseconds(e))}}var yu=Object.defineProperty,Gi=Object.getOwnPropertySymbols,mu=Object.prototype.hasOwnProperty,bu=Object.prototype.propertyIsEnumerable,Vi=(r,e,t)=>e in r?yu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))mu.call(e,t)&&Vi(r,t,e[t]);if(Gi)for(var t of Gi(e))bu.call(e,t)&&Vi(r,t,e[t]);return r};class vr extends Na{constructor(e){super(e),this.protocol=Vr,this.version=zs,this.name=br,this.events=new lt.EventEmitter,this.initialized=!1,this.on=(i,n)=>this.events.on(i,n),this.once=(i,n)=>this.events.once(i,n),this.off=(i,n)=>this.events.off(i,n),this.removeListener=(i,n)=>this.events.removeListener(i,n),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Y.pino(Y.getDefaultLoggerOptions({level:(e==null?void 0:e.logger)||Us.logger}));this.logger=Y.generateChildLogger(t,this.name),this.heartbeat=new Dt.HeartBeat,this.crypto=new pn(this,this.logger,e==null?void 0:e.keychain),this.history=new _n(this,this.logger),this.expirer=new En(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Sa(qi(qi({},$s),e==null?void 0:e.storageOptions)),this.relayer=new bn({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new wn(this,this.logger),this.verify=new xn(this.projectId||"",this.logger)}static async init(e){const t=new vr(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(rn,i),t}get context(){return Y.getLoggerContext(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const vu=vr,Pu=Object.freeze(Object.defineProperty({__proto__:null,CORE_CONTEXT:br,CORE_DEFAULT:Us,CORE_PROTOCOL:Vr,CORE_STORAGE_OPTIONS:$s,CORE_STORAGE_PREFIX:yt,CORE_VERSION:zs,CRYPTO_CLIENT_SEED:Ur,CRYPTO_CONTEXT:js,CRYPTO_JWT_TTL:Ks,Core:vu,Crypto:pn,EXPIRER_CONTEXT:ln,EXPIRER_DEFAULT_TTL:tu,EXPIRER_EVENTS:it,EXPIRER_STORAGE_VERSION:fn,Expirer:En,HISTORY_CONTEXT:hn,HISTORY_EVENTS:at,HISTORY_STORAGE_VERSION:un,JsonRpcHistory:_n,KEYCHAIN_CONTEXT:Bs,KEYCHAIN_STORAGE_VERSION:Hs,KeyChain:gn,MESSAGES_CONTEXT:ks,MESSAGES_STORAGE_VERSION:Gs,MessageTracker:yn,PAIRING_CONTEXT:an,PAIRING_DEFAULT_TTL:eu,PAIRING_EVENTS:Ht,PAIRING_RPC_OPTS:At,PAIRING_STORAGE_VERSION:cn,PENDING_SUB_RESOLUTION_TIMEOUT:on,PUBLISHER_CONTEXT:qs,PUBLISHER_DEFAULT_TTL:Vs,Pairing:wn,RELAYER_CONTEXT:Js,RELAYER_DEFAULT_LOGGER:Ws,RELAYER_DEFAULT_PROTOCOL:Ys,RELAYER_DEFAULT_RELAY_URL:qr,RELAYER_EVENTS:Ye,RELAYER_FAILOVER_RELAY_URL:$r,RELAYER_PROVIDER_EVENTS:ht,RELAYER_RECONNECT_TIMEOUT:Qs,RELAYER_SDK_VERSION:Zs,RELAYER_STORAGE_OPTIONS:Qh,RELAYER_SUBSCRIBER_SUFFIX:Xs,RELAYER_TRANSPORT_CUTOFF:en,Relayer:bn,STORE_STORAGE_VERSION:tn,SUBSCRIBER_CONTEXT:sn,SUBSCRIBER_DEFAULT_TTL:Zh,SUBSCRIBER_EVENTS:st,SUBSCRIBER_STORAGE_VERSION:nn,Store:vn,Subscriber:mn,TRUSTED_VERIFY_URLS:dn,VERIFY_CONTEXT:hr,VERIFY_FALLBACK_SERVER:fr,VERIFY_SERVER:Ft,Verify:xn,WALLETCONNECT_CLIENT_ID:rn,default:vr},Symbol.toStringTag,{value:"Module"}));export{Ft as $,Ye as D,vn as M,vu as N,Ou as S,Ht as V,qo as Y,yr as a,Is as b,Y as c,Gr as d,lt as e,Es as f,kr as g,_s as h,Ss as i,Tu as j,Ys as k,Pu as l,vs as p,it as v}; diff --git a/frontends/web/build/assets/index.es-df41910f.js b/frontends/web/build/assets/index.es2.js similarity index 99% rename from frontends/web/build/assets/index.es-df41910f.js rename to frontends/web/build/assets/index.es2.js index a88d4d57f5..1c4113fd41 100644 --- a/frontends/web/build/assets/index.es-df41910f.js +++ b/frontends/web/build/assets/index.es2.js @@ -1,4 +1,4 @@ -import{e as xn,c as _t,N as _n,M as Gt,f as Mn,i as bt,a as xt,D as di,b as Sn,d as An,V as En,g as br,h as In,j as Is,S as Rs,Y as Ns,k as Fs,$ as Ps,v as qs,p as Os}from"./index.es-439fa429.js";import{c as Rn,g as Pr,r as Cs,a as Ts,K as Oi,D as Nn,N as B,b as W,k as $s,X as Fn,s as Ls,_ as Pn,Q as Ds,d as ir,y as Le,p as Bt,B as Xr,j as Us,U as zt,e as ks,h as Bs,f as zs,L as Yr,m as jt,t as gr,H as We,w as nr,x as Vs,i as Ks,u as Qr,l as Ci,n as sr,q as js,o as Gs,v as Hs,z as Ti,A as Js,Y as Ws,G as Xs,W as Ys,J as Qs,C as Zs,F as eo}from"./index-b913d093.js";var qn={exports:{}};/** +import{e as xn,c as _t,N as _n,M as Gt,f as Mn,i as bt,a as xt,D as di,b as Sn,d as An,V as En,g as br,h as In,j as Is,S as Rs,Y as Ns,k as Fs,$ as Ps,v as qs,p as Os}from"./index.es.js";import{c as Rn,g as Pr,r as Cs,a as Ts,K as Oi,D as Nn,N as B,b as W,k as $s,X as Fn,s as Ls,_ as Pn,Q as Ds,d as ir,y as Le,p as Bt,B as Xr,j as Us,U as zt,e as ks,h as Bs,f as zs,L as Yr,m as jt,t as gr,H as We,w as nr,x as Vs,i as Ks,u as Qr,l as Ci,n as sr,q as js,o as Gs,v as Hs,z as Ti,A as Js,Y as Ws,G as Xs,W as Ys,J as Qs,C as Zs,F as eo}from"./index.js";var qn={exports:{}};/** * [js-sha3]{@link https://github.com/emn178/js-sha3} * * @version 0.8.0 diff --git a/frontends/web/build/assets/index-b913d093.js b/frontends/web/build/assets/index.js similarity index 93% rename from frontends/web/build/assets/index-b913d093.js rename to frontends/web/build/assets/index.js index a74a1f978c..c2fd1ac463 100644 --- a/frontends/web/build/assets/index-b913d093.js +++ b/frontends/web/build/assets/index.js @@ -1044,7 +1044,7 @@ La frase de contraseña forma parte del estándar BIP39, lo que significa que es Dado que una frase de contraseña crea una nueva billetera utilizando tu semilla existente, la billetera con frase de contraseña requiere tanto tu reserva de seguridad COMO tu frase de contraseña para restaurarla. La ventaja de esto es que si alguien encuentra tu copia de seguridad, seguirá necesitando la frase de contraseña para acceder a la billetera con la frase de contraseña. -Además, la función de la frase de contraseña permite crear varias billeteras en el mismo dispositivo, o "billeteras ocultas", además del predeterminado.`,title:"¿Porqué utilizar una passphrase?"}},DU={show:"Mostrar {{label}}",warning:{caps:"AVISO: el bloqueo de mayúsculas (⇪) está activado",paste:'para pegar texto, activa "MOSTRAR {{label}}"'}},AU={button:"Generar número aleatorio",description:"Tu BitBox ha generado el siguiente número aleatorio de {{bits}} bits:"},_U={changeScriptType:"Tipo de dirección del cambio",label:"Tu dirección",onlyThisCoin:{description:"Para recibir otros tokens, por favor actívalos en la configuración. Si depositas otros tokens, podrían no ser accesibles. ",warning:"Asegúrate de recibir solo {{coinName}} en esta dirección."},scriptType:{p2tr:"Taproot (Nuevo formato)",p2wpkh:"Native Segwit (por defecto)","p2wpkh-p2sh":"Wrapped Segwit (formato compatible)"},selectAccount:"Seleccionar cuenta ",showFull:"Muestra y verifica la dirección completa en el dispositivo",taprootWarning:"Nota: Taproot es una nueva característica de Bitcoin y todavía no es ampliamente aceptada. Los fondos recibidos en direcciones Taproot pueden no ser mostradas en carteras de terceros. Muchas carteras y exchanges no pueden enviar a direcciones Taproot.",title:"Recibe {{accountName}}",verify:"Verificar la dirección de forma segura",verifyBitBox01:"Verifica la dirección completa en la app móvil",verifyBitBox02:"Verifica la dirección en la BitBox02",verifyInstruction:"Por favor, verifica que esta dirección encaja con la de tu dispositivo.",warning:{secureOutput:"Por favor, sincroniza su BitBox con tu dispositivo móvil para activar la verificación segura de la dirección. Ve a 'Administrar dispositivo' en la barra lateral."}},TU={description:"Todos los datos serán borrados de este dispositivo. ¡Eso incluye tu clave privada!",notReset:"Dispositivo NO reseteado.",title:"Resetear dispositivo de fábrica",understand:"Tengo una copia de seguridad y conozco mi contraseña de recuperación",understandBB02:"Tengo una copia de seguridad válida"},EU={create:{description1:"Antes de configurar su dispositivo, se recomienda que lo hagas en un entorno seguro.",description2:"Se le pedirá que crea dos contraseñas.",description3:"La primera es la contraseña del dispositivo que desbloquea su dispositivo BitBox y puede cambiarse más tarde.",description4:"El segundo es el contraseña de recuperación que desbloquea tu monedero. Esta contraseña no se puede cambiar más tarde.",description5:"Se realizará una copia de seguridad del monedero que creaste en un archivo de la tarjeta micro SD proporcionada. Esto se puede usar en una emergencia para recuperar tus fondos usando tu contraseña de recuperación.",title:"Información de seguridad"},restore:{description1:"Se te pedirá que insertes la tarjeta micro SD que utilizó para guardar su copia de seguridad.",description2:"Para recuperar tu dispositivo necesitarás tu contraseña de recuperación. ",description3:"Por favor ten cuidado al ingresar la contraseña de recuperación. Cualquier contraseña que ingreses creará un monedero válida. Si introduces la contraseña incorrecta, es posible que ves un saldo del monedero que no esperas.",title:"Información de seguridad"}},PU={agreements:{"funds-access":"NO podré acceder a mis fondos si olvido mi contraseña de recuperación","password-change":"NO puedo cambiar la contraseña de recuperación más tarde","password-required":"La contraseña de recuperación es necesaria para restaurar un monedero desde una copia de seguridad"},create:"Crea monedero",creating:"Creando monedero",description:"Entiendo que:",error:{e102:"La contraseña debe contener al menos 4 caracteres.",e200:"Debe insertar una tarjeta micro SD en su BitBox para crear un mondero, de modo que se pueda crear una copia de seguridad automáticamente."},info:{button:"Establecer contraseña de recuperación ahora",description1:"Inserta la tarjeta micro SD en el BitBox",description2:'Elija una contraseña de recuperación para el monedero y seleccione "Establecer contraseña de recuperación ahora"',description3:"La copia de seguridad en la tarjeta micro SD y su contraseña de recuperación es el único método para recuperar sus fondos en caso de pérdida o robo del dispositivo BitBox.",description4:"No puede cambiar su contraseña de recuperación más adelante sin transferir sus fondos.",title:"Crear una cartera nueva"},password:{label:"Contraseña de recuperación",repeatPlaceholder:"Repita la contraseña de recuperación"},walletName:{label:"Nombre del monedero"}},NU={error:{e200:"La recuperación de un monedero a partir de una copia de seguridad requiere la tarjeta micro SD."},info:{description1:'Inserta la tarjeta micro SD en el BitBox y haga clic en "Continuar"',description2:'Elija una copia de seguridad y haga clic en "Restablecer"',description3:"Ingresa la contraseña de recuperación",description4:"Debes confirmar para entender que una contraseña incorrecta creará una cartera diferente.",title:"Cómo restaurar un monedero desde una copia de seguridad"}},LU={abort:"La transacción ha sido cancelada.",address:{label:"Dirección del receptor",placeholder:"Introduce dirección!"},amount:{label:"Cantidad",placeholder:"Introduzca la cantidad"},availableBalance:"Saldo disponible",button:"Revisar ",coincontrol:{address:"Dirección",outpoint:"Anotar",title:"Enviar desde salida"},confirm:{"selected-coins":"Monedas seleccionadas",title:"Confirma y envía la transacción",total:"Total"},error:{erc20InsufficientGasFunds:"Parece que no tiene suficiente Ether para pagar esta transacción ERC20. Por favor, asegúrese de que tiene suficiente Ether en su wallet.",feeTooLow:"La tarifa de red es demasiado baja",feesNotAvailable:"No se pueden estimar las tarifas de red",insufficientFunds:"fondos insuficientes",invalidAddress:"dirección inválida",invalidAmount:"Cantidad inválida",invalidData:"Datos inválidos"},fee:{customPlaceholder:"Introduzca la cantidad",label:"Tarifa de red",placeholder:"No disponible"},feeTarget:{customLabel:"Tarifa de red",customLabel_eth:"Precio del Gas",description:{economy:"24 bloques (alrededor de 4 horas para Bitcoin, 1 hora para Litecoin)",economy_eth:"30 minutos o menos",economy_ltc:"1 hora (24 bloques)",high:"2 bloques (alrededor de 20 minutos para Bitcoin, 5 minutos para Litecoin)",high_eth:"30 segundos o menos",high_ltc:"5 minutos (2 bloques)",low:"12 bloques (alrededor de 2 horas para Bitcoin, 30 minutos para Litecoin)",low_eth:"5 minutos o menos",low_ltc:"30 minutos (12 bloques)",normal:"6 bloques (alrededor de 1 hora para Bitcoin, 15 minutos para Litecoin)",normal_eth:"2 minutos o menos",normal_ltc:"15 minutos (6 bloques)"},estimate:"Tiempo de espera estimado:",label:{custom:"A medida",economy:"Económico",high:"Alto",low:"Bajo",normal:"Normal"},placeholder:"Calculando la tarifa de red..."},maximum:"Enviar todo",maximumSelectedCoins:"Enviar monedas seleccionadas",noFeeTargets:"Las estimaciones de tarifas no están disponibles actualmente. Vuelva a intentarlo más tarde o introduzca una tarifa personalizada.",priority:"Prioridad",scanQR:"Escanear código QR",signprogress:{description:"Esta es una transacción que contiene una gran cantidad de datos. Para firmar en su totalidad la transacción, se le pedirá que confirme {{steps}} veces.",label:"En curso"},success:"La transacción ha sido firmada y enviada.",title:"Envía {{accountName}}",toggleCoinControl:"Activar/Desactivar control de monedas/UTXO",transactionDetails:"Detalles de la transacción"},IU={about:"Acerca de",accounts:"Cuentas",advancedSettings:"Configuración avanzada",appearance:"Apariencia",electrum:{add:"Añadir un servidor","add-server":"Añadir",check:"Comprobar",checkFailed:"Falló",checkSuccess:"La conexión establecida con éxito a {{host}}",checking:"Comprobación","download-cert":"Descarga certificado remoto","remove-server":"Elimina",removeConfirm:"Eliminar {{server}}?",reset:"Restablecer a predeterminados",resetConfirm:"¿Desea eliminar todos los servidores e instalar los servidores predeterminados?",servers:"Servidores",step1:"1","step1-text":"Introduzca el punto final.",step2:"2","step2-text":"Introduzca un certificado de la cadena de certificados del servidor. Alternativamente, descarga el certificado remoto y compárelo visualmente.","step2-text-tcp":"Puedes omitir este paso si no quieres utilizar TLS.",step3:"3","step3-text":"Comprueba la conexión y añade el servidor.",step4:"4","step4-text":"Reinicia el monedero. Si no eliminas los servidores predeterminados, tu propio nodo se agregará como redundancia.","title-btc":"Servidores de Bitcoin Electrum","title-ltc":"Servidores de Litecoin Electrum","title-tbtc":"Servidores de Bitcoin Testnet Electrum","title-tltc":"Servidores de Litecoin Testnet Electrum"},expert:{coinControl:"Activa control de monedas",electrum:{description:"Puedes conectarte a tu propio nodo Electrum completo.",title:"Conecta tu propio nodo completo"},fee:"Activar tarifas de red personalizadas",setProxyAddress:"Establece dirección proxy",title:"Configuración avanzada",useProxy:"Activar tor proxy",useSats:"Mostrar valores BTC en Satoshis"},header:{home:"Home"},info:{"out-of-date":"Nueva actualización disponible",title:"Información","up-to-date":"Su aplicación está actualizada",version:"Versión del App"},restart:"Por favor, reinicia la BitBoxApp para que los cambios tengan efecto.",services:{title:"Servicios"},success:"Por favor desenchufa y vuelva a enchufar el BitBox para que los cambios surjan efecto.",title:"Ajustes"},$U="Dispositivo de configuración",MU={buy:"Compra criptomoneda",device:"Administra dispositivo",leave:"Salir",settings:"Ajustes"},OU={create:{info1:"Su monedero se ha respaldado de manera segura en la tarjeta micro SD. Retírelo y guárdalo en un lugar seguro. ",info2:"Has creado una contraseña de dispositivo seguro que desbloquea el BitBox.",info3:"Has creado una contraseña de recuperación segura para su monedero que desbloquea sus fondos y recupera sus copias de seguridad.",summary:"Aquí hay un resumen de lo que has hecho.",title:"Éxito"},getstarted:"Empieza",restore:{summary:"Has restaurado con éxito un monedero de su copia de seguridad.",title:"Éxito"}},RU={confirmation:"Confirmaciones",details:{activity:"Actividades",address:"Dirección",amount:"Cantidad",date:"Fecha",fiat:"Fiat",fiatAmount:"Cantidad Fiat",fiatAtTime:"Fiat en el momento de la transacción",status:"Estado",type:"Tipo"},explorer:"ID de transacción",explorerTitle:"Abrir en el bloque externo Explorer",fee:"Tarifa de red",fiatHistorical:"Historial",gas:"Gas",note:{edit:"Edita nota",save:"Guarda nota"},pending:"Transacción pendiente",size:"Tamaño",status:{complete:"Acabado",failed:"Falló",pending:"Pendiente"},tx:{received:"Recibido a",sent:"Enviado a"},vsize:"Tamaño virtual",weight:"Peso"},FU={errorLoadTransactions:"Se ha producido un error al cargar las transacciones",placeholder:"Sin transacciones todavía."},VU="Ocurrió un error desconocido: {{errorMessage}}",WU={description:"Ingresa la contraseña de tu dispositivo para desbloquear el dispositivo.",error:{e109_normal:"Contraseña incorrecta del dispositivo. {{remainingAttempts}} intentos permanecen antes de que el dispositivo se reinicie.",e109_touch:"$t(unlock.error.e109_normal) El siguiente inicio de sesión requiere mantener presionado el botón táctil.",e113:"Debido a muchos intentos de inicio de sesión, el siguiente inicio de sesión requiere mantener presionado el botón táctil durante 4 segundos."},input:{label:"Contraseña del dispositivo",placeholder:"Ingresa la contraseña de tu dispositivo para desbloquear el dispositivo"},unlocking:"Desbloqueando..."},UU={button:"Actualización de firmware",description:"¿Quieres actualizar el Firmware de la versión {{currentVersion}} a {{newVersion}}?",label:"Se requiere una actualización de firmware para tu BitBox.",locked:"Para actualizar desde {{currentVersion}} a {{newVersion}}, por favor haz un toque largo.",title:"Actualización de firmware",unlocked:"El gestor de arranque está desbloqueado. Para continuar, por favor:",unlocked1:"Desconecta y vuelva a conectar su Bitbox",unlocked2:"El LED se encenderá cuando su BitBox se vuelva a enchufar.",unlocked3:"Toque el botón táctil cuando el LED se encienda"},qU={connect:{button:"Conectar",dappLabel:"Introduzca la dirección URI de la aplicación ",invalidPairingUri:"Uri de emparejamiento no válido"},dashboard:{allSessions:"Todas las sesiones",disclaimer:"Walletconnect es un protocolo para conectarse a dapps basadas en Ethereum. Estas dapps están gestionadas por servicios de terceros, así que conéctate solo a dapps en las que confíes y asegúrate de saber siempre lo que estás firmando al realizar una transacción.",newConnection:"Nueva conexión",noConnectedSessions:"Actualmente no hay cuentas conectadas a ninguna dapps."},invalidPairingChain:"Error al aprobar el emparejamiento. Asegúrese de utilizar una de las cadenas admitidas: {{cadenas}}",pairingRequest:{approve:"Aprobar conexión",reject:"Rechazar",title:"Nueva solicitud de conexión de"},pairingSuccess:"Dapp conectada con éxito. Puede continuar en el sitio web de la dapp.",signingRequest:{account:"Cuenta",chain:"Cadena",dapp:"Dapp",data:"Datos",dataParsingError:"Error al analizar los datos",decodeError:"No se ha podido descodificar el mensaje",method:{sendTransaction:"Firmar y enviar la transacción",signMessage:"Firmar el mensaje",signTransaction:"Firmar la transacción",signTypedData:"Firmar los datos escritos"},successfullySigned:"Solicitud firmada con éxito",walletConnectRequest:"Solicitud de WalletConnect"},useNewUri:"Este URI ya ha sido utilizado para intentar una conexión. Por favor, utilice un nuevo URI.",walletConnect:"WalletConnect"},HU={receivePairing:"Por favor, sincroniza el BitBox para activar la verificación segura de la dirección. Ve a 'Administrar dispositivo' en la barra lateral.",sdcard:"Manten la tarjeta micro SD guardada aparte del BitBox, a menos que desee administrar las copias de seguridad.",sendPairing:"Por favor, sincroniza el BitBox para verificar con seguridad los detalles de la transacción. Vaya a 'Administrar dispositivo' en la barra lateral."},KU={connect:"Conecta tu BitBox02",getStarted:"Vamos a comenzar instalando el firmware en su BitBox02.",insertBitBox02:"Si estás usando BitBox02, por favor toca el dispositivo para continuar.",insertDevice:"Por favor conecta tu dispositivo para comenzar",title:"Bienvenido"},GU={account:T8,accountInfo:E8,accountSummary:P8,addAccount:N8,aopp:L8,app:I8,auth:$8,backup:M8,bb02Bootloader:O8,bitbox:R8,bitbox02Interact:F8,bitbox02Settings:V8,bitbox02Wizard:W8,blink:U8,bootloader:q8,button:H8,buy:K8,changePin:G8,chart:Q8,checkSDcard:Y8,clickHere:Z8,confirm:J8,confirmOnDevice:X8,connectKeystore:eU,darkmode:tU,device:nU,deviceLock:aU,deviceSettings:iU,deviceTampered:oU,dialog:rU,error:sU,fiat:lU,footer:cU,generic:uU,genericError:dU,goal:pU,guide:hU,headerssync:mU,hiddenWallet:fU,initialize:gU,invalidFormat:vU,language:bU,legacyhiddenwallet:kU,loading:xU,manageAccounts:yU,mobile:wU,newSettings:jU,note:BU,notification:SU,pairing:zU,passphrase:CU,password:DU,random:AU,receive:_U,reset:TU,securityInformation:EU,seed:PU,seedRestore:NU,send:LU,settings:IU,setup:$U,sidebar:MU,success:OU,transaction:RU,transactions:FU,unknownError:VU,unlock:WU,upgradeFirmware:UU,walletConnect:qU,warning:HU,welcome:KU},QU={disconnect:"Povezava je prekinjena. Poizkušam ponovno...",export:"Izvoz",exportTransactions:"Izvozite transakcije v CSV datoteko in odložite v lokalno mapo.",fatalError:"Ups, nepričakovana napaka",incoming:"Dohodni",initializing:"Pridobivam podatke iz verige blokov...",maybeProxyError:"Tor proxy omogočen. Prepričajte se, da Tor proxy deluje pravilno, ali onemogočite proxy.",reconnecting:"Povezava je prekinjena, poizkušam s ponovno vzpostavitvijo...",syncedAddressesCount:"Prešteto št. naslovov: {{count}}"},YU={address:"Naslov",buyCTA:{buy:"Kupi",buyCrypto:"Kupi kripto",information:{looksEmpty:"Denarnica je prazna.",start:"Začnite tako, da pošljete nekaj kovancev v denarnico ali jih kupite neposredno v aplikaciji BitBoxApp."}},extendedPublicKey:"Razširjen javni ključ",label:"Podatki o računu",scriptType:"Tip skripte",title:"Podatki o računu",verify:"Potrdi na napravi",xpubTypeChangeBtn:{p2pkh:"Ogled razširjenega javnega ključa P2PKH",p2tr:"Oglejte Taproot",p2wpkh:"Ogled Native Segwit","p2wpkh-p2sh":"Ogled razširjenega javnega ključa P2SH"},xpubTypeInfo:"Prikazan je {{scriptType}} razširjen javni ključ ({{current}} od {{numberOfXPubs}})"},ZU={availableBalance:"Razpoložljivo stanje",balance:"Stanje",exportSummary:"Izvozi povzetek računa v mapo za prenos, kot datoteko CSV",fiatBalance:"Stanje v fiat valuti",name:"Ime računa",noAccount:"Ni računov za prikaz.",subtotalWithCoinName:"Skupaj ({{coinName}})",title:"Moj portfelj",total:"Skupaj",transactionHistory:"Zgodovina transakcij"},JU={chooseName:{nextButton:"Dodaj račun",step:"Poimenuj račun",title:"Poimenuj račun"},selectCoin:{nextButton:"Naprej",step:"Izberi kovanec",title:"Izberi kriptovaluto"},success:{addAnotherAccount:"Dodajte nov račun",message:" {{accountName}} je zdaj dodan med vaše račune.",nextButton:"OK",step:"Zaklljučeno",title:"Račun dodan"},title:"Dodajte račun"},XU={addressRequest:"{{host}} zahteva naslov prejemnika.",addressRequestWithLogo:"zahteva naslov prejemnika",banner:"Zahteva po naslovu je v teku.",errorTitle:"Napaka med zahtevo za naslov",labelAddress:"Naslov",labelMessage:"Sporočilo",reverifyInfoText:"Potrdite naslov",signing:"Za nadaljevanje podpišite sporočilo na napravi",success:{message:"Nadaljujte na {{host}}",title:"Naslov uspešno poslan"},syncing:"Počakajte trenutek, poteka sinhronizacija računa.",title:"Zahteva za naslov"},e6={upgrade:"Na voljo je nova verzija te aplikacije! Prosimo vas, da jo nadgradite iz verzije {{current}} na {{version}}."},t6={authButton:"Potrdi",title:"Za nadaljevanje potrdite"},n6={check:{checking:"Preverjam varnostno kopijo...",confirmTitle:"Preverite varnostno kopijo",notOK:"Varnostna kopija se NE ujema s trenutno denarnico.",ok:"Varnostna kopija se ujema z denarnico.",password:{label:"Geslo za obnovo varnostne kopije",placeholder:"Geslo za obnovo varnostne kopije",showLabel:"geslo za obnovo varnostne kopije"},success:"Varnostna kopija uspešno preverjena:",title:"Preverite varnostno kopijo"},create:{alreadyExists:"Veljavno varnostno kopijo že imate. Ali jo ponovno želite ustvariti?",fail:"Ustvarjanje varnostne kopije NI uspelo!",info:"Prosimo vnesite geslo za obnovo trenutne denarnice za potrditev.",name:{label:"Ime varnostne kopije",placeholder:"Poimenujte varnostno kopijo"},password:{label:"Obnovitveno geslo",placeholder:"Prosimo vnesite obnovitveno geslo"},title:"Ustvarite varnostno kopijo - backup",verificationFailed:'Obnovitveno geslo se NE ujema s trenutno denarnico. Varnostna kopija je bila ustvarjena. Prosimo uporabite "Preverite varnostno kopijo" da potrdite geslo za obnovo.'},description:"Izberite datoteko z varnostno kopijo denarnice",insert:"Prosimo vstavite microSD kartico za upravljanje z varnostnimi kopijami.",insertButton:"Vstavil sem microSD kartico",list:"Varnostne kopije na microSD kartici",noBackups:"Na tej microSD kartici ni varnostnih kopij.",restore:{confirmTitle:"Obnovite varnostno kopijo",error:{e200:"MicroSD kartica ni bila zaznana",general:"Napaka pri obnovitvi varnostne kopije"},password:{label:"Geslo za obnovitev ali skrito geslo za obnovitev varnostne kopije",placeholder:"Geslo za obnovitev",repeatPlaceholder:"Ponovite geslo za obnovitev",showLabel:"Geslo za obnovitev"},restoring:"Obnavljanje varnostne kopije ...",selectedBackup:"{{backupName}} ustvarjen {{createdDateTime}} bo obnovljen.",title:"Obnovi",understand:"Razumem, da bo nepravilno geslo za obnovitev ustvarilo drugo, novo denarnico"},showMnemonic:{description:`Prikazano vam bo do 24 besed, ki tvorijo varnostno kopijo denarnice. Zapišite jih na papir. +Además, la función de la frase de contraseña permite crear varias billeteras en el mismo dispositivo, o "billeteras ocultas", además del predeterminado.`,title:"¿Porqué utilizar una passphrase?"}},DU={show:"Mostrar {{label}}",warning:{caps:"AVISO: el bloqueo de mayúsculas (⇪) está activado",paste:'para pegar texto, activa "MOSTRAR {{label}}"'}},AU={button:"Generar número aleatorio",description:"Tu BitBox ha generado el siguiente número aleatorio de {{bits}} bits:"},_U={changeScriptType:"Tipo de dirección del cambio",label:"Tu dirección",onlyThisCoin:{description:"Para recibir otros tokens, por favor actívalos en la configuración. Si depositas otros tokens, podrían no ser accesibles. ",warning:"Asegúrate de recibir solo {{coinName}} en esta dirección."},scriptType:{p2tr:"Taproot (Nuevo formato)",p2wpkh:"Native Segwit (por defecto)","p2wpkh-p2sh":"Wrapped Segwit (formato compatible)"},selectAccount:"Seleccionar cuenta ",showFull:"Muestra y verifica la dirección completa en el dispositivo",taprootWarning:"Nota: Taproot es una nueva característica de Bitcoin y todavía no es ampliamente aceptada. Los fondos recibidos en direcciones Taproot pueden no ser mostradas en carteras de terceros. Muchas carteras y exchanges no pueden enviar a direcciones Taproot.",title:"Recibe {{accountName}}",verify:"Verificar la dirección de forma segura",verifyBitBox01:"Verifica la dirección completa en la app móvil",verifyBitBox02:"Verifica la dirección en la BitBox02",verifyInstruction:"Por favor, verifica que esta dirección encaja con la de tu dispositivo.",warning:{secureOutput:"Por favor, sincroniza su BitBox con tu dispositivo móvil para activar la verificación segura de la dirección. Ve a 'Administrar dispositivo' en la barra lateral."}},TU={description:"Todos los datos serán borrados de este dispositivo. ¡Eso incluye tu clave privada!",notReset:"Dispositivo NO reseteado.",title:"Resetear dispositivo de fábrica",understand:"Tengo una copia de seguridad y conozco mi contraseña de recuperación",understandBB02:"Tengo una copia de seguridad válida"},EU={create:{description1:"Antes de configurar su dispositivo, se recomienda que lo hagas en un entorno seguro.",description2:"Se le pedirá que crea dos contraseñas.",description3:"La primera es la contraseña del dispositivo que desbloquea su dispositivo BitBox y puede cambiarse más tarde.",description4:"El segundo es el contraseña de recuperación que desbloquea tu monedero. Esta contraseña no se puede cambiar más tarde.",description5:"Se realizará una copia de seguridad del monedero que creaste en un archivo de la tarjeta micro SD proporcionada. Esto se puede usar en una emergencia para recuperar tus fondos usando tu contraseña de recuperación.",title:"Información de seguridad"},restore:{description1:"Se te pedirá que insertes la tarjeta micro SD que utilizó para guardar su copia de seguridad.",description2:"Para recuperar tu dispositivo necesitarás tu contraseña de recuperación. ",description3:"Por favor ten cuidado al ingresar la contraseña de recuperación. Cualquier contraseña que ingreses creará un monedero válida. Si introduces la contraseña incorrecta, es posible que ves un saldo del monedero que no esperas.",title:"Información de seguridad"}},PU={agreements:{"funds-access":"NO podré acceder a mis fondos si olvido mi contraseña de recuperación","password-change":"NO puedo cambiar la contraseña de recuperación más tarde","password-required":"La contraseña de recuperación es necesaria para restaurar un monedero desde una copia de seguridad"},create:"Crea monedero",creating:"Creando monedero",description:"Entiendo que:",error:{e102:"La contraseña debe contener al menos 4 caracteres.",e200:"Debe insertar una tarjeta micro SD en su BitBox para crear un mondero, de modo que se pueda crear una copia de seguridad automáticamente."},info:{button:"Establecer contraseña de recuperación ahora",description1:"Inserta la tarjeta micro SD en el BitBox",description2:'Elija una contraseña de recuperación para el monedero y seleccione "Establecer contraseña de recuperación ahora"',description3:"La copia de seguridad en la tarjeta micro SD y su contraseña de recuperación es el único método para recuperar sus fondos en caso de pérdida o robo del dispositivo BitBox.",description4:"No puede cambiar su contraseña de recuperación más adelante sin transferir sus fondos.",title:"Crear una cartera nueva"},password:{label:"Contraseña de recuperación",repeatPlaceholder:"Repita la contraseña de recuperación"},walletName:{label:"Nombre del monedero"}},NU={error:{e200:"La recuperación de un monedero a partir de una copia de seguridad requiere la tarjeta micro SD."},info:{description1:'Inserta la tarjeta micro SD en el BitBox y haga clic en "Continuar"',description2:'Elija una copia de seguridad y haga clic en "Restablecer"',description3:"Ingresa la contraseña de recuperación",description4:"Debes confirmar para entender que una contraseña incorrecta creará una cartera diferente.",title:"Cómo restaurar un monedero desde una copia de seguridad"}},LU={abort:"La transacción ha sido cancelada.",address:{label:"Dirección del receptor",placeholder:"Introduce dirección!"},amount:{label:"Cantidad",placeholder:"Introduzca la cantidad"},availableBalance:"Saldo disponible",button:"Revisar ",coincontrol:{address:"Dirección",outpoint:"Anotar",title:"Enviar desde salida"},confirm:{"selected-coins":"Monedas seleccionadas",title:"Confirma y envía la transacción",total:"Total"},error:{erc20InsufficientGasFunds:"Parece que no tiene suficiente Ether para pagar esta transacción ERC20. Por favor, asegúrese de que tiene suficiente Ether en su wallet.",feeTooLow:"La tarifa de red es demasiado baja",feesNotAvailable:"No se pueden estimar las tarifas de red",insufficientFunds:"fondos insuficientes",invalidAddress:"dirección inválida",invalidAmount:"Cantidad inválida",invalidData:"Datos inválidos"},fee:{customPlaceholder:"Introduzca la cantidad",label:"Tarifa de red",placeholder:"No disponible"},feeTarget:{customLabel:"Tarifa de red",customLabel_eth:"Precio del Gas",description:{economy:"24 bloques (alrededor de 4 horas para Bitcoin, 1 hora para Litecoin)",economy_eth:"30 minutos o menos",economy_ltc:"1 hora (24 bloques)",high:"2 bloques (alrededor de 20 minutos para Bitcoin, 5 minutos para Litecoin)",high_eth:"30 segundos o menos",high_ltc:"5 minutos (2 bloques)",low:"12 bloques (alrededor de 2 horas para Bitcoin, 30 minutos para Litecoin)",low_eth:"5 minutos o menos",low_ltc:"30 minutos (12 bloques)",normal:"6 bloques (alrededor de 1 hora para Bitcoin, 15 minutos para Litecoin)",normal_eth:"2 minutos o menos",normal_ltc:"15 minutos (6 bloques)"},estimate:"Tiempo de espera estimado:",label:{custom:"A medida",economy:"Económico",high:"Alto",low:"Bajo",normal:"Normal"},placeholder:"Calculando la tarifa de red..."},maximum:"Enviar todo",maximumSelectedCoins:"Enviar monedas seleccionadas",noFeeTargets:"Las estimaciones de tarifas no están disponibles actualmente. Vuelva a intentarlo más tarde o introduzca una tarifa personalizada.",priority:"Prioridad",scanQR:"Escanear código QR",signprogress:{description:"Esta es una transacción que contiene una gran cantidad de datos. Para firmar en su totalidad la transacción, se le pedirá que confirme {{steps}} veces.",label:"En curso"},success:"La transacción ha sido firmada y enviada.",title:"Envía {{accountName}}",toggleCoinControl:"Activar/Desactivar control de monedas/UTXO",transactionDetails:"Detalles de la transacción"},IU={about:"Acerca de",accounts:"Cuentas",advancedSettings:"Configuración avanzada",appearance:"Apariencia",electrum:{add:"Añadir un servidor","add-server":"Añadir",check:"Comprobar",checkFailed:"Falló",checkSuccess:"La conexión establecida con éxito a {{host}}",checking:"Comprobación","download-cert":"Descarga certificado remoto","remove-server":"Elimina",removeConfirm:"Eliminar {{server}}?",reset:"Restablecer a predeterminados",resetConfirm:"¿Desea eliminar todos los servidores e instalar los servidores predeterminados?",servers:"Servidores",step1:"1","step1-text":"Introduzca el punto final.",step2:"2","step2-text":"Introduzca un certificado de la cadena de certificados del servidor. Alternativamente, descarga el certificado remoto y compárelo visualmente.","step2-text-tcp":"Puedes omitir este paso si no quieres utilizar TLS.",step3:"3","step3-text":"Comprueba la conexión y añade el servidor.",step4:"4","step4-text":"Reinicia el monedero. Si no eliminas los servidores predeterminados, tu propio nodo se agregará como redundancia.","title-btc":"Servidores de Bitcoin Electrum","title-ltc":"Servidores de Litecoin Electrum","title-tbtc":"Servidores de Bitcoin Testnet Electrum","title-tltc":"Servidores de Litecoin Testnet Electrum"},expert:{coinControl:"Activa control de monedas",electrum:{description:"Puedes conectarte a tu propio nodo Electrum completo.",title:"Conecta tu propio nodo completo"},fee:"Activar tarifas de red personalizadas",setProxyAddress:"Establece dirección proxy",title:"Configuración avanzada",useProxy:"Activar tor proxy",useSats:"Mostrar valores BTC en Satoshis"},header:{home:"Home"},info:{"out-of-date":"Nueva actualización disponible",title:"Información","up-to-date":"Su aplicación está actualizada",version:"Versión del App"},restart:"Por favor, reinicia la BitBoxApp para que los cambios tengan efecto.",services:{title:"Servicios"},success:"Por favor desenchufa y vuelva a enchufar el BitBox para que los cambios surjan efecto.",title:"Ajustes"},$U="Dispositivo de configuración",MU={buy:"Compra criptomoneda",device:"Administra dispositivo",leave:"Salir",settings:"Ajustes"},OU={create:{info1:"Su monedero se ha respaldado de manera segura en la tarjeta micro SD. Retírelo y guárdalo en un lugar seguro. ",info2:"Has creado una contraseña de dispositivo seguro que desbloquea el BitBox.",info3:"Has creado una contraseña de recuperación segura para su monedero que desbloquea sus fondos y recupera sus copias de seguridad.",summary:"Aquí hay un resumen de lo que has hecho.",title:"Éxito"},getstarted:"Empieza",restore:{summary:"Has restaurado con éxito un monedero de su copia de seguridad.",title:"Éxito"}},RU={confirmation:"Confirmaciones",details:{activity:"Actividades",address:"Dirección",amount:"Cantidad",date:"Fecha",fiat:"Fiat",fiatAmount:"Cantidad Fiat",fiatAtTime:"Fiat en el momento de la transacción",status:"Estado",type:"Tipo"},explorer:"ID de transacción",explorerTitle:"Abrir en el bloque externo Explorer",fee:"Tarifa de red",fiatHistorical:"Historial",gas:"Gas",note:{edit:"Edita nota",save:"Guarda nota"},pending:"Transacción pendiente",size:"Tamaño",status:{complete:"Acabado",failed:"Falló",pending:"Pendiente"},tx:{received:"Recibido a",sent:"Enviado a"},vsize:"Tamaño virtual",weight:"Peso"},FU={errorLoadTransactions:"Se ha producido un error al cargar las transacciones",placeholder:"Sin transacciones todavía."},VU="Ocurrió un error desconocido: {{errorMessage}}",WU={description:"Ingresa la contraseña de tu dispositivo para desbloquear el dispositivo.",error:{e109_normal:"Contraseña incorrecta del dispositivo. {{remainingAttempts}} intentos permanecen antes de que el dispositivo se reinicie.",e109_touch:"$t(unlock.error.e109_normal) El siguiente inicio de sesión requiere mantener presionado el botón táctil.",e113:"Debido a muchos intentos de inicio de sesión, el siguiente inicio de sesión requiere mantener presionado el botón táctil durante 4 segundos."},input:{label:"Contraseña del dispositivo",placeholder:"Ingresa la contraseña de tu dispositivo para desbloquear el dispositivo"},unlocking:"Desbloqueando..."},UU={button:"Actualización de firmware",description:"¿Quieres actualizar el Firmware de la versión {{currentVersion}} a {{newVersion}}?",label:"Se requiere una actualización de firmware para tu BitBox.",locked:"Para actualizar desde {{currentVersion}} a {{newVersion}}, por favor haz un toque largo.",title:"Actualización de firmware",unlocked:"El gestor de arranque está desbloqueado. Para continuar, por favor:",unlocked1:"Desconecta y vuelva a conectar su Bitbox",unlocked2:"El LED se encenderá cuando su BitBox se vuelva a enchufar.",unlocked3:"Toque el botón táctil cuando el LED se encienda"},qU={connect:{button:"Conectar",dappLabel:"Introduzca la dirección URI de la aplicación ",invalidPairingUri:"Uri de emparejamiento no válido"},dashboard:{allSessions:"Todas las sesiones",disclaimer:"Walletconnect es un protocolo para conectarse a dapps basadas en Ethereum. Estas dapps están gestionadas por servicios de terceros, así que conéctate solo a dapps en las que confíes y asegúrate de saber siempre lo que estás firmando al realizar una transacción.",newConnection:"Nueva conexión",noConnectedSessions:"Actualmente no hay cuentas conectadas a ninguna dapps."},invalidPairingChain:"Error al aprobar el emparejamiento. Asegúrese de utilizar una de las cadenas admitidas: {{cadenas}}",pairingRequest:{approve:"Aprobar conexión",reject:"Rechazar",title:"Nueva solicitud de conexión de"},pairingSuccess:"Dapp conectada con éxito. Puede continuar en el sitio web de la dapp.",signingRequest:{account:"Cuenta",chain:"Cadena",dapp:"Dapp",data:"Datos",dataParsingError:"Error al analizar los datos",decodeError:"No se ha podido descodificar el mensaje",method:{sendTransaction:"Firmar y enviar la transacción",signMessage:"Firmar el mensaje",signTransaction:"Firmar la transacción",signTypedData:"Firmar los datos escritos"},successfullySigned:"Solicitud firmada con éxito",walletConnectRequest:"Solicitud de WalletConnect"},useNewUri:"Este URI ya ha sido utilizado para intentar una conexión. Por favor, utilice un nuevo URI.",walletConnect:"WalletConnect"},HU={receivePairing:"Por favor, sincroniza el BitBox para activar la verificación segura de la dirección. Ve a 'Administrar dispositivo' en la barra lateral.",sdcard:"Manten la tarjeta micro SD guardada aparte del BitBox, a menos que desee administrar las copias de seguridad.",sendPairing:"Por favor, sincroniza el BitBox para verificar con seguridad los detalles de la transacción. Vaya a 'Administrar dispositivo' en la barra lateral."},KU={connect:"Conecta tu BitBox02",getStarted:"Vamos a comenzar instalando el firmware en su BitBox02.",insertBitBox02:"Si estás usando BitBox02, por favor toca el dispositivo para continuar.",insertDevice:"Por favor conecta tu dispositivo para comenzar",title:"Bienvenido"},GU={account:T8,accountInfo:E8,accountSummary:P8,addAccount:N8,aopp:L8,app:I8,auth:$8,backup:M8,bb02Bootloader:O8,bitbox:R8,bitbox02Interact:F8,bitbox02Settings:V8,bitbox02Wizard:W8,blink:U8,bootloader:q8,button:H8,buy:K8,changePin:G8,chart:Q8,checkSDcard:Y8,clickHere:Z8,confirm:J8,confirmOnDevice:X8,connectKeystore:eU,darkmode:tU,device:nU,deviceLock:aU,deviceSettings:iU,deviceTampered:oU,dialog:rU,error:sU,fiat:lU,footer:cU,generic:uU,genericError:dU,goal:pU,guide:hU,headerssync:mU,hiddenWallet:fU,initialize:gU,invalidFormat:vU,language:bU,legacyhiddenwallet:kU,loading:xU,manageAccounts:yU,mobile:wU,newSettings:jU,note:BU,notification:SU,pairing:zU,passphrase:CU,password:DU,random:AU,receive:_U,reset:TU,securityInformation:EU,seed:PU,seedRestore:NU,send:LU,settings:IU,setup:$U,sidebar:MU,success:OU,transaction:RU,transactions:FU,unknownError:VU,unlock:WU,upgradeFirmware:UU,walletConnect:qU,warning:HU,welcome:KU},QU={disconnect:"Povezava je prekinjena. Poizkušam ponovno...",export:"Izvoz",exportTransactions:"Izvozite transakcije v CSV datoteko in odložite v lokalno mapo.",fatalError:"Ups, nepričakovana napaka",incoming:"Dohodni",initializing:"Pridobivam podatke iz verige blokov...",maybeProxyError:"Tor proxy omogočen. Prepričajte se, da Tor proxy deluje pravilno, ali onemogočite proxy.",reconnecting:"Povezava je prekinjena, poizkušam s ponovno vzpostavitvijo...",syncedAddressesCount:"Prešteto št. naslovov: {{count}}"},YU={address:"Naslov",buyCTA:{buy:"Kupi",buyCrypto:"Kupi kripto",information:{looksEmpty:"Denarnica je prazna.",start:"Začnite tako, da pošljete nekaj kovancev v denarnico ali jih kupite neposredno v aplikaciji BitBoxApp."}},extendedPublicKey:"Razširjen javni ključ",label:"Podatki o računu",scriptType:"Tip skripte",title:"Podatki o računu",verify:"Potrdi na napravi",xpubTypeChangeBtn:{p2pkh:"Ogled razširjenega javnega ključa P2PKH",p2tr:"Oglejte Taproot",p2wpkh:"Ogled Native Segwit","p2wpkh-p2sh":"Ogled razširjenega javnega ključa P2SH"},xpubTypeInfo:"Prikazan je {{scriptType}} razširjen javni ključ ({{current}} od {{numberOfXPubs}})"},ZU={availableBalance:"Razpoložljivo stanje",balance:"Stanje",exportSummary:"Izvozi povzetek računa v mapo za prenos, kot datoteko CSV",fiatBalance:"Stanje v fiat valuti",name:"Ime računa",noAccount:"Ni računov za prikaz.",subtotalWithCoinName:"Skupaj ({{coinName}})",title:"Moj portfelj",total:"Skupaj",transactionHistory:"Zgodovina transakcij"},JU={chooseName:{nextButton:"Dodaj račun",step:"Poimenuj račun",title:"Poimenuj račun"},selectCoin:{nextButton:"Naprej",step:"Izberi kovanec",title:"Izberi kriptovaluto"},success:{addAnotherAccount:"Dodajte nov račun",message:" {{accountName}} je zdaj dodan med vaše račune.",nextButton:"OK",step:"Zaklljučeno",title:"Račun dodan"},title:"Dodajte račun"},XU={addressRequest:"{{host}} zahteva naslov prejemnika.",addressRequestWithLogo:"zahteva naslov prejemnika",banner:"Zahteva po naslovu je v teku.",errorTitle:"Napaka med zahtevo za naslov",labelAddress:"Naslov",labelMessage:"Sporočilo",reverifyInfoText:"Potrdite naslov",signing:"Za nadaljevanje podpišite sporočilo na napravi",success:{message:"Nadaljujte na {{host}}",title:"Naslov uspešno poslan"},syncing:"Počakajte trenutek, poteka sinhronizacija računa.",title:"Zahteva za naslov"},eq={upgrade:"Na voljo je nova verzija te aplikacije! Prosimo vas, da jo nadgradite iz verzije {{current}} na {{version}}."},tq={authButton:"Potrdi",title:"Za nadaljevanje potrdite"},nq={check:{checking:"Preverjam varnostno kopijo...",confirmTitle:"Preverite varnostno kopijo",notOK:"Varnostna kopija se NE ujema s trenutno denarnico.",ok:"Varnostna kopija se ujema z denarnico.",password:{label:"Geslo za obnovo varnostne kopije",placeholder:"Geslo za obnovo varnostne kopije",showLabel:"geslo za obnovo varnostne kopije"},success:"Varnostna kopija uspešno preverjena:",title:"Preverite varnostno kopijo"},create:{alreadyExists:"Veljavno varnostno kopijo že imate. Ali jo ponovno želite ustvariti?",fail:"Ustvarjanje varnostne kopije NI uspelo!",info:"Prosimo vnesite geslo za obnovo trenutne denarnice za potrditev.",name:{label:"Ime varnostne kopije",placeholder:"Poimenujte varnostno kopijo"},password:{label:"Obnovitveno geslo",placeholder:"Prosimo vnesite obnovitveno geslo"},title:"Ustvarite varnostno kopijo - backup",verificationFailed:'Obnovitveno geslo se NE ujema s trenutno denarnico. Varnostna kopija je bila ustvarjena. Prosimo uporabite "Preverite varnostno kopijo" da potrdite geslo za obnovo.'},description:"Izberite datoteko z varnostno kopijo denarnice",insert:"Prosimo vstavite microSD kartico za upravljanje z varnostnimi kopijami.",insertButton:"Vstavil sem microSD kartico",list:"Varnostne kopije na microSD kartici",noBackups:"Na tej microSD kartici ni varnostnih kopij.",restore:{confirmTitle:"Obnovite varnostno kopijo",error:{e200:"MicroSD kartica ni bila zaznana",general:"Napaka pri obnovitvi varnostne kopije"},password:{label:"Geslo za obnovitev ali skrito geslo za obnovitev varnostne kopije",placeholder:"Geslo za obnovitev",repeatPlaceholder:"Ponovite geslo za obnovitev",showLabel:"Geslo za obnovitev"},restoring:"Obnavljanje varnostne kopije ...",selectedBackup:"{{backupName}} ustvarjen {{createdDateTime}} bo obnovljen.",title:"Obnovi",understand:"Razumem, da bo nepravilno geslo za obnovitev ustvarilo drugo, novo denarnico"},showMnemonic:{description:`Prikazano vam bo do 24 besed, ki tvorijo varnostno kopijo denarnice. Zapišite jih na papir. Ne hranite jih digitalno in jih ne fotografirajte. @@ -1052,13 +1052,13 @@ Además, la función de la frase de contraseña permite crear varias billeteras Ta varnostna kopija ni zaščitena z geslom. -Po končanem prikazu besed boste morali vsako še potrditi na napravi.`,title:"Prikaži seznam besed",warning:"Nikoli ne delite obnovitvenih besed z nikomer. Te besede omogočajo popoln dostop do vaše denarnice. Če vas kdo sprašuje po teh besedah, gre zelo verjetno za prevaro. Ne delite jih z neznanci!"},title:"Upravljanje varnostnih kopij"},a6={abort:"Ne nadgradi - vrni me nazaj",abort_noUpgrade:"Vrni me nazaj",advanced:{label:"Napredne nastavitve",toggleShowFirmwareHash:"Ob zagonu vedno prikaži binarno vrednost strojne programske opreme (firmware hash)"},flipscreen:"Obrnite sliko na zaslonu",orientation:"Je zaslon na napravi obrnjen v napačno smer?",success:"Nadgradnja uspešna! Nadaljevanje v {{rebootSeconds}} sekundah...",success_install:"Namestitev uspešna! Nadaljevanje v {{rebootSeconds}} sekundah..."},i6={error:{e10000:"Trenutno geslo naprave je napačno.",e10001:"Gesla naprave ni bilo mogoče zamenjati",e102:"Geslo mora vsebovati najmanj 4 znake.",e112:"Geslo skrite denarnice ne more biti enako kot geslo glavne denarnice."}},o6={confirmDate:"Potrdite današnji datum na BitBox02",confirmDateText:"Vnešen datum bo uporabljen za kreiranje varnostne kopije.",confirmName:"Potrdite ime na zaslonu BitBox02",confirmWords:"Zapišite si {{amount}} obnovitvenih besed iz vašega BitBoxa",confirmWordsText:"Po tem koraku BitBox02 zahteva potrditev vsake besede na zaslonu, da se prepričate, da ste varnostno kopijo zapisali pravilno.",followInstructions:"Prosimo upoštevajte navodila na zaslonu naprave.",followInstructionsMnemonic:"Upoštevajte navodila za obnovitev iz seznama besed na napravi in obnovite denarnico.",followInstructionsMnemonicTitle:"Obnovi iz seznama besed"},r6={deviceName:{current:"Trenutno ime naprave",error:"Imena naprave ni bilo mogoče nastaviti",error_104:"Potrditev imena je bilo prekinjeno na napravi",input:"Novo ime",placeholder:"Novo ime naprave",title:"Nastavite ime tej napravi"},gotoStartupSettings:{description:"To bo znova zagnalo vaš BitBox02 in začelo nastavitev zagona.",title:"Pojdite na začetne nastavitve"}},s6={advanced:{button:"Napredne možnosti",outOfDate:"Strojna programska oprema (firmware) je prestara za to funkcijo",seed12WordInfo:"Število besed kasneje ni možno spremeniti.",seed12WordLabel:"Ustvari 12 besedno seme namesto 24 besednega",seed12WordText:"BitBox privzeto uporablja 24 besedno seme. Na voljo je tudi 12 besedno seme. Obe podprti dolžini semena sta dovolj varni proti strojnemu uganjevanju (brute force). ",skipSDCardLabel:"Ne ustvari varnostne kopije na micro SD kartico ampak prikaži semenske besede",skipSDCardText:"Kasneje lahko vedno ustvarite varnostno kopijo na micro SD kartico ali ponovno prikažete semenske besede. To opcijo najdete v Nastavitvah.",title:"Napredne možnosti arhivske kopije"},attestationFailed:"Preverjanje ni uspelo, kar je lahko posledica ponovnega zagona aplikacije, medtem ko je naprava čakala na uporabniški vnos (dotik). Napravo znova vklopite in poskusite znova. Če težava ne izgine, se obrnite na support@bitbox.swiss (v angleščini).",backup:{point1:"Izberite varnostno kopijo na microSD kartici",point2:"Nastavite geslo za svojo napravo",restoreText:"Ok, obnovimo varnostno kopijo!",text1:"Super, vaše geslo za BitBox02 je zdaj nastavljeno in denarnica je ustvarjena. Zdaj je čas, da ustvarite prvo varnostno kopijo. Prepričajte se, da je microSD kartica vstavljena v BitBox02 in nato nadaljujte.",text2:"Če želite ustvariti varnostno kopijo, sledite navodilom na zaslonu naprave.",text3:"Ko ustvarite varnostno kopijo, odstranite microSD kartico in jo shranite na varno lokacijo. Vsebina kartice ni zaščitena z geslom. Nikoli je ne vstavite v nobeno drugo napravo, razen v vaš BitBox02.",userConfirmation1:"Varnostno kopijo je potrebno hraniti na varnem mestu",userConfirmation2:"Moja varnostna kopija ni zaščitena z geslom. Vsak, ki ima dostop do nje, lahko dostopa do moje denarnice.",userConfirmation3:"Če izgubim ali poškodujem svoj BitBox02, je edini način, da povrnem svoja sredstva, obnovitev iz varnostne kopije.",userConfirmation4:"Če izgubim ali poškodujem tako varnostno kopijo kot svoj BitBox02, so moja sredstva izgubljena.",userConfirmation5:"Ustvarjeno varnostno kopijo na microSD kartici ne smem vtakniti v PC, telefon, tiskalnik ali katero koli drugo napravo razen v BitBox02.",userConfirmation5mnemonic:"Semenskih besed NE bom vpisoval v računalnike, telefone, tablice ali katere koli druge naprave, kot le v BitBox02."},create:{button:"Poimenujte napravo in nadaljujte",info:"To so osnovni koraki, ki jih boste izvedli za nastavitev BitBoxa: ",inputTitle:"Ime denarnice",point1:"Poimenujte napravo",point2:"Izberite si geslo za svojo napravo",point3:"Ustvarite varnostno kopijo",text:"Ok, pa ustvarimo novo denarnico!"},createBackupAborted:"Kreiranje varnostne kopije je prekinjeno.",createBackupFailed:"Ustvarjanje varnostne kopije ni uspelo, poskusite znova.",initialize:{passwordText:"Zdaj pa določite geslo za vašo napravo. Za vnos in izbiro gesla uporabite kontrolne drsnike na BitBoxu.",passwordTitle:"Nastavite geslo za vaš BitBox",text:"Seznanjanje je bilo uspešno! Zdaj pa pripravimo vašo napravo. Začnite z ustvarjanjem nove denarnice ali obnovitvijo denarnice iz obstoječe varnostne kopije. Prepričajte se, da imate v BitBox02 vstavljeno microSD kartico ",tip:"Priporočamo vam, da te postopke opravite v varnem in zasebnem okolju.",title:"Zaženite in nastavite BitBox02"},insertSDCard:"Prepričajte se, da imate v BitBox02 vstavljeno microSD kartico.",noPasswordMatch:"Gesli se nista ujemali. Poskusite znova.",pairing:{failed:"Seznanjanje je bilo prekinjeno. Ponovno priklopite BitBox02.",paired:"Na napravi ste potrdili, da se koda ujema. Prosimo nadaljujte.",title:"Potrditev seznanitvene kode",unpaired:"Zaznana je bila nova BitBox02 naprava. Preverite, ali se prikazana koda ujema s tisto na zaslonu naprave."},restoreFromMnemonic:{e104:"Ponastavitev iz semenskih besed je bilo ustavljeno.",failed:"Obnova iz seznama besed ni uspela. Poskusite znova."},stepBackup:{beforeProceed:"Pred nadaljevanjem preberite naslednje pomembne varnostne vidike:",createBackup:"Zdaj boste ustvarili varnostno kopijo na microSD kartici .",createBackupMnemonic:"Zdaj zapišite semenske besede na papir ali jeklo"},stepBackupSuccess:{fundsSafe:"Če želite ohraniti sredstva varna, upoštevajte naslednje:",title:"Varnostna kopija obnovljena!"},stepConnected:{unlock:"Vnesite izbrano geslo, kot ponazarja video"},stepCreate:{description:"To ime je uporabljeno kot ime naprave in ime varnostne kopije.",nameLabel:"Vnesite željeno ime naprave",namePlaceholder:"Moj BitBox02",title:"Izberite ime za vaš BitBox02",toastMicroSD:"Vstavite microSD kartico v BitBox02. Na njo bo zapisana varnostna kopija denarnice."},stepCreateSuccess:{removeMicroSD:"Odstranite microSD kartico z naprave in jo shranite na varno mesto.",storeMnemonic:"Predlagamo, da shranite te obnovitvene besede na varno lokacijo",success:"Uspešno ste ustvarili varnostno kopijo."},stepInsertSD:{insertSDCard:"Vstavite microSD kartico v BitBox02.",insertSDcardTitle:"Vstavite microSD kartico"},stepPassword:{e104:"Nastavitev gesla je bila prekinjena.",title:"Nastavite geslo za BitBox02",useControls:"S pomočjo drsnikov na robu naprave si nastavite geslo."},stepUninitialized:{create:"Želim postaviti nov BitBox02.",restore:"Želim obnoviti denarnico iz varnostne kopije.",restoreMicroSD:"Obnovi iz microSD kartice",restoreMnemonic:"Obnovi iz seznama besed",title:"Nastavite svoj BitBox02"},success:{text:`Bravo! Vaš BitBox02 je zdaj pripravljen za uporabo. +Po končanem prikazu besed boste morali vsako še potrditi na napravi.`,title:"Prikaži seznam besed",warning:"Nikoli ne delite obnovitvenih besed z nikomer. Te besede omogočajo popoln dostop do vaše denarnice. Če vas kdo sprašuje po teh besedah, gre zelo verjetno za prevaro. Ne delite jih z neznanci!"},title:"Upravljanje varnostnih kopij"},aq={abort:"Ne nadgradi - vrni me nazaj",abort_noUpgrade:"Vrni me nazaj",advanced:{label:"Napredne nastavitve",toggleShowFirmwareHash:"Ob zagonu vedno prikaži binarno vrednost strojne programske opreme (firmware hash)"},flipscreen:"Obrnite sliko na zaslonu",orientation:"Je zaslon na napravi obrnjen v napačno smer?",success:"Nadgradnja uspešna! Nadaljevanje v {{rebootSeconds}} sekundah...",success_install:"Namestitev uspešna! Nadaljevanje v {{rebootSeconds}} sekundah..."},iq={error:{e10000:"Trenutno geslo naprave je napačno.",e10001:"Gesla naprave ni bilo mogoče zamenjati",e102:"Geslo mora vsebovati najmanj 4 znake.",e112:"Geslo skrite denarnice ne more biti enako kot geslo glavne denarnice."}},oq={confirmDate:"Potrdite današnji datum na BitBox02",confirmDateText:"Vnešen datum bo uporabljen za kreiranje varnostne kopije.",confirmName:"Potrdite ime na zaslonu BitBox02",confirmWords:"Zapišite si {{amount}} obnovitvenih besed iz vašega BitBoxa",confirmWordsText:"Po tem koraku BitBox02 zahteva potrditev vsake besede na zaslonu, da se prepričate, da ste varnostno kopijo zapisali pravilno.",followInstructions:"Prosimo upoštevajte navodila na zaslonu naprave.",followInstructionsMnemonic:"Upoštevajte navodila za obnovitev iz seznama besed na napravi in obnovite denarnico.",followInstructionsMnemonicTitle:"Obnovi iz seznama besed"},rq={deviceName:{current:"Trenutno ime naprave",error:"Imena naprave ni bilo mogoče nastaviti",error_104:"Potrditev imena je bilo prekinjeno na napravi",input:"Novo ime",placeholder:"Novo ime naprave",title:"Nastavite ime tej napravi"},gotoStartupSettings:{description:"To bo znova zagnalo vaš BitBox02 in začelo nastavitev zagona.",title:"Pojdite na začetne nastavitve"}},sq={advanced:{button:"Napredne možnosti",outOfDate:"Strojna programska oprema (firmware) je prestara za to funkcijo",seed12WordInfo:"Število besed kasneje ni možno spremeniti.",seed12WordLabel:"Ustvari 12 besedno seme namesto 24 besednega",seed12WordText:"BitBox privzeto uporablja 24 besedno seme. Na voljo je tudi 12 besedno seme. Obe podprti dolžini semena sta dovolj varni proti strojnemu uganjevanju (brute force). ",skipSDCardLabel:"Ne ustvari varnostne kopije na micro SD kartico ampak prikaži semenske besede",skipSDCardText:"Kasneje lahko vedno ustvarite varnostno kopijo na micro SD kartico ali ponovno prikažete semenske besede. To opcijo najdete v Nastavitvah.",title:"Napredne možnosti arhivske kopije"},attestationFailed:"Preverjanje ni uspelo, kar je lahko posledica ponovnega zagona aplikacije, medtem ko je naprava čakala na uporabniški vnos (dotik). Napravo znova vklopite in poskusite znova. Če težava ne izgine, se obrnite na support@bitbox.swiss (v angleščini).",backup:{point1:"Izberite varnostno kopijo na microSD kartici",point2:"Nastavite geslo za svojo napravo",restoreText:"Ok, obnovimo varnostno kopijo!",text1:"Super, vaše geslo za BitBox02 je zdaj nastavljeno in denarnica je ustvarjena. Zdaj je čas, da ustvarite prvo varnostno kopijo. Prepričajte se, da je microSD kartica vstavljena v BitBox02 in nato nadaljujte.",text2:"Če želite ustvariti varnostno kopijo, sledite navodilom na zaslonu naprave.",text3:"Ko ustvarite varnostno kopijo, odstranite microSD kartico in jo shranite na varno lokacijo. Vsebina kartice ni zaščitena z geslom. Nikoli je ne vstavite v nobeno drugo napravo, razen v vaš BitBox02.",userConfirmation1:"Varnostno kopijo je potrebno hraniti na varnem mestu",userConfirmation2:"Moja varnostna kopija ni zaščitena z geslom. Vsak, ki ima dostop do nje, lahko dostopa do moje denarnice.",userConfirmation3:"Če izgubim ali poškodujem svoj BitBox02, je edini način, da povrnem svoja sredstva, obnovitev iz varnostne kopije.",userConfirmation4:"Če izgubim ali poškodujem tako varnostno kopijo kot svoj BitBox02, so moja sredstva izgubljena.",userConfirmation5:"Ustvarjeno varnostno kopijo na microSD kartici ne smem vtakniti v PC, telefon, tiskalnik ali katero koli drugo napravo razen v BitBox02.",userConfirmation5mnemonic:"Semenskih besed NE bom vpisoval v računalnike, telefone, tablice ali katere koli druge naprave, kot le v BitBox02."},create:{button:"Poimenujte napravo in nadaljujte",info:"To so osnovni koraki, ki jih boste izvedli za nastavitev BitBoxa: ",inputTitle:"Ime denarnice",point1:"Poimenujte napravo",point2:"Izberite si geslo za svojo napravo",point3:"Ustvarite varnostno kopijo",text:"Ok, pa ustvarimo novo denarnico!"},createBackupAborted:"Kreiranje varnostne kopije je prekinjeno.",createBackupFailed:"Ustvarjanje varnostne kopije ni uspelo, poskusite znova.",initialize:{passwordText:"Zdaj pa določite geslo za vašo napravo. Za vnos in izbiro gesla uporabite kontrolne drsnike na BitBoxu.",passwordTitle:"Nastavite geslo za vaš BitBox",text:"Seznanjanje je bilo uspešno! Zdaj pa pripravimo vašo napravo. Začnite z ustvarjanjem nove denarnice ali obnovitvijo denarnice iz obstoječe varnostne kopije. Prepričajte se, da imate v BitBox02 vstavljeno microSD kartico ",tip:"Priporočamo vam, da te postopke opravite v varnem in zasebnem okolju.",title:"Zaženite in nastavite BitBox02"},insertSDCard:"Prepričajte se, da imate v BitBox02 vstavljeno microSD kartico.",noPasswordMatch:"Gesli se nista ujemali. Poskusite znova.",pairing:{failed:"Seznanjanje je bilo prekinjeno. Ponovno priklopite BitBox02.",paired:"Na napravi ste potrdili, da se koda ujema. Prosimo nadaljujte.",title:"Potrditev seznanitvene kode",unpaired:"Zaznana je bila nova BitBox02 naprava. Preverite, ali se prikazana koda ujema s tisto na zaslonu naprave."},restoreFromMnemonic:{e104:"Ponastavitev iz semenskih besed je bilo ustavljeno.",failed:"Obnova iz seznama besed ni uspela. Poskusite znova."},stepBackup:{beforeProceed:"Pred nadaljevanjem preberite naslednje pomembne varnostne vidike:",createBackup:"Zdaj boste ustvarili varnostno kopijo na microSD kartici .",createBackupMnemonic:"Zdaj zapišite semenske besede na papir ali jeklo"},stepBackupSuccess:{fundsSafe:"Če želite ohraniti sredstva varna, upoštevajte naslednje:",title:"Varnostna kopija obnovljena!"},stepConnected:{unlock:"Vnesite izbrano geslo, kot ponazarja video"},stepCreate:{description:"To ime je uporabljeno kot ime naprave in ime varnostne kopije.",nameLabel:"Vnesite željeno ime naprave",namePlaceholder:"Moj BitBox02",title:"Izberite ime za vaš BitBox02",toastMicroSD:"Vstavite microSD kartico v BitBox02. Na njo bo zapisana varnostna kopija denarnice."},stepCreateSuccess:{removeMicroSD:"Odstranite microSD kartico z naprave in jo shranite na varno mesto.",storeMnemonic:"Predlagamo, da shranite te obnovitvene besede na varno lokacijo",success:"Uspešno ste ustvarili varnostno kopijo."},stepInsertSD:{insertSDCard:"Vstavite microSD kartico v BitBox02.",insertSDcardTitle:"Vstavite microSD kartico"},stepPassword:{e104:"Nastavitev gesla je bila prekinjena.",title:"Nastavite geslo za BitBox02",useControls:"S pomočjo drsnikov na robu naprave si nastavite geslo."},stepUninitialized:{create:"Želim postaviti nov BitBox02.",restore:"Želim obnoviti denarnico iz varnostne kopije.",restoreMicroSD:"Obnovi iz microSD kartice",restoreMnemonic:"Obnovi iz seznama besed",title:"Nastavite svoj BitBox02"},success:{text:`Bravo! Vaš BitBox02 je zdaj pripravljen za uporabo. -Za dodatne informacije o uporabi aplikacije BitBoxApp uporabite vodnik. Na voljo je s klikom na vprašaj v zgornjem desnem kotu.`,title:"Zdaj ste pripravljeni za delo z BitBox denarnico!"}},l6={button:"Sproži utripanje na napravi"},c6={button:'Nadgradi "firmware"',button_install:"Namestite firmware",progress:"Nadgrajujem: {{progress}}%",progress_install:"Nameščanje: {{progress}}%",success:"Nadgradnja uspešna! Izključite in ponovno priključite napravo v USB režo. Tokrat se ne dotikajte gumba."},u6={abort:"Prekini",back:"Nazaj",buy:"Kupi",changepin:"Spremenite geslo naprave",check:"Preverite varnostno kopijo",continue:"Nadaljujte",copy:"Kopiraj",create:"Ustvari",dismiss:"Zavrnite",done:"Potrdi izbiro",download:"Prenesi",hiddenwallet:"Ustvarite skrito denarnico",next:"Naprej",ok:"OK",previous:"Nazaj",receive:"Prejmi",restore:"Obnovi",select:"Izberite",send:"Pošlji",unlock:"Odklenite denarnico",update:"Osveži",upgrade:"Nadgradi"},d6={exchange:{bankTransfer:"Bančno nakazilo",bestDeal:"Najboljša ponudba",creditCard:"Kreditna karica",fast:"Hitro",fee:"provizija",infoContent:{moonpay:{fees:{bankTransfer:"Bančno nakazilo: {{fee}}%",creditDebitCard:"Kreditna/debetna kartica: {{fee}}%",learnMore:"Več o storitvi MoonPay",title:"Provizije"},fullCurrenciesList:"Tu je na voljo seznam vseh valut",payment:{asteriskText:"* Ni na voljo za rezidente ZDA",bankTransfer:"Bančno nakazilo*",bankTransferDetails:{pix:"PIX (BR transakcije, samo v Braziliji)",sepa:"SEPA in SEPA Instant (samo EUR transakcije v državah SEPA)",uk:"UK Faster Payments (samo GBP transakcije v Združenem kraljestvu)"},creditDebitCard:"Kreditna/debetna kartica",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa in Maestro"},learnMore:"Oglejte si podrobnosti o načinih plačila",title:"Načini plačila"},supportedCurrencies:"Podpira vse glavne fiat valute: USD, EUR, CHF in druge"},pocket:{fees:{info:"Bančno nakazilo: {{fee}}%",title:"Provizije"},learnMore:"Več o storitvi Pocket",payment:{bankTransfer:"Bančno nakazilo",bankTransferDetails:{sepa:"SEPA in SEPA instant (transakcije v EUR znotraj SEPA podprtih držav)",sic:"Švicarska medbančna poravnava (samo za transakcije v CHF v CH/LIE)",uk:"UK Faster Payments (samo transakcije v GBP v UK)"},bankTransferReccuring:"Kako nastavimo ponavljajoče nakupe z enim naročilom?",title:"Načini plačila"},supportedCurrencies:"Podpira evropske valute: EUR, GBP in CHF",verification:{info:"Preverjanje identitete je zahtevano le nad dnevnim in letnim limitom.",link:"Trenutni limiti",title:"Preverjanje identitete"}},region:{title:"Izberite regijo, v kateri je registriran vaš bančni račun, da vidite možnosti, ki so vam na voljo."}},noExchanges:"V tej regiji žal ni razpoložljivih menjalnic.",region:"Regija",selectRegion:"Ni navedeno",title:"Kupi {{name}}"},info:{continue:"Potrdi in nadaljuj",crypto:"kripto",disclaimer:{intro:["V sodelovanju z MoonPay vam ponujamo možnost nakupa {{name}} neposredno znotraj BitBoxApp. S samo nekaj kliki.","MoonPay je regulirana platforma za finančne storitve, ki omogoča preprost in hiter nakup {{name}} v več kot 160 državah"],payment:{details:"{{name}} je možno kupiti takoj prek storitve MoonPay z naslednjimi načini plačila. Plačila s kreditno ali debetno kartico so takojšnja in priročna, vendar dražja. Za večje zneske priporočamo uporabo bančnega nakazila. Minimalna pristojbina je 4 EUR.",footnote:"Menjalni tečaji storitve MoonPay se lahko razlikujejo od tistih, ki se uporabljajo v BitBoxApp.",table:{"1_description":"Najnižja provizija, lahko traja do 3 delovne dni","1_method":"Bančno nakazilo (SEPA)","2_description":"Višja provizija a takojšnja izvršitev","2_method":"Kreditna ali debetna kartica",description:"Opis",fee:"Provizija",method:"Način plačila"},title:"Načini plačila in provizije"},privacyPolicy:"Politika zasebnosti storitve MoonPay",protection:{description:`BitBoxApp ne zbira nobenih podatkov ob nakupu preko MoonPay. +Za dodatne informacije o uporabi aplikacije BitBoxApp uporabite vodnik. Na voljo je s klikom na vprašaj v zgornjem desnem kotu.`,title:"Zdaj ste pripravljeni za delo z BitBox denarnico!"}},lq={button:"Sproži utripanje na napravi"},cq={button:'Nadgradi "firmware"',button_install:"Namestite firmware",progress:"Nadgrajujem: {{progress}}%",progress_install:"Nameščanje: {{progress}}%",success:"Nadgradnja uspešna! Izključite in ponovno priključite napravo v USB režo. Tokrat se ne dotikajte gumba."},uq={abort:"Prekini",back:"Nazaj",buy:"Kupi",changepin:"Spremenite geslo naprave",check:"Preverite varnostno kopijo",continue:"Nadaljujte",copy:"Kopiraj",create:"Ustvari",dismiss:"Zavrnite",done:"Potrdi izbiro",download:"Prenesi",hiddenwallet:"Ustvarite skrito denarnico",next:"Naprej",ok:"OK",previous:"Nazaj",receive:"Prejmi",restore:"Obnovi",select:"Izberite",send:"Pošlji",unlock:"Odklenite denarnico",update:"Osveži",upgrade:"Nadgradi"},dq={exchange:{bankTransfer:"Bančno nakazilo",bestDeal:"Najboljša ponudba",creditCard:"Kreditna karica",fast:"Hitro",fee:"provizija",infoContent:{moonpay:{fees:{bankTransfer:"Bančno nakazilo: {{fee}}%",creditDebitCard:"Kreditna/debetna kartica: {{fee}}%",learnMore:"Več o storitvi MoonPay",title:"Provizije"},fullCurrenciesList:"Tu je na voljo seznam vseh valut",payment:{asteriskText:"* Ni na voljo za rezidente ZDA",bankTransfer:"Bančno nakazilo*",bankTransferDetails:{pix:"PIX (BR transakcije, samo v Braziliji)",sepa:"SEPA in SEPA Instant (samo EUR transakcije v državah SEPA)",uk:"UK Faster Payments (samo GBP transakcije v Združenem kraljestvu)"},creditDebitCard:"Kreditna/debetna kartica",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa in Maestro"},learnMore:"Oglejte si podrobnosti o načinih plačila",title:"Načini plačila"},supportedCurrencies:"Podpira vse glavne fiat valute: USD, EUR, CHF in druge"},pocket:{fees:{info:"Bančno nakazilo: {{fee}}%",title:"Provizije"},learnMore:"Več o storitvi Pocket",payment:{bankTransfer:"Bančno nakazilo",bankTransferDetails:{sepa:"SEPA in SEPA instant (transakcije v EUR znotraj SEPA podprtih držav)",sic:"Švicarska medbančna poravnava (samo za transakcije v CHF v CH/LIE)",uk:"UK Faster Payments (samo transakcije v GBP v UK)"},bankTransferReccuring:"Kako nastavimo ponavljajoče nakupe z enim naročilom?",title:"Načini plačila"},supportedCurrencies:"Podpira evropske valute: EUR, GBP in CHF",verification:{info:"Preverjanje identitete je zahtevano le nad dnevnim in letnim limitom.",link:"Trenutni limiti",title:"Preverjanje identitete"}},region:{title:"Izberite regijo, v kateri je registriran vaš bančni račun, da vidite možnosti, ki so vam na voljo."}},noExchanges:"V tej regiji žal ni razpoložljivih menjalnic.",region:"Regija",selectRegion:"Ni navedeno",title:"Kupi {{name}}"},info:{continue:"Potrdi in nadaljuj",crypto:"kripto",disclaimer:{intro:["V sodelovanju z MoonPay vam ponujamo možnost nakupa {{name}} neposredno znotraj BitBoxApp. S samo nekaj kliki.","MoonPay je regulirana platforma za finančne storitve, ki omogoča preprost in hiter nakup {{name}} v več kot 160 državah"],payment:{details:"{{name}} je možno kupiti takoj prek storitve MoonPay z naslednjimi načini plačila. Plačila s kreditno ali debetno kartico so takojšnja in priročna, vendar dražja. Za večje zneske priporočamo uporabo bančnega nakazila. Minimalna pristojbina je 4 EUR.",footnote:"Menjalni tečaji storitve MoonPay se lahko razlikujejo od tistih, ki se uporabljajo v BitBoxApp.",table:{"1_description":"Najnižja provizija, lahko traja do 3 delovne dni","1_method":"Bančno nakazilo (SEPA)","2_description":"Višja provizija a takojšnja izvršitev","2_method":"Kreditna ali debetna kartica",description:"Opis",fee:"Provizija",method:"Način plačila"},title:"Načini plačila in provizije"},privacyPolicy:"Politika zasebnosti storitve MoonPay",protection:{description:`BitBoxApp ne zbira nobenih podatkov ob nakupu preko MoonPay. Prilivi se obravnavajo in so prikazani kot običajna transakcija. MoonPay za svoje delovanje zbira nekaj osebnih podatkov. Njihova politika zasebnosti podrobno pojasnjuje, kako ravna s temi podatki.`,descriptionGeneric:"Aplikacija BitBoxApp ne zbira podatkov ob nakupu {{name}}, vhodna sredstva se obravnavajo kot običajna transakcija. Pričakujemo, da morajo partnerske borze zbrati nekaj vaših informacij za njihovo poslovanje. Oglejte si njihove pravilnike o zasebnosti, da vidite kako postopajo z vašimi podatki.",title:"Zaščita podatkov"},security:{description:"Za nakup {{name}} preko MoonPay uporabljate zunanjo storitev. Ta storitev ne sodi v obseg zaščite, ki jo nudi BitBox02 in temelji na varnosti in zaščiti okolja, v katerem deluje programska oprema BitBoxApp.",descriptionGeneric:"Pojasnilo: Ko uporabite partnerske menjalnice za nakup {{name}}, uporabljate zunanjo storitev. Le-ta ni del naše varnostne politike in ni del zaščite, ki jo ponuja BitBox02 temveč je odvisna od okolja (operacijski sistem, omrežje) na katerem uporabljate BitBoxApp.",link:"Več o varni uporabi",title:"Model varnostnega sistema"},title:"Dobrodošli! Ste na pravem na mestu za nakup {{name}}"},next:"Naprej",selectLabel:"Izberite svoj račun",selectPlaceholder:"Izberi kovanec",skip:"Ne prikazuj več",title:"Kupi {{name}}"},pocket:{data:{link:"Varovanje zasebnosti storitve Pocket",p1:"Aplikacija BitBoxApp ne zbira podatkov ob nakupu bitcoina, vhodna sredstva se obravnavajo kot običajna transakcija. Pocket mora za svoje delovanje zbrati nekaj vaših osebnih podatkov. Njihov pravilnik o zasebnosti podrobno pojasnjuje, kako ravnajo s temi podatki.",title:"Varovanje podatkov"},kyc:{link:"Preberite FAQ (odgovore na pogosta vprašanja) storitve Pocket",p1:"Storitev Pocket skuša število postopkov za KYC (know-your-customer; prepoznavo kupca) opraviti v najmanjši možni meri. Za nakupe pod 1000 CHF na dan dodatni dokumenti niso potrebni. Za nakupe nad tem zneskom se boste morali dogovoriti za klic z družbo Pocket, da opravite potreben postopek KYC/AML.",title:"KYC/AML"},payment:{p1:"Bitcoin lahko zelo hitro kupite s storitvijo Pocket z bančnim nakazilom tipa SEPA. Provizija znaša 1,5 %, bitcoin pa se v vašo denarnico nakaže takoj, ko Pocket prejme vaše bančno nakazilo (običajno v istem dnevu).",p2:"Upoštevajte, da se lahko menjalni tečaji v aplikaciji BitBoxApp razlikujejo od menjalnih tečajev v aplikaciji Pocket, zaradi česar so zneski nekoliko drugačni.",title:"Načini plačila in provizije"},previousTransactions:"Zgodovina transakcij tega računa ni prazna. Če boste ta račun delili, bodo vse pretekle in prihodnje transakcije na njem vidne storitvi Pocket. Ali vseeno nadaljujete?",security:{link:"Model varnosti in zaščite BitBox02",p1:`Ob nakupu bitcoina preko storitve Pocket, uporabljate zunanjo storitev. Le-ta je izven zaščite, ki jo nudi BitBox02. Varnost in zaščita sta odvisna od okolja v katerem uporabljate BitBoxApp. -Skupaj s storitvijo Pocket delujemo na način, da z dvofaktorsko avtentikacijo preverjamo naslov na katerega prejemate bitcoin.`,title:"Varnostni model storitve Pocket"},usedAddress:"Naslov {{address}} je bil že uporabljen. Prosimo začnite ponovno.",verifyBitBox02:"Preverite, ali se naslov, ki ste ga prejeli po e-pošti, ujema z naslovom, prikazanim na napravi. Še bolj varno je, da e-poštno sporočilo odprete in preberete v drugi napravi, če je to mogoče.",welcome:{p1:"S storitvijo Pocket sodelujemo, da bi vam omogočili enostaven način nakupa bitcoina neposredno v BitBoxApp. V le nekaj klikih.",p2:"Pocket je Švicarska platforma ki omogoča hiter in enostaven nakup bitcoina v večini Evropskih držav.",p3:"S storitvijo Pocket lahko enostavno vzpostavite redni intervalni nakup bitcoina s pomočjo rednih bančnih nakazil. T.i. DCA (dollar-cost averaging) ",title:"Dobrodošli na pravem mestu za nakup bitcoinov"}},title:"Kupi {{name}}"},p6={newTitle:"Novo geslo naprave",oldLabel:"Trenutno geslo naprave"},h6={dataMissing:"Še vedno pridobivamo informacije. Poskusite znova čez nekaj minut. Čiči pa čaki™",dataOldTimestamp:"Nalagamo tečaje. Graf ne prikazuje vrednosti po {{time}}.",dataUpdating:"posodabljam...",filter:{all:"Vse",month:"Mesec",week:"Teden",year:"Leto"}},m6="preverjanje microSD kartice",f6="Kliknite tukaj.",g6={abortInfo:"Hiter dotik za ",abortInfoRedText:"prekinitev",approveInfo:"Dotaknite se gumba za vsaj 4 sekunde ",approveInfoGreenText:" za potrditev",info:"Nadaljujte na BitBoxu.",infoWhenPaired:"Najprej na seznanjeni mobilni napravi in ​​nato na BitBoxu"},v6="Nadgradnjo potrdite na BitBox-u",b6={promptNoName:"Za nadaljevanje priklopite BitBox02",promptWithName:'Za nadaljevanje priklopite vaš BitBox02 z imenom "{{name}}"'},k6={toggle:"Temen način"},x6={appUpradeRequired:"BitBox ni združljiv s to verzijo namizne aplikacije. Prenesite in namestite najnovejšo različico."},y6={button:"Omogočite dvofaktorsko avtentikacijo (2FA)",condition1:"Imate varnostno kopijo?",condition2:"Ali deluje preverjanje v mobilni aplikaciji?",condition3:"2FA ONEMOGOČA varnostne kopije in seznanjanje z mobilno aplikacijo. Naprava mora biti resetirana za izhod iz dvofaktorskega (2FA) načina!",confirm:"Omogočite dvofaktorsko avtentikacijo (2FA)",title:"Omogočite dvofaktorsko avtentikacijo (2FA)"},w6={backups:{manageBackups:{description:"Prikaži in preveri varnostno kopijo na Micro SD kartici."},showRecoveryWords:{description:"Prikaži in potrdi semenske besede."},title:"Varnostne kopije"},deviceInformation:{attestation:{description:"BitBoxApp preverja, če je naprava avtentična."},deviceName:{description:"Spremenite ime naprave"},rootFingerprint:{description:"Korenski prstni odtis je unikaten identifikator denarnice, ki je trenutno v uporabi. Če uporabljate frazemska gesla (passphrases), vam lahko pomaga pri razlikovanju med različnimi denarnicami."},securechip:{description:"Model varnega čipa"},title:"Informacije o napravi"},expert:{factoryReset:{description:"Ponastavite napravo na tovarniške nastavitve. Ta postopek izbriše denarnico na BitBoxu.",title:"Tovarniška nastavitev"},goToStartupSettings:{description:'Vstopite v način "bootloader" na napravi. S tem lahko omogočite prikaz zgoščene vrednosti strojne programske opreme (firmware hash).'},passphrase:{description:"Vklopi ali izklopi možnost geselske fraze",title:"Geselska fraza"}},firmware:{firmwareVersion:"Različica strojne programske opreme (firmware)",newVersion:{label:"Razpoložljiva različica"},title:"Verzija strojne programske opreme (firmware)",upToDate:"Vaša naprava je posodobljena",upgradeAvailable:"Na voljo je nova nadgradnja",version:{label:"Različica"}},hardware:{attestation:{false:"Preverjanje pristnosti ni uspelo",label:"Preverjanje pristnosti",true:"BitBox02 je pristen!"},sdcard:{false:"Ni vstavljena",label:"microSD kartica",true:"Vstavljena"},securechip:"Verzija varnega čipa",title:"Naprava"},loading:"Pridobivam informacije o napravi ...",pairing:{lock:{false:"Onemogočeno",label:"Dvo faktorska avtentikacija (2FA)",true:"Omogočeno"},mobile:{false:"Zaprto",label:"Mobilna aplikacija",true:"Odpri"},status:{false:"Ni uparjen",label:"Status",true:"Uparjen"},title:"Seznanjanje (uparitev)"},secrets:{manageBackups:"Upravljanje varnostnih kopij",title:"Varnost"}},j6=`Ali ste prejeli BitBox skupaj z geslom za obnovitev? +Skupaj s storitvijo Pocket delujemo na način, da z dvofaktorsko avtentikacijo preverjamo naslov na katerega prejemate bitcoin.`,title:"Varnostni model storitve Pocket"},usedAddress:"Naslov {{address}} je bil že uporabljen. Prosimo začnite ponovno.",verifyBitBox02:"Preverite, ali se naslov, ki ste ga prejeli po e-pošti, ujema z naslovom, prikazanim na napravi. Še bolj varno je, da e-poštno sporočilo odprete in preberete v drugi napravi, če je to mogoče.",welcome:{p1:"S storitvijo Pocket sodelujemo, da bi vam omogočili enostaven način nakupa bitcoina neposredno v BitBoxApp. V le nekaj klikih.",p2:"Pocket je Švicarska platforma ki omogoča hiter in enostaven nakup bitcoina v večini Evropskih držav.",p3:"S storitvijo Pocket lahko enostavno vzpostavite redni intervalni nakup bitcoina s pomočjo rednih bančnih nakazil. T.i. DCA (dollar-cost averaging) ",title:"Dobrodošli na pravem mestu za nakup bitcoinov"}},title:"Kupi {{name}}"},pq={newTitle:"Novo geslo naprave",oldLabel:"Trenutno geslo naprave"},hq={dataMissing:"Še vedno pridobivamo informacije. Poskusite znova čez nekaj minut. Čiči pa čaki™",dataOldTimestamp:"Nalagamo tečaje. Graf ne prikazuje vrednosti po {{time}}.",dataUpdating:"posodabljam...",filter:{all:"Vse",month:"Mesec",week:"Teden",year:"Leto"}},mq="preverjanje microSD kartice",fq="Kliknite tukaj.",gq={abortInfo:"Hiter dotik za ",abortInfoRedText:"prekinitev",approveInfo:"Dotaknite se gumba za vsaj 4 sekunde ",approveInfoGreenText:" za potrditev",info:"Nadaljujte na BitBoxu.",infoWhenPaired:"Najprej na seznanjeni mobilni napravi in ​​nato na BitBoxu"},vq="Nadgradnjo potrdite na BitBox-u",bq={promptNoName:"Za nadaljevanje priklopite BitBox02",promptWithName:'Za nadaljevanje priklopite vaš BitBox02 z imenom "{{name}}"'},kq={toggle:"Temen način"},xq={appUpradeRequired:"BitBox ni združljiv s to verzijo namizne aplikacije. Prenesite in namestite najnovejšo različico."},yq={button:"Omogočite dvofaktorsko avtentikacijo (2FA)",condition1:"Imate varnostno kopijo?",condition2:"Ali deluje preverjanje v mobilni aplikaciji?",condition3:"2FA ONEMOGOČA varnostne kopije in seznanjanje z mobilno aplikacijo. Naprava mora biti resetirana za izhod iz dvofaktorskega (2FA) načina!",confirm:"Omogočite dvofaktorsko avtentikacijo (2FA)",title:"Omogočite dvofaktorsko avtentikacijo (2FA)"},wq={backups:{manageBackups:{description:"Prikaži in preveri varnostno kopijo na Micro SD kartici."},showRecoveryWords:{description:"Prikaži in potrdi semenske besede."},title:"Varnostne kopije"},deviceInformation:{attestation:{description:"BitBoxApp preverja, če je naprava avtentična."},deviceName:{description:"Spremenite ime naprave"},rootFingerprint:{description:"Korenski prstni odtis je unikaten identifikator denarnice, ki je trenutno v uporabi. Če uporabljate frazemska gesla (passphrases), vam lahko pomaga pri razlikovanju med različnimi denarnicami."},securechip:{description:"Model varnega čipa"},title:"Informacije o napravi"},expert:{factoryReset:{description:"Ponastavite napravo na tovarniške nastavitve. Ta postopek izbriše denarnico na BitBoxu.",title:"Tovarniška nastavitev"},goToStartupSettings:{description:'Vstopite v način "bootloader" na napravi. S tem lahko omogočite prikaz zgoščene vrednosti strojne programske opreme (firmware hash).'},passphrase:{description:"Vklopi ali izklopi možnost geselske fraze",title:"Geselska fraza"}},firmware:{firmwareVersion:"Različica strojne programske opreme (firmware)",newVersion:{label:"Razpoložljiva različica"},title:"Verzija strojne programske opreme (firmware)",upToDate:"Vaša naprava je posodobljena",upgradeAvailable:"Na voljo je nova nadgradnja",version:{label:"Različica"}},hardware:{attestation:{false:"Preverjanje pristnosti ni uspelo",label:"Preverjanje pristnosti",true:"BitBox02 je pristen!"},sdcard:{false:"Ni vstavljena",label:"microSD kartica",true:"Vstavljena"},securechip:"Verzija varnega čipa",title:"Naprava"},loading:"Pridobivam informacije o napravi ...",pairing:{lock:{false:"Onemogočeno",label:"Dvo faktorska avtentikacija (2FA)",true:"Omogočeno"},mobile:{false:"Zaprto",label:"Mobilna aplikacija",true:"Odpri"},status:{false:"Ni uparjen",label:"Status",true:"Uparjen"},title:"Seznanjanje (uparitev)"},secrets:{manageBackups:"Upravljanje varnostnih kopij",title:"Varnost"}},jq=`Ali ste prejeli BitBox skupaj z geslom za obnovitev? Če je tako, takoj zaustavite postopek namestitve in stopite v stik z nami. -Shift nikoli ne izroča pred-pripravljene denarnice ali pred pripravljenih gesel.`,B6={cancel:"Nazaj",confirm:"Potrdite",confirmTitle:"Potrditev"},S6={accountAlreadyExists:"Ta račun že obstaja.",accountLimitReached:"Novega računa ni mogoče dodati. Doseženo je največje število računov za ta kovanec.",aoppCallback:"Napaka pri dostavi naslova do {{host}}.",aoppInvalidRequest:"Napačna poizvedba",aoppNoAccounts:"Nobenega računa ni na razpolago.",aoppSigningAborted:"Aopp postopek preklican",aoppUnknown:"Neznana napaka...",aoppUnsupportedAsset:"Izbrano sredstvo ni podprto.",aoppUnsupportedFormat:"Na voljo ni računov, ki podpirajo zahtevano obliko naslova.",aoppUnsupportedKeystore:"Povezana naprava ne more podpisati sporočil za to sredstvo",aoppVersion:"Neznana različica",wrongKeystore:"Priključena je napačna denarnica. Vstavite pravo napravo BitBox02, ki ustreza temu računu.",wrongKeystore2:"Če uporabljate frazemsko geslo (passphrase), se prepričajte, da ste ga pravilno vnesli za ta račun."},z6={default:"Privzeto",setDefault:"Nastavite {{code}} kot privzeto",title:"Valute"},C6={appVersion:"Različica aplikacije:"},D6={enabled_false:"Onemogočeno",enabled_true:"Omogočeno"},A6="Pojavila se je napaka. Če opazite kakršne koli težave, znova zaženite aplikacijo.",_6={buttons:{create:"Ustvarite novo denarnico",restore:"Obnovite denarnico iz varnostne kopije"},paragraph:"Izberite eno od naslednjih možnosti:",step:{1:{title:"Varnostne informacije"},2:{description:"Ustvarite geslo naprave",title:"Naprava"},"3-create":{description:"Ustvarite novo denarnico",title:"Denarnica"},"3-restore":{description:"iz varnostkopije",title:"Obnovi"},"4-create":{title:"Povzetek"},"4-restore":{title:"Povzetek"}}},T6={accountDescription:{text:"To je pregled vašega računa. Prikazuje dohodne in odhodne transakcije. Stanje je prikazano za vsak račun posebej. Oglejte si pomoč v Nastavitvah, če želite izvedeti več o različnih vrstah računov.",title:"Kaj mi prikazuje ta stran?"},accountFiat:{text:"Seveda, kliknite na oznako valute in jo zamenjate. V nastavitvah lahko določate seznam valut, ki se prikazujejo tu.",title:"Ali lahko preverim vrednost v drugih fiat valutah?"},accountIncomingBalance:{text:"Tu je zbrana vsota zneskov, ki se prenašajo na vaš račun, vendar jih omrežje še ni potrdilo.",title:"Kaj pomeni dohodni?"},accountInfo:{multipleXPubs:{text:`Vsak xpub (razširjen javni ključ) je vezan na prikazan tip naslova: "Native Segwit (bech32)", "Wrapped Segwit" ali "Taproot" (samo za Bitcoin). To so vrste skript, ki jih uporablja {{coinName}}. Aplikacija BitBoxApp jih združuje in podpira več vrst skript na istem računu. Ker vsaka vrsta skripta daje drugačen xpub, je na računu več xpubov. +Shift nikoli ne izroča pred-pripravljene denarnice ali pred pripravljenih gesel.`,Bq={cancel:"Nazaj",confirm:"Potrdite",confirmTitle:"Potrditev"},Sq={accountAlreadyExists:"Ta račun že obstaja.",accountLimitReached:"Novega računa ni mogoče dodati. Doseženo je največje število računov za ta kovanec.",aoppCallback:"Napaka pri dostavi naslova do {{host}}.",aoppInvalidRequest:"Napačna poizvedba",aoppNoAccounts:"Nobenega računa ni na razpolago.",aoppSigningAborted:"Aopp postopek preklican",aoppUnknown:"Neznana napaka...",aoppUnsupportedAsset:"Izbrano sredstvo ni podprto.",aoppUnsupportedFormat:"Na voljo ni računov, ki podpirajo zahtevano obliko naslova.",aoppUnsupportedKeystore:"Povezana naprava ne more podpisati sporočil za to sredstvo",aoppVersion:"Neznana različica",wrongKeystore:"Priključena je napačna denarnica. Vstavite pravo napravo BitBox02, ki ustreza temu računu.",wrongKeystore2:"Če uporabljate frazemsko geslo (passphrase), se prepričajte, da ste ga pravilno vnesli za ta račun."},zq={default:"Privzeto",setDefault:"Nastavite {{code}} kot privzeto",title:"Valute"},Cq={appVersion:"Različica aplikacije:"},Dq={enabled_false:"Onemogočeno",enabled_true:"Omogočeno"},Aq="Pojavila se je napaka. Če opazite kakršne koli težave, znova zaženite aplikacijo.",_q={buttons:{create:"Ustvarite novo denarnico",restore:"Obnovite denarnico iz varnostne kopije"},paragraph:"Izberite eno od naslednjih možnosti:",step:{1:{title:"Varnostne informacije"},2:{description:"Ustvarite geslo naprave",title:"Naprava"},"3-create":{description:"Ustvarite novo denarnico",title:"Denarnica"},"3-restore":{description:"iz varnostkopije",title:"Obnovi"},"4-create":{title:"Povzetek"},"4-restore":{title:"Povzetek"}}},Tq={accountDescription:{text:"To je pregled vašega računa. Prikazuje dohodne in odhodne transakcije. Stanje je prikazano za vsak račun posebej. Oglejte si pomoč v Nastavitvah, če želite izvedeti več o različnih vrstah računov.",title:"Kaj mi prikazuje ta stran?"},accountFiat:{text:"Seveda, kliknite na oznako valute in jo zamenjate. V nastavitvah lahko določate seznam valut, ki se prikazujejo tu.",title:"Ali lahko preverim vrednost v drugih fiat valutah?"},accountIncomingBalance:{text:"Tu je zbrana vsota zneskov, ki se prenašajo na vaš račun, vendar jih omrežje še ni potrdilo.",title:"Kaj pomeni dohodni?"},accountInfo:{multipleXPubs:{text:`Vsak xpub (razširjen javni ključ) je vezan na prikazan tip naslova: "Native Segwit (bech32)", "Wrapped Segwit" ali "Taproot" (samo za Bitcoin). To so vrste skript, ki jih uporablja {{coinName}}. Aplikacija BitBoxApp jih združuje in podpira več vrst skript na istem računu. Ker vsaka vrsta skripta daje drugačen xpub, je na računu več xpubov. Če sredstva stalno prejemate na privzeti naslov (Native Segwit), potrebujete samo "bech32" xpub. Če pa sredstva prejemate tudi na tip naslova "Wrapped Segwit" ali "Taproot", morate uporabiti tudi razširjene javne ključe "Wrapped Segwit" oziroma "Taproot".`,title:"Zakaj je tu več xpub-ov?"},privacy:{text:`xpub ali razširjen javni ključ za določen račun, razkriva celotno finančno zgodovino tega računa: transakcije v preteklosti, stanje računa in prihodnje transakcije. Dostop do xpub-a pa nikomur ne omogoča premika vaših kovancev. @@ -1107,8 +1107,8 @@ Aplikacija pridobiva najnovejše tečaje pri CoinGecko. Vse konverzije so izrač Opomba: Za Ethereum in ERC20 žetone uporabljamo API-je Etherscan.io.`,title:"S katerimi strežniki govori ta aplikacija?"}},title:"Vodič vam v pomoč",toggle:{close:"Zapri",open:"Pomoč"},trackingModePortfolioChart:{text:"V namizni aplikaciji pojdite z miško čez graf. V mobilni aplikaciji, pritisnite na grafi in podrsajte po njem levo ali desno.",title:"Kako preverim vrednosti na grafu za določen dan?"},unlock:{forgotDevicePassword:{text:"Ponastaviti morate napravo (reset) in obnoviti denarnico iz varnostne kopije z geslom za obnovitev.",title:"Kaj lahko storim, če pozabim geslo naprave?"},reset:{text:"Vnesite napačno geslo naprave 15-krat. V zadnjih nekaj poskusih je potreben dolg dotik naprave.",title:"Kako ponastavim napravo?"}},waiting:{deviceNotRecognized:{text:`Ko jo vstavite, naprava utripne enkrat. Prepričajte se, da je pravilno obrnjena v USB reži. Če imate težave, nas kontaktirajte preko spodnje povezave. BitBox01 ni podprt v mobilni aplikaciji. Za povezavo z BitBox01 uporabite BitBoxApp na namizju.`,title:"Moj BitBox01 ni prepoznan"},getDevice:{link:{text:"Naročite BitBox"},text:"BitBox lahko kupite v naši spletni trgovini (link spodaj) ali pri naših partnerjih.",title:"Kje lahko kupim BitBox?"},internet:{text:"Da, internetna povezava je potrebna za sinhronizacijo denarnice, za pošiljanje transakcij in pridobivanje menjalnih tečajev.",title:"Ali ta aplikacija zahteva internetno povezavo?"},lostDevice:{link:{text:"Varnostne kopije"},text:"Vaša sredstva lahko enostavno obnovite z novo BitBox denarnico ali z drugo BIP39 napravo. V pomoč smo spisali postopek v članku:",title:"Izgubil sem napravo. Kaj pa zdaj?"},useWithoutDevice:{text:"Na žalost to trenutno še ni mogoče.",title:"Ali lahko aplikacijo uporabljam brez BitBoxa?"},welcome:{text:`Podjetje Shift Crypto iz Švice se vam zahvaljuje, ker uporabljate BitBoxApp. -Vaše predloge za izboljšavo zelo cenimo in si jih želimo. Vaš odziv pričakujemo na povezavi na dnu.`,title:"Pozdravljeni v aplikaciji BitBox!"}},walletConnect:{noPreviousConnections:{text:"Če uporabljate nov telefon ali računalnik z aplikacijo BitBoxApp, se boste morali ponovno povezati z DApps. Svoje kovance boste nato ponovno videli v izbranih DApp kot običajno.",title:"Mojih prejšnjih povezav ne vidim."},supportedNetworks:{text:"V BitBoxApp je trenutno z WalletConnect podprto le Ethereum omrežje. Za uporabo drugih verig, združljivih z EVM, uporabite storitev Rabby v brskalniku (browser extension wallet).",title:"Katera omrežja so podprta?"},whatIsWalletConnect:{text:"WalletConnect je komunikacijski protokol za web3 aplikacije. Omogoča vam priročno povezavo z decentraliziranimi avtonomnimi aplikacijami (DApps) in spletnimi denarnicami, ki temeljijo na Ethereumu, brez uporabe aplikacije tretje osebe. To je še posebej uporabno za uporabnike aplikacije BitBoxApp na Androidu.",title:"Kaj je WalletConnect?"}}},E6={blocksSynced:"{{blocks}} sinhroniziranje blokov"},P6={info1HTML:"Za namene verodostojnega zanikanja (obstoja prave denarnice) lahko ustvarite skrito denarnico na podlagi drugačne (alternativne) kombinacije gesla in gesla za obnovitev varnostne kopije. ",info2HTML:"Določite geslo naprave in geslo za obnovitev, ki ju želite povezati s spodnjo skrito denarnico. To geslo naprave in geslo za obnovitev morata biti drugačna od tistih, ki ste ju določili za primarno denarnico.",passwordLabel:"Skrito geslo za obnovitev",passwordPlaceholder:"Potrdite skrito geslo za obnovitev",pinLabel:"Geslo za skrito denarnico",pinRepeatLabel:"Ponovite geslo skrite denarnice",pinRepeatPlaceholder:"Prosimo potrdite geslo skrite denarnice",success:"Skrita denarnica je bila uspešno ustvarjena. Iztaknite in ponovno vtaknite BitBox v USB vhod, da jo odklenete."},N6={create:"Ustvarite geslo naprave",creating:"Kreiram geslo naprave ...",error:{e102:"Geslo naprave mora vsebovati najmanj 4 znake."},info:{description1:"Vpišite novo geslo naprave. To bo uporabljeno za odklepanje BitBox-a.",description2:"Uporabite lahko številke, črke in simbole. Daljša gesla so varnejša.",description3:"Če izgubite geslo naprave, boste morali ponastaviti napravo in obnoviti varnostno kopijo denarnice.",subtitle:"Zdaj boste vpisali novo geslo naprave",title:"Izvaja se prvi zagon vaše naprave"},input:{label:"Geslo naprave",labelRepeat:"Ponovite geslo naprave",placeholderRepeat:"Prosimo, potrdite geslo naprave"}},L6="Neveljavna oblika",I6={title:"Izberite jezik"},$6={disable:"Onemogoči starejšo skrito denarnico (legacy wallet)",enable:"Omogoči skrito denarnico starejšega formata (legacy)",successDisable:"Skita denarnica bitcoin računa starejše generacije je onemogočena.",successEnable:"Skrita denarnica starejšega formata je uspešno omogočena. Znova priključite svoj BitBox in skrbno vnesite geslo naprave za dostop do starejše skrite denarnice."},M6="nalaganje…",O6={accountHidden:"Ta račun je bil skrit in ga ni več na seznamu opazovalnih računov. Če ga želite videti ponovno, priklopite vaš Bitbox02.",editAccount:"Uredi",editAccountNameTitle:"Uredi ime računa",noAccounts:"ni računov",settings:{hideTokens:"Skrij žetone",showTokens:"Prikaži žetone ({{activeTokenCount}})"},settingsButtonDescription:"Dodajaj in aktiviraj/deaktiviraj račune",title:"Upravljanje računov",watchAccount:"Opazovalni račun",watchAccountDescription:"Ta račun je del vaših opazovalnih računov. Z drsnikom ga lahko skrijete."},R6={usingMobileDataWarning:`Uporaba podatkov na mobilni napravi: ta aplikacija lahko po odklepanju računa naloži do nekaj sto megabajtov podatkov. Če želite preprečiti uporabo mobilnih podatkov, se povežite z Wi-Fi omrežjem. -To sporočilo ne bo več prikazano, če ga ugasnete.`},F6={about:{appVersion:{title:"Verzija aplikacije"}},advancedSettings:{authentication:{description:"Prepreči dostop do aplikacije z zaklepom zaslona.",title:"Zaklep zaslona"},coinControl:{description:"Za večjo stopnnjo zasebnosti izberite kateri UTXO naj bo del transakcije."},customFees:{description:"To vam omogoča vnos poljubne višine provizije za transakcijo."},torProxy:{description:"Povežite se preko Tor omrežja za več zasebnosti."}},appearance:{activeCurrencies:{description:"Te dodatne valute lahko izmenjujoče prikazujete na strani računov.",title:"Aktivne valute"},darkmode:{description:"BitBoxApp v temnem načinu"},defaultCurrency:{description:"Izberite privzeto valuto",title:"Privzeta valuta"},hideAmounts:{description:"Prikaže preklopnik za skrivanje stanja in zneskov, za vašo večjo zasebnost, ko aplikacijo uporabljate na javnem mestu.",hideAmounts:"Skrij zneske",showAmounts:"Prikaži zneske",title:"Dovoli skrivanje zneskov"},language:{description:"Izberite jezik, ki ga želite uporabiti v BitBoxApp-u.",title:"Jezik"},toggleSats:{description:"Prikažite ali skrijte Satošije (sats)."}}},V6={input:{description:"(opcijsko)",placeholder:"Dodaj opombo"},title:"Opomba"},W6={newTxs_one:"{{count}} novih transakcij na: {{accountName}}",newTxs_other:"{{count}} novih transakcij na: {{accountName}}"},U6={aborted:{text:"Uparjanje je bilo prekinjeno s strani mobilne aplikacije.",title:"Prekinjeno"},button:"Uparite z mobilno aplikacijo",confirm:"Ali ste prepričani, da želite upariti svoj BitBox? Upoštevajte, da je po uparitvi mobilni telefon vedno potreben za izvedbo transakcije.",connectOnly:{button:"Povežite z mobilno aplikacijo",title:"Skenirajte z našo mobilno aplikacijo tako, da izberete menijsko točko »Connect to new desktop app«"},error:{text:"Nekaj ​​je šlo narobe. Prosimo, začnite znova.",title:"Napaka"},pullFailed:{text:"Sporočila iz mobilnega telefona ni bilo mogoče pridobiti prek relejskega strežnika. Strežnik je morda brez povezave. Prosimo, obrnite se na podporo.",title:"Parjenje ni uspelo"},reconnectOnly:{button:"Ponovno vzpostavite povezavo z mobilno aplikacijo"},scanningFailed:{text:"Mobilnik ni uspešno skeniral sporočila. Prosimo poskusite ponovno.",title:"Skeniranje ni uspelo"},start:{hideAppQRCode:"Skrij kodo QR",revealAppQRCode:"Prikaži QR kodo",step1:"Če mobilne aplikacije še nimate, lahko skenirate QR kodo za Apple App Store ali Google Play Store, odvisno od tega, kateri telefon imate.",step2:"Skenirajte z našo mobilno aplikacijo, ki jo najdete pod imenom „Digital Bitbox 2FA“ v trgovinah z aplikacijami za iOS in Android:"},started:{text:"Prosimo sledite navodilom v mobilni aplikaciji.",title:"Super"},success:{text:"Čestitamo, uspešno ste uparili BitBox z mobilno aplikacijo!",title:"Uspelo je!"},timeout:{text:"Seznanitev je potekla po dveh minutah. Začnite znova, če želite BitBox še vedno upariti z mobilno aplikacijo.",title:"Odmor"},title:"Mobilno seznanjanje"},q6={considerations:{button:"",message:`Geselska fraza zagotavlja dodaten nivo zaščite varnostni kopiji vaše denarnice (bodisi na microSD kartici ali 24 besedam). Če nekdo pridobi dostop do vaše varnostne kopije (na kartici ali besede), bo za dostop do vaše denarnice potreboval tudi geselsko frazo. +Vaše predloge za izboljšavo zelo cenimo in si jih želimo. Vaš odziv pričakujemo na povezavi na dnu.`,title:"Pozdravljeni v aplikaciji BitBox!"}},walletConnect:{noPreviousConnections:{text:"Če uporabljate nov telefon ali računalnik z aplikacijo BitBoxApp, se boste morali ponovno povezati z DApps. Svoje kovance boste nato ponovno videli v izbranih DApp kot običajno.",title:"Mojih prejšnjih povezav ne vidim."},supportedNetworks:{text:"V BitBoxApp je trenutno z WalletConnect podprto le Ethereum omrežje. Za uporabo drugih verig, združljivih z EVM, uporabite storitev Rabby v brskalniku (browser extension wallet).",title:"Katera omrežja so podprta?"},whatIsWalletConnect:{text:"WalletConnect je komunikacijski protokol za web3 aplikacije. Omogoča vam priročno povezavo z decentraliziranimi avtonomnimi aplikacijami (DApps) in spletnimi denarnicami, ki temeljijo na Ethereumu, brez uporabe aplikacije tretje osebe. To je še posebej uporabno za uporabnike aplikacije BitBoxApp na Androidu.",title:"Kaj je WalletConnect?"}}},Eq={blocksSynced:"{{blocks}} sinhroniziranje blokov"},Pq={info1HTML:"Za namene verodostojnega zanikanja (obstoja prave denarnice) lahko ustvarite skrito denarnico na podlagi drugačne (alternativne) kombinacije gesla in gesla za obnovitev varnostne kopije. ",info2HTML:"Določite geslo naprave in geslo za obnovitev, ki ju želite povezati s spodnjo skrito denarnico. To geslo naprave in geslo za obnovitev morata biti drugačna od tistih, ki ste ju določili za primarno denarnico.",passwordLabel:"Skrito geslo za obnovitev",passwordPlaceholder:"Potrdite skrito geslo za obnovitev",pinLabel:"Geslo za skrito denarnico",pinRepeatLabel:"Ponovite geslo skrite denarnice",pinRepeatPlaceholder:"Prosimo potrdite geslo skrite denarnice",success:"Skrita denarnica je bila uspešno ustvarjena. Iztaknite in ponovno vtaknite BitBox v USB vhod, da jo odklenete."},Nq={create:"Ustvarite geslo naprave",creating:"Kreiram geslo naprave ...",error:{e102:"Geslo naprave mora vsebovati najmanj 4 znake."},info:{description1:"Vpišite novo geslo naprave. To bo uporabljeno za odklepanje BitBox-a.",description2:"Uporabite lahko številke, črke in simbole. Daljša gesla so varnejša.",description3:"Če izgubite geslo naprave, boste morali ponastaviti napravo in obnoviti varnostno kopijo denarnice.",subtitle:"Zdaj boste vpisali novo geslo naprave",title:"Izvaja se prvi zagon vaše naprave"},input:{label:"Geslo naprave",labelRepeat:"Ponovite geslo naprave",placeholderRepeat:"Prosimo, potrdite geslo naprave"}},Lq="Neveljavna oblika",Iq={title:"Izberite jezik"},$q={disable:"Onemogoči starejšo skrito denarnico (legacy wallet)",enable:"Omogoči skrito denarnico starejšega formata (legacy)",successDisable:"Skita denarnica bitcoin računa starejše generacije je onemogočena.",successEnable:"Skrita denarnica starejšega formata je uspešno omogočena. Znova priključite svoj BitBox in skrbno vnesite geslo naprave za dostop do starejše skrite denarnice."},Mq="nalaganje…",Oq={accountHidden:"Ta račun je bil skrit in ga ni več na seznamu opazovalnih računov. Če ga želite videti ponovno, priklopite vaš Bitbox02.",editAccount:"Uredi",editAccountNameTitle:"Uredi ime računa",noAccounts:"ni računov",settings:{hideTokens:"Skrij žetone",showTokens:"Prikaži žetone ({{activeTokenCount}})"},settingsButtonDescription:"Dodajaj in aktiviraj/deaktiviraj račune",title:"Upravljanje računov",watchAccount:"Opazovalni račun",watchAccountDescription:"Ta račun je del vaših opazovalnih računov. Z drsnikom ga lahko skrijete."},Rq={usingMobileDataWarning:`Uporaba podatkov na mobilni napravi: ta aplikacija lahko po odklepanju računa naloži do nekaj sto megabajtov podatkov. Če želite preprečiti uporabo mobilnih podatkov, se povežite z Wi-Fi omrežjem. +To sporočilo ne bo več prikazano, če ga ugasnete.`},Fq={about:{appVersion:{title:"Verzija aplikacije"}},advancedSettings:{authentication:{description:"Prepreči dostop do aplikacije z zaklepom zaslona.",title:"Zaklep zaslona"},coinControl:{description:"Za večjo stopnnjo zasebnosti izberite kateri UTXO naj bo del transakcije."},customFees:{description:"To vam omogoča vnos poljubne višine provizije za transakcijo."},torProxy:{description:"Povežite se preko Tor omrežja za več zasebnosti."}},appearance:{activeCurrencies:{description:"Te dodatne valute lahko izmenjujoče prikazujete na strani računov.",title:"Aktivne valute"},darkmode:{description:"BitBoxApp v temnem načinu"},defaultCurrency:{description:"Izberite privzeto valuto",title:"Privzeta valuta"},hideAmounts:{description:"Prikaže preklopnik za skrivanje stanja in zneskov, za vašo večjo zasebnost, ko aplikacijo uporabljate na javnem mestu.",hideAmounts:"Skrij zneske",showAmounts:"Prikaži zneske",title:"Dovoli skrivanje zneskov"},language:{description:"Izberite jezik, ki ga želite uporabiti v BitBoxApp-u.",title:"Jezik"},toggleSats:{description:"Prikažite ali skrijte Satošije (sats)."}}},Vq={input:{description:"(opcijsko)",placeholder:"Dodaj opombo"},title:"Opomba"},Wq={newTxs_one:"{{count}} novih transakcij na: {{accountName}}",newTxs_other:"{{count}} novih transakcij na: {{accountName}}"},Uq={aborted:{text:"Uparjanje je bilo prekinjeno s strani mobilne aplikacije.",title:"Prekinjeno"},button:"Uparite z mobilno aplikacijo",confirm:"Ali ste prepričani, da želite upariti svoj BitBox? Upoštevajte, da je po uparitvi mobilni telefon vedno potreben za izvedbo transakcije.",connectOnly:{button:"Povežite z mobilno aplikacijo",title:"Skenirajte z našo mobilno aplikacijo tako, da izberete menijsko točko »Connect to new desktop app«"},error:{text:"Nekaj ​​je šlo narobe. Prosimo, začnite znova.",title:"Napaka"},pullFailed:{text:"Sporočila iz mobilnega telefona ni bilo mogoče pridobiti prek relejskega strežnika. Strežnik je morda brez povezave. Prosimo, obrnite se na podporo.",title:"Parjenje ni uspelo"},reconnectOnly:{button:"Ponovno vzpostavite povezavo z mobilno aplikacijo"},scanningFailed:{text:"Mobilnik ni uspešno skeniral sporočila. Prosimo poskusite ponovno.",title:"Skeniranje ni uspelo"},start:{hideAppQRCode:"Skrij kodo QR",revealAppQRCode:"Prikaži QR kodo",step1:"Če mobilne aplikacije še nimate, lahko skenirate QR kodo za Apple App Store ali Google Play Store, odvisno od tega, kateri telefon imate.",step2:"Skenirajte z našo mobilno aplikacijo, ki jo najdete pod imenom „Digital Bitbox 2FA“ v trgovinah z aplikacijami za iOS in Android:"},started:{text:"Prosimo sledite navodilom v mobilni aplikaciji.",title:"Super"},success:{text:"Čestitamo, uspešno ste uparili BitBox z mobilno aplikacijo!",title:"Uspelo je!"},timeout:{text:"Seznanitev je potekla po dveh minutah. Začnite znova, če želite BitBox še vedno upariti z mobilno aplikacijo.",title:"Odmor"},title:"Mobilno seznanjanje"},qq={considerations:{button:"",message:`Geselska fraza zagotavlja dodaten nivo zaščite varnostni kopiji vaše denarnice (bodisi na microSD kartici ali 24 besedam). Če nekdo pridobi dostop do vaše varnostne kopije (na kartici ali besede), bo za dostop do vaše denarnice potreboval tudi geselsko frazo. To pa pomeni, da boste potrebovali oboje - geselsko frazo in varnostno kopijo denarnice, da bi obnovili tako zaščiteno denarnico, če se vaš BitBox02 pokvari ali ga izgubite. Če pozabite ali izgubite to geslo, boste izgubili dostop do vseh kovancev v tej denarnici! @@ -1134,17 +1134,17 @@ Geselska fraza ali passphrase je opcijska skrivnost, ki je doda Ker geselska fraza ustvari novo denarnico z uporabo vašega obstoječega semena, denarnica zaščitena s frazo za obnovo zahteva oboje varnostno kopijo in geselsko frazo. Prednost tega je, da če nekdo najde vašo varnostno kopijo (v obliki 24 besed ali na microSD kartici), za dostop do kovancev še vedno potrebuje geselsko frazo. -Poleg tega lahko z uporabo več geselskih fraz na enem BitBox-u upravljate mnogo med seboj ločenih denarnic!`,title:"Zakaj uporabiti geselsko frazo?"}},H6={show:"Prikaži {{label}}",warning:{caps:"OPOZORILO: Vklopljene imate VELIKE ČRKE (⇪)",paste:'da prilepite besedilo, omogočite "PRIKAŽI {{label}}"'}},K6={button:"Ustvari naključno število",description:"BitBox je ustvaril {{bits}}-bitno naključno število:"},G6={changeScriptType:"Spremenite tip naslova",label:"Vaš naslov",onlyThisCoin:{description:"Če želite prejemati druge podprte žetone, jih omogočite v nastavitvah. Če na naslove, ki so na voljo nakažete/pošljete nepodprte žetone, zelo verjetno ne bodo vidni/ dostopni.",warning:"Prepričajte se, da na ta naslov prejemate le {{coinName}}."},scriptType:{p2tr:"Taproot (najnovejša oblika)",p2wpkh:"Native Segwit (privzeto)","p2wpkh-p2sh":"Wrapped Segwit (starejši tip)"},selectAccount:"Izberite račun",showFull:"Pokaži in preveri polni naslov na napravi",taprootWarning:"Opomba: Taproot je nov tip Bitcoin naslova, ki ni še povsod podprt. Sredstva, prejeta na Taproot naslov, morda ne bodo vidna v drugih denarnicah s katerim dostopate do svoje naprave. Številne denarnice in menjalnice še niso zmožne poslati na Taproot naslove.",title:"Prejmi {{accountName}}",verify:"Skrbno preverite naslov",verifyBitBox01:"Preverite naslov v mobilni aplikaciji",verifyBitBox02:"Preverite naslov na BitBox02",verifyInstruction:"Preverite, da se prikazan naslov ujema s tistim, ki je prikazan na BitBoxu in to potrdite na napravi.",warning:{secureOutput:"Prosimo, uparite BitBox z mobilno aplikacijo, da omogočite varno preverjanje naslovov. Pojdite na »Upravljanje naprave« v stranski vrstici."}},Q6={description:"Vsi podatki na napravi bodo izbrisani. To vključuje vaš zasebni ključ!",notReset:"Naprava NI ponastavljena.",title:"Ponastavi napravo (reset)",understand:"Imam varnostno kopijo in poznam geslo za njeno obnovitev",understandBB02:"Imam veljavno varnostno kopijo"},Y6={create:{description1:"Priporočamo, da prvo nastavitev naprave izvedete v varnem okolju, kjer vas nihče ne opazuje in ne more beležiti vnašanja gesla.",description2:"Od vas se bo zahtevalo, da ustvarite dve gesli.",description3:"Prvo je geslo naprave, ki odklene vaš BitBox (napravo). Pozneje ga lahko spremenite.",description4:"Drugo je geslo za obnovitev, ki odklene vašo denarnico. Tega gesla kasneje ni mogoče spremeniti!",description5:"Ko ustvarite denarnico, bo ta shranjena v datoteko na microSD kartico. To lahko uporabite v nujnih primerih za povrnitev sredstev s pomočjo gesla za obnovitev.",title:"Pomembne informacije"},restore:{description1:"Vstaviti boste morali microSD kartico, ki ste jo uporabili za shranjevanje varnostne kopije.",description2:"Če želite obnoviti denarnico, boste potrebovali geslo za obnovitev.",description3:"Bodite previdni in natančni pri vnosu gesla. Vsako geslo, ki ga vnesete, bo ustvarilo novo veljavno denarnico. Če vnesete napačno geslo, se vam bo verjetno prikazalo stanje denarnice, ki ga ne pričakujete.",title:"Varnostne informacije"}},Z6={agreements:{"funds-access":"da ostanem BREZ DOSTOPA do svojih sredstev, če pozabim to geslo!","password-change":"pozneje NI MOŽNO spremeniti gesla za obnovitev!","password-required":"Obnovitveno geslo je potrebno za obnovitev denarnice iz varnostne kopije"},create:"Ustvari denarnico",creating:"Ustvarjanje denarnice",description:"Razumem da:",error:{e102:"Geslo mora vsebovati najmanj 4 znake.",e200:"Za kreiranje nove denarnice morate v BitBox vstaviti microSD kartico. S tem omogočite samodejno kreiranje varnostne kopije."},info:{button:"Zdaj nastavite geslo za obnovo denarnice",description1:"Vstavite microSD kartico v BitBox",description2:'Ustvarite geslo za obnovitev denarnice in izberite "Nastavi geslo za obnovitev"',description3:"Varnostna kopija na microSD kartici in geslo za obnovitev je edina metoda za povrnitev sredstev v primeru izgubljenega, uničenega ali ukradene denarnice BitBox01.",description4:"Pozneje ni možno spremeniti gesla za obnovitev brez prenosa sredstev.",title:"Ustvarite novo denarnico"},password:{label:"Geslo za obnovitev",repeatPlaceholder:"Ponovite geslo za obnovitev"},walletName:{label:"Ime denarnice"}},J6={error:{e200:"Obnova oz. priklic denarnice iz varnostne kopije zahteva microSD kartico."},info:{description1:'Vstavite microSD kartico v BitBox in kliknite "Nadaljujte"',description2:"Izberite varnostno kopijo in kliknite »Obnovi«",description3:"Vnesite geslo za obnovo",description4:"Potrdite, da razumete, da bo napačno geslo ustvarilo drugo, novo denarnico.",title:"Kako obnoviti denarnico iz varnostne kopije"}},X6={abort:"Transakcija je bila prekinjena.",address:{label:"Naslov prejemnika",placeholder:"Vnesite naslov"},amount:{label:"Znesek",placeholder:"Vnesite znesek"},availableBalance:"Razpoložljivo stanje",button:"Podpiši in pošlji",coincontrol:{address:"Naslov",outpoint:"",title:"Pošlji iz (output):"},confirm:{"selected-coins":"Izbrani kovanci",title:"Potrdite in pošljite transakcijo",total:"Skupaj"},error:{erc20InsufficientGasFunds:"Kot kaže na vašem računu ni dovolj ETH za plačilo transakcije za premik ERC02 žetona. Poskrbite za zadostno količino ETH na vašem Ethereum računu.",feeTooLow:"Omrežnina je prenizka",feesNotAvailable:"Provizije ni moč oceniti",insufficientFunds:"nezadostna sredstva",invalidAddress:"neveljaven naslov",invalidAmount:"neveljaven znesek",invalidData:"neveljavni podatki"},fee:{customPlaceholder:"Vnesite znesek",label:"Omrežnina",placeholder:"Ni na voljo"},feeTarget:{customLabel:"Stopnja provizije",customLabel_eth:"Vrednost Gas-a",description:{economy:"4 ure (24 blokov)",economy_eth:"30 minut ali manj",economy_ltc:"1 ura (24 blokov)",high:"20 minut (2 bloka)",high_eth:"30 sekund ali manj",high_ltc:"5 minut (2 bloka)",low:"2 uri (12 blokov)",low_eth:"5 minut ali manj",low_ltc:"30 minut (12 blokov)",normal:"1 ura (6 blokov)",normal_eth:"2 minuti ali manj",normal_ltc:"15 minut (6 blokov)"},estimate:"Predviden čas potrditve:",label:{custom:"Po meri",economy:"Ekonomična",high:"Visoka",low:"Nizka",normal:"Normalna"},placeholder:"Preračunavam..."},maximum:"Pošlji vse",maximumSelectedCoins:"Pošlji izbrane kovance",noFeeTargets:"Generirane provizije trenutno niso dostopne. Prosimo poizkusite ponovno ali vnesite poljubno višino provizije.",priority:"Omrežnina",scanQR:"Skenirajte QR kodo",signprogress:{description:"Ta transakcija vsebuje veliko podatkov. Če želite v celoti podpisati transakcijo, boste morali potrditi {{steps}} krat.",label:"V teku"},success:"Transakcija je bila podpisana in poslana.",title:"Pošlji {{accountName}}",toggleCoinControl:"Odpri nadzor nad kovanci",transactionDetails:"Podrobnosti transakcije"},eq={about:"O nastavitvah",accounts:"Računi",advancedSettings:"Napredne nastavitve",appearance:"Izgled",electrum:{add:"Dodaj strežnik","add-server":"Dodaj",check:"Preveri",checkFailed:"Ni uspelo",checkSuccess:"Uspelo je vzpostaviti povezavo do {{host}}",checking:"Preverjam","download-cert":"Prenesite oddaljeni certifikat","remove-server":"Odstrani",removeConfirm:"Odstrani {{server}}?",reset:"Ponastavi na privzeto",resetConfirm:"Ali želite odstraniti vse strežnike in namestiti privzete strežnike?",servers:"Strežniki",step1:"1","step1-text":"Vnesite končno točko.",step2:"2","step2-text":"Vnesite certifikat strežniške verige potrdil. Lahko pa prenesete oddaljeno potrdilo in ga vizualno primerjate.","step2-text-tcp":"Ta korak lahko preskočite, če ne želite uporabljati TLS.",step3:"3","step3-text":"Preverite povezavo in dodajte strežnik.",step4:"4","step4-text":"Znova zaženite denarnico. Če ne odstranite privzetih strežnikov, bo vaše lastno vozlišče dodano kot redundančno.","title-btc":"Strežniki Bitcoin Electrum-a","title-ltc":"Strežniki Litecoin Electrum-a","title-tbtc":"Strežniki Bitcoin Testnet Electrum-a","title-tltc":"Strežniki Litecoin Testnet Electrum-a"},expert:{coinControl:"Omogoči nadzor nad kovanci (Coin control)",electrum:{description:"Povežete lahko svoje Electrum vozlišče.",title:"Povežite svoje polno vozlišče"},fee:"Omogoči provizije po meri",setProxyAddress:"Nastavite naslov proxy strežnika",title:"Napredne nastavitve",useProxy:"Omogoči tor proxy",useSats:"Prikaži vrednosti v Satoshi-jih"},header:{home:"Domov"},info:{"out-of-date":"Na voljo je nova nadgradnja",title:"Info","up-to-date":"Aplikacija je posodobljena",version:"Verzija aplikacije"},restart:"Znova zaženite BitBoxApp, da spremembe začnejo veljati.",services:{title:"Storitve"},success:"Iztaknite in ponovno vtaknite BitBox v USB, da začnejo veljati ustvarjene spremembe.",title:"Nastavitve"},tq="Nastavitev naprave",nq={buy:"Kupite kripto",device:"Upravljanje naprave",leave:"Zapusti",settings:"Nastavitve"},aq={create:{info1:`Vaša denarnica je arhivirana na microSD kartico. -Odstranite jo in jo varno shranite.`,info2:"Ustvarili ste varno geslo, ki odklene BitBox.",info3:"Ustvarili ste varno geslo za obnovitev denarnice, ki odklene sredstva in obnovi varnostne kopije.",summary:"Preberite povzetek storjenega:",title:"Uspelo je!"},getstarted:"Začnite",restore:{summary:"Uspešno ste obnovili denarnico.",title:"Uspelo je!"}},iq={confirmation:"Št. potrditev",details:{activity:"Dejavnost",address:"Naslov",amount:"Znesek",date:"Datum",fiat:"V fiat valuti",fiatAmount:"Znesek v fiat valuti",fiatAtTime:"Vrednost v času transakcije",status:"Stanje",type:"Tip"},explorer:"ID transakcije",explorerTitle:"Odpri v zunanjem raziskovalcu",fee:"Omrežnina",fiatHistorical:"Zgodovinsko",gas:"Gas",note:{edit:"Uredi opombo",save:"Shrani opombo"},pending:"Nedokončana transakcija",size:"Velikost",status:{complete:"Zaključeno",failed:"Ni uspelo",pending:"V teku"},tx:{received:"Prejeto na",sent:"Poslano na"},vsize:"Virtualna velikost",weight:"Utež"},oq={errorLoadTransactions:"Napaka pri nalaganju transakcij.",placeholder:"Ni transakcij."},rq="Prišlo je do neznane napake: {{errorMessage}}",sq={description:"Vnesite geslo, da odklenete napravo.",error:{e109_normal:"Napačno geslo naprave. Št. poskusov pred ponastavitvijo naprave: {{remainingAttempts}}",e109_touch:"$t(unlock.error.e109_normal) Naslednja prijava zahteva daljše držanje gumba na dotik.",e113:"Zaradi prevelikega števila poskusov prijave, morate za novo prijavo pridržati tipko za dotik vsaj 4 sekunde."},input:{label:"Geslo naprave",placeholder:"...vnesite tukaj."},unlocking:"Odklepanje..."},lq={button:"Nadgradite strojno programsko opremo",description:"Ali želite nadgraditi strojno programsko opremo iz različice {{currentVersion}} na {{newVersion}}?",label:"Vaš BitBox zahteva nadgradnjo strojne programske opreme.",locked:"Za nadgradnjo z {{currentVersion}} na {{newVersion}}, izvedite dolg pritisk na LED lučko.",title:"Nadgradite strojno programsko opremo",unlocked:"Zaganjalnik (bootloader) je odklenjen. Če želite nadaljevati:",unlocked1:"Iztaknite in ponovno priključite svoj Bitbox",unlocked2:"Ko bo BitBox01 ponovno priključen bo zasvetila LED lučka",unlocked3:"Ko zasveti LED lučka, se jo dotaknite"},cq={connect:{button:"Poveži",dappLabel:"Vnesi URI naslov za DApp",invalidPairingUri:"Napačen povezovalni URI"},dashboard:{allSessions:"Vse seje",disclaimer:"WalletConnect je protokol za povezavo z decentraliziranimi avtonomnimi aplikacijami (Dapps), ki temeljijo na Ethereumu. Te Dapps-e upravljajo tretje oseb (in ne Shift Crypto ali WalletConnect), zato se povežite le s tistimi, ki jim zaupate, in se prepričajte, da vedno veste, kaj podpisujete, ko opravljate transakcijo.",newConnection:"Nova povezava",noConnectedSessions:"Noben račun ni povezan s katero od DApp-ov"},invalidPairingChain:"Napaka pri potrditvi povezave. Prepričajte se, da uporabljate eno od podprtih verig: {{chains}}",pairingRequest:{approve:"Potrdi povezavo",reject:"Zavrni",title:"Zahteva za novo povezavo od"},pairingSuccess:"DApp je uspešno povezana. Nadaljujete lahko na spletni strani te DApp.",signingRequest:{account:"Račun",chain:"Omrežje",dapp:"Dapp",data:"Podatki",dataParsingError:"Podatkov nismo uspeli razčleniti",decodeError:"Sporočila nismo uspeli dekodirati",method:{sendTransaction:"Podpiši in pošlji transakcijo",signMessage:"Podpiši sporočilo",signTransaction:"Podpiši transakcijo",signTypedData:"Podpiši vnesene podatke"},successfullySigned:"Zahteva je uspešno podpisana",walletConnectRequest:"WalletConnect zahteva "},useNewUri:"Ta URI je bil že uporabljen za poskus vzpostavitve povezave. Uporabite nov URI.",walletConnect:"WalletConnect"},uq={receivePairing:"Prosimo, da seznanite BitBox01 s pametnim telefonom, da si omogočite varno preverjanje naslovov. Pojdite na »Upravljanje naprave« v stranski vrstici.",sdcard:"MicroSD kartico hranite ločeno od BitBoxa, razen ko upravljate z varnostnimi kopijami.",sendPairing:`Za varno preverjanje podrobnosti o transakcijah seznanite BitBox -z mobilno napravo. Pojdite na »Upravljanje naprave« v stranski vrstici.`},dq={connect:"Vklopi BitBox02",getStarted:"Začnimo z namestitvijo strojne programske opreme (firmware)",insertBitBox02:"Na BitBox02 se dotaknite željene strani zaslona. ",insertDevice:"Za začetek, priključite denarnico",title:"Dobrodošli"},pq={account:QU,accountInfo:YU,accountSummary:ZU,addAccount:JU,aopp:XU,app:e6,auth:t6,backup:n6,bb02Bootloader:a6,bitbox:i6,bitbox02Interact:o6,bitbox02Settings:r6,bitbox02Wizard:s6,blink:l6,bootloader:c6,button:u6,buy:d6,changePin:p6,chart:h6,checkSDcard:m6,clickHere:f6,confirm:g6,confirmOnDevice:v6,connectKeystore:b6,darkmode:k6,device:x6,deviceLock:y6,deviceSettings:w6,deviceTampered:j6,dialog:B6,error:S6,fiat:z6,footer:C6,generic:D6,genericError:A6,goal:_6,guide:T6,headerssync:E6,hiddenWallet:P6,initialize:N6,invalidFormat:L6,language:I6,legacyhiddenwallet:$6,loading:M6,manageAccounts:O6,mobile:R6,newSettings:F6,note:V6,notification:W6,pairing:U6,passphrase:q6,password:H6,random:K6,receive:G6,reset:Q6,securityInformation:Y6,seed:Z6,seedRestore:J6,send:X6,settings:eq,setup:tq,sidebar:nq,success:aq,transaction:iq,transactions:oq,unknownError:rq,unlock:sq,upgradeFirmware:lq,walletConnect:cq,warning:uq,welcome:dq},hq={disconnect:"...החיבור אבד. מנסה שוב",export:"ייצוא",exportTransactions:"יצא עסקאות כקובץ רשומות לתיקיית ההורדות",fatalError:".אירעה שגיאה לא צפויה",incoming:"נכנס",initializing:"מייבא נתונים מהבלוקצ׳יין..",reconnecting:"...החיבור אבד, מנסה להתחבר מחדש",syncedAddressesCount:"כתובות {{count}} סורק"},mq={address:"כתובת",extendedPublicKey:"מפתח ציבורי מורחב",label:"פרטי חשבון",title:"פרטי חשבון",verify:"אמת עם ההתקן"},fq={availableBalance:"יתרה זמינה",balance:"יתרה",exportSummary:"ייצא סיכום חשבונות כקובץ רשומות לתיקיית ההורדות",fiatBalance:"יתרה במטבע פיאט",name:"שם חשבון",noAccount:"אין חשבונות להצגה",title:"סיכום חשבונות",total:"סכום סופי",transactionHistory:"היסטוריית עסקאות"},gq={title:"הוספת חשבון"},vq={upgrade:"גרסה חדשה של תכנה זו זמינה! אנא עדכן מ{{current}} ל{{version}}"},bq={check:{checking:"...בודק גיבוי",confirmTitle:"בדיקת גיבוי",notOK:".הגיבוי לא תואם את הארנק",ok:".הגיבוי תואם את הארנק",password:{label:"סיסמת שיחזור",placeholder:"סיסמת שיחזור",showLabel:"סיסמת שיחזור"},success:":גיבוי אומת בהצלחה",title:"בדיקת גיבוי"},create:{alreadyExists:"?ברשותך גיבוי תקין. האם ליצור חדש כעת",fail:"!יצירת הגיבוי לא הצליחה",info:".אנא הזן את סיסמת הגיבוי של ארנק זה לצורך אימות",name:{label:"שם הגיבוי",placeholder:"אנא תן שם לגיבוי"},password:{label:"סיסמת שיחזור",placeholder:"אנא הזן את סיסמת שיחזור"},title:"יצירת גיבוי",verificationFailed:".סיסמת השחזור אינה תואמת את הארנק הנוכחי. גיבוי נוצר. אנא בדוק את סיסמת השיחזור שוב"},description:"בחר קובץ גיבוי לארנק",insert:"אנא הכנס כרטיס זיכרון בכדי לנהל גיבויים",insertButton:"הכנסתי את כרטיס הזיכרון",list:"גיבויי כרטיס הזיכרון שלך",noBackups:"כרטיס הזיכרון אינו מכיל גיבויים",restore:{confirmTitle:"שיחזור גיבוי",error:{e200:"כרטיס זיכרון לא נמצא",general:"שגיאה בשיחזור הגיבוי"},password:{label:"סיסמת שיחזור או סיסמת שיחזור מוסתרת",placeholder:"סיסמת שיחזור",repeatPlaceholder:"חזור פעם נוספת על סיסמת השיחזור",showLabel:"סיסמת שיחזור"},restoring:"...משחזר גיבוי",title:"שיחזור",understand:"אני מבין שסיסמת שחזור שגויה תיצור ארנק שונה"},showMnemonic:{description:`.כעת יוצגו 24 מילים, המייצגות גיבוי לארנק. רשום אותם על דף נייר +Poleg tega lahko z uporabo več geselskih fraz na enem BitBox-u upravljate mnogo med seboj ločenih denarnic!`,title:"Zakaj uporabiti geselsko frazo?"}},Hq={show:"Prikaži {{label}}",warning:{caps:"OPOZORILO: Vklopljene imate VELIKE ČRKE (⇪)",paste:'da prilepite besedilo, omogočite "PRIKAŽI {{label}}"'}},Kq={button:"Ustvari naključno število",description:"BitBox je ustvaril {{bits}}-bitno naključno število:"},Gq={changeScriptType:"Spremenite tip naslova",label:"Vaš naslov",onlyThisCoin:{description:"Če želite prejemati druge podprte žetone, jih omogočite v nastavitvah. Če na naslove, ki so na voljo nakažete/pošljete nepodprte žetone, zelo verjetno ne bodo vidni/ dostopni.",warning:"Prepričajte se, da na ta naslov prejemate le {{coinName}}."},scriptType:{p2tr:"Taproot (najnovejša oblika)",p2wpkh:"Native Segwit (privzeto)","p2wpkh-p2sh":"Wrapped Segwit (starejši tip)"},selectAccount:"Izberite račun",showFull:"Pokaži in preveri polni naslov na napravi",taprootWarning:"Opomba: Taproot je nov tip Bitcoin naslova, ki ni še povsod podprt. Sredstva, prejeta na Taproot naslov, morda ne bodo vidna v drugih denarnicah s katerim dostopate do svoje naprave. Številne denarnice in menjalnice še niso zmožne poslati na Taproot naslove.",title:"Prejmi {{accountName}}",verify:"Skrbno preverite naslov",verifyBitBox01:"Preverite naslov v mobilni aplikaciji",verifyBitBox02:"Preverite naslov na BitBox02",verifyInstruction:"Preverite, da se prikazan naslov ujema s tistim, ki je prikazan na BitBoxu in to potrdite na napravi.",warning:{secureOutput:"Prosimo, uparite BitBox z mobilno aplikacijo, da omogočite varno preverjanje naslovov. Pojdite na »Upravljanje naprave« v stranski vrstici."}},Qq={description:"Vsi podatki na napravi bodo izbrisani. To vključuje vaš zasebni ključ!",notReset:"Naprava NI ponastavljena.",title:"Ponastavi napravo (reset)",understand:"Imam varnostno kopijo in poznam geslo za njeno obnovitev",understandBB02:"Imam veljavno varnostno kopijo"},Yq={create:{description1:"Priporočamo, da prvo nastavitev naprave izvedete v varnem okolju, kjer vas nihče ne opazuje in ne more beležiti vnašanja gesla.",description2:"Od vas se bo zahtevalo, da ustvarite dve gesli.",description3:"Prvo je geslo naprave, ki odklene vaš BitBox (napravo). Pozneje ga lahko spremenite.",description4:"Drugo je geslo za obnovitev, ki odklene vašo denarnico. Tega gesla kasneje ni mogoče spremeniti!",description5:"Ko ustvarite denarnico, bo ta shranjena v datoteko na microSD kartico. To lahko uporabite v nujnih primerih za povrnitev sredstev s pomočjo gesla za obnovitev.",title:"Pomembne informacije"},restore:{description1:"Vstaviti boste morali microSD kartico, ki ste jo uporabili za shranjevanje varnostne kopije.",description2:"Če želite obnoviti denarnico, boste potrebovali geslo za obnovitev.",description3:"Bodite previdni in natančni pri vnosu gesla. Vsako geslo, ki ga vnesete, bo ustvarilo novo veljavno denarnico. Če vnesete napačno geslo, se vam bo verjetno prikazalo stanje denarnice, ki ga ne pričakujete.",title:"Varnostne informacije"}},Zq={agreements:{"funds-access":"da ostanem BREZ DOSTOPA do svojih sredstev, če pozabim to geslo!","password-change":"pozneje NI MOŽNO spremeniti gesla za obnovitev!","password-required":"Obnovitveno geslo je potrebno za obnovitev denarnice iz varnostne kopije"},create:"Ustvari denarnico",creating:"Ustvarjanje denarnice",description:"Razumem da:",error:{e102:"Geslo mora vsebovati najmanj 4 znake.",e200:"Za kreiranje nove denarnice morate v BitBox vstaviti microSD kartico. S tem omogočite samodejno kreiranje varnostne kopije."},info:{button:"Zdaj nastavite geslo za obnovo denarnice",description1:"Vstavite microSD kartico v BitBox",description2:'Ustvarite geslo za obnovitev denarnice in izberite "Nastavi geslo za obnovitev"',description3:"Varnostna kopija na microSD kartici in geslo za obnovitev je edina metoda za povrnitev sredstev v primeru izgubljenega, uničenega ali ukradene denarnice BitBox01.",description4:"Pozneje ni možno spremeniti gesla za obnovitev brez prenosa sredstev.",title:"Ustvarite novo denarnico"},password:{label:"Geslo za obnovitev",repeatPlaceholder:"Ponovite geslo za obnovitev"},walletName:{label:"Ime denarnice"}},Jq={error:{e200:"Obnova oz. priklic denarnice iz varnostne kopije zahteva microSD kartico."},info:{description1:'Vstavite microSD kartico v BitBox in kliknite "Nadaljujte"',description2:"Izberite varnostno kopijo in kliknite »Obnovi«",description3:"Vnesite geslo za obnovo",description4:"Potrdite, da razumete, da bo napačno geslo ustvarilo drugo, novo denarnico.",title:"Kako obnoviti denarnico iz varnostne kopije"}},Xq={abort:"Transakcija je bila prekinjena.",address:{label:"Naslov prejemnika",placeholder:"Vnesite naslov"},amount:{label:"Znesek",placeholder:"Vnesite znesek"},availableBalance:"Razpoložljivo stanje",button:"Podpiši in pošlji",coincontrol:{address:"Naslov",outpoint:"",title:"Pošlji iz (output):"},confirm:{"selected-coins":"Izbrani kovanci",title:"Potrdite in pošljite transakcijo",total:"Skupaj"},error:{erc20InsufficientGasFunds:"Kot kaže na vašem računu ni dovolj ETH za plačilo transakcije za premik ERC02 žetona. Poskrbite za zadostno količino ETH na vašem Ethereum računu.",feeTooLow:"Omrežnina je prenizka",feesNotAvailable:"Provizije ni moč oceniti",insufficientFunds:"nezadostna sredstva",invalidAddress:"neveljaven naslov",invalidAmount:"neveljaven znesek",invalidData:"neveljavni podatki"},fee:{customPlaceholder:"Vnesite znesek",label:"Omrežnina",placeholder:"Ni na voljo"},feeTarget:{customLabel:"Stopnja provizije",customLabel_eth:"Vrednost Gas-a",description:{economy:"4 ure (24 blokov)",economy_eth:"30 minut ali manj",economy_ltc:"1 ura (24 blokov)",high:"20 minut (2 bloka)",high_eth:"30 sekund ali manj",high_ltc:"5 minut (2 bloka)",low:"2 uri (12 blokov)",low_eth:"5 minut ali manj",low_ltc:"30 minut (12 blokov)",normal:"1 ura (6 blokov)",normal_eth:"2 minuti ali manj",normal_ltc:"15 minut (6 blokov)"},estimate:"Predviden čas potrditve:",label:{custom:"Po meri",economy:"Ekonomična",high:"Visoka",low:"Nizka",normal:"Normalna"},placeholder:"Preračunavam..."},maximum:"Pošlji vse",maximumSelectedCoins:"Pošlji izbrane kovance",noFeeTargets:"Generirane provizije trenutno niso dostopne. Prosimo poizkusite ponovno ali vnesite poljubno višino provizije.",priority:"Omrežnina",scanQR:"Skenirajte QR kodo",signprogress:{description:"Ta transakcija vsebuje veliko podatkov. Če želite v celoti podpisati transakcijo, boste morali potrditi {{steps}} krat.",label:"V teku"},success:"Transakcija je bila podpisana in poslana.",title:"Pošlji {{accountName}}",toggleCoinControl:"Odpri nadzor nad kovanci",transactionDetails:"Podrobnosti transakcije"},e6={about:"O nastavitvah",accounts:"Računi",advancedSettings:"Napredne nastavitve",appearance:"Izgled",electrum:{add:"Dodaj strežnik","add-server":"Dodaj",check:"Preveri",checkFailed:"Ni uspelo",checkSuccess:"Uspelo je vzpostaviti povezavo do {{host}}",checking:"Preverjam","download-cert":"Prenesite oddaljeni certifikat","remove-server":"Odstrani",removeConfirm:"Odstrani {{server}}?",reset:"Ponastavi na privzeto",resetConfirm:"Ali želite odstraniti vse strežnike in namestiti privzete strežnike?",servers:"Strežniki",step1:"1","step1-text":"Vnesite končno točko.",step2:"2","step2-text":"Vnesite certifikat strežniške verige potrdil. Lahko pa prenesete oddaljeno potrdilo in ga vizualno primerjate.","step2-text-tcp":"Ta korak lahko preskočite, če ne želite uporabljati TLS.",step3:"3","step3-text":"Preverite povezavo in dodajte strežnik.",step4:"4","step4-text":"Znova zaženite denarnico. Če ne odstranite privzetih strežnikov, bo vaše lastno vozlišče dodano kot redundančno.","title-btc":"Strežniki Bitcoin Electrum-a","title-ltc":"Strežniki Litecoin Electrum-a","title-tbtc":"Strežniki Bitcoin Testnet Electrum-a","title-tltc":"Strežniki Litecoin Testnet Electrum-a"},expert:{coinControl:"Omogoči nadzor nad kovanci (Coin control)",electrum:{description:"Povežete lahko svoje Electrum vozlišče.",title:"Povežite svoje polno vozlišče"},fee:"Omogoči provizije po meri",setProxyAddress:"Nastavite naslov proxy strežnika",title:"Napredne nastavitve",useProxy:"Omogoči tor proxy",useSats:"Prikaži vrednosti v Satoshi-jih"},header:{home:"Domov"},info:{"out-of-date":"Na voljo je nova nadgradnja",title:"Info","up-to-date":"Aplikacija je posodobljena",version:"Verzija aplikacije"},restart:"Znova zaženite BitBoxApp, da spremembe začnejo veljati.",services:{title:"Storitve"},success:"Iztaknite in ponovno vtaknite BitBox v USB, da začnejo veljati ustvarjene spremembe.",title:"Nastavitve"},t6="Nastavitev naprave",n6={buy:"Kupite kripto",device:"Upravljanje naprave",leave:"Zapusti",settings:"Nastavitve"},a6={create:{info1:`Vaša denarnica je arhivirana na microSD kartico. +Odstranite jo in jo varno shranite.`,info2:"Ustvarili ste varno geslo, ki odklene BitBox.",info3:"Ustvarili ste varno geslo za obnovitev denarnice, ki odklene sredstva in obnovi varnostne kopije.",summary:"Preberite povzetek storjenega:",title:"Uspelo je!"},getstarted:"Začnite",restore:{summary:"Uspešno ste obnovili denarnico.",title:"Uspelo je!"}},i6={confirmation:"Št. potrditev",details:{activity:"Dejavnost",address:"Naslov",amount:"Znesek",date:"Datum",fiat:"V fiat valuti",fiatAmount:"Znesek v fiat valuti",fiatAtTime:"Vrednost v času transakcije",status:"Stanje",type:"Tip"},explorer:"ID transakcije",explorerTitle:"Odpri v zunanjem raziskovalcu",fee:"Omrežnina",fiatHistorical:"Zgodovinsko",gas:"Gas",note:{edit:"Uredi opombo",save:"Shrani opombo"},pending:"Nedokončana transakcija",size:"Velikost",status:{complete:"Zaključeno",failed:"Ni uspelo",pending:"V teku"},tx:{received:"Prejeto na",sent:"Poslano na"},vsize:"Virtualna velikost",weight:"Utež"},o6={errorLoadTransactions:"Napaka pri nalaganju transakcij.",placeholder:"Ni transakcij."},r6="Prišlo je do neznane napake: {{errorMessage}}",s6={description:"Vnesite geslo, da odklenete napravo.",error:{e109_normal:"Napačno geslo naprave. Št. poskusov pred ponastavitvijo naprave: {{remainingAttempts}}",e109_touch:"$t(unlock.error.e109_normal) Naslednja prijava zahteva daljše držanje gumba na dotik.",e113:"Zaradi prevelikega števila poskusov prijave, morate za novo prijavo pridržati tipko za dotik vsaj 4 sekunde."},input:{label:"Geslo naprave",placeholder:"...vnesite tukaj."},unlocking:"Odklepanje..."},l6={button:"Nadgradite strojno programsko opremo",description:"Ali želite nadgraditi strojno programsko opremo iz različice {{currentVersion}} na {{newVersion}}?",label:"Vaš BitBox zahteva nadgradnjo strojne programske opreme.",locked:"Za nadgradnjo z {{currentVersion}} na {{newVersion}}, izvedite dolg pritisk na LED lučko.",title:"Nadgradite strojno programsko opremo",unlocked:"Zaganjalnik (bootloader) je odklenjen. Če želite nadaljevati:",unlocked1:"Iztaknite in ponovno priključite svoj Bitbox",unlocked2:"Ko bo BitBox01 ponovno priključen bo zasvetila LED lučka",unlocked3:"Ko zasveti LED lučka, se jo dotaknite"},c6={connect:{button:"Poveži",dappLabel:"Vnesi URI naslov za DApp",invalidPairingUri:"Napačen povezovalni URI"},dashboard:{allSessions:"Vse seje",disclaimer:"WalletConnect je protokol za povezavo z decentraliziranimi avtonomnimi aplikacijami (Dapps), ki temeljijo na Ethereumu. Te Dapps-e upravljajo tretje oseb (in ne Shift Crypto ali WalletConnect), zato se povežite le s tistimi, ki jim zaupate, in se prepričajte, da vedno veste, kaj podpisujete, ko opravljate transakcijo.",newConnection:"Nova povezava",noConnectedSessions:"Noben račun ni povezan s katero od DApp-ov"},invalidPairingChain:"Napaka pri potrditvi povezave. Prepričajte se, da uporabljate eno od podprtih verig: {{chains}}",pairingRequest:{approve:"Potrdi povezavo",reject:"Zavrni",title:"Zahteva za novo povezavo od"},pairingSuccess:"DApp je uspešno povezana. Nadaljujete lahko na spletni strani te DApp.",signingRequest:{account:"Račun",chain:"Omrežje",dapp:"Dapp",data:"Podatki",dataParsingError:"Podatkov nismo uspeli razčleniti",decodeError:"Sporočila nismo uspeli dekodirati",method:{sendTransaction:"Podpiši in pošlji transakcijo",signMessage:"Podpiši sporočilo",signTransaction:"Podpiši transakcijo",signTypedData:"Podpiši vnesene podatke"},successfullySigned:"Zahteva je uspešno podpisana",walletConnectRequest:"WalletConnect zahteva "},useNewUri:"Ta URI je bil že uporabljen za poskus vzpostavitve povezave. Uporabite nov URI.",walletConnect:"WalletConnect"},u6={receivePairing:"Prosimo, da seznanite BitBox01 s pametnim telefonom, da si omogočite varno preverjanje naslovov. Pojdite na »Upravljanje naprave« v stranski vrstici.",sdcard:"MicroSD kartico hranite ločeno od BitBoxa, razen ko upravljate z varnostnimi kopijami.",sendPairing:`Za varno preverjanje podrobnosti o transakcijah seznanite BitBox +z mobilno napravo. Pojdite na »Upravljanje naprave« v stranski vrstici.`},d6={connect:"Vklopi BitBox02",getStarted:"Začnimo z namestitvijo strojne programske opreme (firmware)",insertBitBox02:"Na BitBox02 se dotaknite željene strani zaslona. ",insertDevice:"Za začetek, priključite denarnico",title:"Dobrodošli"},p6={account:QU,accountInfo:YU,accountSummary:ZU,addAccount:JU,aopp:XU,app:eq,auth:tq,backup:nq,bb02Bootloader:aq,bitbox:iq,bitbox02Interact:oq,bitbox02Settings:rq,bitbox02Wizard:sq,blink:lq,bootloader:cq,button:uq,buy:dq,changePin:pq,chart:hq,checkSDcard:mq,clickHere:fq,confirm:gq,confirmOnDevice:vq,connectKeystore:bq,darkmode:kq,device:xq,deviceLock:yq,deviceSettings:wq,deviceTampered:jq,dialog:Bq,error:Sq,fiat:zq,footer:Cq,generic:Dq,genericError:Aq,goal:_q,guide:Tq,headerssync:Eq,hiddenWallet:Pq,initialize:Nq,invalidFormat:Lq,language:Iq,legacyhiddenwallet:$q,loading:Mq,manageAccounts:Oq,mobile:Rq,newSettings:Fq,note:Vq,notification:Wq,pairing:Uq,passphrase:qq,password:Hq,random:Kq,receive:Gq,reset:Qq,securityInformation:Yq,seed:Zq,seedRestore:Jq,send:Xq,settings:e6,setup:t6,sidebar:n6,success:a6,transaction:i6,transactions:o6,unknownError:r6,unlock:s6,upgradeFirmware:l6,walletConnect:c6,warning:u6,welcome:d6},h6={disconnect:"...החיבור אבד. מנסה שוב",export:"ייצוא",exportTransactions:"יצא עסקאות כקובץ רשומות לתיקיית ההורדות",fatalError:".אירעה שגיאה לא צפויה",incoming:"נכנס",initializing:"מייבא נתונים מהבלוקצ׳יין..",reconnecting:"...החיבור אבד, מנסה להתחבר מחדש",syncedAddressesCount:"כתובות {{count}} סורק"},m6={address:"כתובת",extendedPublicKey:"מפתח ציבורי מורחב",label:"פרטי חשבון",title:"פרטי חשבון",verify:"אמת עם ההתקן"},f6={availableBalance:"יתרה זמינה",balance:"יתרה",exportSummary:"ייצא סיכום חשבונות כקובץ רשומות לתיקיית ההורדות",fiatBalance:"יתרה במטבע פיאט",name:"שם חשבון",noAccount:"אין חשבונות להצגה",title:"סיכום חשבונות",total:"סכום סופי",transactionHistory:"היסטוריית עסקאות"},g6={title:"הוספת חשבון"},v6={upgrade:"גרסה חדשה של תכנה זו זמינה! אנא עדכן מ{{current}} ל{{version}}"},b6={check:{checking:"...בודק גיבוי",confirmTitle:"בדיקת גיבוי",notOK:".הגיבוי לא תואם את הארנק",ok:".הגיבוי תואם את הארנק",password:{label:"סיסמת שיחזור",placeholder:"סיסמת שיחזור",showLabel:"סיסמת שיחזור"},success:":גיבוי אומת בהצלחה",title:"בדיקת גיבוי"},create:{alreadyExists:"?ברשותך גיבוי תקין. האם ליצור חדש כעת",fail:"!יצירת הגיבוי לא הצליחה",info:".אנא הזן את סיסמת הגיבוי של ארנק זה לצורך אימות",name:{label:"שם הגיבוי",placeholder:"אנא תן שם לגיבוי"},password:{label:"סיסמת שיחזור",placeholder:"אנא הזן את סיסמת שיחזור"},title:"יצירת גיבוי",verificationFailed:".סיסמת השחזור אינה תואמת את הארנק הנוכחי. גיבוי נוצר. אנא בדוק את סיסמת השיחזור שוב"},description:"בחר קובץ גיבוי לארנק",insert:"אנא הכנס כרטיס זיכרון בכדי לנהל גיבויים",insertButton:"הכנסתי את כרטיס הזיכרון",list:"גיבויי כרטיס הזיכרון שלך",noBackups:"כרטיס הזיכרון אינו מכיל גיבויים",restore:{confirmTitle:"שיחזור גיבוי",error:{e200:"כרטיס זיכרון לא נמצא",general:"שגיאה בשיחזור הגיבוי"},password:{label:"סיסמת שיחזור או סיסמת שיחזור מוסתרת",placeholder:"סיסמת שיחזור",repeatPlaceholder:"חזור פעם נוספת על סיסמת השיחזור",showLabel:"סיסמת שיחזור"},restoring:"...משחזר גיבוי",title:"שיחזור",understand:"אני מבין שסיסמת שחזור שגויה תיצור ארנק שונה"},showMnemonic:{description:`.כעת יוצגו 24 מילים, המייצגות גיבוי לארנק. רשום אותם על דף נייר אל תאחסן אותם ברשת או תצלם אותם אל תאמר מילים אלו בקול הגיבוי אינו מאובטח בסיסמה -.לאחר מכן, תתבקש לאשר כל מילה`,title:"mnemonic seed -הצג"},title:"נהל גיבויים"},kq={abort:"אל תשדרג - קח אותי חזרה",advanced:{label:"הגדרות מתקדמות",toggleShowFirmwareHash:"הצג את גיבוב הקושחה בכל הדלקה "},flipscreen:"הפוך מסך",orientation:"?ההתקן מכוון בכיוון שגוי",success:"...עדכון צלח! ממשיך בעוד {{rebootSeconds}} שניות"},xq={error:{e10000:".סיסמה שגויה עבור התקן נוכחי",e10001:"החלפת סיסמת התקן נכשלה",e102:".הסיסמה חייבת להיות בת 4 תווים לפחות",e112:".סיסמת התקן חבויה לא יכולה להיות זהה לסיסמת התקן ראשית"}},yq={confirmDate:"אשר את התאריך של היום בביטבוקס02",confirmDateText:".התאריך ישמש ליצירת הגיבוי",confirmName:"אשר את השם בביטבוקס02",followInstructions:"אנא התקדם לפי הוראות בביטבוקס02",followInstructionsMnemonic:"mnemonic seed -המשך עם ההוראות לפי המופיע בביטבוקס02 שלך כדי לשחזר מ"},wq={deviceName:{current:"שם התקן נוכחי",input:"שם ביטבוקס02",placeholder:"שם התקן חדש",title:"קבע שם לביטבוקס02"}},jq={attestationFailed:".תעודת ההתקן נכשלה, זה יכול לנבוע מההפעלה מחודשת של היישום בזמן שהמכשיר חיכה לקלט מהמשתמש. התחבר מחדש ונסה שוב",backup:{point1:"בחר גיבוי מכרטיס הזיכרון",point2:"קבע סיסמה להתקן",restoreText:"!אוקי, משחזר מהגיבוי",text1:".נהדר, הסיסמה לביטבוקס02 נקבעה והארנק נוצר. כעת זה הזמן ליצור את הגיבוי הראשון. אנא וודא שכרטיס הזיכרון נמצא בתוך הביטבוקס02 ולאחר-מכן המשך",text2:"אנא עקוב אחר ההוראות המופיעות על גבי מסך ההתקן בכדי ליצור גיבוי",text3:".לאחר שהגיבוי נוצר, אנא הסר את כרטיס הזיכרון ואחסן את זה במקום בטוח. המידע המוכל בכרטיס הזיכרון אינו מוגן בסיסמה. לעולם אל תכניס את כרטיס הזיכרון לביטבוקס02 שאינו שלך",userConfirmation1:".אני אמור לשמור על הגיבוי במקום מאובטח",userConfirmation2:".הגיבוי שלי אינו מוגן בסיסמה. כל אחד עם גישה לגיבוי יכול לגשת לארנק שלי",userConfirmation3:".אם אאבד או שהביטבוקס02 יפגע, הדרך היחידה לשחזר את הנכסים היא באמצעות הגיבוי שלי",userConfirmation4:".אם אאבד או יפגעו, ביטבוקס02 והגיבוי, כל הנכסים יאבדו",userConfirmation5:"אני לא אמור להכניס את כרטיס הזיכרון לשום מחשב, פלאפון, מדפסת או מכשיר אחר מלבד לארנק"},create:{button:"הזן שם להתקן והמשך",info:":מספר צעדים בסיסיים בהגדרת ההתקן",inputTitle:"שם ארנק",point1:"הזן שם להתקן",point2:"הזן סיסמה להתקן",point3:"צור גיבוי",text:"!אוקיי, בואו ניצור ארנק חדש"},createBackupFailed:".יצירת גיבוי נכשלה, נסה שוב",initialize:{passwordText:".עכשיו נקבע סיסמה להתקן. השתמש בחיישני הביטבוקס כדי לבחור סיסמה",passwordTitle:"קבע סיסמה לביטבוקס שלך",text:"צימוד התקן נוצר בהצלחה! כעת יש לאתחל את הביטבוקס02. התחל בבחירת יצירת ארנק חדש או שיחזור מתוך גיבוי קיים. אנא וודא כי הכנסת את כרטיס הזיכרון לביטבוקס02",tip:".אנו ממליצים שתמשיך במקום בטוח",title:"אתחל את ההתקן"},insertSDCard:"אנא וודא שכרטיס הזיכרון נמצא בתוך הביטבוקס02",noPasswordMatch:".סיסמאות לא תואמות, אנא נסה שוב",pairing:{failed:".צימוד לא אושר. חבר מחדש את הביטבוקס02",paired:".אישרת כי הצופן זהה בהתקן. אם זה נכון, אתה יכול להמשיך בלחיצה על הכפתור מטה",title:"אמת צופן צימוד",unpaired:".ביטבוקס02 חדש זוהה. אנא אמת שהצופן תואם לזה המוצג על המסך. אם הצופן זהה, גע בלחצן האישור ולחץ על הכפתור מטה כדי להמשיך"},restoreFromMnemonic:{failed:".נכשל, אנא נסה שוב mnemonic seed -שיחזור מ"},stepBackup:{beforeProceed:":לפני שתמשיך, אנא קרא את שיקולי האבטחה החשובים הבאים",createBackup:".גיבוי לא יווצר בכרטיס הזיכרון"},stepBackupSuccess:{fundsSafe:":על-מנת לאבטח את הנכסים, זכור",title:"!הגיבוי שוחזר"},stepConnected:{unlock:"הזן את סיסמת הביטבוקס02 כדי לבטל נעילה"},stepCreate:{nameLabel:"שם ביטבוקס02",namePlaceholder:"הביטבוקס02 שלי",title:"בחר שם לביטבוקס02",toastMicroSD:".אנא וודא כי כרטיס הזיכרון נמצא בתוך הביטבוקס02"},stepCreateSuccess:{removeMicroSD:".אנא הסר את כרטיס הזיכרון מהביטבוקס02 ואחסן אותו במקום בטוח",success:".יצרת בהצלחה גיבוי"},stepInsertSD:{insertSDCard:".אנא הכנס כרטיס זיכרון לתוך הביטבוקס02 כדי להמשיך",insertSDcardTitle:".הכנס כרטיס זיכרון"},stepPassword:{title:"קבע סיסמה לביטבוקס02",useControls:".השתמש בפקדים כדי לקבוע סיסמה לביטבוקס02"},stepUninitialized:{create:".אני מעוניין להגדיר ביטבוקס02 חדש",restore:".אני רוצה לשחזר את הארנק שלי מגיבוי",restoreMicroSD:"שחזר מכרטיס זיכרון",restoreMnemonic:"mnemonic seed -שיחזור",title:"הגדר את הביטבוקס02 שלך"},success:{text:`.הידד! הביטבוקס02 שלך מוכן לשימוש +.לאחר מכן, תתבקש לאשר כל מילה`,title:"mnemonic seed -הצג"},title:"נהל גיבויים"},k6={abort:"אל תשדרג - קח אותי חזרה",advanced:{label:"הגדרות מתקדמות",toggleShowFirmwareHash:"הצג את גיבוב הקושחה בכל הדלקה "},flipscreen:"הפוך מסך",orientation:"?ההתקן מכוון בכיוון שגוי",success:"...עדכון צלח! ממשיך בעוד {{rebootSeconds}} שניות"},x6={error:{e10000:".סיסמה שגויה עבור התקן נוכחי",e10001:"החלפת סיסמת התקן נכשלה",e102:".הסיסמה חייבת להיות בת 4 תווים לפחות",e112:".סיסמת התקן חבויה לא יכולה להיות זהה לסיסמת התקן ראשית"}},y6={confirmDate:"אשר את התאריך של היום בביטבוקס02",confirmDateText:".התאריך ישמש ליצירת הגיבוי",confirmName:"אשר את השם בביטבוקס02",followInstructions:"אנא התקדם לפי הוראות בביטבוקס02",followInstructionsMnemonic:"mnemonic seed -המשך עם ההוראות לפי המופיע בביטבוקס02 שלך כדי לשחזר מ"},w6={deviceName:{current:"שם התקן נוכחי",input:"שם ביטבוקס02",placeholder:"שם התקן חדש",title:"קבע שם לביטבוקס02"}},j6={attestationFailed:".תעודת ההתקן נכשלה, זה יכול לנבוע מההפעלה מחודשת של היישום בזמן שהמכשיר חיכה לקלט מהמשתמש. התחבר מחדש ונסה שוב",backup:{point1:"בחר גיבוי מכרטיס הזיכרון",point2:"קבע סיסמה להתקן",restoreText:"!אוקי, משחזר מהגיבוי",text1:".נהדר, הסיסמה לביטבוקס02 נקבעה והארנק נוצר. כעת זה הזמן ליצור את הגיבוי הראשון. אנא וודא שכרטיס הזיכרון נמצא בתוך הביטבוקס02 ולאחר-מכן המשך",text2:"אנא עקוב אחר ההוראות המופיעות על גבי מסך ההתקן בכדי ליצור גיבוי",text3:".לאחר שהגיבוי נוצר, אנא הסר את כרטיס הזיכרון ואחסן את זה במקום בטוח. המידע המוכל בכרטיס הזיכרון אינו מוגן בסיסמה. לעולם אל תכניס את כרטיס הזיכרון לביטבוקס02 שאינו שלך",userConfirmation1:".אני אמור לשמור על הגיבוי במקום מאובטח",userConfirmation2:".הגיבוי שלי אינו מוגן בסיסמה. כל אחד עם גישה לגיבוי יכול לגשת לארנק שלי",userConfirmation3:".אם אאבד או שהביטבוקס02 יפגע, הדרך היחידה לשחזר את הנכסים היא באמצעות הגיבוי שלי",userConfirmation4:".אם אאבד או יפגעו, ביטבוקס02 והגיבוי, כל הנכסים יאבדו",userConfirmation5:"אני לא אמור להכניס את כרטיס הזיכרון לשום מחשב, פלאפון, מדפסת או מכשיר אחר מלבד לארנק"},create:{button:"הזן שם להתקן והמשך",info:":מספר צעדים בסיסיים בהגדרת ההתקן",inputTitle:"שם ארנק",point1:"הזן שם להתקן",point2:"הזן סיסמה להתקן",point3:"צור גיבוי",text:"!אוקיי, בואו ניצור ארנק חדש"},createBackupFailed:".יצירת גיבוי נכשלה, נסה שוב",initialize:{passwordText:".עכשיו נקבע סיסמה להתקן. השתמש בחיישני הביטבוקס כדי לבחור סיסמה",passwordTitle:"קבע סיסמה לביטבוקס שלך",text:"צימוד התקן נוצר בהצלחה! כעת יש לאתחל את הביטבוקס02. התחל בבחירת יצירת ארנק חדש או שיחזור מתוך גיבוי קיים. אנא וודא כי הכנסת את כרטיס הזיכרון לביטבוקס02",tip:".אנו ממליצים שתמשיך במקום בטוח",title:"אתחל את ההתקן"},insertSDCard:"אנא וודא שכרטיס הזיכרון נמצא בתוך הביטבוקס02",noPasswordMatch:".סיסמאות לא תואמות, אנא נסה שוב",pairing:{failed:".צימוד לא אושר. חבר מחדש את הביטבוקס02",paired:".אישרת כי הצופן זהה בהתקן. אם זה נכון, אתה יכול להמשיך בלחיצה על הכפתור מטה",title:"אמת צופן צימוד",unpaired:".ביטבוקס02 חדש זוהה. אנא אמת שהצופן תואם לזה המוצג על המסך. אם הצופן זהה, גע בלחצן האישור ולחץ על הכפתור מטה כדי להמשיך"},restoreFromMnemonic:{failed:".נכשל, אנא נסה שוב mnemonic seed -שיחזור מ"},stepBackup:{beforeProceed:":לפני שתמשיך, אנא קרא את שיקולי האבטחה החשובים הבאים",createBackup:".גיבוי לא יווצר בכרטיס הזיכרון"},stepBackupSuccess:{fundsSafe:":על-מנת לאבטח את הנכסים, זכור",title:"!הגיבוי שוחזר"},stepConnected:{unlock:"הזן את סיסמת הביטבוקס02 כדי לבטל נעילה"},stepCreate:{nameLabel:"שם ביטבוקס02",namePlaceholder:"הביטבוקס02 שלי",title:"בחר שם לביטבוקס02",toastMicroSD:".אנא וודא כי כרטיס הזיכרון נמצא בתוך הביטבוקס02"},stepCreateSuccess:{removeMicroSD:".אנא הסר את כרטיס הזיכרון מהביטבוקס02 ואחסן אותו במקום בטוח",success:".יצרת בהצלחה גיבוי"},stepInsertSD:{insertSDCard:".אנא הכנס כרטיס זיכרון לתוך הביטבוקס02 כדי להמשיך",insertSDcardTitle:".הכנס כרטיס זיכרון"},stepPassword:{title:"קבע סיסמה לביטבוקס02",useControls:".השתמש בפקדים כדי לקבוע סיסמה לביטבוקס02"},stepUninitialized:{create:".אני מעוניין להגדיר ביטבוקס02 חדש",restore:".אני רוצה לשחזר את הארנק שלי מגיבוי",restoreMicroSD:"שחזר מכרטיס זיכרון",restoreMnemonic:"mnemonic seed -שיחזור",title:"הגדר את הביטבוקס02 שלך"},success:{text:`.הידד! הביטבוקס02 שלך מוכן לשימוש -.בשביל מידע נוסף כיצד להשתמש בתכנה, השתמש במדריך המובנה בלחיצת על כפתור השאלה בפינה הימנית העליונה`,title:"!אתה מוכן להמשיך"}},Bq={button:"הבהוב"},Sq={button:"שדרג קושחה עכשיו",progress:"%משדרג: {{progress}}",success:".שודרג בהצלחה! אנא חבר מחדש את ההתקן. הפעם, אל תגע בכפתור"},zq={abort:"בטל",back:"חזור",buy:"קנה",changepin:"החלף סיסמת התקן",check:"בדוק גיבוי",continue:"המשך",copy:"העתק",create:"צור",download:"הורד",hiddenwallet:"צור ארנק מוסתר",next:"הבא",ok:"בסדר",previous:"הקודם",receive:"קבל",restore:"שחזר",select:"בחר",send:"שלח",unlock:"בטל נעילה",update:"עדכן",upgrade:"שדרג"},Cq={title:"קנה {{name}}"},Dq={newTitle:"סיסמת התקן חדשה",oldLabel:"סיסמת התקן נוכחית"},Aq={dataMissing:"אנחנו עדיין אוספים נתונים, נסה בעוד מספר דקות פעם נוספת",dataUpdating:"...מעדכן נתונים",filter:{all:"הכל",month:"חודש",week:"שבוע",year:"שנה"}},_q="בודק כרטיס זיכרון",Tq=".לחץ כאן",Eq={abortInfo:"הקש כדי",abortInfoRedText:"לבטל",approveInfo:"החזק 4+ שניות כדי",approveInfoGreenText:"לאשר",info:".המשך בביטבוקס",infoWhenPaired:"תחילה במכשיר המוצמד ואז בביטבוקס"},Pq=".אנא אשר בהתקן שלך",Nq={appUpradeRequired:".הביטבוקס שלך אינו נתמך על-ידי היישום. הורד והתקן את הגרסה האחרונה"},Lq={button:"אשר אימות דו-שלבי",condition1:"?יש ברשותך גיבוי",condition2:"?האם האימות בידי היישום עובד",condition3:"אימות דו-שלבי משבית גיבויים וצימוד למכשיר נייד. ההתקן חייב להתאתחל בכדי לצאת מאימות דו-שלבי",confirm:"אפשר אימות דו-שלבי",title:"אפשר אימות דו-שלבי"},Iq={firmware:{newVersion:{label:"גרסה זמינה"},title:"קושחה",upToDate:"ההתקן שלך מעודכן",version:{label:"גרסה"}},hardware:{sdcard:{false:"לא הוכנס",label:"כרטיס זיכרון",true:"הכנס"},title:"תכנה"},loading:"מאחזר מידע על התקן",pairing:{lock:{false:"בטל",label:"אימות דו-שלבי",true:"אפשר"},mobile:{false:"סגור",label:"יישום נייד",true:"פתח"},status:{false:"לא צומד",label:"מצב",true:"צומד"},title:"מצמיד"},secrets:{manageBackups:"נהל גיבויים",title:"סודות"}},$q=".הביטבוקס שלך סופק עם סיסמת שיחזור? אם כן, עצור מיד את התהליך וצור קשר עם התמיכה. החברה לעולם לא תספק ארנק מוגדר או תמליץ על סיסמאות",Mq={cancel:"בטל",confirm:"אשר",confirmTitle:"אישור"},Oq={default:"ברירת מחדל",setDefault:"הגדר {{code}} כברירת מחדל",title:"מטבעות"},Rq={appVersion:"גרסת תכנה:"},Fq={enabled_false:"מושבת",enabled_true:"מופעל"},Vq="שגיאה התרחשה. אם אתה מבחין בחריגות, התחל מחדש את התכנה.",Wq={buttons:{create:"צור ארנק חדש",restore:"שחזר ארנק מגיבוי"},paragraph:"בחר אחת מהאפשרויות הבאות:",step:{1:{title:"מידע אודות אבטחה"},2:{description:"קבע סיסמת התקן",title:"התקן"},"3-create":{description:"צור ארנק חדש",title:"ארנק"},"3-restore":{description:"מגיבוי",title:"שיחזור"},"4-create":{title:"סיכום"},"4-restore":{title:"סיכום"}}},Uq={accountDescription:{text:".סקירת החשבון שלך מציגה את היתרה הזמינה שלך כמו גם עסקאות נכנסות ויוצאות. המדריך שלנו ב'הגדרות 'כולל מידע נוסף על כל סוג חשבון",title:"?מה עמוד זה מציג לי"},accountFiat:{text:".כן. לחץ על השער ההמרה כדי לעבור למטבע פיאט אחר. ניתן לשנות את רשימת המטבעות בהגדרות",title:"?האם אוכל להציג שיעורי המרה אחרים"},accountIncomingBalance:{text:".סכומים המתקבלים לארנק שלך אל טרם אושרו ברשת",title:"?למה הכוונה במתקבלים"},accountInfo:{xpub:{text:`.מפתח ציבורי מורחב הוא מקור כל כתובות הקבלה של המשתמש +.בשביל מידע נוסף כיצד להשתמש בתכנה, השתמש במדריך המובנה בלחיצת על כפתור השאלה בפינה הימנית העליונה`,title:"!אתה מוכן להמשיך"}},B6={button:"הבהוב"},S6={button:"שדרג קושחה עכשיו",progress:"%משדרג: {{progress}}",success:".שודרג בהצלחה! אנא חבר מחדש את ההתקן. הפעם, אל תגע בכפתור"},z6={abort:"בטל",back:"חזור",buy:"קנה",changepin:"החלף סיסמת התקן",check:"בדוק גיבוי",continue:"המשך",copy:"העתק",create:"צור",download:"הורד",hiddenwallet:"צור ארנק מוסתר",next:"הבא",ok:"בסדר",previous:"הקודם",receive:"קבל",restore:"שחזר",select:"בחר",send:"שלח",unlock:"בטל נעילה",update:"עדכן",upgrade:"שדרג"},C6={title:"קנה {{name}}"},D6={newTitle:"סיסמת התקן חדשה",oldLabel:"סיסמת התקן נוכחית"},A6={dataMissing:"אנחנו עדיין אוספים נתונים, נסה בעוד מספר דקות פעם נוספת",dataUpdating:"...מעדכן נתונים",filter:{all:"הכל",month:"חודש",week:"שבוע",year:"שנה"}},_6="בודק כרטיס זיכרון",T6=".לחץ כאן",E6={abortInfo:"הקש כדי",abortInfoRedText:"לבטל",approveInfo:"החזק 4+ שניות כדי",approveInfoGreenText:"לאשר",info:".המשך בביטבוקס",infoWhenPaired:"תחילה במכשיר המוצמד ואז בביטבוקס"},P6=".אנא אשר בהתקן שלך",N6={appUpradeRequired:".הביטבוקס שלך אינו נתמך על-ידי היישום. הורד והתקן את הגרסה האחרונה"},L6={button:"אשר אימות דו-שלבי",condition1:"?יש ברשותך גיבוי",condition2:"?האם האימות בידי היישום עובד",condition3:"אימות דו-שלבי משבית גיבויים וצימוד למכשיר נייד. ההתקן חייב להתאתחל בכדי לצאת מאימות דו-שלבי",confirm:"אפשר אימות דו-שלבי",title:"אפשר אימות דו-שלבי"},I6={firmware:{newVersion:{label:"גרסה זמינה"},title:"קושחה",upToDate:"ההתקן שלך מעודכן",version:{label:"גרסה"}},hardware:{sdcard:{false:"לא הוכנס",label:"כרטיס זיכרון",true:"הכנס"},title:"תכנה"},loading:"מאחזר מידע על התקן",pairing:{lock:{false:"בטל",label:"אימות דו-שלבי",true:"אפשר"},mobile:{false:"סגור",label:"יישום נייד",true:"פתח"},status:{false:"לא צומד",label:"מצב",true:"צומד"},title:"מצמיד"},secrets:{manageBackups:"נהל גיבויים",title:"סודות"}},$6=".הביטבוקס שלך סופק עם סיסמת שיחזור? אם כן, עצור מיד את התהליך וצור קשר עם התמיכה. החברה לעולם לא תספק ארנק מוגדר או תמליץ על סיסמאות",M6={cancel:"בטל",confirm:"אשר",confirmTitle:"אישור"},O6={default:"ברירת מחדל",setDefault:"הגדר {{code}} כברירת מחדל",title:"מטבעות"},R6={appVersion:"גרסת תכנה:"},F6={enabled_false:"מושבת",enabled_true:"מופעל"},V6="שגיאה התרחשה. אם אתה מבחין בחריגות, התחל מחדש את התכנה.",W6={buttons:{create:"צור ארנק חדש",restore:"שחזר ארנק מגיבוי"},paragraph:"בחר אחת מהאפשרויות הבאות:",step:{1:{title:"מידע אודות אבטחה"},2:{description:"קבע סיסמת התקן",title:"התקן"},"3-create":{description:"צור ארנק חדש",title:"ארנק"},"3-restore":{description:"מגיבוי",title:"שיחזור"},"4-create":{title:"סיכום"},"4-restore":{title:"סיכום"}}},U6={accountDescription:{text:".סקירת החשבון שלך מציגה את היתרה הזמינה שלך כמו גם עסקאות נכנסות ויוצאות. המדריך שלנו ב'הגדרות 'כולל מידע נוסף על כל סוג חשבון",title:"?מה עמוד זה מציג לי"},accountFiat:{text:".כן. לחץ על השער ההמרה כדי לעבור למטבע פיאט אחר. ניתן לשנות את רשימת המטבעות בהגדרות",title:"?האם אוכל להציג שיעורי המרה אחרים"},accountIncomingBalance:{text:".סכומים המתקבלים לארנק שלך אל טרם אושרו ברשת",title:"?למה הכוונה במתקבלים"},accountInfo:{xpub:{text:`.מפתח ציבורי מורחב הוא מקור כל כתובות הקבלה של המשתמש .המפתח מסופק פה לשימוש מתקדם ושיתוף עם ארנקי תצוגה בלבד, כמו אלקטרום או סנטינל`,title:"?מה זה מפתח ציבורי מורחב"}},accountRates:{text:"אנחנו מעדכנים את שערי החליפין אחת לדקה לפי קריפטו-קומפר.",title:"?אילו שערי חליפין חלים"},accountReload:{text:".אין צורך. פרטי העסקה שלך מתעדכנים אוטומטית",title:"?אני יכול לטעון מחדש את היסטוריית העסקאות"},accountSendDisabled:{text:".כפתור 'שלח' זמין כשהיתרה גדולה מאפס",title:"?מדוע אני לא יכול לשלוח עד {{unit}}"},accountSummaryAmount:{text:`coingecko.com הסכום הסופי הוא סכימת כל חשבונות הקריפטו שלך. שערי המרה נלקחים מ לאסימונים שלא נתמכים בתכנה זו, הם לא יכללו בכמות המוצגת MyEtherWallet הערה: אם אתה משתמש ב @@ -1176,11 +1176,11 @@ z mobilno napravo. Pojdite na »Upravljanje naprave« v stranski vrstici.`},dq={ האפליקציה מאחזרת גם את שערי החליפין האחרונים מהפלטפורמה של קריפטו-קומפר ,כל ההמרות מחושבות באופן מקומי, כלומר לא מועברים אי פעם נתונים על סכום העסקה שלך .Etherscan.io APIs -אנחנו משתמשים ב ERC20 -בשביל מטבעות אית׳ריום ו`,title:"?עם אילו שרתים התכנה מתקשרת"}},title:"מדריך",toggle:{close:"סגור מדריך",open:"מדריך"},unlock:{forgotDevicePassword:{text:".עלייך לאתחל מחדש את ההתקן ולשחזר את הארנק מגיבוי, באמצעות סיסמת השיחזור",title:"?מה לעשות אם שכחתי את סיסמת ההתקן"},reset:{text:".הזן סיסמה שגויה 15 פעמים. הנסיונות האחרונים דורשים מגע ארוך יותר על ההתקן",title:"?כיצד אני מאתחל את ההתקן"}},waiting:{deviceNotRecognized:{text:"ההתקן אמור להבהב פעם אחת כשמוכנס. וודא כי הכנסת בצד הנכון. אם קיימת בעיה, אנא צור קשר באמצעות הקישור למטה",title:"התקן הביטבוקס01 שלי לא מזוהה"},getDevice:{link:{text:"הזמן התקן ביטבוקס"},text:":באפשרותך לרכוש התקן ביטבוקס בחנות המקוונת",title:"?כיצד אני יכול להשיג התקן"},internet:{text:"כן, חיבור לאינטרנט נדרש כדי לסנכרן את הארנק, להוציא עסקאות ולחזר שערי חליפין עדכניים",title:"האם התכנה דורשת חיבור לאינטרנט?"},lostDevice:{link:{text:"מרכז הגיבויים"},text:"באפשרותך לשחזר את חשבונותך באמצעות התקן ביטבוקס חדש או במרכז הגיבויים",title:"?איבדתי את ההתקן. מה עכשיו"},useWithoutDevice:{text:".לצערנו, זה לא אפשרי כרגע",title:"?האם ניתן להשתמש בתכנה ללא התקן"},welcome:{text:`תודה על השימוש בתכנה שנבנתה ע״י שיפט קריפטו בשוויץ -אנחנו מעריכים כל משוב, ניתן לרשום לנו בקישור למטה`,title:"!ברוך הבא לתכנת הביטבוקס"}}},qq={blocksSynced:"{{blocks}} בלוקים הסתנכרנו"},Hq={info1HTML:".שונותלמטרות חשאיות ופרטיות, ארנק פרטי יווצר על בסיס שילוב סיסמת התקן + סיסמת שיחזור",info2HTML:".הגדר את סיסמת ההתקן וסיסמת השיחזור שברצונך לשייך לארנק הסודי שמתחת. סיסמת ההתקן והשיחזור חייבות להיות שונות מאלו שהגדרת לארנק הראשי שלך",passwordLabel:"סיסמת שחזור מוסתרת",passwordPlaceholder:"נא אשר את סיסמת השחזור המוסתרת",pinLabel:"סיסמת התקן מוסתרת",pinRepeatLabel:"חזור על סיסמת ההתקן המוסתרת",pinRepeatPlaceholder:"נא אשר את סיסמת ההתקן המוסתרת",success:".ארנק מוסתר נוצר בהצלחה. חבר מחדש את התקן הביטבוקס כדי לבטל את נעילתו"},Kq={create:"קבע סיסמת התקן",creating:"...קובע סיסמת התקן",error:{e102:".סיסמת ההתקן חייבת להכיל לפחות 4 תווים"},info:{description1:".בחר את סיסמת ההתקן. סיסמה זו תשמש אותך בביטול נעילת הביטבוקס",description2:".באפשרותך להשתמש במספרים, תווים וסימנים. סיסמאות ארוכות הינן בטוחות יותר",description3:".אם סיסמת ההתקן תאבד, עלייך לבצע איתחול ושיחזור של גיבוי הארנק",subtitle:"כעת תגדיר את סיסמת ההתקן שלך",title:"מאתחל את ההתקן"},input:{label:"סיסמת התקן",labelRepeat:"חזור על סיסמת ההתקן",placeholderRepeat:"נא אשר את סיסמת ההתקן"}},Gq="תצורה שגויה",Qq={title:"בחר שפה"},Yq={disable:"השבת כתובת קדומה של ארנק מוסתר",enable:"הפעל כתובת קדומה של ארנק מוסתר",successDisable:"השבתת כתובת קדומה של ארנק מוסתר הצליחה",successEnable:"הפעלת כתובת קדומה של ארנק מוסתר הצליחה. חבר מחדש את הביטבוקס והזן את סיסמת ההתקן המוסתר בכדי לגשת לכתובת הארנק המוסתר הקדומה"},Zq="...טוען",Jq={usingMobileDataWarning:`.כדי להימנע משימוש בנתונים ניידים WiFi-שימוש בנתונים ניידים: יישום זה עשוי להוריד עד כמה מאות מגה-בייט של נתוני כותרות מהבלוקצ׳יין לאחר ביטול נעילת חשבון. אנא התחבר ל -.לאחר הביטול, הודעה זו לא תוצג שוב`},Xq={input:{description:"אופציונאלי",placeholder:"...הוסף הערה"},title:"הערה"},e9={newTxs_one:"{{count}} עסקה חדשה ב: {{accountName}}",newTxs_other:"{{count}} עסקה חדשה ב: {{accountName}}"},t9={aborted:{text:".הצימוד בוטל על-ידי יישום הנייד",title:"בוטל"},button:"הצמד ליישום הנייד",confirm:".אתה בטוח שברצונך לצמד את הביטבוקס שלך? שים לב כי לאחר מכן, הנייד יידרש כדי לבצע עסקאות",connectOnly:{button:"חבר יישום נייד",title:"'סרוק באמצעות היישום הנייד שלנו, על-ידי בחירה בתפריט ב'חבר תכנה חדשה"},error:{text:".משהו השתבש. התחל מחדש",title:"שגיאה"},pullFailed:{text:".משיכת הודעה מהנייד שלך נכשלה דרך שרת הממסרים. שרת הממסר עשוי להיות במצב לא מקוון, אנא צור קשר עם התמיכה",title:"משיכה נכשלה"},reconnectOnly:{button:"חבר מחדש את יישום הנייד"},scanningFailed:{text:".הנייד לא הצליח לסרוק את ההודעה בהצלחה. נסה שוב",title:"סריקה נכשלה"},start:{hideAppQRCode:"QR הסתר צופן",revealAppQRCode:"QR הצג צופן",step1:".לחנות של אפל או גל גוגל, תלוי במכשיר הפלאפון שלך QR אם אין ברשותך את היישום הנייד, תוכל לסרוק צופן",step2:"Digital BitBox 2FA -סרוק באמצעות היישום הנייד, הניתן למציאה בחנות היישומים של אפל או אנדרואיד תחת השם"},started:{text:"כעת, עקוב אחר ההוראות ביישום הנייד",title:"נהדר"},success:{text:"!מזל טוב, הצמדת בהצלחה את התקן הביטבוקס שברשותך עם היישום הנייד",title:"הצלחה"},timeout:{text:"זמן הצימוד נגמר לאחר שתי דקות. התחל שוב אם ברצונך לצמד עם היישום הנייד",title:"הזמן תם"},title:"צימוד לנייד"},n9={show:"הצג {{label}}",warning:{caps:"אזהרה: קאפסלוק (⇪) מופעל",paste:"״בכדי להדביק תמליל, אפשר ״הצג {{label}}"}},a9={button:"צור מספר אקראי",description:":הביטבוקס שלך יצר מספר של {{bits}}-ביטים אקראי"},i9={label:"כתובתך",onlyThisCoin:{description:".בכדי לקבל אסימונים אחרים, אפשר אותם בהגדרות. אם תפקיד אסימונים שונים, ייתכן שהם לא יהיו נגישים",warning:".וודא כי אתה מקבל {{coinName}} בלבד בכתובת זו"},showFull:"הראה ואמת כתובת מלאה בהתקן",title:"קבל {{accountName}}",verify:"וודא כתובת בצורה מאובטחת",verifyBitBox01:"וודא כתובת ביישום הנייד",verifyBitBox02:"וודא כתובת בביטבוקס02",verifyInstruction:".אנא וודא אם הכתובת הבאה תואמת את הכתובת המוצגת על גבי ההתקן שלך",warning:{secureOutput:".אנא צמד את הביטבוקס שלך עם היישום הנייד בכדי לאבטח וידוא הכתובת. השתמש ב'נהל התקנים' בתפריט הצד"}},o9={description:"!כל המידע שבהתקן יימחק, זה כולל את המפתח הפרטי שלך",notReset:".התקן לא אופס",title:"שיחזור הגדרות יצרן",understand:"יש ברשותי גיבוי וסיסמת שיחזור",understandBB02:"יש ברשותי גיבוי תקין"},r9={create:{description1:".אנו ממליצים שתגדיר את המכשיר סביבה בטוחה, כלומר הרחק מאנשים אחרים שעלולים לראות את הסיסמה שתבחר",description2:".תתבקש ליצור שתי סיסמאות",description3:".הראשונה הינה סיסמת ההתקן שתבטל את נעילת התקן הביטבוקס שלך וניתנת לשינוי מאוחר יותר",description4:".השנייה הינה סיסמת השיחזורשמבטלת את נעילת הארנק שלך. סיסמה זו לא יכולה להשתנות מאוחר יותר",description5:"הארנק ייצור קובץ גיבוי על גבי כרטיס הזיכרון שסופק. ניתן להשתמש בו במקרה חירום בכדי לשחזר את הנכסים באמצעות סיסמת השיחזור",title:"מידע אודות אבטחה"},restore:{description1:".תתבקש להכניס את כרטיס הזיכרון שעליו מאוחסן הגיבוי",description2:"בכדי לשחזר את ההתקן, תצטרך את סיסמת השיחזור",description3:".אנא שים לב כאשר אתה מזין את סיסמת השיחזור. כל סיסמה שתזין תיצור ארנק תקין. אם תזין סיסמה שגויה יוצג בפנייך ארנק עם יתרה שלא ציפית לה",title:"מידע אודות אבטחה"}},s9={agreements:{"funds-access":"אני לא אוכל לגשת לנכסים שלי אם אשכח את סיסמת השיחזור","password-change":"אני לא יכול לשנות את סיסמת השחזור מאוחר יותר","password-required":"סיסמת השיחזור נחוצה לכדי לשחזר ארנק מהגיבוי"},create:"צור ארנק",creating:"יוצר ארנק",description:":אני מבין ש",error:{e102:".הסיסמה חייבת להכין לפחות 4 תווים",e200:".עלייך להכניס כרטיס זיכרון להתקן הביטבוקס, על-מנת ליצור ארנק, כדי שגיבוי יווצר אוטומטי"},info:{button:"קבע סיסמת שיחזור כעת",description1:"הכנס כרטיס זיכרון להתקן הביטבוקס",description2:"״בחר סיסמת שיחזור לארנק וסמן ״הגדר סיסמת שיחזור כעת",description3:".הגיבוי באמצעות כרטיס הזיכרון וסיסמת השיחזור הן הדרכים היחידות לשחזר את הנכסים, במקרה של אובדן או גניבת התקן ביטבוקס",description4:".אין באפשרותך לשנות את סיסמת השיחזור בהמשך, מבלי לשנע את נכסייך",title:"צור ארנק חדש"},password:{label:"סיסמת שיחזור",repeatPlaceholder:"חזור על סיסמת השיחזור"},walletName:{label:"שם ארנק"}},l9={error:{e200:".בשיחזור ארנק מגיבוי נדרש כרטיס הזיכרון"},info:{description1:"״הכנס את כרטיס הזיכרון להתקן הביטבוקס ולחץ ״המשך",description2:"״בחר גיבוי ולחץ ״שחזר",description3:"הקש את סיסמת השיחזור",description4:".עליך לאשר כדי הבנת שסיסמה שגויה תיצור ארנק שונה",title:"כיצד לשחזר ארנק מגיבוי"}},c9={abort:"העסקה בוטלה",address:{label:"כתובת מען",placeholder:"הכנס כתובת"},amount:{label:"סכום",placeholder:"הכנס סכום"},availableBalance:"יתרה זמינה",button:"סקירה",coincontrol:{address:"כתובת",outpoint:"נקודת יציאה",title:"שלח מהפלט"},confirm:{"selected-coins":"מטבעות נבחרים",title:"אשר ובצע עסקה",total:"סכום סופי"},error:{feeTooLow:"עמלה נמוכה מדי",insufficientFunds:"אין די כספים",invalidAddress:"כתובת שגויה",invalidAmount:"סכום שגוי",invalidData:"מידע שגוי"},fee:{customPlaceholder:"הכנס סכום",label:"עמלת רשת",placeholder:"לא זמין"},feeTarget:{description:{economy:"(בלוקים: 24 (סביב ה4 שעות לביטקויין, שעה ללייטקויין",economy_ltc:"(שעה (24 בלוקים",high:"(בלוקים: 2 (סביב ה20 דקות לביטקויין, 5 דקות ללייטקויין",high_ltc:"(חמש דקות (2 בלוקים",low:"(בלוקים: 12 (סביב השעתיים לביטקויין, 30 דקות ללייטקויין",low_ltc:"(חצי שעה (12 בלוקים",normal:"(בלוקים: 6 (סביב השעה לביטקויין, רבע שעה ללייטקויין",normal_ltc:"(רבע שעה (6 בלוקים"},estimate:":זמן המתנה משוער",label:{custom:"מותאם",economy:"חסכוני",high:"גבוה",low:"נמוך",normal:"רגיל"},placeholder:"...מחשב הערכת עמלה"},maximum:"שלח הכל",priority:"עדיפות",scanQR:"QR סרוק צופן",signprogress:{description:".עסקה זו כוללת המון מידע. כדי לחתום על עסקה זו לחלוטין, תתבקש לאשר {{steps}} פעמים",label:"התקדמות"},success:"העסקה נחתמה ונשלחה",title:"שלח {{accountName}}",toggleCoinControl:"הפעל שליטת מטבע",transactionDetails:"פרטי עסקה"},u9={electrum:{add:"הוסף שרת","add-server":"הוסף",check:"בדוק",checkFailed:"נכשל",checkSuccess:"חיבור נוצר בהצלחה ל{{host}}",checking:"בודק","download-cert":"הורד אישור מרחוק","remove-server":"הסר",removeConfirm:"?הסר {{server}}",reset:"אתחל לברירת מחדל",resetConfirm:"?האם ברצונך למחוק את כל השרתים ולהתקין את שרתי ברירת המחדל",servers:"שרתים",step1:"1","step1-text":"הכנס נקודת קצה",step2:"2","step2-text":"הזן אישור של שרשרת האישורים של השרת. לחלופין, הורד את האישור המרוחק והשווה אותו חזותית","step2-text-tcp":"TLS -שלב זה ניתן למעבר אם אינך מעוניין להשתמש בפרוטוקול",step3:"3","step3-text":"בדוק את החיבור והוסף את השרת",step4:"4","step4-text":"אתחל מחדש את הארנק. אם לא תסיר את שרתי ברירת המחדל, הצומת שלך יתווסף כיתירות","title-btc":"שרתי ביטקוין אלקטרום","title-ltc":"שרתי לייטקויין אלקטרום","title-tbtc":"Bitcoin Testnet Electrum שרתי","title-tltc":"Litecoin Testnet Electrum שרתי"},expert:{coinControl:"אפשר ניהול מטבע",electrum:{title:"חבר את הצומת המלא שלך"},fee:"אפשר ניהול עמלות",setProxyAddress:"קבע כתובת פרוקסי",title:"הגדרות מתקדמות",useProxy:"הפעל פרוקסי תור"},header:{home:"בית"},restart:".אתחל מחדש את התכנה בכדי שהשינויים יתממשו",services:{title:"שירותים"},success:".נתק וחבר מחדש את ההתקן בכדי שהשינויים יתממשו",title:"הגדרות"},d9="הגדר התקן",p9={device:"נהל התקן",leave:"עזוב",settings:"הגדרות"},h9={create:{info1:"הארנק שלך גובה באופן מאובטח לכרטיס הזיכרון. הסר ושמור אותו בבטחה.",info2:"יצרת סיסמת מאובטחת להתקן אשר מבטלת את נעילתו.",info3:".יצרת סיסמת שיחזור מאובטחת לארנק שלך, כזו המאפשרת פתיחה ושיחזור כל הנכסים מהגיבוי",summary:"הנה סיכום של מה שעשית",title:"הצלחה"},getstarted:"התחל",restore:{summary:".שיחזרת בהצלחה ארנק מתוך הגיבוי",title:"הצלחה"}},m9={confirmation:"אישורים",details:{activity:"פעילות",address:"כתובת",amount:"כמות",date:"תאריך",fiat:"פיאט",fiatAmount:"כמות פיאט",status:"מצב",type:"סוג"},explorer:"מזהה עסקה",explorerTitle:"פתח בחוקר בלוקים חיצוני",fee:"עמלה",fiatHistorical:"היסטורי",gas:"גז",note:{edit:"ערוך הערה",save:"שמור הערה"},pending:"עסקה ממתינה",size:"גודל",status:{complete:"הושלם",failed:"נכשל",pending:"ממתין"},tx:{received:"קבל אל",sent:"שלח ל"},vsize:"גודל וירטואלי",weight:"משקל"},f9={placeholder:".אין עסקאות עדיין"},g9="שגיאה לא ידועה התרחשה: {{errorMessage}}",v9={description:".הזן את סיסמת ההתקן בכדי לבטל את נעילתו",error:{e109_normal:".סיסמת התקן שגויה. {{remainingAttempts}} נסיונות נותרו לפני מחיקת ההתקן",e109_touch:".$t(unlock.error.e109_normal) ההתחברות הבאה תדרוש החזקה של מקש המגע",e113:".עקב נסיונות רבים, ההתחברות הבאה דורשת החזקה של מקש המגע למשך 4 שניות"},input:{label:"סיסמת ההתקן",placeholder:"הזן את סיסמת ההתקן כדי לבטל את נעילתו"},unlocking:"...מבטל נעילה"},b9={button:"עדכון קושחה",description:"?אתה מעוניין לשדרג את הקושחה מ{{currentVersion}} ל{{newVersion}}",label:"ההתקן שלך דורש עדכון קושחה",locked:"כדי לשדרג מ{{currentVersion}} ל{{newVersion}}}, גע לחיצה ארוכה",title:"עדכן קושחה",unlocked:":האיתחול נעול. כדי להמשיך",unlocked1:"נתק וחבר מחדש את ההתקן",unlocked2:"נורית הלד תדלק בביטבוקס שלך כשהוא יחובר בחזרה",unlocked3:"גע במקש המגע כשמנורת הלד נדלקת"},k9={receivePairing:".הצמד את הביטבוקס שלך על-מנת לאפשר ווידוא עסקאות באופן בטוח. בחר ב'נהל התקן' בתפריט הצד",sdcard:"שמור על כרטיס הזיכרון הרחק מההתקן, אלמלא אתה מעוניין לנהל את הגיבויים",sendPairing:".הצמד את הביטבוקס שלך על-מנת לאמת פרטי עסקאות. בחר ב'נהל התקן' בתפריט הצד"},x9={insertBitBox02:"גע בהתקן כדי להמשיך",insertDevice:"חבר את ההתקן בכדי להתחיל",title:"ברוך הבא"},y9={account:hq,accountInfo:mq,accountSummary:fq,addAccount:gq,app:vq,backup:bq,bb02Bootloader:kq,bitbox:xq,bitbox02Interact:yq,bitbox02Settings:wq,bitbox02Wizard:jq,blink:Bq,bootloader:Sq,button:zq,buy:Cq,changePin:Dq,chart:Aq,checkSDcard:_q,clickHere:Tq,confirm:Eq,confirmOnDevice:Pq,device:Nq,deviceLock:Lq,deviceSettings:Iq,deviceTampered:$q,dialog:Mq,fiat:Oq,footer:Rq,generic:Fq,genericError:Vq,goal:Wq,guide:Uq,headerssync:qq,hiddenWallet:Hq,initialize:Kq,invalidFormat:Gq,language:Qq,legacyhiddenwallet:Yq,loading:Zq,mobile:Jq,note:Xq,notification:e9,pairing:t9,password:n9,random:a9,receive:i9,reset:o9,securityInformation:r9,seed:s9,seedRestore:l9,send:c9,settings:u9,setup:d9,sidebar:p9,success:h9,transaction:m9,transactions:f9,unknownError:g9,unlock:v9,upgradeFirmware:b9,warning:k9,welcome:x9},w9={disconnect:"Connessione interrotta. Riprovo...",export:"Esporta",exportTransactions:"Esporta transazioni in formato CSV nella cartella download",fatalError:"Si è verificato un errore inatteso",incoming:"In entrata",initializing:"Raccolgo informazioni dalla blockchain",maybeProxyError:"Proxy Tor attivato. Assicurati che il tuo proxy Tor funzioni correttamente, oppure disabilita l'impostazione del proxy.",reconnecting:"Connessione persa, provo a riconnettermi...",syncedAddressesCount:"{{count}} indirizzi letti"},j9={address:"Indirizzo",buyCTA:{buy:"Acquista {{unit}}",buyCrypto:"Acquista cryptovalute",information:{looksEmpty:"Sembra che il portafoglio sia vuoto.",start:"Iniziate depositando alcune valute nel portafoglio o acquistando direttamente nella BitBoxApp."}},extendedPublicKey:"Chiave pubblica estesa",label:"Informazioni sull'account",scriptType:"Tipo di script",title:"Informazioni sull'account",verify:"Verifica sul dispositivo",xpubTypeChangeBtn:{p2pkh:"Visualizza la chiave pubblica estesa di P2PKH",p2tr:"Visualizza Taproot",p2wpkh:"Visualizza Native Segwit","p2wpkh-p2sh":"Visualizza la chiave pubblica estesa Segwit più vecchia"},xpubTypeInfo:"Attualmente viene visualizzata la chiave pubblica estesa {{scriptType}} ({{current}} di {{numberOfXPubs}})"},B9={availableBalance:"Saldo disponibile",balance:"Saldo",exportSummary:"Esporta il riepilogo dell'account in formato CSV nella cartella download",fiatBalance:"Saldo fiat",name:"Nome account",noAccount:"Non ci sono account da mostrare",subtotalWithCoinName:"Totale ({{coinName}})",title:"Il mio portafoglio",total:"Totale",transactionHistory:"Storico transazioni"},S9={chooseName:{nextButton:"Aggiungi account",step:"Nome dell'account",title:"Assegna un nome all'account"},selectCoin:{nextButton:"Avanti",step:"Seleziona valuta",title:"Seleziona cryptovaluta"},success:{addAnotherAccount:"Aggiungi un nuovo account",message:"{{accountName}} è stato aggiunto ai tuoi account.",nextButton:"Fatto",step:"Finito",title:"Account aggiunto"},title:"Aggiungi account"},z9={addressRequest:"{{host}} richiede un indirizzo di ricezione.",addressRequestWithLogo:`richiede un indirizzo di ricezione +אנחנו מעריכים כל משוב, ניתן לרשום לנו בקישור למטה`,title:"!ברוך הבא לתכנת הביטבוקס"}}},q6={blocksSynced:"{{blocks}} בלוקים הסתנכרנו"},H6={info1HTML:".שונותלמטרות חשאיות ופרטיות, ארנק פרטי יווצר על בסיס שילוב סיסמת התקן + סיסמת שיחזור",info2HTML:".הגדר את סיסמת ההתקן וסיסמת השיחזור שברצונך לשייך לארנק הסודי שמתחת. סיסמת ההתקן והשיחזור חייבות להיות שונות מאלו שהגדרת לארנק הראשי שלך",passwordLabel:"סיסמת שחזור מוסתרת",passwordPlaceholder:"נא אשר את סיסמת השחזור המוסתרת",pinLabel:"סיסמת התקן מוסתרת",pinRepeatLabel:"חזור על סיסמת ההתקן המוסתרת",pinRepeatPlaceholder:"נא אשר את סיסמת ההתקן המוסתרת",success:".ארנק מוסתר נוצר בהצלחה. חבר מחדש את התקן הביטבוקס כדי לבטל את נעילתו"},K6={create:"קבע סיסמת התקן",creating:"...קובע סיסמת התקן",error:{e102:".סיסמת ההתקן חייבת להכיל לפחות 4 תווים"},info:{description1:".בחר את סיסמת ההתקן. סיסמה זו תשמש אותך בביטול נעילת הביטבוקס",description2:".באפשרותך להשתמש במספרים, תווים וסימנים. סיסמאות ארוכות הינן בטוחות יותר",description3:".אם סיסמת ההתקן תאבד, עלייך לבצע איתחול ושיחזור של גיבוי הארנק",subtitle:"כעת תגדיר את סיסמת ההתקן שלך",title:"מאתחל את ההתקן"},input:{label:"סיסמת התקן",labelRepeat:"חזור על סיסמת ההתקן",placeholderRepeat:"נא אשר את סיסמת ההתקן"}},G6="תצורה שגויה",Q6={title:"בחר שפה"},Y6={disable:"השבת כתובת קדומה של ארנק מוסתר",enable:"הפעל כתובת קדומה של ארנק מוסתר",successDisable:"השבתת כתובת קדומה של ארנק מוסתר הצליחה",successEnable:"הפעלת כתובת קדומה של ארנק מוסתר הצליחה. חבר מחדש את הביטבוקס והזן את סיסמת ההתקן המוסתר בכדי לגשת לכתובת הארנק המוסתר הקדומה"},Z6="...טוען",J6={usingMobileDataWarning:`.כדי להימנע משימוש בנתונים ניידים WiFi-שימוש בנתונים ניידים: יישום זה עשוי להוריד עד כמה מאות מגה-בייט של נתוני כותרות מהבלוקצ׳יין לאחר ביטול נעילת חשבון. אנא התחבר ל +.לאחר הביטול, הודעה זו לא תוצג שוב`},X6={input:{description:"אופציונאלי",placeholder:"...הוסף הערה"},title:"הערה"},eH={newTxs_one:"{{count}} עסקה חדשה ב: {{accountName}}",newTxs_other:"{{count}} עסקה חדשה ב: {{accountName}}"},tH={aborted:{text:".הצימוד בוטל על-ידי יישום הנייד",title:"בוטל"},button:"הצמד ליישום הנייד",confirm:".אתה בטוח שברצונך לצמד את הביטבוקס שלך? שים לב כי לאחר מכן, הנייד יידרש כדי לבצע עסקאות",connectOnly:{button:"חבר יישום נייד",title:"'סרוק באמצעות היישום הנייד שלנו, על-ידי בחירה בתפריט ב'חבר תכנה חדשה"},error:{text:".משהו השתבש. התחל מחדש",title:"שגיאה"},pullFailed:{text:".משיכת הודעה מהנייד שלך נכשלה דרך שרת הממסרים. שרת הממסר עשוי להיות במצב לא מקוון, אנא צור קשר עם התמיכה",title:"משיכה נכשלה"},reconnectOnly:{button:"חבר מחדש את יישום הנייד"},scanningFailed:{text:".הנייד לא הצליח לסרוק את ההודעה בהצלחה. נסה שוב",title:"סריקה נכשלה"},start:{hideAppQRCode:"QR הסתר צופן",revealAppQRCode:"QR הצג צופן",step1:".לחנות של אפל או גל גוגל, תלוי במכשיר הפלאפון שלך QR אם אין ברשותך את היישום הנייד, תוכל לסרוק צופן",step2:"Digital BitBox 2FA -סרוק באמצעות היישום הנייד, הניתן למציאה בחנות היישומים של אפל או אנדרואיד תחת השם"},started:{text:"כעת, עקוב אחר ההוראות ביישום הנייד",title:"נהדר"},success:{text:"!מזל טוב, הצמדת בהצלחה את התקן הביטבוקס שברשותך עם היישום הנייד",title:"הצלחה"},timeout:{text:"זמן הצימוד נגמר לאחר שתי דקות. התחל שוב אם ברצונך לצמד עם היישום הנייד",title:"הזמן תם"},title:"צימוד לנייד"},nH={show:"הצג {{label}}",warning:{caps:"אזהרה: קאפסלוק (⇪) מופעל",paste:"״בכדי להדביק תמליל, אפשר ״הצג {{label}}"}},aH={button:"צור מספר אקראי",description:":הביטבוקס שלך יצר מספר של {{bits}}-ביטים אקראי"},iH={label:"כתובתך",onlyThisCoin:{description:".בכדי לקבל אסימונים אחרים, אפשר אותם בהגדרות. אם תפקיד אסימונים שונים, ייתכן שהם לא יהיו נגישים",warning:".וודא כי אתה מקבל {{coinName}} בלבד בכתובת זו"},showFull:"הראה ואמת כתובת מלאה בהתקן",title:"קבל {{accountName}}",verify:"וודא כתובת בצורה מאובטחת",verifyBitBox01:"וודא כתובת ביישום הנייד",verifyBitBox02:"וודא כתובת בביטבוקס02",verifyInstruction:".אנא וודא אם הכתובת הבאה תואמת את הכתובת המוצגת על גבי ההתקן שלך",warning:{secureOutput:".אנא צמד את הביטבוקס שלך עם היישום הנייד בכדי לאבטח וידוא הכתובת. השתמש ב'נהל התקנים' בתפריט הצד"}},oH={description:"!כל המידע שבהתקן יימחק, זה כולל את המפתח הפרטי שלך",notReset:".התקן לא אופס",title:"שיחזור הגדרות יצרן",understand:"יש ברשותי גיבוי וסיסמת שיחזור",understandBB02:"יש ברשותי גיבוי תקין"},rH={create:{description1:".אנו ממליצים שתגדיר את המכשיר סביבה בטוחה, כלומר הרחק מאנשים אחרים שעלולים לראות את הסיסמה שתבחר",description2:".תתבקש ליצור שתי סיסמאות",description3:".הראשונה הינה סיסמת ההתקן שתבטל את נעילת התקן הביטבוקס שלך וניתנת לשינוי מאוחר יותר",description4:".השנייה הינה סיסמת השיחזורשמבטלת את נעילת הארנק שלך. סיסמה זו לא יכולה להשתנות מאוחר יותר",description5:"הארנק ייצור קובץ גיבוי על גבי כרטיס הזיכרון שסופק. ניתן להשתמש בו במקרה חירום בכדי לשחזר את הנכסים באמצעות סיסמת השיחזור",title:"מידע אודות אבטחה"},restore:{description1:".תתבקש להכניס את כרטיס הזיכרון שעליו מאוחסן הגיבוי",description2:"בכדי לשחזר את ההתקן, תצטרך את סיסמת השיחזור",description3:".אנא שים לב כאשר אתה מזין את סיסמת השיחזור. כל סיסמה שתזין תיצור ארנק תקין. אם תזין סיסמה שגויה יוצג בפנייך ארנק עם יתרה שלא ציפית לה",title:"מידע אודות אבטחה"}},sH={agreements:{"funds-access":"אני לא אוכל לגשת לנכסים שלי אם אשכח את סיסמת השיחזור","password-change":"אני לא יכול לשנות את סיסמת השחזור מאוחר יותר","password-required":"סיסמת השיחזור נחוצה לכדי לשחזר ארנק מהגיבוי"},create:"צור ארנק",creating:"יוצר ארנק",description:":אני מבין ש",error:{e102:".הסיסמה חייבת להכין לפחות 4 תווים",e200:".עלייך להכניס כרטיס זיכרון להתקן הביטבוקס, על-מנת ליצור ארנק, כדי שגיבוי יווצר אוטומטי"},info:{button:"קבע סיסמת שיחזור כעת",description1:"הכנס כרטיס זיכרון להתקן הביטבוקס",description2:"״בחר סיסמת שיחזור לארנק וסמן ״הגדר סיסמת שיחזור כעת",description3:".הגיבוי באמצעות כרטיס הזיכרון וסיסמת השיחזור הן הדרכים היחידות לשחזר את הנכסים, במקרה של אובדן או גניבת התקן ביטבוקס",description4:".אין באפשרותך לשנות את סיסמת השיחזור בהמשך, מבלי לשנע את נכסייך",title:"צור ארנק חדש"},password:{label:"סיסמת שיחזור",repeatPlaceholder:"חזור על סיסמת השיחזור"},walletName:{label:"שם ארנק"}},lH={error:{e200:".בשיחזור ארנק מגיבוי נדרש כרטיס הזיכרון"},info:{description1:"״הכנס את כרטיס הזיכרון להתקן הביטבוקס ולחץ ״המשך",description2:"״בחר גיבוי ולחץ ״שחזר",description3:"הקש את סיסמת השיחזור",description4:".עליך לאשר כדי הבנת שסיסמה שגויה תיצור ארנק שונה",title:"כיצד לשחזר ארנק מגיבוי"}},cH={abort:"העסקה בוטלה",address:{label:"כתובת מען",placeholder:"הכנס כתובת"},amount:{label:"סכום",placeholder:"הכנס סכום"},availableBalance:"יתרה זמינה",button:"סקירה",coincontrol:{address:"כתובת",outpoint:"נקודת יציאה",title:"שלח מהפלט"},confirm:{"selected-coins":"מטבעות נבחרים",title:"אשר ובצע עסקה",total:"סכום סופי"},error:{feeTooLow:"עמלה נמוכה מדי",insufficientFunds:"אין די כספים",invalidAddress:"כתובת שגויה",invalidAmount:"סכום שגוי",invalidData:"מידע שגוי"},fee:{customPlaceholder:"הכנס סכום",label:"עמלת רשת",placeholder:"לא זמין"},feeTarget:{description:{economy:"(בלוקים: 24 (סביב ה4 שעות לביטקויין, שעה ללייטקויין",economy_ltc:"(שעה (24 בלוקים",high:"(בלוקים: 2 (סביב ה20 דקות לביטקויין, 5 דקות ללייטקויין",high_ltc:"(חמש דקות (2 בלוקים",low:"(בלוקים: 12 (סביב השעתיים לביטקויין, 30 דקות ללייטקויין",low_ltc:"(חצי שעה (12 בלוקים",normal:"(בלוקים: 6 (סביב השעה לביטקויין, רבע שעה ללייטקויין",normal_ltc:"(רבע שעה (6 בלוקים"},estimate:":זמן המתנה משוער",label:{custom:"מותאם",economy:"חסכוני",high:"גבוה",low:"נמוך",normal:"רגיל"},placeholder:"...מחשב הערכת עמלה"},maximum:"שלח הכל",priority:"עדיפות",scanQR:"QR סרוק צופן",signprogress:{description:".עסקה זו כוללת המון מידע. כדי לחתום על עסקה זו לחלוטין, תתבקש לאשר {{steps}} פעמים",label:"התקדמות"},success:"העסקה נחתמה ונשלחה",title:"שלח {{accountName}}",toggleCoinControl:"הפעל שליטת מטבע",transactionDetails:"פרטי עסקה"},uH={electrum:{add:"הוסף שרת","add-server":"הוסף",check:"בדוק",checkFailed:"נכשל",checkSuccess:"חיבור נוצר בהצלחה ל{{host}}",checking:"בודק","download-cert":"הורד אישור מרחוק","remove-server":"הסר",removeConfirm:"?הסר {{server}}",reset:"אתחל לברירת מחדל",resetConfirm:"?האם ברצונך למחוק את כל השרתים ולהתקין את שרתי ברירת המחדל",servers:"שרתים",step1:"1","step1-text":"הכנס נקודת קצה",step2:"2","step2-text":"הזן אישור של שרשרת האישורים של השרת. לחלופין, הורד את האישור המרוחק והשווה אותו חזותית","step2-text-tcp":"TLS -שלב זה ניתן למעבר אם אינך מעוניין להשתמש בפרוטוקול",step3:"3","step3-text":"בדוק את החיבור והוסף את השרת",step4:"4","step4-text":"אתחל מחדש את הארנק. אם לא תסיר את שרתי ברירת המחדל, הצומת שלך יתווסף כיתירות","title-btc":"שרתי ביטקוין אלקטרום","title-ltc":"שרתי לייטקויין אלקטרום","title-tbtc":"Bitcoin Testnet Electrum שרתי","title-tltc":"Litecoin Testnet Electrum שרתי"},expert:{coinControl:"אפשר ניהול מטבע",electrum:{title:"חבר את הצומת המלא שלך"},fee:"אפשר ניהול עמלות",setProxyAddress:"קבע כתובת פרוקסי",title:"הגדרות מתקדמות",useProxy:"הפעל פרוקסי תור"},header:{home:"בית"},restart:".אתחל מחדש את התכנה בכדי שהשינויים יתממשו",services:{title:"שירותים"},success:".נתק וחבר מחדש את ההתקן בכדי שהשינויים יתממשו",title:"הגדרות"},dH="הגדר התקן",pH={device:"נהל התקן",leave:"עזוב",settings:"הגדרות"},hH={create:{info1:"הארנק שלך גובה באופן מאובטח לכרטיס הזיכרון. הסר ושמור אותו בבטחה.",info2:"יצרת סיסמת מאובטחת להתקן אשר מבטלת את נעילתו.",info3:".יצרת סיסמת שיחזור מאובטחת לארנק שלך, כזו המאפשרת פתיחה ושיחזור כל הנכסים מהגיבוי",summary:"הנה סיכום של מה שעשית",title:"הצלחה"},getstarted:"התחל",restore:{summary:".שיחזרת בהצלחה ארנק מתוך הגיבוי",title:"הצלחה"}},mH={confirmation:"אישורים",details:{activity:"פעילות",address:"כתובת",amount:"כמות",date:"תאריך",fiat:"פיאט",fiatAmount:"כמות פיאט",status:"מצב",type:"סוג"},explorer:"מזהה עסקה",explorerTitle:"פתח בחוקר בלוקים חיצוני",fee:"עמלה",fiatHistorical:"היסטורי",gas:"גז",note:{edit:"ערוך הערה",save:"שמור הערה"},pending:"עסקה ממתינה",size:"גודל",status:{complete:"הושלם",failed:"נכשל",pending:"ממתין"},tx:{received:"קבל אל",sent:"שלח ל"},vsize:"גודל וירטואלי",weight:"משקל"},fH={placeholder:".אין עסקאות עדיין"},gH="שגיאה לא ידועה התרחשה: {{errorMessage}}",vH={description:".הזן את סיסמת ההתקן בכדי לבטל את נעילתו",error:{e109_normal:".סיסמת התקן שגויה. {{remainingAttempts}} נסיונות נותרו לפני מחיקת ההתקן",e109_touch:".$t(unlock.error.e109_normal) ההתחברות הבאה תדרוש החזקה של מקש המגע",e113:".עקב נסיונות רבים, ההתחברות הבאה דורשת החזקה של מקש המגע למשך 4 שניות"},input:{label:"סיסמת ההתקן",placeholder:"הזן את סיסמת ההתקן כדי לבטל את נעילתו"},unlocking:"...מבטל נעילה"},bH={button:"עדכון קושחה",description:"?אתה מעוניין לשדרג את הקושחה מ{{currentVersion}} ל{{newVersion}}",label:"ההתקן שלך דורש עדכון קושחה",locked:"כדי לשדרג מ{{currentVersion}} ל{{newVersion}}}, גע לחיצה ארוכה",title:"עדכן קושחה",unlocked:":האיתחול נעול. כדי להמשיך",unlocked1:"נתק וחבר מחדש את ההתקן",unlocked2:"נורית הלד תדלק בביטבוקס שלך כשהוא יחובר בחזרה",unlocked3:"גע במקש המגע כשמנורת הלד נדלקת"},kH={receivePairing:".הצמד את הביטבוקס שלך על-מנת לאפשר ווידוא עסקאות באופן בטוח. בחר ב'נהל התקן' בתפריט הצד",sdcard:"שמור על כרטיס הזיכרון הרחק מההתקן, אלמלא אתה מעוניין לנהל את הגיבויים",sendPairing:".הצמד את הביטבוקס שלך על-מנת לאמת פרטי עסקאות. בחר ב'נהל התקן' בתפריט הצד"},xH={insertBitBox02:"גע בהתקן כדי להמשיך",insertDevice:"חבר את ההתקן בכדי להתחיל",title:"ברוך הבא"},yH={account:h6,accountInfo:m6,accountSummary:f6,addAccount:g6,app:v6,backup:b6,bb02Bootloader:k6,bitbox:x6,bitbox02Interact:y6,bitbox02Settings:w6,bitbox02Wizard:j6,blink:B6,bootloader:S6,button:z6,buy:C6,changePin:D6,chart:A6,checkSDcard:_6,clickHere:T6,confirm:E6,confirmOnDevice:P6,device:N6,deviceLock:L6,deviceSettings:I6,deviceTampered:$6,dialog:M6,fiat:O6,footer:R6,generic:F6,genericError:V6,goal:W6,guide:U6,headerssync:q6,hiddenWallet:H6,initialize:K6,invalidFormat:G6,language:Q6,legacyhiddenwallet:Y6,loading:Z6,mobile:J6,note:X6,notification:eH,pairing:tH,password:nH,random:aH,receive:iH,reset:oH,securityInformation:rH,seed:sH,seedRestore:lH,send:cH,settings:uH,setup:dH,sidebar:pH,success:hH,transaction:mH,transactions:fH,unknownError:gH,unlock:vH,upgradeFirmware:bH,warning:kH,welcome:xH},wH={disconnect:"Connessione interrotta. Riprovo...",export:"Esporta",exportTransactions:"Esporta transazioni in formato CSV nella cartella download",fatalError:"Si è verificato un errore inatteso",incoming:"In entrata",initializing:"Raccolgo informazioni dalla blockchain",maybeProxyError:"Proxy Tor attivato. Assicurati che il tuo proxy Tor funzioni correttamente, oppure disabilita l'impostazione del proxy.",reconnecting:"Connessione persa, provo a riconnettermi...",syncedAddressesCount:"{{count}} indirizzi letti"},jH={address:"Indirizzo",buyCTA:{buy:"Acquista {{unit}}",buyCrypto:"Acquista cryptovalute",information:{looksEmpty:"Sembra che il portafoglio sia vuoto.",start:"Iniziate depositando alcune valute nel portafoglio o acquistando direttamente nella BitBoxApp."}},extendedPublicKey:"Chiave pubblica estesa",label:"Informazioni sull'account",scriptType:"Tipo di script",title:"Informazioni sull'account",verify:"Verifica sul dispositivo",xpubTypeChangeBtn:{p2pkh:"Visualizza la chiave pubblica estesa di P2PKH",p2tr:"Visualizza Taproot",p2wpkh:"Visualizza Native Segwit","p2wpkh-p2sh":"Visualizza la chiave pubblica estesa Segwit più vecchia"},xpubTypeInfo:"Attualmente viene visualizzata la chiave pubblica estesa {{scriptType}} ({{current}} di {{numberOfXPubs}})"},BH={availableBalance:"Saldo disponibile",balance:"Saldo",exportSummary:"Esporta il riepilogo dell'account in formato CSV nella cartella download",fiatBalance:"Saldo fiat",name:"Nome account",noAccount:"Non ci sono account da mostrare",subtotalWithCoinName:"Totale ({{coinName}})",title:"Il mio portafoglio",total:"Totale",transactionHistory:"Storico transazioni"},SH={chooseName:{nextButton:"Aggiungi account",step:"Nome dell'account",title:"Assegna un nome all'account"},selectCoin:{nextButton:"Avanti",step:"Seleziona valuta",title:"Seleziona cryptovaluta"},success:{addAnotherAccount:"Aggiungi un nuovo account",message:"{{accountName}} è stato aggiunto ai tuoi account.",nextButton:"Fatto",step:"Finito",title:"Account aggiunto"},title:"Aggiungi account"},zH={addressRequest:"{{host}} richiede un indirizzo di ricezione.",addressRequestWithLogo:`richiede un indirizzo di ricezione `,banner:"Richiesta dell'indirizzo in corso",errorTitle:"Errore durante la richiesta dell'indirizzo",labelAddress:"Indirizzo",labelMessage:"Messaggio",reverifyInfoText:"Verifica indirizzo",signing:`Per procedere, firmare il messaggio sul BitBox02 `,success:{message:"Continua su {{host}}",title:"Indirizzo inviato con successo"},syncing:`Sincronizzazione dell'account, attendere prego. -`,title:"Richiesta di indirizzo"},C9={upgrade:"E' disponibile una nuova versione di questa app! Aggiorna dalla {{current}} alla {{version}}."},D9={authButton:"Autenticati",title:"Autenticati per continuare"},A9={check:{checking:"Sto verificando backup...",confirmTitle:"Verifica backup",notOK:"Il backup NON combacia con il portafoglio.",ok:"Il backup combacia con il portafoglio.",password:{label:"Password di recupero",placeholder:"Password di recupero",showLabel:"password di recupero"},success:"Back verificato con successo:",title:"Verifica backup"},create:{alreadyExists:"Hai già un backup valido. Vuoi ricrearlo?",fail:"Creazione backup FALLITA!",info:"Inserisci la password di recupero del portafoglio attuale per la verifica.",name:{label:"Nome del backup",placeholder:"Assegna un nome al backup"},password:{label:"Password di recupero",placeholder:"Inserisci la tua password di recupero"},title:"Crea backup",verificationFailed:"La password di recupero NON corrisponde al portafoglio attuale. Il backup è stato creato. Per favore usa 'Controlla backup' per verificare di nuovo la tua password di recupero."},description:"Scegli il file di backup del wallet",insert:"Inserisci la carta microSD per gestire i backup.",insertButton:"Ho inserito la carta microSD",list:"I tuoi backup sulla carta microSD",noBackups:"Non ci sono backup su questa carta microSD",restore:{confirmTitle:"Ripristina backup",error:{e200:"Carta microSD non trovata",general:"Errore nel ripristino del backup"},password:{label:"Password di recupero o password di recupero nascosta",placeholder:"Password di recupero",repeatPlaceholder:"Ripeti password di recupero",showLabel:"Password di recupero"},restoring:"Ripristino backup...",selectedBackup:"{{backupName}} creato in data {{createdDateTime}} verrà ripristinato.",title:"Ripristina",understand:"Capisco che una password di recupero errata creerà un portafoglio diverso"},showMnemonic:{description:`Ti verranno mostrate le parole di recupero, che formano un backup del tuo portafoglio. Scrivile su carta. +`,title:"Richiesta di indirizzo"},CH={upgrade:"E' disponibile una nuova versione di questa app! Aggiorna dalla {{current}} alla {{version}}."},DH={authButton:"Autenticati",title:"Autenticati per continuare"},AH={check:{checking:"Sto verificando backup...",confirmTitle:"Verifica backup",notOK:"Il backup NON combacia con il portafoglio.",ok:"Il backup combacia con il portafoglio.",password:{label:"Password di recupero",placeholder:"Password di recupero",showLabel:"password di recupero"},success:"Back verificato con successo:",title:"Verifica backup"},create:{alreadyExists:"Hai già un backup valido. Vuoi ricrearlo?",fail:"Creazione backup FALLITA!",info:"Inserisci la password di recupero del portafoglio attuale per la verifica.",name:{label:"Nome del backup",placeholder:"Assegna un nome al backup"},password:{label:"Password di recupero",placeholder:"Inserisci la tua password di recupero"},title:"Crea backup",verificationFailed:"La password di recupero NON corrisponde al portafoglio attuale. Il backup è stato creato. Per favore usa 'Controlla backup' per verificare di nuovo la tua password di recupero."},description:"Scegli il file di backup del wallet",insert:"Inserisci la carta microSD per gestire i backup.",insertButton:"Ho inserito la carta microSD",list:"I tuoi backup sulla carta microSD",noBackups:"Non ci sono backup su questa carta microSD",restore:{confirmTitle:"Ripristina backup",error:{e200:"Carta microSD non trovata",general:"Errore nel ripristino del backup"},password:{label:"Password di recupero o password di recupero nascosta",placeholder:"Password di recupero",repeatPlaceholder:"Ripeti password di recupero",showLabel:"Password di recupero"},restoring:"Ripristino backup...",selectedBackup:"{{backupName}} creato in data {{createdDateTime}} verrà ripristinato.",title:"Ripristina",understand:"Capisco che una password di recupero errata creerà un portafoglio diverso"},showMnemonic:{description:`Ti verranno mostrate le parole di recupero, che formano un backup del tuo portafoglio. Scrivile su carta. Non custodirle digitalmente e non fotografarle. @@ -1188,16 +1188,16 @@ z mobilno napravo. Pojdite na »Upravljanje naprave« v stranski vrstici.`},dq={ Questo backup non è protetto da password. -In seguito ti sarà richiesto di confermare ogni parola.`,title:"Mostra le parole di recupero",warning:"Non condividere le tue parole di recupero con nessuno. Le parole di recupero danno pieno accesso al tuo portafogli. Se qualcuno ti chiede le tue parole di recupero, vuole truffarti. Non condividerle!"},title:"Gestisci i backup"},_9={abort:"Non aggiornare - riportami indietro",abort_noUpgrade:"Indietro",advanced:{label:"Impostazioni avanzate",toggleShowFirmwareHash:"Mostrami l'hash del firmware ogni volta all'avvio"},flipscreen:"Capovolgi schermo",orientation:"Orientamento del dispositivo sbagliato?",success:"Aggiornamento riuscito! Passo successivo in {{rebootSeconds}} secondi...",success_install:"Installazione riuscita! Continua tra {{rebootSeconds}} secondi..."},T9={error:{e10000:"Password errata per questo dispositivo",e10001:"Impossibile sostituire la password del dispositivo",e102:"La password deve essere di almeno 4 caratteri.",e112:"La password nascosta non può essere uguale alla password principale del dispositivo."}},E9={confirmDate:"Conferma la data di oggi sul tuo BitBox02",confirmDateText:"Questa data sarà usata per creare il tuo backup.",confirmName:"Conferma il nome sul BitBox02",confirmWords:"Prendi nota delle {{amount}} parole di recupero dal tuo BitBox02",confirmWordsText:"In seguito il BitBox02 ti chiederà di confermare ogni parola per verificare la correttezza del tuo backup.",followInstructions:"Segui le istruzioni sul tuo BitBox02",followInstructionsMnemonic:"Segui le istruzioni sul tuo BitBox02 per ripristinare utilizzando le parole di recupero.",followInstructionsMnemonicTitle:`Ripristina da parole di recupero -`},P9={deviceName:{current:"Nome attuale del dispositivo",error:"Non è stato possibile configurare il nome del dispositivo",error_104:"La conferma del nome del dispositivo è stata abortita sul dispositivo.",input:"Nome del BitBox02",placeholder:"Nuovo nome del dispositivo",title:"Imposta il nome del BitBox02"},gotoStartupSettings:{description:"Questo riavvia il BitBox02 e inizializza le impostazioni di avvio.",title:`Vai alle impostazioni di avvio -`}},N9={advanced:{button:"Opzioni avanzate",outOfDate:"Firmware non aggiornato per questa funzionalità",seed12WordInfo:"Attenzione, il numero di parole non potrà essere modificato dopo la creazione del portafogli.",seed12WordLabel:"Crea un seed da 12 parole invece di 24",seed12WordText:"Il BitBox02 di default usa un seed da 24 parole. All'atto pratico, entrambe le lunghezze del seed sono sicure contro attacchi di tipo brute force. Alcuni utenti potrebbero preferire la comodità di un seed da 12 parole.",skipSDCardLabel:"Salta il backup su microSD e sostituiscilo annotando le parole di recupero",skipSDCardText:"Hai sempre l'opzione di creare un backup su microSD o annotare le parole di recupero dopo il setup. Puoi farlo dalle impostazioni.",title:"Opzioni di backup avanzate"},attestationFailed:"L'attestazione del dispositivo non è riuscita. Ciò potrebbe essere dovuto al riavvio dell'app mentre il dispositivo stava aspettando l'input dell'utente. Si prega di ricollegarsi e riprovare. Contattare support@bitbox.swiss se l'errore persiste.",backup:{point1:"Scegli un backup sulla carta microSD",point2:"Imposta una password per il tuo dispositivo",restoreText:"Ok, ripristiniamo un backup!",text1:"Bene, la tua password di BitBox02 è ora impostata e il portafoglio creato. Ora è il momento di creare il tuo primo backup. Assicurati che la tua scheda microSD sia inserita nel tuo BitBox02 e continua.",text2:"Segui le istruzioni sullo schermo del tuo dispositivo per creare un backup.",text3:"Dopo che il backup è stato creato, rimuovi la scheda microSD e conservala in un luogo sicuro. Il contenuto della scheda microSD non è protetto da password. Non inserirla mai in nessun altro dispositivo che non sia il tuo BitBox02.",userConfirmation1:"Devo conservare il backup in un luogo sicuro.",userConfirmation2:"Il backup non è protetto da una password. Chiunque abbia accesso ad esso può accedere anche al mio portafoglio.",userConfirmation3:"Se perdo o danneggio il mio BitBox02, l'unico modo per recuperare i miei fondi è ripristinare il backup.",userConfirmation4:"Se perdo o danneggio sia il backup che il dispositivo BitBox02, i miei fondi andranno persi.",userConfirmation5:"Non devo inserire il mio backup su scheda microSD in un computer, telefono, stampante o qualsiasi altro dispositivo che non sia un BitBox02.",userConfirmation5mnemonic:"Non devo inserire le mie parole di recupero in un computer, telefono, stampante o altro dispositivo diverso da BitBox02."},create:{button:"Assegnare un nome al dispositivo e continuare",info:"Ecco i passaggi necessari per configurare il tuo BitBox: ",inputTitle:"Nome del portafoglio",point1:"Dai un nome al tuo dispositivo",point2:"Imposta una password per il tuo dispositivo",point3:"Crea un backup",text:"Bene, ora creiamo un nuovo portafoglio!"},createBackupAborted:"Creazione del backup interrotta.",createBackupFailed:"Creazione del backup fallita. Riprovare.",initialize:{passwordText:"Ora impostiamo la password del dispositivo. Usa i controlli sul tuo BitBox per scegliere i caratteri della password.",passwordTitle:"Imposta la password per il tuo BitBox",text:"BitBox02 abbinato con successo! Ora inizializziamo il tuo dispositivo. Inizia scegliendo se creare un nuovo portafoglio o ripristinare un portafoglio da un backup esistente. Assicurati di avere una scheda microSD inserita nel tuo BitBox02",tip:"Ti consigliamo di procedere in un luogo sicuro.",title:"Inizializza il tuo BitBox"},insertSDCard:"Assicurati di aver inserito la scheda microSD nel tuo BitBox02.",noPasswordMatch:"Le password non corrispondono. Riprovare.",pairing:{failed:"Abbinamento non confermato. Ricollega il tuo BitBox02.",paired:"Hai confermato il seguente codice sul tuo dispositivo. Puoi continuare.",title:"Verifica il codice di abbinamento",unpaired:"È stato rilevato un nuovo BitBox02. Si prega di verificare che il seguente codice corrisponda a quello mostrato sul tuo dispositivo. Se il codice corrisponde, tocca sotto il segno di spunta sul tuo BitBox02 e poi clicca sul pulsante qui sotto per continuare."},restoreFromMnemonic:{e104:"Il ripristino tramite parole di recupero è stato cancellato.",failed:"Ripristino con parole di recupero non riuscito. Riprovare."},stepBackup:{beforeProceed:"Prima di procedere, leggi queste importanti considerazioni sulla sicurezza:",createBackup:"Ora si procede a creare un backup sulla scheda microSD.",createBackupMnemonic:"Scrivi le parole di recupero."},stepBackupSuccess:{fundsSafe:"Per tenere i tuoi fondi al sicuro, ricordati quanto segue:",title:"Backup ripristinato!"},stepConnected:{unlock:"Inserisci la password del BitBox02 per sbloccare."},stepCreate:{description:"Questo nome viene utilizzato come nome del dispositivo e per il backup.",nameLabel:"Nome del BitBox02",namePlaceholder:"Il mio BitBox02",title:"Scegli il nome del BitBox02",toastMicroSD:"Inserisci nel tuo BitBox02 la scheda microSD che sarà utilizzata per salvare un backup del tuo portafogli."},stepCreateSuccess:{removeMicroSD:"Rimuovere la scheda microSD dal BitBox02 e conservarla in un luogo sicuro.",storeMnemonic:"Custodisci le tue parole di recupero in un posto sicuro",success:"Il backup è stato creato con successo."},stepInsertSD:{insertSDCard:"Inserisci la scheda microSD nel BitBox02 per continuare.",insertSDcardTitle:"Inserire la scheda microSD"},stepPassword:{e104:"L'impostazione della password è stata cancellata.",title:"Impostare la password del BitBox02",useControls:"Usa i controlli sul tuo BitBox02 per impostare la password."},stepUninitialized:{create:"Vorrei configurare un nuovo BitBox02.",restore:"Vorrei ripristinare il mio portafoglio da un backup.",restoreMicroSD:"Ripristina dalla scheda microSD",restoreMnemonic:"Ripristina utilizzando le parole di recupero",title:"Configurare il BitBox02"},success:{text:`Urrà! Il tuo BitBox02 è ora pronto all'uso. +In seguito ti sarà richiesto di confermare ogni parola.`,title:"Mostra le parole di recupero",warning:"Non condividere le tue parole di recupero con nessuno. Le parole di recupero danno pieno accesso al tuo portafogli. Se qualcuno ti chiede le tue parole di recupero, vuole truffarti. Non condividerle!"},title:"Gestisci i backup"},_H={abort:"Non aggiornare - riportami indietro",abort_noUpgrade:"Indietro",advanced:{label:"Impostazioni avanzate",toggleShowFirmwareHash:"Mostrami l'hash del firmware ogni volta all'avvio"},flipscreen:"Capovolgi schermo",orientation:"Orientamento del dispositivo sbagliato?",success:"Aggiornamento riuscito! Passo successivo in {{rebootSeconds}} secondi...",success_install:"Installazione riuscita! Continua tra {{rebootSeconds}} secondi..."},TH={error:{e10000:"Password errata per questo dispositivo",e10001:"Impossibile sostituire la password del dispositivo",e102:"La password deve essere di almeno 4 caratteri.",e112:"La password nascosta non può essere uguale alla password principale del dispositivo."}},EH={confirmDate:"Conferma la data di oggi sul tuo BitBox02",confirmDateText:"Questa data sarà usata per creare il tuo backup.",confirmName:"Conferma il nome sul BitBox02",confirmWords:"Prendi nota delle {{amount}} parole di recupero dal tuo BitBox02",confirmWordsText:"In seguito il BitBox02 ti chiederà di confermare ogni parola per verificare la correttezza del tuo backup.",followInstructions:"Segui le istruzioni sul tuo BitBox02",followInstructionsMnemonic:"Segui le istruzioni sul tuo BitBox02 per ripristinare utilizzando le parole di recupero.",followInstructionsMnemonicTitle:`Ripristina da parole di recupero +`},PH={deviceName:{current:"Nome attuale del dispositivo",error:"Non è stato possibile configurare il nome del dispositivo",error_104:"La conferma del nome del dispositivo è stata abortita sul dispositivo.",input:"Nome del BitBox02",placeholder:"Nuovo nome del dispositivo",title:"Imposta il nome del BitBox02"},gotoStartupSettings:{description:"Questo riavvia il BitBox02 e inizializza le impostazioni di avvio.",title:`Vai alle impostazioni di avvio +`}},NH={advanced:{button:"Opzioni avanzate",outOfDate:"Firmware non aggiornato per questa funzionalità",seed12WordInfo:"Attenzione, il numero di parole non potrà essere modificato dopo la creazione del portafogli.",seed12WordLabel:"Crea un seed da 12 parole invece di 24",seed12WordText:"Il BitBox02 di default usa un seed da 24 parole. All'atto pratico, entrambe le lunghezze del seed sono sicure contro attacchi di tipo brute force. Alcuni utenti potrebbero preferire la comodità di un seed da 12 parole.",skipSDCardLabel:"Salta il backup su microSD e sostituiscilo annotando le parole di recupero",skipSDCardText:"Hai sempre l'opzione di creare un backup su microSD o annotare le parole di recupero dopo il setup. Puoi farlo dalle impostazioni.",title:"Opzioni di backup avanzate"},attestationFailed:"L'attestazione del dispositivo non è riuscita. Ciò potrebbe essere dovuto al riavvio dell'app mentre il dispositivo stava aspettando l'input dell'utente. Si prega di ricollegarsi e riprovare. Contattare support@bitbox.swiss se l'errore persiste.",backup:{point1:"Scegli un backup sulla carta microSD",point2:"Imposta una password per il tuo dispositivo",restoreText:"Ok, ripristiniamo un backup!",text1:"Bene, la tua password di BitBox02 è ora impostata e il portafoglio creato. Ora è il momento di creare il tuo primo backup. Assicurati che la tua scheda microSD sia inserita nel tuo BitBox02 e continua.",text2:"Segui le istruzioni sullo schermo del tuo dispositivo per creare un backup.",text3:"Dopo che il backup è stato creato, rimuovi la scheda microSD e conservala in un luogo sicuro. Il contenuto della scheda microSD non è protetto da password. Non inserirla mai in nessun altro dispositivo che non sia il tuo BitBox02.",userConfirmation1:"Devo conservare il backup in un luogo sicuro.",userConfirmation2:"Il backup non è protetto da una password. Chiunque abbia accesso ad esso può accedere anche al mio portafoglio.",userConfirmation3:"Se perdo o danneggio il mio BitBox02, l'unico modo per recuperare i miei fondi è ripristinare il backup.",userConfirmation4:"Se perdo o danneggio sia il backup che il dispositivo BitBox02, i miei fondi andranno persi.",userConfirmation5:"Non devo inserire il mio backup su scheda microSD in un computer, telefono, stampante o qualsiasi altro dispositivo che non sia un BitBox02.",userConfirmation5mnemonic:"Non devo inserire le mie parole di recupero in un computer, telefono, stampante o altro dispositivo diverso da BitBox02."},create:{button:"Assegnare un nome al dispositivo e continuare",info:"Ecco i passaggi necessari per configurare il tuo BitBox: ",inputTitle:"Nome del portafoglio",point1:"Dai un nome al tuo dispositivo",point2:"Imposta una password per il tuo dispositivo",point3:"Crea un backup",text:"Bene, ora creiamo un nuovo portafoglio!"},createBackupAborted:"Creazione del backup interrotta.",createBackupFailed:"Creazione del backup fallita. Riprovare.",initialize:{passwordText:"Ora impostiamo la password del dispositivo. Usa i controlli sul tuo BitBox per scegliere i caratteri della password.",passwordTitle:"Imposta la password per il tuo BitBox",text:"BitBox02 abbinato con successo! Ora inizializziamo il tuo dispositivo. Inizia scegliendo se creare un nuovo portafoglio o ripristinare un portafoglio da un backup esistente. Assicurati di avere una scheda microSD inserita nel tuo BitBox02",tip:"Ti consigliamo di procedere in un luogo sicuro.",title:"Inizializza il tuo BitBox"},insertSDCard:"Assicurati di aver inserito la scheda microSD nel tuo BitBox02.",noPasswordMatch:"Le password non corrispondono. Riprovare.",pairing:{failed:"Abbinamento non confermato. Ricollega il tuo BitBox02.",paired:"Hai confermato il seguente codice sul tuo dispositivo. Puoi continuare.",title:"Verifica il codice di abbinamento",unpaired:"È stato rilevato un nuovo BitBox02. Si prega di verificare che il seguente codice corrisponda a quello mostrato sul tuo dispositivo. Se il codice corrisponde, tocca sotto il segno di spunta sul tuo BitBox02 e poi clicca sul pulsante qui sotto per continuare."},restoreFromMnemonic:{e104:"Il ripristino tramite parole di recupero è stato cancellato.",failed:"Ripristino con parole di recupero non riuscito. Riprovare."},stepBackup:{beforeProceed:"Prima di procedere, leggi queste importanti considerazioni sulla sicurezza:",createBackup:"Ora si procede a creare un backup sulla scheda microSD.",createBackupMnemonic:"Scrivi le parole di recupero."},stepBackupSuccess:{fundsSafe:"Per tenere i tuoi fondi al sicuro, ricordati quanto segue:",title:"Backup ripristinato!"},stepConnected:{unlock:"Inserisci la password del BitBox02 per sbloccare."},stepCreate:{description:"Questo nome viene utilizzato come nome del dispositivo e per il backup.",nameLabel:"Nome del BitBox02",namePlaceholder:"Il mio BitBox02",title:"Scegli il nome del BitBox02",toastMicroSD:"Inserisci nel tuo BitBox02 la scheda microSD che sarà utilizzata per salvare un backup del tuo portafogli."},stepCreateSuccess:{removeMicroSD:"Rimuovere la scheda microSD dal BitBox02 e conservarla in un luogo sicuro.",storeMnemonic:"Custodisci le tue parole di recupero in un posto sicuro",success:"Il backup è stato creato con successo."},stepInsertSD:{insertSDCard:"Inserisci la scheda microSD nel BitBox02 per continuare.",insertSDcardTitle:"Inserire la scheda microSD"},stepPassword:{e104:"L'impostazione della password è stata cancellata.",title:"Impostare la password del BitBox02",useControls:"Usa i controlli sul tuo BitBox02 per impostare la password."},stepUninitialized:{create:"Vorrei configurare un nuovo BitBox02.",restore:"Vorrei ripristinare il mio portafoglio da un backup.",restoreMicroSD:"Ripristina dalla scheda microSD",restoreMnemonic:"Ripristina utilizzando le parole di recupero",title:"Configurare il BitBox02"},success:{text:`Urrà! Il tuo BitBox02 è ora pronto all'uso. -Per ulteriori informazioni su come utilizzare la BitBoxApp, si prega di utilizzare la guida in-app cliccando sul punto di domanda in alto a destra.`,title:"Pronti a partire!"}},L9={button:"Lampeggia"},I9={button:"Aggiornare il firmware",button_install:"Installa il firmware adesso",progress:"Aggiornamento: {{progress}}%",progress_install:`Installazione: {{progress}}% -`,success:"Aggiornamento riuscito! Ricollegare il dispositivo. Questa volta non toccare il pulsante."},$9={abort:"Interrompere",back:"Indietro",buy:"Acquista",changepin:"Cambia la password del dispositivo",check:"Verifica il backup",continue:"Continua",copy:"Copia",create:"Creare",dismiss:"Sospendi",done:"Fatto",download:"Scarica",hiddenwallet:"Crea un portafoglio nascosto",next:"Successivo",ok:"OK",previous:"Precedente",receive:"Ricevi",restore:"Ripristina",select:"Selezionare",send:"Invia",unlock:"Sblocca",update:"Aggiorna",upgrade:"Aggiorna"},M9={exchange:{bankTransfer:"Bonifico bancario",bestDeal:"Miglior prezzo",creditCard:"Carta di credito",fast:"Rapido",fee:"commissione",infoContent:{moonpay:{fees:{bankTransfer:"Bonifico Bancario: {{fee}}%",creditDebitCard:"Carta di debito/credito: {{fee}}%",learnMore:"Scopri di più su Moonpay",title:"Commissioni"},fullCurrenciesList:"Vedi la lista completa di valute qui",payment:{asteriskText:"* Non disponibile per i residenti in US",bankTransfer:"Bonifico bancario*",bankTransferDetails:{pix:"PIX (Transazioni BR esclusivamente in Brasile)",sepa:"SEPA e SEPA istantaneo (transazioni EUR esclusivamente in Paesi SEPA)",uk:"UK Faster Payments (transazioni GBP esclusivamente in UK)"},creditDebitCard:"Carta di credito/debito",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa e Maestro"},learnMore:"Vedi più dettagli sui metodi di pagamento",title:"Metodi di pagamento"},supportedCurrencies:"Supporta tutte le principali valute fiat: USD, EUR, CHF, and altre."},pocket:{fees:{info:"Bonifico bancario: {{fee}}%",title:"Commissioni"},learnMore:"Scopri di più su Pocket",payment:{bankTransfer:"Bonifico bancario",bankTransferDetails:{sepa:"SEPA e SEPA istantaneo (per le transazioni in EUR nei Paesi SEPA)",sic:"Swiss Interbank Clearing (per le transazioni in CHF in CH/LI)",uk:"UK Faster Payments (per le transazioni GBP in UK)"},bankTransferReccuring:"Come impostare degli acquisti ricorrenti tramite un ordine permanente?",title:"Metodi di pagamento"},supportedCurrencies:"Supporta le seguenti valute Europee: EUR, GBP e CHF",verification:{info:"Richiede una verifica dell'identità solamente al di sopra delle soglie giornaliere ed annuali",link:"Trova le soglie aggiornate qui",title:"Verifica dell'identità"}},region:{title:"Selezione il Paese in cui hai registrato il tuo conto bancario per vedere le opzioni disponibili per te."}},noExchanges:"Mi dispiace, non ci sono exchange disponibili in questo Paese",region:"Paese",selectRegion:"Non specificato",title:"Compra {{name}}"},info:{continue:"Accetta e continua",crypto:"crypto",disclaimer:{intro:["Siamo una partnership MoonPay per offrirti un modo semplice per comprare {{name}} direttamente all'interno della BitBoxApp. Bastano pochi click.","MoonPay è una piattaforma che rende comprare {{name}} facile e veloce in oltre 160 paesi."],payment:{details:"Puoi comprare {{name}} istantaneamente tramite MoonPay con i seguenti metodi di pagamento. Gli ordini con carta di credito o di debito sono immediati e convenienti, ma più costosi a causa del maggior rischio di chargeback. Raccomandiamo di usare l'opzione del bonifico bancario per importi maggiori. La tariffa minima è di 4 USD/EUR o equivalente.",footnote:"Si prega di notare che i tassi di cambio di MoonPay possono differire da quelli utilizzati nella BitBoxApp, risultando in importi leggermente diversi.",table:{"1_description":"Tariffe più basse, possono richiedere fino a 3 giorni lavorativi","1_method":"Trasferimenti bancari (SEPA)","2_description":"Commissioni più alte, ma veloce ed istantaneo","2_method":"Carte di debito e credito",description:"Descrizione",fee:"Commissione",method:"Metodo"},title:"Metodi di pagamento e commissioni"},privacyPolicy:"Privacy policy di MoonPay",protection:{description:"La BitBoxApp non raccoglie alcun dato quando si acquista {{name}} ed i fondi in entrata sono trattati come una normale transazione. MoonPay ha bisogno di raccogliere alcuni dati personali per operare. La loro privacy policy spiega in dettaglio come questi dati vengono gestiti.",descriptionGeneric:"BitBoxApp non registra nessun dato durante l'acquisto di {{name}}, i fondi in entrata sono trattati come comuni transazioni. Ciò nonostante, gli exchange partner hanno bisogno di alcune informazioni per poter operare. Fai riferimento alle rispettive privacy policy per verificare come i dati vengono gestiti.",title:"Protezione dei dati"},security:{description:`Quando acquisti {{name}} tramite MoonPay, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione.`,descriptionGeneric:`Quando acquisti {{name}} tramite un exchange partner, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione.`,link:"Security threat model",title:"Security model"},title:"Benvenuto nel tuo sportello unico per l'acquisto di {{name}}"},next:"Prossimo",selectLabel:"Scegli un account",selectPlaceholder:"Seleziona una valuta",skip:"Non mostrare più",title:"Acquista {{name}}"},pocket:{data:{link:"Privacy policy di Pocket",p1:"BitBoxApp non registra nessun dato durante l'acquisto di Bitcoin, i fondi in entrata sono trattati come comuni transazioni. Pocket ha bisogno di alcune informazioni personali per poter operare. La loro privacy policy spiega in dettaglio come i dati vengono gestiti.",title:"Protezione dei dati"},kyc:{link:"Leggi le FAQ di Pocket",p1:"Pocket cerca di mantenere al minimo il KYC. Per acquisti al di sotto dei 950 EUR (1000 CHF) al giorno, non è necessario nessun documento aggiuntivo. Per acquisti di importi superiori, sarà necessario programmare una call con Pocket per completare le necessarie procedure KYC/AML.",title:"KYC/AML"},payment:{p1:"Puoi comprare Bitcoin istantaneamente con Pocket tramite un bonifico bancario SEPA. La commissione è del 1,5% e i Bitcoin vengono depositati sul tuo BitBox appena possibile una volta che Pocket ha ricevuto il bonifico (di solito in giornata).",p2:"Si prega di notare che i tassi di scambio utilizzati da Pocket potrebbero differire da quelli utilizzati nella BitBoxApp, risultando in importi leggermente diversi.",title:"Metodi di pagamento e commissioni"},previousTransactions:"Lo storico di transazioni di questo account non è vuoto. Condividere questo account renderà tutte le transazioni passate e future visibili per Pocket. Procedere comunque? ",security:{link:'"BitBox02 security threat model"',p1:`Quando acquisti Bitcoin tramite Pocket, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione. Comunque, lavoriamo insieme per migliorare la sicurezza utilizzando un meccanismo di autenticazione a due fattori per verificare il tuo indirizzo di ricezione.`,title:"Modello di sicurezza "},usedAddress:"L'indirizzo {{address}} è già stato utilizzato, per favore ricomincia da capo con un nuovo indirizzo.",verifyBitBox02:"Per favore, verifica che l'indirizzo che hai ricevuto via email corrisponda a quello visualizzato sul tuo BitBox. Se possibile, dovresti aprire la mail su un secondo dispositivo per maggiore sicurezza.",welcome:{p1:"Collaboriamo con Pocket per offrirti un modo fluido per acquistare Bitcoin direttamente nella BitBoxApp. Sono solo pochi click.",p2:"Pocket è una piattaforma Svizzera che rende semplice e veloce acquistare Bitcoin in gran parte dell'Europa (ovunque un bonifico bancario SEPA sia supportato).",p3:"Con Pocket, puoi anche acquistare regolarmente tramite singoli bonifici bancari, quindi puoi fare DCA (dollar-cost averaging) con semplicità.",title:"Benvenuto nel tuo sportello unico per l'acquisto di Bitcoin"}},title:"Acquista {{name}}"},O9={newTitle:"Nuova password del dispositivo",oldLabel:"Password attuale del dispositivo"},R9={dataMissing:"Raccolta di dati ... rimanete collegati.",dataOldTimestamp:"Aggiornamento dei tassi di cambio storici. Il grafico non visualizza dati posteriori al {{time}}",dataUpdating:"aggiornamento dei dati ...",filter:{all:"Tutto",month:"Mese",week:"Settimana",year:"Anno"}},F9="verifica della scheda microSD",V9="Clicca qui.",W9={abortInfo:"Tocca per",abortInfoRedText:"interrompere",approveInfo:"Tocca per almeno 4 secondi per",approveInfoGreenText:"confermare",info:"Continua sul tuo BitBox",infoWhenPaired:"Prima sul cellulare accoppiato e poi sul tuo BitBox"},U9="Conferma sul tuo dispositivo.",q9={promptNoName:"Connetti il tuo BitBox02 per continuare",promptWithName:'Connetti il tuo BitBox02 con nome "{{name}}" per continuare'},H9={toggle:"Modalità scura"},K9={appUpradeRequired:"Il tuo BitBox non è compatibile con questa versione dell'applicazione desktop. Installa l'ultima versione."},G9={button:"Abilita autenticazione a due fattori (2FA)",condition1:"Hai un backup?",condition2:"La verifica via applicazione mobile funziona?",condition3:"2FA DISABILITA i backup e l'abbinamento dell'applicazione mobile. Il dispositivo deve essere resettato per uscire da 2FA!",confirm:"Abilita autenticazione a due fattori (2FA)",title:"Abilita autenticazione a due fattori (2FA)"},Q9={backups:{manageBackups:{description:"Crea o verifica il tuo backup su microSD."},showRecoveryWords:{description:"Mostra e verifica le parole di recupero."},title:"Backup"},deviceInformation:{attestation:{description:"La BitBoxApp verifica che il tuo dispositivo sia autentico."},deviceName:{description:"Modifica il nome del tuo dispositivo."},rootFingerprint:{description:"La root fingerprint è un identificatore univoco del portafogli attualmente in uso. Ti può aiutare a distinguere portafogli diversi se usi la passphrase."},securechip:{description:"Modello del secur chip."},title:"Informazioni sul dispositivo"},expert:{factoryReset:{description:"Ripristina il dispositivo alle impostazioni di fabbrica. Questo cancella il portafogli sul tuo BitBox02!",title:"Ripristino alle impostazioni di fabbrica"},goToStartupSettings:{description:"Entra nel bootloader del BitBox02. Da qui puoi abilitare il firmware hash"},passphrase:{description:"Abilita o disabilita la passphrase.",title:"Passphrase"}},firmware:{firmwareVersion:"Versione Firmware",newVersion:{label:"Versione disponibile"},title:"Firmware",upToDate:"Il tuo dispositivo è aggiornato",upgradeAvailable:"Nuovo upgrade disponibile",version:{label:"Versione"}},hardware:{attestation:{false:"Verifica di autenticità fallita",label:"Verifica di autenticità",true:"Il tuo Bitbox02 è autentico"},sdcard:{false:"Non inserita",label:"carta microSD",true:"Inserita"},securechip:"Secure chip",title:"Hardware"},loading:"Recupero delle informazioni sul dispositivo...",pairing:{lock:{false:"Disabilitato",label:"Autenticazione a due fattori",true:"Abilitato"},mobile:{false:"Chiuso",label:"Applicazione mobile",true:"Aperto"},status:{false:"Non abbinato",label:"Status",true:"Abbinato"},title:"Abbinamento"},secrets:{manageBackups:"Gestione backup",title:"Segreti"}},Y9="Il tuo BitBox è stato fornito con una password di recupero? Se è così, interrompi il processo di configurazione e contatta il supporto immediatamente. Shift non ti fornirà mai un portafoglio pronto né ti consiglierà una password.",Z9={cancel:"Annulla",confirm:"Conferma",confirmTitle:"Conferma"},J9={accountAlreadyExists:"L'account esiste già.",accountLimitReached:"Impossibile aggiungere un account. È stato raggiunto il numero massimo di account per questa moneta.",aoppCallback:`Si è verificato un errore nella consegna dell'indirizzo a {{host}}. +Per ulteriori informazioni su come utilizzare la BitBoxApp, si prega di utilizzare la guida in-app cliccando sul punto di domanda in alto a destra.`,title:"Pronti a partire!"}},LH={button:"Lampeggia"},IH={button:"Aggiornare il firmware",button_install:"Installa il firmware adesso",progress:"Aggiornamento: {{progress}}%",progress_install:`Installazione: {{progress}}% +`,success:"Aggiornamento riuscito! Ricollegare il dispositivo. Questa volta non toccare il pulsante."},$H={abort:"Interrompere",back:"Indietro",buy:"Acquista",changepin:"Cambia la password del dispositivo",check:"Verifica il backup",continue:"Continua",copy:"Copia",create:"Creare",dismiss:"Sospendi",done:"Fatto",download:"Scarica",hiddenwallet:"Crea un portafoglio nascosto",next:"Successivo",ok:"OK",previous:"Precedente",receive:"Ricevi",restore:"Ripristina",select:"Selezionare",send:"Invia",unlock:"Sblocca",update:"Aggiorna",upgrade:"Aggiorna"},MH={exchange:{bankTransfer:"Bonifico bancario",bestDeal:"Miglior prezzo",creditCard:"Carta di credito",fast:"Rapido",fee:"commissione",infoContent:{moonpay:{fees:{bankTransfer:"Bonifico Bancario: {{fee}}%",creditDebitCard:"Carta di debito/credito: {{fee}}%",learnMore:"Scopri di più su Moonpay",title:"Commissioni"},fullCurrenciesList:"Vedi la lista completa di valute qui",payment:{asteriskText:"* Non disponibile per i residenti in US",bankTransfer:"Bonifico bancario*",bankTransferDetails:{pix:"PIX (Transazioni BR esclusivamente in Brasile)",sepa:"SEPA e SEPA istantaneo (transazioni EUR esclusivamente in Paesi SEPA)",uk:"UK Faster Payments (transazioni GBP esclusivamente in UK)"},creditDebitCard:"Carta di credito/debito",creditDebitCardDetails:{cards:"Amex, Mastercard, Visa e Maestro"},learnMore:"Vedi più dettagli sui metodi di pagamento",title:"Metodi di pagamento"},supportedCurrencies:"Supporta tutte le principali valute fiat: USD, EUR, CHF, and altre."},pocket:{fees:{info:"Bonifico bancario: {{fee}}%",title:"Commissioni"},learnMore:"Scopri di più su Pocket",payment:{bankTransfer:"Bonifico bancario",bankTransferDetails:{sepa:"SEPA e SEPA istantaneo (per le transazioni in EUR nei Paesi SEPA)",sic:"Swiss Interbank Clearing (per le transazioni in CHF in CH/LI)",uk:"UK Faster Payments (per le transazioni GBP in UK)"},bankTransferReccuring:"Come impostare degli acquisti ricorrenti tramite un ordine permanente?",title:"Metodi di pagamento"},supportedCurrencies:"Supporta le seguenti valute Europee: EUR, GBP e CHF",verification:{info:"Richiede una verifica dell'identità solamente al di sopra delle soglie giornaliere ed annuali",link:"Trova le soglie aggiornate qui",title:"Verifica dell'identità"}},region:{title:"Selezione il Paese in cui hai registrato il tuo conto bancario per vedere le opzioni disponibili per te."}},noExchanges:"Mi dispiace, non ci sono exchange disponibili in questo Paese",region:"Paese",selectRegion:"Non specificato",title:"Compra {{name}}"},info:{continue:"Accetta e continua",crypto:"crypto",disclaimer:{intro:["Siamo una partnership MoonPay per offrirti un modo semplice per comprare {{name}} direttamente all'interno della BitBoxApp. Bastano pochi click.","MoonPay è una piattaforma che rende comprare {{name}} facile e veloce in oltre 160 paesi."],payment:{details:"Puoi comprare {{name}} istantaneamente tramite MoonPay con i seguenti metodi di pagamento. Gli ordini con carta di credito o di debito sono immediati e convenienti, ma più costosi a causa del maggior rischio di chargeback. Raccomandiamo di usare l'opzione del bonifico bancario per importi maggiori. La tariffa minima è di 4 USD/EUR o equivalente.",footnote:"Si prega di notare che i tassi di cambio di MoonPay possono differire da quelli utilizzati nella BitBoxApp, risultando in importi leggermente diversi.",table:{"1_description":"Tariffe più basse, possono richiedere fino a 3 giorni lavorativi","1_method":"Trasferimenti bancari (SEPA)","2_description":"Commissioni più alte, ma veloce ed istantaneo","2_method":"Carte di debito e credito",description:"Descrizione",fee:"Commissione",method:"Metodo"},title:"Metodi di pagamento e commissioni"},privacyPolicy:"Privacy policy di MoonPay",protection:{description:"La BitBoxApp non raccoglie alcun dato quando si acquista {{name}} ed i fondi in entrata sono trattati come una normale transazione. MoonPay ha bisogno di raccogliere alcuni dati personali per operare. La loro privacy policy spiega in dettaglio come questi dati vengono gestiti.",descriptionGeneric:"BitBoxApp non registra nessun dato durante l'acquisto di {{name}}, i fondi in entrata sono trattati come comuni transazioni. Ciò nonostante, gli exchange partner hanno bisogno di alcune informazioni per poter operare. Fai riferimento alle rispettive privacy policy per verificare come i dati vengono gestiti.",title:"Protezione dei dati"},security:{description:`Quando acquisti {{name}} tramite MoonPay, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione.`,descriptionGeneric:`Quando acquisti {{name}} tramite un exchange partner, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione.`,link:"Security threat model",title:"Security model"},title:"Benvenuto nel tuo sportello unico per l'acquisto di {{name}}"},next:"Prossimo",selectLabel:"Scegli un account",selectPlaceholder:"Seleziona una valuta",skip:"Non mostrare più",title:"Acquista {{name}}"},pocket:{data:{link:"Privacy policy di Pocket",p1:"BitBoxApp non registra nessun dato durante l'acquisto di Bitcoin, i fondi in entrata sono trattati come comuni transazioni. Pocket ha bisogno di alcune informazioni personali per poter operare. La loro privacy policy spiega in dettaglio come i dati vengono gestiti.",title:"Protezione dei dati"},kyc:{link:"Leggi le FAQ di Pocket",p1:"Pocket cerca di mantenere al minimo il KYC. Per acquisti al di sotto dei 950 EUR (1000 CHF) al giorno, non è necessario nessun documento aggiuntivo. Per acquisti di importi superiori, sarà necessario programmare una call con Pocket per completare le necessarie procedure KYC/AML.",title:"KYC/AML"},payment:{p1:"Puoi comprare Bitcoin istantaneamente con Pocket tramite un bonifico bancario SEPA. La commissione è del 1,5% e i Bitcoin vengono depositati sul tuo BitBox appena possibile una volta che Pocket ha ricevuto il bonifico (di solito in giornata).",p2:"Si prega di notare che i tassi di scambio utilizzati da Pocket potrebbero differire da quelli utilizzati nella BitBoxApp, risultando in importi leggermente diversi.",title:"Metodi di pagamento e commissioni"},previousTransactions:"Lo storico di transazioni di questo account non è vuoto. Condividere questo account renderà tutte le transazioni passate e future visibili per Pocket. Procedere comunque? ",security:{link:'"BitBox02 security threat model"',p1:`Quando acquisti Bitcoin tramite Pocket, stai usando un servizio esterno. Questo servizio è fuori dall'ambito del "Securiy Threat model" del BitBox02 e si affida al grado di sicurezza dell'ambiente in cui il software BitBoxApp è in esecuzione. Comunque, lavoriamo insieme per migliorare la sicurezza utilizzando un meccanismo di autenticazione a due fattori per verificare il tuo indirizzo di ricezione.`,title:"Modello di sicurezza "},usedAddress:"L'indirizzo {{address}} è già stato utilizzato, per favore ricomincia da capo con un nuovo indirizzo.",verifyBitBox02:"Per favore, verifica che l'indirizzo che hai ricevuto via email corrisponda a quello visualizzato sul tuo BitBox. Se possibile, dovresti aprire la mail su un secondo dispositivo per maggiore sicurezza.",welcome:{p1:"Collaboriamo con Pocket per offrirti un modo fluido per acquistare Bitcoin direttamente nella BitBoxApp. Sono solo pochi click.",p2:"Pocket è una piattaforma Svizzera che rende semplice e veloce acquistare Bitcoin in gran parte dell'Europa (ovunque un bonifico bancario SEPA sia supportato).",p3:"Con Pocket, puoi anche acquistare regolarmente tramite singoli bonifici bancari, quindi puoi fare DCA (dollar-cost averaging) con semplicità.",title:"Benvenuto nel tuo sportello unico per l'acquisto di Bitcoin"}},title:"Acquista {{name}}"},OH={newTitle:"Nuova password del dispositivo",oldLabel:"Password attuale del dispositivo"},RH={dataMissing:"Raccolta di dati ... rimanete collegati.",dataOldTimestamp:"Aggiornamento dei tassi di cambio storici. Il grafico non visualizza dati posteriori al {{time}}",dataUpdating:"aggiornamento dei dati ...",filter:{all:"Tutto",month:"Mese",week:"Settimana",year:"Anno"}},FH="verifica della scheda microSD",VH="Clicca qui.",WH={abortInfo:"Tocca per",abortInfoRedText:"interrompere",approveInfo:"Tocca per almeno 4 secondi per",approveInfoGreenText:"confermare",info:"Continua sul tuo BitBox",infoWhenPaired:"Prima sul cellulare accoppiato e poi sul tuo BitBox"},UH="Conferma sul tuo dispositivo.",qH={promptNoName:"Connetti il tuo BitBox02 per continuare",promptWithName:'Connetti il tuo BitBox02 con nome "{{name}}" per continuare'},HH={toggle:"Modalità scura"},KH={appUpradeRequired:"Il tuo BitBox non è compatibile con questa versione dell'applicazione desktop. Installa l'ultima versione."},GH={button:"Abilita autenticazione a due fattori (2FA)",condition1:"Hai un backup?",condition2:"La verifica via applicazione mobile funziona?",condition3:"2FA DISABILITA i backup e l'abbinamento dell'applicazione mobile. Il dispositivo deve essere resettato per uscire da 2FA!",confirm:"Abilita autenticazione a due fattori (2FA)",title:"Abilita autenticazione a due fattori (2FA)"},QH={backups:{manageBackups:{description:"Crea o verifica il tuo backup su microSD."},showRecoveryWords:{description:"Mostra e verifica le parole di recupero."},title:"Backup"},deviceInformation:{attestation:{description:"La BitBoxApp verifica che il tuo dispositivo sia autentico."},deviceName:{description:"Modifica il nome del tuo dispositivo."},rootFingerprint:{description:"La root fingerprint è un identificatore univoco del portafogli attualmente in uso. Ti può aiutare a distinguere portafogli diversi se usi la passphrase."},securechip:{description:"Modello del secur chip."},title:"Informazioni sul dispositivo"},expert:{factoryReset:{description:"Ripristina il dispositivo alle impostazioni di fabbrica. Questo cancella il portafogli sul tuo BitBox02!",title:"Ripristino alle impostazioni di fabbrica"},goToStartupSettings:{description:"Entra nel bootloader del BitBox02. Da qui puoi abilitare il firmware hash"},passphrase:{description:"Abilita o disabilita la passphrase.",title:"Passphrase"}},firmware:{firmwareVersion:"Versione Firmware",newVersion:{label:"Versione disponibile"},title:"Firmware",upToDate:"Il tuo dispositivo è aggiornato",upgradeAvailable:"Nuovo upgrade disponibile",version:{label:"Versione"}},hardware:{attestation:{false:"Verifica di autenticità fallita",label:"Verifica di autenticità",true:"Il tuo Bitbox02 è autentico"},sdcard:{false:"Non inserita",label:"carta microSD",true:"Inserita"},securechip:"Secure chip",title:"Hardware"},loading:"Recupero delle informazioni sul dispositivo...",pairing:{lock:{false:"Disabilitato",label:"Autenticazione a due fattori",true:"Abilitato"},mobile:{false:"Chiuso",label:"Applicazione mobile",true:"Aperto"},status:{false:"Non abbinato",label:"Status",true:"Abbinato"},title:"Abbinamento"},secrets:{manageBackups:"Gestione backup",title:"Segreti"}},YH="Il tuo BitBox è stato fornito con una password di recupero? Se è così, interrompi il processo di configurazione e contatta il supporto immediatamente. Shift non ti fornirà mai un portafoglio pronto né ti consiglierà una password.",ZH={cancel:"Annulla",confirm:"Conferma",confirmTitle:"Conferma"},JH={accountAlreadyExists:"L'account esiste già.",accountLimitReached:"Impossibile aggiungere un account. È stato raggiunto il numero massimo di account per questa moneta.",aoppCallback:`Si è verificato un errore nella consegna dell'indirizzo a {{host}}. `,aoppInvalidRequest:"Richiesta non valida",aoppNoAccounts:"Non ci sono account disponibili.",aoppSigningAborted:`Richiesta di proprietà dell'indirizzo annullata. `,aoppUnknown:`Si è verificato un errore sconosciuto. `,aoppUnsupportedAsset:"The asset is not supported.",aoppUnsupportedFormat:"Non ci sono account disponibili che supportino il formato di indirizzo richiesto.",aoppUnsupportedKeystore:`Il dispositivo collegato non può firmare i messaggi per questo asset. -`,aoppVersion:"Versione sconosciuta.",wrongKeystore:"Portafogli connesso errato. Assicurati di inserire il dispositivo corretto per questo account.",wrongKeystore2:"Se stai utilizzando la passphrase opzionale, assicurati di avere inserito quella corretta per questo account."},X9={default:"predefinito",setDefault:"Imposta {{code}} come valuta predefinita",title:"Valute"},eH={appVersion:"Versione dell'app:"},tH={enabled_false:"Disabilitato",enabled_true:"Abilitato"},nH="Si è verificato un errore. Se noti qualche problema, riavvia l'applicazione.",aH={buttons:{create:"Creare un nuovo portafoglio",restore:"Ripristina un portafoglio dal backup"},paragraph:"Seleziona una delle seguenti opzioni:",step:{1:{title:"Informazioni sulla sicurezza"},2:{description:"Impostare la password del dispositivo",title:"Dispositivo"},"3-create":{description:"Crea un nuovo portafoglio",title:"Portafoglio"},"3-restore":{description:"da un backup",title:"Ripristina"},"4-create":{title:"Riassunto"},"4-restore":{title:"Riassunto"}}},iH={accountDescription:{text:"La panoramica dell'account mostra il tuo saldo disponibile e le transazioni in entrata e in uscita. La nostra guida in 'Impostazioni' contiene maggiori informazioni sui diversi tipi di account. ",title:"Cosa contiene questa pagina?"},accountFiat:{text:"Si. Clicca su qualsiasi ticker per scorrere tra le valute fiat. Puoi cambiare la lista delle valute nelle impostazioni.",title:"Posso visualizzare altri tassi di conversione?"},accountIncomingBalance:{text:"Le somme in entrata riassumono gli importi trasferiti a voi ma non ancora confermati dalla rete.",title:"Cosa significa somme in entrata?"},accountInfo:{multipleXPubs:{text:`Ogni xpub è legata al "Tipo" indicato: "Native Segwit (bech32)", "Wrapped Segwit" o "Taproot" (solo Bitcoin). Questi sono i tipi di script utilizzati da {{coinName}}. La BitBoxApp li combina, supportando più tipi di script nello stesso account. Poiché ogni tipo di script fornisce un xpub diverso, esistono più xpub per account. +`,aoppVersion:"Versione sconosciuta.",wrongKeystore:"Portafogli connesso errato. Assicurati di inserire il dispositivo corretto per questo account.",wrongKeystore2:"Se stai utilizzando la passphrase opzionale, assicurati di avere inserito quella corretta per questo account."},XH={default:"predefinito",setDefault:"Imposta {{code}} come valuta predefinita",title:"Valute"},e9={appVersion:"Versione dell'app:"},t9={enabled_false:"Disabilitato",enabled_true:"Abilitato"},n9="Si è verificato un errore. Se noti qualche problema, riavvia l'applicazione.",a9={buttons:{create:"Creare un nuovo portafoglio",restore:"Ripristina un portafoglio dal backup"},paragraph:"Seleziona una delle seguenti opzioni:",step:{1:{title:"Informazioni sulla sicurezza"},2:{description:"Impostare la password del dispositivo",title:"Dispositivo"},"3-create":{description:"Crea un nuovo portafoglio",title:"Portafoglio"},"3-restore":{description:"da un backup",title:"Ripristina"},"4-create":{title:"Riassunto"},"4-restore":{title:"Riassunto"}}},i9={accountDescription:{text:"La panoramica dell'account mostra il tuo saldo disponibile e le transazioni in entrata e in uscita. La nostra guida in 'Impostazioni' contiene maggiori informazioni sui diversi tipi di account. ",title:"Cosa contiene questa pagina?"},accountFiat:{text:"Si. Clicca su qualsiasi ticker per scorrere tra le valute fiat. Puoi cambiare la lista delle valute nelle impostazioni.",title:"Posso visualizzare altri tassi di conversione?"},accountIncomingBalance:{text:"Le somme in entrata riassumono gli importi trasferiti a voi ma non ancora confermati dalla rete.",title:"Cosa significa somme in entrata?"},accountInfo:{multipleXPubs:{text:`Ogni xpub è legata al "Tipo" indicato: "Native Segwit (bech32)", "Wrapped Segwit" o "Taproot" (solo Bitcoin). Questi sono i tipi di script utilizzati da {{coinName}}. La BitBoxApp li combina, supportando più tipi di script nello stesso account. Poiché ogni tipo di script fornisce un xpub diverso, esistono più xpub per account. Se si riceve sempre sull'indirizzo predefinito (Native Segwit), è necessario solo l'xpub "bech32". Tuttavia, se si ricevono fondi anche su "Wrapped Segwit" o "Taproot", è necessario utilizzare anche le chiavi pubbliche estese "Wrapped Segwit" e "Taproot" rispettivamente.`,title:`Perché ci sono diverse xpub? `},privacy:{text:`Per questo specifico account, la chiave pubblica estesa rivela l'intera storia finanziaria, il saldo dell'account e tutte le transazioni future. L'xpub però non consente a nessuno di spendere i tuoi fondi. @@ -1244,7 +1244,7 @@ In secondo luogo, utilizzare il tuo nodo significa che il tuo nodo verifica tutt L'app recupera anche gli ultimi tassi di cambio da CoinGecko. Tutte le conversioni sono calcolate localmente, il che significa che nessun dato sull'importo della tua transazione viene mai trasmesso. Nota: Per Ethereum e i Token ERC20, usiamo le API di Etherscan.io.`,title:"A quali server si connette questa app?"}},title:"Guida",toggle:{close:"Chiudi guida",open:"Guida"},trackingModePortfolioChart:{text:"Su Desktop, sposta il cursore sopra al grafico. Da mobile, tieni il dito premuto sul grafico e spostalo orizzontalmente.",title:"Come visualizzare lo storico dei prezzi sul grafico? "},unlock:{forgotDevicePassword:{text:"Devi resettare il dispositivo e ripristinare il portafoglio da un backup, utilizzando la password di recupero.",title:"Cosa devo fare se ho dimenticato la password del dispositivo?"},reset:{text:"Inserisci una password errata del dispositivo per 15 volte. Gli ultimi tentativi richiedono un lungo tocco sul dispositivo.",title:"Come faccio a resettare il dispositivo?"}},waiting:{deviceNotRecognized:{text:`Il dispositivo dovrebbe lampeggiare una volta quando viene inserito. Assicurati che sia inserito nel modo giusto. Se hai problemi, contattaci attraverso il link qui sotto. -Il BitBox01 non è supportato su dispositivi mobili. Utilizzare la BitBoxApp su desktop per collegare il BitBox01.`,title:"Il mio BitBox01 non viene riconosciuto"},getDevice:{link:{text:"Ordina un BitBox"},text:"Puoi comprare una BitBox nel nostro negozio online:",title:"Come posso ottenere un dispositivo?"},internet:{text:"Sì, è necessaria una connessione internet per sincronizzare il portafoglio, inviare transazioni e recuperare gli ultimi tassi di cambio.",title:"Questa app richiede una connessione a internet?"},lostDevice:{link:{text:"Backup center"},text:"Puoi recuperare i tuoi account su un nuovo BitBox o con il nostro Backup center.",title:"Ho perso il mio dispositivo. E adesso?"},useWithoutDevice:{text:"Purtroppo, questo non è ancora possibile al momento.",title:"Posso usare l'applicazione senza un dispositivo?"},welcome:{text:"Grazie per aver usato questa app costruita da Shift Crypto in Svizzera. Apprezziamo qualsiasi input che hai da condividere. Inviaci il tuo feedback utilizzando il link in basso.",title:"Benvenuti nella BitBoxApp!"}},walletConnect:{noPreviousConnections:{text:"Se utilizzi la BitBoxApp su un nuovo telefono/computer, dovrai riconnetterti alle DApp per vedere le valute collegate come al solito.",title:"Non vedo le mie connessioni precedenti."},supportedNetworks:{text:"Al momento, solo la mainnet Ethereum è supportata da WalletConnect nella BiBoxApp. Se hai bisogno di un portafogli per altre chain EVM puoi utilizzare l'estensione per il browser Rabby.",title:"Quali reti sono supportate?"},whatIsWalletConnect:{text:"WalletConnect è un protocollo di comunicazione per applicazioni web3. Ti permette di connetterti comodamente a DApp e portafogli web senza dover usare un'altra app. Particolarmente utile per gli utenti Android della BitBoxApp.",title:"Cos'è WalletConnect?"}}},oH={blocksSynced:"{{blocks}} blocchi sincronizzati"},rH={info1HTML:"Per scopi di negazione plausibile, un portafoglio nascosto può essere creato sulla base di una combinazione diversa di password del dispositivo + password di recupero.",info2HTML:"Definisci la password del dispositivo e la password di recupero che vuoi associare al tuo portafoglio nascosto qui sotto. La password del dispositivo e la password di recupero devono essere diverse da quelle che hai definito per il tuo portafoglio principale.",passwordLabel:"Password di recupero nascosta",passwordPlaceholder:"Si prega di confermare la password di recupero nascosta",pinLabel:"Password nascosta del dispositivo",pinRepeatLabel:"Ripetere la password del dispositivo nascosto",pinRepeatPlaceholder:"Si prega di confermare la password del dispositivo nascosto",success:"Portafoglio nascosto creato con successo. Ricollega il tuo BitBox per sbloccarlo."},sH={create:"Imposta la password del dispositivo",creating:"Impostazione della password del dispositivo...",error:{e102:"La password del dispositivo deve essere composta da almeno 4 caratteri."},info:{description1:"Scegli la password del tuo dispositivo. Questa sarà usata per sbloccare il tuo BitBox.",description2:"Puoi usare numeri, lettere e simboli. Password più lunghe offrono maggiore sicurezza.",description3:"Se perdi la password del dispositivo, dovrai resettare il tuo dispositivo e ripristinare il backup del portafoglio.",subtitle:"Ora imposterai la password del tuo dispositivo",title:"Inizializzazione del dispositivo"},input:{label:"Password del dispositivo",labelRepeat:"Ripetere la password del dispositivo",placeholderRepeat:"Si prega di confermare la password del dispositivo"}},lH="Formato non valido",cH={title:"Seleziona lingua"},uH={disable:"Disattiva il portafoglio nascosto legacy",enable:"Abilita il portafoglio nascosto legacy",successDisable:"Portafoglio nascosto legacy disattivato con successo",successEnable:"Il portafoglio nascosto legacy è stato attivato con successo. Ricollega il tuo BitBox e inserisci la password del dispositivo nascosto per accedere al portafoglio nascosto legacy."},dH="caricamento...",pH={accountHidden:"Questo account è stato nascosto dalla lista degli account watch-only. Per vederlo di nuovo, connetti il tuo BitBox02",editAccount:"Modifica",editAccountNameTitle:"Modifica il nome dell'account",noAccounts:"Nessun account trovato",settings:{hideTokens:"Nascondi token",showTokens:"Mostra token ({{activeTokenCount}})"},settingsButtonDescription:"Aggiungi e mostra/nascondi gli account",title:"Gestisci gli account",watchAccount:"Watch-only account",watchAccountDescription:"Questo account è stato aggiunto alla lista degli account watch-only. Disattiva per nasconderlo."},hH={usingMobileDataWarning:"Utilizzo di dati mobili: dopo aver sbloccato un account questa app può scaricare fino a qualche centinaio di megabyte di dati dell'intestazione della blockchain. Si prega di connettersi al Wi-Fi per evitare di utilizzare i dati mobili. Dopo averlo chiuso, questo messaggio non verrà più visualizzato."},mH={about:{appVersion:{title:"Versione dell'app"}},advancedSettings:{authentication:{description:"Blocca l'accesso all'app con blocco schermo/impronta digitale.",title:"Blocco schermo"},coinControl:{description:"Seleziona quali UTXOs fanno parte di una transazione per aiutarti ad aumentare la tua privacy."},customFees:{description:"Ti permette di inserire una fee a tua discrezione all'invio."},torProxy:{description:"Connettiti tramite Tor per una migliore privacy."}},appearance:{activeCurrencies:{description:"Puoi ruotare tra queste valute aggiuntive dalla pagina del tuo account.",title:"Valute attive"},darkmode:{description:"Visualizza la BitBoxApp in modalità scura."},defaultCurrency:{description:"Selezione la valuta di default",title:"Valuta di default"},hideAmounts:{description:"Visualizza un'opzione per nascondere il tuo bilancio e gli importi per aumentare la tua privacy quando usi l'app in pubblico.",hideAmounts:"Nascondi importi",showAmounts:"Mostra importi",title:"Abilita importi nascosti"},language:{description:"In che lingua preferisci visualizzare la BitBoxApp.",title:"Lingua"},toggleSats:{description:"Abilita o disabilita i Satoshi"}}},fH={input:{description:"(facoltativo)",placeholder:"Aggiungi nota..."},title:"Nota"},gH={newTxs_one:"Nuova transazione in: {{accountName}}",newTxs_other:"{{count}} nuove transazioni in: {{accountName}}"},vH={aborted:{text:"L'abbinamento è stato interrotto dall'applicazione mobile.",title:"Interrotto"},button:"Abbina l'applicazione mobile",confirm:"Sei sicuro/a di voler abbinare il tuo BitBox? Si noti che in seguito, il telefono cellulare sarà necessario per eseguire transazioni.",connectOnly:{button:"Collegare l'applicazione mobile",title:"Esegui la scansione con la nostra applicazione mobile selezionando la voce di menu 'Connetti a nuova applicazione desktop'."},error:{text:"Qualcosa è andato storto. Per favore, ricomincia.",title:"Errore"},pullFailed:{text:"Impossibile estrarre un messaggio dal tuo cellulare attraverso il server relay. Il server potrebbe essere offline, contatta il supporto.",title:"Fallito"},reconnectOnly:{button:"Riconnetti applicazione mobile"},scanningFailed:{text:"Il cellulare non è stato in grado di scansionare il messaggio con successo. Si prega di riprovare.",title:"Scansione fallita"},start:{hideAppQRCode:"Nascondi il codice QR",revealAppQRCode:"Mostra il codice QR",step1:"Se non hai l'applicazione mobile, puoi scansionare il codice QR per l'App Store di Apple o il Play Store di Google, a seconda del telefono che usi.",step2:"Scansiona con la nostra applicazione mobile, che puoi trovare sotto il nome 'Digital Bitbox 2FA' negli app store per iOS e Android:"},started:{text:"Ora segui le istruzioni dell'applicazione mobile.",title:"Ottimo"},success:{text:"Congratulazioni, hai abbinato con successo il tuo BitBox con l'applicazione mobile",title:"Successo"},timeout:{text:"L'abbinamento è scaduto dopo due minuti. Ricomincia se vuoi ancora abbinare l'applicaione mobile.",title:"Timeout"},title:"Abbinamento telefono cellulare"},bH={considerations:{button:`Considerazioni sul backup +Il BitBox01 non è supportato su dispositivi mobili. Utilizzare la BitBoxApp su desktop per collegare il BitBox01.`,title:"Il mio BitBox01 non viene riconosciuto"},getDevice:{link:{text:"Ordina un BitBox"},text:"Puoi comprare una BitBox nel nostro negozio online:",title:"Come posso ottenere un dispositivo?"},internet:{text:"Sì, è necessaria una connessione internet per sincronizzare il portafoglio, inviare transazioni e recuperare gli ultimi tassi di cambio.",title:"Questa app richiede una connessione a internet?"},lostDevice:{link:{text:"Backup center"},text:"Puoi recuperare i tuoi account su un nuovo BitBox o con il nostro Backup center.",title:"Ho perso il mio dispositivo. E adesso?"},useWithoutDevice:{text:"Purtroppo, questo non è ancora possibile al momento.",title:"Posso usare l'applicazione senza un dispositivo?"},welcome:{text:"Grazie per aver usato questa app costruita da Shift Crypto in Svizzera. Apprezziamo qualsiasi input che hai da condividere. Inviaci il tuo feedback utilizzando il link in basso.",title:"Benvenuti nella BitBoxApp!"}},walletConnect:{noPreviousConnections:{text:"Se utilizzi la BitBoxApp su un nuovo telefono/computer, dovrai riconnetterti alle DApp per vedere le valute collegate come al solito.",title:"Non vedo le mie connessioni precedenti."},supportedNetworks:{text:"Al momento, solo la mainnet Ethereum è supportata da WalletConnect nella BiBoxApp. Se hai bisogno di un portafogli per altre chain EVM puoi utilizzare l'estensione per il browser Rabby.",title:"Quali reti sono supportate?"},whatIsWalletConnect:{text:"WalletConnect è un protocollo di comunicazione per applicazioni web3. Ti permette di connetterti comodamente a DApp e portafogli web senza dover usare un'altra app. Particolarmente utile per gli utenti Android della BitBoxApp.",title:"Cos'è WalletConnect?"}}},o9={blocksSynced:"{{blocks}} blocchi sincronizzati"},r9={info1HTML:"Per scopi di negazione plausibile, un portafoglio nascosto può essere creato sulla base di una combinazione diversa di password del dispositivo + password di recupero.",info2HTML:"Definisci la password del dispositivo e la password di recupero che vuoi associare al tuo portafoglio nascosto qui sotto. La password del dispositivo e la password di recupero devono essere diverse da quelle che hai definito per il tuo portafoglio principale.",passwordLabel:"Password di recupero nascosta",passwordPlaceholder:"Si prega di confermare la password di recupero nascosta",pinLabel:"Password nascosta del dispositivo",pinRepeatLabel:"Ripetere la password del dispositivo nascosto",pinRepeatPlaceholder:"Si prega di confermare la password del dispositivo nascosto",success:"Portafoglio nascosto creato con successo. Ricollega il tuo BitBox per sbloccarlo."},s9={create:"Imposta la password del dispositivo",creating:"Impostazione della password del dispositivo...",error:{e102:"La password del dispositivo deve essere composta da almeno 4 caratteri."},info:{description1:"Scegli la password del tuo dispositivo. Questa sarà usata per sbloccare il tuo BitBox.",description2:"Puoi usare numeri, lettere e simboli. Password più lunghe offrono maggiore sicurezza.",description3:"Se perdi la password del dispositivo, dovrai resettare il tuo dispositivo e ripristinare il backup del portafoglio.",subtitle:"Ora imposterai la password del tuo dispositivo",title:"Inizializzazione del dispositivo"},input:{label:"Password del dispositivo",labelRepeat:"Ripetere la password del dispositivo",placeholderRepeat:"Si prega di confermare la password del dispositivo"}},l9="Formato non valido",c9={title:"Seleziona lingua"},u9={disable:"Disattiva il portafoglio nascosto legacy",enable:"Abilita il portafoglio nascosto legacy",successDisable:"Portafoglio nascosto legacy disattivato con successo",successEnable:"Il portafoglio nascosto legacy è stato attivato con successo. Ricollega il tuo BitBox e inserisci la password del dispositivo nascosto per accedere al portafoglio nascosto legacy."},d9="caricamento...",p9={accountHidden:"Questo account è stato nascosto dalla lista degli account watch-only. Per vederlo di nuovo, connetti il tuo BitBox02",editAccount:"Modifica",editAccountNameTitle:"Modifica il nome dell'account",noAccounts:"Nessun account trovato",settings:{hideTokens:"Nascondi token",showTokens:"Mostra token ({{activeTokenCount}})"},settingsButtonDescription:"Aggiungi e mostra/nascondi gli account",title:"Gestisci gli account",watchAccount:"Watch-only account",watchAccountDescription:"Questo account è stato aggiunto alla lista degli account watch-only. Disattiva per nasconderlo."},h9={usingMobileDataWarning:"Utilizzo di dati mobili: dopo aver sbloccato un account questa app può scaricare fino a qualche centinaio di megabyte di dati dell'intestazione della blockchain. Si prega di connettersi al Wi-Fi per evitare di utilizzare i dati mobili. Dopo averlo chiuso, questo messaggio non verrà più visualizzato."},m9={about:{appVersion:{title:"Versione dell'app"}},advancedSettings:{authentication:{description:"Blocca l'accesso all'app con blocco schermo/impronta digitale.",title:"Blocco schermo"},coinControl:{description:"Seleziona quali UTXOs fanno parte di una transazione per aiutarti ad aumentare la tua privacy."},customFees:{description:"Ti permette di inserire una fee a tua discrezione all'invio."},torProxy:{description:"Connettiti tramite Tor per una migliore privacy."}},appearance:{activeCurrencies:{description:"Puoi ruotare tra queste valute aggiuntive dalla pagina del tuo account.",title:"Valute attive"},darkmode:{description:"Visualizza la BitBoxApp in modalità scura."},defaultCurrency:{description:"Selezione la valuta di default",title:"Valuta di default"},hideAmounts:{description:"Visualizza un'opzione per nascondere il tuo bilancio e gli importi per aumentare la tua privacy quando usi l'app in pubblico.",hideAmounts:"Nascondi importi",showAmounts:"Mostra importi",title:"Abilita importi nascosti"},language:{description:"In che lingua preferisci visualizzare la BitBoxApp.",title:"Lingua"},toggleSats:{description:"Abilita o disabilita i Satoshi"}}},f9={input:{description:"(facoltativo)",placeholder:"Aggiungi nota..."},title:"Nota"},g9={newTxs_one:"Nuova transazione in: {{accountName}}",newTxs_other:"{{count}} nuove transazioni in: {{accountName}}"},v9={aborted:{text:"L'abbinamento è stato interrotto dall'applicazione mobile.",title:"Interrotto"},button:"Abbina l'applicazione mobile",confirm:"Sei sicuro/a di voler abbinare il tuo BitBox? Si noti che in seguito, il telefono cellulare sarà necessario per eseguire transazioni.",connectOnly:{button:"Collegare l'applicazione mobile",title:"Esegui la scansione con la nostra applicazione mobile selezionando la voce di menu 'Connetti a nuova applicazione desktop'."},error:{text:"Qualcosa è andato storto. Per favore, ricomincia.",title:"Errore"},pullFailed:{text:"Impossibile estrarre un messaggio dal tuo cellulare attraverso il server relay. Il server potrebbe essere offline, contatta il supporto.",title:"Fallito"},reconnectOnly:{button:"Riconnetti applicazione mobile"},scanningFailed:{text:"Il cellulare non è stato in grado di scansionare il messaggio con successo. Si prega di riprovare.",title:"Scansione fallita"},start:{hideAppQRCode:"Nascondi il codice QR",revealAppQRCode:"Mostra il codice QR",step1:"Se non hai l'applicazione mobile, puoi scansionare il codice QR per l'App Store di Apple o il Play Store di Google, a seconda del telefono che usi.",step2:"Scansiona con la nostra applicazione mobile, che puoi trovare sotto il nome 'Digital Bitbox 2FA' negli app store per iOS e Android:"},started:{text:"Ora segui le istruzioni dell'applicazione mobile.",title:"Ottimo"},success:{text:"Congratulazioni, hai abbinato con successo il tuo BitBox con l'applicazione mobile",title:"Successo"},timeout:{text:"L'abbinamento è scaduto dopo due minuti. Ricomincia se vuoi ancora abbinare l'applicaione mobile.",title:"Timeout"},title:"Abbinamento telefono cellulare"},b9={considerations:{button:`Considerazioni sul backup `,message:`La passphrase aggiunge un livello di protezione al backup del portafoglio (scheda microSD o parole di recupero). Se qualcuno ha accesso al vostro backup, avrà bisogno anche della passphrase per accedere al vostro portafoglio. Tuttavia, questo significa che saranno necessari sia la passphrase che il backup del portafoglio per ripristinare il portafoglio abilitato alla passphrase, nel caso in cui il BitBox02 venga perso o rotto. Se si dimentica o si perde la passphrase, si perde l'accesso a tutte le valute del portafoglio. @@ -1277,11 +1277,11 @@ La passphrase fa parte dello standard BIP39, il che significa che è compatibile Poiché una passphrase crea un nuovo portafoglio utilizzando il seed esistente, il portafoglio con l apassphrase richiede sia il backup che la passphrase per il ripristino. Il vantaggio è che se qualcuno trova il vostro backup, ha comunque bisogno della passphrase per accedere al portafoglio con la passphrase. -Inoltre, la funzione passphrase consente di creare più portafogli sullo stesso dispositivo, o "portafogli nascosti", oltre a quello predefinito.`,title:"Perchè usare una passphrase?"}},kH={show:"Mostra {{label}}",warning:{caps:'per incollare il testo, attivare "MOSTRA {{etichetta}}"',paste:'per incollare il testo, attivare "MOSTRA {{label}}"'}},xH={button:"Genera un numero casuale",description:"Il tuo BitBox ha generato il seguente numero casuale {{bits}}-bit:"},yH={changeScriptType:"Cambia il tipo di indirizzo",label:"Il tuo indirizzo",onlyThisCoin:{description:"Per ricevere altri token, abilitali nelle impostazioni. Se depositi altri token, potrebbero non essere accessibili.",warning:"Assicurati di ricevere solo {{coinName}} su questo indirizzo."},scriptType:{p2tr:"Taproot (formato più recente)",p2wpkh:"Native Segwit (predefinito)","p2wpkh-p2sh":"Wrapped Segwit (formato compatibile)"},selectAccount:"Scegli un account",showFull:"Mostra e verifica l'indirizzo completo sul dispositivo",taprootWarning:"Nota: Taproot è una nuova funzione di Bitcoin e non è ancora ampiamente adottata. I fondi ricevuti sugli indirizzi Taproot potrebbero non essere visibili nei portafogli di terze parti. Molti portafogli e exchange non sono ancora in grado di inviare ad indirizzi Taproot.",title:"Ricevi {{accountName}}",verify:"Verificare l'indirizzo in modo sicuro",verifyBitBox01:"Verificare l'indirizzo sull'applicazione mobile",verifyBitBox02:"Verificare l'indirizzo sul BitBox02",verifyInstruction:"Verifica che il seguente indirizzo corrisponda a quello visualizzato sul tuo dispositivo.",warning:{secureOutput:"Si prega di associare il tuo BitBox con il tuo dispositivo mobile per abilitare la verifica sicura dell'indirizzo. Vai su 'Gestisci dispositivo' nella barra laterale."}},wH={description:"Tutti i dati saranno cancellati dal dispositivo. Inclusa la tua chiave privata!",notReset:"Dispositivo NON resettato.",title:"Ripristino di fabbrica del dispositivo",understand:"Ho un backup e conosco la mia password di recupero",understandBB02:"Ho un backup valido"},jH={create:{description1:"Ti consigliamo di impostare il tuo dispositivo in un ambiente sicuro, cioè lontano da altre persone che potrebbero vedere la password che hai scelto.",description2:"Ti verrà chiesto di creare due password.",description3:"La prima è la password del dispositivo che sblocca il tuo dispositivo BitBox e può essere cambiata in seguito.",description4:"La seconda è la password di recupero che sblocca il tuo portafoglio. Questa password non può essere cambiata in seguito.",description5:"Il portafoglio creato sarà salvato in un file sulla scheda microSD fornita. Questo può essere utilizzato in caso di emergenza per recuperare i tuoi fondi utilizzando la tua password di recupero.",title:"Informazioni di sicurezza"},restore:{description1:"Ti verrà chiesto di inserire la scheda microSD che hai usato per memorizzare il tuo backup.",description2:"Per ripristinare il tuo dispositivo avrai bisogno della tua password di recupero. ",description3:"Fai attenzione quando inserisci la password di recupero. Qualsiasi password inserita creerà un portafoglio valido. Se inserisci la password sbagliata, potrebbe esserti mostrato un saldo del portafoglio che non ti aspetti.",title:"Informazioni di sicurezza"}},BH={agreements:{"funds-access":"NON potrò accedere ai miei fondi se dimentico la mia password di recupero","password-change":"NON posso cambiare la password di recupero in futuro.","password-required":"La password di recupero è necessaria per ripristinare un portafoglio da un backup"},create:"Crea un portafoglio",creating:"Creazione del portafoglio",description:"Capisco che:",error:{e102:"La password deve essere composta da almeno 4 caratteri.",e200:"È necessario inserire una scheda microSD nel tuo BitBox per creare un portafoglio, così un backup può essere creato automaticamente."},info:{button:`Imposta ora la password di recupero -`,description1:"Inserire la scheda microSD nel BitBox",description2:'Scegli una password di recupero per il portafoglio e seleziona "Imposta password di recupero ora".',description3:"Il backup su scheda microSD e la password di recupero sono l'unico metodo per recuperare i tuoi fondi in caso di perdita o furto del dispositivo BitBox.",description4:"Non è possibile cambiare la password di recupero in futuro senza dover trasferire i tuoi fondi.",title:"Crea un nuovo portafoglio"},password:{label:"Password di recupero",repeatPlaceholder:"Ripeti la password di recupero"},walletName:{label:"Nome del portafoglio"}},SH={error:{e200:"Il ripristino di un portafoglio da un backup richiede la scheda microSD."},info:{description1:'Inserire la scheda microSD nel BitBox e cliccare su "Continua".',description2:'Scegliete un backup e cliccate su "Ripristina".',description3:"Inserisci la password di recupero",description4:"Confermo di aver capito che una password errata creerà un portafoglio diverso.",title:"Come ripristinare un portafoglio da un backup"}},zH={abort:"La transazione è stata annullata",address:{label:"Indirizzo del destinatario",placeholder:"Inserisci indirizzo"},amount:{label:"Importo",placeholder:"Inserisci importo"},availableBalance:"Saldo disponibile",button:"Controlla",coincontrol:{address:"Indirizzo",outpoint:"Outpoint",title:"Invia da un output"},confirm:{"selected-coins":"Seleziona valute",title:"Conferma ed invia transazione",total:"Totale"},error:{erc20InsufficientGasFunds:"Sembra che tu non abbia abbastanza Ether per pagare questa transazione ERC20. Per favore, assicurati di avere abbastanza Ether nel tuo portafoglio.",feeTooLow:"commissione troppo bassa",feesNotAvailable:`Impossibile stimare le commissioni +Inoltre, la funzione passphrase consente di creare più portafogli sullo stesso dispositivo, o "portafogli nascosti", oltre a quello predefinito.`,title:"Perchè usare una passphrase?"}},k9={show:"Mostra {{label}}",warning:{caps:'per incollare il testo, attivare "MOSTRA {{etichetta}}"',paste:'per incollare il testo, attivare "MOSTRA {{label}}"'}},x9={button:"Genera un numero casuale",description:"Il tuo BitBox ha generato il seguente numero casuale {{bits}}-bit:"},y9={changeScriptType:"Cambia il tipo di indirizzo",label:"Il tuo indirizzo",onlyThisCoin:{description:"Per ricevere altri token, abilitali nelle impostazioni. Se depositi altri token, potrebbero non essere accessibili.",warning:"Assicurati di ricevere solo {{coinName}} su questo indirizzo."},scriptType:{p2tr:"Taproot (formato più recente)",p2wpkh:"Native Segwit (predefinito)","p2wpkh-p2sh":"Wrapped Segwit (formato compatibile)"},selectAccount:"Scegli un account",showFull:"Mostra e verifica l'indirizzo completo sul dispositivo",taprootWarning:"Nota: Taproot è una nuova funzione di Bitcoin e non è ancora ampiamente adottata. I fondi ricevuti sugli indirizzi Taproot potrebbero non essere visibili nei portafogli di terze parti. Molti portafogli e exchange non sono ancora in grado di inviare ad indirizzi Taproot.",title:"Ricevi {{accountName}}",verify:"Verificare l'indirizzo in modo sicuro",verifyBitBox01:"Verificare l'indirizzo sull'applicazione mobile",verifyBitBox02:"Verificare l'indirizzo sul BitBox02",verifyInstruction:"Verifica che il seguente indirizzo corrisponda a quello visualizzato sul tuo dispositivo.",warning:{secureOutput:"Si prega di associare il tuo BitBox con il tuo dispositivo mobile per abilitare la verifica sicura dell'indirizzo. Vai su 'Gestisci dispositivo' nella barra laterale."}},w9={description:"Tutti i dati saranno cancellati dal dispositivo. Inclusa la tua chiave privata!",notReset:"Dispositivo NON resettato.",title:"Ripristino di fabbrica del dispositivo",understand:"Ho un backup e conosco la mia password di recupero",understandBB02:"Ho un backup valido"},j9={create:{description1:"Ti consigliamo di impostare il tuo dispositivo in un ambiente sicuro, cioè lontano da altre persone che potrebbero vedere la password che hai scelto.",description2:"Ti verrà chiesto di creare due password.",description3:"La prima è la password del dispositivo che sblocca il tuo dispositivo BitBox e può essere cambiata in seguito.",description4:"La seconda è la password di recupero che sblocca il tuo portafoglio. Questa password non può essere cambiata in seguito.",description5:"Il portafoglio creato sarà salvato in un file sulla scheda microSD fornita. Questo può essere utilizzato in caso di emergenza per recuperare i tuoi fondi utilizzando la tua password di recupero.",title:"Informazioni di sicurezza"},restore:{description1:"Ti verrà chiesto di inserire la scheda microSD che hai usato per memorizzare il tuo backup.",description2:"Per ripristinare il tuo dispositivo avrai bisogno della tua password di recupero. ",description3:"Fai attenzione quando inserisci la password di recupero. Qualsiasi password inserita creerà un portafoglio valido. Se inserisci la password sbagliata, potrebbe esserti mostrato un saldo del portafoglio che non ti aspetti.",title:"Informazioni di sicurezza"}},B9={agreements:{"funds-access":"NON potrò accedere ai miei fondi se dimentico la mia password di recupero","password-change":"NON posso cambiare la password di recupero in futuro.","password-required":"La password di recupero è necessaria per ripristinare un portafoglio da un backup"},create:"Crea un portafoglio",creating:"Creazione del portafoglio",description:"Capisco che:",error:{e102:"La password deve essere composta da almeno 4 caratteri.",e200:"È necessario inserire una scheda microSD nel tuo BitBox per creare un portafoglio, così un backup può essere creato automaticamente."},info:{button:`Imposta ora la password di recupero +`,description1:"Inserire la scheda microSD nel BitBox",description2:'Scegli una password di recupero per il portafoglio e seleziona "Imposta password di recupero ora".',description3:"Il backup su scheda microSD e la password di recupero sono l'unico metodo per recuperare i tuoi fondi in caso di perdita o furto del dispositivo BitBox.",description4:"Non è possibile cambiare la password di recupero in futuro senza dover trasferire i tuoi fondi.",title:"Crea un nuovo portafoglio"},password:{label:"Password di recupero",repeatPlaceholder:"Ripeti la password di recupero"},walletName:{label:"Nome del portafoglio"}},S9={error:{e200:"Il ripristino di un portafoglio da un backup richiede la scheda microSD."},info:{description1:'Inserire la scheda microSD nel BitBox e cliccare su "Continua".',description2:'Scegliete un backup e cliccate su "Ripristina".',description3:"Inserisci la password di recupero",description4:"Confermo di aver capito che una password errata creerà un portafoglio diverso.",title:"Come ripristinare un portafoglio da un backup"}},z9={abort:"La transazione è stata annullata",address:{label:"Indirizzo del destinatario",placeholder:"Inserisci indirizzo"},amount:{label:"Importo",placeholder:"Inserisci importo"},availableBalance:"Saldo disponibile",button:"Controlla",coincontrol:{address:"Indirizzo",outpoint:"Outpoint",title:"Invia da un output"},confirm:{"selected-coins":"Seleziona valute",title:"Conferma ed invia transazione",total:"Totale"},error:{erc20InsufficientGasFunds:"Sembra che tu non abbia abbastanza Ether per pagare questa transazione ERC20. Per favore, assicurati di avere abbastanza Ether nel tuo portafoglio.",feeTooLow:"commissione troppo bassa",feesNotAvailable:`Impossibile stimare le commissioni `,insufficientFunds:"fondi insufficienti.",invalidAddress:"indirizzo non valido",invalidAmount:"importo non valido",invalidData:"dati non validi"},fee:{customPlaceholder:"Inserisci importo",label:"Commissioni di rete",placeholder:"Non disponibile"},feeTarget:{customLabel:"Tariffa",customLabel_eth:"Gas",description:{economy:"4 ore (24 blocchi)",economy_eth:"30 minuti al massimo",economy_ltc:"1 ora (24 blocchi)",high:"20 minuti (2 blocchi)",high_eth:"30 secondi al massimo",high_ltc:"5 minuti (2 blocchi)",low:"2 ore (12 blocchi)",low_eth:"5 minuti al massimo",low_ltc:"30 minuti (12 blocchi)",normal:"6 blocchi (circa 1 ora per Bitcoin, 15 minuti per Litecoin)",normal_eth:"2 minuti al massimo",normal_ltc:"15 minuti (6 blocchi)"},estimate:"Tempo di conferma stimato:",label:{custom:"Personalizzata",economy:"Economica",high:"Alta",low:"Bassa",normal:"Normale"},placeholder:"Calcolo delle commissioni..."},maximum:"Invia tutto",maximumSelectedCoins:`Invia le valute selezionate -`,noFeeTargets:"La stima delle fee al momento non è disponibile. Inserisci una fee a tua discrezione o riprova più tardi.",priority:"Priorità",scanQR:"Leggi il QR code",signprogress:{description:"Questa è una transazione che contiene molti dati. Per firmare la transazione, ti verrà chiesto di confermare {{steps}} volte.",label:"Progresso"},success:"La transazione è stata firmata ed inviata.",title:"Invia {{accountName}}",toggleCoinControl:"Toggle coin control",transactionDetails:"Dettagli della transazione"},CH={about:"About",accounts:"Accounts",advancedSettings:"Impostazioni avanzate",appearance:"Aspetto",electrum:{add:"Aggiungi un server","add-server":"Aggiungi",check:"Verifica",checkFailed:"Fallito",checkSuccess:"Connessione stabilita con {{host}}",checking:"Verifico","download-cert":"Scarica certificato remoto","remove-server":"Rimuovi",removeConfirm:"Rimuovere {{server}}?",reset:"Ripristina le impostazioni predefinite",resetConfirm:"Vuoi rimuovere tutti i server e installare quelli di default?",servers:"Server",step1:"1","step1-text":"Inserisci l'endpoint.",step2:"2","step2-text":"Inserisci un certificato della catena dei certificati del server. In alternativa, scarica il certificato remoto e confrontalo visivamente.","step2-text-tcp":"Puoi saltare questo passo se non vuoi usare TLS.",step3:"3","step3-text":"Controlla la connessione e aggiungi il server.",step4:"4","step4-text":"Riavvia il portafoglio. Se non rimuovi i server di default, il tuo nodo sarà aggiunto come ridondanza.","title-btc":"Bitcoin Electrum servers","title-ltc":"Litecoin Electrum servers","title-tbtc":"Bitcoin Testnet Electrum servers","title-tltc":"Litecoin Testnet Electrum servers"},expert:{coinControl:'Abilita "coin control"',electrum:{description:"Puoi connetterti al tuo full node Electrum",title:"Connetti il tuo full node"},fee:"Abilitare commissioni personalizzate",setProxyAddress:"Imposta indirizzo proxy",title:"Impostazioni avanzate",useProxy:"Abilita il proxy per tor",useSats:"Mostra i valori BTC in Satoshi"},header:{home:"Home"},info:{"out-of-date":"Nuovo aggiornamento disponibile",title:"Informazioni","up-to-date":"La tua app è aggiornata",version:"Versione App"},restart:"Si prega di riavviare la BitBoxApp affinché le modifiche abbiano effetto.",services:{title:"Servizi"},success:"Si prega di scollegare e ricollegare il BitBox affinché le modifiche abbiano effetto.",title:"Impostazioni"},DH="Imposta il dispositivo",AH={buy:"Acquista criptovalute",device:"Gestisci il dispositivo",leave:"Esci",settings:"Impostazioni"},_H={create:{info1:"Il tuo portafoglio è stato salvato in modo sicuro sulla scheda microSD. Rimuovila e tienila al sicuro.",info2:"Hai creato una password sicura del dispositivo che sblocca il BitBox.",info3:"Hai creato una password di recupero sicura per il tuo portafoglio che sblocca i tuoi fondi e ripristina i tuoi backup.",summary:"Ecco un riassunto di quello che hai fatto",title:"Successo"},getstarted:"Inizia",restore:{summary:"Hai ripristinato con successo un portafoglio dal tuo backup.",title:"Successo"}},TH={confirmation:"Conferme",details:{activity:"Attività",address:"Indirizzo",amount:"Importo",date:"Data",fiat:"Fiat",fiatAmount:"Importo fiat",fiatAtTime:"Fiat al tempo della transazione",status:"Status",type:"Tipo"},explorer:"ID della transazione",explorerTitle:"Apri in un esploratore di blocchi esterno",fee:"Commissione",fiatHistorical:"Storico",gas:"Gas",note:{edit:"Modifica nota",save:"Salva nota"},pending:"Transazione in sospeso",size:"Dimensione",status:{complete:"Completata",failed:"Fallita",pending:"In sospeso"},tx:{received:"Ricevuta a",sent:"Inviata a"},vsize:"Dimensione virtuale",weight:"Peso"},EH={errorLoadTransactions:"Si è verificato un errore nel carimento delle transazioni",placeholder:"Nessuna transazione."},PH="Si è verificato un errore sconosciuto: {{errorMessage}}",NH={description:"Inserisci la password del tuo dispositivo per sbloccarlo.",error:{e109_normal:"Password del dispositivo errata. Restano ancora {{remainingAttempts}} tentativi prima che il dispositivo venga resettato.",e109_touch:"$t(unlock.error.e109_normal) Il prossimo login richiede di tenere premuto il pulsante touch.",e113:"A causa di molti tentativi di login, il login successivo richiede di tenere premuto il pulsante a sfioramento per 4 secondi."},input:{label:"Password del dispositivo",placeholder:"Inserisci la password del tuo dispositivo per sbloccare il dispositivo"},unlocking:"Sblocco..."},LH={button:"Aggiorna il firmware",description:"Vuoi aggiornare il firmware dalla versione {{currentVersion}} alla {{newVersion}}?",label:"Il tuo BitBox richiede un aggiornamento del firmware.",locked:"Per aggiornare da {{currentVersion}} a {{newVersion}}, fai un tocco lungo.",title:"Aggiorna il firmware",unlocked:"Il bootloader è sbloccato. Per continuare, per favore:",unlocked1:"Scollegare e ricollegare il vostro Bitbox",unlocked2:"Il LED si accende quando il tuo BitBox è ricollegato",unlocked3:"Tocca il pulsante a sfioramento quando il LED si accende"},IH={connect:{button:"Conneti",dappLabel:"Inserire indirizzo URI della DApp",invalidPairingUri:"URI di connessione non valido"},dashboard:{allSessions:"Tutte le sessioni",disclaimer:"WalletConnect è un protocollo per connettersi a Dapp basate su Ethereum. Queste DApp sono gestite da servizi di terze parti, per cui connettiti solo a DApp di cui ti fidi e accertati di sapere sempre cosa stai firmando quando crei una transazione.",newConnection:"Nuova Connessione",noConnectedSessions:"Nessun account è connesso a DApp al momento."},invalidPairingChain:"Errore nell'approvazione della connessione. Assicurati di utilizare una delle chain supportate: {{chains}}",pairingRequest:{approve:"Approva Connessione",reject:"Rifiuta",title:"Nuova richista di connessione da"},pairingSuccess:"DApp connessa. Puoi continuare sul sito della DApp.",signingRequest:{account:"Account",chain:"Chain",dapp:"DApp",data:"Dati",dataParsingError:"Parse dei dati fallto.",decodeError:"Decodifica del messaggio fallita",method:{sendTransaction:"Firma ed invia transazione",signMessage:"Firma messaggio",signTransaction:"Firma transazione",signTypedData:"Firma typed data"},successfullySigned:"Richiesta firmata con successo",walletConnectRequest:"Richiesta WalletConnect"},useNewUri:"Questo URI è già stato utilizzato per provare a connettersi. Per favore, utilizzare un nuovo URI.",walletConnect:"WalletConnect"},$H={receivePairing:`Si prega di associare il BitBox per abilitare la verifica sicura dell'indirizzo. Vai su "Gestisci dispositivo" nella barra laterale.`,sdcard:"Tenere la scheda microSD separata dal BitBox, a meno che non si vogliano gestire i backup.",sendPairing:"Si prega di abbinare il BitBox per verificare in modo sicuro i dettagli della transazione. Vai su 'Gestisci dispositivo' nella barra laterale."},MH={connect:"Connetti BitBox02",getStarted:"Iniziamo con l'installazione del firmware sul BitBox02.",insertBitBox02:"Se hai collegato un BitBox02, tocca il dispositivo per continuare.",insertDevice:"Collega il tuo dispositivo per cominciare",title:"Benvenuto"},OH={account:w9,accountInfo:j9,accountSummary:B9,addAccount:S9,aopp:z9,app:C9,auth:D9,backup:A9,bb02Bootloader:_9,bitbox:T9,bitbox02Interact:E9,bitbox02Settings:P9,bitbox02Wizard:N9,blink:L9,bootloader:I9,button:$9,buy:M9,changePin:O9,chart:R9,checkSDcard:F9,clickHere:V9,confirm:W9,confirmOnDevice:U9,connectKeystore:q9,darkmode:H9,device:K9,deviceLock:G9,deviceSettings:Q9,deviceTampered:Y9,dialog:Z9,error:J9,fiat:X9,footer:eH,generic:tH,genericError:nH,goal:aH,guide:iH,headerssync:oH,hiddenWallet:rH,initialize:sH,invalidFormat:lH,language:cH,legacyhiddenwallet:uH,loading:dH,manageAccounts:pH,mobile:hH,newSettings:mH,note:fH,notification:gH,pairing:vH,passphrase:bH,password:kH,random:xH,receive:yH,reset:wH,securityInformation:jH,seed:BH,seedRestore:SH,send:zH,settings:CH,setup:DH,sidebar:AH,success:_H,transaction:TH,transactions:EH,unknownError:PH,unlock:NH,upgradeFirmware:LH,walletConnect:IH,warning:$H,welcome:MH};function Mu(t){return t.replace("_","-")}const tk=t=>Mu(t).split("-")[0],RH=t=>{try{const e=Mu(t);return new Intl.Locale(e).region||""}catch{return""}},nk="en",FH={type:"languageDetector",async:!0,detect:t=>{Z("config").then(({backend:e})=>{if(e&&e.userLanguage){t(e.userLanguage);return}Z("native-locale").then(n=>{if(typeof n=="string"&&n){try{new Date().toLocaleString(Mu(n))}catch{t(nk);return}t(Mu(n));return}t(nk)})})},init:()=>{},cacheUserLanguage:()=>{}};let hc={};const Bt=()=>Z("config"),at=t=>Bt().then((e={})=>{const n=Object.assign(e,{backend:Object.assign({},e.backend,hc.backend,t.backend),frontend:Object.assign({},e.frontend,hc.frontend,t.frontend)});return hc=n,H("config",n).then(()=>(hc={},n))}),VH="fe4e5a24-e4a2-4903-96fc-3d62c11fc502";let WH=se.use(FH);WH.init({fallbackLng:"en",ns:["app","wallet"],defaultNS:"app",debug:!1,returnObjects:!0,interpolation:{escapeValue:!1},react:{useSuspense:!0},backend:{projectId:VH,referenceLng:"en"}});se.addResourceBundle("ar","app",b_);se.addResourceBundle("cs","app",IT);se.addResourceBundle("de","app",eP);se.addResourceBundle("en","app",bN);se.addResourceBundle("fr","app",IL);se.addResourceBundle("ja","app",e$);se.addResourceBundle("ms","app",TO);se.addResourceBundle("nl","app",HR);se.addResourceBundle("ru","app",hM);se.addResourceBundle("pt","app",uF);se.addResourceBundle("hi","app",m4);se.addResourceBundle("bg","app",b5);se.addResourceBundle("tr","app",wV);se.addResourceBundle("zh","app",zW);se.addResourceBundle("fa","app",_8);se.addResourceBundle("es","app",GU);se.addResourceBundle("sl","app",pq);se.addResourceBundle("he","app",y9);se.addResourceBundle("it","app",OH);se.on("languageChanged",t=>hj().then(e=>{let n=t===e;if(!n){const i=tk(t),o=tk(e);n=i===o}return at({backend:{userLanguage:n?null:t}})}));const UH=/^(.*)(.*)<\/strong>(.*)$/;function Qe({tagName:t,markup:e,...n}){if(typeof e!="string")return null;const a=UH.exec(e);return a===null||a.length!==4?x.createElement(t,n,e):x.createElement(t,n,a[1],x.createElement("strong",null,a[2]),a[3])}const ia=({tagName:t,markup:e,withBreaks:n,...a})=>r.jsx(r.Fragment,{children:e.split(` -`).map((i,o)=>r.jsxs(x.Fragment,{children:[r.jsx(Qe,{tagName:t,markup:i,...a}),n&&r.jsx("br",{})]},`${i}-${o}`))}),gg=x.createContext({}),Kn=()=>{const{isDarkMode:t,toggleDarkmode:e}=x.useContext(gg);return{isDarkMode:t,toggleDarkmode:e}},qH=""+new URL("alert-triangle-c0e6e5bc.svg",import.meta.url).href,HH=""+new URL("bitbox02-stylized-reflection-dark-999a6f95.png",import.meta.url).href,KH=""+new URL("bitbox02-stylized-reflection-light-f309683e.png",import.meta.url).href,GH=""+new URL("info-26f99441.svg",import.meta.url).href,QH=""+new URL("arrow-circle-left-9f2ad442.svg",import.meta.url).href,YH=""+new URL("arrow-circle-left-active-8b0e4994.svg",import.meta.url).href,ZH=""+new URL("arrow-circle-right-539c2d63.svg",import.meta.url).href,JH=""+new URL("arrow-circle-right-active-adcebbe6.svg",import.meta.url).href,XH=""+new URL("bank-158b6fd3.svg",import.meta.url).href,e7=""+new URL("bank-light-f346a8d5.svg",import.meta.url).href,t7=""+new URL("buy-info-62104e12.svg",import.meta.url).href,n7=""+new URL("checked-small-e69d552e.svg",import.meta.url).href,a7=""+new URL("check-3b2dbd3d.svg",import.meta.url).href,i7=""+new URL("chevron-right-dark-19859d9c.svg",import.meta.url).href,o7=""+new URL("chevron-left-dark-5fd1eb30.svg",import.meta.url).href,r7=""+new URL("cancel-7c172dc6.svg",import.meta.url).href,s7=""+new URL("credit-card-4765ab65.svg",import.meta.url).href,l7=""+new URL("credit-card-light-2e98f359.svg",import.meta.url).href,c7=""+new URL("edit-d4eb4ce9.svg",import.meta.url).href,u7=""+new URL("edit-light-137645b5.svg",import.meta.url).href,d7=""+new URL("edit-active-7d462b32.svg",import.meta.url).href,Es=""+new URL("eth-color-abf7bd86.svg",import.meta.url).href,p7=""+new URL("red-dot-3af757ce.svg",import.meta.url).href,h7=""+new URL("copy-e63679e5.svg",import.meta.url).href,m7=""+new URL("close-7942a261.svg",import.meta.url).href,f7=""+new URL("close-x-white-4513b38d.svg",import.meta.url).href,g7=""+new URL("close-x-dark-8785056c.svg",import.meta.url).href,v7=""+new URL("external-link-9b9f4e59.svg",import.meta.url).href,b7=""+new URL("eye-closed-5e84a2bd.svg",import.meta.url).href,k7=""+new URL("eye-opened-a7f89876.svg",import.meta.url).href,x7=""+new URL("eye-opened-dark-22d34f27.svg",import.meta.url).href,y7=""+new URL("globe-dark-22dc5c2d.svg",import.meta.url).href,w7=""+new URL("globe-light-8ff28dea.svg",import.meta.url).href,j7=""+new URL("guide-610ad534.svg",import.meta.url).href,B7=""+new URL("menu-dark-b1183a6b.svg",import.meta.url).href,S7=""+new URL("menu-light-02b63490.svg",import.meta.url).href,z7=""+new URL("wallet-connect-dark-74cac7bd.svg",import.meta.url).href,C7=""+new URL("wallet-connect-light-17eaae81.svg",import.meta.url).href,D7=""+new URL("wallet-connect-default-40d2960e.svg",import.meta.url).href,A7="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACowAAAqMBZNxfiQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOMSURBVGiB7ZjPS5RBGMe/877vrluJmLqR4KEfICJ46CB0CNwOGS5sLf0FYq63grqWseipJOzaD6N7lyBSUohAgkDpkgcREiI96Wp00d33dZ4Ou67uvvP6zjvvLFvg97bzzjzP892Z+bwzL3CsY4USq1Xg3FCqnwx+v5iEnra+mp6rRZ6aGNgaSV3hnH8GYJaaHIN4omVq5ovuXIbugJRNWJz4cxwUDwAWN4wXlE1YuvNpN5BbO5UBodv1gNC9ud44rDuf1iW0PZhu3rPsFQBxjy4bphPpPP3m3W9dObXOgGMWRuFdPADEuWU/1JlT2wxsZJKdjNgSgIhP1wIx6om/nF7RkVfbDDDOJuBfPABEGbEn2vLqCFJi/sdAiblxvfX1+9mwuUPPAGUTFpl8MvA4k0/qwGpoA57Y9JMmrIZaQhLY9FNorIaagRISVYsHgDiP2A/C1KA8AyVsfgcQrX4WSyQR679V0bYz8xb5eeE+D4VV5U3EOJsAcxcPAIhEYcbPVva3PAm7j9W0Sh1KSyg3lOoHww3PDoW8q4lsd9sh3cwNpfpVaglsQAabZBfcjQVB2+ExilgNbGBzvXHYD5skKNZnBopY/XXydtB6AhnYHkw3M6Ix346CYkWmqsUYG98eTDcHqSmQAVlsCosVLSu3AmNV2sBGJtlJwB2ZvqI9INwXorGEuxuZZKdsXdIGSqdNMTarJaKQxBIqKdBpVcqALzarJPy3/TZxpaSx6mtA5bQppJD8DBT7S2LV14AMNl0SUUhyDxwMkMPqkQaksVmd27bdjYJ94ScZrB5pQPW06XppEYEcgSl/+WLV00AQbLrkOADn5Z/k2ACRUig/rHpukiNPmxJyVpeBSHE45XdVwwA+p1XhfUDlkl5reX0EcC0h1Ut6reWFVZcBJWyKxBjMM+0w4+0A0/D1xgOrFZE1XNKLQWMn0HRvHNaFLgCA82MZf56NgnZ3woQFBB8BKmZAwyUdABDrGygXDwDWxS7E+gbChgUEWC0bCIXNKrHGJqk2FVVjtWyghCplbB5WYWG+4sVFjo3CwryO0AAQZcDj/R8MqA02zY5zaLh8FSAg//UT9tZ/6gxfxiqjbNbIrS0uAnRJa4ba61trR28v+xdfWtJiuGZwttdW7zpURUCb0WCaswC26l2MgnIN+egcA4CtkWQP5+wRgPN1LkpODKsGx1jL1IelepdyrP9efwF60oqTW0b3mgAAAABJRU5ErkJggg==",_7=""+new URL("warning-outlined-85e7fbc2.svg",import.meta.url).href,T7=""+new URL("qr-dark-f8424fb2.svg",import.meta.url).href,E7=""+new URL("qr-light-d5293809.svg",import.meta.url).href,P7=""+new URL("save-eb1c51e8.svg",import.meta.url).href,N7=""+new URL("save-light-8e93cb91.svg",import.meta.url).href,L7=""+new URL("selected-check-light-a46bd108.svg",import.meta.url).href,I7=""+new URL("usb-success-f34b1205.svg",import.meta.url).href,$7="_expandIcon_j17uw_1",mj={expandIcon:$7},M7=()=>r.jsxs("svg",{className:mj.expandIcon,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"11",cy:"11",r:"8"}),r.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),r.jsx("line",{x1:"11",y1:"8",x2:"11",y2:"14"}),r.jsx("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]}),O7=()=>r.jsxs("svg",{className:mj.expandIcon,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"11",cy:"11",r:"8"}),r.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),r.jsx("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]}),vg=({className:t,...e})=>r.jsxs("svg",{className:`checked ${t||""}`,viewBox:"0 0 52 52",...e,children:[r.jsx("circle",{className:"checked-circle",cx:"26",cy:"26",r:"25",fill:"none"}),r.jsx("path",{className:"checked-check",fill:"none",d:"M14.1 27.2l7.1 7.2 16.7-16.8"})]}),R7=({className:t,...e})=>r.jsx("svg",{className:`caretDown ${t||""}`,viewBox:"0 0 1024 1024",...e,children:r.jsx("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"})}),ak=({expand:t=!0})=>t?r.jsx(M7,{}):r.jsx(O7,{}),$m=t=>r.jsx("img",{src:GH,draggable:!1,...t}),fj=t=>r.jsx("img",{src:HH,draggable:!1,...t}),gj=t=>r.jsx("img",{src:KH,draggable:!1,...t}),vj=t=>r.jsx("img",{src:QH,draggable:!1,...t}),bj=t=>r.jsx("img",{src:YH,draggable:!1,...t}),kj=t=>r.jsx("img",{src:ZH,draggable:!1,...t}),xj=t=>r.jsx("img",{src:JH,draggable:!1,...t}),F7=t=>r.jsx("img",{src:XH,draggable:!1,...t}),V7=t=>r.jsx("img",{src:e7,draggable:!1,...t}),W7=t=>r.jsx("img",{src:t7,draggable:!1,...t}),Bd=t=>r.jsx("img",{src:n7,draggable:!1,...t}),yj=t=>r.jsx("img",{src:a7,draggable:!1,...t}),U7=t=>r.jsx("img",{src:o7,draggable:!1,...t}),di=t=>r.jsx("img",{src:i7,draggable:!1,...t}),bg=t=>r.jsx("img",{src:r7,draggable:!1,...t}),q7=t=>r.jsx("img",{src:s7,draggable:!1,...t}),H7=t=>r.jsx("img",{src:l7,draggable:!1,...t}),wj=t=>r.jsx("img",{src:p7,draggable:!1,...t}),K7=t=>r.jsx("img",{src:h7,draggable:!1,...t}),G7=t=>r.jsx("img",{src:m7,draggable:!1,...t}),El=t=>r.jsx("img",{src:f7,draggable:!1,...t}),jj=t=>r.jsx("img",{src:g7,draggable:!1,...t}),Q7=t=>r.jsx("img",{src:c7,draggable:!1,...t}),Y7=t=>r.jsx("img",{src:u7,draggable:!1,...t}),Z7=t=>r.jsx("img",{src:d7,draggable:!1,...t}),ik=t=>r.jsx("img",{src:Es,draggable:!1,...t}),J7=t=>r.jsx("img",{src:v7,draggable:!1,...t}),X7=t=>r.jsx("img",{src:b7,draggable:!1,...t}),eK=t=>r.jsx("img",{src:k7,draggable:!1,...t}),tK=t=>r.jsx("img",{src:x7,draggable:!1,...t}),nK=t=>r.jsx("img",{src:y7,draggable:!1,...t}),aK=t=>r.jsx("img",{src:w7,draggable:!1,...t}),iK=t=>r.jsx("img",{src:j7,draggable:!1,...t}),Bj=t=>r.jsx("img",{src:B7,draggable:!1,...t}),oK=t=>r.jsx("img",{src:S7,draggable:!1,...t}),rK=t=>r.jsx("img",{src:z7,draggable:!1,...t}),Ou=t=>r.jsx("img",{src:C7,draggable:!1,...t}),sK=t=>r.jsx("img",{src:D7,draggable:!1,...t}),Sj=t=>r.jsx("img",{src:A7,draggable:!1,...t}),lK=t=>r.jsx("img",{src:_7,draggable:!1,...t}),cK=t=>r.jsx("img",{src:T7,draggable:!1,...t}),uK=t=>r.jsx("img",{src:E7,draggable:!1,...t}),dK=t=>r.jsx("img",{src:P7,draggable:!1,...t}),pK=t=>r.jsx("img",{src:N7,draggable:!1,...t}),hK=t=>r.jsx("img",{src:L7,draggable:!1,...t}),zj=t=>r.jsx("img",{src:I7,draggable:!1,...t}),kg=t=>r.jsx("img",{src:qH,draggable:!1,...t}),mK=""+new URL("app-logo-inverted-9476ef43.svg",import.meta.url).href,fK=""+new URL("app-logo-e5554192.svg",import.meta.url).href,gK=""+new URL("bitbox-logo-beddd362.svg",import.meta.url).href,vK=""+new URL("bitbox02-logo-4584514f.svg",import.meta.url).href,bK=""+new URL("bitbox02inverted-logo-981de13d.svg",import.meta.url).href,Kp=""+new URL("btc-color-0f3883b3.svg",import.meta.url).href,Gp=""+new URL("btc-white-3f92e697.svg",import.meta.url).href,mc=""+new URL("eth-white-7454e0aa.svg",import.meta.url).href,ok=""+new URL("ltc-color-8d6fe1fa.svg",import.meta.url).href,rk=""+new URL("ltc-white-92efa441.svg",import.meta.url).href,kK=""+new URL("swiss-made-open-source-light-124067cd.svg",import.meta.url).href,xK=""+new URL("swiss-made-open-source-dark-10fbd1ed.svg",import.meta.url).href,yK=""+new URL("bat-color-18201db9.svg",import.meta.url).href,wK=""+new URL("bat-white-8b45a88f.svg",import.meta.url).href,jK=""+new URL("dai-color-d504eee3.svg",import.meta.url).href,BK=""+new URL("dai-white-97314f16.svg",import.meta.url).href,SK=""+new URL("link-color-c44bcfb9.svg",import.meta.url).href,zK=""+new URL("link-white-37916eea.svg",import.meta.url).href,CK=""+new URL("mkr-color-4aac955e.svg",import.meta.url).href,DK=""+new URL("mkr-white-ae494065.svg",import.meta.url).href,AK=""+new URL("usdc-color-cab383c5.svg",import.meta.url).href,_K=""+new URL("usdc-white-acee0443.svg",import.meta.url).href,TK=""+new URL("usdt-color-8719df87.svg",import.meta.url).href,EK=""+new URL("usdt-white-c9eaa51c.svg",import.meta.url).href,PK=""+new URL("zrx-color-9f21aaec.svg",import.meta.url).href,NK=""+new URL("zrx-white-2ba7f1d5.svg",import.meta.url).href,LK=""+new URL("wbtc-color-b34f085c.svg",import.meta.url).href,IK=""+new URL("wbtc-white-48159684.svg",import.meta.url).href,$K=""+new URL("paxg-color-5da5c9d3.svg",import.meta.url).href,MK=""+new URL("paxg-white-f05f807e.svg",import.meta.url).href,OK="_logo_gbled_1",RK="_swissOpenSource_gbled_7",FK="_large_gbled_12",li={logo:OK,swissOpenSource:RK,large:FK},Cj=t=>r.jsx("img",{...t,draggable:!1,src:gK,alt:"BitBox",className:li.logo}),VK=t=>r.jsx("img",{...t,draggable:!1,src:vK,alt:"BitBox02",className:li.logo}),WK=t=>r.jsx("img",{...t,draggable:!1,src:bK,alt:"BitBox02",className:li.logo}),xg=t=>r.jsx("img",{...t,draggable:!1,src:fK,alt:"BitBox",className:li.logo}),Sd=t=>r.jsx("img",{...t,draggable:!1,src:mK,alt:"BitBox",className:li.logo}),pi=({large:t,className:e,...n})=>r.jsx("img",{...n,draggable:!1,src:kK,alt:"Swiss Made Open Source",className:`${li.swissOpenSource} ${n.large?li.large:""} ${e||""}`}),hi=({large:t,className:e,...n})=>r.jsx("img",{...n,draggable:!1,src:xK,alt:"Swiss Made Open Source",className:`${li.swissOpenSource} ${n.large?li.large:""} ${e||""}`}),vs={btc:[Kp,Gp],tbtc:[Kp,Gp],rbtc:[Kp,Gp],ltc:[ok,rk],tltc:[ok,rk],eth:[Es,mc],goeth:[Es,mc],sepeth:[Es,mc],erc20Test:[Es,mc],"eth-erc20-usdt":[TK,EK],"eth-erc20-usdc":[AK,_K],"eth-erc20-dai0x6b17":[jK,BK],"eth-erc20-link":[SK,zK],"eth-erc20-bat":[yK,wK],"eth-erc20-mkr":[CK,DK],"eth-erc20-zrx":[PK,NK],"eth-erc20-wbtc":[LK,IK],"eth-erc20-paxg":[$K,MK]};function Ro({coinCode:t,active:e,stacked:n,...a}){return vs[t]?n?r.jsx("div",{children:e?r.jsx("img",{draggable:!1,src:vs[t][0],...a}):r.jsxs("div",{className:"stacked",children:[r.jsx("img",{draggable:!1,src:vs[t][1],...a}),r.jsx("img",{draggable:!1,src:vs[t][0],...a})]})}):r.jsx("img",{draggable:!1,src:vs[t][0],...a}):(console.error("logo undefined for ",t),null)}const UK="_point2bitbox02_1vb0x_1",qK="_caret_1vb0x_5",HK="_bitbox02_1vb0x_10",fc={point2bitbox02:UK,caret:qK,bitbox02:HK},ns=()=>{const{isDarkMode:t}=Kn();return r.jsxs("div",{className:fc.point2bitbox02,children:[r.jsx(R7,{className:fc.caret}),t?r.jsx(gj,{className:fc.bitbox02}):r.jsx(fj,{className:fc.bitbox02})]})},KK="_overlay_1u8gr_1",GK="_activeOverlay_1u8gr_15",QK="_modal_1u8gr_19",YK="_header_1u8gr_31",ZK="_title_1u8gr_31",JK="_contentContainer_1u8gr_37",XK="_small_1u8gr_42",eG="_medium_1u8gr_47",tG="_large_1u8gr_53",nG="_centered_1u8gr_68",aG="_closeButton_1u8gr_78",iG="_slim_1u8gr_105",oG="_padded_1u8gr_109",rG="_content_1u8gr_37",sG="_actions_1u8gr_117",lG="_confirmationLabel_1u8gr_135",cG="_confirmationLabelNumber_1u8gr_144",uG="_disabledLabel_1u8gr_150",dG="_noStep_1u8gr_155",pG="_confirmationInstructions_1u8gr_159",hG="_confirm_1u8gr_135",mG="_image_1u8gr_179",fG="_modalContent_1u8gr_184",gG="_detail_1u8gr_193",vG="_description_1u8gr_217",bG="_buttons_1u8gr_221",kG="_dialogButtons_1u8gr_233",xG="_closingOverlay_1u8gr_244",yG="_open_1u8gr_268",ce={overlay:KK,activeOverlay:GK,modal:QK,header:YK,title:ZK,contentContainer:JK,small:XK,medium:eG,large:tG,centered:nG,closeButton:aG,slim:iG,padded:oG,content:rG,actions:sG,confirmationLabel:lG,confirmationLabelNumber:cG,disabledLabel:uG,noStep:dG,confirmationInstructions:pG,confirm:hG,image:mG,modalContent:fG,detail:gG,description:vG,buttons:bG,dialogButtons:kG,closingOverlay:xG,open:yG};class qe extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.modalContent=x.createRef(),this.state={currentTab:0,renderDialog:!1},this.handleFocus=e=>{const a=e.target.getAttribute("index");this.setState({currentTab:Number(a)})},this.focusWithin=()=>{if(this.modalContent.current){this.focusableChildren=this.modalContent.current.querySelectorAll("a, button, input, textarea");const e=Array.from(this.focusableChildren);for(const n of e)n.classList.add("tabbable"),n.setAttribute("index",e.indexOf(n).toString()),n.addEventListener("focus",this.handleFocus);document.addEventListener("keydown",this.handleKeyDown)}},this.focusFirst=()=>{const e=this.focusableChildren;e.length&&e[0].getAttribute("autofocus")!=="false"&&e[0].focus()},this.updateIndex=e=>{const n=this.getNextIndex(e);this.setState({currentTab:n},()=>{this.focusableChildren[n].focus()})},this.deactivateModal=e=>{!this.modal.current||!this.overlay.current||(this.overlay.current.classList.remove(ce.closingOverlay),this.setState({currentTab:0,renderDialog:!1},()=>{document.removeEventListener("keydown",this.handleKeyDown),this.props.onClose&&e&&this.props.onClose()}))},this.handleKeyDown=e=>{const{disableEscape:n}=this.props,a=e.keyCode===27,i=e.keyCode===9;!n&&a?this.deactivate(!0):i&&e.preventDefault(),i&&e.shiftKey?this.updateIndex(!1):i&&this.updateIndex(!0)},this.deactivate=e=>{var i;if(!this.modal.current||!this.overlay.current)return;this.timerId&&clearTimeout(this.timerId),this.overlay.current.classList.remove(ce.activeOverlay),this.overlay.current.classList.add(ce.closingOverlay),(i=this.modal.current)==null||i.classList.remove(ce.open);const n=o=>{var s;o.target===this.modal.current&&(this.deactivateModal(e),(s=this.modal.current)==null||s.removeEventListener("transitionend",n))};parseFloat(window.getComputedStyle(this.modal.current).transitionDuration)>0?(this.modal.current.addEventListener("transitionend",n),this.timerId=setTimeout(()=>this.deactivateModal(e),400)):this.deactivateModal(e)},this.activate=()=>{this.setState({renderDialog:!0},()=>{!this.modal.current||!this.overlay.current||(this.timerId&&clearTimeout(this.timerId),this.overlay.current.classList.add(ce.activeOverlay),this.timerId=setTimeout(()=>{var e;(e=this.modal.current)==null||e.classList.add(ce.open)},10),this.focusWithin(),this.focusFirst())})}}componentDidMount(){this.props.open&&this.activate()}componentDidUpdate(e){const{open:n}=this.props;if(n&&!e.open){this.activate();return}if(!n&&e.open){this.deactivate(!1);return}}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}getNextIndex(e){const{currentTab:n}=this.state,a=Array.from(this.focusableChildren),i=e?a:a.reverse(),o=e?n:i.length-1-n;let s=e?n+1:i.length-n;return s=i.findIndex((l,c)=>c>=s&&!l.hasAttribute("disabled")),s=s<0?i.findIndex((l,c)=>c<=o&&!l.hasAttribute("disabled")):s,e?s:i.length-1-s}render(){const{title:e,small:n,medium:a,large:i,slim:o,centered:s,onClose:l,disabledClose:c,children:u}=this.props,{renderDialog:d}=this.state,p=n?ce.small:"",h=a?ce.medium:"",m=i?ce.large:"",g=o?ce.slim:"",v=s&&!l?ce.centered:"";return d?r.jsx("div",{className:ce.overlay,ref:this.overlay,children:r.jsxs("div",{className:[ce.modal,p,h,m].join(" "),ref:this.modal,children:[e&&r.jsxs("div",{className:[ce.header,v].join(" "),children:[r.jsx("h3",{className:ce.title,children:e}),l?r.jsxs("button",{className:ce.closeButton,onClick:()=>{this.deactivate(!0)},disabled:c,children:[r.jsx(jj,{className:"show-in-lightmode"}),r.jsx(El,{className:"show-in-darkmode"})]}):null]}),r.jsx("div",{className:[ce.contentContainer,g].join(" "),ref:this.modalContent,children:r.jsx("div",{className:ce.content,children:u})})]})}):null}}function Yt({children:t}){return r.jsx("div",{className:ce.dialogButtons,children:t})}const eu=[{code:"ar",display:"العربية"},{code:"bg",display:"България"},{code:"cs",display:"Čeština"},{code:"de",display:"Deutsch"},{code:"en",display:"English"},{code:"es",display:"Español"},{code:"fa",display:"فارسی"},{code:"fr",display:"Français"},{code:"he",display:"עברית"},{code:"hi",display:"हिन्दी "},{code:"it",display:"Italiano"},{code:"ja",display:"日本語"},{code:"ms",display:"Bahasa Melayu"},{code:"nl",display:"Nederlands"},{code:"pt",display:"Português"},{code:"ru",display:"Русский"},{code:"sl",display:"Slovenščina"},{code:"tr",display:"Türkçe"},{code:"zh",display:"中文"}],wG="_link_28asd_1",jG="_language_28asd_20",BG="_selected_28asd_38",SG="_checked_28asd_46",gc={link:wG,language:jG,selected:BG,checked:SG},Dj=(t,e)=>{const n=e.language;let a=t.findIndex(({code:i})=>i===n);if(a===-1&&n.indexOf("-")>0){const i=n.slice(0,n.indexOf("-"));a=t.findIndex(({code:o})=>o===i)}if(a===-1&&n.indexOf("_")>0){const i=n.slice(0,n.indexOf("_"));a=t.findIndex(({code:o})=>o===i)}return a===-1?0:a},oo=({languages:t})=>{const{t:e,i18n:n}=A(),a=t||eu,[i,o]=x.useState(Dj(a,n)),[s,l]=x.useState(!1),c=(u,d)=>{o(d),l(!1),n.changeLanguage(u)};return a.length===1?null:r.jsxs("div",{children:[r.jsxs("button",{type:"button",title:"Select Language",className:gc.link,onClick:()=>l(!0),children:[r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"12",cy:"12",r:"10"}),r.jsx("line",{x1:"2",y1:"12",x2:"22",y2:"12"}),r.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),a[i].code==="en"?"Other languages":"English"]}),r.jsx(qe,{small:!0,slim:!0,title:e("language.title"),onClose:()=>l(!1),open:s,children:a.map((u,d)=>{const p=i===d;return r.jsxs("button",{type:"button",className:[gc.language,p?gc.selected:""].join(" "),onClick:()=>c(u.code,d),"data-testid":`language-selection-${u.code}`,children:[u.display,p&&r.jsx("svg",{className:gc.checked,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"20 6 9 17 4 12"})})]},u.code)})})]})},ro=()=>{const t=x.useRef(!1);return x.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),t},Aj=t=>{const[e,n]=x.useState(),a=ro(),i=()=>t(o=>{a.current&&n(o)});return x.useEffect(()=>i(),[]),[e,()=>n(void 0)]},_j=t=>{const[e]=Aj(t);return e},me=(t,e)=>{const[n,a]=x.useState(),i=ro(),o=()=>{t!==null&&t().then(s=>{i.current&&a(s)})};return x.useEffect(()=>o(),e||[]),n},zd=(t,e)=>{const[n,a]=x.useState(),i=ro(),o=s=>{i.current&&a(s)};return x.useEffect(()=>(t().then(o),e(o)),[]),n},Tj=()=>Z("version"),Ej=()=>Z("update"),Pj=()=>{const{t}=A(),e=me(Tj);return e?r.jsxs("p",{children:[t("footer.appVersion")," ",e]}):null},zG="_fullscreen_q1y08_1",CG="_dialog_q1y08_22",DG="_fill_q1y08_28",AG="_inner_q1y08_38",_G="_verticallyCentered_q1y08_46",TG="_fit_q1y08_50",EG="_content_q1y08_56",PG="_textCenter_q1y08_61",NG="_header_q1y08_109",LG="_smallHeader_q1y08_130",IG="_title_q1y08_155",$G="_closeButton_q1y08_169",MG="_fullWidth_q1y08_197",OG="_largeIcon_q1y08_215",RG="_buttons_q1y08_240",FG="_footer_q1y08_294",kt={fullscreen:zG,dialog:CG,fill:DG,inner:AG,verticallyCentered:_G,fit:TG,content:EG,textCenter:PG,"text-center":"_text-center_q1y08_62","text-left":"_text-left_q1y08_65",header:NG,smallHeader:LG,title:IG,closeButton:$G,fullWidth:MG,largeIcon:OG,buttons:RG,footer:FG},re=({dialog:t=!1,fitContent:e=!1,fullscreen:n,children:a,minHeight:i,onClose:o,textCenter:s,verticallyCentered:l=!1,width:c,withBottomBar:u})=>{const{isDarkMode:d}=Kn(),p=`${kt[n?"fullscreen":"fill"]} ${l?kt.verticallyCentered:""} ${t?kt.dialog:""}`;let h=kt.inner;e&&(h+=` ${kt.fit}`),s&&(h+=` ${kt.textCenter}`);const m={...i&&{minHeight:i},...c&&{width:c}};return r.jsxs("div",{className:p,children:[r.jsx("div",{className:h,style:m,children:a}),o&&r.jsx("button",{className:kt.closeButton,onClick:o,children:r.jsx(G7,{})}),u&&r.jsx("div",{style:{marginTop:"auto"},children:r.jsxs("footer",{className:kt.footer,children:[d?r.jsx(hi,{}):r.jsx(pi,{}),r.jsx("div",{className:"m-right-half hide-on-small",children:r.jsx(Pj,{})}),r.jsx(oo,{})]})})]})},ue=({children:t,fullWidth:e,minHeight:n,textAlign:a,withIcon:i,...o})=>{const s=a?kt[`text-${a}`]:"",l=e?kt.fullWidth:"",c=`${kt.content} ${l} ${s}`;return r.jsxs("div",{className:c,style:n?{minHeight:n}:{},...o,children:[i==="success"&&r.jsx(vg,{className:kt.largeIcon}),t]})},be=({children:t,small:e,title:n,withAppLogo:a})=>{const{isDarkMode:i}=Kn(),o=e?`${kt.header} ${kt.smallHeader}`:kt.header;return r.jsxs("header",{className:o,children:[a&&(i?r.jsx(Sd,{}):r.jsx(xg,{})),r.jsx("h1",{className:kt.title,children:n}),t]})},Fe=({children:t})=>r.jsx("div",{className:kt.buttons,children:t}),VG="_button_b8ew4_1",WG="_primary_b8ew4_38 _button_b8ew4_1",UG="_secondary_b8ew4_49 _button_b8ew4_1",qG="_danger_b8ew4_67 _button_b8ew4_1",HG="_transparent_b8ew4_84 _button_b8ew4_1",Nj={button:VG,primary:WG,secondary:UG,danger:qG,transparent:HG},Qo=({primary:t,secondary:e,transparent:n,danger:a,className:i="",children:o,disabled:s,...l})=>{const c=[Nj[t&&"primary"||e&&"secondary"||n&&"transparent"||a&&"danger"||"button"],i].join(" ");return s?r.jsx("button",{className:c,disabled:!0,children:o}):r.jsx(Ya,{className:c,...l,children:o})},_=({type:t="button",primary:e,secondary:n,transparent:a,danger:i,className:o="",children:s,...l})=>{const c=[Nj[e&&"primary"||n&&"secondary"||a&&"transparent"||i&&"danger"||"button"],o].join(" ");return r.jsx("button",{type:t,className:c,...l,children:s})},KG="_checkbox_1m6k1_1",GG="_success_1m6k1_33",QG="_warning_1m6k1_37",YG="_info_1m6k1_41",sk={checkbox:KG,success:GG,warning:QG,info:YG},Ve=({disabled:t=!1,label:e,id:n,className:a="",children:i,checkboxStyle:o="default",...s})=>r.jsxs("span",{className:`${sk.checkbox} ${a} ${sk[o]||""}`,children:[r.jsx("input",{type:"checkbox",id:n,disabled:t,...s}),r.jsxs("label",{htmlFor:n,children:[e," ",i]})]}),ZG="_radio_198i3_1",JG={radio:ZG};function yg({disabled:t=!1,label:e,id:n,children:a,...i}){return r.jsxs("span",{className:JG.radio,children:[r.jsx("input",{type:"radio",id:n,disabled:t,...i}),r.jsxs("label",{htmlFor:n,children:[e,a]})]})}const XG="_field_d2mb0_1",eQ={field:XG};function Ps({children:t,...e}){return r.jsx("div",{className:eQ.field,...e,children:t})}const tQ="_input_1dgl0_1",nQ="_isTransparent_1dgl0_58",aQ="_errorText_1dgl0_64",vc={input:tQ,"align-left":"_align-left_1dgl0_12","align-right":"_align-right_1dgl0_16",isTransparent:nQ,errorText:aQ},Ye=x.forwardRef(function({id:e,label:n="",error:a,align:i="left",className:o="",children:s,transparent:l=!1,type:c="text",labelSection:u,...d},p){return r.jsxs("div",{className:[vc.input,vc[`align-${i}`],o,l?vc.isTransparent:""].join(" "),children:[n?r.jsxs("div",{className:"flex flex-row flex-between",children:[r.jsxs("label",{htmlFor:e,className:a?vc.errorText:"",children:[n,a?r.jsxs("span",{children:[":",r.jsx("span",{children:a.toString()})]}):null]}),u&&u]}):null,r.jsx("input",{autoComplete:"off",autoCorrect:"off",spellCheck:!1,type:c,id:e,ref:p,...d}),s]})}),iQ="_label_53nw1_1",oQ={label:iQ};function Mi({className:t,children:e,id:n,...a}){const i=[oQ.label,t].join(" ");return r.jsx("label",{htmlFor:n,className:i,...a,children:e})}const rQ="_select_yd5xu_1",sQ={select:rQ},Ru=({id:t,label:e,options:n=[],...a})=>r.jsxs("div",{className:sQ.select,children:[e&&r.jsx("label",{htmlFor:t,children:e}),r.jsx("select",{id:t,...a,children:n.map(({value:i,text:o,disabled:s=!1})=>r.jsx("option",{value:i,disabled:s,children:o},`${i}`))})]});let J,Qp;const lQ=()=>{const[t,e]=x.useState(!1),[n,a]=x.useState(!0),[i,o]=x.useState(),{t:s}=A();J=(c,u={})=>{const{asDialog:d=!0}=u;Qp=u.callback,e(!0),a(d),o(c)};const l=()=>{Qp&&Qp(),e(!1)};return t&&i?r.jsx("form",{onSubmit:()=>e(!1),children:r.jsxs(re,{dialog:n,fullscreen:!0,textCenter:!n,verticallyCentered:!0,children:[r.jsx(be,{title:r.jsx(ia,{tagName:"span",markup:i})}),r.jsx(Fe,{children:r.jsx(_,{autoFocus:!0,primary:!0,onClick:l,children:s("button.ok")})})]},"alert-overlay")}):null};var oa={signal:1,propertyUpdate:2,init:3,idle:4,debug:5,invokeMethod:6,connectToSignal:7,disconnectFromSignal:8,setProperty:9,response:10};const cQ=function(t,e){if(typeof t!="object"||typeof t.send!="function"){console.error("The QWebChannel expects a transport object with a send function and onmessage callback property. Given is: transport: "+typeof t+", transport.send: "+typeof t.send);return}var n=this;this.transport=t,this.send=function(a){typeof a!="string"&&(a=JSON.stringify(a)),n.transport.send(a)},this.transport.onmessage=function(a){var i=a.data;switch(typeof i=="string"&&(i=JSON.parse(i)),i.type){case oa.signal:n.handleSignal(i);break;case oa.response:n.handleResponse(i);break;case oa.propertyUpdate:n.handlePropertyUpdate(i);break;default:console.error("invalid message received:",a.data);break}},this.execCallbacks={},this.execId=0,this.exec=function(a,i){if(!i){n.send(a);return}if(n.execId===Number.MAX_VALUE&&(n.execId=Number.MIN_VALUE),a.hasOwnProperty("id")){console.error("Cannot exec message with property id: "+JSON.stringify(a));return}a.id=n.execId++,n.execCallbacks[a.id]=i,n.send(a)},this.objects={},this.handleSignal=function(a){var i=n.objects[a.object];i?i.signalEmitted(a.signal,a.args):console.warn("Unhandled signal: "+a.object+"::"+a.signal)},this.handleResponse=function(a){if(!a.hasOwnProperty("id")){console.error("Invalid response message received: ",JSON.stringify(a));return}n.execCallbacks[a.id](a.data),delete n.execCallbacks[a.id]},this.handlePropertyUpdate=function(a){for(var i in a.data){var o=a.data[i],s=n.objects[o.object];s?s.propertyUpdate(o.signals,o.properties):console.warn("Unhandled property update: "+o.object+"::"+o.signal)}n.exec({type:oa.idle})},this.debug=function(a){n.send({type:oa.debug,data:a})},n.exec({type:oa.init},function(a){for(var i in a)new tu(i,a[i],n);for(var i in n.objects)n.objects[i].unwrapProperties();e&&e(n),n.exec({type:oa.idle})})};function tu(t,e,n){this.__id__=t,n.objects[t]=this,this.__objectSignals__={},this.__propertyCache__={};var a=this;this.unwrapQObject=function(c){if(c instanceof Array){for(var u=new Array(c.length),d=0;d{Mm[n].resolve(JSON.parse(a)),delete Mm[n]}),e.objects.backend.pushNotify.connect(n=>{cr.forEach(a=>a(JSON.parse(n)))}),bs=e};for(new cQ(window.qt.webChannelTransport,t);!bs;)await new Promise(e=>setTimeout(e,1));return bs}function Lj(t){return new Promise((e,n)=>{dQ().then(a=>{Yp++,Mm[Yp]={resolve:e,reject:n},a.objects.backend.call(Yp,t)})})}function pQ(t){return cr.push(t),()=>{cr.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=cr.indexOf(t);cr.splice(e,1),cr.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}let Zp=0;const Jp={},nr=[];function Ij(t){return new Promise((e,n)=>{ci()?(typeof window.onAndroidCallResponse>"u"&&(window.onAndroidCallResponse=(a,i)=>{Jp[a].resolve(i),delete Jp[a]}),Zp++,Jp[Zp]={resolve:e,reject:n},window.android.call(Zp,t)):n()})}function hQ(t){return typeof window.onAndroidPushNotification>"u"&&(window.onAndroidPushNotification=e=>{nr.forEach(n=>n(e))}),nr.push(t),()=>{nr.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=nr.indexOf(t);nr.splice(e,1),nr.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}function $j(t,e){return t.startsWith("{{ ")&&t.endsWith(" }}")?e:t}const Mj=$j("{{ API_PORT }}","8082"),mQ=$j("{{ API_TOKEN }}","");function Oj(){return document.URL.startsWith("https://")}function Rj(t){return(Oj()?"https://":"http://")+"localhost:"+Mj+"/api/"+t}function Fj(t){return function(e){return new Promise((n,a)=>{if(e&&e.error){if(e.error.indexOf("hidapi: unknown failure")!==-1)return;console.error("error from endpoint",t,e),J(se.t("genericError")),a(e.error);return}n(e)})}}function Z(t){return Cd()?Lj(JSON.stringify({method:"GET",endpoint:t})):ci()?Ij(JSON.stringify({method:"GET",endpoint:t})):fetch(Rj(t),{method:"GET"}).then(e=>e.json()).then(Fj(t))}function H(t,e){return Cd()?Lj(JSON.stringify({method:"POST",endpoint:t,body:JSON.stringify(e)})):ci()?Ij(JSON.stringify({method:"POST",endpoint:t,body:JSON.stringify(e)})):fetch(Rj(t),{method:"POST",body:JSON.stringify(e)}).then(n=>n.json()).then(Fj(t))}let yi;const co=[];function fQ(t){return co.push(t),yi||(yi=new WebSocket((Oj()?"wss://":"ws://")+"localhost:"+Mj+"/api/events"),yi.onopen=function(){yi&&yi.send("Authorization: Basic "+mQ)},yi.onerror=function(e){console.error("websocket error",e)},yi.onmessage=function(e){const n=JSON.parse(e.data);co.forEach(a=>a(n))},yi.onclose=function(){co.forEach(e=>e({subject:"backend/connected",action:"replace",object:!1}))}),()=>{co.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=co.indexOf(t);co.splice(e,1),co.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}function Yo(t){return Cd()?pQ(t):ci()?hQ(t):fQ(t)}const Fu={};function gQ(t){if("subject"in t&&typeof t.subject=="string"&&Fu[t.subject])for(const e of Fu[t.subject])e(t)}let lk=null;function Vj(t,e){lk||(lk=Yo(gQ));let n=Fu[t];return n===void 0&&(n=[],Fu[t]=n),n.push(e),()=>{n.includes(e)||console.warn("!observers.includes(observer)");const a=n.indexOf(e);n.splice(a,1),n.includes(e)&&console.warn("observers.includes(observer)")}}function Gn(t,e){return Vj(t,n=>{switch(n.action){case"replace":e(n.object);break;case"reload":Z(n.subject).then(a=>e(a)).catch(console.error);break;default:throw new Error(`Event: ${n} not supported`)}})}const vQ=t=>Gn("backend/connected",t),bQ=()=>Z("supported-coins"),kQ=(t,e)=>H("set-account-active",{accountCode:t,active:e}),xQ=(t,e,n)=>H("set-token-active",{accountCode:t,tokenCode:e,active:n}),yQ=(t,e)=>H("rename-account",{accountCode:t,name:e}),wQ=()=>H("accounts/reinitialize"),jQ=()=>Z("testing"),BQ=t=>()=>Z(`qr?data=${encodeURIComponent(t)}`),SQ=()=>Z("config/default"),zQ=t=>H("socksproxy/check",t),CQ=()=>t=>Gn("connect-keystore",e=>{t(e)}),DQ=()=>H("cancel-connect-keystore"),ck=(t,e)=>H("set-watchonly",{rootFingerprint:t,watchonly:e}),AQ=(t=!1)=>H("authenticate",t),_Q=()=>H("force-auth"),Wj=t=>Gn("auth",t),TQ=()=>H("on-auth-setting-changed"),Uj=t=>Gn("keystores",t),EQ=()=>Z("keystores"),PQ="_message_ncb43_1",NQ="_small_ncb43_15",LQ="_success_ncb43_28 _message_ncb43_1",IQ="_info_ncb43_34 _message_ncb43_1",$Q="_warning_ncb43_40 _message_ncb43_1",MQ="_error_ncb43_46 _message_ncb43_1",uk={message:PQ,small:NQ,success:LQ,info:IQ,warning:$Q,error:MQ};function nn({hidden:t,small:e,type:n="message",children:a}){return t?null:r.jsx("div",{className:`${uk[n]} ${e?uk.small:""}`,children:a})}function wg(t){return t.displayName||t.name||"Component"}function qj(t){return function(n){var a;return a=class extends x.Component{componentDidMount(){t.subscribe(this)}componentWillUnmount(){t.unsubscribe(this)}render(){const i=this.props;return r.jsx(n,{...t.state,...i})}},a.displayName=`Share(${wg(n)})`,a}}const OQ=""+new URL("coins-0648651c.svg",import.meta.url).href,RQ=""+new URL("info-67e443f5.svg",import.meta.url).href,FQ=""+new URL("settings-alt-98fdf03d.svg",import.meta.url).href,VQ=""+new URL("settings-alt_disabled-abb2d7e2.svg",import.meta.url).href;function Dd(t,e){return t.find(({code:n})=>e===n)}function Ad(t,e){return e&&_d(e.coinCode)?"Bitcoin":t}function _d(t){switch(t){case"btc":case"tbtc":return!0;default:return!1}}const Hj=t=>t==="BTC"||t==="TBTC"||t==="sat"||t==="tsat";function La(t){switch(t){case"btc":case"tbtc":case"ltc":case"tltc":return!0;default:return!1}}function Fo(t){return t==="eth"||t==="goeth"||t==="sepeth"||t.startsWith("eth-erc20-")}function WQ(t){switch(t){case"btc":case"tbtc":return"btc";case"ltc":case"tltc":return"ltc";case"eth":case"goeth":case"sepeth":return"eth"}}function Td(t){switch(t){case"p2pkh":return"Legacy (P2PKH)";case"p2wpkh-p2sh":return"Wrapped Segwit (P2WPKH-P2SH)";case"p2wpkh":return"Native segwit (bech32, P2WPKH)";case"p2tr":return"Taproot (bech32m, P2TR)"}}function Kj(t){return La(t)?"sat/vB":Fo(t)?"Gwei":""}function Gj(t){return Object.values(t.reduce((e,n)=>{const a=n.keystore.rootFingerprint;return e[a]||(e[a]={keystore:n.keystore,accounts:[]}),e[a].accounts.push(n),e},{})).sort((e,n)=>e.keystore.name.localeCompare(n.keystore.name))}function Qj(t,e){return e.filter(n=>n.keystore.name===t).length>1}const UQ=()=>Z("accounts"),qQ=()=>Z("accounts/total-balance"),Yj=t=>H("accounts/eth-account-code",{address:t}),Zj=t=>Z(`account/${t}/status`),HQ=["p2pkh","p2wpkh-p2sh","p2wpkh","p2tr"],Jj=t=>()=>Z(`account/${t}/info`),Xj=t=>H(`account/${t}/init`),KQ=()=>Z("account-summary"),Ur=t=>Z(`account/${t}/balance`),GQ=(t,{internalTxID:e,note:n})=>H(`account/${t}/notes/tx`,{internalTxID:e,note:n}),QQ=(t,e)=>H(`account/${t}/propose-tx-note`,e),eB=t=>Z(`account/${t}/transactions`),YQ=(t,e)=>Z(`account/${t}/transaction?id=${e}`),ZQ=t=>H(`account/${t}/export`),JQ=(t,e)=>H(`account/${t}/verify-extended-public-key`,{signingConfigIndex:e}),Ed=t=>()=>Z(`account/${t}/receive-addresses`),XQ=t=>H(`account/${t}/sendtx`),eY=t=>Z(`account/${t}/fee-targets`),jg=(t,e)=>H(`account/${t}/verify-address`,e),dk=t=>Z(`account/${t}/utxos`),tB=t=>()=>Z(`account/${t}/has-secure-output`),tY=(t,e)=>H("account-add",{coinCode:t,name:e}),nY=t=>H("test/register",{pin:t}),fl=t=>H(`account/${t}/connect-keystore`),aY=(t,e)=>H(`account/${t}/eth-sign-msg`,e),iY=(t,e,n)=>H(`account/${t}/eth-sign-typed-msg`,{chainId:e,data:n}),oY=(t,e,n,a)=>H(`account/${t}/eth-sign-wallet-connect-tx`,{send:e,chainId:n,tx:a}),rY="_capsWarning_1xqma_1",nB={capsWarning:rY};function Bg(t){const{seePlaintext:e,...n}=t;return r.jsx(Ye,{type:e?"text":"password",...n})}class sY extends x.Component{constructor(){super(...arguments);M(this,"state",{password:"",seePlaintext:!1,capsLock:!1});M(this,"password",x.createRef());M(this,"idPrefix",()=>this.props.idPrefix||"");M(this,"tryPaste",n=>{n.target.type==="password"&&(n.preventDefault(),J(this.props.t("password.warning.paste",{label:this.props.label})))});M(this,"clear",()=>{this.setState({password:"",seePlaintext:!1,capsLock:!1})});M(this,"validate",()=>{if(this.regex&&this.password.current&&!this.password.current.validity.valid)return this.props.onValidPassword(null);this.state.password?this.props.onValidPassword(this.state.password):this.props.onValidPassword(null)});M(this,"handleFormChange",n=>{let a=n.target.value;n.target.type==="checkbox"&&(a=n.target.checked);const i=n.target.id.slice(this.idPrefix().length);this.setState({[i]:a},this.validate)});M(this,"handleCheckCaps",n=>{const a=aB(n);a!==null&&this.setState({capsLock:a})})}UNSAFE_componentWillMount(){window.addEventListener("keydown",this.handleCheckCaps)}componentDidMount(){var n;this.props.pattern&&(this.regex=new RegExp(this.props.pattern)),this.props.autoFocus&&((n=this.password)!=null&&n.current)&&this.password.current.focus()}componentWillUnmount(){window.removeEventListener("keydown",this.handleCheckCaps)}render(){const{t:n,disabled:a,label:i,placeholder:o,pattern:s,title:l,showLabel:c}=this.props,{password:u,seePlaintext:d,capsLock:p}=this.state,h=p&&!d&&r.jsx("span",{className:nB.capsWarning,title:n("password.warning.caps"),children:"⇪"});return r.jsx(Ye,{autoFocus:!0,disabled:a,type:d?"text":"password",pattern:s,title:l,id:this.idPrefix()+"password",label:i,placeholder:o,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:u,labelSection:r.jsx(Ve,{id:this.idPrefix()+"seePlaintext",onChange:this.handleFormChange,checked:d,label:n("password.show",{label:c||i})}),children:h})}}const Sg=He(null,{withRef:!0})(sY);class lY extends x.Component{constructor(){super(...arguments);M(this,"state",{password:"",passwordRepeat:"",seePlaintext:!1,capsLock:!1});M(this,"password",x.createRef());M(this,"passwordRepeat",x.createRef());M(this,"idPrefix",()=>this.props.idPrefix||"");M(this,"tryPaste",n=>{n.target.type==="password"&&(n.preventDefault(),J(this.props.t("password.warning.paste",{label:this.props.label})))});M(this,"validate",()=>{if(this.regex&&this.password.current&&this.passwordRepeat.current&&(!this.password.current.validity.valid||!this.passwordRepeat.current.validity.valid))return this.props.onValidPassword(null);this.state.password&&this.state.password===this.state.passwordRepeat?this.props.onValidPassword(this.state.password):this.props.onValidPassword(null)});M(this,"handleFormChange",n=>{let a=n.target.value;n.target.type==="checkbox"&&(a=n.target.checked);const i=n.target.id.slice(this.idPrefix().length);this.setState({[i]:a},this.validate)});M(this,"handleCheckCaps",n=>{const a=aB(n);a!=null&&this.setState({capsLock:a})})}UNSAFE_componentWillMount(){window.addEventListener("keydown",this.handleCheckCaps)}componentDidMount(){var n;this.props.pattern&&(this.regex=new RegExp(this.props.pattern)),this.props.autoFocus&&((n=this.password)!=null&&n.current)&&this.password.current.focus()}componentWillUnmount(){window.removeEventListener("keydown",this.handleCheckCaps)}render(){const{t:n,disabled:a,label:i,placeholder:o,pattern:s,title:l,repeatLabel:c,repeatPlaceholder:u,showLabel:d}=this.props,{password:p,passwordRepeat:h,seePlaintext:m,capsLock:g}=this.state,v=g&&!m&&r.jsx("span",{className:nB.capsWarning,title:n("password.warning.caps"),children:"⇪"});return r.jsxs("div",{children:[r.jsx(Ye,{autoFocus:!0,disabled:a,type:m?"text":"password",pattern:s,title:l,id:this.idPrefix()+"password",label:i,placeholder:o,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:p,children:v}),r.jsx(pk,{regex:this.regex,text:l,value:p}),r.jsx(Ye,{disabled:a,type:m?"text":"password",pattern:s,title:l,id:this.idPrefix()+"passwordRepeat",label:c,placeholder:u,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:h,children:v}),r.jsx(pk,{regex:this.regex,text:l,value:h}),r.jsx(Ps,{children:r.jsx(Ve,{id:this.idPrefix()+"seePlaintext",onChange:this.handleFormChange,checked:m,label:n("password.show",{label:d||i})})})]})}}const qr=He(null,{withRef:!0})(lY);function pk({regex:t,value:e="",text:n}){return!t||!e.length||t.test(e)?null:r.jsx("p",{style:{color:"var(--color-error)"},children:n})}const cY=/^(Shift|Alt|Backspace|CapsLock|Tab)$/i;function aB({key:t}){return t.length>1||t.toUpperCase()===t.toLowerCase()||cY.test(t)?null:t.toUpperCase()===t&&t.toLowerCase()!==t&&!event.shiftKey}const iB=()=>{const[t,e]=x.useState(!1),n=me(()=>Promise.resolve(!1)),[a,i]=x.useState(""),o=async l=>{l.preventDefault(),await nY(a),e(!1)};if(!n)return null;const s="Unlock software keystore";return r.jsxs(r.Fragment,{children:[r.jsx("button",{onClick:()=>e(!0),children:s}),r.jsx(qe,{open:t,title:s,onClose:()=>e(!1),children:r.jsxs("form",{onSubmit:o,children:[r.jsx(Sg,{type:"password",autoFocus:!0,label:"Test Password",onValidPassword:i,value:a}),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:"Unlock"})})]})})]})};class uY{constructor(e){this.state=e,this.components=[]}subscribe(e){this.components.push(e)}unsubscribe(e){const n=this.components.indexOf(e);this.components.splice(n,1)}updateComponents(){for(const e of this.components)e.forceUpdate()}setState(e){Object.assign(this.state,e),this.updateComponents()}}const dY="_badge_f2nw5_1",pY="_iconOnly_f2nw5_11",hY="_badgeIcon_f2nw5_20",mY="_withChildren_f2nw5_24",fY="_success_f2nw5_34",gY="_warning_f2nw5_40",ks={badge:dY,iconOnly:pY,badgeIcon:hY,withChildren:mY,success:fY,warning:gY},Vu=({children:t,className:e,icon:n,type:a="success",...i})=>{const o=t!==void 0?ks.withChildren:"",s=t===void 0&&n?ks.iconOnly:"";return r.jsxs("span",{className:`${ks.badge} ${ks[a]} ${o} ${s} ${e||""}`,...i,children:[n&&n({className:ks.badgeIcon}),t]})},vY="_closeButton_1xwfn_1",bY="_sidebarOverlay_1xwfn_13",kY="_active_1xwfn_26",xY="_sidebar_1xwfn_13",yY="_end_1xwfn_47",wY="_forceShow_1xwfn_52",jY="_sidebarLogoContainer_1xwfn_56",BY="_sidebarHeaderContainer_1xwfn_75",SY="_sidebarPortfolio_1xwfn_85",zY="_sidebarHeader_1xwfn_75",CY="_sidebarIconVisible_1xwfn_95",DY="_sidebarIconHidden_1xwfn_99",AY="_sidebarItem_1xwfn_103",_Y="_sidebarArrow_1xwfn_121",TY="_sidebarActive_1xwfn_125",EY="_activeGroup_1xwfn_130",PY="_single_1xwfn_136",NY="_sidebarLabel_1xwfn_141",LY="_sidebarSubmenu_1xwfn_197",IY="_sidebarContainer_1xwfn_216",$Y="_forceHide_1xwfn_216",ze={closeButton:vY,sidebarOverlay:bY,active:kY,sidebar:xY,end:yY,forceShow:wY,sidebarLogoContainer:jY,sidebarHeaderContainer:BY,sidebarPortfolio:SY,sidebarHeader:zY,sidebarIconVisible:CY,sidebarIconHidden:DY,sidebarItem:AY,sidebarArrow:_Y,sidebarActive:TY,activeGroup:EY,single:PY,sidebarLabel:NY,sidebarSubmenu:LY,sidebarContainer:IY,forceHide:$Y},Xi=new uY({activeSidebar:!1,sidebarStatus:""}),So=()=>{const t=!Xi.state.activeSidebar;Xi.setState({activeSidebar:t})},hk=t=>{Xi.setState({sidebarStatus:t})},MY=({coinCode:t,code:e,name:n,handleSidebarItemClick:a})=>{const{pathname:i}=Go(),o=i===`/account/${e}`||i.startsWith(`/account/${e}/`);return r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Ya,{className:o?ze.sidebarActive:"",to:`/account/${e}`,onClick:a,title:n,children:[r.jsx(Ro,{stacked:!0,coinCode:t,alt:n}),r.jsx("span",{className:ze.sidebarLabel,children:n})]})},e)},OY=({deviceIDs:t,accounts:e,activeSidebar:n,sidebarStatus:a})=>{const{t:i}=A();x.useEffect(()=>{const p={active:!1,x:0,y:0},h=v=>{const y=v.touches[0];p.x=y.clientX,p.y=y.clientY},m=v=>{a!=="forceHidden"&&v.changedTouches&&v.changedTouches.length&&(p.active=!0)},g=v=>{if(a!=="forceHidden"){const y=v.changedTouches[0],b=Math.abs(y.clientX-p.x),k=Math.abs(y.clientY-p.y),w=window.innerWidth<=901&&p.active&&k<100&&b>70;(!Xi.state.activeSidebar&&w&&p.x<60||Xi.state.activeSidebar&&w&&p.x>230)&&So(),p.x=0,p.y=0,p.active=!1}};return document.addEventListener("touchstart",h),document.addEventListener("touchmove",m),document.addEventListener("touchend",g),()=>{document.removeEventListener("touchstart",h),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",g)}},[a]);const[o,s]=x.useState();x.useEffect(()=>(EQ().then(p=>{s(p)}),Uj(s)),[]);const l=p=>{p.target.closest("a").classList.contains("sidebarActive")&&window.innerWidth<=901&&So()},c=a==="forceHidden",u=e.every(({coinCode:p})=>_d(p)),d=Gj(e);return r.jsxs("div",{className:[ze.sidebarContainer,c?ze.forceHide:""].join(" "),children:[r.jsx("div",{className:[ze.sidebarOverlay,n?ze.active:""].join(" "),onClick:So}),r.jsxs("nav",{className:[ze.sidebar,n?ze.forceShow:""].join(" "),children:[r.jsxs("div",{className:ze.sidebarLogoContainer,children:[r.jsx(Ya,{to:e.length?"/account-summary":"/",onClick:l,children:r.jsx(Sd,{className:ze.sidebarLogo})}),r.jsx("button",{className:ze.closeButton,onClick:So,children:r.jsx(El,{})})]}),e.length?r.jsx("div",{className:`${ze.sidebarItem} ${ze.sidebarPortfolio}`,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/account-summary",title:i("accountSummary.title"),onClick:l,children:[r.jsx("div",{className:ze.single,children:r.jsx("img",{draggable:!1,src:RQ})}),r.jsx("span",{className:ze.sidebarLabel,children:i("accountSummary.title")})]})}):null,d.map(p=>r.jsxs(Mn.Fragment,{children:[r.jsx("div",{className:ze.sidebarHeaderContainer,children:r.jsxs("span",{className:ze.sidebarHeader,hidden:!p.accounts.length,children:[r.jsxs("span",{className:"p-right-quarter",children:[`${p.keystore.name} `,Qj(p.keystore.name,d)?r.jsxs(r.Fragment,{children:[" (",p.keystore.rootFingerprint,")"]}):null]}),r.jsx(Vu,{className:p.keystore.connected?ze.sidebarIconVisible:ze.sidebarIconHidden,icon:h=>r.jsx(zj,{...h}),type:"success",title:i("device.keystoreConnected")})]})}),p.accounts.map(h=>r.jsx(MY,{...h,handleSidebarItemClick:l},h.code))]},p.keystore.rootFingerprint)),r.jsx("div",{className:[ze.sidebarHeaderContainer,ze.end].join(" ")}),e.length?r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/buy/info",children:[r.jsx("div",{className:ze.single,children:r.jsx("img",{draggable:!1,src:OQ})}),r.jsx("span",{className:ze.sidebarLabel,children:u?i("accountInfo.buyCTA.buy",{unit:"Bitcoin"}):i("sidebar.buy")})]})},"buy"):null,r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/settings",title:i("sidebar.settings"),onClick:l,children:[r.jsxs("div",{className:"stacked",children:[r.jsx("img",{draggable:!1,src:VQ,alt:i("sidebar.settings")}),r.jsx("img",{draggable:!1,src:FQ,alt:i("sidebar.settings")})]}),r.jsx("span",{className:ze.sidebarLabel,children:i("sidebar.settings")})]})},"settings-new"),!o||o.length===0?r.jsx(iB,{}):null,uQ]})]})},RY=qj(Xi)(OY),mi=x.createContext({}),FY="_children_1y42x_1",VY="_container_1y42x_22",WY="_fixed_1y42x_26",UY="_disabled_1y42x_34",qY="_forceHidden_1y42x_38",HY="_sidebarToggler_1y42x_38",KY="_guideIcon_1y42x_42",GY="_guideIconContainer_1y42x_57",QY="_header_1y42x_62",YY="_narrow_1y42x_76",ZY="_title_1y42x_99",JY="_hideSidebarToggler_1y42x_120",Jn={children:FY,container:VY,fixed:WY,disabled:UY,forceHidden:qY,sidebarToggler:HY,guideIcon:KY,guideIconContainer:GY,header:QY,narrow:YY,title:ZY,hideSidebarToggler:JY},XY=({sidebarStatus:t,narrow:e,title:n,hideSidebarToggler:a,children:i})=>{const{t:o}=A(),{guideShown:s,guideExists:l,toggleGuide:c}=x.useContext(mi),u=d=>(d.preventDefault(),s||c(),!1);return r.jsx("div",{className:[Jn.container,t?Jn[t]:""].join(" "),children:r.jsxs("div",{className:[Jn.header,e?Jn.narrow:""].join(" "),children:[r.jsxs("div",{className:`${Jn.sidebarToggler} ${a?Jn.hideSidebarToggler:""}`,onClick:So,children:[r.jsx(Bj,{className:"show-in-lightmode"}),r.jsx(oK,{className:"show-in-darkmode"})]}),r.jsx("div",{className:Jn.title,children:n}),r.jsxs("div",{className:Jn.children,children:[i,l&&r.jsx("span",{className:Jn.guideIconContainer,children:r.jsxs("a",{href:"#",onClick:u,className:[Jn.guideIcon,s?Jn.disabled:""].join(" "),children:[r.jsx(iK,{}),o("guide.toggle.open")]})})]})]})})},xe=qj(Xi)(XY),eZ="_main_1ntet_1",tZ={main:eZ},ln=({children:t})=>r.jsx("main",{className:tZ.main,children:t}),nZ="_columnAsCard_1rob5_1",aZ="_column_1rob5_1",iZ="_columnButtons_1rob5_10",oZ="_columnButtonsInline_1rob5_10",rZ="_left_1rob5_29",sZ="_center_1rob5_33",lZ="_grid_1rob5_47",_o={columnAsCard:nZ,column:aZ,columnButtons:iZ,columnButtonsInline:oZ,left:rZ,center:sZ,grid:lZ,"grid-columns-1":"_grid-columns-1_1rob5_53","grid-columns-2":"_grid-columns-2_1rob5_56"},Er=({children:t,col:e="2",textAlign:n})=>{const a=` +`,noFeeTargets:"La stima delle fee al momento non è disponibile. Inserisci una fee a tua discrezione o riprova più tardi.",priority:"Priorità",scanQR:"Leggi il QR code",signprogress:{description:"Questa è una transazione che contiene molti dati. Per firmare la transazione, ti verrà chiesto di confermare {{steps}} volte.",label:"Progresso"},success:"La transazione è stata firmata ed inviata.",title:"Invia {{accountName}}",toggleCoinControl:"Toggle coin control",transactionDetails:"Dettagli della transazione"},C9={about:"About",accounts:"Accounts",advancedSettings:"Impostazioni avanzate",appearance:"Aspetto",electrum:{add:"Aggiungi un server","add-server":"Aggiungi",check:"Verifica",checkFailed:"Fallito",checkSuccess:"Connessione stabilita con {{host}}",checking:"Verifico","download-cert":"Scarica certificato remoto","remove-server":"Rimuovi",removeConfirm:"Rimuovere {{server}}?",reset:"Ripristina le impostazioni predefinite",resetConfirm:"Vuoi rimuovere tutti i server e installare quelli di default?",servers:"Server",step1:"1","step1-text":"Inserisci l'endpoint.",step2:"2","step2-text":"Inserisci un certificato della catena dei certificati del server. In alternativa, scarica il certificato remoto e confrontalo visivamente.","step2-text-tcp":"Puoi saltare questo passo se non vuoi usare TLS.",step3:"3","step3-text":"Controlla la connessione e aggiungi il server.",step4:"4","step4-text":"Riavvia il portafoglio. Se non rimuovi i server di default, il tuo nodo sarà aggiunto come ridondanza.","title-btc":"Bitcoin Electrum servers","title-ltc":"Litecoin Electrum servers","title-tbtc":"Bitcoin Testnet Electrum servers","title-tltc":"Litecoin Testnet Electrum servers"},expert:{coinControl:'Abilita "coin control"',electrum:{description:"Puoi connetterti al tuo full node Electrum",title:"Connetti il tuo full node"},fee:"Abilitare commissioni personalizzate",setProxyAddress:"Imposta indirizzo proxy",title:"Impostazioni avanzate",useProxy:"Abilita il proxy per tor",useSats:"Mostra i valori BTC in Satoshi"},header:{home:"Home"},info:{"out-of-date":"Nuovo aggiornamento disponibile",title:"Informazioni","up-to-date":"La tua app è aggiornata",version:"Versione App"},restart:"Si prega di riavviare la BitBoxApp affinché le modifiche abbiano effetto.",services:{title:"Servizi"},success:"Si prega di scollegare e ricollegare il BitBox affinché le modifiche abbiano effetto.",title:"Impostazioni"},D9="Imposta il dispositivo",A9={buy:"Acquista criptovalute",device:"Gestisci il dispositivo",leave:"Esci",settings:"Impostazioni"},_9={create:{info1:"Il tuo portafoglio è stato salvato in modo sicuro sulla scheda microSD. Rimuovila e tienila al sicuro.",info2:"Hai creato una password sicura del dispositivo che sblocca il BitBox.",info3:"Hai creato una password di recupero sicura per il tuo portafoglio che sblocca i tuoi fondi e ripristina i tuoi backup.",summary:"Ecco un riassunto di quello che hai fatto",title:"Successo"},getstarted:"Inizia",restore:{summary:"Hai ripristinato con successo un portafoglio dal tuo backup.",title:"Successo"}},T9={confirmation:"Conferme",details:{activity:"Attività",address:"Indirizzo",amount:"Importo",date:"Data",fiat:"Fiat",fiatAmount:"Importo fiat",fiatAtTime:"Fiat al tempo della transazione",status:"Status",type:"Tipo"},explorer:"ID della transazione",explorerTitle:"Apri in un esploratore di blocchi esterno",fee:"Commissione",fiatHistorical:"Storico",gas:"Gas",note:{edit:"Modifica nota",save:"Salva nota"},pending:"Transazione in sospeso",size:"Dimensione",status:{complete:"Completata",failed:"Fallita",pending:"In sospeso"},tx:{received:"Ricevuta a",sent:"Inviata a"},vsize:"Dimensione virtuale",weight:"Peso"},E9={errorLoadTransactions:"Si è verificato un errore nel carimento delle transazioni",placeholder:"Nessuna transazione."},P9="Si è verificato un errore sconosciuto: {{errorMessage}}",N9={description:"Inserisci la password del tuo dispositivo per sbloccarlo.",error:{e109_normal:"Password del dispositivo errata. Restano ancora {{remainingAttempts}} tentativi prima che il dispositivo venga resettato.",e109_touch:"$t(unlock.error.e109_normal) Il prossimo login richiede di tenere premuto il pulsante touch.",e113:"A causa di molti tentativi di login, il login successivo richiede di tenere premuto il pulsante a sfioramento per 4 secondi."},input:{label:"Password del dispositivo",placeholder:"Inserisci la password del tuo dispositivo per sbloccare il dispositivo"},unlocking:"Sblocco..."},L9={button:"Aggiorna il firmware",description:"Vuoi aggiornare il firmware dalla versione {{currentVersion}} alla {{newVersion}}?",label:"Il tuo BitBox richiede un aggiornamento del firmware.",locked:"Per aggiornare da {{currentVersion}} a {{newVersion}}, fai un tocco lungo.",title:"Aggiorna il firmware",unlocked:"Il bootloader è sbloccato. Per continuare, per favore:",unlocked1:"Scollegare e ricollegare il vostro Bitbox",unlocked2:"Il LED si accende quando il tuo BitBox è ricollegato",unlocked3:"Tocca il pulsante a sfioramento quando il LED si accende"},I9={connect:{button:"Conneti",dappLabel:"Inserire indirizzo URI della DApp",invalidPairingUri:"URI di connessione non valido"},dashboard:{allSessions:"Tutte le sessioni",disclaimer:"WalletConnect è un protocollo per connettersi a Dapp basate su Ethereum. Queste DApp sono gestite da servizi di terze parti, per cui connettiti solo a DApp di cui ti fidi e accertati di sapere sempre cosa stai firmando quando crei una transazione.",newConnection:"Nuova Connessione",noConnectedSessions:"Nessun account è connesso a DApp al momento."},invalidPairingChain:"Errore nell'approvazione della connessione. Assicurati di utilizare una delle chain supportate: {{chains}}",pairingRequest:{approve:"Approva Connessione",reject:"Rifiuta",title:"Nuova richista di connessione da"},pairingSuccess:"DApp connessa. Puoi continuare sul sito della DApp.",signingRequest:{account:"Account",chain:"Chain",dapp:"DApp",data:"Dati",dataParsingError:"Parse dei dati fallto.",decodeError:"Decodifica del messaggio fallita",method:{sendTransaction:"Firma ed invia transazione",signMessage:"Firma messaggio",signTransaction:"Firma transazione",signTypedData:"Firma typed data"},successfullySigned:"Richiesta firmata con successo",walletConnectRequest:"Richiesta WalletConnect"},useNewUri:"Questo URI è già stato utilizzato per provare a connettersi. Per favore, utilizzare un nuovo URI.",walletConnect:"WalletConnect"},$9={receivePairing:`Si prega di associare il BitBox per abilitare la verifica sicura dell'indirizzo. Vai su "Gestisci dispositivo" nella barra laterale.`,sdcard:"Tenere la scheda microSD separata dal BitBox, a meno che non si vogliano gestire i backup.",sendPairing:"Si prega di abbinare il BitBox per verificare in modo sicuro i dettagli della transazione. Vai su 'Gestisci dispositivo' nella barra laterale."},M9={connect:"Connetti BitBox02",getStarted:"Iniziamo con l'installazione del firmware sul BitBox02.",insertBitBox02:"Se hai collegato un BitBox02, tocca il dispositivo per continuare.",insertDevice:"Collega il tuo dispositivo per cominciare",title:"Benvenuto"},O9={account:wH,accountInfo:jH,accountSummary:BH,addAccount:SH,aopp:zH,app:CH,auth:DH,backup:AH,bb02Bootloader:_H,bitbox:TH,bitbox02Interact:EH,bitbox02Settings:PH,bitbox02Wizard:NH,blink:LH,bootloader:IH,button:$H,buy:MH,changePin:OH,chart:RH,checkSDcard:FH,clickHere:VH,confirm:WH,confirmOnDevice:UH,connectKeystore:qH,darkmode:HH,device:KH,deviceLock:GH,deviceSettings:QH,deviceTampered:YH,dialog:ZH,error:JH,fiat:XH,footer:e9,generic:t9,genericError:n9,goal:a9,guide:i9,headerssync:o9,hiddenWallet:r9,initialize:s9,invalidFormat:l9,language:c9,legacyhiddenwallet:u9,loading:d9,manageAccounts:p9,mobile:h9,newSettings:m9,note:f9,notification:g9,pairing:v9,passphrase:b9,password:k9,random:x9,receive:y9,reset:w9,securityInformation:j9,seed:B9,seedRestore:S9,send:z9,settings:C9,setup:D9,sidebar:A9,success:_9,transaction:T9,transactions:E9,unknownError:P9,unlock:N9,upgradeFirmware:L9,walletConnect:I9,warning:$9,welcome:M9};function Mu(t){return t.replace("_","-")}const tk=t=>Mu(t).split("-")[0],R9=t=>{try{const e=Mu(t);return new Intl.Locale(e).region||""}catch{return""}},nk="en",F9={type:"languageDetector",async:!0,detect:t=>{Z("config").then(({backend:e})=>{if(e&&e.userLanguage){t(e.userLanguage);return}Z("native-locale").then(n=>{if(typeof n=="string"&&n){try{new Date().toLocaleString(Mu(n))}catch{t(nk);return}t(Mu(n));return}t(nk)})})},init:()=>{},cacheUserLanguage:()=>{}};let hc={};const Bt=()=>Z("config"),at=t=>Bt().then((e={})=>{const n=Object.assign(e,{backend:Object.assign({},e.backend,hc.backend,t.backend),frontend:Object.assign({},e.frontend,hc.frontend,t.frontend)});return hc=n,H("config",n).then(()=>(hc={},n))}),V9="fe4e5a24-e4a2-4903-96fc-3d62c11fc502";let W9=se.use(F9);W9.init({fallbackLng:"en",ns:["app","wallet"],defaultNS:"app",debug:!1,returnObjects:!0,interpolation:{escapeValue:!1},react:{useSuspense:!0},backend:{projectId:V9,referenceLng:"en"}});se.addResourceBundle("ar","app",b_);se.addResourceBundle("cs","app",IT);se.addResourceBundle("de","app",eP);se.addResourceBundle("en","app",bN);se.addResourceBundle("fr","app",IL);se.addResourceBundle("ja","app",e$);se.addResourceBundle("ms","app",TO);se.addResourceBundle("nl","app",HR);se.addResourceBundle("ru","app",hM);se.addResourceBundle("pt","app",uF);se.addResourceBundle("hi","app",m4);se.addResourceBundle("bg","app",b5);se.addResourceBundle("tr","app",wV);se.addResourceBundle("zh","app",zW);se.addResourceBundle("fa","app",_8);se.addResourceBundle("es","app",GU);se.addResourceBundle("sl","app",p6);se.addResourceBundle("he","app",yH);se.addResourceBundle("it","app",O9);se.on("languageChanged",t=>hj().then(e=>{let n=t===e;if(!n){const i=tk(t),o=tk(e);n=i===o}return at({backend:{userLanguage:n?null:t}})}));const U9=/^(.*)(.*)<\/strong>(.*)$/;function Qe({tagName:t,markup:e,...n}){if(typeof e!="string")return null;const a=U9.exec(e);return a===null||a.length!==4?x.createElement(t,n,e):x.createElement(t,n,a[1],x.createElement("strong",null,a[2]),a[3])}const ia=({tagName:t,markup:e,withBreaks:n,...a})=>r.jsx(r.Fragment,{children:e.split(` +`).map((i,o)=>r.jsxs(x.Fragment,{children:[r.jsx(Qe,{tagName:t,markup:i,...a}),n&&r.jsx("br",{})]},`${i}-${o}`))}),gg=x.createContext({}),Kn=()=>{const{isDarkMode:t,toggleDarkmode:e}=x.useContext(gg);return{isDarkMode:t,toggleDarkmode:e}},q9=""+new URL("alert-triangle.svg",import.meta.url).href,H9=""+new URL("bitbox02-stylized-reflection-dark.png",import.meta.url).href,K9=""+new URL("bitbox02-stylized-reflection-light.png",import.meta.url).href,G9=""+new URL("info2.svg",import.meta.url).href,Q9=""+new URL("arrow-circle-left.svg",import.meta.url).href,Y9=""+new URL("arrow-circle-left-active.svg",import.meta.url).href,Z9=""+new URL("arrow-circle-right.svg",import.meta.url).href,J9=""+new URL("arrow-circle-right-active.svg",import.meta.url).href,X9=""+new URL("bank.svg",import.meta.url).href,e7=""+new URL("bank-light.svg",import.meta.url).href,t7=""+new URL("buy-info.svg",import.meta.url).href,n7=""+new URL("checked-small.svg",import.meta.url).href,a7=""+new URL("check.svg",import.meta.url).href,i7=""+new URL("chevron-right-dark.svg",import.meta.url).href,o7=""+new URL("chevron-left-dark.svg",import.meta.url).href,r7=""+new URL("cancel.svg",import.meta.url).href,s7=""+new URL("credit-card.svg",import.meta.url).href,l7=""+new URL("credit-card-light.svg",import.meta.url).href,c7=""+new URL("edit.svg",import.meta.url).href,u7=""+new URL("edit-light.svg",import.meta.url).href,d7=""+new URL("edit-active.svg",import.meta.url).href,Es=""+new URL("eth-color.svg",import.meta.url).href,p7=""+new URL("red-dot.svg",import.meta.url).href,h7=""+new URL("copy.svg",import.meta.url).href,m7=""+new URL("close.svg",import.meta.url).href,f7=""+new URL("close-x-white.svg",import.meta.url).href,g7=""+new URL("close-x-dark.svg",import.meta.url).href,v7=""+new URL("external-link.svg",import.meta.url).href,b7=""+new URL("eye-closed.svg",import.meta.url).href,k7=""+new URL("eye-opened.svg",import.meta.url).href,x7=""+new URL("eye-opened-dark.svg",import.meta.url).href,y7=""+new URL("globe-dark.svg",import.meta.url).href,w7=""+new URL("globe-light.svg",import.meta.url).href,j7=""+new URL("guide.svg",import.meta.url).href,B7=""+new URL("menu-dark.svg",import.meta.url).href,S7=""+new URL("menu-light.svg",import.meta.url).href,z7=""+new URL("wallet-connect-dark.svg",import.meta.url).href,C7=""+new URL("wallet-connect-light.svg",import.meta.url).href,D7=""+new URL("wallet-connect-default.svg",import.meta.url).href,A7="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACowAAAqMBZNxfiQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOMSURBVGiB7ZjPS5RBGMe/877vrluJmLqR4KEfICJ46CB0CNwOGS5sLf0FYq63grqWseipJOzaD6N7lyBSUohAgkDpkgcREiI96Wp00d33dZ4Ou67uvvP6zjvvLFvg97bzzjzP892Z+bwzL3CsY4USq1Xg3FCqnwx+v5iEnra+mp6rRZ6aGNgaSV3hnH8GYJaaHIN4omVq5ovuXIbugJRNWJz4cxwUDwAWN4wXlE1YuvNpN5BbO5UBodv1gNC9ud44rDuf1iW0PZhu3rPsFQBxjy4bphPpPP3m3W9dObXOgGMWRuFdPADEuWU/1JlT2wxsZJKdjNgSgIhP1wIx6om/nF7RkVfbDDDOJuBfPABEGbEn2vLqCFJi/sdAiblxvfX1+9mwuUPPAGUTFpl8MvA4k0/qwGpoA57Y9JMmrIZaQhLY9FNorIaagRISVYsHgDiP2A/C1KA8AyVsfgcQrX4WSyQR679V0bYz8xb5eeE+D4VV5U3EOJsAcxcPAIhEYcbPVva3PAm7j9W0Sh1KSyg3lOoHww3PDoW8q4lsd9sh3cwNpfpVaglsQAabZBfcjQVB2+ExilgNbGBzvXHYD5skKNZnBopY/XXydtB6AhnYHkw3M6Ix346CYkWmqsUYG98eTDcHqSmQAVlsCosVLSu3AmNV2sBGJtlJwB2ZvqI9INwXorGEuxuZZKdsXdIGSqdNMTarJaKQxBIqKdBpVcqALzarJPy3/TZxpaSx6mtA5bQppJD8DBT7S2LV14AMNl0SUUhyDxwMkMPqkQaksVmd27bdjYJ94ScZrB5pQPW06XppEYEcgSl/+WLV00AQbLrkOADn5Z/k2ACRUig/rHpukiNPmxJyVpeBSHE45XdVwwA+p1XhfUDlkl5reX0EcC0h1Ut6reWFVZcBJWyKxBjMM+0w4+0A0/D1xgOrFZE1XNKLQWMn0HRvHNaFLgCA82MZf56NgnZ3woQFBB8BKmZAwyUdABDrGygXDwDWxS7E+gbChgUEWC0bCIXNKrHGJqk2FVVjtWyghCplbB5WYWG+4sVFjo3CwryO0AAQZcDj/R8MqA02zY5zaLh8FSAg//UT9tZ/6gxfxiqjbNbIrS0uAnRJa4ba61trR28v+xdfWtJiuGZwttdW7zpURUCb0WCaswC26l2MgnIN+egcA4CtkWQP5+wRgPN1LkpODKsGx1jL1IelepdyrP9efwF60oqTW0b3mgAAAABJRU5ErkJggg==",_7=""+new URL("warning-outlined.svg",import.meta.url).href,T7=""+new URL("qr-dark.svg",import.meta.url).href,E7=""+new URL("qr-light.svg",import.meta.url).href,P7=""+new URL("save.svg",import.meta.url).href,N7=""+new URL("save-light.svg",import.meta.url).href,L7=""+new URL("selected-check-light.svg",import.meta.url).href,I7=""+new URL("usb-success.svg",import.meta.url).href,$7="_expandIcon_j17uw_1",mj={expandIcon:$7},M7=()=>r.jsxs("svg",{className:mj.expandIcon,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"11",cy:"11",r:"8"}),r.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),r.jsx("line",{x1:"11",y1:"8",x2:"11",y2:"14"}),r.jsx("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]}),O7=()=>r.jsxs("svg",{className:mj.expandIcon,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"11",cy:"11",r:"8"}),r.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),r.jsx("line",{x1:"8",y1:"11",x2:"14",y2:"11"})]}),vg=({className:t,...e})=>r.jsxs("svg",{className:`checked ${t||""}`,viewBox:"0 0 52 52",...e,children:[r.jsx("circle",{className:"checked-circle",cx:"26",cy:"26",r:"25",fill:"none"}),r.jsx("path",{className:"checked-check",fill:"none",d:"M14.1 27.2l7.1 7.2 16.7-16.8"})]}),R7=({className:t,...e})=>r.jsx("svg",{className:`caretDown ${t||""}`,viewBox:"0 0 1024 1024",...e,children:r.jsx("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"})}),ak=({expand:t=!0})=>t?r.jsx(M7,{}):r.jsx(O7,{}),$m=t=>r.jsx("img",{src:G9,draggable:!1,...t}),fj=t=>r.jsx("img",{src:H9,draggable:!1,...t}),gj=t=>r.jsx("img",{src:K9,draggable:!1,...t}),vj=t=>r.jsx("img",{src:Q9,draggable:!1,...t}),bj=t=>r.jsx("img",{src:Y9,draggable:!1,...t}),kj=t=>r.jsx("img",{src:Z9,draggable:!1,...t}),xj=t=>r.jsx("img",{src:J9,draggable:!1,...t}),F7=t=>r.jsx("img",{src:X9,draggable:!1,...t}),V7=t=>r.jsx("img",{src:e7,draggable:!1,...t}),W7=t=>r.jsx("img",{src:t7,draggable:!1,...t}),Bd=t=>r.jsx("img",{src:n7,draggable:!1,...t}),yj=t=>r.jsx("img",{src:a7,draggable:!1,...t}),U7=t=>r.jsx("img",{src:o7,draggable:!1,...t}),di=t=>r.jsx("img",{src:i7,draggable:!1,...t}),bg=t=>r.jsx("img",{src:r7,draggable:!1,...t}),q7=t=>r.jsx("img",{src:s7,draggable:!1,...t}),H7=t=>r.jsx("img",{src:l7,draggable:!1,...t}),wj=t=>r.jsx("img",{src:p7,draggable:!1,...t}),K7=t=>r.jsx("img",{src:h7,draggable:!1,...t}),G7=t=>r.jsx("img",{src:m7,draggable:!1,...t}),El=t=>r.jsx("img",{src:f7,draggable:!1,...t}),jj=t=>r.jsx("img",{src:g7,draggable:!1,...t}),Q7=t=>r.jsx("img",{src:c7,draggable:!1,...t}),Y7=t=>r.jsx("img",{src:u7,draggable:!1,...t}),Z7=t=>r.jsx("img",{src:d7,draggable:!1,...t}),ik=t=>r.jsx("img",{src:Es,draggable:!1,...t}),J7=t=>r.jsx("img",{src:v7,draggable:!1,...t}),X7=t=>r.jsx("img",{src:b7,draggable:!1,...t}),eK=t=>r.jsx("img",{src:k7,draggable:!1,...t}),tK=t=>r.jsx("img",{src:x7,draggable:!1,...t}),nK=t=>r.jsx("img",{src:y7,draggable:!1,...t}),aK=t=>r.jsx("img",{src:w7,draggable:!1,...t}),iK=t=>r.jsx("img",{src:j7,draggable:!1,...t}),Bj=t=>r.jsx("img",{src:B7,draggable:!1,...t}),oK=t=>r.jsx("img",{src:S7,draggable:!1,...t}),rK=t=>r.jsx("img",{src:z7,draggable:!1,...t}),Ou=t=>r.jsx("img",{src:C7,draggable:!1,...t}),sK=t=>r.jsx("img",{src:D7,draggable:!1,...t}),Sj=t=>r.jsx("img",{src:A7,draggable:!1,...t}),lK=t=>r.jsx("img",{src:_7,draggable:!1,...t}),cK=t=>r.jsx("img",{src:T7,draggable:!1,...t}),uK=t=>r.jsx("img",{src:E7,draggable:!1,...t}),dK=t=>r.jsx("img",{src:P7,draggable:!1,...t}),pK=t=>r.jsx("img",{src:N7,draggable:!1,...t}),hK=t=>r.jsx("img",{src:L7,draggable:!1,...t}),zj=t=>r.jsx("img",{src:I7,draggable:!1,...t}),kg=t=>r.jsx("img",{src:q9,draggable:!1,...t}),mK=""+new URL("app-logo-inverted.svg",import.meta.url).href,fK=""+new URL("app-logo.svg",import.meta.url).href,gK=""+new URL("bitbox-logo.svg",import.meta.url).href,vK=""+new URL("bitbox02-logo.svg",import.meta.url).href,bK=""+new URL("bitbox02inverted-logo.svg",import.meta.url).href,Kp=""+new URL("btc-color.svg",import.meta.url).href,Gp=""+new URL("btc-white.svg",import.meta.url).href,mc=""+new URL("eth-white.svg",import.meta.url).href,ok=""+new URL("ltc-color.svg",import.meta.url).href,rk=""+new URL("ltc-white.svg",import.meta.url).href,kK=""+new URL("swiss-made-open-source-light.svg",import.meta.url).href,xK=""+new URL("swiss-made-open-source-dark.svg",import.meta.url).href,yK=""+new URL("bat-color.svg",import.meta.url).href,wK=""+new URL("bat-white.svg",import.meta.url).href,jK=""+new URL("dai-color.svg",import.meta.url).href,BK=""+new URL("dai-white.svg",import.meta.url).href,SK=""+new URL("link-color.svg",import.meta.url).href,zK=""+new URL("link-white.svg",import.meta.url).href,CK=""+new URL("mkr-color.svg",import.meta.url).href,DK=""+new URL("mkr-white.svg",import.meta.url).href,AK=""+new URL("usdc-color.svg",import.meta.url).href,_K=""+new URL("usdc-white.svg",import.meta.url).href,TK=""+new URL("usdt-color.svg",import.meta.url).href,EK=""+new URL("usdt-white.svg",import.meta.url).href,PK=""+new URL("zrx-color.svg",import.meta.url).href,NK=""+new URL("zrx-white.svg",import.meta.url).href,LK=""+new URL("wbtc-color.svg",import.meta.url).href,IK=""+new URL("wbtc-white.svg",import.meta.url).href,$K=""+new URL("paxg-color.svg",import.meta.url).href,MK=""+new URL("paxg-white.svg",import.meta.url).href,OK="_logo_gbled_1",RK="_swissOpenSource_gbled_7",FK="_large_gbled_12",li={logo:OK,swissOpenSource:RK,large:FK},Cj=t=>r.jsx("img",{...t,draggable:!1,src:gK,alt:"BitBox",className:li.logo}),VK=t=>r.jsx("img",{...t,draggable:!1,src:vK,alt:"BitBox02",className:li.logo}),WK=t=>r.jsx("img",{...t,draggable:!1,src:bK,alt:"BitBox02",className:li.logo}),xg=t=>r.jsx("img",{...t,draggable:!1,src:fK,alt:"BitBox",className:li.logo}),Sd=t=>r.jsx("img",{...t,draggable:!1,src:mK,alt:"BitBox",className:li.logo}),pi=({large:t,className:e,...n})=>r.jsx("img",{...n,draggable:!1,src:kK,alt:"Swiss Made Open Source",className:`${li.swissOpenSource} ${n.large?li.large:""} ${e||""}`}),hi=({large:t,className:e,...n})=>r.jsx("img",{...n,draggable:!1,src:xK,alt:"Swiss Made Open Source",className:`${li.swissOpenSource} ${n.large?li.large:""} ${e||""}`}),vs={btc:[Kp,Gp],tbtc:[Kp,Gp],rbtc:[Kp,Gp],ltc:[ok,rk],tltc:[ok,rk],eth:[Es,mc],goeth:[Es,mc],sepeth:[Es,mc],erc20Test:[Es,mc],"eth-erc20-usdt":[TK,EK],"eth-erc20-usdc":[AK,_K],"eth-erc20-dai0x6b17":[jK,BK],"eth-erc20-link":[SK,zK],"eth-erc20-bat":[yK,wK],"eth-erc20-mkr":[CK,DK],"eth-erc20-zrx":[PK,NK],"eth-erc20-wbtc":[LK,IK],"eth-erc20-paxg":[$K,MK]};function Ro({coinCode:t,active:e,stacked:n,...a}){return vs[t]?n?r.jsx("div",{children:e?r.jsx("img",{draggable:!1,src:vs[t][0],...a}):r.jsxs("div",{className:"stacked",children:[r.jsx("img",{draggable:!1,src:vs[t][1],...a}),r.jsx("img",{draggable:!1,src:vs[t][0],...a})]})}):r.jsx("img",{draggable:!1,src:vs[t][0],...a}):(console.error("logo undefined for ",t),null)}const UK="_point2bitbox02_1vb0x_1",qK="_caret_1vb0x_5",HK="_bitbox02_1vb0x_10",fc={point2bitbox02:UK,caret:qK,bitbox02:HK},ns=()=>{const{isDarkMode:t}=Kn();return r.jsxs("div",{className:fc.point2bitbox02,children:[r.jsx(R7,{className:fc.caret}),t?r.jsx(gj,{className:fc.bitbox02}):r.jsx(fj,{className:fc.bitbox02})]})},KK="_overlay_1u8gr_1",GK="_activeOverlay_1u8gr_15",QK="_modal_1u8gr_19",YK="_header_1u8gr_31",ZK="_title_1u8gr_31",JK="_contentContainer_1u8gr_37",XK="_small_1u8gr_42",eG="_medium_1u8gr_47",tG="_large_1u8gr_53",nG="_centered_1u8gr_68",aG="_closeButton_1u8gr_78",iG="_slim_1u8gr_105",oG="_padded_1u8gr_109",rG="_content_1u8gr_37",sG="_actions_1u8gr_117",lG="_confirmationLabel_1u8gr_135",cG="_confirmationLabelNumber_1u8gr_144",uG="_disabledLabel_1u8gr_150",dG="_noStep_1u8gr_155",pG="_confirmationInstructions_1u8gr_159",hG="_confirm_1u8gr_135",mG="_image_1u8gr_179",fG="_modalContent_1u8gr_184",gG="_detail_1u8gr_193",vG="_description_1u8gr_217",bG="_buttons_1u8gr_221",kG="_dialogButtons_1u8gr_233",xG="_closingOverlay_1u8gr_244",yG="_open_1u8gr_268",ce={overlay:KK,activeOverlay:GK,modal:QK,header:YK,title:ZK,contentContainer:JK,small:XK,medium:eG,large:tG,centered:nG,closeButton:aG,slim:iG,padded:oG,content:rG,actions:sG,confirmationLabel:lG,confirmationLabelNumber:cG,disabledLabel:uG,noStep:dG,confirmationInstructions:pG,confirm:hG,image:mG,modalContent:fG,detail:gG,description:vG,buttons:bG,dialogButtons:kG,closingOverlay:xG,open:yG};class qe extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.modalContent=x.createRef(),this.state={currentTab:0,renderDialog:!1},this.handleFocus=e=>{const a=e.target.getAttribute("index");this.setState({currentTab:Number(a)})},this.focusWithin=()=>{if(this.modalContent.current){this.focusableChildren=this.modalContent.current.querySelectorAll("a, button, input, textarea");const e=Array.from(this.focusableChildren);for(const n of e)n.classList.add("tabbable"),n.setAttribute("index",e.indexOf(n).toString()),n.addEventListener("focus",this.handleFocus);document.addEventListener("keydown",this.handleKeyDown)}},this.focusFirst=()=>{const e=this.focusableChildren;e.length&&e[0].getAttribute("autofocus")!=="false"&&e[0].focus()},this.updateIndex=e=>{const n=this.getNextIndex(e);this.setState({currentTab:n},()=>{this.focusableChildren[n].focus()})},this.deactivateModal=e=>{!this.modal.current||!this.overlay.current||(this.overlay.current.classList.remove(ce.closingOverlay),this.setState({currentTab:0,renderDialog:!1},()=>{document.removeEventListener("keydown",this.handleKeyDown),this.props.onClose&&e&&this.props.onClose()}))},this.handleKeyDown=e=>{const{disableEscape:n}=this.props,a=e.keyCode===27,i=e.keyCode===9;!n&&a?this.deactivate(!0):i&&e.preventDefault(),i&&e.shiftKey?this.updateIndex(!1):i&&this.updateIndex(!0)},this.deactivate=e=>{var i;if(!this.modal.current||!this.overlay.current)return;this.timerId&&clearTimeout(this.timerId),this.overlay.current.classList.remove(ce.activeOverlay),this.overlay.current.classList.add(ce.closingOverlay),(i=this.modal.current)==null||i.classList.remove(ce.open);const n=o=>{var s;o.target===this.modal.current&&(this.deactivateModal(e),(s=this.modal.current)==null||s.removeEventListener("transitionend",n))};parseFloat(window.getComputedStyle(this.modal.current).transitionDuration)>0?(this.modal.current.addEventListener("transitionend",n),this.timerId=setTimeout(()=>this.deactivateModal(e),400)):this.deactivateModal(e)},this.activate=()=>{this.setState({renderDialog:!0},()=>{!this.modal.current||!this.overlay.current||(this.timerId&&clearTimeout(this.timerId),this.overlay.current.classList.add(ce.activeOverlay),this.timerId=setTimeout(()=>{var e;(e=this.modal.current)==null||e.classList.add(ce.open)},10),this.focusWithin(),this.focusFirst())})}}componentDidMount(){this.props.open&&this.activate()}componentDidUpdate(e){const{open:n}=this.props;if(n&&!e.open){this.activate();return}if(!n&&e.open){this.deactivate(!1);return}}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}getNextIndex(e){const{currentTab:n}=this.state,a=Array.from(this.focusableChildren),i=e?a:a.reverse(),o=e?n:i.length-1-n;let s=e?n+1:i.length-n;return s=i.findIndex((l,c)=>c>=s&&!l.hasAttribute("disabled")),s=s<0?i.findIndex((l,c)=>c<=o&&!l.hasAttribute("disabled")):s,e?s:i.length-1-s}render(){const{title:e,small:n,medium:a,large:i,slim:o,centered:s,onClose:l,disabledClose:c,children:u}=this.props,{renderDialog:d}=this.state,p=n?ce.small:"",h=a?ce.medium:"",m=i?ce.large:"",g=o?ce.slim:"",v=s&&!l?ce.centered:"";return d?r.jsx("div",{className:ce.overlay,ref:this.overlay,children:r.jsxs("div",{className:[ce.modal,p,h,m].join(" "),ref:this.modal,children:[e&&r.jsxs("div",{className:[ce.header,v].join(" "),children:[r.jsx("h3",{className:ce.title,children:e}),l?r.jsxs("button",{className:ce.closeButton,onClick:()=>{this.deactivate(!0)},disabled:c,children:[r.jsx(jj,{className:"show-in-lightmode"}),r.jsx(El,{className:"show-in-darkmode"})]}):null]}),r.jsx("div",{className:[ce.contentContainer,g].join(" "),ref:this.modalContent,children:r.jsx("div",{className:ce.content,children:u})})]})}):null}}function Yt({children:t}){return r.jsx("div",{className:ce.dialogButtons,children:t})}const eu=[{code:"ar",display:"العربية"},{code:"bg",display:"България"},{code:"cs",display:"Čeština"},{code:"de",display:"Deutsch"},{code:"en",display:"English"},{code:"es",display:"Español"},{code:"fa",display:"فارسی"},{code:"fr",display:"Français"},{code:"he",display:"עברית"},{code:"hi",display:"हिन्दी "},{code:"it",display:"Italiano"},{code:"ja",display:"日本語"},{code:"ms",display:"Bahasa Melayu"},{code:"nl",display:"Nederlands"},{code:"pt",display:"Português"},{code:"ru",display:"Русский"},{code:"sl",display:"Slovenščina"},{code:"tr",display:"Türkçe"},{code:"zh",display:"中文"}],wG="_link_28asd_1",jG="_language_28asd_20",BG="_selected_28asd_38",SG="_checked_28asd_46",gc={link:wG,language:jG,selected:BG,checked:SG},Dj=(t,e)=>{const n=e.language;let a=t.findIndex(({code:i})=>i===n);if(a===-1&&n.indexOf("-")>0){const i=n.slice(0,n.indexOf("-"));a=t.findIndex(({code:o})=>o===i)}if(a===-1&&n.indexOf("_")>0){const i=n.slice(0,n.indexOf("_"));a=t.findIndex(({code:o})=>o===i)}return a===-1?0:a},oo=({languages:t})=>{const{t:e,i18n:n}=A(),a=t||eu,[i,o]=x.useState(Dj(a,n)),[s,l]=x.useState(!1),c=(u,d)=>{o(d),l(!1),n.changeLanguage(u)};return a.length===1?null:r.jsxs("div",{children:[r.jsxs("button",{type:"button",title:"Select Language",className:gc.link,onClick:()=>l(!0),children:[r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("circle",{cx:"12",cy:"12",r:"10"}),r.jsx("line",{x1:"2",y1:"12",x2:"22",y2:"12"}),r.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),a[i].code==="en"?"Other languages":"English"]}),r.jsx(qe,{small:!0,slim:!0,title:e("language.title"),onClose:()=>l(!1),open:s,children:a.map((u,d)=>{const p=i===d;return r.jsxs("button",{type:"button",className:[gc.language,p?gc.selected:""].join(" "),onClick:()=>c(u.code,d),"data-testid":`language-selection-${u.code}`,children:[u.display,p&&r.jsx("svg",{className:gc.checked,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"20 6 9 17 4 12"})})]},u.code)})})]})},ro=()=>{const t=x.useRef(!1);return x.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),t},Aj=t=>{const[e,n]=x.useState(),a=ro(),i=()=>t(o=>{a.current&&n(o)});return x.useEffect(()=>i(),[]),[e,()=>n(void 0)]},_j=t=>{const[e]=Aj(t);return e},me=(t,e)=>{const[n,a]=x.useState(),i=ro(),o=()=>{t!==null&&t().then(s=>{i.current&&a(s)})};return x.useEffect(()=>o(),e||[]),n},zd=(t,e)=>{const[n,a]=x.useState(),i=ro(),o=s=>{i.current&&a(s)};return x.useEffect(()=>(t().then(o),e(o)),[]),n},Tj=()=>Z("version"),Ej=()=>Z("update"),Pj=()=>{const{t}=A(),e=me(Tj);return e?r.jsxs("p",{children:[t("footer.appVersion")," ",e]}):null},zG="_fullscreen_q1y08_1",CG="_dialog_q1y08_22",DG="_fill_q1y08_28",AG="_inner_q1y08_38",_G="_verticallyCentered_q1y08_46",TG="_fit_q1y08_50",EG="_content_q1y08_56",PG="_textCenter_q1y08_61",NG="_header_q1y08_109",LG="_smallHeader_q1y08_130",IG="_title_q1y08_155",$G="_closeButton_q1y08_169",MG="_fullWidth_q1y08_197",OG="_largeIcon_q1y08_215",RG="_buttons_q1y08_240",FG="_footer_q1y08_294",kt={fullscreen:zG,dialog:CG,fill:DG,inner:AG,verticallyCentered:_G,fit:TG,content:EG,textCenter:PG,"text-center":"_text-center_q1y08_62","text-left":"_text-left_q1y08_65",header:NG,smallHeader:LG,title:IG,closeButton:$G,fullWidth:MG,largeIcon:OG,buttons:RG,footer:FG},re=({dialog:t=!1,fitContent:e=!1,fullscreen:n,children:a,minHeight:i,onClose:o,textCenter:s,verticallyCentered:l=!1,width:c,withBottomBar:u})=>{const{isDarkMode:d}=Kn(),p=`${kt[n?"fullscreen":"fill"]} ${l?kt.verticallyCentered:""} ${t?kt.dialog:""}`;let h=kt.inner;e&&(h+=` ${kt.fit}`),s&&(h+=` ${kt.textCenter}`);const m={...i&&{minHeight:i},...c&&{width:c}};return r.jsxs("div",{className:p,children:[r.jsx("div",{className:h,style:m,children:a}),o&&r.jsx("button",{className:kt.closeButton,onClick:o,children:r.jsx(G7,{})}),u&&r.jsx("div",{style:{marginTop:"auto"},children:r.jsxs("footer",{className:kt.footer,children:[d?r.jsx(hi,{}):r.jsx(pi,{}),r.jsx("div",{className:"m-right-half hide-on-small",children:r.jsx(Pj,{})}),r.jsx(oo,{})]})})]})},ue=({children:t,fullWidth:e,minHeight:n,textAlign:a,withIcon:i,...o})=>{const s=a?kt[`text-${a}`]:"",l=e?kt.fullWidth:"",c=`${kt.content} ${l} ${s}`;return r.jsxs("div",{className:c,style:n?{minHeight:n}:{},...o,children:[i==="success"&&r.jsx(vg,{className:kt.largeIcon}),t]})},be=({children:t,small:e,title:n,withAppLogo:a})=>{const{isDarkMode:i}=Kn(),o=e?`${kt.header} ${kt.smallHeader}`:kt.header;return r.jsxs("header",{className:o,children:[a&&(i?r.jsx(Sd,{}):r.jsx(xg,{})),r.jsx("h1",{className:kt.title,children:n}),t]})},Fe=({children:t})=>r.jsx("div",{className:kt.buttons,children:t}),VG="_button_b8ew4_1",WG="_primary_b8ew4_38 _button_b8ew4_1",UG="_secondary_b8ew4_49 _button_b8ew4_1",qG="_danger_b8ew4_67 _button_b8ew4_1",HG="_transparent_b8ew4_84 _button_b8ew4_1",Nj={button:VG,primary:WG,secondary:UG,danger:qG,transparent:HG},Qo=({primary:t,secondary:e,transparent:n,danger:a,className:i="",children:o,disabled:s,...l})=>{const c=[Nj[t&&"primary"||e&&"secondary"||n&&"transparent"||a&&"danger"||"button"],i].join(" ");return s?r.jsx("button",{className:c,disabled:!0,children:o}):r.jsx(Ya,{className:c,...l,children:o})},_=({type:t="button",primary:e,secondary:n,transparent:a,danger:i,className:o="",children:s,...l})=>{const c=[Nj[e&&"primary"||n&&"secondary"||a&&"transparent"||i&&"danger"||"button"],o].join(" ");return r.jsx("button",{type:t,className:c,...l,children:s})},KG="_checkbox_1m6k1_1",GG="_success_1m6k1_33",QG="_warning_1m6k1_37",YG="_info_1m6k1_41",sk={checkbox:KG,success:GG,warning:QG,info:YG},Ve=({disabled:t=!1,label:e,id:n,className:a="",children:i,checkboxStyle:o="default",...s})=>r.jsxs("span",{className:`${sk.checkbox} ${a} ${sk[o]||""}`,children:[r.jsx("input",{type:"checkbox",id:n,disabled:t,...s}),r.jsxs("label",{htmlFor:n,children:[e," ",i]})]}),ZG="_radio_198i3_1",JG={radio:ZG};function yg({disabled:t=!1,label:e,id:n,children:a,...i}){return r.jsxs("span",{className:JG.radio,children:[r.jsx("input",{type:"radio",id:n,disabled:t,...i}),r.jsxs("label",{htmlFor:n,children:[e,a]})]})}const XG="_field_d2mb0_1",eQ={field:XG};function Ps({children:t,...e}){return r.jsx("div",{className:eQ.field,...e,children:t})}const tQ="_input_1dgl0_1",nQ="_isTransparent_1dgl0_58",aQ="_errorText_1dgl0_64",vc={input:tQ,"align-left":"_align-left_1dgl0_12","align-right":"_align-right_1dgl0_16",isTransparent:nQ,errorText:aQ},Ye=x.forwardRef(function({id:e,label:n="",error:a,align:i="left",className:o="",children:s,transparent:l=!1,type:c="text",labelSection:u,...d},p){return r.jsxs("div",{className:[vc.input,vc[`align-${i}`],o,l?vc.isTransparent:""].join(" "),children:[n?r.jsxs("div",{className:"flex flex-row flex-between",children:[r.jsxs("label",{htmlFor:e,className:a?vc.errorText:"",children:[n,a?r.jsxs("span",{children:[":",r.jsx("span",{children:a.toString()})]}):null]}),u&&u]}):null,r.jsx("input",{autoComplete:"off",autoCorrect:"off",spellCheck:!1,type:c,id:e,ref:p,...d}),s]})}),iQ="_label_53nw1_1",oQ={label:iQ};function Mi({className:t,children:e,id:n,...a}){const i=[oQ.label,t].join(" ");return r.jsx("label",{htmlFor:n,className:i,...a,children:e})}const rQ="_select_yd5xu_1",sQ={select:rQ},Ru=({id:t,label:e,options:n=[],...a})=>r.jsxs("div",{className:sQ.select,children:[e&&r.jsx("label",{htmlFor:t,children:e}),r.jsx("select",{id:t,...a,children:n.map(({value:i,text:o,disabled:s=!1})=>r.jsx("option",{value:i,disabled:s,children:o},`${i}`))})]});let J,Qp;const lQ=()=>{const[t,e]=x.useState(!1),[n,a]=x.useState(!0),[i,o]=x.useState(),{t:s}=A();J=(c,u={})=>{const{asDialog:d=!0}=u;Qp=u.callback,e(!0),a(d),o(c)};const l=()=>{Qp&&Qp(),e(!1)};return t&&i?r.jsx("form",{onSubmit:()=>e(!1),children:r.jsxs(re,{dialog:n,fullscreen:!0,textCenter:!n,verticallyCentered:!0,children:[r.jsx(be,{title:r.jsx(ia,{tagName:"span",markup:i})}),r.jsx(Fe,{children:r.jsx(_,{autoFocus:!0,primary:!0,onClick:l,children:s("button.ok")})})]},"alert-overlay")}):null};var oa={signal:1,propertyUpdate:2,init:3,idle:4,debug:5,invokeMethod:6,connectToSignal:7,disconnectFromSignal:8,setProperty:9,response:10};const cQ=function(t,e){if(typeof t!="object"||typeof t.send!="function"){console.error("The QWebChannel expects a transport object with a send function and onmessage callback property. Given is: transport: "+typeof t+", transport.send: "+typeof t.send);return}var n=this;this.transport=t,this.send=function(a){typeof a!="string"&&(a=JSON.stringify(a)),n.transport.send(a)},this.transport.onmessage=function(a){var i=a.data;switch(typeof i=="string"&&(i=JSON.parse(i)),i.type){case oa.signal:n.handleSignal(i);break;case oa.response:n.handleResponse(i);break;case oa.propertyUpdate:n.handlePropertyUpdate(i);break;default:console.error("invalid message received:",a.data);break}},this.execCallbacks={},this.execId=0,this.exec=function(a,i){if(!i){n.send(a);return}if(n.execId===Number.MAX_VALUE&&(n.execId=Number.MIN_VALUE),a.hasOwnProperty("id")){console.error("Cannot exec message with property id: "+JSON.stringify(a));return}a.id=n.execId++,n.execCallbacks[a.id]=i,n.send(a)},this.objects={},this.handleSignal=function(a){var i=n.objects[a.object];i?i.signalEmitted(a.signal,a.args):console.warn("Unhandled signal: "+a.object+"::"+a.signal)},this.handleResponse=function(a){if(!a.hasOwnProperty("id")){console.error("Invalid response message received: ",JSON.stringify(a));return}n.execCallbacks[a.id](a.data),delete n.execCallbacks[a.id]},this.handlePropertyUpdate=function(a){for(var i in a.data){var o=a.data[i],s=n.objects[o.object];s?s.propertyUpdate(o.signals,o.properties):console.warn("Unhandled property update: "+o.object+"::"+o.signal)}n.exec({type:oa.idle})},this.debug=function(a){n.send({type:oa.debug,data:a})},n.exec({type:oa.init},function(a){for(var i in a)new tu(i,a[i],n);for(var i in n.objects)n.objects[i].unwrapProperties();e&&e(n),n.exec({type:oa.idle})})};function tu(t,e,n){this.__id__=t,n.objects[t]=this,this.__objectSignals__={},this.__propertyCache__={};var a=this;this.unwrapQObject=function(c){if(c instanceof Array){for(var u=new Array(c.length),d=0;d{Mm[n].resolve(JSON.parse(a)),delete Mm[n]}),e.objects.backend.pushNotify.connect(n=>{cr.forEach(a=>a(JSON.parse(n)))}),bs=e};for(new cQ(window.qt.webChannelTransport,t);!bs;)await new Promise(e=>setTimeout(e,1));return bs}function Lj(t){return new Promise((e,n)=>{dQ().then(a=>{Yp++,Mm[Yp]={resolve:e,reject:n},a.objects.backend.call(Yp,t)})})}function pQ(t){return cr.push(t),()=>{cr.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=cr.indexOf(t);cr.splice(e,1),cr.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}let Zp=0;const Jp={},nr=[];function Ij(t){return new Promise((e,n)=>{ci()?(typeof window.onAndroidCallResponse>"u"&&(window.onAndroidCallResponse=(a,i)=>{Jp[a].resolve(i),delete Jp[a]}),Zp++,Jp[Zp]={resolve:e,reject:n},window.android.call(Zp,t)):n()})}function hQ(t){return typeof window.onAndroidPushNotification>"u"&&(window.onAndroidPushNotification=e=>{nr.forEach(n=>n(e))}),nr.push(t),()=>{nr.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=nr.indexOf(t);nr.splice(e,1),nr.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}function $j(t,e){return t.startsWith("{{ ")&&t.endsWith(" }}")?e:t}const Mj=$j("{{ API_PORT }}","8082"),mQ=$j("{{ API_TOKEN }}","");function Oj(){return document.URL.startsWith("https://")}function Rj(t){return(Oj()?"https://":"http://")+"localhost:"+Mj+"/api/"+t}function Fj(t){return function(e){return new Promise((n,a)=>{if(e&&e.error){if(e.error.indexOf("hidapi: unknown failure")!==-1)return;console.error("error from endpoint",t,e),J(se.t("genericError")),a(e.error);return}n(e)})}}function Z(t){return Cd()?Lj(JSON.stringify({method:"GET",endpoint:t})):ci()?Ij(JSON.stringify({method:"GET",endpoint:t})):fetch(Rj(t),{method:"GET"}).then(e=>e.json()).then(Fj(t))}function H(t,e){return Cd()?Lj(JSON.stringify({method:"POST",endpoint:t,body:JSON.stringify(e)})):ci()?Ij(JSON.stringify({method:"POST",endpoint:t,body:JSON.stringify(e)})):fetch(Rj(t),{method:"POST",body:JSON.stringify(e)}).then(n=>n.json()).then(Fj(t))}let yi;const co=[];function fQ(t){return co.push(t),yi||(yi=new WebSocket((Oj()?"wss://":"ws://")+"localhost:"+Mj+"/api/events"),yi.onopen=function(){yi&&yi.send("Authorization: Basic "+mQ)},yi.onerror=function(e){console.error("websocket error",e)},yi.onmessage=function(e){const n=JSON.parse(e.data);co.forEach(a=>a(n))},yi.onclose=function(){co.forEach(e=>e({subject:"backend/connected",action:"replace",object:!1}))}),()=>{co.includes(t)||console.warn("!currentListeners.includes(msgCallback)");const e=co.indexOf(t);co.splice(e,1),co.includes(t)&&console.warn("currentListeners.includes(msgCallback)")}}function Yo(t){return Cd()?pQ(t):ci()?hQ(t):fQ(t)}const Fu={};function gQ(t){if("subject"in t&&typeof t.subject=="string"&&Fu[t.subject])for(const e of Fu[t.subject])e(t)}let lk=null;function Vj(t,e){lk||(lk=Yo(gQ));let n=Fu[t];return n===void 0&&(n=[],Fu[t]=n),n.push(e),()=>{n.includes(e)||console.warn("!observers.includes(observer)");const a=n.indexOf(e);n.splice(a,1),n.includes(e)&&console.warn("observers.includes(observer)")}}function Gn(t,e){return Vj(t,n=>{switch(n.action){case"replace":e(n.object);break;case"reload":Z(n.subject).then(a=>e(a)).catch(console.error);break;default:throw new Error(`Event: ${n} not supported`)}})}const vQ=t=>Gn("backend/connected",t),bQ=()=>Z("supported-coins"),kQ=(t,e)=>H("set-account-active",{accountCode:t,active:e}),xQ=(t,e,n)=>H("set-token-active",{accountCode:t,tokenCode:e,active:n}),yQ=(t,e)=>H("rename-account",{accountCode:t,name:e}),wQ=()=>H("accounts/reinitialize"),jQ=()=>Z("testing"),BQ=t=>()=>Z(`qr?data=${encodeURIComponent(t)}`),SQ=()=>Z("config/default"),zQ=t=>H("socksproxy/check",t),CQ=()=>t=>Gn("connect-keystore",e=>{t(e)}),DQ=()=>H("cancel-connect-keystore"),ck=(t,e)=>H("set-watchonly",{rootFingerprint:t,watchonly:e}),AQ=(t=!1)=>H("authenticate",t),_Q=()=>H("force-auth"),Wj=t=>Gn("auth",t),TQ=()=>H("on-auth-setting-changed"),Uj=t=>Gn("keystores",t),EQ=()=>Z("keystores"),PQ="_message_ncb43_1",NQ="_small_ncb43_15",LQ="_success_ncb43_28 _message_ncb43_1",IQ="_info_ncb43_34 _message_ncb43_1",$Q="_warning_ncb43_40 _message_ncb43_1",MQ="_error_ncb43_46 _message_ncb43_1",uk={message:PQ,small:NQ,success:LQ,info:IQ,warning:$Q,error:MQ};function nn({hidden:t,small:e,type:n="message",children:a}){return t?null:r.jsx("div",{className:`${uk[n]} ${e?uk.small:""}`,children:a})}function wg(t){return t.displayName||t.name||"Component"}function qj(t){return function(n){var a;return a=class extends x.Component{componentDidMount(){t.subscribe(this)}componentWillUnmount(){t.unsubscribe(this)}render(){const i=this.props;return r.jsx(n,{...t.state,...i})}},a.displayName=`Share(${wg(n)})`,a}}const OQ=""+new URL("coins.svg",import.meta.url).href,RQ=""+new URL("info.svg",import.meta.url).href,FQ=""+new URL("settings-alt.svg",import.meta.url).href,VQ=""+new URL("settings-alt_disabled.svg",import.meta.url).href;function Dd(t,e){return t.find(({code:n})=>e===n)}function Ad(t,e){return e&&_d(e.coinCode)?"Bitcoin":t}function _d(t){switch(t){case"btc":case"tbtc":return!0;default:return!1}}const Hj=t=>t==="BTC"||t==="TBTC"||t==="sat"||t==="tsat";function La(t){switch(t){case"btc":case"tbtc":case"ltc":case"tltc":return!0;default:return!1}}function Fo(t){return t==="eth"||t==="goeth"||t==="sepeth"||t.startsWith("eth-erc20-")}function WQ(t){switch(t){case"btc":case"tbtc":return"btc";case"ltc":case"tltc":return"ltc";case"eth":case"goeth":case"sepeth":return"eth"}}function Td(t){switch(t){case"p2pkh":return"Legacy (P2PKH)";case"p2wpkh-p2sh":return"Wrapped Segwit (P2WPKH-P2SH)";case"p2wpkh":return"Native segwit (bech32, P2WPKH)";case"p2tr":return"Taproot (bech32m, P2TR)"}}function Kj(t){return La(t)?"sat/vB":Fo(t)?"Gwei":""}function Gj(t){return Object.values(t.reduce((e,n)=>{const a=n.keystore.rootFingerprint;return e[a]||(e[a]={keystore:n.keystore,accounts:[]}),e[a].accounts.push(n),e},{})).sort((e,n)=>e.keystore.name.localeCompare(n.keystore.name))}function Qj(t,e){return e.filter(n=>n.keystore.name===t).length>1}const UQ=()=>Z("accounts"),qQ=()=>Z("accounts/total-balance"),Yj=t=>H("accounts/eth-account-code",{address:t}),Zj=t=>Z(`account/${t}/status`),HQ=["p2pkh","p2wpkh-p2sh","p2wpkh","p2tr"],Jj=t=>()=>Z(`account/${t}/info`),Xj=t=>H(`account/${t}/init`),KQ=()=>Z("account-summary"),Ur=t=>Z(`account/${t}/balance`),GQ=(t,{internalTxID:e,note:n})=>H(`account/${t}/notes/tx`,{internalTxID:e,note:n}),QQ=(t,e)=>H(`account/${t}/propose-tx-note`,e),eB=t=>Z(`account/${t}/transactions`),YQ=(t,e)=>Z(`account/${t}/transaction?id=${e}`),ZQ=t=>H(`account/${t}/export`),JQ=(t,e)=>H(`account/${t}/verify-extended-public-key`,{signingConfigIndex:e}),Ed=t=>()=>Z(`account/${t}/receive-addresses`),XQ=t=>H(`account/${t}/sendtx`),eY=t=>Z(`account/${t}/fee-targets`),jg=(t,e)=>H(`account/${t}/verify-address`,e),dk=t=>Z(`account/${t}/utxos`),tB=t=>()=>Z(`account/${t}/has-secure-output`),tY=(t,e)=>H("account-add",{coinCode:t,name:e}),nY=t=>H("test/register",{pin:t}),fl=t=>H(`account/${t}/connect-keystore`),aY=(t,e)=>H(`account/${t}/eth-sign-msg`,e),iY=(t,e,n)=>H(`account/${t}/eth-sign-typed-msg`,{chainId:e,data:n}),oY=(t,e,n,a)=>H(`account/${t}/eth-sign-wallet-connect-tx`,{send:e,chainId:n,tx:a}),rY="_capsWarning_1xqma_1",nB={capsWarning:rY};function Bg(t){const{seePlaintext:e,...n}=t;return r.jsx(Ye,{type:e?"text":"password",...n})}class sY extends x.Component{constructor(){super(...arguments);M(this,"state",{password:"",seePlaintext:!1,capsLock:!1});M(this,"password",x.createRef());M(this,"idPrefix",()=>this.props.idPrefix||"");M(this,"tryPaste",n=>{n.target.type==="password"&&(n.preventDefault(),J(this.props.t("password.warning.paste",{label:this.props.label})))});M(this,"clear",()=>{this.setState({password:"",seePlaintext:!1,capsLock:!1})});M(this,"validate",()=>{if(this.regex&&this.password.current&&!this.password.current.validity.valid)return this.props.onValidPassword(null);this.state.password?this.props.onValidPassword(this.state.password):this.props.onValidPassword(null)});M(this,"handleFormChange",n=>{let a=n.target.value;n.target.type==="checkbox"&&(a=n.target.checked);const i=n.target.id.slice(this.idPrefix().length);this.setState({[i]:a},this.validate)});M(this,"handleCheckCaps",n=>{const a=aB(n);a!==null&&this.setState({capsLock:a})})}UNSAFE_componentWillMount(){window.addEventListener("keydown",this.handleCheckCaps)}componentDidMount(){var n;this.props.pattern&&(this.regex=new RegExp(this.props.pattern)),this.props.autoFocus&&((n=this.password)!=null&&n.current)&&this.password.current.focus()}componentWillUnmount(){window.removeEventListener("keydown",this.handleCheckCaps)}render(){const{t:n,disabled:a,label:i,placeholder:o,pattern:s,title:l,showLabel:c}=this.props,{password:u,seePlaintext:d,capsLock:p}=this.state,h=p&&!d&&r.jsx("span",{className:nB.capsWarning,title:n("password.warning.caps"),children:"⇪"});return r.jsx(Ye,{autoFocus:!0,disabled:a,type:d?"text":"password",pattern:s,title:l,id:this.idPrefix()+"password",label:i,placeholder:o,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:u,labelSection:r.jsx(Ve,{id:this.idPrefix()+"seePlaintext",onChange:this.handleFormChange,checked:d,label:n("password.show",{label:c||i})}),children:h})}}const Sg=He(null,{withRef:!0})(sY);class lY extends x.Component{constructor(){super(...arguments);M(this,"state",{password:"",passwordRepeat:"",seePlaintext:!1,capsLock:!1});M(this,"password",x.createRef());M(this,"passwordRepeat",x.createRef());M(this,"idPrefix",()=>this.props.idPrefix||"");M(this,"tryPaste",n=>{n.target.type==="password"&&(n.preventDefault(),J(this.props.t("password.warning.paste",{label:this.props.label})))});M(this,"validate",()=>{if(this.regex&&this.password.current&&this.passwordRepeat.current&&(!this.password.current.validity.valid||!this.passwordRepeat.current.validity.valid))return this.props.onValidPassword(null);this.state.password&&this.state.password===this.state.passwordRepeat?this.props.onValidPassword(this.state.password):this.props.onValidPassword(null)});M(this,"handleFormChange",n=>{let a=n.target.value;n.target.type==="checkbox"&&(a=n.target.checked);const i=n.target.id.slice(this.idPrefix().length);this.setState({[i]:a},this.validate)});M(this,"handleCheckCaps",n=>{const a=aB(n);a!=null&&this.setState({capsLock:a})})}UNSAFE_componentWillMount(){window.addEventListener("keydown",this.handleCheckCaps)}componentDidMount(){var n;this.props.pattern&&(this.regex=new RegExp(this.props.pattern)),this.props.autoFocus&&((n=this.password)!=null&&n.current)&&this.password.current.focus()}componentWillUnmount(){window.removeEventListener("keydown",this.handleCheckCaps)}render(){const{t:n,disabled:a,label:i,placeholder:o,pattern:s,title:l,repeatLabel:c,repeatPlaceholder:u,showLabel:d}=this.props,{password:p,passwordRepeat:h,seePlaintext:m,capsLock:g}=this.state,v=g&&!m&&r.jsx("span",{className:nB.capsWarning,title:n("password.warning.caps"),children:"⇪"});return r.jsxs("div",{children:[r.jsx(Ye,{autoFocus:!0,disabled:a,type:m?"text":"password",pattern:s,title:l,id:this.idPrefix()+"password",label:i,placeholder:o,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:p,children:v}),r.jsx(pk,{regex:this.regex,text:l,value:p}),r.jsx(Ye,{disabled:a,type:m?"text":"password",pattern:s,title:l,id:this.idPrefix()+"passwordRepeat",label:c,placeholder:u,onInput:this.handleFormChange,onPaste:this.tryPaste,ref:this.password,value:h,children:v}),r.jsx(pk,{regex:this.regex,text:l,value:h}),r.jsx(Ps,{children:r.jsx(Ve,{id:this.idPrefix()+"seePlaintext",onChange:this.handleFormChange,checked:m,label:n("password.show",{label:d||i})})})]})}}const qr=He(null,{withRef:!0})(lY);function pk({regex:t,value:e="",text:n}){return!t||!e.length||t.test(e)?null:r.jsx("p",{style:{color:"var(--color-error)"},children:n})}const cY=/^(Shift|Alt|Backspace|CapsLock|Tab)$/i;function aB({key:t}){return t.length>1||t.toUpperCase()===t.toLowerCase()||cY.test(t)?null:t.toUpperCase()===t&&t.toLowerCase()!==t&&!event.shiftKey}const iB=()=>{const[t,e]=x.useState(!1),n=me(()=>Promise.resolve(!1)),[a,i]=x.useState(""),o=async l=>{l.preventDefault(),await nY(a),e(!1)};if(!n)return null;const s="Unlock software keystore";return r.jsxs(r.Fragment,{children:[r.jsx("button",{onClick:()=>e(!0),children:s}),r.jsx(qe,{open:t,title:s,onClose:()=>e(!1),children:r.jsxs("form",{onSubmit:o,children:[r.jsx(Sg,{type:"password",autoFocus:!0,label:"Test Password",onValidPassword:i,value:a}),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:"Unlock"})})]})})]})};class uY{constructor(e){this.state=e,this.components=[]}subscribe(e){this.components.push(e)}unsubscribe(e){const n=this.components.indexOf(e);this.components.splice(n,1)}updateComponents(){for(const e of this.components)e.forceUpdate()}setState(e){Object.assign(this.state,e),this.updateComponents()}}const dY="_badge_f2nw5_1",pY="_iconOnly_f2nw5_11",hY="_badgeIcon_f2nw5_20",mY="_withChildren_f2nw5_24",fY="_success_f2nw5_34",gY="_warning_f2nw5_40",ks={badge:dY,iconOnly:pY,badgeIcon:hY,withChildren:mY,success:fY,warning:gY},Vu=({children:t,className:e,icon:n,type:a="success",...i})=>{const o=t!==void 0?ks.withChildren:"",s=t===void 0&&n?ks.iconOnly:"";return r.jsxs("span",{className:`${ks.badge} ${ks[a]} ${o} ${s} ${e||""}`,...i,children:[n&&n({className:ks.badgeIcon}),t]})},vY="_closeButton_1xwfn_1",bY="_sidebarOverlay_1xwfn_13",kY="_active_1xwfn_26",xY="_sidebar_1xwfn_13",yY="_end_1xwfn_47",wY="_forceShow_1xwfn_52",jY="_sidebarLogoContainer_1xwfn_56",BY="_sidebarHeaderContainer_1xwfn_75",SY="_sidebarPortfolio_1xwfn_85",zY="_sidebarHeader_1xwfn_75",CY="_sidebarIconVisible_1xwfn_95",DY="_sidebarIconHidden_1xwfn_99",AY="_sidebarItem_1xwfn_103",_Y="_sidebarArrow_1xwfn_121",TY="_sidebarActive_1xwfn_125",EY="_activeGroup_1xwfn_130",PY="_single_1xwfn_136",NY="_sidebarLabel_1xwfn_141",LY="_sidebarSubmenu_1xwfn_197",IY="_sidebarContainer_1xwfn_216",$Y="_forceHide_1xwfn_216",ze={closeButton:vY,sidebarOverlay:bY,active:kY,sidebar:xY,end:yY,forceShow:wY,sidebarLogoContainer:jY,sidebarHeaderContainer:BY,sidebarPortfolio:SY,sidebarHeader:zY,sidebarIconVisible:CY,sidebarIconHidden:DY,sidebarItem:AY,sidebarArrow:_Y,sidebarActive:TY,activeGroup:EY,single:PY,sidebarLabel:NY,sidebarSubmenu:LY,sidebarContainer:IY,forceHide:$Y},Xi=new uY({activeSidebar:!1,sidebarStatus:""}),So=()=>{const t=!Xi.state.activeSidebar;Xi.setState({activeSidebar:t})},hk=t=>{Xi.setState({sidebarStatus:t})},MY=({coinCode:t,code:e,name:n,handleSidebarItemClick:a})=>{const{pathname:i}=Go(),o=i===`/account/${e}`||i.startsWith(`/account/${e}/`);return r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Ya,{className:o?ze.sidebarActive:"",to:`/account/${e}`,onClick:a,title:n,children:[r.jsx(Ro,{stacked:!0,coinCode:t,alt:n}),r.jsx("span",{className:ze.sidebarLabel,children:n})]})},e)},OY=({deviceIDs:t,accounts:e,activeSidebar:n,sidebarStatus:a})=>{const{t:i}=A();x.useEffect(()=>{const p={active:!1,x:0,y:0},h=v=>{const y=v.touches[0];p.x=y.clientX,p.y=y.clientY},m=v=>{a!=="forceHidden"&&v.changedTouches&&v.changedTouches.length&&(p.active=!0)},g=v=>{if(a!=="forceHidden"){const y=v.changedTouches[0],b=Math.abs(y.clientX-p.x),k=Math.abs(y.clientY-p.y),w=window.innerWidth<=901&&p.active&&k<100&&b>70;(!Xi.state.activeSidebar&&w&&p.x<60||Xi.state.activeSidebar&&w&&p.x>230)&&So(),p.x=0,p.y=0,p.active=!1}};return document.addEventListener("touchstart",h),document.addEventListener("touchmove",m),document.addEventListener("touchend",g),()=>{document.removeEventListener("touchstart",h),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",g)}},[a]);const[o,s]=x.useState();x.useEffect(()=>(EQ().then(p=>{s(p)}),Uj(s)),[]);const l=p=>{p.target.closest("a").classList.contains("sidebarActive")&&window.innerWidth<=901&&So()},c=a==="forceHidden",u=e.every(({coinCode:p})=>_d(p)),d=Gj(e);return r.jsxs("div",{className:[ze.sidebarContainer,c?ze.forceHide:""].join(" "),children:[r.jsx("div",{className:[ze.sidebarOverlay,n?ze.active:""].join(" "),onClick:So}),r.jsxs("nav",{className:[ze.sidebar,n?ze.forceShow:""].join(" "),children:[r.jsxs("div",{className:ze.sidebarLogoContainer,children:[r.jsx(Ya,{to:e.length?"/account-summary":"/",onClick:l,children:r.jsx(Sd,{className:ze.sidebarLogo})}),r.jsx("button",{className:ze.closeButton,onClick:So,children:r.jsx(El,{})})]}),e.length?r.jsx("div",{className:`${ze.sidebarItem} ${ze.sidebarPortfolio}`,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/account-summary",title:i("accountSummary.title"),onClick:l,children:[r.jsx("div",{className:ze.single,children:r.jsx("img",{draggable:!1,src:RQ})}),r.jsx("span",{className:ze.sidebarLabel,children:i("accountSummary.title")})]})}):null,d.map(p=>r.jsxs(Mn.Fragment,{children:[r.jsx("div",{className:ze.sidebarHeaderContainer,children:r.jsxs("span",{className:ze.sidebarHeader,hidden:!p.accounts.length,children:[r.jsxs("span",{className:"p-right-quarter",children:[`${p.keystore.name} `,Qj(p.keystore.name,d)?r.jsxs(r.Fragment,{children:[" (",p.keystore.rootFingerprint,")"]}):null]}),r.jsx(Vu,{className:p.keystore.connected?ze.sidebarIconVisible:ze.sidebarIconHidden,icon:h=>r.jsx(zj,{...h}),type:"success",title:i("device.keystoreConnected")})]})}),p.accounts.map(h=>r.jsx(MY,{...h,handleSidebarItemClick:l},h.code))]},p.keystore.rootFingerprint)),r.jsx("div",{className:[ze.sidebarHeaderContainer,ze.end].join(" ")}),e.length?r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/buy/info",children:[r.jsx("div",{className:ze.single,children:r.jsx("img",{draggable:!1,src:OQ})}),r.jsx("span",{className:ze.sidebarLabel,children:u?i("accountInfo.buyCTA.buy",{unit:"Bitcoin"}):i("sidebar.buy")})]})},"buy"):null,r.jsx("div",{className:ze.sidebarItem,children:r.jsxs(Xc,{className:({isActive:p})=>p?ze.sidebarActive:"",to:"/settings",title:i("sidebar.settings"),onClick:l,children:[r.jsxs("div",{className:"stacked",children:[r.jsx("img",{draggable:!1,src:VQ,alt:i("sidebar.settings")}),r.jsx("img",{draggable:!1,src:FQ,alt:i("sidebar.settings")})]}),r.jsx("span",{className:ze.sidebarLabel,children:i("sidebar.settings")})]})},"settings-new"),!o||o.length===0?r.jsx(iB,{}):null,uQ]})]})},RY=qj(Xi)(OY),mi=x.createContext({}),FY="_children_1y42x_1",VY="_container_1y42x_22",WY="_fixed_1y42x_26",UY="_disabled_1y42x_34",qY="_forceHidden_1y42x_38",HY="_sidebarToggler_1y42x_38",KY="_guideIcon_1y42x_42",GY="_guideIconContainer_1y42x_57",QY="_header_1y42x_62",YY="_narrow_1y42x_76",ZY="_title_1y42x_99",JY="_hideSidebarToggler_1y42x_120",Jn={children:FY,container:VY,fixed:WY,disabled:UY,forceHidden:qY,sidebarToggler:HY,guideIcon:KY,guideIconContainer:GY,header:QY,narrow:YY,title:ZY,hideSidebarToggler:JY},XY=({sidebarStatus:t,narrow:e,title:n,hideSidebarToggler:a,children:i})=>{const{t:o}=A(),{guideShown:s,guideExists:l,toggleGuide:c}=x.useContext(mi),u=d=>(d.preventDefault(),s||c(),!1);return r.jsx("div",{className:[Jn.container,t?Jn[t]:""].join(" "),children:r.jsxs("div",{className:[Jn.header,e?Jn.narrow:""].join(" "),children:[r.jsxs("div",{className:`${Jn.sidebarToggler} ${a?Jn.hideSidebarToggler:""}`,onClick:So,children:[r.jsx(Bj,{className:"show-in-lightmode"}),r.jsx(oK,{className:"show-in-darkmode"})]}),r.jsx("div",{className:Jn.title,children:n}),r.jsxs("div",{className:Jn.children,children:[i,l&&r.jsx("span",{className:Jn.guideIconContainer,children:r.jsxs("a",{href:"#",onClick:u,className:[Jn.guideIcon,s?Jn.disabled:""].join(" "),children:[r.jsx(iK,{}),o("guide.toggle.open")]})})]})]})})},xe=qj(Xi)(XY),eZ="_main_1ntet_1",tZ={main:eZ},ln=({children:t})=>r.jsx("main",{className:tZ.main,children:t}),nZ="_columnAsCard_1rob5_1",aZ="_column_1rob5_1",iZ="_columnButtons_1rob5_10",oZ="_columnButtonsInline_1rob5_10",rZ="_left_1rob5_29",sZ="_center_1rob5_33",lZ="_grid_1rob5_47",_o={columnAsCard:nZ,column:aZ,columnButtons:iZ,columnButtonsInline:oZ,left:rZ,center:sZ,grid:lZ,"grid-columns-1":"_grid-columns-1_1rob5_53","grid-columns-2":"_grid-columns-2_1rob5_56"},Er=({children:t,col:e="2",textAlign:n})=>{const a=` ${_o.grid} ${_o[`grid-columns-${e}`]} ${n!==void 0?_o[n]:""} @@ -1298,13 +1298,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho */var mt=typeof Symbol=="function"&&Symbol.for,Eg=mt?Symbol.for("react.element"):60103,Pg=mt?Symbol.for("react.portal"):60106,$d=mt?Symbol.for("react.fragment"):60107,Md=mt?Symbol.for("react.strict_mode"):60108,Od=mt?Symbol.for("react.profiler"):60114,Rd=mt?Symbol.for("react.provider"):60109,Fd=mt?Symbol.for("react.context"):60110,Ng=mt?Symbol.for("react.async_mode"):60111,Vd=mt?Symbol.for("react.concurrent_mode"):60111,Wd=mt?Symbol.for("react.forward_ref"):60112,Ud=mt?Symbol.for("react.suspense"):60113,sX=mt?Symbol.for("react.suspense_list"):60120,qd=mt?Symbol.for("react.memo"):60115,Hd=mt?Symbol.for("react.lazy"):60116,lX=mt?Symbol.for("react.block"):60121,cX=mt?Symbol.for("react.fundamental"):60117,uX=mt?Symbol.for("react.responder"):60118,dX=mt?Symbol.for("react.scope"):60119;function Tn(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case Eg:switch(t=t.type,t){case Ng:case Vd:case $d:case Od:case Md:case Ud:return t;default:switch(t=t&&t.$$typeof,t){case Fd:case Wd:case Hd:case qd:case Rd:return t;default:return e}}case Pg:return e}}}function kB(t){return Tn(t)===Vd}De.AsyncMode=Ng;De.ConcurrentMode=Vd;De.ContextConsumer=Fd;De.ContextProvider=Rd;De.Element=Eg;De.ForwardRef=Wd;De.Fragment=$d;De.Lazy=Hd;De.Memo=qd;De.Portal=Pg;De.Profiler=Od;De.StrictMode=Md;De.Suspense=Ud;De.isAsyncMode=function(t){return kB(t)||Tn(t)===Ng};De.isConcurrentMode=kB;De.isContextConsumer=function(t){return Tn(t)===Fd};De.isContextProvider=function(t){return Tn(t)===Rd};De.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===Eg};De.isForwardRef=function(t){return Tn(t)===Wd};De.isFragment=function(t){return Tn(t)===$d};De.isLazy=function(t){return Tn(t)===Hd};De.isMemo=function(t){return Tn(t)===qd};De.isPortal=function(t){return Tn(t)===Pg};De.isProfiler=function(t){return Tn(t)===Od};De.isStrictMode=function(t){return Tn(t)===Md};De.isSuspense=function(t){return Tn(t)===Ud};De.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===$d||t===Vd||t===Od||t===Md||t===Ud||t===sX||typeof t=="object"&&t!==null&&(t.$$typeof===Hd||t.$$typeof===qd||t.$$typeof===Rd||t.$$typeof===Fd||t.$$typeof===Wd||t.$$typeof===cX||t.$$typeof===uX||t.$$typeof===dX||t.$$typeof===lX)};De.typeOf=Tn;bB.exports=De;var pX=bB.exports,xB=pX,hX={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},mX={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},yB={};yB[xB.ForwardRef]=hX;yB[xB.Memo]=mX;var fX=!0;function gX(t,e,n){var a="";return n.split(" ").forEach(function(i){t[i]!==void 0?e.push(t[i]+";"):a+=i+" "}),a}var wB=function(e,n,a){var i=e.key+"-"+n.name;(a===!1||fX===!1)&&e.registered[i]===void 0&&(e.registered[i]=n.styles)},vX=function(e,n,a){wB(e,n,a);var i=e.key+"-"+n.name;if(e.inserted[n.name]===void 0){var o=n;do e.insert(n===o?"."+i:"",o,e.sheet,!0),o=o.next;while(o!==void 0)}};function bX(t){for(var e=0,n,a=0,i=t.length;i>=4;++a,i-=4)n=t.charCodeAt(a)&255|(t.charCodeAt(++a)&255)<<8|(t.charCodeAt(++a)&255)<<16|(t.charCodeAt(++a)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(t.charCodeAt(a+2)&255)<<16;case 2:e^=(t.charCodeAt(a+1)&255)<<8;case 1:e^=t.charCodeAt(a)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var kX={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},xX=/[A-Z]|^ms/g,yX=/_EMO_([^_]+?)_([^]*?)_EMO_/g,jB=function(e){return e.charCodeAt(1)===45},bk=function(e){return e!=null&&typeof e!="boolean"},eh=JJ(function(t){return jB(t)?t:t.replace(xX,"-$&").toLowerCase()}),kk=function(e,n){switch(e){case"animation":case"animationName":if(typeof n=="string")return n.replace(yX,function(a,i,o){return Ca={name:i,styles:o,next:Ca},i})}return kX[e]!==1&&!jB(e)&&typeof n=="number"&&n!==0?n+"px":n};function bl(t,e,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return Ca={name:n.name,styles:n.styles,next:Ca},n.name;if(n.styles!==void 0){var a=n.next;if(a!==void 0)for(;a!==void 0;)Ca={name:a.name,styles:a.styles,next:Ca},a=a.next;var i=n.styles+";";return i}return wX(t,e,n)}case"function":{if(t!==void 0){var o=Ca,s=n(t);return Ca=o,bl(t,e,s)}break}}if(e==null)return n;var l=e[n];return l!==void 0?l:n}function wX(t,e,n){var a="";if(Array.isArray(n))for(var i=0;i({x:t,y:t});function IX(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function zB(t){return DB(t)?(t.nodeName||"").toLowerCase():"#document"}function da(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function CB(t){var e;return(e=(DB(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function DB(t){return t instanceof Node||t instanceof da(t).Node}function Vm(t){return t instanceof Element||t instanceof da(t).Element}function $g(t){return t instanceof HTMLElement||t instanceof da(t).HTMLElement}function yk(t){return typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof da(t).ShadowRoot}function AB(t){const{overflow:e,overflowX:n,overflowY:a,display:i}=Mg(t);return/auto|scroll|overlay|hidden|clip/.test(e+a+n)&&!["inline","contents"].includes(i)}function $X(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function MX(t){return["html","body","#document"].includes(zB(t))}function Mg(t){return da(t).getComputedStyle(t)}function OX(t){if(zB(t)==="html")return t;const e=t.assignedSlot||t.parentNode||yk(t)&&t.host||CB(t);return yk(e)?e.host:e}function _B(t){const e=OX(t);return MX(e)?t.ownerDocument?t.ownerDocument.body:t.body:$g(e)&&AB(e)?e:_B(e)}function Hu(t,e,n){var a;e===void 0&&(e=[]),n===void 0&&(n=!0);const i=_B(t),o=i===((a=t.ownerDocument)==null?void 0:a.body),s=da(i);return o?e.concat(s,s.visualViewport||[],AB(i)?i:[],s.frameElement&&n?Hu(s.frameElement):[]):e.concat(i,Hu(i,[],n))}function RX(t){const e=Mg(t);let n=parseFloat(e.width)||0,a=parseFloat(e.height)||0;const i=$g(t),o=i?t.offsetWidth:n,s=i?t.offsetHeight:a,l=Uu(n)!==o||Uu(a)!==s;return l&&(n=o,a=s),{width:n,height:a,$:l}}function Og(t){return Vm(t)?t:t.contextElement}function th(t){const e=Og(t);if(!$g(e))return qu(1);const n=e.getBoundingClientRect(),{width:a,height:i,$:o}=RX(e);let s=(o?Uu(n.width):n.width)/a,l=(o?Uu(n.height):n.height)/i;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}const FX=qu(0);function VX(t){const e=da(t);return!$X()||!e.visualViewport?FX:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function WX(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==da(t)?!1:e}function wk(t,e,n,a){e===void 0&&(e=!1),n===void 0&&(n=!1);const i=t.getBoundingClientRect(),o=Og(t);let s=qu(1);e&&(a?Vm(a)&&(s=th(a)):s=th(t));const l=WX(o,n,a)?VX(o):qu(0);let c=(i.left+l.x)/s.x,u=(i.top+l.y)/s.y,d=i.width/s.x,p=i.height/s.y;if(o){const h=da(o),m=a&&Vm(a)?da(a):a;let g=h.frameElement;for(;g&&a&&m!==h;){const v=th(g),y=g.getBoundingClientRect(),b=Mg(g),k=y.left+(g.clientLeft+parseFloat(b.paddingLeft))*v.x,w=y.top+(g.clientTop+parseFloat(b.paddingTop))*v.y;c*=v.x,u*=v.y,d*=v.x,p*=v.y,c+=k,u+=w,g=da(g).frameElement}}return IX({width:d,height:p,x:c,y:u})}function UX(t,e){let n=null,a;const i=CB(t);function o(){clearTimeout(a),n&&n.disconnect(),n=null}function s(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),o();const{left:u,top:d,width:p,height:h}=t.getBoundingClientRect();if(l||e(),!p||!h)return;const m=xc(d),g=xc(i.clientWidth-(u+p)),v=xc(i.clientHeight-(d+h)),y=xc(u),k={rootMargin:-m+"px "+-g+"px "+-v+"px "+-y+"px",threshold:LX(0,NX(1,c))||1};let w=!0;function j(z){const S=z[0].intersectionRatio;if(S!==c){if(!w)return s();S?s(!1,S):a=setTimeout(()=>{s(!1,1e-7)},100)}w=!1}try{n=new IntersectionObserver(j,{...k,root:i.ownerDocument})}catch{n=new IntersectionObserver(j,k)}n.observe(t)}return s(!0),o}function qX(t,e,n,a){a===void 0&&(a={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=a,u=Og(t),d=i||o?[...u?Hu(u):[],...Hu(e)]:[];d.forEach(b=>{i&&b.addEventListener("scroll",n,{passive:!0}),o&&b.addEventListener("resize",n)});const p=u&&l?UX(u,n):null;let h=-1,m=null;s&&(m=new ResizeObserver(b=>{let[k]=b;k&&k.target===u&&m&&(m.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{m&&m.observe(e)})),n()}),u&&!c&&m.observe(u),m.observe(e));let g,v=c?wk(t):null;c&&y();function y(){const b=wk(t);v&&(b.x!==v.x||b.y!==v.y||b.width!==v.width||b.height!==v.height)&&n(),v=b,g=requestAnimationFrame(y)}return n(),()=>{d.forEach(b=>{i&&b.removeEventListener("scroll",n),o&&b.removeEventListener("resize",n)}),p&&p(),m&&m.disconnect(),m=null,c&&cancelAnimationFrame(g)}}var Wm=x.useLayoutEffect,HX=["className","clearValue","cx","getStyles","getClassNames","getValue","hasValue","isMulti","isRtl","options","selectOption","selectProps","setValue","theme"],Ku=function(){};function KX(t,e){return e?e[0]==="-"?t+e:t+"__"+e:t}function GX(t,e){for(var n=arguments.length,a=new Array(n>2?n-2:0),i=2;i-1}function QX(t){return Kd(t)?window.innerHeight:t.clientHeight}function EB(t){return Kd(t)?window.pageYOffset:t.scrollTop}function Gu(t,e){if(Kd(t)){window.scrollTo(0,e);return}t.scrollTop=e}function YX(t){var e=getComputedStyle(t),n=e.position==="absolute",a=/(auto|scroll)/;if(e.position==="fixed")return document.documentElement;for(var i=t;i=i.parentElement;)if(e=getComputedStyle(i),!(n&&e.position==="static")&&a.test(e.overflow+e.overflowY+e.overflowX))return i;return document.documentElement}function ZX(t,e,n,a){return n*((t=t/a-1)*t*t+1)+e}function yc(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:200,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Ku,i=EB(t),o=e-i,s=10,l=0;function c(){l+=s;var u=ZX(l,i,o,n);Gu(t,u),ln.bottom?Gu(t,Math.min(e.offsetTop+e.clientHeight-t.offsetHeight+i,t.scrollHeight)):a.top-i1?n-1:0),i=1;i=g)return{placement:"bottom",maxHeight:e};if(D>=g&&!s)return o&&yc(c,C,I),{placement:"bottom",maxHeight:e};if(!s&&D>=a||s&&f>=a){o&&yc(c,C,I);var E=s?f-j:D-j;return{placement:"bottom",maxHeight:E}}if(i==="auto"||s){var L=e,q=s?S:B;return q>=a&&(L=Math.min(q-j-l,e)),{placement:"top",maxHeight:L}}if(i==="bottom")return o&&Gu(c,C),{placement:"bottom",maxHeight:e};break;case"top":if(S>=g)return{placement:"top",maxHeight:e};if(B>=g&&!s)return o&&yc(c,P,I),{placement:"top",maxHeight:e};if(!s&&B>=a||s&&S>=a){var U=e;return(!s&&B>=a||s&&S>=a)&&(U=s?S-z:B-z),o&&yc(c,P,I),{placement:"top",maxHeight:U}}return{placement:"bottom",maxHeight:e};default:throw new Error('Invalid placement provided "'.concat(i,'".'))}return u}function lee(t){var e={bottom:"top",top:"bottom"};return t?e[t]:"bottom"}var NB=function(e){return e==="auto"?"bottom":e},cee=function(e,n){var a,i=e.placement,o=e.theme,s=o.borderRadius,l=o.spacing,c=o.colors;return ne((a={label:"menu"},en(a,lee(i),"100%"),en(a,"position","absolute"),en(a,"width","100%"),en(a,"zIndex",1),a),n?{}:{backgroundColor:c.neutral0,borderRadius:s,boxShadow:"0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",marginBottom:l.menuGutter,marginTop:l.menuGutter})},LB=x.createContext(null),uee=function(e){var n=e.children,a=e.minMenuHeight,i=e.maxMenuHeight,o=e.menuPlacement,s=e.menuPosition,l=e.menuShouldScrollIntoView,c=e.theme,u=x.useContext(LB)||{},d=u.setPortalPlacement,p=x.useRef(null),h=x.useState(i),m=ua(h,2),g=m[0],v=m[1],y=x.useState(null),b=ua(y,2),k=b[0],w=b[1],j=c.spacing.controlHeight;return Wm(function(){var z=p.current;if(z){var S=s==="fixed",f=l&&!S,B=see({maxHeight:i,menuEl:z,minHeight:a,placement:o,shouldScroll:f,isFixedPosition:S,controlHeight:j});v(B.maxHeight),w(B.placement),d==null||d(B.placement)}},[i,o,s,l,a,d,j]),n({ref:p,placerProps:ne(ne({},e),{},{placement:k||NB(o),maxHeight:g})})},dee=function(e){var n=e.children,a=e.innerRef,i=e.innerProps;return ae("div",ie({},Ze(e,"menu",{menu:!0}),{ref:a},i),n)},pee=dee,hee=function(e,n){var a=e.maxHeight,i=e.theme.spacing.baseUnit;return ne({maxHeight:a,overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},n?{}:{paddingBottom:i,paddingTop:i})},mee=function(e){var n=e.children,a=e.innerProps,i=e.innerRef,o=e.isMulti;return ae("div",ie({},Ze(e,"menuList",{"menu-list":!0,"menu-list--is-multi":o}),{ref:i},a),n)},IB=function(e,n){var a=e.theme,i=a.spacing.baseUnit,o=a.colors;return ne({textAlign:"center"},n?{}:{color:o.neutral40,padding:"".concat(i*2,"px ").concat(i*3,"px")})},fee=IB,gee=IB,vee=function(e){var n=e.children,a=n===void 0?"No options":n,i=e.innerProps,o=$a(e,oee);return ae("div",ie({},Ze(ne(ne({},o),{},{children:a,innerProps:i}),"noOptionsMessage",{"menu-notice":!0,"menu-notice--no-options":!0}),i),a)},bee=function(e){var n=e.children,a=n===void 0?"Loading...":n,i=e.innerProps,o=$a(e,ree);return ae("div",ie({},Ze(ne(ne({},o),{},{children:a,innerProps:i}),"loadingMessage",{"menu-notice":!0,"menu-notice--loading":!0}),i),a)},kee=function(e){var n=e.rect,a=e.offset,i=e.position;return{left:n.left,position:i,top:a,width:n.width,zIndex:1}},xee=function(e){var n=e.appendTo,a=e.children,i=e.controlElement,o=e.innerProps,s=e.menuPlacement,l=e.menuPosition,c=x.useRef(null),u=x.useRef(null),d=x.useState(NB(s)),p=ua(d,2),h=p[0],m=p[1],g=x.useMemo(function(){return{setPortalPlacement:m}},[]),v=x.useState(null),y=ua(v,2),b=y[0],k=y[1],w=x.useCallback(function(){if(i){var f=JX(i),B=l==="fixed"?0:window.pageYOffset,D=f[h]+B;(D!==(b==null?void 0:b.offset)||f.left!==(b==null?void 0:b.rect.left)||f.width!==(b==null?void 0:b.rect.width))&&k({offset:D,rect:f})}},[i,l,h,b==null?void 0:b.offset,b==null?void 0:b.rect.left,b==null?void 0:b.rect.width]);Wm(function(){w()},[w]);var j=x.useCallback(function(){typeof u.current=="function"&&(u.current(),u.current=null),i&&c.current&&(u.current=qX(i,c.current,w,{elementResize:"ResizeObserver"in window}))},[i,w]);Wm(function(){j()},[j]);var z=x.useCallback(function(f){c.current=f,j()},[j]);if(!n&&l!=="fixed"||!b)return null;var S=ae("div",ie({ref:z},Ze(ne(ne({},e),{},{offset:b.offset,position:l,rect:b.rect}),"menuPortal",{"menu-portal":!0}),o),a);return ae(LB.Provider,{value:g},n?Z0.createPortal(S,n):S)},yee=function(e){var n=e.isDisabled,a=e.isRtl;return{label:"container",direction:a?"rtl":void 0,pointerEvents:n?"none":void 0,position:"relative"}},wee=function(e){var n=e.children,a=e.innerProps,i=e.isDisabled,o=e.isRtl;return ae("div",ie({},Ze(e,"container",{"--is-disabled":i,"--is-rtl":o}),a),n)},jee=function(e,n){var a=e.theme.spacing,i=e.isMulti,o=e.hasValue,s=e.selectProps.controlShouldRenderValue;return ne({alignItems:"center",display:i&&o&&s?"flex":"grid",flex:1,flexWrap:"wrap",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"},n?{}:{padding:"".concat(a.baseUnit/2,"px ").concat(a.baseUnit*2,"px")})},Bee=function(e){var n=e.children,a=e.innerProps,i=e.isMulti,o=e.hasValue;return ae("div",ie({},Ze(e,"valueContainer",{"value-container":!0,"value-container--is-multi":i,"value-container--has-value":o}),a),n)},See=function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},zee=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"indicatorsContainer",{indicators:!0}),a),n)},zk,Cee=["size"],Dee=["innerProps","isRtl","size"],Aee={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},$B=function(e){var n=e.size,a=$a(e,Cee);return ae("svg",ie({height:n,width:n,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:Aee},a))},Rg=function(e){return ae($B,ie({size:20},e),ae("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},MB=function(e){return ae($B,ie({size:20},e),ae("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},OB=function(e,n){var a=e.isFocused,i=e.theme,o=i.spacing.baseUnit,s=i.colors;return ne({label:"indicatorContainer",display:"flex",transition:"color 150ms"},n?{}:{color:a?s.neutral60:s.neutral20,padding:o*2,":hover":{color:a?s.neutral80:s.neutral40}})},_ee=OB,Tee=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"dropdownIndicator",{indicator:!0,"dropdown-indicator":!0}),a),n||ae(MB,null))},Eee=OB,Pee=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"clearIndicator",{indicator:!0,"clear-indicator":!0}),a),n||ae(Rg,null))},Nee=function(e,n){var a=e.isDisabled,i=e.theme,o=i.spacing.baseUnit,s=i.colors;return ne({label:"indicatorSeparator",alignSelf:"stretch",width:1},n?{}:{backgroundColor:a?s.neutral10:s.neutral20,marginBottom:o*2,marginTop:o*2})},Lee=function(e){var n=e.innerProps;return ae("span",ie({},n,Ze(e,"indicatorSeparator",{"indicator-separator":!0})))},Iee=EX(zk||(zk=PX([` 0%, 80%, 100% { opacity: 0; } 40% { opacity: 1; } -`]))),$ee=function(e,n){var a=e.isFocused,i=e.size,o=e.theme,s=o.colors,l=o.spacing.baseUnit;return ne({label:"loadingIndicator",display:"flex",transition:"color 150ms",alignSelf:"center",fontSize:i,lineHeight:1,marginRight:i,textAlign:"center",verticalAlign:"middle"},n?{}:{color:a?s.neutral60:s.neutral20,padding:l*2})},nh=function(e){var n=e.delay,a=e.offset;return ae("span",{css:Ig({animation:"".concat(Iee," 1s ease-in-out ").concat(n,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:a?"1em":void 0,height:"1em",verticalAlign:"top",width:"1em"},"","")})},Mee=function(e){var n=e.innerProps,a=e.isRtl,i=e.size,o=i===void 0?4:i,s=$a(e,Dee);return ae("div",ie({},Ze(ne(ne({},s),{},{innerProps:n,isRtl:a,size:o}),"loadingIndicator",{indicator:!0,"loading-indicator":!0}),n),ae(nh,{delay:0,offset:a}),ae(nh,{delay:160,offset:!0}),ae(nh,{delay:320,offset:!a}))},Oee=function(e,n){var a=e.isDisabled,i=e.isFocused,o=e.theme,s=o.colors,l=o.borderRadius,c=o.spacing;return ne({label:"control",alignItems:"center",cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:c.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms"},n?{}:{backgroundColor:a?s.neutral5:s.neutral0,borderColor:a?s.neutral10:i?s.primary:s.neutral20,borderRadius:l,borderStyle:"solid",borderWidth:1,boxShadow:i?"0 0 0 1px ".concat(s.primary):void 0,"&:hover":{borderColor:i?s.primary:s.neutral30}})},Ree=function(e){var n=e.children,a=e.isDisabled,i=e.isFocused,o=e.innerRef,s=e.innerProps,l=e.menuIsOpen;return ae("div",ie({ref:o},Ze(e,"control",{control:!0,"control--is-disabled":a,"control--is-focused":i,"control--menu-is-open":l}),s),n)},Fee=Ree,Vee=["data"],Wee=function(e,n){var a=e.theme.spacing;return n?{}:{paddingBottom:a.baseUnit*2,paddingTop:a.baseUnit*2}},Uee=function(e){var n=e.children,a=e.cx,i=e.getStyles,o=e.getClassNames,s=e.Heading,l=e.headingProps,c=e.innerProps,u=e.label,d=e.theme,p=e.selectProps;return ae("div",ie({},Ze(e,"group",{group:!0}),c),ae(s,ie({},l,{selectProps:p,theme:d,getStyles:i,getClassNames:o,cx:a}),u),ae("div",null,n))},qee=function(e,n){var a=e.theme,i=a.colors,o=a.spacing;return ne({label:"group",cursor:"default",display:"block"},n?{}:{color:i.neutral40,fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:o.baseUnit*3,paddingRight:o.baseUnit*3,textTransform:"uppercase"})},Hee=function(e){var n=TB(e);n.data;var a=$a(n,Vee);return ae("div",ie({},Ze(e,"groupHeading",{"group-heading":!0}),a))},Kee=Uee,Gee=["innerRef","isDisabled","isHidden","inputClassName"],Qee=function(e,n){var a=e.isDisabled,i=e.value,o=e.theme,s=o.spacing,l=o.colors;return ne(ne({visibility:a?"hidden":"visible",transform:i?"translateZ(0)":""},Yee),n?{}:{margin:s.baseUnit/2,paddingBottom:s.baseUnit/2,paddingTop:s.baseUnit/2,color:l.neutral80})},RB={gridArea:"1 / 2",font:"inherit",minWidth:"2px",border:0,margin:0,outline:0,padding:0},Yee={flex:"1 1 auto",display:"inline-grid",gridArea:"1 / 1 / 2 / 3",gridTemplateColumns:"0 min-content","&:after":ne({content:'attr(data-value) " "',visibility:"hidden",whiteSpace:"pre"},RB)},Zee=function(e){return ne({label:"input",color:"inherit",background:0,opacity:e?0:1,width:"100%"},RB)},Jee=function(e){var n=e.cx,a=e.value,i=TB(e),o=i.innerRef,s=i.isDisabled,l=i.isHidden,c=i.inputClassName,u=$a(i,Gee);return ae("div",ie({},Ze(e,"input",{"input-container":!0}),{"data-value":a||""}),ae("input",ie({className:n({input:!0},c),ref:o,style:Zee(l),disabled:s},u)))},Xee=Jee,ete=function(e,n){var a=e.theme,i=a.spacing,o=a.borderRadius,s=a.colors;return ne({label:"multiValue",display:"flex",minWidth:0},n?{}:{backgroundColor:s.neutral10,borderRadius:o/2,margin:i.baseUnit/2})},tte=function(e,n){var a=e.theme,i=a.borderRadius,o=a.colors,s=e.cropWithEllipsis;return ne({overflow:"hidden",textOverflow:s||s===void 0?"ellipsis":void 0,whiteSpace:"nowrap"},n?{}:{borderRadius:i/2,color:o.neutral80,fontSize:"85%",padding:3,paddingLeft:6})},nte=function(e,n){var a=e.theme,i=a.spacing,o=a.borderRadius,s=a.colors,l=e.isFocused;return ne({alignItems:"center",display:"flex"},n?{}:{borderRadius:o/2,backgroundColor:l?s.dangerLight:void 0,paddingLeft:i.baseUnit,paddingRight:i.baseUnit,":hover":{backgroundColor:s.dangerLight,color:s.danger}})},FB=function(e){var n=e.children,a=e.innerProps;return ae("div",a,n)},ate=FB,ite=FB;function ote(t){var e=t.children,n=t.innerProps;return ae("div",ie({role:"button"},n),e||ae(Rg,{size:14}))}var rte=function(e){var n=e.children,a=e.components,i=e.data,o=e.innerProps,s=e.isDisabled,l=e.removeProps,c=e.selectProps,u=a.Container,d=a.Label,p=a.Remove;return ae(u,{data:i,innerProps:ne(ne({},Ze(e,"multiValue",{"multi-value":!0,"multi-value--is-disabled":s})),o),selectProps:c},ae(d,{data:i,innerProps:ne({},Ze(e,"multiValueLabel",{"multi-value__label":!0})),selectProps:c},n),ae(p,{data:i,innerProps:ne(ne({},Ze(e,"multiValueRemove",{"multi-value__remove":!0})),{},{"aria-label":"Remove ".concat(n||"option")},l),selectProps:c}))},ste=rte,lte=function(e,n){var a=e.isDisabled,i=e.isFocused,o=e.isSelected,s=e.theme,l=s.spacing,c=s.colors;return ne({label:"option",cursor:"default",display:"block",fontSize:"inherit",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)"},n?{}:{backgroundColor:o?c.primary:i?c.primary25:"transparent",color:a?c.neutral20:o?c.neutral0:"inherit",padding:"".concat(l.baseUnit*2,"px ").concat(l.baseUnit*3,"px"),":active":{backgroundColor:a?void 0:o?c.primary:c.primary50}})},cte=function(e){var n=e.children,a=e.isDisabled,i=e.isFocused,o=e.isSelected,s=e.innerRef,l=e.innerProps;return ae("div",ie({},Ze(e,"option",{option:!0,"option--is-disabled":a,"option--is-focused":i,"option--is-selected":o}),{ref:s,"aria-disabled":a},l),n)},ute=cte,dte=function(e,n){var a=e.theme,i=a.spacing,o=a.colors;return ne({label:"placeholder",gridArea:"1 / 1 / 2 / 3"},n?{}:{color:o.neutral50,marginLeft:i.baseUnit/2,marginRight:i.baseUnit/2})},pte=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"placeholder",{placeholder:!0}),a),n)},hte=pte,mte=function(e,n){var a=e.isDisabled,i=e.theme,o=i.spacing,s=i.colors;return ne({label:"singleValue",gridArea:"1 / 1 / 2 / 3",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},n?{}:{color:a?s.neutral40:s.neutral80,marginLeft:o.baseUnit/2,marginRight:o.baseUnit/2})},fte=function(e){var n=e.children,a=e.isDisabled,i=e.innerProps;return ae("div",ie({},Ze(e,"singleValue",{"single-value":!0,"single-value--is-disabled":a}),i),n)},gte=fte,Un={ClearIndicator:Pee,Control:Fee,DropdownIndicator:Tee,DownChevron:MB,CrossIcon:Rg,Group:Kee,GroupHeading:Hee,IndicatorsContainer:zee,IndicatorSeparator:Lee,Input:Xee,LoadingIndicator:Mee,Menu:pee,MenuList:mee,MenuPortal:xee,LoadingMessage:bee,NoOptionsMessage:vee,MultiValue:ste,MultiValueContainer:ate,MultiValueLabel:ite,MultiValueRemove:ote,Option:ute,Placeholder:hte,SelectContainer:wee,SingleValue:gte,ValueContainer:Bee},vte=function(e){return ne(ne({},Un),e.components)},Ck=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function bte(t,e){return!!(t===e||Ck(t)&&Ck(e))}function kte(t,e){if(t.length!==e.length)return!1;for(var n=0;n1?"s":""," ").concat(o.join(","),", selected.");case"select-option":return s?"option ".concat(i," is disabled. Select another option."):"option ".concat(i,", selected.");default:return""}},onFocus:function(e){var n=e.context,a=e.focused,i=e.options,o=e.label,s=o===void 0?"":o,l=e.selectValue,c=e.isDisabled,u=e.isSelected,d=function(g,v){return g&&g.length?"".concat(g.indexOf(v)+1," of ").concat(g.length):""};if(n==="value"&&l)return"value ".concat(s," focused, ").concat(d(l,a),".");if(n==="menu"){var p=c?" disabled":"",h="".concat(u?"selected":"focused").concat(p);return"option ".concat(s," ").concat(h,", ").concat(d(i,a),".")}return""},onFilter:function(e){var n=e.inputValue,a=e.resultsMessage;return"".concat(a).concat(n?" for search term "+n:"",".")}},Bte=function(e){var n=e.ariaSelection,a=e.focusedOption,i=e.focusedValue,o=e.focusableOptions,s=e.isFocused,l=e.selectValue,c=e.selectProps,u=e.id,d=c.ariaLiveMessages,p=c.getOptionLabel,h=c.inputValue,m=c.isMulti,g=c.isOptionDisabled,v=c.isSearchable,y=c.menuIsOpen,b=c.options,k=c.screenReaderStatus,w=c.tabSelectsValue,j=c["aria-label"],z=c["aria-live"],S=x.useMemo(function(){return ne(ne({},jte),d||{})},[d]),f=x.useMemo(function(){var L="";if(n&&S.onChange){var q=n.option,U=n.options,$=n.removedValue,T=n.removedValues,F=n.value,N=function(oe){return Array.isArray(oe)?null:oe},Q=$||q||N(F),K=Q?p(Q):"",V=U||T||void 0,G=V?V.map(p):[],ee=ne({isDisabled:Q&&g(Q,l),label:K,labels:G},n);L=S.onChange(ee)}return L},[n,S,g,l,p]),B=x.useMemo(function(){var L="",q=a||i,U=!!(a&&l&&l.includes(a));if(q&&S.onFocus){var $={focused:q,label:p(q),isDisabled:g(q,l),isSelected:U,options:o,context:q===a?"menu":"value",selectValue:l};L=S.onFocus($)}return L},[a,i,p,g,S,o,l]),D=x.useMemo(function(){var L="";if(y&&b.length&&S.onFilter){var q=k({count:o.length});L=S.onFilter({inputValue:h,resultsMessage:q})}return L},[o,h,y,S,b,k]),C=x.useMemo(function(){var L="";if(S.guidance){var q=i?"value":y?"menu":"input";L=S.guidance({"aria-label":j,context:q,isDisabled:a&&g(a,l),isMulti:m,isSearchable:v,tabSelectsValue:w})}return L},[j,a,i,m,g,v,y,S,l,w]),P="".concat(B," ").concat(D," ").concat(C),I=ae(x.Fragment,null,ae("span",{id:"aria-selection"},f),ae("span",{id:"aria-context"},P)),E=(n==null?void 0:n.action)==="initial-input-focus";return ae(x.Fragment,null,ae(Dk,{id:u},E&&I),ae(Dk,{"aria-live":z,"aria-atomic":"false","aria-relevant":"additions text"},s&&!E&&I))},Ste=Bte,Um=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],zte=new RegExp("["+Um.map(function(t){return t.letters}).join("")+"]","g"),VB={};for(var ah=0;ah-1}},_te=["innerRef"];function Tte(t){var e=t.innerRef,n=$a(t,_te),a=iee(n,"onExited","in","enter","exit","appear");return ae("input",ie({ref:e},a,{css:Ig({label:"dummyInput",background:0,border:0,caretColor:"transparent",fontSize:"inherit",gridArea:"1 / 1 / 2 / 3",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(.01)"},"","")}))}var Ete=function(e){e.preventDefault(),e.stopPropagation()};function Pte(t){var e=t.isEnabled,n=t.onBottomArrive,a=t.onBottomLeave,i=t.onTopArrive,o=t.onTopLeave,s=x.useRef(!1),l=x.useRef(!1),c=x.useRef(0),u=x.useRef(null),d=x.useCallback(function(y,b){if(u.current!==null){var k=u.current,w=k.scrollTop,j=k.scrollHeight,z=k.clientHeight,S=u.current,f=b>0,B=j-z-w,D=!1;B>b&&s.current&&(a&&a(y),s.current=!1),f&&l.current&&(o&&o(y),l.current=!1),f&&b>B?(n&&!s.current&&n(y),S.scrollTop=j,D=!0,s.current=!0):!f&&-b>w&&(i&&!l.current&&i(y),S.scrollTop=0,D=!0,l.current=!0),D&&Ete(y)}},[n,a,i,o]),p=x.useCallback(function(y){d(y,y.deltaY)},[d]),h=x.useCallback(function(y){c.current=y.changedTouches[0].clientY},[]),m=x.useCallback(function(y){var b=c.current-y.changedTouches[0].clientY;d(y,b)},[d]),g=x.useCallback(function(y){if(y){var b=tee?{passive:!1}:!1;y.addEventListener("wheel",p,b),y.addEventListener("touchstart",h,b),y.addEventListener("touchmove",m,b)}},[m,h,p]),v=x.useCallback(function(y){y&&(y.removeEventListener("wheel",p,!1),y.removeEventListener("touchstart",h,!1),y.removeEventListener("touchmove",m,!1))},[m,h,p]);return x.useEffect(function(){if(e){var y=u.current;return g(y),function(){v(y)}}},[e,g,v]),function(y){u.current=y}}var _k=["boxSizing","height","overflow","paddingRight","position"],Tk={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function Ek(t){t.preventDefault()}function Pk(t){t.stopPropagation()}function Nk(){var t=this.scrollTop,e=this.scrollHeight,n=t+this.offsetHeight;t===0?this.scrollTop=1:n===e&&(this.scrollTop=t-1)}function Lk(){return"ontouchstart"in window||navigator.maxTouchPoints}var Ik=!!(typeof window<"u"&&window.document&&window.document.createElement),ys=0,ar={capture:!1,passive:!1};function Nte(t){var e=t.isEnabled,n=t.accountForScrollbars,a=n===void 0?!0:n,i=x.useRef({}),o=x.useRef(null),s=x.useCallback(function(c){if(Ik){var u=document.body,d=u&&u.style;if(a&&_k.forEach(function(g){var v=d&&d[g];i.current[g]=v}),a&&ys<1){var p=parseInt(i.current.paddingRight,10)||0,h=document.body?document.body.clientWidth:0,m=window.innerWidth-h+p||0;Object.keys(Tk).forEach(function(g){var v=Tk[g];d&&(d[g]=v)}),d&&(d.paddingRight="".concat(m,"px"))}u&&Lk()&&(u.addEventListener("touchmove",Ek,ar),c&&(c.addEventListener("touchstart",Nk,ar),c.addEventListener("touchmove",Pk,ar))),ys+=1}},[a]),l=x.useCallback(function(c){if(Ik){var u=document.body,d=u&&u.style;ys=Math.max(ys-1,0),a&&ys<1&&_k.forEach(function(p){var h=i.current[p];d&&(d[p]=h)}),u&&Lk()&&(u.removeEventListener("touchmove",Ek,ar),c&&(c.removeEventListener("touchstart",Nk,ar),c.removeEventListener("touchmove",Pk,ar)))}},[a]);return x.useEffect(function(){if(e){var c=o.current;return s(c),function(){l(c)}}},[e,s,l]),function(c){o.current=c}}var Lte=function(){return document.activeElement&&document.activeElement.blur()},Ite={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function $te(t){var e=t.children,n=t.lockEnabled,a=t.captureEnabled,i=a===void 0?!0:a,o=t.onBottomArrive,s=t.onBottomLeave,l=t.onTopArrive,c=t.onTopLeave,u=Pte({isEnabled:i,onBottomArrive:o,onBottomLeave:s,onTopArrive:l,onTopLeave:c}),d=Nte({isEnabled:n}),p=function(m){u(m),d(m)};return ae(x.Fragment,null,n&&ae("div",{onClick:Lte,css:Ite}),e(p))}var Mte={name:"1a0ro4n-requiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%"},Ote=function(e){var n=e.name,a=e.onFocus;return ae("input",{required:!0,name:n,tabIndex:-1,"aria-hidden":"true",onFocus:a,css:Mte,value:"",onChange:function(){}})},Rte=Ote,Fte=function(e){return e.label},Vte=function(e){return e.label},Wte=function(e){return e.value},Ute=function(e){return!!e.isDisabled},qte={clearIndicator:Eee,container:yee,control:Oee,dropdownIndicator:_ee,group:Wee,groupHeading:qee,indicatorsContainer:See,indicatorSeparator:Nee,input:Qee,loadingIndicator:$ee,loadingMessage:gee,menu:cee,menuList:hee,menuPortal:kee,multiValue:ete,multiValueLabel:tte,multiValueRemove:nte,noOptionsMessage:fee,option:lte,placeholder:dte,singleValue:mte,valueContainer:jee},Hte={primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},Kte=4,UB=4,Gte=38,Qte=UB*2,Yte={baseUnit:UB,controlHeight:Gte,menuGutter:Qte},rh={borderRadius:Kte,colors:Hte,spacing:Yte},Zte={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:Sk(),captureMenuScroll:!Sk(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:Ate(),formatGroupLabel:Fte,getOptionLabel:Vte,getOptionValue:Wte,isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:Ute,loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!XX(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var n=e.count;return"".concat(n," result").concat(n!==1?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1};function $k(t,e,n,a){var i=GB(t,e,n),o=QB(t,e,n),s=KB(t,e),l=Qu(t,e);return{type:"option",data:e,isDisabled:i,isSelected:o,label:s,value:l,index:a}}function qB(t,e){return t.options.map(function(n,a){if("options"in n){var i=n.options.map(function(s,l){return $k(t,s,e,l)}).filter(function(s){return Mk(t,s)});return i.length>0?{type:"group",data:n,options:i,index:a}:void 0}var o=$k(t,n,e,a);return Mk(t,o)?o:void 0}).filter(nee)}function HB(t){return t.reduce(function(e,n){return n.type==="group"?e.push.apply(e,uB(n.options.map(function(a){return a.data}))):e.push(n.data),e},[])}function Jte(t,e){return HB(qB(t,e))}function Mk(t,e){var n=t.inputValue,a=n===void 0?"":n,i=e.data,o=e.isSelected,s=e.label,l=e.value;return(!ZB(t)||!o)&&YB(t,{label:s,value:l,data:i},a)}function Xte(t,e){var n=t.focusedValue,a=t.selectValue,i=a.indexOf(n);if(i>-1){var o=e.indexOf(n);if(o>-1)return n;if(i-1?n:e[0]}var KB=function(e,n){return e.getOptionLabel(n)},Qu=function(e,n){return e.getOptionValue(n)};function GB(t,e,n){return typeof t.isOptionDisabled=="function"?t.isOptionDisabled(e,n):!1}function QB(t,e,n){if(n.indexOf(e)>-1)return!0;if(typeof t.isOptionSelected=="function")return t.isOptionSelected(e,n);var a=Qu(t,e);return n.some(function(i){return Qu(t,i)===a})}function YB(t,e,n){return t.filterOption?t.filterOption(e,n):!0}var ZB=function(e){var n=e.hideSelectedOptions,a=e.isMulti;return n===void 0?a:n},tne=1,JB=function(t){Tl(n,t);var e=DJ(n);function n(a){var i;if(qn(this,n),i=e.call(this,a),i.state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},i.blockOptionHover=!1,i.isComposing=!1,i.commonProps=void 0,i.initialTouchX=0,i.initialTouchY=0,i.instancePrefix="",i.openAfterFocus=!1,i.scrollToFocusedOptionOnUpdate=!1,i.userIsDragging=void 0,i.controlRef=null,i.getControlRef=function(l){i.controlRef=l},i.focusedOptionRef=null,i.getFocusedOptionRef=function(l){i.focusedOptionRef=l},i.menuListRef=null,i.getMenuListRef=function(l){i.menuListRef=l},i.inputRef=null,i.getInputRef=function(l){i.inputRef=l},i.focus=i.focusInput,i.blur=i.blurInput,i.onChange=function(l,c){var u=i.props,d=u.onChange,p=u.name;c.name=p,i.ariaOnChange(l,c),d(l,c)},i.setValue=function(l,c,u){var d=i.props,p=d.closeMenuOnSelect,h=d.isMulti,m=d.inputValue;i.onInputChange("",{action:"set-value",prevInputValue:m}),p&&(i.setState({inputIsHiddenAfterUpdate:!h}),i.onMenuClose()),i.setState({clearFocusValueOnUpdate:!0}),i.onChange(l,{action:c,option:u})},i.selectOption=function(l){var c=i.props,u=c.blurInputOnSelect,d=c.isMulti,p=c.name,h=i.state.selectValue,m=d&&i.isOptionSelected(l,h),g=i.isOptionDisabled(l,h);if(m){var v=i.getOptionValue(l);i.setValue(h.filter(function(y){return i.getOptionValue(y)!==v}),"deselect-option",l)}else if(!g)d?i.setValue([].concat(uB(h),[l]),"select-option",l):i.setValue(l,"select-option");else{i.ariaOnChange(l,{action:"select-option",option:l,name:p});return}u&&i.blurInput()},i.removeValue=function(l){var c=i.props.isMulti,u=i.state.selectValue,d=i.getOptionValue(l),p=u.filter(function(m){return i.getOptionValue(m)!==d}),h=jc(c,p,p[0]||null);i.onChange(h,{action:"remove-value",removedValue:l}),i.focusInput()},i.clearValue=function(){var l=i.state.selectValue;i.onChange(jc(i.props.isMulti,[],null),{action:"clear",removedValues:l})},i.popValue=function(){var l=i.props.isMulti,c=i.state.selectValue,u=c[c.length-1],d=c.slice(0,c.length-1),p=jc(l,d,d[0]||null);i.onChange(p,{action:"pop-value",removedValue:u})},i.getValue=function(){return i.state.selectValue},i.cx=function(){for(var l=arguments.length,c=new Array(l),u=0;uh||p>h}},i.onTouchEnd=function(l){i.userIsDragging||(i.controlRef&&!i.controlRef.contains(l.target)&&i.menuListRef&&!i.menuListRef.contains(l.target)&&i.blurInput(),i.initialTouchX=0,i.initialTouchY=0)},i.onControlTouchEnd=function(l){i.userIsDragging||i.onControlMouseDown(l)},i.onClearIndicatorTouchEnd=function(l){i.userIsDragging||i.onClearIndicatorMouseDown(l)},i.onDropdownIndicatorTouchEnd=function(l){i.userIsDragging||i.onDropdownIndicatorMouseDown(l)},i.handleInputChange=function(l){var c=i.props.inputValue,u=l.currentTarget.value;i.setState({inputIsHiddenAfterUpdate:!1}),i.onInputChange(u,{action:"input-change",prevInputValue:c}),i.props.menuIsOpen||i.onMenuOpen()},i.onInputFocus=function(l){i.props.onFocus&&i.props.onFocus(l),i.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(i.openAfterFocus||i.props.openMenuOnFocus)&&i.openMenu("first"),i.openAfterFocus=!1},i.onInputBlur=function(l){var c=i.props.inputValue;if(i.menuListRef&&i.menuListRef.contains(document.activeElement)){i.inputRef.focus();return}i.props.onBlur&&i.props.onBlur(l),i.onInputChange("",{action:"input-blur",prevInputValue:c}),i.onMenuClose(),i.setState({focusedValue:null,isFocused:!1})},i.onOptionHover=function(l){i.blockOptionHover||i.state.focusedOption===l||i.setState({focusedOption:l})},i.shouldHideSelectedOptions=function(){return ZB(i.props)},i.onValueInputFocus=function(l){l.preventDefault(),l.stopPropagation(),i.focus()},i.onKeyDown=function(l){var c=i.props,u=c.isMulti,d=c.backspaceRemovesValue,p=c.escapeClearsValue,h=c.inputValue,m=c.isClearable,g=c.isDisabled,v=c.menuIsOpen,y=c.onKeyDown,b=c.tabSelectsValue,k=c.openMenuOnFocus,w=i.state,j=w.focusedOption,z=w.focusedValue,S=w.selectValue;if(!g&&!(typeof y=="function"&&(y(l),l.defaultPrevented))){switch(i.blockOptionHover=!0,l.key){case"ArrowLeft":if(!u||h)return;i.focusValue("previous");break;case"ArrowRight":if(!u||h)return;i.focusValue("next");break;case"Delete":case"Backspace":if(h)return;if(z)i.removeValue(z);else{if(!d)return;u?i.popValue():m&&i.clearValue()}break;case"Tab":if(i.isComposing||l.shiftKey||!v||!b||!j||k&&i.isOptionSelected(j,S))return;i.selectOption(j);break;case"Enter":if(l.keyCode===229)break;if(v){if(!j||i.isComposing)return;i.selectOption(j);break}return;case"Escape":v?(i.setState({inputIsHiddenAfterUpdate:!1}),i.onInputChange("",{action:"menu-close",prevInputValue:h}),i.onMenuClose()):m&&p&&i.clearValue();break;case" ":if(h)return;if(!v){i.openMenu("first");break}if(!j)return;i.selectOption(j);break;case"ArrowUp":v?i.focusOption("up"):i.openMenu("last");break;case"ArrowDown":v?i.focusOption("down"):i.openMenu("first");break;case"PageUp":if(!v)return;i.focusOption("pageup");break;case"PageDown":if(!v)return;i.focusOption("pagedown");break;case"Home":if(!v)return;i.focusOption("first");break;case"End":if(!v)return;i.focusOption("last");break;default:return}l.preventDefault()}},i.instancePrefix="react-select-"+(i.props.instanceId||++tne),i.state.selectValue=jk(a.value),a.menuIsOpen&&i.state.selectValue.length){var o=i.buildFocusableOptions(),s=o.indexOf(i.state.selectValue[0]);i.state.focusedOption=o[s]}return i}return Hn(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&Bk(this.menuListRef,this.focusedOptionRef)}},{key:"componentDidUpdate",value:function(i){var o=this.props,s=o.isDisabled,l=o.menuIsOpen,c=this.state.isFocused;(c&&!s&&i.isDisabled||c&&l&&!i.menuIsOpen)&&this.focusInput(),c&&s&&!i.isDisabled?this.setState({isFocused:!1},this.onMenuClose):!c&&!s&&i.isDisabled&&this.inputRef===document.activeElement&&this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(Bk(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:"onInputChange",value:function(i,o){this.props.onInputChange(i,o)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(i){var o=this,s=this.state,l=s.selectValue,c=s.isFocused,u=this.buildFocusableOptions(),d=i==="first"?0:u.length-1;if(!this.props.isMulti){var p=u.indexOf(l[0]);p>-1&&(d=p)}this.scrollToFocusedOptionOnUpdate=!(c&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:u[d]},function(){return o.onMenuOpen()})}},{key:"focusValue",value:function(i){var o=this.state,s=o.selectValue,l=o.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var c=s.indexOf(l);l||(c=-1);var u=s.length-1,d=-1;if(s.length){switch(i){case"previous":c===0?d=0:c===-1?d=u:d=c-1;break;case"next":c>-1&&c0&&arguments[0]!==void 0?arguments[0]:"first",o=this.props.pageSize,s=this.state.focusedOption,l=this.getFocusableOptions();if(l.length){var c=0,u=l.indexOf(s);s||(u=-1),i==="up"?c=u>0?u-1:l.length-1:i==="down"?c=(u+1)%l.length:i==="pageup"?(c=u-o,c<0&&(c=0)):i==="pagedown"?(c=u+o,c>l.length-1&&(c=l.length-1)):i==="last"&&(c=l.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:l[c],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?typeof this.props.theme=="function"?this.props.theme(rh):ne(ne({},rh),this.props.theme):rh}},{key:"getCommonProps",value:function(){var i=this.clearValue,o=this.cx,s=this.getStyles,l=this.getClassNames,c=this.getValue,u=this.selectOption,d=this.setValue,p=this.props,h=p.isMulti,m=p.isRtl,g=p.options,v=this.hasValue();return{clearValue:i,cx:o,getStyles:s,getClassNames:l,getValue:c,hasValue:v,isMulti:h,isRtl:m,options:g,selectOption:u,selectProps:p,setValue:d,theme:this.getTheme()}}},{key:"hasValue",value:function(){var i=this.state.selectValue;return i.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var i=this.props,o=i.isClearable,s=i.isMulti;return o===void 0?s:o}},{key:"isOptionDisabled",value:function(i,o){return GB(this.props,i,o)}},{key:"isOptionSelected",value:function(i,o){return QB(this.props,i,o)}},{key:"filterOption",value:function(i,o){return YB(this.props,i,o)}},{key:"formatOptionLabel",value:function(i,o){if(typeof this.props.formatOptionLabel=="function"){var s=this.props.inputValue,l=this.state.selectValue;return this.props.formatOptionLabel(i,{context:o,inputValue:s,selectValue:l})}else return this.getOptionLabel(i)}},{key:"formatGroupLabel",value:function(i){return this.props.formatGroupLabel(i)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var i=this.props,o=i.isDisabled,s=i.isSearchable,l=i.inputId,c=i.inputValue,u=i.tabIndex,d=i.form,p=i.menuIsOpen,h=i.required,m=this.getComponents(),g=m.Input,v=this.state,y=v.inputIsHidden,b=v.ariaSelection,k=this.commonProps,w=l||this.getElementId("input"),j=ne(ne(ne({"aria-autocomplete":"list","aria-expanded":p,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-required":h,role:"combobox"},p&&{"aria-controls":this.getElementId("listbox"),"aria-owns":this.getElementId("listbox")}),!s&&{"aria-readonly":!0}),this.hasValue()?(b==null?void 0:b.action)==="initial-input-focus"&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return s?x.createElement(g,ie({},k,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:w,innerRef:this.getInputRef,isDisabled:o,isHidden:y,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:u,form:d,type:"text",value:c},j)):x.createElement(Tte,ie({id:w,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Ku,onFocus:this.onInputFocus,disabled:o,tabIndex:u,inputMode:"none",form:d,value:""},j))}},{key:"renderPlaceholderOrValue",value:function(){var i=this,o=this.getComponents(),s=o.MultiValue,l=o.MultiValueContainer,c=o.MultiValueLabel,u=o.MultiValueRemove,d=o.SingleValue,p=o.Placeholder,h=this.commonProps,m=this.props,g=m.controlShouldRenderValue,v=m.isDisabled,y=m.isMulti,b=m.inputValue,k=m.placeholder,w=this.state,j=w.selectValue,z=w.focusedValue,S=w.isFocused;if(!this.hasValue()||!g)return b?null:x.createElement(p,ie({},h,{key:"placeholder",isDisabled:v,isFocused:S,innerProps:{id:this.getElementId("placeholder")}}),k);if(y)return j.map(function(B,D){var C=B===z,P="".concat(i.getOptionLabel(B),"-").concat(i.getOptionValue(B));return x.createElement(s,ie({},h,{components:{Container:l,Label:c,Remove:u},isFocused:C,isDisabled:v,key:P,index:D,removeProps:{onClick:function(){return i.removeValue(B)},onTouchEnd:function(){return i.removeValue(B)},onMouseDown:function(E){E.preventDefault()}},data:B}),i.formatOptionLabel(B,"value"))});if(b)return null;var f=j[0];return x.createElement(d,ie({},h,{data:f,isDisabled:v}),this.formatOptionLabel(f,"value"))}},{key:"renderClearIndicator",value:function(){var i=this.getComponents(),o=i.ClearIndicator,s=this.commonProps,l=this.props,c=l.isDisabled,u=l.isLoading,d=this.state.isFocused;if(!this.isClearable()||!o||c||!this.hasValue()||u)return null;var p={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:p,isFocused:d}))}},{key:"renderLoadingIndicator",value:function(){var i=this.getComponents(),o=i.LoadingIndicator,s=this.commonProps,l=this.props,c=l.isDisabled,u=l.isLoading,d=this.state.isFocused;if(!o||!u)return null;var p={"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:p,isDisabled:c,isFocused:d}))}},{key:"renderIndicatorSeparator",value:function(){var i=this.getComponents(),o=i.DropdownIndicator,s=i.IndicatorSeparator;if(!o||!s)return null;var l=this.commonProps,c=this.props.isDisabled,u=this.state.isFocused;return x.createElement(s,ie({},l,{isDisabled:c,isFocused:u}))}},{key:"renderDropdownIndicator",value:function(){var i=this.getComponents(),o=i.DropdownIndicator;if(!o)return null;var s=this.commonProps,l=this.props.isDisabled,c=this.state.isFocused,u={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:u,isDisabled:l,isFocused:c}))}},{key:"renderMenu",value:function(){var i=this,o=this.getComponents(),s=o.Group,l=o.GroupHeading,c=o.Menu,u=o.MenuList,d=o.MenuPortal,p=o.LoadingMessage,h=o.NoOptionsMessage,m=o.Option,g=this.commonProps,v=this.state.focusedOption,y=this.props,b=y.captureMenuScroll,k=y.inputValue,w=y.isLoading,j=y.loadingMessage,z=y.minMenuHeight,S=y.maxMenuHeight,f=y.menuIsOpen,B=y.menuPlacement,D=y.menuPosition,C=y.menuPortalTarget,P=y.menuShouldBlockScroll,I=y.menuShouldScrollIntoView,E=y.noOptionsMessage,L=y.onMenuScrollToTop,q=y.onMenuScrollToBottom;if(!f)return null;var U=function(V,G){var ee=V.type,X=V.data,oe=V.isDisabled,he=V.isSelected,pe=V.label,ge=V.value,ye=v===X,we=oe?void 0:function(){return i.onOptionHover(X)},Ae=oe?void 0:function(){return i.selectOption(X)},va="".concat(i.getElementId("option"),"-").concat(G),bi={id:va,onClick:Ae,onMouseMove:we,onMouseOver:we,tabIndex:-1};return x.createElement(m,ie({},g,{innerProps:bi,data:X,isDisabled:oe,isSelected:he,key:va,label:pe,type:ee,value:ge,isFocused:ye,innerRef:ye?i.getFocusedOptionRef:void 0}),i.formatOptionLabel(V.data,"menu"))},$;if(this.hasOptions())$=this.getCategorizedOptions().map(function(K){if(K.type==="group"){var V=K.data,G=K.options,ee=K.index,X="".concat(i.getElementId("group"),"-").concat(ee),oe="".concat(X,"-heading");return x.createElement(s,ie({},g,{key:X,data:V,options:G,Heading:l,headingProps:{id:oe,data:K.data},label:i.formatGroupLabel(K.data)}),K.options.map(function(he){return U(he,"".concat(ee,"-").concat(he.index))}))}else if(K.type==="option")return U(K,"".concat(K.index))});else if(w){var T=j({inputValue:k});if(T===null)return null;$=x.createElement(p,g,T)}else{var F=E({inputValue:k});if(F===null)return null;$=x.createElement(h,g,F)}var N={minMenuHeight:z,maxMenuHeight:S,menuPlacement:B,menuPosition:D,menuShouldScrollIntoView:I},Q=x.createElement(uee,ie({},g,N),function(K){var V=K.ref,G=K.placerProps,ee=G.placement,X=G.maxHeight;return x.createElement(c,ie({},g,N,{innerRef:V,innerProps:{onMouseDown:i.onMenuMouseDown,onMouseMove:i.onMenuMouseMove,id:i.getElementId("listbox")},isLoading:w,placement:ee}),x.createElement($te,{captureEnabled:b,onTopArrive:L,onBottomArrive:q,lockEnabled:P},function(oe){return x.createElement(u,ie({},g,{innerRef:function(pe){i.getMenuListRef(pe),oe(pe)},isLoading:w,maxHeight:X,focusedOption:v}),$)}))});return C||D==="fixed"?x.createElement(d,ie({},g,{appendTo:C,controlElement:this.controlRef,menuPlacement:B,menuPosition:D}),Q):Q}},{key:"renderFormField",value:function(){var i=this,o=this.props,s=o.delimiter,l=o.isDisabled,c=o.isMulti,u=o.name,d=o.required,p=this.state.selectValue;if(d&&!this.hasValue()&&!l)return x.createElement(Rte,{name:u,onFocus:this.onValueInputFocus});if(!(!u||l))if(c)if(s){var h=p.map(function(v){return i.getOptionValue(v)}).join(s);return x.createElement("input",{name:u,type:"hidden",value:h})}else{var m=p.length>0?p.map(function(v,y){return x.createElement("input",{key:"i-".concat(y),name:u,type:"hidden",value:i.getOptionValue(v)})}):x.createElement("input",{name:u,type:"hidden",value:""});return x.createElement("div",null,m)}else{var g=p[0]?this.getOptionValue(p[0]):"";return x.createElement("input",{name:u,type:"hidden",value:g})}}},{key:"renderLiveRegion",value:function(){var i=this.commonProps,o=this.state,s=o.ariaSelection,l=o.focusedOption,c=o.focusedValue,u=o.isFocused,d=o.selectValue,p=this.getFocusableOptions();return x.createElement(Ste,ie({},i,{id:this.getElementId("live-region"),ariaSelection:s,focusedOption:l,focusedValue:c,isFocused:u,selectValue:d,focusableOptions:p}))}},{key:"render",value:function(){var i=this.getComponents(),o=i.Control,s=i.IndicatorsContainer,l=i.SelectContainer,c=i.ValueContainer,u=this.props,d=u.className,p=u.id,h=u.isDisabled,m=u.menuIsOpen,g=this.state.isFocused,v=this.commonProps=this.getCommonProps();return x.createElement(l,ie({},v,{className:d,innerProps:{id:p,onKeyDown:this.onKeyDown},isDisabled:h,isFocused:g}),this.renderLiveRegion(),x.createElement(o,ie({},v,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:h,isFocused:g,menuIsOpen:m}),x.createElement(c,ie({},v,{isDisabled:h}),this.renderPlaceholderOrValue(),this.renderInput()),x.createElement(s,ie({},v,{isDisabled:h}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(i,o){var s=o.prevProps,l=o.clearFocusValueOnUpdate,c=o.inputIsHiddenAfterUpdate,u=o.ariaSelection,d=o.isFocused,p=o.prevWasFocused,h=i.options,m=i.value,g=i.menuIsOpen,v=i.inputValue,y=i.isMulti,b=jk(m),k={};if(s&&(m!==s.value||h!==s.options||g!==s.menuIsOpen||v!==s.inputValue)){var w=g?Jte(i,b):[],j=l?Xte(o,b):null,z=ene(o,w);k={selectValue:b,focusedOption:z,focusedValue:j,clearFocusValueOnUpdate:!1}}var S=c!=null&&i!==s?{inputIsHidden:c,inputIsHiddenAfterUpdate:void 0}:{},f=u,B=d&&p;return d&&!B&&(f={value:jc(y,b,b[0]||null),options:b,action:"initial-input-focus"},B=!p),(u==null?void 0:u.action)==="initial-input-focus"&&(f=null),ne(ne(ne({},k),S),{},{prevProps:i,ariaSelection:f,prevWasFocused:B})}}]),n}(x.Component);JB.defaultProps=Zte;var nne=x.forwardRef(function(t,e){var n=zJ(t);return x.createElement(JB,ie({ref:e},n))}),Gd=nne;const ane="_balance_17xkv_1",ine="_balanceSingleValue_17xkv_1",one="_dropdown_17xkv_11",rne="_select_17xkv_20",sne="_selectLabelText_17xkv_66",lne="_singleValueContainer_17xkv_70",cne="_valueContainer_17xkv_78",Za={balance:ane,balanceSingleValue:ine,dropdown:one,select:rne,selectLabelText:sne,singleValueContainer:lne,valueContainer:cne},une=t=>{const{hideAmounts:e}=x.useContext(mi),{label:n,coinCode:a,balance:i}=t.data;return r.jsx("div",{className:Za.singleValueContainer,children:r.jsx(Un.SingleValue,{...t,children:r.jsxs("div",{className:Za.valueContainer,children:[a?r.jsx(Ro,{coinCode:a,alt:a}):null,r.jsx("span",{className:Za.selectLabelText,children:n}),a&&i&&r.jsx("span",{className:Za.balanceSingleValue,children:e?`*** ${a}`:i})]})})})},dne=t=>{const{hideAmounts:e}=x.useContext(mi),{label:n,coinCode:a,balance:i}=t.data;return r.jsx(Un.Option,{...t,children:r.jsxs("div",{className:Za.valueContainer,children:[a?r.jsx(Ro,{coinCode:a,alt:a}):null,r.jsx("span",{className:Za.selectLabelText,children:n}),a&&i&&r.jsx("span",{className:Za.balance,children:e?`*** ${a}`:i})]})})},pne=t=>r.jsx(Un.DropdownIndicator,{...t,children:r.jsx("div",{className:Za.dropdown})}),XB=({title:t,disabled:e,options:n,selected:a,onChange:i,onProceed:o})=>{const{t:s}=A(),[l,c]=x.useState();return x.useEffect(()=>{c(n.find(u=>u.value===a))},[n,a]),r.jsxs(r.Fragment,{children:[r.jsx("h1",{className:"title text-center",children:t}),r.jsx(Gd,{className:Za.select,classNamePrefix:"react-select",components:{DropdownIndicator:pne,SingleValue:une,Option:dne,IndicatorSeparator:()=>null},value:a===""?{label:s("buy.info.selectLabel"),value:"choose",disabled:!0}:l,isSearchable:!1,onChange:u=>{const d=(u==null?void 0:u.value)||"";i(d)},isOptionDisabled:u=>u.disabled,options:[{label:s("buy.info.selectLabel")||"",value:"choose",disabled:!0},...n]}),r.jsx("div",{className:"buttons text-center",children:r.jsx(_,{primary:!0,onClick:o,disabled:!a||e,children:s("buy.info.next")})})]})},hne="_button_1riw8_1",mne={button:hne},Qd=()=>{const{t}=A(),{hideAmounts:e,toggleHideAmounts:n}=x.useContext(mi),a=me(Bt);return r.jsx(r.Fragment,{children:a&&a.frontend.allowHideAmounts?r.jsx(_,{className:mne.button,onClick:n,transparent:!0,children:e?r.jsxs(r.Fragment,{children:[r.jsx(X7,{})," ",r.jsx("span",{children:t("newSettings.appearance.hideAmounts.showAmounts")})]}):r.jsxs(r.Fragment,{children:[r.jsx(eK,{})," ",r.jsx("span",{children:t("newSettings.appearance.hideAmounts.hideAmounts")})]})}):null})},fne=({code:t,accounts:e})=>{const[n,a]=x.useState(t),[i,o]=x.useState(),[s,l]=x.useState(!1),{t:c}=A(),u=x.useCallback(async()=>{try{const b=(await Dg(e)).map(({name:k,code:w,coinCode:j})=>({label:`${k}`,value:w,coinCode:j,disabled:!1}));o(b),h(b)}catch(y){console.error(y)}},[e]),d=x.useCallback(async()=>{if(i!==void 0&&i.length===1){const y=i[0].value;if(!(await fl(y)).success)return;le(`/buy/exchange/${y}`)}},[i]),p=y=>{a(y)};x.useEffect(()=>{u()},[u]),x.useEffect(()=>{d()},[d,i]);const h=y=>{Promise.all(y.map(b=>Ur(b.value).then(k=>({...b,balance:`${k.available.amount} ${k.available.unit}`})))).then(b=>{o(b)})},m=async()=>{l(!0);try{if(!(await fl(n)).success)return}finally{l(!1)}le(`/buy/exchange/${n}`)};if(i===void 0)return r.jsx(Cn,{guideExists:!1,text:c("loading")});const g=Dd(e,t),v=Ad(c("buy.info.crypto"),g);return r.jsx(ln,{children:r.jsxs(Ma,{children:[r.jsxs(Oa,{children:[r.jsx(xe,{title:r.jsx("h2",{children:c("buy.info.title",{name:v})}),children:r.jsx(Qd,{})}),r.jsx(re,{width:"550px",verticallyCentered:!0,fullscreen:!1,children:r.jsx(ue,{children:i.length===0?r.jsx("div",{className:"content narrow isVerticallyCentered",children:c("accountSummary.noAccount")}):r.jsx(XB,{title:c("buy.title",{name:v}),disabled:s,options:i,selected:n,onChange:p,onProceed:m})})})]}),r.jsx(Pd,{name:v})]})})};const gne="_button_diw5d_1",vne={button:gne},e1=({onClick:t,...e})=>r.jsx("button",{onClick:t,...e,className:vne.button,children:r.jsx(W7,{})}),bne="_container_1ksto_17",kne="_paymentMethodContainer_1ksto_17",xne="_exchangeName_1ksto_21",yne="_infoButton_1ksto_25",wne="_outerContainer_1ksto_37",jne="_paymentMethodsContainer_1ksto_41",Bne="_paymentMethodName_1ksto_47",Sne="_radio_1ksto_67",zne="_radioLabel_1ksto_123",Cne="_text_1ksto_127",Sa={container:bne,paymentMethodContainer:kne,exchangeName:xne,infoButton:yne,outerContainer:wne,paymentMethodsContainer:jne,paymentMethodName:Bne,radio:Sne,radioLabel:zne,text:Cne},Dne=({methodName:t})=>{const{t:e}=A(),{isDarkMode:n}=Kn();switch(t){case"bank-transfer":return r.jsxs("span",{className:Sa.paymentMethodName,children:[n?r.jsx(V7,{}):r.jsx(F7,{}),e("buy.exchange.bankTransfer")]});case"card":return r.jsxs("span",{className:Sa.paymentMethodName,children:[n?r.jsx(H7,{}):r.jsx(q7,{}),e("buy.exchange.creditCard")]});default:return r.jsx(r.Fragment,{children:t})}},Ane=({deal:t})=>{const{t:e}=A();return r.jsxs("div",{className:Sa.paymentMethodContainer,children:[r.jsx(Dne,{methodName:t.payment}),r.jsxs("div",{children:[t.isBestDeal&&r.jsx(Vu,{type:"success",children:e("buy.exchange.bestDeal")}),t.isFast&&r.jsx(Vu,{type:"warning",children:e("buy.exchange.fast")})]})]})};function _ne({disabled:t=!1,id:e,children:n,checked:a,deals:i,onChange:o,exchangeName:s,onClickInfoButton:l,...c}){const u=()=>{t||o()},d=p=>{!t&&p.key==="Enter"&&o()};return r.jsxs("div",{className:Sa.outerContainer,children:[r.jsxs("span",{"aria-checked":a,onKeyDown:d,"aria-disabled":t,role:"radio",tabIndex:0,onClick:u,className:Sa.radio,children:[r.jsx("input",{checked:a,type:"radio",id:e,disabled:t,onChange:o,...c}),r.jsx("label",{className:Sa.radioLabel,htmlFor:e,children:r.jsxs("div",{className:Sa.container,children:[r.jsx("p",{className:[Sa.text,Sa.exchangeName].join(" "),children:cB(s)}),r.jsx("div",{className:Sa.paymentMethodsContainer,children:i.map(p=>r.jsx(Ane,{deal:p},p.payment))})]})})]}),r.jsx(e1,{onClick:()=>l(s)})]})}const Tne="_container_h94uh_1",t1={container:Tne},Ene=({cardFee:t,bankTransferFee:e})=>{const{t:n}=A(),a=t&&t*100,i=e&&e*100;return r.jsxs("div",{className:t1.container,children:[r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.supportedCurrencies")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://support.moonpay.com/hc/en-gb/articles/360011931457-Which-fiat-currencies-are-supported-",children:n("buy.exchange.infoContent.moonpay.fullCurrenciesList")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:n("buy.exchange.infoContent.moonpay.payment.title")})}),r.jsx("br",{}),r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.payment.creditDebitCard")}),r.jsx("ul",{children:r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.creditDebitCardDetails.cards")})}),r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransfer")}),r.jsxs("ul",{children:[r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.sepa")}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.uk")}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.pix")})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("i",{children:n("buy.exchange.infoContent.moonpay.payment.asteriskText")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://support.moonpay.com/hc/en-gb/articles/4406210084113-What-payment-methods-do-you-support-",children:n("buy.exchange.infoContent.moonpay.payment.learnMore")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:n("buy.exchange.infoContent.moonpay.fees.title")})}),r.jsxs("ul",{children:[r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.fees.creditDebitCard",{fee:a})}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.fees.bankTransfer",{fee:i})})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://www.moonpay.com/",children:n("buy.exchange.infoContent.moonpay.fees.learnMore")})})]})},Pne=({bankTransferFee:t})=>{const{t:e}=A(),n=t&&t*100;return r.jsxs("div",{className:t1.container,children:[r.jsx("p",{children:e("buy.exchange.infoContent.pocket.supportedCurrencies")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.payment.title")})}),r.jsx("br",{}),r.jsx("p",{children:e("buy.exchange.infoContent.pocket.payment.bankTransfer")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.sepa")}),r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.uk")}),r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.sic")})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq/how-do-I-set-up-my-standing-order",children:e("buy.exchange.infoContent.pocket.payment.bankTransferReccuring")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.verification.title")})}),r.jsx("br",{}),r.jsx("p",{children:e("buy.exchange.infoContent.pocket.verification.info")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq/are-there-any-limits-with-pocket",children:e("buy.exchange.infoContent.pocket.verification.link")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.fees.title")})}),r.jsx("ul",{children:r.jsx("li",{children:e("buy.exchange.infoContent.pocket.fees.info",{fee:n})})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/",children:e("buy.exchange.infoContent.pocket.learnMore")})})]})},Nne=()=>{const{t}=A();return r.jsx("div",{children:r.jsx("p",{children:t("buy.exchange.infoContent.region.title")})})},Lne=({info:t,cardFee:e,bankTransferFee:n})=>{switch(t){case"moonpay":return r.jsx(Ene,{cardFee:e,bankTransferFee:n});case"pocket":return r.jsx(Pne,{bankTransferFee:n});case"region":return r.jsx(Nne,{})}return r.jsx(r.Fragment,{})},Ine="_buttonBack_62uya_17",$ne="_buttonsContainer_62uya_21",Mne="_container_62uya_27",One="_exchangeContainer_62uya_31",Rne="_header_62uya_44",Fne="_selectContainer_62uya_49",Vne="_label_62uya_62",Wne="_noExchangeText_62uya_69",Une="_radioButtonsContainer_62uya_77",qne="_title_62uya_81",wi={buttonBack:Ine,buttonsContainer:$ne,container:Mne,exchangeContainer:One,header:Rne,selectContainer:Fne,label:Vne,noExchangeText:Wne,radioButtonsContainer:Une,title:qne},Hne="_dropdown_9chnx_1",Kne="_flag_9chnx_10",Gne="_globe_9chnx_14",Qne="_optionsContainer_9chnx_20",Yne="_select_9chnx_25",Zne="_selectLabelText_9chnx_59",Jne="_singleValueContainer_9chnx_64",ai={dropdown:Hne,flag:Kne,globe:Gne,optionsContainer:Qne,select:Yne,selectLabelText:Zne,singleValueContainer:Jne},n1=({regionCode:t})=>{const{isDarkMode:e}=Kn(),n=e?r.jsx(aK,{className:ai.globe}):r.jsx(nK,{className:ai.globe});return r.jsx("span",{children:t===""?n:r.jsx("span",{className:`fi fi-${t} ${ai.flag}`})})},Xne=t=>{const{label:e,value:n}=t.data;return r.jsxs("div",{className:ai.singleValueContainer,children:[r.jsx(n1,{regionCode:n.toLowerCase()}),r.jsx(Un.SingleValue,{...t,children:r.jsx("span",{className:ai.selectLabelText,children:e})})]})},eae=t=>{const{label:e,value:n}=t.data;return r.jsx(Un.Option,{...t,children:r.jsxs("div",{className:ai.optionsContainer,children:[r.jsx(n1,{regionCode:n.toLowerCase()}),r.jsx("span",{className:ai.selectLabelText,children:e})]})})},tae=t=>r.jsx(Un.DropdownIndicator,{...t,children:r.jsx("div",{className:ai.dropdown})}),nae=({onChangeRegion:t,regions:e,selectedRegion:n})=>{const{t:a}=A(),i=new Intl.DisplayNames([se.language],{type:"region"}).of(n)||"",o=n===""?a("buy.exchange.selectRegion"):i;return r.jsx(Gd,{className:ai.select,classNamePrefix:"react-select",components:{DropdownIndicator:tae,SingleValue:Xne,Option:eae,IndicatorSeparator:()=>null},defaultValue:{label:o,value:n},isSearchable:!0,onChange:s=>t(s),options:[{label:a("buy.exchange.selectRegion")||"",value:""},...e]})},aae=({code:t,accounts:e})=>{var $,T,F;const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),[l,c]=x.useState(""),[u,d]=x.useState(""),[p,h]=x.useState([]),[m,g]=x.useState(),[v,y]=x.useState(),[b,k]=x.useState([]),w=me(GZ(t)),j=me(QZ),z=me(hj),S=me(zg(t)),f=me(Bt),B=Dd(e,t),D=Ad(n("buy.info.crypto"),B),C=m?m.exchanges.filter(N=>N.supported).length===1:!1;x.useEffect(()=>{Dg(e).then(k)},[e]),x.useEffect(()=>{if(!w||!f)return;const N=new Intl.DisplayNames([se.language],{type:"region"})||"",Q=w.regions.map(G=>({value:G.code,label:N.of(G.code)}));if(Q.sort((G,ee)=>G.label.localeCompare(ee.label,se.language)),h(Q),f.frontend.selectedExchangeRegion==="")return;if(f.frontend.selectedExchangeRegion){c(f.frontend.selectedExchangeRegion);return}const K=RH(z||""),V=!!w.regions.find(G=>G.code===K);c(V?K:"")},[w,f,z]),x.useEffect(()=>{if(!j)return;const N={exchanges:j.exchanges.map(V=>({...V,supported:V.exchangeName==="pocket"?a:o}))},Q=jJ(N),K=BJ(N,Q);g(K)},[l,o,a,j]),x.useEffect(()=>{if(C&&m&&l!==""){const N=m.exchanges.filter(Q=>Q.supported);d(N[0].exchangeName)}},[C,m,l]),x.useEffect(()=>{if(d(""),!S){i(!1),s(!1);return}if(l===""){i(S.exchanges.includes("pocket")),s(S.exchanges.includes("moonpay"));return}w&&(i(!1),s(!1),w.regions.forEach(N=>{if(N.code===l){i(N.isPocketEnabled),s(N.isMoonpayEnabled);return}}))},[l,w,S]);const P=()=>{u&&le(`/buy/${u}/${t}`)},I=N=>{if(N){const Q=N.value;c(Q),at({frontend:{selectedExchangeRegion:Q}})}},E=!o&&!a,L=($=j==null?void 0:j.exchanges.find(N=>N.exchangeName===v))==null?void 0:$.deals,q=L&&((T=L.find(N=>N.payment==="card"))==null?void 0:T.fee),U=L&&((F=L.find(N=>N.payment==="bank-transfer"))==null?void 0:F.fee);return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(qe,{medium:!0,title:v&&v!=="region"?cB(v):n("buy.exchange.region"),onClose:()=>y(void 0),open:!!v,children:v&&r.jsx(Lne,{info:v,cardFee:q,bankTransferFee:U})}),r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("buy.exchange.title",{name:D})})}),r.jsxs("div",{className:[wi.exchangeContainer,"content","narrow","isVerticallyCentered"].join(" "),children:[r.jsx("h1",{className:wi.title,children:n("buy.title",{name:D})}),r.jsx("p",{className:wi.label,children:n("buy.exchange.region")}),p.length?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:wi.selectContainer,children:[r.jsx(nae,{onChangeRegion:I,regions:p,selectedRegion:l}),r.jsx(e1,{onClick:()=>y("region")})]}),r.jsxs("div",{className:wi.radioButtonsContainer,children:[E&&r.jsx("p",{className:wi.noExchangeText,children:n("buy.exchange.noExchanges")}),r.jsx("div",{children:!E&&m&&m.exchanges.map(N=>N.supported&&r.jsx(_ne,{id:N.exchangeName,exchangeName:N.exchangeName,deals:N.deals,checked:u===N.exchangeName,onChange:()=>d(N.exchangeName),onClickInfoButton:y},N.exchangeName))}),!E&&r.jsxs("div",{className:wi.buttonsContainer,children:[b.length>1&&r.jsx(_,{className:wi.buttonBack,secondary:!0,onClick:()=>le("/buy/info"),children:n("button.back")}),r.jsx(_,{primary:!0,disabled:!u,onClick:P,children:n("button.next")})]})]})]}):r.jsx(Cn,{guideExists:!0})]})]})]}),r.jsx(Pd,{name:D})]})};var Xn={},dn={};Object.defineProperty(dn,"__esModule",{value:!0});dn.isOneOf=dn.isLiteral=dn.isNullish=dn.isBoolean=dn.isString=dn.isObject=void 0;function iae(t){return Object(t)===t}dn.isObject=iae;function oae(t){return typeof t=="string"}dn.isString=oae;function rae(t){return typeof t=="boolean"}dn.isBoolean=rae;function sae(t){return t==null}dn.isNullish=sae;function lae(t,e){return t===e}dn.isLiteral=lae;function cae(t,...e){return e.some(n=>n===t)}dn.isOneOf=cae;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.parseMessage=t.serializeMessage=t.V0MessageScriptType=t.V0MessageType=t.MessageVersion=void 0;const e=dn;var n;(function(l){l.V0="0"})(n=t.MessageVersion||(t.MessageVersion={}));var a;(function(l){l.RequestAddress="requestAddress",l.RequestExtendedPublicKey="requestExtendedPublicKey",l.VerifyAddress="verifyAddress",l.Address="address",l.ExtendedPublicKey="extendedPublicKey"})(a=t.V0MessageType||(t.V0MessageType={}));var i;(function(l){l.P2PKH="p2pkh",l.P2WPKH="p2wpkh",l.P2SH="p2sh",l.P2TR="p2tr"})(i=t.V0MessageScriptType||(t.V0MessageScriptType={}));function o(l){return JSON.stringify(l)}t.serializeMessage=o;function s(l){let c=l;if(typeof c=="string")try{c=JSON.parse(c)}catch{throw new Error("could not parse as json")}if(!(0,e.isObject)(c))throw new Error("not an object");const{version:u}=c;if((0,e.isLiteral)(u,n.V0)){const{type:d}=c;if(!(0,e.isOneOf)(d,...Object.values(a)))throw new Error("invalid type");if(d===a.RequestAddress){const{withMessageSignature:p}=c;if(!(0,e.isString)(p)&&!(0,e.isNullish)(p))throw new Error("message signature indicator invalid");const{withExtendedPublicKey:h}=c;if(!(0,e.isBoolean)(h)&&!(0,e.isNullish)(h))throw new Error("extended public key indicator invalid");const{withScriptType:m}=c;if(!(0,e.isOneOf)(m,...Object.values(i))&&!(0,e.isNullish)(m))throw new Error("script type indicator invalid");return{version:u,type:d,withMessageSignature:p,withExtendedPublicKey:h,withScriptType:m}}else if(d===a.RequestExtendedPublicKey){const{withScriptType:p}=c;if(!(0,e.isOneOf)(p,...Object.values(i))&&!(0,e.isNullish)(p))throw new Error("script type indicator invalid");return{version:u,type:d,withScriptType:p}}else if(d===a.VerifyAddress){const{bitcoinAddress:p}=c;if(!(0,e.isString)(p))throw new Error("bitcoin address missing");return{version:u,type:d,bitcoinAddress:p}}else if(d===a.Address){const{bitcoinAddress:p}=c;if(!(0,e.isString)(p))throw new Error("bitcoin address missing");const{signature:h}=c;if(!(0,e.isString)(h)&&!(0,e.isNullish)(h))throw new Error("signature invalid");const{extendedPublicKey:m}=c;if(!(0,e.isString)(m)&&!(0,e.isNullish)(m))throw new Error("extended public key invalid");return{version:u,type:d,bitcoinAddress:p,signature:h,extendedPublicKey:m}}else if(d===a.ExtendedPublicKey){const{extendedPublicKey:p}=c;if(!(0,e.isString)(p))throw new Error("extended public key missing");return{version:u,type:d,extendedPublicKey:p}}else throw new Error("unsupported type")}throw new Error("unsupported version")}t.parseMessage=s})(Xn);const uae="_overlay_12k4v_1",dae="_activeOverlay_12k4v_16",pae="_modal_12k4v_20",hae="_activeModal_12k4v_32",mae="_active_12k4v_16",fae="_small_12k4v_38",gae="_medium_12k4v_43",vae="_large_12k4v_49",bae="_header_12k4v_54",kae="_centered_12k4v_64",xae="_title_12k4v_68",yae="_closeButton_12k4v_74",wae="_contentContainer_12k4v_95",jae="_slim_12k4v_101",Bae="_padded_12k4v_105",Sae="_content_12k4v_95",zae="_actions_12k4v_113",Cae="_confirmationLabel_12k4v_131",Dae="_confirmationLabelNumber_12k4v_140",Aae="_disabledLabel_12k4v_146",_ae="_noStep_12k4v_151",Tae="_confirmationInstructions_12k4v_155",Eae="_confirm_12k4v_131",Pae="_image_12k4v_175",Nae="_modalContent_12k4v_180",Lae="_detail_12k4v_189",Iae="_description_12k4v_213",$ae="_buttons_12k4v_217",Mae="_dialogButtons_12k4v_229",ft={overlay:uae,activeOverlay:dae,modal:pae,activeModal:hae,active:mae,small:fae,medium:gae,large:vae,header:bae,centered:kae,title:xae,closeButton:yae,contentContainer:wae,slim:jae,padded:Bae,content:Sae,actions:zae,confirmationLabel:Cae,confirmationLabelNumber:Dae,disabledLabel:Aae,noStep:_ae,confirmationInstructions:Tae,confirm:Eae,image:Pae,modalContent:Nae,detail:Lae,description:Iae,buttons:$ae,dialogButtons:Mae};class fa extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.modalContent=x.createRef(),this.state={active:!1,currentTab:0},this.handleFocus=e=>{const a=e.target.getAttribute("index");this.setState({currentTab:Number(a)})},this.focusWithin=()=>{if(this.modalContent.current){this.focusableChildren=this.modalContent.current.querySelectorAll("a, button, input, textarea");const e=Array.from(this.focusableChildren);for(const n of e)n.classList.add("tabbable"),n.setAttribute("index",e.indexOf(n).toString()),n.addEventListener("focus",this.handleFocus);document.addEventListener("keydown",this.handleKeyDown)}},this.focusFirst=()=>{const e=this.focusableChildren;e.length&&e[0].getAttribute("autofocus")!=="false"&&e[0].focus()},this.updateIndex=e=>{const n=this.getNextIndex(e);this.setState({currentTab:n},()=>{this.focusableChildren[n].focus()})},this.handleKeyDown=e=>{const{disableEscape:n}=this.props,a=e.keyCode===27,i=e.keyCode===9;!n&&a?this.deactivate():i&&e.preventDefault(),i&&e.shiftKey?this.updateIndex(!1):i&&this.updateIndex(!0)},this.deactivate=()=>{!this.modal.current||!this.overlay.current||(this.modal.current.classList.remove(ft.activeModal),this.overlay.current.classList.remove(ft.activeOverlay),this.setState({active:!1,currentTab:0},()=>{document.removeEventListener("keydown",this.handleKeyDown),this.props.onClose&&this.props.onClose()}))},this.activate=()=>{this.setState({active:!0},()=>{!this.modal.current||!this.overlay.current||(this.overlay.current.classList.add(ft.activeOverlay),this.modal.current.classList.add(ft.activeModal),this.focusWithin(),this.focusFirst())})}}componentDidMount(){setTimeout(this.activate,10)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}getNextIndex(e){const{currentTab:n}=this.state,a=Array.from(this.focusableChildren),i=e?a:a.reverse(),o=e?n:i.length-1-n;let s=e?n+1:i.length-n;return s=i.findIndex((l,c)=>c>=s&&!l.hasAttribute("disabled")),s=s<0?i.findIndex((l,c)=>c<=o&&!l.hasAttribute("disabled")):s,e?s:i.length-1-s}render(){const{title:e,small:n,medium:a,large:i,slim:o,centered:s,onClose:l,disabledClose:c,children:u}=this.props,d=n?ft.small:"",p=a?ft.medium:"",h=i?ft.large:"",m=o?ft.slim:"",g=s&&!l?ft.centered:"";return r.jsx("div",{className:ft.overlay,ref:this.overlay,children:r.jsxs("div",{className:[ft.modal,d,p,h].join(" "),ref:this.modal,children:[e&&r.jsxs("div",{className:[ft.header,g].join(" "),children:[r.jsx("h3",{className:ft.title,children:e}),l?r.jsxs("button",{className:ft.closeButton,onClick:this.deactivate,disabled:c,children:[r.jsx(jj,{className:"show-in-lightmode"}),r.jsx(El,{className:"show-in-darkmode"})]}):null]}),r.jsx("div",{className:[ft.contentContainer,m].join(" "),ref:this.modalContent,children:r.jsx("div",{className:ft.content,children:u})})]})})}}function so({children:t}){return r.jsx("div",{className:ft.dialogButtons,children:t})}let Vo;const Oae=()=>{const[t,e]=x.useState({active:!1}),{t:n}=A(),a=x.useRef(()=>{});Vo=(c,u,d)=>{a.current=u,e({active:!0,message:c,customButtonText:d})};const i=c=>{a.current(c),e({active:!1})},{message:o,active:s,customButtonText:l}=t;return s?r.jsxs(fa,{title:n("dialog.confirmTitle"),onClose:()=>i(!1),children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsx("div",{className:"column",children:o?o.split(` -`).map((c,u)=>r.jsx("p",{className:u===0?"first":"",children:r.jsx(Qe,{tagName:"span",markup:c})},u)):null})})}),r.jsxs(so,{children:[r.jsx(_,{primary:!0,onClick:()=>i(!0),children:l||n("dialog.confirm")}),r.jsx(_,{secondary:!0,onClick:()=>i(!1),children:n("dialog.cancel")})]})]}):null},Rae=({onAgreedTerms:t})=>{const{t:e}=A(),n=a=>{at({frontend:{skipPocketDisclaimer:a.target.checked}})};return r.jsxs("div",{className:Kt.disclaimerContainer,children:[r.jsxs("div",{className:Kt.disclaimer,children:[r.jsx("h2",{className:Kt.title,children:e("buy.pocket.welcome.title")}),r.jsx("p",{children:e("buy.pocket.welcome.p1")}),r.jsx("p",{children:e("buy.pocket.welcome.p2")}),r.jsx("p",{children:e("buy.pocket.welcome.p3")}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.payment.title")}),r.jsx("p",{children:e("buy.pocket.payment.p1")}),r.jsx("p",{children:e("buy.pocket.payment.p2")}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.security.title")}),r.jsx("p",{children:e("buy.pocket.security.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://bitbox.swiss/bitbox02/threat-model/",children:e("buy.pocket.security.link")})}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.kyc.title")}),r.jsx("p",{children:e("buy.pocket.kyc.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq",children:e("buy.pocket.kyc.link")})}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.data.title")}),r.jsx("p",{children:e("buy.pocket.data.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/policy/privacy",children:e("buy.pocket.data.link")})})]}),r.jsx("div",{className:"text-center m-bottom-quarter",children:r.jsx(Ve,{id:"skip_disclaimer",label:e("buy.info.skip"),onChange:n})}),r.jsx("div",{className:"buttons text-center m-bottom-xlarge",children:r.jsx(_,{primary:!0,onClick:t,children:e("buy.info.continue")})})]})},Fae=({code:t})=>{const{t:e}=A(),[n,a]=x.useState(0),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),d=me(XZ),p=me(Bt),h=me(Jj(t)),m=x.createRef(),g=x.createRef();let v=!1,y;const b="Bitcoin";x.useEffect(()=>{p&&l(p.frontend.skipPocketDisclaimer)},[p]),x.useEffect(()=>(k(),window.addEventListener("resize",k),window.addEventListener("message",B),()=>{window.removeEventListener("resize",k),window.removeEventListener("message",B)}));const k=()=>{y&&clearTimeout(y),y=setTimeout(()=>{m.current&&a(m.current.offsetHeight)},200)},w=(D,C)=>{var E;const{current:P}=g;if(!P)return;const I=Xn.serializeMessage({version:Xn.MessageVersion.V0,type:Xn.V0MessageType.Address,bitcoinAddress:D,signature:C});(E=P.contentWindow)==null||E.postMessage(I,"*")},j=D=>{v=!0;const C=D.withScriptType?String(D.withScriptType):"",P=D.withMessageSignature?D.withMessageSignature:"";ZZ(C,P,t).then(I=>{v=!1,I.success?w(I.address,I.signature):I.errorCode!=="userAbort"&&(J(e("unknownError",{errorMessage:I.errorMessage})),console.log("error: "+I.errorMessage))})},z=D=>{u(!0),JZ(D,t).then(C=>{u(!1),C.success||(C.errorCode==="addressNotFound"?J(e("buy.pocket.usedAddress",{address:D})):(J(e("unknownError",{errorMessage:C.errorMessage})),console.log("error: "+C.errorMessage)))})},S=()=>{var D;if(h){const C=h.signingConfigurations[0].bitcoinSimple;if(C){const P=C.keyInfo.xpub,{current:I}=g;if(!I)return;const E=Xn.serializeMessage({version:Xn.MessageVersion.V0,type:Xn.V0MessageType.ExtendedPublicKey,extendedPublicKey:P});(D=I.contentWindow)==null||D.postMessage(E,"*")}}},f=()=>{eB(t).then(D=>{if(!D.success){J(e("transactions.errorLoadTransactions"));return}D.list.length>0?Vo(e("buy.pocket.previousTransactions"),C=>{C&&S()}):S()})},B=D=>{if(!(!d||!t)&&D.origin===new URL(d).origin)try{const C=Xn.parseMessage(D.data);switch(C.type){case Xn.V0MessageType.RequestAddress:v||j(C);break;case Xn.V0MessageType.VerifyAddress:c||z(C.bitcoinAddress);break;case Xn.V0MessageType.RequestExtendedPublicKey:f()}}catch(C){console.log(C)}};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx("div",{className:Pr.header,children:r.jsx(xe,{title:r.jsx("h2",{children:e("buy.info.title",{name:b})})})}),r.jsxs("div",{ref:m,className:Pr.container,children:[s?r.jsxs("div",{style:{height:n},children:[!i&&r.jsx(Cn,{guideExists:!1,text:e("loading")}),r.jsx("iframe",{onLoad:()=>{o(!0)},ref:g,title:"Pocket",width:"100%",height:n,frameBorder:"0",className:Pr.iframe,allow:"camera; payment",src:d})]}):r.jsx(Rae,{onAgreedTerms:()=>l(!0)}),r.jsx(qe,{open:c,title:e("receive.verifyBitBox02"),disableEscape:!0,medium:!0,centered:!0,children:r.jsx("div",{className:"text-center",children:e("buy.pocket.verifyBitBox02")})})]})]}),r.jsx(Pd,{name:b,exchange:"pocket"})]})},Fg=t=>{x.useEffect(()=>{const e=n=>{n.key==="Escape"&&t()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t])},Vae="_button_1djzh_1",Wae="_success_1djzh_34",Uae="_container_1djzh_38",qae="_inputField_1djzh_42",Hae="_flexibleHeight_1djzh_72",Kae="_alignLeft_1djzh_76",Gae="_alignRight_1djzh_80",Qae="_borderLess_1djzh_84",ji={button:Vae,success:Wae,container:Uae,inputField:qae,flexibleHeight:Hae,alignLeft:Kae,alignRight:Gae,borderLess:Qae},Ia=({alignLeft:t,alignRight:e,borderLess:n,value:a,className:i,disabled:o,flexibleHeight:s})=>{const[l,c]=x.useState(!1),{t:u}=A(),d=x.useRef(null);x.useEffect(()=>{p()},[]),x.useEffect(()=>{l&&setTimeout(()=>c(!1),1500)},[l]);const p=()=>{const g=d.current;if(!g)return;const v=window.getComputedStyle(g,null).getPropertyValue("font-size"),y=Number(v.replace("px",""))+2;g.setAttribute("rows","1"),g.setAttribute("rows",String(Math.round(g.scrollHeight/y-2)))},h=g=>{g.currentTarget.focus()},m=()=>{var g;(g=d.current)==null||g.select(),document.execCommand("copy")&&c(!0)};return r.jsxs("div",{className:["flex flex-row flex-start flex-items-start",ji.container,i||""].join(" "),children:[r.jsx("textarea",{disabled:o,readOnly:!0,onFocus:h,value:a,ref:d,rows:1,className:[ji.inputField,s&&ji.flexibleHeight,t&&ji.alignLeft,e&&ji.alignRight,n&&ji.borderLess].join(" ")}),o?null:r.jsx("button",{onClick:m,className:[ji.button,l&&ji.success,"ignore"].join(" "),title:u("button.copy"),children:l?r.jsx(yj,{}):r.jsx(K7,{})})]})},Yae="_empty_gzy3c_1",Ok={empty:Yae},Ja=({data:t,size:e=256})=>{const n=me(t!==void 0?BQ(t):null,[t]);return n?n.success?r.jsx("img",{width:e,height:e,src:n.data}):r.jsx("div",{children:n.message}):t!==void 0?r.jsx("div",{className:Ok.empty}):r.jsx("svg",{className:Ok.empty,style:{verticalAlign:"middle",fill:"currentColor",overflow:"hidden"},viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:r.jsx("path",{d:"M433.282171 47.939849 94.944396 47.939849c-23.327288 0-42.304502 18.975167-42.304502 42.300408l0 338.341868c0 23.324218 18.977213 42.300408 42.304502 42.300408L433.282171 470.882534c23.324218 0 42.300408-18.97619 42.300408-42.300408L475.582579 90.240257C475.581556 66.915016 456.606389 47.939849 433.282171 47.939849zM438.742533 428.582125c0 3.01159-2.449795 5.461385-5.461385 5.461385L94.944396 434.04351c-3.013637 0-5.465478-2.450818-5.465478-5.461385L89.478917 90.240257c0-3.01159 2.451842-5.461385 5.465478-5.461385L433.282171 84.778872c3.01159 0 5.461385 2.449795 5.461385 5.461385L438.743556 428.582125zM322.914504 173.887352l-117.608581 0c-14.733563 0-26.719548 11.985986-26.719548 26.719548l0 117.608581c0 14.735609 11.985986 26.724665 26.719548 26.724665l117.608581 0c14.735609 0 26.724665-11.989055 26.724665-26.724665l0-117.608581C349.640192 185.873338 337.651137 173.887352 322.914504 173.887352zM312.801169 308.101123l-97.374748 0 0-97.374748 97.374748 0L312.801169 308.101123zM322.914504 675.606195l-117.608581 0c-14.733563 0-26.719548 11.989055-26.719548 26.724665l0 117.608581c0 14.732539 11.985986 26.719548 26.719548 26.719548l117.608581 0c14.735609 0 26.724665-11.987009 26.724665-26.719548l0-117.608581C349.640192 687.59525 337.651137 675.606195 322.914504 675.606195zM312.801169 809.819966l-97.374748 0 0-97.374748 97.374748 0L312.801169 809.819966zM699.123818 344.940147l117.608581 0c14.735609 0 26.724665-11.989055 26.724665-26.724665l0-117.608581c0-14.733563-11.989055-26.719548-26.724665-26.719548l-117.608581 0c-14.732539 0-26.719548 11.985986-26.719548 26.719548l0 117.608581C672.40427 332.951091 684.391279 344.940147 699.123818 344.940147zM709.243293 210.726376l97.374748 0 0 97.374748-97.374748 0L709.243293 210.726376zM433.282171 546.435277 94.944396 546.435277c-23.327288 0-42.304502 18.97619-42.304502 42.300408L52.639894 927.077553c0 23.325241 18.977213 42.301432 42.304502 42.301432L433.282171 969.378985c23.324218 0 42.300408-18.97619 42.300408-42.301432L475.582579 588.735685C475.581556 565.411467 456.606389 546.435277 433.282171 546.435277zM438.742533 927.077553c0 3.01159-2.449795 5.462408-5.461385 5.462408L94.944396 932.539962c-3.013637 0-5.465478-2.450818-5.465478-5.462408L89.478917 588.735685c0-3.010567 2.451842-5.461385 5.465478-5.461385L433.282171 583.2743c3.01159 0 5.461385 2.450818 5.461385 5.461385L438.743556 927.077553zM590.849836 547.776831c-23.325241 0-42.301432 18.978237-42.301432 42.305525l0 194.649212c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512L585.387427 590.082356c0-3.013637 2.450818-5.466502 5.462408-5.466502l204.825992 0c10.172687 0 18.419512-8.246825 18.419512-18.419512s-8.246825-18.419512-18.419512-18.419512L590.849836 547.776831zM588.757175 470.882534l338.341868 0c23.325241 0 42.301432-18.97619 42.301432-42.300408L969.400474 90.240257c0-23.324218-18.97619-42.300408-42.301432-42.300408L588.757175 47.939849c-23.324218 0-42.300408 18.975167-42.300408 42.300408l0 338.341868C546.456766 451.906343 565.432956 470.882534 588.757175 470.882534zM583.295789 90.240257c0-3.01159 2.450818-5.461385 5.461385-5.461385l338.341868 0c3.01159 0 5.462408 2.449795 5.462408 5.461385l0 338.341868c0 3.01159-2.450818 5.461385-5.462408 5.461385L588.757175 434.04351c-3.010567 0-5.461385-2.450818-5.461385-5.461385L583.295789 90.240257zM969.676767 566.196343c0-10.172687-8.246825-18.419512-18.419512-18.419512l-67.50444 0c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l49.084928 0 0 71.009264L779.708158 655.625118c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l171.549098 0c10.172687 0 18.419512-8.246825 18.419512-18.419512 0-0.076748-0.010233-0.151449-0.011256-0.228197 0.001023-0.076748 0.011256-0.150426 0.011256-0.228197L969.676767 566.196343zM630.202099 933.142689l-44.813648 0 0-51.2922c0-10.172687-8.246825-18.419512-18.419512-18.419512s-18.419512 8.246825-18.419512 18.419512l0 69.711711c0 10.172687 8.246825 18.419512 18.419512 18.419512l63.23316 0c10.172687 0 18.419512-8.246825 18.419512-18.419512S640.374786 933.142689 630.202099 933.142689zM834.04981 790.359752c0-10.172687-8.246825-18.419512-18.419512-18.419512L699.257871 771.940241c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 163.013701c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512L717.677383 808.779264 815.630299 808.779264C825.802986 808.779264 834.04981 800.532439 834.04981 790.359752zM951.060781 723.425294c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 194.301288L765.943666 936.146093c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l185.117115 0c10.172687 0 18.419512-8.246825 18.419512-18.419512L969.480292 741.844805C969.480292 731.672118 961.234491 723.425294 951.060781 723.425294zM655.979182 623.620194c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 59.869552c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512l0-59.869552C674.398694 631.867018 666.151869 623.620194 655.979182 623.620194z"})})},Zae="_title_nnme6_1",Jae="_nextButton_nnme6_6",Xae="_details_nnme6_17",eie="_qrCode_nnme6_22",tie="_address_nnme6_32",nie="_buttons_nnme6_35",aie="_verifyButton_nnme6_42",iie="_entry_nnme6_46",oie="_xPubInfo_nnme6_55",rie="_infoContent_nnme6_82",sie="_largeEntry_nnme6_86",lie="_addressField_nnme6_96",Ht={title:Zae,nextButton:Jae,details:Xae,qrCode:eie,address:tie,buttons:nie,verifyButton:aie,entry:iie,xPubInfo:oie,infoContent:rie,largeEntry:sie,addressField:lie},cie=({account:t,info:e,code:n,signingConfigIndex:a,children:i})=>{const{t:o}=A(),[s,l]=x.useState(!1),u=(()=>e.bitcoinSimple!==void 0?e.bitcoinSimple:e.ethereumSimple)(),d=La(t.coinCode);return r.jsxs("div",{className:Ht.address,children:[r.jsx("div",{className:Ht.qrCode,children:d?r.jsx(Ja,{data:u.keyInfo.xpub}):null}),r.jsxs("div",{className:Ht.details,children:[t.isToken?null:r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[o("accountSummary.name"),":"]}),r.jsx("span",{children:t.name})]},"accountname"),r.jsxs("div",{className:Ht.entry,children:[r.jsx("strong",{children:"Keypath:"}),r.jsx("code",{children:u.keyInfo.keypath})]},"keypath"),"scriptType"in u?r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[o("accountInfo.scriptType"),":"]}),r.jsx("span",{children:Td(u.scriptType)})]},"scriptName"):null,r.jsxs("div",{className:Ht.entry,children:[r.jsx("strong",{children:"Root fingerprint:"}),r.jsx("code",{children:u.keyInfo.rootFingerprint})]},"rootFingerprint"),r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[t.isToken?"Token":"Coin",":"]}),r.jsxs("span",{children:[t.coinName," (",t.coinUnit,")"]})]},"coinName"),d?r.jsxs("div",{className:`${Ht.entry} ${Ht.largeEntry}`,children:[r.jsxs("strong",{className:"m-right-half",children:[o("accountInfo.extendedPublicKey"),":"]}),r.jsx(Ia,{className:"flex-grow",alignLeft:!0,flexibleHeight:!0,value:u.keyInfo.xpub})]},"xpub"):null]}),r.jsxs("div",{className:Ht.buttons,children:[d?r.jsx(_,{className:Ht.verifyButton,primary:!0,disabled:s,onClick:async()=>{l(!0);try{const p=await JQ(n,a);p.success||J(p.errorMessage)}finally{l(!1)}},children:o("accountInfo.verify")}):r.jsx(_,{className:Ht.verifyButton,primary:!0,onClick:()=>le(`/account/${n}/receive`),children:o("receive.verify")}),i]})]})};function uie({coinName:t}){const{t:e}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:e("guide.accountInfo.xpub"),shown:!0},"guide.accountInfo.xpub"),r.jsx(W,{entry:{text:e("guide.accountInfo.multipleXPubs.text",{coinName:t}),title:e("guide.accountInfo.multipleXPubs.title")}},"guide.accountInfo.multipleXPubs"),r.jsx(W,{entry:e("guide.accountInfo.privacy")},"guide.accountInfo.privacy"),r.jsx(W,{entry:e("guide.accountInfo.verify")},"guide.accountInfo.verify")]})}const die=({accounts:t,code:e})=>{const{t:n}=A(),a=me(Jj(e)),[i,o]=x.useState(0),s=t.find(({code:p})=>p===e);if(Fg(()=>le(`/account/${e}`)),!s||!a)return null;const l=a.signingConfigurations[i],c=a.signingConfigurations.length,u=a.signingConfigurations.map(p=>{var h;return(h=p.bitcoinSimple)==null?void 0:h.scriptType}),d=()=>{if(!a)return;const p=a.signingConfigurations.length;o((i+1)%p)};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("accountInfo.title")})}),r.jsx("div",{className:"content padded",children:r.jsxs("div",{className:"box larger",children:[La(s.coinCode)?r.jsx("h2",{className:Ht.title,children:n("accountInfo.extendedPublicKey")}):null,l.bitcoinSimple!==void 0&&c>1?r.jsxs("p",{className:Ht.xPubInfo,children:[n("accountInfo.xpubTypeInfo",{current:`${i+1}`,numberOfXPubs:c.toString(),scriptType:l.bitcoinSimple.scriptType.toUpperCase()}),r.jsx("br",{}),r.jsx("button",{className:Ht.nextButton,onClick:d,children:n(`accountInfo.xpubTypeChangeBtn.${u[(i+1)%c]}`)})]}):null,r.jsx(cie,{account:s,code:e,info:l,signingConfigIndex:i,children:r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:n("button.back")})},i)]})})]})}),La(s.coinCode)?r.jsx(uie,{coinName:s.coinName}):null]})};function a1({hasMultipleAddresses:t,hasDifferentFormats:e}){const{t:n}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.receive.address")},"guide.receive.address"),r.jsx(W,{entry:n("guide.receive.whyVerify")},"guide.receive.whyVerify"),r.jsx(W,{entry:n("guide.receive.howVerify")},"guide.receive.howVerify"),r.jsx(W,{entry:n("guide.receive.plugout")},"guide.receive.plugout"),t&&r.jsxs(r.Fragment,{children:[r.jsx(W,{entry:n("guide.receive.whyMany")},"guide.receive.whyMany"),r.jsx(W,{entry:n("guide.receive.why20")},"guide.receive.why20"),r.jsx(W,{entry:n("guide.receive.addressChange")},"guide.receive.addressChange"),e&&r.jsx(W,{entry:n("guide.receive.addressFormats")},"guide.receive.addressFormats")]})]})}const pie="_labels_1m4jx_1",hie="_label_1m4jx_1",mie="_qrCodeContainer_1m4jx_17",fie="_arrowLeft_1m4jx_22",gie="_arrowRight_1m4jx_23",vie="_previous_1m4jx_37",bie="_next_1m4jx_38",kie="_hide_1m4jx_49",xie="_changeType_1m4jx_58",cn={labels:pie,label:hie,qrCodeContainer:mie,arrowLeft:fie,arrowRight:gie,previous:vie,next:bie,hide:kie,changeType:xie},yie=["p2wpkh","p2tr","p2wpkh-p2sh"],Rk=(t,e)=>t?t.findIndex(n=>n.scriptType!==null&&e===n.scriptType):-1,wie=({accounts:t,code:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(0),[l,c]=x.useState(0),[u,d]=x.useState(),[p,h]=x.useState(),[m,g]=x.useState(0),v=t.find(({code:C})=>C===e),y=me(Ed(e)),b=x.useRef(),k=b.current&&b.current.length>1,w=!!(u&&k);Fg(()=>!w&&!a&&le(`/account/${e}`)),x.useEffect(()=>{y&&(b.current=yie.filter(C=>Rk(y,C)>=0))},[y]),x.useEffect(()=>{if(y&&b.current){let C=b.current.length>0?Rk(y,b.current[l]):0;C===-1&&(C=0),g(C),h(y[C].addresses)}},[l,b,y]);const j=C=>{u&&(C.preventDefault(),s(0),c(u.addressType),d(void 0))},z=async C=>{if(!y||e===void 0||!(await fl(e)).success)return;if(!(await tB(e)()).hasSecureOutput){i("insecure");return}i("secure");try{await jg(e,y[C].addresses[o].addressID)}finally{i(!1)}},S=C=>{C.preventDefault(),!a&&o>0&&s(o-1)},f=(C,P)=>{C.preventDefault(),!a&&o1&&r.jsx("button",{className:cn.previous,onClick:S,children:a||o===0?r.jsx(vj,{height:"24",width:"24"}):r.jsx(bj,{height:"24",width:"24",title:n("button.previous")})}),r.jsxs("p",{className:cn.label,children:[n("receive.label")," ",p.length>1?`(${o+1}/${p.length})`:""]}),p.length>1&&r.jsx("button",{className:cn.next,onClick:C=>f(C,p.length),children:a||o>=p.length-1?r.jsx(kj,{height:"24",width:"24"}):r.jsx(xj,{height:"24",width:"24",title:n("button.next")})})]}),r.jsx(Ia,{disabled:!0,value:D,flexibleHeight:!0}),k&&r.jsx("button",{className:cn.changeType,onClick:()=>d(u?void 0:{addressType:l}),children:n("receive.changeScriptType")}),r.jsx("form",{onSubmit:j,children:r.jsxs(qe,{open:w,onClose:()=>d(void 0),medium:!0,title:n("receive.changeScriptType"),children:[b.current&&b.current.map((C,P)=>r.jsx("div",{children:u&&r.jsxs(r.Fragment,{children:[r.jsx(yg,{checked:u.addressType===P,id:C,name:"scriptType",onChange:()=>d({addressType:P}),title:Td(C),children:n(`receive.scriptType.${C}`)}),C==="p2tr"&&u.addressType===P&&r.jsx(nn,{type:"warning",children:n("receive.taprootWarning")})]})},C)),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:n("button.done")})})]})}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{disabled:a!==!1,onClick:()=>z(m),primary:!0,children:n("receive.verifyBitBox02")}),r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:n("button.back")})]}),a&&r.jsx("div",{className:cn.hide}),r.jsx(qe,{open:!!(v&&a),title:n("receive.verifyBitBox02"),disableEscape:a==="secure",onClose:a==="insecure"?()=>{i(!1)}:void 0,medium:!0,centered:!0,children:v&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"text-center",children:[Fo(v.coinCode)&&r.jsxs("p",{children:[r.jsx("strong",{children:n("receive.onlyThisCoin.warning",{coinName:v.coinName})}),r.jsx("br",{}),n("receive.onlyThisCoin.description")]}),r.jsx(Ja,{data:B+D}),r.jsx("p",{children:n("receive.verifyInstruction")})]}),r.jsx("div",{className:"m-bottom-half",children:r.jsx(Ia,{value:D,flexibleHeight:!0})})]})})]})})})]})}),r.jsx(a1,{hasMultipleAddresses:p?p.length>1:!1,hasDifferentFormats:y?y.length>1:!1})]})},jie=()=>Z("devices/registered"),Bie=t=>()=>Z(`devices/${t}/has-mobile-channel`),Sie="_container_1ooxc_1",zie="_withCloseBtn_1ooxc_7",Cie="_status_1ooxc_15",Die="_success_1ooxc_21",Aie="_warning_1ooxc_25",_ie="_info_1ooxc_29",Tie="_close_1ooxc_42",ir={container:Sie,withCloseBtn:zie,status:Cie,success:Die,warning:Aie,info:_ie,"close-success":"_close-success_1ooxc_42","close-warning":"_close-warning_1ooxc_46","close-info":"_close-info_1ooxc_50",close:Tie},an=({hidden:t,type:e="warning",dismissible:n,className:a,children:i})=>{const[o,s]=x.useState(!n),l=x.useCallback(async()=>{if(n){const u=await Bt();s(u?!u.frontend[n]:!0)}},[n]);x.useEffect(()=>{l()},[l]);const c=async()=>{n&&(at({frontend:{[n]:!0}}),s(!1))};return t||!o?null:r.jsx("div",{className:[ir.container,ir[e],a||"",n?ir.withCloseBtn:""].join(" "),children:r.jsxs("div",{className:ir.status,children:[i,r.jsx("button",{hidden:!n,className:`${ir.close} ${ir[`close-${e}`]}`,onClick:c,children:r.jsx(El,{})})]})})},Eie=({deviceID:t})=>{const{t:e}=A(),n=me(Bie(t));return n?null:r.jsx(an,{type:"warning",hidden:n!==!1,children:e("warning.receivePairing")})},i1=t=>{const{t:e}=A();return e(t==="bitbox"?"receive.verifyBitBox01":t==="bitbox02"?"receive.verifyBitBox02":"receive.verify")},Pie=({device:t,forceVerification:e,...n})=>{const{t:a}=A(),i=i1(t);return r.jsx(_,{primary:!0,...n,children:e?a("receive.showFull"):i})},Nie=["p2wpkh","p2tr","p2wpkh-p2sh"],Fk=(t,e)=>t?t.findIndex(n=>n.scriptType!==null&&e===n.scriptType):-1,Lie=({accounts:t,code:e,deviceID:n})=>{const{t:a}=A(),[i,o]=x.useState(!1),[s,l]=x.useState(0),[c,u]=x.useState(0),[d,p]=x.useState(),[h,m]=x.useState(),[g,v]=x.useState(0),y=t.find(({code:E})=>E===e),b=i1("bitbox"),k=me(Ed(e)),w=me(tB(e));Fg(()=>!i&&le(`/account/${e}`));const j=x.useRef();x.useEffect(()=>{k&&(j.current=Nie.filter(E=>Fk(k,E)>=0))},[k]),x.useEffect(()=>{if(k&&j.current){let E=j.current.length>0?Fk(k,j.current[c]):0;E===-1&&(E=0),v(E),m(k[E].addresses)}},[c,j,k]);const z=E=>{if(k&&w){if(e===void 0)return;if(!w.hasSecureOutput){J(a("receive.warning.secureOutput"));return}o(!0),jg(e,k[E].addresses[s].addressID).then(()=>o(!1))}},S=E=>{E.preventDefault(),!i&&s>0&&l(s-1)},f=(E,L)=>{E.preventDefault(),!i&&s1;return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(Eie,{deviceID:n}),r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:a("receive.title",{accountName:y==null?void 0:y.coinName})})}),r.jsx("div",{className:"content narrow isVerticallyCentered",children:r.jsx("div",{className:"box large text-center",children:h&&r.jsxs("div",{style:{position:"relative"},children:[r.jsx("div",{className:cn.qrCodeContainer,children:r.jsx(Ja,{data:D?C+P:void 0})}),r.jsxs("div",{className:cn.labels,children:[h.length>1&&r.jsx("button",{className:cn.previous,onClick:S,children:i||s===0?r.jsx(vj,{height:"24",width:"24"}):r.jsx(bj,{height:"24",width:"24",title:a("button.previous")})}),r.jsxs("p",{className:cn.label,children:[a("receive.label")," ",h.length>1?`(${s+1}/${h.length})`:""]}),h.length>1&&r.jsx("button",{className:cn.next,onClick:E=>f(E,h.length),children:i||s>=h.length-1?r.jsx(kj,{height:"24",width:"24"}):r.jsx(xj,{height:"24",width:"24",title:a("button.next")})})]}),r.jsx(Ia,{disabled:!D,value:P,flexibleHeight:!0}),I&&r.jsx("button",{className:cn.changeType,onClick:()=>p(d?void 0:{addressType:c}),children:a("receive.changeScriptType")}),r.jsx("form",{onSubmit:E=>{E.preventDefault(),l(0),u(d?d==null?void 0:d.addressType:c),p(void 0)},children:r.jsxs(qe,{open:!!d,medium:!0,title:a("receive.changeScriptType"),children:[j.current&&j.current.map((E,L)=>r.jsx("div",{children:d&&r.jsxs(r.Fragment,{children:[r.jsx(yg,{checked:d.addressType===L,id:E,name:"scriptType",onChange:()=>p({addressType:L}),title:Td(E),children:a(`receive.scriptType.${E}`)}),E==="p2tr"&&d.addressType===L&&r.jsx(nn,{type:"warning",children:a("receive.taprootWarning")})]})},E)),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:a("button.done")})})]})}),r.jsxs("div",{className:"buttons",children:[r.jsx(Pie,{device:"bitbox",disabled:i||w===void 0,forceVerification:B,onClick:()=>z(g)}),r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:a("button.back")})]}),B&&i&&r.jsx("div",{className:cn.hide}),r.jsxs(qe,{open:!!y&&B&&i,title:b,disableEscape:!0,medium:!0,centered:!0,children:[r.jsx("div",{className:"text-center",children:y&&r.jsxs(r.Fragment,{children:[Fo(y.coinCode)&&r.jsxs("p",{children:[r.jsx("strong",{children:a("receive.onlyThisCoin.warning",{coinName:y.coinName})}),r.jsx("br",{}),a("receive.onlyThisCoin.description")]}),r.jsx(Ja,{data:C+P}),r.jsx("p",{children:a("receive.verifyInstruction")})]})}),r.jsx("div",{className:"m-bottom-half",children:r.jsx(Ia,{value:P,flexibleHeight:!0})})]})]})})})]})]}),r.jsx(a1,{hasMultipleAddresses:h?h.length>1:!1,hasDifferentFormats:k?k.length>1:!1})]})},Iie=t=>{const{devices:e,deviceIDs:n}=t,a=n[0];switch(n.length?e[a]:void 0){case"bitbox":return r.jsx(Lie,{deviceID:a,...t});case"bitbox02":default:return r.jsx(wie,{...t})}},Zo=x.createContext({}),Lr={};function $ie(t){if("type"in t&&t.data&&typeof t.data=="string"&&t.data in Lr&&Lr[t.data].length)for(const e of Lr[t.data])e(t)}function is(t,e){Lr[t]||(Lr[t]=[]);const n=Lr[t];return n.includes(e)&&console.error(`observer already registered for ${t}`),n.push(e),()=>{n.includes(e)||console.error("!observers.includes(observer)");const a=n.indexOf(e);n.splice(a,1)}}Yo($ie);const Mie=t=>Gn("accounts",t),o1=t=>e=>Gn(`account/${t}/synced-addresses-count`,n=>{e(n)}),r1=t=>is("statusChanged",n=>{n.type==="account"&&n.code&&t(n.code)}),Yd=t=>is("syncdone",e=>{e.type==="account"&&e.code&&t(e.code)}),Oie=t=>e=>Gn(`coins/${t}/headers/status`,e),Rie=t=>H("coins/btc/set-unit",{unit:t}),Fie=t=>Z(`coins/btc/parse-external-amount?amount=${t}`),Jo=t=>Z(`devices/${t}/info`),Vie="_space_tpxrt_1",sh={space:Vie},ct=({amount:t,unit:e,removeBtcTrailingZeroes:n,alwaysShowAmounts:a=!1})=>{const{hideAmounts:i}=x.useContext(mi),o=l=>{const c=[];for(let d=l.length;d>0;d-=3){const p=Math.max(0,d-3);c.push(r.jsx("span",{className:p===0?"":sh.space,children:l.slice(p,d)},"block_"+c.length))}return r.jsx("span",{"data-testid":"amountBlocks",children:c.reverse()})},s=l=>{const c=l.indexOf(".");return c===-1?r.jsx(r.Fragment,{children:l}):r.jsxs("span",{"data-testid":"amountBlocks",children:[r.jsx("span",{children:l.slice(0,c+3)}),r.jsx("span",{className:sh.space,children:l.slice(c+3,c+6)}),r.jsx("span",{className:sh.space,children:l.slice(c+6,c+9)})]})};if(i&&!a)return"***";switch(e){case"BTC":case"TBTC":case"LTC":case"TLTC":return n&&t.includes(".")?r.jsx(r.Fragment,{children:t.replace(/\.?0+$/,"")}):s(t);case"sat":case"tsat":return o(t)}return r.jsx(r.Fragment,{children:t})},Wie="_rates_19qqe_1",Uie="_unit_19qqe_8",qie="_unitAction_19qqe_13",Hie="_fiatRow_19qqe_20",Kie="_availableFiatAmount_19qqe_24",Gie="_availableFiatUnitNoAction_19qqe_29",Qie="_availableFiatUnit_19qqe_29",Yie="_notAvailable_19qqe_46",Bi={rates:Wie,unit:Uie,unitAction:qie,fiatRow:Hie,availableFiatAmount:Kie,availableFiatUnitNoAction:Gie,availableFiatUnit:Qie,notAvailable:Yie},s1=[{currency:"AUD",displayName:"Australian Dollar"},{currency:"BRL",displayName:"Brazilian Real"},{currency:"CAD",displayName:"Canadian Dollar"},{currency:"CHF",displayName:"Swiss franc"},{currency:"CNY",displayName:"Chinese Yuan"},{currency:"CZK",displayName:"Czech Koruna"},{currency:"EUR",displayName:"Euro"},{currency:"GBP",displayName:"British Pound"},{currency:"HKD",displayName:"Hong Kong Dollar"},{currency:"ILS",displayName:"Israeli New Shekel"},{currency:"JPY",displayName:"Japanese Yen"},{currency:"KRW",displayName:"South Korean Won"},{currency:"NOK",displayName:"Norwegian Krone"},{currency:"PLN",displayName:"Polish Zloty"},{currency:"RUB",displayName:"Russian ruble"},{currency:"SEK",displayName:"Swedish Krona"},{currency:"SGD",displayName:"Singapore Dollar"},{currency:"USD",displayName:"United States Dollar"},{currency:"BTC",displayName:"Bitcoin"}];function Zie(t,e){let n=t.toFixed(e),a=n.indexOf(".")-3;for(;a>0;)n=n.slice(0,a)+"'"+n.slice(a),a=a-3;return n}function Jie({amount:t,tableRow:e,unstyled:n,skipUnit:a,noAction:i,sign:o,noBtcZeroes:s,alwaysShowAmounts:l=!1}){const{rotateFiat:c,defaultCurrency:u,btcUnit:d}=x.useContext(Zo);let p=r.jsx(r.Fragment,{children:"---"}),h=!1,m=u;return u==="BTC"&&d==="sat"&&(m="sat"),t&&t.conversions&&t.conversions[u]&&t.conversions[u]!==""&&(h=!0,p=r.jsx(ct,{alwaysShowAmounts:l,amount:t.conversions[u],unit:m,removeBtcTrailingZeroes:!!s})),e?r.jsxs("tr",{className:n?"":Bi.fiatRow,children:[r.jsx("td",{className:n?"":Bi.availableFiatAmount,children:p}),!i&&r.jsx("td",{className:n?"":Bi.availableFiatUnit,onClick:c,children:m}),i&&r.jsx("td",{className:n?"":Bi.availableFiatUnitNoAction,children:m})]}):r.jsxs("span",{className:`${Bi.rates} ${h?"":Bi.notAvailable}`,children:[h?o:"",p," ",!a&&!i&&r.jsx("span",{className:Bi.unitAction,onClick:c,children:m}),!a&&i&&r.jsx("span",{className:Bi.unit,children:m})]})}const l1=s1.map(t=>({label:`${t.displayName} (${t.currency})`,value:t.currency})),Xa=Jie,Xie="_balanceTable_m2hui_1",eoe="_availableAmount_m2hui_27",toe="_availableUnit_m2hui_32",noe="_pendingBalance_m2hui_37",uo={balanceTable:Xie,availableAmount:eoe,availableUnit:toe,pendingBalance:noe},c1=({balance:t,noRotateFiat:e})=>{const{t:n}=A();return t?r.jsxs("header",{className:uo.balance,children:[r.jsx("table",{className:uo.balanceTable,children:r.jsxs("tbody",{children:[r.jsxs("tr",{"data-testid":"availableBalance",children:[r.jsx("td",{className:uo.availableAmount,children:r.jsx(ct,{amount:t.available.amount,unit:t.available.unit,removeBtcTrailingZeroes:!0})}),r.jsx("td",{className:uo.availableUnit,children:t.available.unit})]}),r.jsx(Xa,{amount:t.available,tableRow:!0,noAction:e,noBtcZeroes:!0})]})}),t.hasIncoming&&r.jsxs("p",{className:uo.pendingBalance,children:[n("account.incoming"),r.jsxs("span",{"data-testid":"incomingBalance",children:["+",r.jsx(ct,{amount:t.incoming.amount,unit:t.incoming.unit,removeBtcTrailingZeroes:!0})," ",t.incoming.unit," /",r.jsxs("span",{className:uo.incomingConversion,children:[" ",r.jsx(Xa,{amount:t.incoming,noBtcZeroes:!0})]})]})]})]}):r.jsx("header",{className:uo.balance})},kn=He;function u1(t,e=!0){return function(a){var i;return i=class extends x.Component{constructor(){super(...arguments),this.state={}}determineEndpoints(){return typeof t=="function"?t(this.props):t}loadEndpoint(o,s){Z(s).then(l=>{this.setState({[o]:l})})}loadEndpoints(){const o=this.endpoints,s=this.determineEndpoints();for(const l of Object.keys(s))(o===void 0||s[l]!==o[l])&&this.loadEndpoint(l,s[l]);if(o===void 0)e&&Object.keys(s).length===0&&this.setState({});else for(const l of Object.keys(o))s[l]===void 0&&this.setState({[l]:void 0});this.endpoints=s}componentDidMount(){this.loadEndpoints()}componentDidUpdate(){this.loadEndpoints()}allEndpointsLoaded(){if(this.endpoints===void 0)return!1;for(const o of Object.keys(this.endpoints))if(this.state[o]===void 0)return!1;return!0}render(){const o=this.props,s=this.state;return e&&!this.allEndpointsLoaded()?null:r.jsx(a,{...s,...o})}},i.displayName=`Load(${wg(a)})`,i}}const aoe="_row_1qpuo_1",ioe="_rowCustomFee_1qpuo_6",ooe="_column_1qpuo_12",roe="_priority_1qpuo_38",soe="_fee_1qpuo_42",loe="_feeCustom_1qpuo_91",coe="_feeDescription_1qpuo_95",uoe="_feeProposed_1qpuo_96",doe="_customFeeUnit_1qpuo_112",xa={row:aoe,rowCustomFee:ioe,column:ooe,priority:roe,fee:soe,feeCustom:loe,feeDescription:coe,feeProposed:uoe,customFeeUnit:doe};class poe extends x.Component{constructor(){super(...arguments),this.state={feeTarget:"",options:null,noFeeTargets:!1},this.input=x.createRef(),this.updateFeeTargets=e=>{eY(e).then(({feeTargets:n,defaultFeeTarget:a})=>{const i=this.props.config.frontend.expertFee||n.length===0,o=n.map(({code:s,feeRateInfo:l})=>({value:s,text:this.props.t(`send.feeTarget.label.${s}`)+(i&&l?` (${l})`:"")}));i&&o.push({value:"custom",text:this.props.t("send.feeTarget.label.custom")}),this.setState({options:o}),this.setFeeTarget(a),n.length===0&&this.setState({noFeeTargets:!0})}).catch(console.error)},this.handleFeeTargetChange=e=>{const n=e.target;this.setFeeTarget(n.options[n.selectedIndex].value)},this.handleCustomFee=e=>{const n=e.target;this.props.onCustomFee(n.value)},this.setFeeTarget=e=>{this.setState({feeTarget:e}),this.props.onFeeTargetChange(e)},this.getProposeFeeText=()=>{if(!this.props.proposedFee)return"";const{amount:e,unit:n,conversions:a}=this.props.proposedFee,i=this.props.fiatUnit;return`${e} ${n} ${a?` = ${a[i==="sat"?"BTC":i]} ${i}`:""}`},this.focusInput=()=>{!this.props.disabled&&this.input.current&&this.input.current.autofocus&&this.input.current.focus()}}componentDidMount(){this.updateFeeTargets(this.props.accountCode),this.focusInput()}UNSAFE_componentWillReceiveProps({accountCode:e}){this.props.accountCode!==e&&this.updateFeeTargets(e)}render(){const{t:e,coinCode:n,disabled:a,error:i,showCalculatingFeeLabel:o=!1,customFee:s}=this.props,{feeTarget:l,options:c,noFeeTargets:u}=this.state;if(c===null)return r.jsx(Ye,{label:e("send.priority"),id:"feetarget",placeholder:e("send.feeTarget.placeholder"),disabled:!0,value:"",transparent:!0});const d=l==="custom",p=c.length>0,h=this.getProposeFeeText(),m=document.activeElement&&document.activeElement.nodeName==="INPUT";return p?r.jsxs("div",{children:[d?r.jsxs("div",{className:xa.rowCustomFee,children:[u?r.jsx(nn,{small:!0,type:"warning",children:e("send.noFeeTargets")}):null,r.jsx("div",{className:xa.column,children:r.jsx(Ru,{className:xa.priority,label:e("send.priority"),id:"feeTarget",disabled:a,onChange:this.handleFeeTargetChange,value:l,options:c})}),r.jsx("div",{className:xa.column,children:r.jsx(Ye,{type:a?"text":"number",min:"0",step:"any",autoFocus:!m,align:"right",className:`${xa.fee} ${xa.feeCustom}`,disabled:a,label:e("send.feeTarget.customLabel",{context:Fo(n)?"eth":""}),id:"proposedFee",placeholder:e("send.fee.customPlaceholder"),error:i,transparent:!0,onInput:this.handleCustomFee,ref:this.input,value:s,children:r.jsx("span",{className:xa.customFeeUnit,children:Kj(this.props.coinCode)})})})]}):o?r.jsx(Ye,{disabled:!0,label:e("send.priority"),placeholder:e("send.feeTarget.placeholder"),value:"",transparent:!0}):r.jsx(Ru,{className:xa.priority,label:e("send.priority"),id:"feeTarget",disabled:a,onChange:this.handleFeeTargetChange,value:l,options:c}),l&&r.jsxs("div",{children:[o||h?r.jsxs("p",{className:xa.feeProposed,children:[e("send.fee.label"),":"," ",o?e("send.feeTarget.placeholder"):h]}):null,d?null:r.jsxs("p",{className:xa.feeDescription,children:[e("send.feeTarget.estimate")," ",e(`send.feeTarget.description.${l}`,{context:WQ(n)||""})]})]})]}):r.jsx(Ye,{disabled:!0,label:e("send.fee.label"),id:"proposedFee",placeholder:e("send.fee.placeholder"),error:i,transparent:!0,value:h})}}const hoe=u1({config:"config"})(poe),moe=kn()(hoe),foe="_utxosList_8ra1q_1",goe="_utxo_8ra1q_1",voe="_utxoContent_8ra1q_17",boe="_note_8ra1q_25",koe="_utxoData_8ra1q_33",xoe="_utxoExplorer_8ra1q_41",yoe="_amounts_8ra1q_51",woe="_amount_8ra1q_51",joe="_label_8ra1q_59",Boe="_unit_8ra1q_60",Soe="_address_8ra1q_73",zoe="_transaction_8ra1q_74",Coe="_shrink_8ra1q_81",Jt={utxosList:foe,utxo:goe,utxoContent:voe,note:boe,utxoData:koe,utxoExplorer:xoe,amounts:yoe,amount:woe,label:joe,unit:Boe,address:Soe,transaction:zoe,shrink:Coe},Doe=({accountCode:t,active:e,explorerURL:n,onChange:a,onClose:i})=>{const{t:o}=A(),[s,l]=x.useState([]),[c,u]=x.useState({});x.useEffect(()=>(dk(t).then(l),()=>l([])),[t]),x.useEffect(()=>{const h=Yd(m=>{t===m&&dk(t).then(l)});return()=>h()},[t]);const d=h=>{const m=h.target,g=m.dataset.outpoint,v=Object.assign({},c);m.checked?v[g]=!0:delete v[g],u(v),a(v)},p=h=>{const m=s.filter(g=>g.scriptType===h);return m.length===0?null:r.jsxs("div",{children:[r.jsx("h2",{className:"subTitle",children:Td(h)}),r.jsx("ul",{className:Jt.utxosList,children:m.map(g=>r.jsx("li",{className:Jt.utxo,children:r.jsxs(Ve,{checked:!!c[g.outPoint],id:"utxo-"+g.outPoint,"data-outpoint":g.outPoint,onChange:d,children:[g.note&&r.jsx("div",{className:Jt.note,children:r.jsxs("strong",{children:[g.note," "]})}),r.jsxs("div",{className:Jt.utxoContent,children:[r.jsxs("div",{className:Jt.utxoData,children:[r.jsxs("div",{className:Jt.amounts,children:[r.jsxs("span",{className:Jt.amount,children:[r.jsx(ct,{alwaysShowAmounts:!0,amount:g.amount.amount,unit:g.amount.unit})," ",r.jsx("span",{className:Jt.unit,children:g.amount.unit})]}),r.jsx(Xa,{alwaysShowAmounts:!0,amount:g.amount,unstyled:!0,noAction:!0})]}),r.jsxs("div",{className:Jt.address,children:[r.jsxs("span",{className:Jt.label,children:[o("send.coincontrol.address"),":"]}),r.jsx("span",{className:Jt.shrink,children:g.address})]}),r.jsxs("div",{className:Jt.transaction,children:[r.jsxs("span",{className:Jt.label,children:[o("send.coincontrol.outpoint"),":"]}),r.jsx("span",{className:Jt.shrink,children:g.txId}),":",g.txOutput]})]}),r.jsx(pt,{className:Jt.utxoExplorer,href:n+g.txId,title:o("transaction.explorerTitle"),children:r.jsx(J7,{})})]})]})},"utxo-"+g.outPoint))})]},"utxos-"+h)};return r.jsx(qe,{open:e,title:o("send.coincontrol.title"),large:!0,onClose:i,children:r.jsxs("div",{children:[HQ.map(p),r.jsx("div",{className:"buttons text-center m-top-none m-bottom-half",children:r.jsx(_,{primary:!0,onClick:i,children:o("button.continue")})})]})})};function Nl(t){for(const e of t)e();t.splice(0,t.length)}const Aoe=""+new URL("hold-3098c74f.png",import.meta.url).href,_oe=""+new URL("tap-25c161d5.png",import.meta.url).href;class Toe extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.state={active:!1},this.handleKeyDown=e=>{const n=document.activeElement;n&&n instanceof HTMLElement&&n.blur(),e.preventDefault(),e.stopPropagation()},this.activate=()=>{this.setState({active:!0},()=>{!this.overlay.current||!this.modal.current||(this.overlay.current.classList.add(ce.activeOverlay),this.modal.current.classList.add(ce.activeModal))})}}UNSAFE_componentWillMount(){document.body.addEventListener("keydown",this.handleKeyDown)}componentDidMount(){setTimeout(this.activate,10)}componentWillUnmount(){document.body.removeEventListener("keydown",this.handleKeyDown)}render(){const{t:e,includeDefault:n,prequel:a,title:i,paired:o=!1,touchConfirm:s=!0,children:l}=this.props,c=r.jsxs("div",{children:[a&&r.jsx("p",{className:"m-top-none",children:a}),o?r.jsxs("div",{children:[r.jsxs("p",{className:[ce.confirmationLabel,s&&o?ce.disabledLabel:"","m-top-none"].join(" "),children:[r.jsx("span",{className:ce.confirmationLabelNumber,children:"1."}),e("confirm.infoWhenPaired")]}),r.jsxs("p",{className:[ce.confirmationLabel,!s&&o?ce.disabledLabel:""].join(" "),children:[r.jsx("span",{className:ce.confirmationLabelNumber,children:"2."}),e("confirm.info")]})]}):r.jsx("p",{className:[ce.confirmationLabel,ce.noStep,"m-top-none"].join(" "),children:e("confirm.info")}),s&&r.jsxs("div",{className:["flex flex-row flex-between flex-items-stretch",ce.confirmationInstructions].join(" "),children:[r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx("img",{className:ce.image,src:_oe,alt:"Reject"}),r.jsxs("p",{children:[e("confirm.abortInfo"),r.jsx("span",{className:"text-red",children:e("confirm.abortInfoRedText")})]})]}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx("img",{className:ce.image,src:Aoe,alt:"Approve"}),r.jsxs("p",{children:[e("confirm.approveInfo"),r.jsx("span",{className:"text-green",children:e("confirm.approveInfoGreenText")})]})]})]})]}),u=Mn.Children.toArray(l).length>0;return r.jsx("div",{className:ce.overlay,ref:this.overlay,style:{zIndex:10001},children:r.jsxs("div",{className:[ce.modal,ce.open].join(" "),ref:this.modal,children:[i&&r.jsx("div",{className:ce.header,children:r.jsx("h3",{className:ce.title,children:i})}),r.jsx("div",{className:ce.contentContainer,children:r.jsxs("div",{className:ce.content,children:[u&&n?c:null,u?r.jsx("div",{className:"flex flex-column flex-start",children:l}):c]})})]})})}}const xn=kn()(Toe),Eoe="_confirmItem_1e5e5_1",Poe="_confirmationValue_1e5e5_6",Noe="_total_1e5e5_15",Si={confirmItem:Eoe,confirmationValue:Poe,total:Noe},Loe=({paired:t,baseCurrencyUnit:e,note:n,hasSelectedUTXOs:a,selectedUTXOs:i,coinCode:o,transactionStatus:s,transactionDetails:l})=>{const{t:c}=A(),{isConfirming:u,signConfirm:d,signProgress:p}=s,{proposedFee:h,proposedAmount:m,proposedTotal:g,customFee:v,feeTarget:y,recipientAddress:b,fiatUnit:k}=l;if(!u)return null;const w=p&&p.steps>1?r.jsxs("span",{children:[c("send.signprogress.description",{steps:p.steps.toString()}),r.jsx("br",{}),c("send.signprogress.label"),": ",p.step,"/",p.steps]}):void 0;return r.jsxs(xn,{title:c("send.confirm.title"),prequel:w,paired:t,touchConfirm:d,includeDefault:!0,children:[r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("send.address.label")}),r.jsx("p",{children:b||"N/A"})]}),r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("send.amount.label")}),r.jsxs("p",{children:[r.jsxs("span",{children:[m&&r.jsx(ct,{alwaysShowAmounts:!0,amount:m.amount,unit:m.unit})||"N/A"," ",r.jsx("small",{children:m&&m.unit||"N/A"})]},"proposedAmount"),m&&m.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx(ct,{alwaysShowAmounts:!0,amount:m.conversions[k],unit:e})," ",r.jsx("small",{children:e})]})]})]}),n?r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("note.title")}),r.jsx("p",{children:n})]}):null,r.jsxs("div",{className:Si.confirmItem,children:[r.jsxs("label",{children:[c("send.fee.label"),y?" ("+c(`send.feeTarget.label.${y}`)+")":""]}),r.jsxs("p",{children:[r.jsxs("span",{children:[h&&r.jsx(ct,{alwaysShowAmounts:!0,amount:h.amount,unit:h.unit})||"N/A"," ",r.jsx("small",{children:h&&h.unit||"N/A"})]},"amount"),h&&h.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx(ct,{alwaysShowAmounts:!0,amount:h.conversions[k],unit:e})," ",r.jsx("small",{children:e})]},"conversation"),v?r.jsxs("span",{children:[r.jsx("br",{}),r.jsxs("small",{children:["(",v," ",Kj(o),")"]})]},"customFee"):null]})]}),a&&r.jsxs("div",{className:[Si.confirmItem].join(" "),children:[r.jsx("label",{children:c("send.confirm.selected-coins")}),i.map((j,z)=>r.jsx("p",{className:Si.confirmationValue,children:j},`selectedCoin-${z}`))]}),r.jsxs("div",{className:[Si.confirmItem,Si.total].join(" "),children:[r.jsx("label",{children:c("send.confirm.total")}),r.jsxs("p",{children:[r.jsxs("span",{children:[r.jsx("strong",{children:g&&r.jsx(ct,{alwaysShowAmounts:!0,amount:g.amount,unit:g.unit})||"N/A"})," ",r.jsx("small",{children:g&&g.unit||"N/A"})]}),g&&g.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx("strong",{children:r.jsx(ct,{alwaysShowAmounts:!0,amount:g.conversions[k],unit:e})})," ",r.jsx("small",{children:e})]})]})]})]})},Ioe=({coinCode:t})=>{const{t:e}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:e("guide.send.whyFee")},"guide.send.whyFee"),La(t)&&r.jsx(W,{entry:e("guide.send.priority")},"guide.send.priority"),La(t)&&r.jsx(W,{entry:e("guide.send.fee")},"guide.send.fee"),_d(t)&&r.jsx(W,{entry:e("guide.send.change")},"guide.send.change"),r.jsx(W,{entry:e("guide.send.revert")},"guide.send.revert"),r.jsx(W,{entry:e("guide.send.plugout")},"guide.send.plugout")]})},$oe=(t,e,n)=>{const{t:a}=se;switch(n){case"invalidAddress":return{addressError:a("send.error.invalidAddress")};case"invalidAmount":case"insufficientFunds":return{amountError:a(`send.error.${n}`),proposedFee:void 0};case"feeTooLow":case"feesNotAvailable":return{feeError:a(`send.error.${n}`)};default:return n&&(e(),J(n,{callback:t})),{proposedFee:void 0}}},Vk=({isShown:t,messageType:e})=>t?r.jsx(xn,{children:r.jsx("div",{className:"flex flex-row flex-center flex-items-center",children:r.jsx(Moe,{messageType:e})})}):null,Moe=({messageType:t})=>{const{t:e}=A();switch(t){case"sent":return r.jsxs(r.Fragment,{children:[r.jsx(Bd,{style:{height:18,marginRight:"1rem"}}),e("send.success")]});case"abort":return r.jsxs(r.Fragment,{children:[r.jsx(bg,{alt:"Abort",style:{height:18,marginRight:"1rem"}}),e("send.abort")]});default:return null}},Ooe=function(){const e=typeof document<"u"&&document.createElement("link").relList;return e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}(),Roe=function(t,e){return new URL(t,e).href},Wk={},qm=function(e,n,a){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Roe(o,a),o in Wk)return;Wk[o]=!0;const s=o.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(!!a)for(let d=i.length-1;d>=0;d--){const p=i[d];if(p.href===o&&(!s||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Ooe,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,p)=>{u.addEventListener("load",d),u.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};let Ll=class ve{constructor(e,n,a,i,o){this._legacyCanvasSize=ve.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=e,this.$canvas=document.createElement("canvas"),a&&typeof a=="object"?this._onDecode=n:(console.warn(a||i||o?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=n),n=typeof a=="object"?a:{},this._onDecodeError=n.onDecodeError||(typeof a=="function"?a:this._onDecodeError),this._calculateScanRegion=n.calculateScanRegion||(typeof i=="function"?i:this._calculateScanRegion),this._preferredCamera=n.preferredCamera||o||this._preferredCamera,this._legacyCanvasSize=typeof a=="number"?a:typeof i=="number"?i:this._legacyCanvasSize,this._maxScansPerSecond=n.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;let s=!1;if(e.hidden&&(e.hidden=!1,s=!0),document.body.contains(e)||(document.body.appendChild(e),s=!0),a=e.parentElement,n.highlightScanRegion||n.highlightCodeOutline){if(i=!!n.overlay,this.$overlay=n.overlay||document.createElement("div"),o=this.$overlay.style,o.position="absolute",o.display="none",o.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!i&&n.highlightScanRegion){this.$overlay.innerHTML='';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}a.insertBefore(this.$overlay,this.$video.nextSibling)}n.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",''),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(e),requestAnimationFrame(()=>{let l=window.getComputedStyle(e);l.display==="none"&&(e.style.setProperty("display","block","important"),s=!0),l.visibility!=="visible"&&(e.style.setProperty("visibility","visible","important"),s=!0),s&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity="0",e.style.width="0",e.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=ve.createQrEngine()}static set WORKER_PATH(e){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await ve.listCameras(!1)).length}catch{return!1}}static async listCameras(e=!1){if(!navigator.mediaDevices)return[];let n=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(i=>i.kind==="videoinput"),a;try{e&&(await n()).every(i=>!i.label)&&(a=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await n()).map((i,o)=>({id:i.deviceId,label:i.label||(o===0?"Default Camera":`Camera ${o+1}`)}))}finally{a&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),ve._stopVideoStream(a))}}async hasFlash(){let e;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;e=this.$video.srcObject}else e=(await this._getCameraStream()).stream;return"torch"in e.getVideoTracks()[0].getSettings()}catch{return!1}finally{e&&e!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),ve._stopVideoStream(e))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(e){throw this._flashOn=!1,e}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),ve._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:e,facingMode:n}=await this._getCameraStream();!this._active||this._paused?ve._stopVideoStream(e):(this._setVideoMirror(n),this.$video.srcObject=e,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(e){if(!this._paused)throw this._active=!1,e}}stop(){this.pause(),this._active=!1}async pause(e=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let n=()=>{this.$video.srcObject instanceof MediaStream&&(ve._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return e?(n(),!0):(await new Promise(a=>setTimeout(a,300)),this._paused?(n(),!0):!1)}async setCamera(e){e!==this._preferredCamera&&(this._preferredCamera=e,await this._restartVideoStream())}static async scanImage(e,n,a,i,o=!1,s=!1){let l,c=!1;n&&("scanRegion"in n||"qrEngine"in n||"canvas"in n||"disallowCanvasResizing"in n||"alsoTryWithoutScanRegion"in n||"returnDetailedScanResult"in n)?(l=n.scanRegion,a=n.qrEngine,i=n.canvas,o=n.disallowCanvasResizing||!1,s=n.alsoTryWithoutScanRegion||!1,c=!0):console.warn(n||a||i||o||s?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),n=!!a;try{let u,d;[a,u]=await Promise.all([a||ve.createQrEngine(),ve._loadImage(e)]),[i,d]=ve._drawToCanvas(u,l,i,o);let p;if(a instanceof Worker){let h=a;n||ve._postWorkerMessageSync(h,"inversionMode","both"),p=await new Promise((m,g)=>{let v,y,b,k=-1;y=j=>{j.data.id===k&&(h.removeEventListener("message",y),h.removeEventListener("error",b),clearTimeout(v),j.data.data!==null?m({data:j.data.data,cornerPoints:ve._convertPoints(j.data.cornerPoints,l)}):g(ve.NO_QR_CODE_FOUND))},b=j=>{h.removeEventListener("message",y),h.removeEventListener("error",b),clearTimeout(v),g("Scanner error: "+(j?j.message||j:"Unknown Error"))},h.addEventListener("message",y),h.addEventListener("error",b),v=setTimeout(()=>b("timeout"),1e4);let w=d.getImageData(0,0,i.width,i.height);k=ve._postWorkerMessageSync(h,"decode",w,[w.data.buffer])})}else p=await Promise.race([new Promise((h,m)=>window.setTimeout(()=>m("Scanner error: timeout"),1e4)),(async()=>{try{var[h]=await a.detect(i);if(!h)throw ve.NO_QR_CODE_FOUND;return{data:h.rawValue,cornerPoints:ve._convertPoints(h.cornerPoints,l)}}catch(m){if(h=m.message||m,/not implemented|service unavailable/.test(h))return ve._disableBarcodeDetector=!0,ve.scanImage(e,{scanRegion:l,canvas:i,disallowCanvasResizing:o,alsoTryWithoutScanRegion:s});throw`Scanner error: ${h}`}})()]);return c?p:p.data}catch(u){if(!l||!s)throw u;let d=await ve.scanImage(e,{qrEngine:a,canvas:i,disallowCanvasResizing:o});return c?d:d.data}finally{n||ve._postWorkerMessage(a,"close")}}setGrayscaleWeights(e,n,a,i=!0){ve._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:n,blue:a,useIntegerApproximation:i})}setInversionMode(e){ve._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}static async createQrEngine(e){if(e&&console.warn("Specifying a worker path is not required and not supported anymore."),e=()=>qm(()=>import("./qr-scanner-worker.min-5f44a019.js"),[],import.meta.url).then(a=>a.createWorker()),!(!ve._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return e();let n=navigator.userAgentData;return n&&n.brands.some(({brand:a})=>/Chromium/i.test(a))&&/mac ?OS/i.test(n.platform)&&await n.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:a,platformVersion:i})=>/arm/i.test(a||"arm")&&13<=parseInt(i||"13")).catch(()=>!0)?e():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(e){let n=Math.round(.6666666666666666*Math.min(e.videoWidth,e.videoHeight));return{x:Math.round((e.videoWidth-n)/2),y:Math.round((e.videoHeight-n)/2),width:n,height:n,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var e=this.$video,n=e.videoWidth,a=e.videoHeight,i=e.offsetWidth,o=e.offsetHeight,s=e.offsetLeft,l=e.offsetTop,c=window.getComputedStyle(e),u=c.objectFit,d=n/a,p=i/o;switch(u){case"none":var h=n,m=a;break;case"fill":h=i,m=o;break;default:(u==="cover"?d>p:d{const w=parseFloat(b);return b.endsWith("%")?(k?o-m:i-h)*w/100:w});c=this._scanRegion.width||n,p=this._scanRegion.height||a,u=this._scanRegion.x||0;var y=this._scanRegion.y||0;d=this.$overlay.style,d.width=`${c/n*h}px`,d.height=`${p/a*m}px`,d.top=`${l+v+y/a*m}px`,a=/scaleX\(-1\)/.test(e.style.transform),d.left=`${s+(a?i-g-h:g)+(a?n-u-c:u)/n*h}px`,d.transform=e.style.transform}})}static _convertPoints(e,n){if(!n)return e;let a=n.x||0,i=n.y||0,o=n.width&&n.downScaledWidth?n.width/n.downScaledWidth:1;n=n.height&&n.downScaledHeight?n.height/n.downScaledHeight:1;for(let s of e)s.x=s.x*o+a,s.y=s.y*n+i;return e}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var e=Date.now()-this._lastScanTimestamp,n=1e3/this._maxScansPerSecond;esetTimeout(i,n-e)),this._lastScanTimestamp=Date.now();try{var a=await ve.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(i){if(!this._active)return;this._onDecodeError(i)}!ve._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=ve.createQrEngine()),a?(this._onDecode?this._onDecode(a):this._legacyOnDecode&&this._legacyOnDecode(a.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",a.cornerPoints.map(({x:i,y:o})=>`${i},${o}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(e){e!==ve.NO_QR_CODE_FOUND&&console.log(e)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let e=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",n=[{width:{min:1024}},{width:{min:768}},{}],a=n.map(i=>Object.assign({},i,{[e]:{exact:this._preferredCamera}}));for(let i of[...a,...n])try{let o=await navigator.mediaDevices.getUserMedia({video:i,audio:!1}),s=this._getFacingMode(o)||(i.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:o,facingMode:s}}catch{}throw"Camera not found."}async _restartVideoStream(){let e=this._paused;await this.pause(!0)&&!e&&this._active&&await this.start()}static _stopVideoStream(e){for(let n of e.getTracks())n.stop(),e.removeTrack(n)}_setVideoMirror(e){this.$video.style.transform="scaleX("+(e==="user"?-1:1)+")"}_getFacingMode(e){return(e=e.getVideoTracks()[0])?/rear|back|environment/i.test(e.label)?"environment":/front|user|face/i.test(e.label)?"user":null:null}static _drawToCanvas(e,n,a,i=!1){a=a||document.createElement("canvas");let o=n&&n.x?n.x:0,s=n&&n.y?n.y:0,l=n&&n.width?n.width:e.videoWidth||e.width,c=n&&n.height?n.height:e.videoHeight||e.height;return i||(i=n&&n.downScaledWidth?n.downScaledWidth:l,n=n&&n.downScaledHeight?n.downScaledHeight:c,a.width!==i&&(a.width=i),a.height!==n&&(a.height=n)),n=a.getContext("2d",{alpha:!1}),n.imageSmoothingEnabled=!1,n.drawImage(e,o,s,l,c,0,0,a.width,a.height),[a,n]}static async _loadImage(e){if(e instanceof Image)return await ve._awaitImageLoad(e),e;if(e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement||e instanceof SVGImageElement||"OffscreenCanvas"in window&&e instanceof OffscreenCanvas||"ImageBitmap"in window&&e instanceof ImageBitmap)return e;if(e instanceof File||e instanceof Blob||e instanceof URL||typeof e=="string"){let n=new Image;n.src=e instanceof File||e instanceof Blob?URL.createObjectURL(e):e.toString();try{return await ve._awaitImageLoad(n),n}finally{(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(n.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(e){e.complete&&e.naturalWidth!==0||await new Promise((n,a)=>{let i=o=>{e.removeEventListener("load",i),e.removeEventListener("error",i),o instanceof ErrorEvent?a("Image load error"):n()};e.addEventListener("load",i),e.addEventListener("error",i)})}static async _postWorkerMessage(e,n,a,i){return ve._postWorkerMessageSync(await e,n,a,i)}static _postWorkerMessageSync(e,n,a,i){if(!(e instanceof Worker))return-1;let o=ve._workerMessageId++;return e.postMessage({id:o,type:n,data:a},i),o}};Ll.DEFAULT_CANVAS_SIZE=400;Ll.NO_QR_CODE_FOUND="No QR code found";Ll._disableBarcodeDetector=!1;Ll._workerMessageId=0;const Foe=(t,{onStart:e,onResult:n,onError:a})=>{x.useEffect(()=>{const o=(async()=>{const s=t.current&&new Ll(t.current,l=>{s==null||s.stop(),n(l)},{onDecodeError:a,highlightScanRegion:!0,highlightCodeOutline:!0});try{await(s==null?void 0:s.start()),e&&e()}catch(l){console.error(l)}return()=>{s==null||s.stop(),s==null||s.destroy()}})();return()=>{o.then(s=>s())}},[t,e,n,a])},Voe="_spinnerAnimationContainer_18sha_1",Woe="_qrVideo_18sha_10",Uk={spinnerAnimationContainer:Voe,qrVideo:Woe},d1=({onResult:t})=>{const e=x.useRef(null);return Foe(e,{onResult:n=>t(n.data),onError:console.error}),r.jsxs(r.Fragment,{children:[r.jsx("div",{className:Uk.spinnerAnimationContainer,children:r.jsx(Cg,{})}),r.jsx("video",{className:Uk.qrVideo,ref:e,poster:"%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2264%22%20height=%2248%22%3E%3C/svg%3E"})]})},p1=({parseQRResult:t,activeScanQR:e,toggleScanQR:n,onChangeActiveScanQR:a})=>{const{t:i}=A();return r.jsxs(qe,{large:!0,open:e,title:i("send.scanQR"),onClose:n,children:[r.jsx(d1,{onResult:o=>{t(o),a(!1)}}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:n,children:i("button.back")})})]})},Uoe="_inputWithIcon_drrz7_1",qoe="_action_drrz7_9",Hoe="_qrButton_drrz7_18",h1={inputWithIcon:Uoe,action:qoe,qrButton:Hoe},m1=({onClick:t})=>{const{isDarkMode:e}=x.useContext(gg);return r.jsx("button",{type:"button",onClick:t,className:h1.qrButton,children:e?r.jsx(uK,{}):r.jsx(cK,{})})},Koe=({accountCode:t,addressError:e,onInputChange:n,recipientAddress:a,activeScanQR:i,parseQRResult:o,onChangeActiveScanQR:s})=>{const{t:l}=A(),c=()=>{if(i){s(!1);return}s(!0)};return r.jsxs(r.Fragment,{children:[r.jsx(p1,{activeScanQR:i,toggleScanQR:c,onChangeActiveScanQR:s,parseQRResult:o}),r.jsx(Ye,{label:l("send.address.label"),placeholder:l("send.address.placeholder"),id:"recipientAddress",error:e,onInput:u=>n(u.target.value),value:a,className:h1.inputWithIcon,labelSection:void 0,autoFocus:!0,children:r.jsx(m1,{onClick:c})})]})},Goe="_maxAmount_1t5n0_1",Qoe={maxAmount:Goe},Yoe=({balance:t,onAmountChange:e,onSendAllChange:n,sendAll:a,amountError:i,proposedAmount:o,amount:s,hasSelectedUTXOs:l})=>{const{t:c}=A();return r.jsx(Ye,{type:"number",step:"any",min:"0",label:t?t.available.unit:c("send.amount.label"),id:"amount",onInput:u=>e(u.target.value),disabled:a,error:i,value:a?o?o.amount:"":s,placeholder:c("send.amount.placeholder"),labelSection:r.jsx(Ve,{label:c(l?"send.maximumSelectedCoins":"send.maximum"),id:"sendAll",onChange:u=>n(u.target.checked),checked:a,className:Qoe.maxAmount})})},Zoe=({label:t,onFiatChange:e,disabled:n,error:a,fiatAmount:i})=>{const{t:o}=A();return r.jsx(Ye,{type:"number",step:"any",min:"0",label:t,id:"fiatAmount",onInput:e,disabled:n,error:a,value:i,placeholder:o("send.amount.placeholder")})},Joe="_labelDescription_5etm5_1",Xoe={labelDescription:Joe},ere=({onNoteChange:t,note:e})=>{const{t:n}=A();return r.jsx(Ye,{label:n("note.title"),labelSection:r.jsx("span",{className:Xoe.labelDescription,children:n("note.input.description")}),id:"note",onInput:t,value:e,placeholder:n("note.input.placeholder")})},tre="_container_8f83b_1",nre={container:tre};class are extends x.Component{constructor(){super(...arguments),this.selectedUTXOs={},this.unsubscribeList=[],this.pendingProposals=[],this.proposeTimeout=null,this.state={recipientAddress:"",amount:"",fiatAmount:"",valid:!1,sendAll:!1,isConfirming:!1,signConfirm:!1,isSent:!1,isAborted:!1,isUpdatingProposal:!1,noMobileChannelError:!1,fiatUnit:this.props.activeCurrency,coinControl:!1,btcUnit:"default",activeCoinControl:!1,activeScanQR:!1,note:"",customFee:""},this.isBitcoinBased=()=>{const e=this.getAccount();return e?La(e.coinCode):!1},this.registerEvents=()=>{document.addEventListener("keydown",this.handleKeyDown)},this.unregisterEvents=()=>{document.removeEventListener("keydown",this.handleKeyDown)},this.handleKeyDown=e=>{e.keyCode===27&&!this.state.activeCoinControl&&!this.state.activeScanQR&&le(`/account/${this.props.code}`)},this.send=async()=>{if(this.state.noMobileChannelError){J(this.props.t("warning.sendPairing"));return}const e=this.getAccount().code;if((await fl(e)).success){this.setState({signProgress:void 0,isConfirming:!0});try{const a=await XQ(e);if(a.success)this.setState({sendAll:!1,isConfirming:!1,isSent:!0,recipientAddress:"",proposedAmount:void 0,proposedFee:void 0,proposedTotal:void 0,fiatAmount:"",amount:"",note:"",customFee:""}),this.selectedUTXOs={},setTimeout(()=>this.setState({isSent:!1,isConfirming:!1}),5e3);else if(a.aborted)this.setState({isAborted:!0}),setTimeout(()=>this.setState({isAborted:!1}),5e3);else switch(a.errorCode){case"erc20InsufficientGasFunds":J(this.props.t(`send.error.${a.errorCode}`));break;default:const{errorMessage:i}=a;J(this.props.t("unknownError",i&&{errorMessage:i}))}}catch(a){console.error(a)}finally{this.setState({isConfirming:!1,signProgress:void 0,signConfirm:!1})}}},this.txInput=()=>({address:this.state.recipientAddress,amount:this.state.amount,feeTarget:this.state.feeTarget||"",customFee:this.state.customFee,sendAll:this.state.sendAll?"yes":"no",selectedUTXOs:Object.keys(this.selectedUTXOs)}),this.sendDisabled=()=>{const e=this.txInput();return!e.address||this.state.feeTarget===void 0||e.sendAll==="no"&&!e.amount||this.state.feeTarget==="custom"&&!this.state.customFee},this.validateAndDisplayFee=(e=!0)=>{if(this.setState({proposedTotal:void 0,addressError:void 0,amountError:void 0,feeError:void 0}),this.sendDisabled())return;const n=this.txInput();this.proposeTimeout&&(clearTimeout(this.proposeTimeout),this.proposeTimeout=null),this.setState({isUpdatingProposal:!0}),this.proposeTimeout=setTimeout(()=>{const a=H("account/"+this.getAccount().code+"/tx-proposal",n).then(i=>{const o=this.pendingProposals.indexOf(a);this.pendingProposals.length-1===o&&this.txProposal(e,i),this.pendingProposals.splice(o,1)}).catch(()=>{this.setState({valid:!1}),this.pendingProposals.splice(this.pendingProposals.indexOf(a),1)});this.pendingProposals.push(a)},400)},this.handleNoteInput=e=>{const n=e.target;this.setState({note:n.value},()=>{QQ(this.getAccount().code,this.state.note)})},this.txProposal=(e,n)=>{if(this.setState({valid:n.success}),n.success)this.setState({addressError:void 0,amountError:void 0,feeError:void 0,proposedFee:n.fee,proposedAmount:n.amount,proposedTotal:n.total,isUpdatingProposal:!1}),e&&this.convertToFiat(n.amount.amount);else{const a=$oe(this.registerEvents,this.unregisterEvents,n.errorCode);this.setState({...a,isUpdatingProposal:!1})}},this.handleFiatInput=e=>{const n=e.target.value;this.setState({fiatAmount:n}),this.convertFromFiat(n)},this.convertToFiat=e=>{if(e){const n=this.getAccount().coinCode;Z(`coins/convert-to-plain-fiat?from=${n}&to=${this.state.fiatUnit}&amount=${e}`).then(a=>{a.success?this.setState({fiatAmount:a.fiatAmount}):this.setState({amountError:this.props.t("send.error.invalidAmount")})})}else this.setState({fiatAmount:""})},this.convertFromFiat=e=>{if(e){const n=this.getAccount().coinCode;Z(`coins/convert-from-fiat?from=${this.state.fiatUnit}&to=${n}&amount=${e}`).then(a=>{a.success?this.setState({amount:a.amount},()=>this.validateAndDisplayFee(!1)):this.setState({amountError:this.props.t("send.error.invalidAmount")})})}else this.setState({amount:""})},this.feeTargetChange=e=>{this.setState({feeTarget:e,customFee:""},()=>this.validateAndDisplayFee(this.state.sendAll))},this.onSelectedUTXOsChange=e=>{this.selectedUTXOs=e,this.validateAndDisplayFee(!0)},this.hasSelectedUTXOs=()=>Object.keys(this.selectedUTXOs).length!==0,this.getAccount=()=>{if(this.props.code)return Dd(this.props.accounts,this.props.code)},this.toggleCoinControl=()=>{this.setState(({activeCoinControl:e})=>(e&&(this.selectedUTXOs={}),{activeCoinControl:!e}))},this.setActiveScanQR=e=>{this.setState({activeScanQR:e})},this.parseQRResult=async e=>{let n,a="";try{const s=new URL(e);if(s.protocol!=="bitcoin:"&&s.protocol!=="litecoin:"&&s.protocol!=="ethereum:"){J(this.props.t("invalidFormat"));return}n=s.pathname,this.isBitcoinBased()&&(a=s.searchParams.get("amount")||"")}catch{n=e}let i={recipientAddress:n,sendAll:!1,fiatAmount:""};const o=this.getAccount().coinCode;if(a)if(o==="btc"||o==="tbtc"){const s=await Fie(a);if(s.success)i.amount=s.amount;else{i.amountError=this.props.t("send.error.invalidAmount"),this.setState(i);return}}else i.amount=a;this.setState(i,()=>{this.convertToFiat(this.state.amount),this.validateAndDisplayFee(!0)})},this.deactivateCoinControl=()=>{this.setState({activeCoinControl:!1})},this.onReceiverAddressInputChange=e=>{this.setState({recipientAddress:e},()=>{this.validateAndDisplayFee(!0)})},this.onCoinAmountChange=e=>{this.convertToFiat(e),this.setState({amount:e},()=>{this.validateAndDisplayFee(!0)})},this.onSendAllChange=e=>{e||this.convertToFiat(this.state.amount),this.setState({sendAll:e},()=>{this.validateAndDisplayFee(!0)})}}componentDidMount(){this.props.code&&Ur(this.props.code).then(e=>this.setState({balance:e})).catch(console.error),this.props.deviceIDs.length>0&&this.props.devices[this.props.deviceIDs[0]]==="bitbox"&&Z("devices/"+this.props.deviceIDs[0]+"/has-mobile-channel").then(e=>{Jo(this.props.deviceIDs[0]).then(({pairing:n})=>{const a=this.getAccount(),i=e&&n,o=n&&!e&&a&&La(a.coinCode);this.setState(s=>({...s,paired:i,noMobileChannelError:o}))})}),Z("config").then(e=>{this.setState({btcUnit:e.backend.btcUnit}),this.isBitcoinBased()&&this.setState({coinControl:!!(e.frontend||{}).coinControl})}),this.unsubscribeList=[Yo(e=>{if("type"in e){const{data:n,meta:a,type:i}=e;switch(i){case"device":switch(n){case"signProgress":this.setState({signProgress:a,signConfirm:!1});break;case"signConfirm":this.setState({signConfirm:!0});break}break}}}),Yd(e=>{this.props.code===e&&Ur(e).then(n=>this.setState({balance:n})).catch(console.error)})]}UNSAFE_componentWillMount(){this.registerEvents()}componentWillUnmount(){this.unregisterEvents(),Nl(this.unsubscribeList)}render(){var T;const{t:e,code:n}=this.props,{balance:a,proposedFee:i,proposedTotal:o,recipientAddress:s,proposedAmount:l,valid:c,amount:u,fiatAmount:d,fiatUnit:p,sendAll:h,feeTarget:m,customFee:g,isConfirming:v,isSent:y,isAborted:b,isUpdatingProposal:k,addressError:w,amountError:j,feeError:z,paired:S,signProgress:f,signConfirm:B,coinControl:D,btcUnit:C,activeCoinControl:P,activeScanQR:I,note:E}=this.state,L={proposedFee:i,proposedAmount:l,proposedTotal:o,customFee:g,feeTarget:m,recipientAddress:s,fiatUnit:p},q={isConfirming:v,signProgress:f,signConfirm:B},U=this.getAccount();if(!U)return null;const $=p==="BTC"&&C==="sat"?"sat":p;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{type:"warning",hidden:S!==!1,children:e("warning.sendPairing")}),r.jsx(xe,{title:r.jsx("h2",{children:e("send.title",{accountName:U.coinName})}),children:r.jsx(Qd,{})}),r.jsxs(re,{children:[r.jsxs(ue,{children:[r.jsx("div",{children:r.jsx("label",{className:"labelXLarge",children:e("send.availableBalance")})}),r.jsx(c1,{balance:a,noRotateFiat:!0}),D&&r.jsx(Doe,{accountCode:U.code,active:P,explorerURL:U.blockExplorerTxPrefix,onClose:this.deactivateCoinControl,onChange:this.onSelectedUTXOsChange}),r.jsxs("div",{className:`flex flex-row flex-between ${nre.container}`,children:[r.jsx("label",{className:"labelXLarge",children:e("send.transactionDetails")}),D&&r.jsx(_,{className:"m-bottom-quarter p-right-none",transparent:!0,onClick:this.toggleCoinControl,children:e("send.toggleCoinControl")})]}),r.jsx(Er,{col:"1",children:r.jsx(Ka,{children:r.jsx(Koe,{accountCode:(T=this.getAccount())==null?void 0:T.code,addressError:w,onInputChange:this.onReceiverAddressInputChange,recipientAddress:s,parseQRResult:this.parseQRResult,activeScanQR:I,onChangeActiveScanQR:this.setActiveScanQR})})}),r.jsxs(Er,{children:[r.jsx(Ka,{children:r.jsx(Yoe,{balance:a,onAmountChange:this.onCoinAmountChange,onSendAllChange:this.onSendAllChange,sendAll:h,amountError:j,proposedAmount:l,amount:u,hasSelectedUTXOs:this.hasSelectedUTXOs()})}),r.jsx(Ka,{children:r.jsx(Zoe,{onFiatChange:this.handleFiatInput,disabled:h,error:j,fiatAmount:d,label:$})})]}),r.jsxs(Er,{children:[r.jsx(Ka,{children:r.jsx(moe,{accountCode:U.code,coinCode:U.coinCode,disabled:!u&&!h,fiatUnit:$,proposedFee:i,customFee:g,showCalculatingFeeLabel:k,onFeeTargetChange:this.feeTargetChange,onCustomFee:F=>this.setState({customFee:F},this.validateAndDisplayFee),error:z})}),r.jsxs(Ka,{children:[r.jsx(ere,{note:E,onNoteChange:this.handleNoteInput}),r.jsxs(nu,{className:"m-top-default m-bottom-xlarge",inline:!0,children:[r.jsx(_,{primary:!0,onClick:this.send,disabled:this.sendDisabled()||!c||k,children:e("send.button")}),r.jsx(Qo,{secondary:!0,to:`/account/${n}`,children:e("button.back")})]})]})]})]}),r.jsx(Loe,{paired:S,baseCurrencyUnit:$,note:E,hasSelectedUTXOs:this.hasSelectedUTXOs(),selectedUTXOs:Object.keys(this.selectedUTXOs),coinCode:U.coinCode,transactionDetails:L,transactionStatus:q}),r.jsx(Vk,{isShown:y,messageType:"sent"}),r.jsx(Vk,{isShown:b,messageType:"abort"})]})]})}),r.jsx(Ioe,{coinCode:U.coinCode})]})}}const ire=kn()(are),ore=({accounts:t,code:e,deviceIDs:n,devices:a})=>{const{defaultCurrency:i}=x.useContext(Zo);return r.jsx(ire,{accounts:t,code:e,devices:a,deviceIDs:n,activeCurrency:i})},su=104,rre=t=>H(`devices/bitbox02/${t}/reset`),Yu=t=>Z(`devices/bitbox02/${t}/info`),Zd=t=>Z(`devices/bitbox02/${t}/check-sdcard`),sre=t=>H(`devices/bitbox02/${t}/insert-sdcard`),f1=(t,e)=>H(`devices/bitbox02/${t}/set-device-name`,{name:e}),g1=t=>Z(`devices/bitbox02/${t}/version`),lre=(t,e)=>H(`devices/bitbox02/${t}/set-mnemonic-passphrase-enabled`,e),v1=t=>Z(`devices/bitbox02/${t}/attestation`),Hm=(t,e)=>H(`devices/bitbox02/${t}/backups/check`,{silent:e}),b1=(t,e)=>H(`devices/bitbox02/${t}/backups/create`,e),cre=(t,e)=>H(`devices/bitbox02/${t}/backups/restore`,e),ure=t=>H(`devices/bitbox02/${t}/upgrade-firmware`),dre=t=>H(`devices/bitbox02/${t}/show-mnemonic`),pre=t=>H(`devices/bitbox02/${t}/restore-from-mnemonic`),Km=t=>Z(`devices/bitbox02/${t}/status`),hre=t=>Z(`devices/bitbox02/${t}/channel-hash`),mre=(t,e)=>H(`devices/bitbox02/${t}/channel-hash-verify`,e),fre=(t,e)=>H(`devices/bitbox02/${t}/set-password`,e),gre=t=>Z(`devices/bitbox02/${t}/root-fingerprint`),k1=(t,e)=>{const[n,a]=x.useState(!1),i=ro();return x.useEffect(()=>{const o=Object.keys(t);Promise.all(o.map(s=>{switch(t[s]){case"bitbox":return Jo(s).then(({sdcard:l})=>l);case"bitbox02":return Zd(s);default:return!1}})).then(s=>s.some(l=>l)).then(s=>{i.current&&a(s)}).catch(console.error)},[t,...e||[]]),n};function Ne(t){var e=t.width,n=t.height;if(e<0)throw new Error("Negative width is not allowed for Size");if(n<0)throw new Error("Negative height is not allowed for Size");return{width:e,height:n}}function To(t,e){return t.width===e.width&&t.height===e.height}var vre=function(){function t(e){var n=this;this._resolutionListener=function(){return n._onResolutionChanged()},this._resolutionMediaQueryList=null,this._observers=[],this._window=e,this._installResolutionListener()}return t.prototype.dispose=function(){this._uninstallResolutionListener(),this._window=null},Object.defineProperty(t.prototype,"value",{get:function(){return this._window.devicePixelRatio},enumerable:!1,configurable:!0}),t.prototype.subscribe=function(e){var n=this,a={next:e};return this._observers.push(a),{unsubscribe:function(){n._observers=n._observers.filter(function(i){return i!==a})}}},t.prototype._installResolutionListener=function(){if(this._resolutionMediaQueryList!==null)throw new Error("Resolution listener is already installed");var e=this._window.devicePixelRatio;this._resolutionMediaQueryList=this._window.matchMedia("all and (resolution: ".concat(e,"dppx)")),this._resolutionMediaQueryList.addListener(this._resolutionListener)},t.prototype._uninstallResolutionListener=function(){this._resolutionMediaQueryList!==null&&(this._resolutionMediaQueryList.removeListener(this._resolutionListener),this._resolutionMediaQueryList=null)},t.prototype._reinstallResolutionListener=function(){this._uninstallResolutionListener(),this._installResolutionListener()},t.prototype._onResolutionChanged=function(){var e=this;this._observers.forEach(function(n){return n.next(e._window.devicePixelRatio)}),this._reinstallResolutionListener()},t}();function bre(t){return new vre(t)}var kre=function(){function t(e,n,a){var i;this._canvasElement=null,this._bitmapSizeChangedListeners=[],this._suggestedBitmapSize=null,this._suggestedBitmapSizeChangedListeners=[],this._devicePixelRatioObservable=null,this._canvasElementResizeObserver=null,this._canvasElement=e,this._canvasElementClientSize=Ne({width:this._canvasElement.clientWidth,height:this._canvasElement.clientHeight}),this._transformBitmapSize=n??function(o){return o},this._allowResizeObserver=(i=a==null?void 0:a.allowResizeObserver)!==null&&i!==void 0?i:!0,this._chooseAndInitObserver()}return t.prototype.dispose=function(){var e,n;if(this._canvasElement===null)throw new Error("Object is disposed");(e=this._canvasElementResizeObserver)===null||e===void 0||e.disconnect(),this._canvasElementResizeObserver=null,(n=this._devicePixelRatioObservable)===null||n===void 0||n.dispose(),this._devicePixelRatioObservable=null,this._suggestedBitmapSizeChangedListeners.length=0,this._bitmapSizeChangedListeners.length=0,this._canvasElement=null},Object.defineProperty(t.prototype,"canvasElement",{get:function(){if(this._canvasElement===null)throw new Error("Object is disposed");return this._canvasElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canvasElementClientSize",{get:function(){return this._canvasElementClientSize},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bitmapSize",{get:function(){return Ne({width:this.canvasElement.width,height:this.canvasElement.height})},enumerable:!1,configurable:!0}),t.prototype.resizeCanvasElement=function(e){this._canvasElementClientSize=Ne(e),this.canvasElement.style.width="".concat(this._canvasElementClientSize.width,"px"),this.canvasElement.style.height="".concat(this._canvasElementClientSize.height,"px"),this._invalidateBitmapSize()},t.prototype.subscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners.push(e)},t.prototype.unsubscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners=this._bitmapSizeChangedListeners.filter(function(n){return n!==e})},Object.defineProperty(t.prototype,"suggestedBitmapSize",{get:function(){return this._suggestedBitmapSize},enumerable:!1,configurable:!0}),t.prototype.subscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners.push(e)},t.prototype.unsubscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners=this._suggestedBitmapSizeChangedListeners.filter(function(n){return n!==e})},t.prototype.applySuggestedBitmapSize=function(){if(this._suggestedBitmapSize!==null){var e=this._suggestedBitmapSize;this._suggestedBitmapSize=null,this._resizeBitmap(e),this._emitSuggestedBitmapSizeChanged(e,this._suggestedBitmapSize)}},t.prototype._resizeBitmap=function(e){var n=this.bitmapSize;To(n,e)||(this.canvasElement.width=e.width,this.canvasElement.height=e.height,this._emitBitmapSizeChanged(n,e))},t.prototype._emitBitmapSizeChanged=function(e,n){var a=this;this._bitmapSizeChangedListeners.forEach(function(i){return i.call(a,e,n)})},t.prototype._suggestNewBitmapSize=function(e){var n=this._suggestedBitmapSize,a=Ne(this._transformBitmapSize(e,this._canvasElementClientSize)),i=To(this.bitmapSize,a)?null:a;n===null&&i===null||n!==null&&i!==null&&To(n,i)||(this._suggestedBitmapSize=i,this._emitSuggestedBitmapSizeChanged(n,i))},t.prototype._emitSuggestedBitmapSizeChanged=function(e,n){var a=this;this._suggestedBitmapSizeChangedListeners.forEach(function(i){return i.call(a,e,n)})},t.prototype._chooseAndInitObserver=function(){var e=this;if(!this._allowResizeObserver){this._initDevicePixelRatioObservable();return}yre().then(function(n){return n?e._initResizeObserver():e._initDevicePixelRatioObservable()})},t.prototype._initDevicePixelRatioObservable=function(){var e=this;if(this._canvasElement!==null){var n=qk(this._canvasElement);if(n===null)throw new Error("No window is associated with the canvas");this._devicePixelRatioObservable=bre(n),this._devicePixelRatioObservable.subscribe(function(){return e._invalidateBitmapSize()}),this._invalidateBitmapSize()}},t.prototype._invalidateBitmapSize=function(){var e,n;if(this._canvasElement!==null){var a=qk(this._canvasElement);if(a!==null){var i=(n=(e=this._devicePixelRatioObservable)===null||e===void 0?void 0:e.value)!==null&&n!==void 0?n:a.devicePixelRatio,o=this._canvasElement.getClientRects(),s=o[0]!==void 0?wre(o[0],i):Ne({width:this._canvasElementClientSize.width*i,height:this._canvasElementClientSize.height*i});this._suggestNewBitmapSize(s)}}},t.prototype._initResizeObserver=function(){var e=this;this._canvasElement!==null&&(this._canvasElementResizeObserver=new ResizeObserver(function(n){var a=n.find(function(s){return s.target===e._canvasElement});if(!(!a||!a.devicePixelContentBoxSize||!a.devicePixelContentBoxSize[0])){var i=a.devicePixelContentBoxSize[0],o=Ne({width:i.inlineSize,height:i.blockSize});e._suggestNewBitmapSize(o)}}),this._canvasElementResizeObserver.observe(this._canvasElement,{box:"device-pixel-content-box"}))},t}();function xre(t,e){if(e.type==="device-pixel-content-box")return new kre(t,e.transform,e.options);throw new Error("Unsupported binding target")}function qk(t){return t.ownerDocument.defaultView}function yre(){return new Promise(function(t){var e=new ResizeObserver(function(n){t(n.every(function(a){return"devicePixelContentBoxSize"in a})),e.disconnect()});e.observe(document.body,{box:"device-pixel-content-box"})}).catch(function(){return!1})}function wre(t,e){return Ne({width:Math.round(t.left*e+t.width*e)-Math.round(t.left*e),height:Math.round(t.top*e+t.height*e)-Math.round(t.top*e)})}var jre=function(){function t(e,n,a){if(n.width===0||n.height===0)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=n,a.width===0||a.height===0)throw new TypeError("Rendering target could only be created using a bitmap with positive integer width and height");this._bitmapSize=a,this._context=e}return t.prototype.useMediaCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),e({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},t.prototype.useBitmapCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),e({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}},Object.defineProperty(t.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),t}();function Wo(t,e){var n=t.canvasElementClientSize;if(n.width===0||n.height===0)return null;var a=t.bitmapSize;if(a.width===0||a.height===0)return null;var i=t.canvasElement.getContext("2d",e);return i===null?null:new jre(i,n,a)}/*! +`]))),$ee=function(e,n){var a=e.isFocused,i=e.size,o=e.theme,s=o.colors,l=o.spacing.baseUnit;return ne({label:"loadingIndicator",display:"flex",transition:"color 150ms",alignSelf:"center",fontSize:i,lineHeight:1,marginRight:i,textAlign:"center",verticalAlign:"middle"},n?{}:{color:a?s.neutral60:s.neutral20,padding:l*2})},nh=function(e){var n=e.delay,a=e.offset;return ae("span",{css:Ig({animation:"".concat(Iee," 1s ease-in-out ").concat(n,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:a?"1em":void 0,height:"1em",verticalAlign:"top",width:"1em"},"","")})},Mee=function(e){var n=e.innerProps,a=e.isRtl,i=e.size,o=i===void 0?4:i,s=$a(e,Dee);return ae("div",ie({},Ze(ne(ne({},s),{},{innerProps:n,isRtl:a,size:o}),"loadingIndicator",{indicator:!0,"loading-indicator":!0}),n),ae(nh,{delay:0,offset:a}),ae(nh,{delay:160,offset:!0}),ae(nh,{delay:320,offset:!a}))},Oee=function(e,n){var a=e.isDisabled,i=e.isFocused,o=e.theme,s=o.colors,l=o.borderRadius,c=o.spacing;return ne({label:"control",alignItems:"center",cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:c.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms"},n?{}:{backgroundColor:a?s.neutral5:s.neutral0,borderColor:a?s.neutral10:i?s.primary:s.neutral20,borderRadius:l,borderStyle:"solid",borderWidth:1,boxShadow:i?"0 0 0 1px ".concat(s.primary):void 0,"&:hover":{borderColor:i?s.primary:s.neutral30}})},Ree=function(e){var n=e.children,a=e.isDisabled,i=e.isFocused,o=e.innerRef,s=e.innerProps,l=e.menuIsOpen;return ae("div",ie({ref:o},Ze(e,"control",{control:!0,"control--is-disabled":a,"control--is-focused":i,"control--menu-is-open":l}),s),n)},Fee=Ree,Vee=["data"],Wee=function(e,n){var a=e.theme.spacing;return n?{}:{paddingBottom:a.baseUnit*2,paddingTop:a.baseUnit*2}},Uee=function(e){var n=e.children,a=e.cx,i=e.getStyles,o=e.getClassNames,s=e.Heading,l=e.headingProps,c=e.innerProps,u=e.label,d=e.theme,p=e.selectProps;return ae("div",ie({},Ze(e,"group",{group:!0}),c),ae(s,ie({},l,{selectProps:p,theme:d,getStyles:i,getClassNames:o,cx:a}),u),ae("div",null,n))},qee=function(e,n){var a=e.theme,i=a.colors,o=a.spacing;return ne({label:"group",cursor:"default",display:"block"},n?{}:{color:i.neutral40,fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:o.baseUnit*3,paddingRight:o.baseUnit*3,textTransform:"uppercase"})},Hee=function(e){var n=TB(e);n.data;var a=$a(n,Vee);return ae("div",ie({},Ze(e,"groupHeading",{"group-heading":!0}),a))},Kee=Uee,Gee=["innerRef","isDisabled","isHidden","inputClassName"],Qee=function(e,n){var a=e.isDisabled,i=e.value,o=e.theme,s=o.spacing,l=o.colors;return ne(ne({visibility:a?"hidden":"visible",transform:i?"translateZ(0)":""},Yee),n?{}:{margin:s.baseUnit/2,paddingBottom:s.baseUnit/2,paddingTop:s.baseUnit/2,color:l.neutral80})},RB={gridArea:"1 / 2",font:"inherit",minWidth:"2px",border:0,margin:0,outline:0,padding:0},Yee={flex:"1 1 auto",display:"inline-grid",gridArea:"1 / 1 / 2 / 3",gridTemplateColumns:"0 min-content","&:after":ne({content:'attr(data-value) " "',visibility:"hidden",whiteSpace:"pre"},RB)},Zee=function(e){return ne({label:"input",color:"inherit",background:0,opacity:e?0:1,width:"100%"},RB)},Jee=function(e){var n=e.cx,a=e.value,i=TB(e),o=i.innerRef,s=i.isDisabled,l=i.isHidden,c=i.inputClassName,u=$a(i,Gee);return ae("div",ie({},Ze(e,"input",{"input-container":!0}),{"data-value":a||""}),ae("input",ie({className:n({input:!0},c),ref:o,style:Zee(l),disabled:s},u)))},Xee=Jee,ete=function(e,n){var a=e.theme,i=a.spacing,o=a.borderRadius,s=a.colors;return ne({label:"multiValue",display:"flex",minWidth:0},n?{}:{backgroundColor:s.neutral10,borderRadius:o/2,margin:i.baseUnit/2})},tte=function(e,n){var a=e.theme,i=a.borderRadius,o=a.colors,s=e.cropWithEllipsis;return ne({overflow:"hidden",textOverflow:s||s===void 0?"ellipsis":void 0,whiteSpace:"nowrap"},n?{}:{borderRadius:i/2,color:o.neutral80,fontSize:"85%",padding:3,paddingLeft:6})},nte=function(e,n){var a=e.theme,i=a.spacing,o=a.borderRadius,s=a.colors,l=e.isFocused;return ne({alignItems:"center",display:"flex"},n?{}:{borderRadius:o/2,backgroundColor:l?s.dangerLight:void 0,paddingLeft:i.baseUnit,paddingRight:i.baseUnit,":hover":{backgroundColor:s.dangerLight,color:s.danger}})},FB=function(e){var n=e.children,a=e.innerProps;return ae("div",a,n)},ate=FB,ite=FB;function ote(t){var e=t.children,n=t.innerProps;return ae("div",ie({role:"button"},n),e||ae(Rg,{size:14}))}var rte=function(e){var n=e.children,a=e.components,i=e.data,o=e.innerProps,s=e.isDisabled,l=e.removeProps,c=e.selectProps,u=a.Container,d=a.Label,p=a.Remove;return ae(u,{data:i,innerProps:ne(ne({},Ze(e,"multiValue",{"multi-value":!0,"multi-value--is-disabled":s})),o),selectProps:c},ae(d,{data:i,innerProps:ne({},Ze(e,"multiValueLabel",{"multi-value__label":!0})),selectProps:c},n),ae(p,{data:i,innerProps:ne(ne({},Ze(e,"multiValueRemove",{"multi-value__remove":!0})),{},{"aria-label":"Remove ".concat(n||"option")},l),selectProps:c}))},ste=rte,lte=function(e,n){var a=e.isDisabled,i=e.isFocused,o=e.isSelected,s=e.theme,l=s.spacing,c=s.colors;return ne({label:"option",cursor:"default",display:"block",fontSize:"inherit",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)"},n?{}:{backgroundColor:o?c.primary:i?c.primary25:"transparent",color:a?c.neutral20:o?c.neutral0:"inherit",padding:"".concat(l.baseUnit*2,"px ").concat(l.baseUnit*3,"px"),":active":{backgroundColor:a?void 0:o?c.primary:c.primary50}})},cte=function(e){var n=e.children,a=e.isDisabled,i=e.isFocused,o=e.isSelected,s=e.innerRef,l=e.innerProps;return ae("div",ie({},Ze(e,"option",{option:!0,"option--is-disabled":a,"option--is-focused":i,"option--is-selected":o}),{ref:s,"aria-disabled":a},l),n)},ute=cte,dte=function(e,n){var a=e.theme,i=a.spacing,o=a.colors;return ne({label:"placeholder",gridArea:"1 / 1 / 2 / 3"},n?{}:{color:o.neutral50,marginLeft:i.baseUnit/2,marginRight:i.baseUnit/2})},pte=function(e){var n=e.children,a=e.innerProps;return ae("div",ie({},Ze(e,"placeholder",{placeholder:!0}),a),n)},hte=pte,mte=function(e,n){var a=e.isDisabled,i=e.theme,o=i.spacing,s=i.colors;return ne({label:"singleValue",gridArea:"1 / 1 / 2 / 3",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},n?{}:{color:a?s.neutral40:s.neutral80,marginLeft:o.baseUnit/2,marginRight:o.baseUnit/2})},fte=function(e){var n=e.children,a=e.isDisabled,i=e.innerProps;return ae("div",ie({},Ze(e,"singleValue",{"single-value":!0,"single-value--is-disabled":a}),i),n)},gte=fte,Un={ClearIndicator:Pee,Control:Fee,DropdownIndicator:Tee,DownChevron:MB,CrossIcon:Rg,Group:Kee,GroupHeading:Hee,IndicatorsContainer:zee,IndicatorSeparator:Lee,Input:Xee,LoadingIndicator:Mee,Menu:pee,MenuList:mee,MenuPortal:xee,LoadingMessage:bee,NoOptionsMessage:vee,MultiValue:ste,MultiValueContainer:ate,MultiValueLabel:ite,MultiValueRemove:ote,Option:ute,Placeholder:hte,SelectContainer:wee,SingleValue:gte,ValueContainer:Bee},vte=function(e){return ne(ne({},Un),e.components)},Ck=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function bte(t,e){return!!(t===e||Ck(t)&&Ck(e))}function kte(t,e){if(t.length!==e.length)return!1;for(var n=0;n1?"s":""," ").concat(o.join(","),", selected.");case"select-option":return s?"option ".concat(i," is disabled. Select another option."):"option ".concat(i,", selected.");default:return""}},onFocus:function(e){var n=e.context,a=e.focused,i=e.options,o=e.label,s=o===void 0?"":o,l=e.selectValue,c=e.isDisabled,u=e.isSelected,d=function(g,v){return g&&g.length?"".concat(g.indexOf(v)+1," of ").concat(g.length):""};if(n==="value"&&l)return"value ".concat(s," focused, ").concat(d(l,a),".");if(n==="menu"){var p=c?" disabled":"",h="".concat(u?"selected":"focused").concat(p);return"option ".concat(s," ").concat(h,", ").concat(d(i,a),".")}return""},onFilter:function(e){var n=e.inputValue,a=e.resultsMessage;return"".concat(a).concat(n?" for search term "+n:"",".")}},Bte=function(e){var n=e.ariaSelection,a=e.focusedOption,i=e.focusedValue,o=e.focusableOptions,s=e.isFocused,l=e.selectValue,c=e.selectProps,u=e.id,d=c.ariaLiveMessages,p=c.getOptionLabel,h=c.inputValue,m=c.isMulti,g=c.isOptionDisabled,v=c.isSearchable,y=c.menuIsOpen,b=c.options,k=c.screenReaderStatus,w=c.tabSelectsValue,j=c["aria-label"],z=c["aria-live"],S=x.useMemo(function(){return ne(ne({},jte),d||{})},[d]),f=x.useMemo(function(){var L="";if(n&&S.onChange){var q=n.option,U=n.options,$=n.removedValue,T=n.removedValues,F=n.value,N=function(oe){return Array.isArray(oe)?null:oe},Q=$||q||N(F),K=Q?p(Q):"",V=U||T||void 0,G=V?V.map(p):[],ee=ne({isDisabled:Q&&g(Q,l),label:K,labels:G},n);L=S.onChange(ee)}return L},[n,S,g,l,p]),B=x.useMemo(function(){var L="",q=a||i,U=!!(a&&l&&l.includes(a));if(q&&S.onFocus){var $={focused:q,label:p(q),isDisabled:g(q,l),isSelected:U,options:o,context:q===a?"menu":"value",selectValue:l};L=S.onFocus($)}return L},[a,i,p,g,S,o,l]),D=x.useMemo(function(){var L="";if(y&&b.length&&S.onFilter){var q=k({count:o.length});L=S.onFilter({inputValue:h,resultsMessage:q})}return L},[o,h,y,S,b,k]),C=x.useMemo(function(){var L="";if(S.guidance){var q=i?"value":y?"menu":"input";L=S.guidance({"aria-label":j,context:q,isDisabled:a&&g(a,l),isMulti:m,isSearchable:v,tabSelectsValue:w})}return L},[j,a,i,m,g,v,y,S,l,w]),P="".concat(B," ").concat(D," ").concat(C),I=ae(x.Fragment,null,ae("span",{id:"aria-selection"},f),ae("span",{id:"aria-context"},P)),E=(n==null?void 0:n.action)==="initial-input-focus";return ae(x.Fragment,null,ae(Dk,{id:u},E&&I),ae(Dk,{"aria-live":z,"aria-atomic":"false","aria-relevant":"additions text"},s&&!E&&I))},Ste=Bte,Um=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],zte=new RegExp("["+Um.map(function(t){return t.letters}).join("")+"]","g"),VB={};for(var ah=0;ah-1}},_te=["innerRef"];function Tte(t){var e=t.innerRef,n=$a(t,_te),a=iee(n,"onExited","in","enter","exit","appear");return ae("input",ie({ref:e},a,{css:Ig({label:"dummyInput",background:0,border:0,caretColor:"transparent",fontSize:"inherit",gridArea:"1 / 1 / 2 / 3",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(.01)"},"","")}))}var Ete=function(e){e.preventDefault(),e.stopPropagation()};function Pte(t){var e=t.isEnabled,n=t.onBottomArrive,a=t.onBottomLeave,i=t.onTopArrive,o=t.onTopLeave,s=x.useRef(!1),l=x.useRef(!1),c=x.useRef(0),u=x.useRef(null),d=x.useCallback(function(y,b){if(u.current!==null){var k=u.current,w=k.scrollTop,j=k.scrollHeight,z=k.clientHeight,S=u.current,f=b>0,B=j-z-w,D=!1;B>b&&s.current&&(a&&a(y),s.current=!1),f&&l.current&&(o&&o(y),l.current=!1),f&&b>B?(n&&!s.current&&n(y),S.scrollTop=j,D=!0,s.current=!0):!f&&-b>w&&(i&&!l.current&&i(y),S.scrollTop=0,D=!0,l.current=!0),D&&Ete(y)}},[n,a,i,o]),p=x.useCallback(function(y){d(y,y.deltaY)},[d]),h=x.useCallback(function(y){c.current=y.changedTouches[0].clientY},[]),m=x.useCallback(function(y){var b=c.current-y.changedTouches[0].clientY;d(y,b)},[d]),g=x.useCallback(function(y){if(y){var b=tee?{passive:!1}:!1;y.addEventListener("wheel",p,b),y.addEventListener("touchstart",h,b),y.addEventListener("touchmove",m,b)}},[m,h,p]),v=x.useCallback(function(y){y&&(y.removeEventListener("wheel",p,!1),y.removeEventListener("touchstart",h,!1),y.removeEventListener("touchmove",m,!1))},[m,h,p]);return x.useEffect(function(){if(e){var y=u.current;return g(y),function(){v(y)}}},[e,g,v]),function(y){u.current=y}}var _k=["boxSizing","height","overflow","paddingRight","position"],Tk={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function Ek(t){t.preventDefault()}function Pk(t){t.stopPropagation()}function Nk(){var t=this.scrollTop,e=this.scrollHeight,n=t+this.offsetHeight;t===0?this.scrollTop=1:n===e&&(this.scrollTop=t-1)}function Lk(){return"ontouchstart"in window||navigator.maxTouchPoints}var Ik=!!(typeof window<"u"&&window.document&&window.document.createElement),ys=0,ar={capture:!1,passive:!1};function Nte(t){var e=t.isEnabled,n=t.accountForScrollbars,a=n===void 0?!0:n,i=x.useRef({}),o=x.useRef(null),s=x.useCallback(function(c){if(Ik){var u=document.body,d=u&&u.style;if(a&&_k.forEach(function(g){var v=d&&d[g];i.current[g]=v}),a&&ys<1){var p=parseInt(i.current.paddingRight,10)||0,h=document.body?document.body.clientWidth:0,m=window.innerWidth-h+p||0;Object.keys(Tk).forEach(function(g){var v=Tk[g];d&&(d[g]=v)}),d&&(d.paddingRight="".concat(m,"px"))}u&&Lk()&&(u.addEventListener("touchmove",Ek,ar),c&&(c.addEventListener("touchstart",Nk,ar),c.addEventListener("touchmove",Pk,ar))),ys+=1}},[a]),l=x.useCallback(function(c){if(Ik){var u=document.body,d=u&&u.style;ys=Math.max(ys-1,0),a&&ys<1&&_k.forEach(function(p){var h=i.current[p];d&&(d[p]=h)}),u&&Lk()&&(u.removeEventListener("touchmove",Ek,ar),c&&(c.removeEventListener("touchstart",Nk,ar),c.removeEventListener("touchmove",Pk,ar)))}},[a]);return x.useEffect(function(){if(e){var c=o.current;return s(c),function(){l(c)}}},[e,s,l]),function(c){o.current=c}}var Lte=function(){return document.activeElement&&document.activeElement.blur()},Ite={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function $te(t){var e=t.children,n=t.lockEnabled,a=t.captureEnabled,i=a===void 0?!0:a,o=t.onBottomArrive,s=t.onBottomLeave,l=t.onTopArrive,c=t.onTopLeave,u=Pte({isEnabled:i,onBottomArrive:o,onBottomLeave:s,onTopArrive:l,onTopLeave:c}),d=Nte({isEnabled:n}),p=function(m){u(m),d(m)};return ae(x.Fragment,null,n&&ae("div",{onClick:Lte,css:Ite}),e(p))}var Mte={name:"1a0ro4n-requiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%"},Ote=function(e){var n=e.name,a=e.onFocus;return ae("input",{required:!0,name:n,tabIndex:-1,"aria-hidden":"true",onFocus:a,css:Mte,value:"",onChange:function(){}})},Rte=Ote,Fte=function(e){return e.label},Vte=function(e){return e.label},Wte=function(e){return e.value},Ute=function(e){return!!e.isDisabled},qte={clearIndicator:Eee,container:yee,control:Oee,dropdownIndicator:_ee,group:Wee,groupHeading:qee,indicatorsContainer:See,indicatorSeparator:Nee,input:Qee,loadingIndicator:$ee,loadingMessage:gee,menu:cee,menuList:hee,menuPortal:kee,multiValue:ete,multiValueLabel:tte,multiValueRemove:nte,noOptionsMessage:fee,option:lte,placeholder:dte,singleValue:mte,valueContainer:jee},Hte={primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},Kte=4,UB=4,Gte=38,Qte=UB*2,Yte={baseUnit:UB,controlHeight:Gte,menuGutter:Qte},rh={borderRadius:Kte,colors:Hte,spacing:Yte},Zte={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:Sk(),captureMenuScroll:!Sk(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:Ate(),formatGroupLabel:Fte,getOptionLabel:Vte,getOptionValue:Wte,isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:Ute,loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!XX(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var n=e.count;return"".concat(n," result").concat(n!==1?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1};function $k(t,e,n,a){var i=GB(t,e,n),o=QB(t,e,n),s=KB(t,e),l=Qu(t,e);return{type:"option",data:e,isDisabled:i,isSelected:o,label:s,value:l,index:a}}function qB(t,e){return t.options.map(function(n,a){if("options"in n){var i=n.options.map(function(s,l){return $k(t,s,e,l)}).filter(function(s){return Mk(t,s)});return i.length>0?{type:"group",data:n,options:i,index:a}:void 0}var o=$k(t,n,e,a);return Mk(t,o)?o:void 0}).filter(nee)}function HB(t){return t.reduce(function(e,n){return n.type==="group"?e.push.apply(e,uB(n.options.map(function(a){return a.data}))):e.push(n.data),e},[])}function Jte(t,e){return HB(qB(t,e))}function Mk(t,e){var n=t.inputValue,a=n===void 0?"":n,i=e.data,o=e.isSelected,s=e.label,l=e.value;return(!ZB(t)||!o)&&YB(t,{label:s,value:l,data:i},a)}function Xte(t,e){var n=t.focusedValue,a=t.selectValue,i=a.indexOf(n);if(i>-1){var o=e.indexOf(n);if(o>-1)return n;if(i-1?n:e[0]}var KB=function(e,n){return e.getOptionLabel(n)},Qu=function(e,n){return e.getOptionValue(n)};function GB(t,e,n){return typeof t.isOptionDisabled=="function"?t.isOptionDisabled(e,n):!1}function QB(t,e,n){if(n.indexOf(e)>-1)return!0;if(typeof t.isOptionSelected=="function")return t.isOptionSelected(e,n);var a=Qu(t,e);return n.some(function(i){return Qu(t,i)===a})}function YB(t,e,n){return t.filterOption?t.filterOption(e,n):!0}var ZB=function(e){var n=e.hideSelectedOptions,a=e.isMulti;return n===void 0?a:n},tne=1,JB=function(t){Tl(n,t);var e=DJ(n);function n(a){var i;if(qn(this,n),i=e.call(this,a),i.state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},i.blockOptionHover=!1,i.isComposing=!1,i.commonProps=void 0,i.initialTouchX=0,i.initialTouchY=0,i.instancePrefix="",i.openAfterFocus=!1,i.scrollToFocusedOptionOnUpdate=!1,i.userIsDragging=void 0,i.controlRef=null,i.getControlRef=function(l){i.controlRef=l},i.focusedOptionRef=null,i.getFocusedOptionRef=function(l){i.focusedOptionRef=l},i.menuListRef=null,i.getMenuListRef=function(l){i.menuListRef=l},i.inputRef=null,i.getInputRef=function(l){i.inputRef=l},i.focus=i.focusInput,i.blur=i.blurInput,i.onChange=function(l,c){var u=i.props,d=u.onChange,p=u.name;c.name=p,i.ariaOnChange(l,c),d(l,c)},i.setValue=function(l,c,u){var d=i.props,p=d.closeMenuOnSelect,h=d.isMulti,m=d.inputValue;i.onInputChange("",{action:"set-value",prevInputValue:m}),p&&(i.setState({inputIsHiddenAfterUpdate:!h}),i.onMenuClose()),i.setState({clearFocusValueOnUpdate:!0}),i.onChange(l,{action:c,option:u})},i.selectOption=function(l){var c=i.props,u=c.blurInputOnSelect,d=c.isMulti,p=c.name,h=i.state.selectValue,m=d&&i.isOptionSelected(l,h),g=i.isOptionDisabled(l,h);if(m){var v=i.getOptionValue(l);i.setValue(h.filter(function(y){return i.getOptionValue(y)!==v}),"deselect-option",l)}else if(!g)d?i.setValue([].concat(uB(h),[l]),"select-option",l):i.setValue(l,"select-option");else{i.ariaOnChange(l,{action:"select-option",option:l,name:p});return}u&&i.blurInput()},i.removeValue=function(l){var c=i.props.isMulti,u=i.state.selectValue,d=i.getOptionValue(l),p=u.filter(function(m){return i.getOptionValue(m)!==d}),h=jc(c,p,p[0]||null);i.onChange(h,{action:"remove-value",removedValue:l}),i.focusInput()},i.clearValue=function(){var l=i.state.selectValue;i.onChange(jc(i.props.isMulti,[],null),{action:"clear",removedValues:l})},i.popValue=function(){var l=i.props.isMulti,c=i.state.selectValue,u=c[c.length-1],d=c.slice(0,c.length-1),p=jc(l,d,d[0]||null);i.onChange(p,{action:"pop-value",removedValue:u})},i.getValue=function(){return i.state.selectValue},i.cx=function(){for(var l=arguments.length,c=new Array(l),u=0;uh||p>h}},i.onTouchEnd=function(l){i.userIsDragging||(i.controlRef&&!i.controlRef.contains(l.target)&&i.menuListRef&&!i.menuListRef.contains(l.target)&&i.blurInput(),i.initialTouchX=0,i.initialTouchY=0)},i.onControlTouchEnd=function(l){i.userIsDragging||i.onControlMouseDown(l)},i.onClearIndicatorTouchEnd=function(l){i.userIsDragging||i.onClearIndicatorMouseDown(l)},i.onDropdownIndicatorTouchEnd=function(l){i.userIsDragging||i.onDropdownIndicatorMouseDown(l)},i.handleInputChange=function(l){var c=i.props.inputValue,u=l.currentTarget.value;i.setState({inputIsHiddenAfterUpdate:!1}),i.onInputChange(u,{action:"input-change",prevInputValue:c}),i.props.menuIsOpen||i.onMenuOpen()},i.onInputFocus=function(l){i.props.onFocus&&i.props.onFocus(l),i.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(i.openAfterFocus||i.props.openMenuOnFocus)&&i.openMenu("first"),i.openAfterFocus=!1},i.onInputBlur=function(l){var c=i.props.inputValue;if(i.menuListRef&&i.menuListRef.contains(document.activeElement)){i.inputRef.focus();return}i.props.onBlur&&i.props.onBlur(l),i.onInputChange("",{action:"input-blur",prevInputValue:c}),i.onMenuClose(),i.setState({focusedValue:null,isFocused:!1})},i.onOptionHover=function(l){i.blockOptionHover||i.state.focusedOption===l||i.setState({focusedOption:l})},i.shouldHideSelectedOptions=function(){return ZB(i.props)},i.onValueInputFocus=function(l){l.preventDefault(),l.stopPropagation(),i.focus()},i.onKeyDown=function(l){var c=i.props,u=c.isMulti,d=c.backspaceRemovesValue,p=c.escapeClearsValue,h=c.inputValue,m=c.isClearable,g=c.isDisabled,v=c.menuIsOpen,y=c.onKeyDown,b=c.tabSelectsValue,k=c.openMenuOnFocus,w=i.state,j=w.focusedOption,z=w.focusedValue,S=w.selectValue;if(!g&&!(typeof y=="function"&&(y(l),l.defaultPrevented))){switch(i.blockOptionHover=!0,l.key){case"ArrowLeft":if(!u||h)return;i.focusValue("previous");break;case"ArrowRight":if(!u||h)return;i.focusValue("next");break;case"Delete":case"Backspace":if(h)return;if(z)i.removeValue(z);else{if(!d)return;u?i.popValue():m&&i.clearValue()}break;case"Tab":if(i.isComposing||l.shiftKey||!v||!b||!j||k&&i.isOptionSelected(j,S))return;i.selectOption(j);break;case"Enter":if(l.keyCode===229)break;if(v){if(!j||i.isComposing)return;i.selectOption(j);break}return;case"Escape":v?(i.setState({inputIsHiddenAfterUpdate:!1}),i.onInputChange("",{action:"menu-close",prevInputValue:h}),i.onMenuClose()):m&&p&&i.clearValue();break;case" ":if(h)return;if(!v){i.openMenu("first");break}if(!j)return;i.selectOption(j);break;case"ArrowUp":v?i.focusOption("up"):i.openMenu("last");break;case"ArrowDown":v?i.focusOption("down"):i.openMenu("first");break;case"PageUp":if(!v)return;i.focusOption("pageup");break;case"PageDown":if(!v)return;i.focusOption("pagedown");break;case"Home":if(!v)return;i.focusOption("first");break;case"End":if(!v)return;i.focusOption("last");break;default:return}l.preventDefault()}},i.instancePrefix="react-select-"+(i.props.instanceId||++tne),i.state.selectValue=jk(a.value),a.menuIsOpen&&i.state.selectValue.length){var o=i.buildFocusableOptions(),s=o.indexOf(i.state.selectValue[0]);i.state.focusedOption=o[s]}return i}return Hn(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&Bk(this.menuListRef,this.focusedOptionRef)}},{key:"componentDidUpdate",value:function(i){var o=this.props,s=o.isDisabled,l=o.menuIsOpen,c=this.state.isFocused;(c&&!s&&i.isDisabled||c&&l&&!i.menuIsOpen)&&this.focusInput(),c&&s&&!i.isDisabled?this.setState({isFocused:!1},this.onMenuClose):!c&&!s&&i.isDisabled&&this.inputRef===document.activeElement&&this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(Bk(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:"onInputChange",value:function(i,o){this.props.onInputChange(i,o)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(i){var o=this,s=this.state,l=s.selectValue,c=s.isFocused,u=this.buildFocusableOptions(),d=i==="first"?0:u.length-1;if(!this.props.isMulti){var p=u.indexOf(l[0]);p>-1&&(d=p)}this.scrollToFocusedOptionOnUpdate=!(c&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:u[d]},function(){return o.onMenuOpen()})}},{key:"focusValue",value:function(i){var o=this.state,s=o.selectValue,l=o.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var c=s.indexOf(l);l||(c=-1);var u=s.length-1,d=-1;if(s.length){switch(i){case"previous":c===0?d=0:c===-1?d=u:d=c-1;break;case"next":c>-1&&c0&&arguments[0]!==void 0?arguments[0]:"first",o=this.props.pageSize,s=this.state.focusedOption,l=this.getFocusableOptions();if(l.length){var c=0,u=l.indexOf(s);s||(u=-1),i==="up"?c=u>0?u-1:l.length-1:i==="down"?c=(u+1)%l.length:i==="pageup"?(c=u-o,c<0&&(c=0)):i==="pagedown"?(c=u+o,c>l.length-1&&(c=l.length-1)):i==="last"&&(c=l.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:l[c],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?typeof this.props.theme=="function"?this.props.theme(rh):ne(ne({},rh),this.props.theme):rh}},{key:"getCommonProps",value:function(){var i=this.clearValue,o=this.cx,s=this.getStyles,l=this.getClassNames,c=this.getValue,u=this.selectOption,d=this.setValue,p=this.props,h=p.isMulti,m=p.isRtl,g=p.options,v=this.hasValue();return{clearValue:i,cx:o,getStyles:s,getClassNames:l,getValue:c,hasValue:v,isMulti:h,isRtl:m,options:g,selectOption:u,selectProps:p,setValue:d,theme:this.getTheme()}}},{key:"hasValue",value:function(){var i=this.state.selectValue;return i.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var i=this.props,o=i.isClearable,s=i.isMulti;return o===void 0?s:o}},{key:"isOptionDisabled",value:function(i,o){return GB(this.props,i,o)}},{key:"isOptionSelected",value:function(i,o){return QB(this.props,i,o)}},{key:"filterOption",value:function(i,o){return YB(this.props,i,o)}},{key:"formatOptionLabel",value:function(i,o){if(typeof this.props.formatOptionLabel=="function"){var s=this.props.inputValue,l=this.state.selectValue;return this.props.formatOptionLabel(i,{context:o,inputValue:s,selectValue:l})}else return this.getOptionLabel(i)}},{key:"formatGroupLabel",value:function(i){return this.props.formatGroupLabel(i)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var i=this.props,o=i.isDisabled,s=i.isSearchable,l=i.inputId,c=i.inputValue,u=i.tabIndex,d=i.form,p=i.menuIsOpen,h=i.required,m=this.getComponents(),g=m.Input,v=this.state,y=v.inputIsHidden,b=v.ariaSelection,k=this.commonProps,w=l||this.getElementId("input"),j=ne(ne(ne({"aria-autocomplete":"list","aria-expanded":p,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-required":h,role:"combobox"},p&&{"aria-controls":this.getElementId("listbox"),"aria-owns":this.getElementId("listbox")}),!s&&{"aria-readonly":!0}),this.hasValue()?(b==null?void 0:b.action)==="initial-input-focus"&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return s?x.createElement(g,ie({},k,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:w,innerRef:this.getInputRef,isDisabled:o,isHidden:y,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:u,form:d,type:"text",value:c},j)):x.createElement(Tte,ie({id:w,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Ku,onFocus:this.onInputFocus,disabled:o,tabIndex:u,inputMode:"none",form:d,value:""},j))}},{key:"renderPlaceholderOrValue",value:function(){var i=this,o=this.getComponents(),s=o.MultiValue,l=o.MultiValueContainer,c=o.MultiValueLabel,u=o.MultiValueRemove,d=o.SingleValue,p=o.Placeholder,h=this.commonProps,m=this.props,g=m.controlShouldRenderValue,v=m.isDisabled,y=m.isMulti,b=m.inputValue,k=m.placeholder,w=this.state,j=w.selectValue,z=w.focusedValue,S=w.isFocused;if(!this.hasValue()||!g)return b?null:x.createElement(p,ie({},h,{key:"placeholder",isDisabled:v,isFocused:S,innerProps:{id:this.getElementId("placeholder")}}),k);if(y)return j.map(function(B,D){var C=B===z,P="".concat(i.getOptionLabel(B),"-").concat(i.getOptionValue(B));return x.createElement(s,ie({},h,{components:{Container:l,Label:c,Remove:u},isFocused:C,isDisabled:v,key:P,index:D,removeProps:{onClick:function(){return i.removeValue(B)},onTouchEnd:function(){return i.removeValue(B)},onMouseDown:function(E){E.preventDefault()}},data:B}),i.formatOptionLabel(B,"value"))});if(b)return null;var f=j[0];return x.createElement(d,ie({},h,{data:f,isDisabled:v}),this.formatOptionLabel(f,"value"))}},{key:"renderClearIndicator",value:function(){var i=this.getComponents(),o=i.ClearIndicator,s=this.commonProps,l=this.props,c=l.isDisabled,u=l.isLoading,d=this.state.isFocused;if(!this.isClearable()||!o||c||!this.hasValue()||u)return null;var p={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:p,isFocused:d}))}},{key:"renderLoadingIndicator",value:function(){var i=this.getComponents(),o=i.LoadingIndicator,s=this.commonProps,l=this.props,c=l.isDisabled,u=l.isLoading,d=this.state.isFocused;if(!o||!u)return null;var p={"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:p,isDisabled:c,isFocused:d}))}},{key:"renderIndicatorSeparator",value:function(){var i=this.getComponents(),o=i.DropdownIndicator,s=i.IndicatorSeparator;if(!o||!s)return null;var l=this.commonProps,c=this.props.isDisabled,u=this.state.isFocused;return x.createElement(s,ie({},l,{isDisabled:c,isFocused:u}))}},{key:"renderDropdownIndicator",value:function(){var i=this.getComponents(),o=i.DropdownIndicator;if(!o)return null;var s=this.commonProps,l=this.props.isDisabled,c=this.state.isFocused,u={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return x.createElement(o,ie({},s,{innerProps:u,isDisabled:l,isFocused:c}))}},{key:"renderMenu",value:function(){var i=this,o=this.getComponents(),s=o.Group,l=o.GroupHeading,c=o.Menu,u=o.MenuList,d=o.MenuPortal,p=o.LoadingMessage,h=o.NoOptionsMessage,m=o.Option,g=this.commonProps,v=this.state.focusedOption,y=this.props,b=y.captureMenuScroll,k=y.inputValue,w=y.isLoading,j=y.loadingMessage,z=y.minMenuHeight,S=y.maxMenuHeight,f=y.menuIsOpen,B=y.menuPlacement,D=y.menuPosition,C=y.menuPortalTarget,P=y.menuShouldBlockScroll,I=y.menuShouldScrollIntoView,E=y.noOptionsMessage,L=y.onMenuScrollToTop,q=y.onMenuScrollToBottom;if(!f)return null;var U=function(V,G){var ee=V.type,X=V.data,oe=V.isDisabled,he=V.isSelected,pe=V.label,ge=V.value,ye=v===X,we=oe?void 0:function(){return i.onOptionHover(X)},Ae=oe?void 0:function(){return i.selectOption(X)},va="".concat(i.getElementId("option"),"-").concat(G),bi={id:va,onClick:Ae,onMouseMove:we,onMouseOver:we,tabIndex:-1};return x.createElement(m,ie({},g,{innerProps:bi,data:X,isDisabled:oe,isSelected:he,key:va,label:pe,type:ee,value:ge,isFocused:ye,innerRef:ye?i.getFocusedOptionRef:void 0}),i.formatOptionLabel(V.data,"menu"))},$;if(this.hasOptions())$=this.getCategorizedOptions().map(function(K){if(K.type==="group"){var V=K.data,G=K.options,ee=K.index,X="".concat(i.getElementId("group"),"-").concat(ee),oe="".concat(X,"-heading");return x.createElement(s,ie({},g,{key:X,data:V,options:G,Heading:l,headingProps:{id:oe,data:K.data},label:i.formatGroupLabel(K.data)}),K.options.map(function(he){return U(he,"".concat(ee,"-").concat(he.index))}))}else if(K.type==="option")return U(K,"".concat(K.index))});else if(w){var T=j({inputValue:k});if(T===null)return null;$=x.createElement(p,g,T)}else{var F=E({inputValue:k});if(F===null)return null;$=x.createElement(h,g,F)}var N={minMenuHeight:z,maxMenuHeight:S,menuPlacement:B,menuPosition:D,menuShouldScrollIntoView:I},Q=x.createElement(uee,ie({},g,N),function(K){var V=K.ref,G=K.placerProps,ee=G.placement,X=G.maxHeight;return x.createElement(c,ie({},g,N,{innerRef:V,innerProps:{onMouseDown:i.onMenuMouseDown,onMouseMove:i.onMenuMouseMove,id:i.getElementId("listbox")},isLoading:w,placement:ee}),x.createElement($te,{captureEnabled:b,onTopArrive:L,onBottomArrive:q,lockEnabled:P},function(oe){return x.createElement(u,ie({},g,{innerRef:function(pe){i.getMenuListRef(pe),oe(pe)},isLoading:w,maxHeight:X,focusedOption:v}),$)}))});return C||D==="fixed"?x.createElement(d,ie({},g,{appendTo:C,controlElement:this.controlRef,menuPlacement:B,menuPosition:D}),Q):Q}},{key:"renderFormField",value:function(){var i=this,o=this.props,s=o.delimiter,l=o.isDisabled,c=o.isMulti,u=o.name,d=o.required,p=this.state.selectValue;if(d&&!this.hasValue()&&!l)return x.createElement(Rte,{name:u,onFocus:this.onValueInputFocus});if(!(!u||l))if(c)if(s){var h=p.map(function(v){return i.getOptionValue(v)}).join(s);return x.createElement("input",{name:u,type:"hidden",value:h})}else{var m=p.length>0?p.map(function(v,y){return x.createElement("input",{key:"i-".concat(y),name:u,type:"hidden",value:i.getOptionValue(v)})}):x.createElement("input",{name:u,type:"hidden",value:""});return x.createElement("div",null,m)}else{var g=p[0]?this.getOptionValue(p[0]):"";return x.createElement("input",{name:u,type:"hidden",value:g})}}},{key:"renderLiveRegion",value:function(){var i=this.commonProps,o=this.state,s=o.ariaSelection,l=o.focusedOption,c=o.focusedValue,u=o.isFocused,d=o.selectValue,p=this.getFocusableOptions();return x.createElement(Ste,ie({},i,{id:this.getElementId("live-region"),ariaSelection:s,focusedOption:l,focusedValue:c,isFocused:u,selectValue:d,focusableOptions:p}))}},{key:"render",value:function(){var i=this.getComponents(),o=i.Control,s=i.IndicatorsContainer,l=i.SelectContainer,c=i.ValueContainer,u=this.props,d=u.className,p=u.id,h=u.isDisabled,m=u.menuIsOpen,g=this.state.isFocused,v=this.commonProps=this.getCommonProps();return x.createElement(l,ie({},v,{className:d,innerProps:{id:p,onKeyDown:this.onKeyDown},isDisabled:h,isFocused:g}),this.renderLiveRegion(),x.createElement(o,ie({},v,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:h,isFocused:g,menuIsOpen:m}),x.createElement(c,ie({},v,{isDisabled:h}),this.renderPlaceholderOrValue(),this.renderInput()),x.createElement(s,ie({},v,{isDisabled:h}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(i,o){var s=o.prevProps,l=o.clearFocusValueOnUpdate,c=o.inputIsHiddenAfterUpdate,u=o.ariaSelection,d=o.isFocused,p=o.prevWasFocused,h=i.options,m=i.value,g=i.menuIsOpen,v=i.inputValue,y=i.isMulti,b=jk(m),k={};if(s&&(m!==s.value||h!==s.options||g!==s.menuIsOpen||v!==s.inputValue)){var w=g?Jte(i,b):[],j=l?Xte(o,b):null,z=ene(o,w);k={selectValue:b,focusedOption:z,focusedValue:j,clearFocusValueOnUpdate:!1}}var S=c!=null&&i!==s?{inputIsHidden:c,inputIsHiddenAfterUpdate:void 0}:{},f=u,B=d&&p;return d&&!B&&(f={value:jc(y,b,b[0]||null),options:b,action:"initial-input-focus"},B=!p),(u==null?void 0:u.action)==="initial-input-focus"&&(f=null),ne(ne(ne({},k),S),{},{prevProps:i,ariaSelection:f,prevWasFocused:B})}}]),n}(x.Component);JB.defaultProps=Zte;var nne=x.forwardRef(function(t,e){var n=zJ(t);return x.createElement(JB,ie({ref:e},n))}),Gd=nne;const ane="_balance_17xkv_1",ine="_balanceSingleValue_17xkv_1",one="_dropdown_17xkv_11",rne="_select_17xkv_20",sne="_selectLabelText_17xkv_66",lne="_singleValueContainer_17xkv_70",cne="_valueContainer_17xkv_78",Za={balance:ane,balanceSingleValue:ine,dropdown:one,select:rne,selectLabelText:sne,singleValueContainer:lne,valueContainer:cne},une=t=>{const{hideAmounts:e}=x.useContext(mi),{label:n,coinCode:a,balance:i}=t.data;return r.jsx("div",{className:Za.singleValueContainer,children:r.jsx(Un.SingleValue,{...t,children:r.jsxs("div",{className:Za.valueContainer,children:[a?r.jsx(Ro,{coinCode:a,alt:a}):null,r.jsx("span",{className:Za.selectLabelText,children:n}),a&&i&&r.jsx("span",{className:Za.balanceSingleValue,children:e?`*** ${a}`:i})]})})})},dne=t=>{const{hideAmounts:e}=x.useContext(mi),{label:n,coinCode:a,balance:i}=t.data;return r.jsx(Un.Option,{...t,children:r.jsxs("div",{className:Za.valueContainer,children:[a?r.jsx(Ro,{coinCode:a,alt:a}):null,r.jsx("span",{className:Za.selectLabelText,children:n}),a&&i&&r.jsx("span",{className:Za.balance,children:e?`*** ${a}`:i})]})})},pne=t=>r.jsx(Un.DropdownIndicator,{...t,children:r.jsx("div",{className:Za.dropdown})}),XB=({title:t,disabled:e,options:n,selected:a,onChange:i,onProceed:o})=>{const{t:s}=A(),[l,c]=x.useState();return x.useEffect(()=>{c(n.find(u=>u.value===a))},[n,a]),r.jsxs(r.Fragment,{children:[r.jsx("h1",{className:"title text-center",children:t}),r.jsx(Gd,{className:Za.select,classNamePrefix:"react-select",components:{DropdownIndicator:pne,SingleValue:une,Option:dne,IndicatorSeparator:()=>null},value:a===""?{label:s("buy.info.selectLabel"),value:"choose",disabled:!0}:l,isSearchable:!1,onChange:u=>{const d=(u==null?void 0:u.value)||"";i(d)},isOptionDisabled:u=>u.disabled,options:[{label:s("buy.info.selectLabel")||"",value:"choose",disabled:!0},...n]}),r.jsx("div",{className:"buttons text-center",children:r.jsx(_,{primary:!0,onClick:o,disabled:!a||e,children:s("buy.info.next")})})]})},hne="_button_1riw8_1",mne={button:hne},Qd=()=>{const{t}=A(),{hideAmounts:e,toggleHideAmounts:n}=x.useContext(mi),a=me(Bt);return r.jsx(r.Fragment,{children:a&&a.frontend.allowHideAmounts?r.jsx(_,{className:mne.button,onClick:n,transparent:!0,children:e?r.jsxs(r.Fragment,{children:[r.jsx(X7,{})," ",r.jsx("span",{children:t("newSettings.appearance.hideAmounts.showAmounts")})]}):r.jsxs(r.Fragment,{children:[r.jsx(eK,{})," ",r.jsx("span",{children:t("newSettings.appearance.hideAmounts.hideAmounts")})]})}):null})},fne=({code:t,accounts:e})=>{const[n,a]=x.useState(t),[i,o]=x.useState(),[s,l]=x.useState(!1),{t:c}=A(),u=x.useCallback(async()=>{try{const b=(await Dg(e)).map(({name:k,code:w,coinCode:j})=>({label:`${k}`,value:w,coinCode:j,disabled:!1}));o(b),h(b)}catch(y){console.error(y)}},[e]),d=x.useCallback(async()=>{if(i!==void 0&&i.length===1){const y=i[0].value;if(!(await fl(y)).success)return;le(`/buy/exchange/${y}`)}},[i]),p=y=>{a(y)};x.useEffect(()=>{u()},[u]),x.useEffect(()=>{d()},[d,i]);const h=y=>{Promise.all(y.map(b=>Ur(b.value).then(k=>({...b,balance:`${k.available.amount} ${k.available.unit}`})))).then(b=>{o(b)})},m=async()=>{l(!0);try{if(!(await fl(n)).success)return}finally{l(!1)}le(`/buy/exchange/${n}`)};if(i===void 0)return r.jsx(Cn,{guideExists:!1,text:c("loading")});const g=Dd(e,t),v=Ad(c("buy.info.crypto"),g);return r.jsx(ln,{children:r.jsxs(Ma,{children:[r.jsxs(Oa,{children:[r.jsx(xe,{title:r.jsx("h2",{children:c("buy.info.title",{name:v})}),children:r.jsx(Qd,{})}),r.jsx(re,{width:"550px",verticallyCentered:!0,fullscreen:!1,children:r.jsx(ue,{children:i.length===0?r.jsx("div",{className:"content narrow isVerticallyCentered",children:c("accountSummary.noAccount")}):r.jsx(XB,{title:c("buy.title",{name:v}),disabled:s,options:i,selected:n,onChange:p,onProceed:m})})})]}),r.jsx(Pd,{name:v})]})})};const gne="_button_diw5d_1",vne={button:gne},e1=({onClick:t,...e})=>r.jsx("button",{onClick:t,...e,className:vne.button,children:r.jsx(W7,{})}),bne="_container_1ksto_17",kne="_paymentMethodContainer_1ksto_17",xne="_exchangeName_1ksto_21",yne="_infoButton_1ksto_25",wne="_outerContainer_1ksto_37",jne="_paymentMethodsContainer_1ksto_41",Bne="_paymentMethodName_1ksto_47",Sne="_radio_1ksto_67",zne="_radioLabel_1ksto_123",Cne="_text_1ksto_127",Sa={container:bne,paymentMethodContainer:kne,exchangeName:xne,infoButton:yne,outerContainer:wne,paymentMethodsContainer:jne,paymentMethodName:Bne,radio:Sne,radioLabel:zne,text:Cne},Dne=({methodName:t})=>{const{t:e}=A(),{isDarkMode:n}=Kn();switch(t){case"bank-transfer":return r.jsxs("span",{className:Sa.paymentMethodName,children:[n?r.jsx(V7,{}):r.jsx(F7,{}),e("buy.exchange.bankTransfer")]});case"card":return r.jsxs("span",{className:Sa.paymentMethodName,children:[n?r.jsx(H7,{}):r.jsx(q7,{}),e("buy.exchange.creditCard")]});default:return r.jsx(r.Fragment,{children:t})}},Ane=({deal:t})=>{const{t:e}=A();return r.jsxs("div",{className:Sa.paymentMethodContainer,children:[r.jsx(Dne,{methodName:t.payment}),r.jsxs("div",{children:[t.isBestDeal&&r.jsx(Vu,{type:"success",children:e("buy.exchange.bestDeal")}),t.isFast&&r.jsx(Vu,{type:"warning",children:e("buy.exchange.fast")})]})]})};function _ne({disabled:t=!1,id:e,children:n,checked:a,deals:i,onChange:o,exchangeName:s,onClickInfoButton:l,...c}){const u=()=>{t||o()},d=p=>{!t&&p.key==="Enter"&&o()};return r.jsxs("div",{className:Sa.outerContainer,children:[r.jsxs("span",{"aria-checked":a,onKeyDown:d,"aria-disabled":t,role:"radio",tabIndex:0,onClick:u,className:Sa.radio,children:[r.jsx("input",{checked:a,type:"radio",id:e,disabled:t,onChange:o,...c}),r.jsx("label",{className:Sa.radioLabel,htmlFor:e,children:r.jsxs("div",{className:Sa.container,children:[r.jsx("p",{className:[Sa.text,Sa.exchangeName].join(" "),children:cB(s)}),r.jsx("div",{className:Sa.paymentMethodsContainer,children:i.map(p=>r.jsx(Ane,{deal:p},p.payment))})]})})]}),r.jsx(e1,{onClick:()=>l(s)})]})}const Tne="_container_h94uh_1",t1={container:Tne},Ene=({cardFee:t,bankTransferFee:e})=>{const{t:n}=A(),a=t&&t*100,i=e&&e*100;return r.jsxs("div",{className:t1.container,children:[r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.supportedCurrencies")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://support.moonpay.com/hc/en-gb/articles/360011931457-Which-fiat-currencies-are-supported-",children:n("buy.exchange.infoContent.moonpay.fullCurrenciesList")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:n("buy.exchange.infoContent.moonpay.payment.title")})}),r.jsx("br",{}),r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.payment.creditDebitCard")}),r.jsx("ul",{children:r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.creditDebitCardDetails.cards")})}),r.jsx("p",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransfer")}),r.jsxs("ul",{children:[r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.sepa")}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.uk")}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.payment.bankTransferDetails.pix")})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("i",{children:n("buy.exchange.infoContent.moonpay.payment.asteriskText")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://support.moonpay.com/hc/en-gb/articles/4406210084113-What-payment-methods-do-you-support-",children:n("buy.exchange.infoContent.moonpay.payment.learnMore")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:n("buy.exchange.infoContent.moonpay.fees.title")})}),r.jsxs("ul",{children:[r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.fees.creditDebitCard",{fee:a})}),r.jsx("li",{children:n("buy.exchange.infoContent.moonpay.fees.bankTransfer",{fee:i})})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://www.moonpay.com/",children:n("buy.exchange.infoContent.moonpay.fees.learnMore")})})]})},Pne=({bankTransferFee:t})=>{const{t:e}=A(),n=t&&t*100;return r.jsxs("div",{className:t1.container,children:[r.jsx("p",{children:e("buy.exchange.infoContent.pocket.supportedCurrencies")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.payment.title")})}),r.jsx("br",{}),r.jsx("p",{children:e("buy.exchange.infoContent.pocket.payment.bankTransfer")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.sepa")}),r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.uk")}),r.jsx("li",{children:e("buy.exchange.infoContent.pocket.payment.bankTransferDetails.sic")})]}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq/how-do-I-set-up-my-standing-order",children:e("buy.exchange.infoContent.pocket.payment.bankTransferReccuring")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.verification.title")})}),r.jsx("br",{}),r.jsx("p",{children:e("buy.exchange.infoContent.pocket.verification.info")}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq/are-there-any-limits-with-pocket",children:e("buy.exchange.infoContent.pocket.verification.link")})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx("b",{children:e("buy.exchange.infoContent.pocket.fees.title")})}),r.jsx("ul",{children:r.jsx("li",{children:e("buy.exchange.infoContent.pocket.fees.info",{fee:n})})}),r.jsx("br",{}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/",children:e("buy.exchange.infoContent.pocket.learnMore")})})]})},Nne=()=>{const{t}=A();return r.jsx("div",{children:r.jsx("p",{children:t("buy.exchange.infoContent.region.title")})})},Lne=({info:t,cardFee:e,bankTransferFee:n})=>{switch(t){case"moonpay":return r.jsx(Ene,{cardFee:e,bankTransferFee:n});case"pocket":return r.jsx(Pne,{bankTransferFee:n});case"region":return r.jsx(Nne,{})}return r.jsx(r.Fragment,{})},Ine="_buttonBack_62uya_17",$ne="_buttonsContainer_62uya_21",Mne="_container_62uya_27",One="_exchangeContainer_62uya_31",Rne="_header_62uya_44",Fne="_selectContainer_62uya_49",Vne="_label_62uya_62",Wne="_noExchangeText_62uya_69",Une="_radioButtonsContainer_62uya_77",qne="_title_62uya_81",wi={buttonBack:Ine,buttonsContainer:$ne,container:Mne,exchangeContainer:One,header:Rne,selectContainer:Fne,label:Vne,noExchangeText:Wne,radioButtonsContainer:Une,title:qne},Hne="_dropdown_9chnx_1",Kne="_flag_9chnx_10",Gne="_globe_9chnx_14",Qne="_optionsContainer_9chnx_20",Yne="_select_9chnx_25",Zne="_selectLabelText_9chnx_59",Jne="_singleValueContainer_9chnx_64",ai={dropdown:Hne,flag:Kne,globe:Gne,optionsContainer:Qne,select:Yne,selectLabelText:Zne,singleValueContainer:Jne},n1=({regionCode:t})=>{const{isDarkMode:e}=Kn(),n=e?r.jsx(aK,{className:ai.globe}):r.jsx(nK,{className:ai.globe});return r.jsx("span",{children:t===""?n:r.jsx("span",{className:`fi fi-${t} ${ai.flag}`})})},Xne=t=>{const{label:e,value:n}=t.data;return r.jsxs("div",{className:ai.singleValueContainer,children:[r.jsx(n1,{regionCode:n.toLowerCase()}),r.jsx(Un.SingleValue,{...t,children:r.jsx("span",{className:ai.selectLabelText,children:e})})]})},eae=t=>{const{label:e,value:n}=t.data;return r.jsx(Un.Option,{...t,children:r.jsxs("div",{className:ai.optionsContainer,children:[r.jsx(n1,{regionCode:n.toLowerCase()}),r.jsx("span",{className:ai.selectLabelText,children:e})]})})},tae=t=>r.jsx(Un.DropdownIndicator,{...t,children:r.jsx("div",{className:ai.dropdown})}),nae=({onChangeRegion:t,regions:e,selectedRegion:n})=>{const{t:a}=A(),i=new Intl.DisplayNames([se.language],{type:"region"}).of(n)||"",o=n===""?a("buy.exchange.selectRegion"):i;return r.jsx(Gd,{className:ai.select,classNamePrefix:"react-select",components:{DropdownIndicator:tae,SingleValue:Xne,Option:eae,IndicatorSeparator:()=>null},defaultValue:{label:o,value:n},isSearchable:!0,onChange:s=>t(s),options:[{label:a("buy.exchange.selectRegion")||"",value:""},...e]})},aae=({code:t,accounts:e})=>{var $,T,F;const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),[l,c]=x.useState(""),[u,d]=x.useState(""),[p,h]=x.useState([]),[m,g]=x.useState(),[v,y]=x.useState(),[b,k]=x.useState([]),w=me(GZ(t)),j=me(QZ),z=me(hj),S=me(zg(t)),f=me(Bt),B=Dd(e,t),D=Ad(n("buy.info.crypto"),B),C=m?m.exchanges.filter(N=>N.supported).length===1:!1;x.useEffect(()=>{Dg(e).then(k)},[e]),x.useEffect(()=>{if(!w||!f)return;const N=new Intl.DisplayNames([se.language],{type:"region"})||"",Q=w.regions.map(G=>({value:G.code,label:N.of(G.code)}));if(Q.sort((G,ee)=>G.label.localeCompare(ee.label,se.language)),h(Q),f.frontend.selectedExchangeRegion==="")return;if(f.frontend.selectedExchangeRegion){c(f.frontend.selectedExchangeRegion);return}const K=R9(z||""),V=!!w.regions.find(G=>G.code===K);c(V?K:"")},[w,f,z]),x.useEffect(()=>{if(!j)return;const N={exchanges:j.exchanges.map(V=>({...V,supported:V.exchangeName==="pocket"?a:o}))},Q=jJ(N),K=BJ(N,Q);g(K)},[l,o,a,j]),x.useEffect(()=>{if(C&&m&&l!==""){const N=m.exchanges.filter(Q=>Q.supported);d(N[0].exchangeName)}},[C,m,l]),x.useEffect(()=>{if(d(""),!S){i(!1),s(!1);return}if(l===""){i(S.exchanges.includes("pocket")),s(S.exchanges.includes("moonpay"));return}w&&(i(!1),s(!1),w.regions.forEach(N=>{if(N.code===l){i(N.isPocketEnabled),s(N.isMoonpayEnabled);return}}))},[l,w,S]);const P=()=>{u&&le(`/buy/${u}/${t}`)},I=N=>{if(N){const Q=N.value;c(Q),at({frontend:{selectedExchangeRegion:Q}})}},E=!o&&!a,L=($=j==null?void 0:j.exchanges.find(N=>N.exchangeName===v))==null?void 0:$.deals,q=L&&((T=L.find(N=>N.payment==="card"))==null?void 0:T.fee),U=L&&((F=L.find(N=>N.payment==="bank-transfer"))==null?void 0:F.fee);return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(qe,{medium:!0,title:v&&v!=="region"?cB(v):n("buy.exchange.region"),onClose:()=>y(void 0),open:!!v,children:v&&r.jsx(Lne,{info:v,cardFee:q,bankTransferFee:U})}),r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("buy.exchange.title",{name:D})})}),r.jsxs("div",{className:[wi.exchangeContainer,"content","narrow","isVerticallyCentered"].join(" "),children:[r.jsx("h1",{className:wi.title,children:n("buy.title",{name:D})}),r.jsx("p",{className:wi.label,children:n("buy.exchange.region")}),p.length?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:wi.selectContainer,children:[r.jsx(nae,{onChangeRegion:I,regions:p,selectedRegion:l}),r.jsx(e1,{onClick:()=>y("region")})]}),r.jsxs("div",{className:wi.radioButtonsContainer,children:[E&&r.jsx("p",{className:wi.noExchangeText,children:n("buy.exchange.noExchanges")}),r.jsx("div",{children:!E&&m&&m.exchanges.map(N=>N.supported&&r.jsx(_ne,{id:N.exchangeName,exchangeName:N.exchangeName,deals:N.deals,checked:u===N.exchangeName,onChange:()=>d(N.exchangeName),onClickInfoButton:y},N.exchangeName))}),!E&&r.jsxs("div",{className:wi.buttonsContainer,children:[b.length>1&&r.jsx(_,{className:wi.buttonBack,secondary:!0,onClick:()=>le("/buy/info"),children:n("button.back")}),r.jsx(_,{primary:!0,disabled:!u,onClick:P,children:n("button.next")})]})]})]}):r.jsx(Cn,{guideExists:!0})]})]})]}),r.jsx(Pd,{name:D})]})};var Xn={},dn={};Object.defineProperty(dn,"__esModule",{value:!0});dn.isOneOf=dn.isLiteral=dn.isNullish=dn.isBoolean=dn.isString=dn.isObject=void 0;function iae(t){return Object(t)===t}dn.isObject=iae;function oae(t){return typeof t=="string"}dn.isString=oae;function rae(t){return typeof t=="boolean"}dn.isBoolean=rae;function sae(t){return t==null}dn.isNullish=sae;function lae(t,e){return t===e}dn.isLiteral=lae;function cae(t,...e){return e.some(n=>n===t)}dn.isOneOf=cae;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.parseMessage=t.serializeMessage=t.V0MessageScriptType=t.V0MessageType=t.MessageVersion=void 0;const e=dn;var n;(function(l){l.V0="0"})(n=t.MessageVersion||(t.MessageVersion={}));var a;(function(l){l.RequestAddress="requestAddress",l.RequestExtendedPublicKey="requestExtendedPublicKey",l.VerifyAddress="verifyAddress",l.Address="address",l.ExtendedPublicKey="extendedPublicKey"})(a=t.V0MessageType||(t.V0MessageType={}));var i;(function(l){l.P2PKH="p2pkh",l.P2WPKH="p2wpkh",l.P2SH="p2sh",l.P2TR="p2tr"})(i=t.V0MessageScriptType||(t.V0MessageScriptType={}));function o(l){return JSON.stringify(l)}t.serializeMessage=o;function s(l){let c=l;if(typeof c=="string")try{c=JSON.parse(c)}catch{throw new Error("could not parse as json")}if(!(0,e.isObject)(c))throw new Error("not an object");const{version:u}=c;if((0,e.isLiteral)(u,n.V0)){const{type:d}=c;if(!(0,e.isOneOf)(d,...Object.values(a)))throw new Error("invalid type");if(d===a.RequestAddress){const{withMessageSignature:p}=c;if(!(0,e.isString)(p)&&!(0,e.isNullish)(p))throw new Error("message signature indicator invalid");const{withExtendedPublicKey:h}=c;if(!(0,e.isBoolean)(h)&&!(0,e.isNullish)(h))throw new Error("extended public key indicator invalid");const{withScriptType:m}=c;if(!(0,e.isOneOf)(m,...Object.values(i))&&!(0,e.isNullish)(m))throw new Error("script type indicator invalid");return{version:u,type:d,withMessageSignature:p,withExtendedPublicKey:h,withScriptType:m}}else if(d===a.RequestExtendedPublicKey){const{withScriptType:p}=c;if(!(0,e.isOneOf)(p,...Object.values(i))&&!(0,e.isNullish)(p))throw new Error("script type indicator invalid");return{version:u,type:d,withScriptType:p}}else if(d===a.VerifyAddress){const{bitcoinAddress:p}=c;if(!(0,e.isString)(p))throw new Error("bitcoin address missing");return{version:u,type:d,bitcoinAddress:p}}else if(d===a.Address){const{bitcoinAddress:p}=c;if(!(0,e.isString)(p))throw new Error("bitcoin address missing");const{signature:h}=c;if(!(0,e.isString)(h)&&!(0,e.isNullish)(h))throw new Error("signature invalid");const{extendedPublicKey:m}=c;if(!(0,e.isString)(m)&&!(0,e.isNullish)(m))throw new Error("extended public key invalid");return{version:u,type:d,bitcoinAddress:p,signature:h,extendedPublicKey:m}}else if(d===a.ExtendedPublicKey){const{extendedPublicKey:p}=c;if(!(0,e.isString)(p))throw new Error("extended public key missing");return{version:u,type:d,extendedPublicKey:p}}else throw new Error("unsupported type")}throw new Error("unsupported version")}t.parseMessage=s})(Xn);const uae="_overlay_12k4v_1",dae="_activeOverlay_12k4v_16",pae="_modal_12k4v_20",hae="_activeModal_12k4v_32",mae="_active_12k4v_16",fae="_small_12k4v_38",gae="_medium_12k4v_43",vae="_large_12k4v_49",bae="_header_12k4v_54",kae="_centered_12k4v_64",xae="_title_12k4v_68",yae="_closeButton_12k4v_74",wae="_contentContainer_12k4v_95",jae="_slim_12k4v_101",Bae="_padded_12k4v_105",Sae="_content_12k4v_95",zae="_actions_12k4v_113",Cae="_confirmationLabel_12k4v_131",Dae="_confirmationLabelNumber_12k4v_140",Aae="_disabledLabel_12k4v_146",_ae="_noStep_12k4v_151",Tae="_confirmationInstructions_12k4v_155",Eae="_confirm_12k4v_131",Pae="_image_12k4v_175",Nae="_modalContent_12k4v_180",Lae="_detail_12k4v_189",Iae="_description_12k4v_213",$ae="_buttons_12k4v_217",Mae="_dialogButtons_12k4v_229",ft={overlay:uae,activeOverlay:dae,modal:pae,activeModal:hae,active:mae,small:fae,medium:gae,large:vae,header:bae,centered:kae,title:xae,closeButton:yae,contentContainer:wae,slim:jae,padded:Bae,content:Sae,actions:zae,confirmationLabel:Cae,confirmationLabelNumber:Dae,disabledLabel:Aae,noStep:_ae,confirmationInstructions:Tae,confirm:Eae,image:Pae,modalContent:Nae,detail:Lae,description:Iae,buttons:$ae,dialogButtons:Mae};class fa extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.modalContent=x.createRef(),this.state={active:!1,currentTab:0},this.handleFocus=e=>{const a=e.target.getAttribute("index");this.setState({currentTab:Number(a)})},this.focusWithin=()=>{if(this.modalContent.current){this.focusableChildren=this.modalContent.current.querySelectorAll("a, button, input, textarea");const e=Array.from(this.focusableChildren);for(const n of e)n.classList.add("tabbable"),n.setAttribute("index",e.indexOf(n).toString()),n.addEventListener("focus",this.handleFocus);document.addEventListener("keydown",this.handleKeyDown)}},this.focusFirst=()=>{const e=this.focusableChildren;e.length&&e[0].getAttribute("autofocus")!=="false"&&e[0].focus()},this.updateIndex=e=>{const n=this.getNextIndex(e);this.setState({currentTab:n},()=>{this.focusableChildren[n].focus()})},this.handleKeyDown=e=>{const{disableEscape:n}=this.props,a=e.keyCode===27,i=e.keyCode===9;!n&&a?this.deactivate():i&&e.preventDefault(),i&&e.shiftKey?this.updateIndex(!1):i&&this.updateIndex(!0)},this.deactivate=()=>{!this.modal.current||!this.overlay.current||(this.modal.current.classList.remove(ft.activeModal),this.overlay.current.classList.remove(ft.activeOverlay),this.setState({active:!1,currentTab:0},()=>{document.removeEventListener("keydown",this.handleKeyDown),this.props.onClose&&this.props.onClose()}))},this.activate=()=>{this.setState({active:!0},()=>{!this.modal.current||!this.overlay.current||(this.overlay.current.classList.add(ft.activeOverlay),this.modal.current.classList.add(ft.activeModal),this.focusWithin(),this.focusFirst())})}}componentDidMount(){setTimeout(this.activate,10)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}getNextIndex(e){const{currentTab:n}=this.state,a=Array.from(this.focusableChildren),i=e?a:a.reverse(),o=e?n:i.length-1-n;let s=e?n+1:i.length-n;return s=i.findIndex((l,c)=>c>=s&&!l.hasAttribute("disabled")),s=s<0?i.findIndex((l,c)=>c<=o&&!l.hasAttribute("disabled")):s,e?s:i.length-1-s}render(){const{title:e,small:n,medium:a,large:i,slim:o,centered:s,onClose:l,disabledClose:c,children:u}=this.props,d=n?ft.small:"",p=a?ft.medium:"",h=i?ft.large:"",m=o?ft.slim:"",g=s&&!l?ft.centered:"";return r.jsx("div",{className:ft.overlay,ref:this.overlay,children:r.jsxs("div",{className:[ft.modal,d,p,h].join(" "),ref:this.modal,children:[e&&r.jsxs("div",{className:[ft.header,g].join(" "),children:[r.jsx("h3",{className:ft.title,children:e}),l?r.jsxs("button",{className:ft.closeButton,onClick:this.deactivate,disabled:c,children:[r.jsx(jj,{className:"show-in-lightmode"}),r.jsx(El,{className:"show-in-darkmode"})]}):null]}),r.jsx("div",{className:[ft.contentContainer,m].join(" "),ref:this.modalContent,children:r.jsx("div",{className:ft.content,children:u})})]})})}}function so({children:t}){return r.jsx("div",{className:ft.dialogButtons,children:t})}let Vo;const Oae=()=>{const[t,e]=x.useState({active:!1}),{t:n}=A(),a=x.useRef(()=>{});Vo=(c,u,d)=>{a.current=u,e({active:!0,message:c,customButtonText:d})};const i=c=>{a.current(c),e({active:!1})},{message:o,active:s,customButtonText:l}=t;return s?r.jsxs(fa,{title:n("dialog.confirmTitle"),onClose:()=>i(!1),children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsx("div",{className:"column",children:o?o.split(` +`).map((c,u)=>r.jsx("p",{className:u===0?"first":"",children:r.jsx(Qe,{tagName:"span",markup:c})},u)):null})})}),r.jsxs(so,{children:[r.jsx(_,{primary:!0,onClick:()=>i(!0),children:l||n("dialog.confirm")}),r.jsx(_,{secondary:!0,onClick:()=>i(!1),children:n("dialog.cancel")})]})]}):null},Rae=({onAgreedTerms:t})=>{const{t:e}=A(),n=a=>{at({frontend:{skipPocketDisclaimer:a.target.checked}})};return r.jsxs("div",{className:Kt.disclaimerContainer,children:[r.jsxs("div",{className:Kt.disclaimer,children:[r.jsx("h2",{className:Kt.title,children:e("buy.pocket.welcome.title")}),r.jsx("p",{children:e("buy.pocket.welcome.p1")}),r.jsx("p",{children:e("buy.pocket.welcome.p2")}),r.jsx("p",{children:e("buy.pocket.welcome.p3")}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.payment.title")}),r.jsx("p",{children:e("buy.pocket.payment.p1")}),r.jsx("p",{children:e("buy.pocket.payment.p2")}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.security.title")}),r.jsx("p",{children:e("buy.pocket.security.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://bitbox.swiss/bitbox02/threat-model/",children:e("buy.pocket.security.link")})}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.kyc.title")}),r.jsx("p",{children:e("buy.pocket.kyc.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/faq",children:e("buy.pocket.kyc.link")})}),r.jsx("h2",{className:Kt.title,children:e("buy.pocket.data.title")}),r.jsx("p",{children:e("buy.pocket.data.p1")}),r.jsx("p",{children:r.jsx(pt,{href:"https://pocketbitcoin.com/policy/privacy",children:e("buy.pocket.data.link")})})]}),r.jsx("div",{className:"text-center m-bottom-quarter",children:r.jsx(Ve,{id:"skip_disclaimer",label:e("buy.info.skip"),onChange:n})}),r.jsx("div",{className:"buttons text-center m-bottom-xlarge",children:r.jsx(_,{primary:!0,onClick:t,children:e("buy.info.continue")})})]})},Fae=({code:t})=>{const{t:e}=A(),[n,a]=x.useState(0),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),d=me(XZ),p=me(Bt),h=me(Jj(t)),m=x.createRef(),g=x.createRef();let v=!1,y;const b="Bitcoin";x.useEffect(()=>{p&&l(p.frontend.skipPocketDisclaimer)},[p]),x.useEffect(()=>(k(),window.addEventListener("resize",k),window.addEventListener("message",B),()=>{window.removeEventListener("resize",k),window.removeEventListener("message",B)}));const k=()=>{y&&clearTimeout(y),y=setTimeout(()=>{m.current&&a(m.current.offsetHeight)},200)},w=(D,C)=>{var E;const{current:P}=g;if(!P)return;const I=Xn.serializeMessage({version:Xn.MessageVersion.V0,type:Xn.V0MessageType.Address,bitcoinAddress:D,signature:C});(E=P.contentWindow)==null||E.postMessage(I,"*")},j=D=>{v=!0;const C=D.withScriptType?String(D.withScriptType):"",P=D.withMessageSignature?D.withMessageSignature:"";ZZ(C,P,t).then(I=>{v=!1,I.success?w(I.address,I.signature):I.errorCode!=="userAbort"&&(J(e("unknownError",{errorMessage:I.errorMessage})),console.log("error: "+I.errorMessage))})},z=D=>{u(!0),JZ(D,t).then(C=>{u(!1),C.success||(C.errorCode==="addressNotFound"?J(e("buy.pocket.usedAddress",{address:D})):(J(e("unknownError",{errorMessage:C.errorMessage})),console.log("error: "+C.errorMessage)))})},S=()=>{var D;if(h){const C=h.signingConfigurations[0].bitcoinSimple;if(C){const P=C.keyInfo.xpub,{current:I}=g;if(!I)return;const E=Xn.serializeMessage({version:Xn.MessageVersion.V0,type:Xn.V0MessageType.ExtendedPublicKey,extendedPublicKey:P});(D=I.contentWindow)==null||D.postMessage(E,"*")}}},f=()=>{eB(t).then(D=>{if(!D.success){J(e("transactions.errorLoadTransactions"));return}D.list.length>0?Vo(e("buy.pocket.previousTransactions"),C=>{C&&S()}):S()})},B=D=>{if(!(!d||!t)&&D.origin===new URL(d).origin)try{const C=Xn.parseMessage(D.data);switch(C.type){case Xn.V0MessageType.RequestAddress:v||j(C);break;case Xn.V0MessageType.VerifyAddress:c||z(C.bitcoinAddress);break;case Xn.V0MessageType.RequestExtendedPublicKey:f()}}catch(C){console.log(C)}};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx("div",{className:Pr.header,children:r.jsx(xe,{title:r.jsx("h2",{children:e("buy.info.title",{name:b})})})}),r.jsxs("div",{ref:m,className:Pr.container,children:[s?r.jsxs("div",{style:{height:n},children:[!i&&r.jsx(Cn,{guideExists:!1,text:e("loading")}),r.jsx("iframe",{onLoad:()=>{o(!0)},ref:g,title:"Pocket",width:"100%",height:n,frameBorder:"0",className:Pr.iframe,allow:"camera; payment",src:d})]}):r.jsx(Rae,{onAgreedTerms:()=>l(!0)}),r.jsx(qe,{open:c,title:e("receive.verifyBitBox02"),disableEscape:!0,medium:!0,centered:!0,children:r.jsx("div",{className:"text-center",children:e("buy.pocket.verifyBitBox02")})})]})]}),r.jsx(Pd,{name:b,exchange:"pocket"})]})},Fg=t=>{x.useEffect(()=>{const e=n=>{n.key==="Escape"&&t()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t])},Vae="_button_1djzh_1",Wae="_success_1djzh_34",Uae="_container_1djzh_38",qae="_inputField_1djzh_42",Hae="_flexibleHeight_1djzh_72",Kae="_alignLeft_1djzh_76",Gae="_alignRight_1djzh_80",Qae="_borderLess_1djzh_84",ji={button:Vae,success:Wae,container:Uae,inputField:qae,flexibleHeight:Hae,alignLeft:Kae,alignRight:Gae,borderLess:Qae},Ia=({alignLeft:t,alignRight:e,borderLess:n,value:a,className:i,disabled:o,flexibleHeight:s})=>{const[l,c]=x.useState(!1),{t:u}=A(),d=x.useRef(null);x.useEffect(()=>{p()},[]),x.useEffect(()=>{l&&setTimeout(()=>c(!1),1500)},[l]);const p=()=>{const g=d.current;if(!g)return;const v=window.getComputedStyle(g,null).getPropertyValue("font-size"),y=Number(v.replace("px",""))+2;g.setAttribute("rows","1"),g.setAttribute("rows",String(Math.round(g.scrollHeight/y-2)))},h=g=>{g.currentTarget.focus()},m=()=>{var g;(g=d.current)==null||g.select(),document.execCommand("copy")&&c(!0)};return r.jsxs("div",{className:["flex flex-row flex-start flex-items-start",ji.container,i||""].join(" "),children:[r.jsx("textarea",{disabled:o,readOnly:!0,onFocus:h,value:a,ref:d,rows:1,className:[ji.inputField,s&&ji.flexibleHeight,t&&ji.alignLeft,e&&ji.alignRight,n&&ji.borderLess].join(" ")}),o?null:r.jsx("button",{onClick:m,className:[ji.button,l&&ji.success,"ignore"].join(" "),title:u("button.copy"),children:l?r.jsx(yj,{}):r.jsx(K7,{})})]})},Yae="_empty_gzy3c_1",Ok={empty:Yae},Ja=({data:t,size:e=256})=>{const n=me(t!==void 0?BQ(t):null,[t]);return n?n.success?r.jsx("img",{width:e,height:e,src:n.data}):r.jsx("div",{children:n.message}):t!==void 0?r.jsx("div",{className:Ok.empty}):r.jsx("svg",{className:Ok.empty,style:{verticalAlign:"middle",fill:"currentColor",overflow:"hidden"},viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:r.jsx("path",{d:"M433.282171 47.939849 94.944396 47.939849c-23.327288 0-42.304502 18.975167-42.304502 42.300408l0 338.341868c0 23.324218 18.977213 42.300408 42.304502 42.300408L433.282171 470.882534c23.324218 0 42.300408-18.97619 42.300408-42.300408L475.582579 90.240257C475.581556 66.915016 456.606389 47.939849 433.282171 47.939849zM438.742533 428.582125c0 3.01159-2.449795 5.461385-5.461385 5.461385L94.944396 434.04351c-3.013637 0-5.465478-2.450818-5.465478-5.461385L89.478917 90.240257c0-3.01159 2.451842-5.461385 5.465478-5.461385L433.282171 84.778872c3.01159 0 5.461385 2.449795 5.461385 5.461385L438.743556 428.582125zM322.914504 173.887352l-117.608581 0c-14.733563 0-26.719548 11.985986-26.719548 26.719548l0 117.608581c0 14.735609 11.985986 26.724665 26.719548 26.724665l117.608581 0c14.735609 0 26.724665-11.989055 26.724665-26.724665l0-117.608581C349.640192 185.873338 337.651137 173.887352 322.914504 173.887352zM312.801169 308.101123l-97.374748 0 0-97.374748 97.374748 0L312.801169 308.101123zM322.914504 675.606195l-117.608581 0c-14.733563 0-26.719548 11.989055-26.719548 26.724665l0 117.608581c0 14.732539 11.985986 26.719548 26.719548 26.719548l117.608581 0c14.735609 0 26.724665-11.987009 26.724665-26.719548l0-117.608581C349.640192 687.59525 337.651137 675.606195 322.914504 675.606195zM312.801169 809.819966l-97.374748 0 0-97.374748 97.374748 0L312.801169 809.819966zM699.123818 344.940147l117.608581 0c14.735609 0 26.724665-11.989055 26.724665-26.724665l0-117.608581c0-14.733563-11.989055-26.719548-26.724665-26.719548l-117.608581 0c-14.732539 0-26.719548 11.985986-26.719548 26.719548l0 117.608581C672.40427 332.951091 684.391279 344.940147 699.123818 344.940147zM709.243293 210.726376l97.374748 0 0 97.374748-97.374748 0L709.243293 210.726376zM433.282171 546.435277 94.944396 546.435277c-23.327288 0-42.304502 18.97619-42.304502 42.300408L52.639894 927.077553c0 23.325241 18.977213 42.301432 42.304502 42.301432L433.282171 969.378985c23.324218 0 42.300408-18.97619 42.300408-42.301432L475.582579 588.735685C475.581556 565.411467 456.606389 546.435277 433.282171 546.435277zM438.742533 927.077553c0 3.01159-2.449795 5.462408-5.461385 5.462408L94.944396 932.539962c-3.013637 0-5.465478-2.450818-5.465478-5.462408L89.478917 588.735685c0-3.010567 2.451842-5.461385 5.465478-5.461385L433.282171 583.2743c3.01159 0 5.461385 2.450818 5.461385 5.461385L438.743556 927.077553zM590.849836 547.776831c-23.325241 0-42.301432 18.978237-42.301432 42.305525l0 194.649212c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512L585.387427 590.082356c0-3.013637 2.450818-5.466502 5.462408-5.466502l204.825992 0c10.172687 0 18.419512-8.246825 18.419512-18.419512s-8.246825-18.419512-18.419512-18.419512L590.849836 547.776831zM588.757175 470.882534l338.341868 0c23.325241 0 42.301432-18.97619 42.301432-42.300408L969.400474 90.240257c0-23.324218-18.97619-42.300408-42.301432-42.300408L588.757175 47.939849c-23.324218 0-42.300408 18.975167-42.300408 42.300408l0 338.341868C546.456766 451.906343 565.432956 470.882534 588.757175 470.882534zM583.295789 90.240257c0-3.01159 2.450818-5.461385 5.461385-5.461385l338.341868 0c3.01159 0 5.462408 2.449795 5.462408 5.461385l0 338.341868c0 3.01159-2.450818 5.461385-5.462408 5.461385L588.757175 434.04351c-3.010567 0-5.461385-2.450818-5.461385-5.461385L583.295789 90.240257zM969.676767 566.196343c0-10.172687-8.246825-18.419512-18.419512-18.419512l-67.50444 0c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l49.084928 0 0 71.009264L779.708158 655.625118c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l171.549098 0c10.172687 0 18.419512-8.246825 18.419512-18.419512 0-0.076748-0.010233-0.151449-0.011256-0.228197 0.001023-0.076748 0.011256-0.150426 0.011256-0.228197L969.676767 566.196343zM630.202099 933.142689l-44.813648 0 0-51.2922c0-10.172687-8.246825-18.419512-18.419512-18.419512s-18.419512 8.246825-18.419512 18.419512l0 69.711711c0 10.172687 8.246825 18.419512 18.419512 18.419512l63.23316 0c10.172687 0 18.419512-8.246825 18.419512-18.419512S640.374786 933.142689 630.202099 933.142689zM834.04981 790.359752c0-10.172687-8.246825-18.419512-18.419512-18.419512L699.257871 771.940241c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 163.013701c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512L717.677383 808.779264 815.630299 808.779264C825.802986 808.779264 834.04981 800.532439 834.04981 790.359752zM951.060781 723.425294c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 194.301288L765.943666 936.146093c-10.172687 0-18.419512 8.246825-18.419512 18.419512s8.246825 18.419512 18.419512 18.419512l185.117115 0c10.172687 0 18.419512-8.246825 18.419512-18.419512L969.480292 741.844805C969.480292 731.672118 961.234491 723.425294 951.060781 723.425294zM655.979182 623.620194c-10.172687 0-18.419512 8.246825-18.419512 18.419512l0 59.869552c0 10.172687 8.246825 18.419512 18.419512 18.419512s18.419512-8.246825 18.419512-18.419512l0-59.869552C674.398694 631.867018 666.151869 623.620194 655.979182 623.620194z"})})},Zae="_title_nnme6_1",Jae="_nextButton_nnme6_6",Xae="_details_nnme6_17",eie="_qrCode_nnme6_22",tie="_address_nnme6_32",nie="_buttons_nnme6_35",aie="_verifyButton_nnme6_42",iie="_entry_nnme6_46",oie="_xPubInfo_nnme6_55",rie="_infoContent_nnme6_82",sie="_largeEntry_nnme6_86",lie="_addressField_nnme6_96",Ht={title:Zae,nextButton:Jae,details:Xae,qrCode:eie,address:tie,buttons:nie,verifyButton:aie,entry:iie,xPubInfo:oie,infoContent:rie,largeEntry:sie,addressField:lie},cie=({account:t,info:e,code:n,signingConfigIndex:a,children:i})=>{const{t:o}=A(),[s,l]=x.useState(!1),u=(()=>e.bitcoinSimple!==void 0?e.bitcoinSimple:e.ethereumSimple)(),d=La(t.coinCode);return r.jsxs("div",{className:Ht.address,children:[r.jsx("div",{className:Ht.qrCode,children:d?r.jsx(Ja,{data:u.keyInfo.xpub}):null}),r.jsxs("div",{className:Ht.details,children:[t.isToken?null:r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[o("accountSummary.name"),":"]}),r.jsx("span",{children:t.name})]},"accountname"),r.jsxs("div",{className:Ht.entry,children:[r.jsx("strong",{children:"Keypath:"}),r.jsx("code",{children:u.keyInfo.keypath})]},"keypath"),"scriptType"in u?r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[o("accountInfo.scriptType"),":"]}),r.jsx("span",{children:Td(u.scriptType)})]},"scriptName"):null,r.jsxs("div",{className:Ht.entry,children:[r.jsx("strong",{children:"Root fingerprint:"}),r.jsx("code",{children:u.keyInfo.rootFingerprint})]},"rootFingerprint"),r.jsxs("div",{className:Ht.entry,children:[r.jsxs("strong",{children:[t.isToken?"Token":"Coin",":"]}),r.jsxs("span",{children:[t.coinName," (",t.coinUnit,")"]})]},"coinName"),d?r.jsxs("div",{className:`${Ht.entry} ${Ht.largeEntry}`,children:[r.jsxs("strong",{className:"m-right-half",children:[o("accountInfo.extendedPublicKey"),":"]}),r.jsx(Ia,{className:"flex-grow",alignLeft:!0,flexibleHeight:!0,value:u.keyInfo.xpub})]},"xpub"):null]}),r.jsxs("div",{className:Ht.buttons,children:[d?r.jsx(_,{className:Ht.verifyButton,primary:!0,disabled:s,onClick:async()=>{l(!0);try{const p=await JQ(n,a);p.success||J(p.errorMessage)}finally{l(!1)}},children:o("accountInfo.verify")}):r.jsx(_,{className:Ht.verifyButton,primary:!0,onClick:()=>le(`/account/${n}/receive`),children:o("receive.verify")}),i]})]})};function uie({coinName:t}){const{t:e}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:e("guide.accountInfo.xpub"),shown:!0},"guide.accountInfo.xpub"),r.jsx(W,{entry:{text:e("guide.accountInfo.multipleXPubs.text",{coinName:t}),title:e("guide.accountInfo.multipleXPubs.title")}},"guide.accountInfo.multipleXPubs"),r.jsx(W,{entry:e("guide.accountInfo.privacy")},"guide.accountInfo.privacy"),r.jsx(W,{entry:e("guide.accountInfo.verify")},"guide.accountInfo.verify")]})}const die=({accounts:t,code:e})=>{const{t:n}=A(),a=me(Jj(e)),[i,o]=x.useState(0),s=t.find(({code:p})=>p===e);if(Fg(()=>le(`/account/${e}`)),!s||!a)return null;const l=a.signingConfigurations[i],c=a.signingConfigurations.length,u=a.signingConfigurations.map(p=>{var h;return(h=p.bitcoinSimple)==null?void 0:h.scriptType}),d=()=>{if(!a)return;const p=a.signingConfigurations.length;o((i+1)%p)};return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("accountInfo.title")})}),r.jsx("div",{className:"content padded",children:r.jsxs("div",{className:"box larger",children:[La(s.coinCode)?r.jsx("h2",{className:Ht.title,children:n("accountInfo.extendedPublicKey")}):null,l.bitcoinSimple!==void 0&&c>1?r.jsxs("p",{className:Ht.xPubInfo,children:[n("accountInfo.xpubTypeInfo",{current:`${i+1}`,numberOfXPubs:c.toString(),scriptType:l.bitcoinSimple.scriptType.toUpperCase()}),r.jsx("br",{}),r.jsx("button",{className:Ht.nextButton,onClick:d,children:n(`accountInfo.xpubTypeChangeBtn.${u[(i+1)%c]}`)})]}):null,r.jsx(cie,{account:s,code:e,info:l,signingConfigIndex:i,children:r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:n("button.back")})},i)]})})]})}),La(s.coinCode)?r.jsx(uie,{coinName:s.coinName}):null]})};function a1({hasMultipleAddresses:t,hasDifferentFormats:e}){const{t:n}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.receive.address")},"guide.receive.address"),r.jsx(W,{entry:n("guide.receive.whyVerify")},"guide.receive.whyVerify"),r.jsx(W,{entry:n("guide.receive.howVerify")},"guide.receive.howVerify"),r.jsx(W,{entry:n("guide.receive.plugout")},"guide.receive.plugout"),t&&r.jsxs(r.Fragment,{children:[r.jsx(W,{entry:n("guide.receive.whyMany")},"guide.receive.whyMany"),r.jsx(W,{entry:n("guide.receive.why20")},"guide.receive.why20"),r.jsx(W,{entry:n("guide.receive.addressChange")},"guide.receive.addressChange"),e&&r.jsx(W,{entry:n("guide.receive.addressFormats")},"guide.receive.addressFormats")]})]})}const pie="_labels_1m4jx_1",hie="_label_1m4jx_1",mie="_qrCodeContainer_1m4jx_17",fie="_arrowLeft_1m4jx_22",gie="_arrowRight_1m4jx_23",vie="_previous_1m4jx_37",bie="_next_1m4jx_38",kie="_hide_1m4jx_49",xie="_changeType_1m4jx_58",cn={labels:pie,label:hie,qrCodeContainer:mie,arrowLeft:fie,arrowRight:gie,previous:vie,next:bie,hide:kie,changeType:xie},yie=["p2wpkh","p2tr","p2wpkh-p2sh"],Rk=(t,e)=>t?t.findIndex(n=>n.scriptType!==null&&e===n.scriptType):-1,wie=({accounts:t,code:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(0),[l,c]=x.useState(0),[u,d]=x.useState(),[p,h]=x.useState(),[m,g]=x.useState(0),v=t.find(({code:C})=>C===e),y=me(Ed(e)),b=x.useRef(),k=b.current&&b.current.length>1,w=!!(u&&k);Fg(()=>!w&&!a&&le(`/account/${e}`)),x.useEffect(()=>{y&&(b.current=yie.filter(C=>Rk(y,C)>=0))},[y]),x.useEffect(()=>{if(y&&b.current){let C=b.current.length>0?Rk(y,b.current[l]):0;C===-1&&(C=0),g(C),h(y[C].addresses)}},[l,b,y]);const j=C=>{u&&(C.preventDefault(),s(0),c(u.addressType),d(void 0))},z=async C=>{if(!y||e===void 0||!(await fl(e)).success)return;if(!(await tB(e)()).hasSecureOutput){i("insecure");return}i("secure");try{await jg(e,y[C].addresses[o].addressID)}finally{i(!1)}},S=C=>{C.preventDefault(),!a&&o>0&&s(o-1)},f=(C,P)=>{C.preventDefault(),!a&&o1&&r.jsx("button",{className:cn.previous,onClick:S,children:a||o===0?r.jsx(vj,{height:"24",width:"24"}):r.jsx(bj,{height:"24",width:"24",title:n("button.previous")})}),r.jsxs("p",{className:cn.label,children:[n("receive.label")," ",p.length>1?`(${o+1}/${p.length})`:""]}),p.length>1&&r.jsx("button",{className:cn.next,onClick:C=>f(C,p.length),children:a||o>=p.length-1?r.jsx(kj,{height:"24",width:"24"}):r.jsx(xj,{height:"24",width:"24",title:n("button.next")})})]}),r.jsx(Ia,{disabled:!0,value:D,flexibleHeight:!0}),k&&r.jsx("button",{className:cn.changeType,onClick:()=>d(u?void 0:{addressType:l}),children:n("receive.changeScriptType")}),r.jsx("form",{onSubmit:j,children:r.jsxs(qe,{open:w,onClose:()=>d(void 0),medium:!0,title:n("receive.changeScriptType"),children:[b.current&&b.current.map((C,P)=>r.jsx("div",{children:u&&r.jsxs(r.Fragment,{children:[r.jsx(yg,{checked:u.addressType===P,id:C,name:"scriptType",onChange:()=>d({addressType:P}),title:Td(C),children:n(`receive.scriptType.${C}`)}),C==="p2tr"&&u.addressType===P&&r.jsx(nn,{type:"warning",children:n("receive.taprootWarning")})]})},C)),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:n("button.done")})})]})}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{disabled:a!==!1,onClick:()=>z(m),primary:!0,children:n("receive.verifyBitBox02")}),r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:n("button.back")})]}),a&&r.jsx("div",{className:cn.hide}),r.jsx(qe,{open:!!(v&&a),title:n("receive.verifyBitBox02"),disableEscape:a==="secure",onClose:a==="insecure"?()=>{i(!1)}:void 0,medium:!0,centered:!0,children:v&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"text-center",children:[Fo(v.coinCode)&&r.jsxs("p",{children:[r.jsx("strong",{children:n("receive.onlyThisCoin.warning",{coinName:v.coinName})}),r.jsx("br",{}),n("receive.onlyThisCoin.description")]}),r.jsx(Ja,{data:B+D}),r.jsx("p",{children:n("receive.verifyInstruction")})]}),r.jsx("div",{className:"m-bottom-half",children:r.jsx(Ia,{value:D,flexibleHeight:!0})})]})})]})})})]})}),r.jsx(a1,{hasMultipleAddresses:p?p.length>1:!1,hasDifferentFormats:y?y.length>1:!1})]})},jie=()=>Z("devices/registered"),Bie=t=>()=>Z(`devices/${t}/has-mobile-channel`),Sie="_container_1ooxc_1",zie="_withCloseBtn_1ooxc_7",Cie="_status_1ooxc_15",Die="_success_1ooxc_21",Aie="_warning_1ooxc_25",_ie="_info_1ooxc_29",Tie="_close_1ooxc_42",ir={container:Sie,withCloseBtn:zie,status:Cie,success:Die,warning:Aie,info:_ie,"close-success":"_close-success_1ooxc_42","close-warning":"_close-warning_1ooxc_46","close-info":"_close-info_1ooxc_50",close:Tie},an=({hidden:t,type:e="warning",dismissible:n,className:a,children:i})=>{const[o,s]=x.useState(!n),l=x.useCallback(async()=>{if(n){const u=await Bt();s(u?!u.frontend[n]:!0)}},[n]);x.useEffect(()=>{l()},[l]);const c=async()=>{n&&(at({frontend:{[n]:!0}}),s(!1))};return t||!o?null:r.jsx("div",{className:[ir.container,ir[e],a||"",n?ir.withCloseBtn:""].join(" "),children:r.jsxs("div",{className:ir.status,children:[i,r.jsx("button",{hidden:!n,className:`${ir.close} ${ir[`close-${e}`]}`,onClick:c,children:r.jsx(El,{})})]})})},Eie=({deviceID:t})=>{const{t:e}=A(),n=me(Bie(t));return n?null:r.jsx(an,{type:"warning",hidden:n!==!1,children:e("warning.receivePairing")})},i1=t=>{const{t:e}=A();return e(t==="bitbox"?"receive.verifyBitBox01":t==="bitbox02"?"receive.verifyBitBox02":"receive.verify")},Pie=({device:t,forceVerification:e,...n})=>{const{t:a}=A(),i=i1(t);return r.jsx(_,{primary:!0,...n,children:e?a("receive.showFull"):i})},Nie=["p2wpkh","p2tr","p2wpkh-p2sh"],Fk=(t,e)=>t?t.findIndex(n=>n.scriptType!==null&&e===n.scriptType):-1,Lie=({accounts:t,code:e,deviceID:n})=>{const{t:a}=A(),[i,o]=x.useState(!1),[s,l]=x.useState(0),[c,u]=x.useState(0),[d,p]=x.useState(),[h,m]=x.useState(),[g,v]=x.useState(0),y=t.find(({code:E})=>E===e),b=i1("bitbox"),k=me(Ed(e)),w=me(tB(e));Fg(()=>!i&&le(`/account/${e}`));const j=x.useRef();x.useEffect(()=>{k&&(j.current=Nie.filter(E=>Fk(k,E)>=0))},[k]),x.useEffect(()=>{if(k&&j.current){let E=j.current.length>0?Fk(k,j.current[c]):0;E===-1&&(E=0),v(E),m(k[E].addresses)}},[c,j,k]);const z=E=>{if(k&&w){if(e===void 0)return;if(!w.hasSecureOutput){J(a("receive.warning.secureOutput"));return}o(!0),jg(e,k[E].addresses[s].addressID).then(()=>o(!1))}},S=E=>{E.preventDefault(),!i&&s>0&&l(s-1)},f=(E,L)=>{E.preventDefault(),!i&&s1;return r.jsxs("div",{className:"contentWithGuide",children:[r.jsxs("div",{className:"container",children:[r.jsx(Eie,{deviceID:n}),r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:a("receive.title",{accountName:y==null?void 0:y.coinName})})}),r.jsx("div",{className:"content narrow isVerticallyCentered",children:r.jsx("div",{className:"box large text-center",children:h&&r.jsxs("div",{style:{position:"relative"},children:[r.jsx("div",{className:cn.qrCodeContainer,children:r.jsx(Ja,{data:D?C+P:void 0})}),r.jsxs("div",{className:cn.labels,children:[h.length>1&&r.jsx("button",{className:cn.previous,onClick:S,children:i||s===0?r.jsx(vj,{height:"24",width:"24"}):r.jsx(bj,{height:"24",width:"24",title:a("button.previous")})}),r.jsxs("p",{className:cn.label,children:[a("receive.label")," ",h.length>1?`(${s+1}/${h.length})`:""]}),h.length>1&&r.jsx("button",{className:cn.next,onClick:E=>f(E,h.length),children:i||s>=h.length-1?r.jsx(kj,{height:"24",width:"24"}):r.jsx(xj,{height:"24",width:"24",title:a("button.next")})})]}),r.jsx(Ia,{disabled:!D,value:P,flexibleHeight:!0}),I&&r.jsx("button",{className:cn.changeType,onClick:()=>p(d?void 0:{addressType:c}),children:a("receive.changeScriptType")}),r.jsx("form",{onSubmit:E=>{E.preventDefault(),l(0),u(d?d==null?void 0:d.addressType:c),p(void 0)},children:r.jsxs(qe,{open:!!d,medium:!0,title:a("receive.changeScriptType"),children:[j.current&&j.current.map((E,L)=>r.jsx("div",{children:d&&r.jsxs(r.Fragment,{children:[r.jsx(yg,{checked:d.addressType===L,id:E,name:"scriptType",onChange:()=>p({addressType:L}),title:Td(E),children:a(`receive.scriptType.${E}`)}),E==="p2tr"&&d.addressType===L&&r.jsx(nn,{type:"warning",children:a("receive.taprootWarning")})]})},E)),r.jsx(Yt,{children:r.jsx(_,{primary:!0,type:"submit",children:a("button.done")})})]})}),r.jsxs("div",{className:"buttons",children:[r.jsx(Pie,{device:"bitbox",disabled:i||w===void 0,forceVerification:B,onClick:()=>z(g)}),r.jsx(Qo,{secondary:!0,to:`/account/${e}`,children:a("button.back")})]}),B&&i&&r.jsx("div",{className:cn.hide}),r.jsxs(qe,{open:!!y&&B&&i,title:b,disableEscape:!0,medium:!0,centered:!0,children:[r.jsx("div",{className:"text-center",children:y&&r.jsxs(r.Fragment,{children:[Fo(y.coinCode)&&r.jsxs("p",{children:[r.jsx("strong",{children:a("receive.onlyThisCoin.warning",{coinName:y.coinName})}),r.jsx("br",{}),a("receive.onlyThisCoin.description")]}),r.jsx(Ja,{data:C+P}),r.jsx("p",{children:a("receive.verifyInstruction")})]})}),r.jsx("div",{className:"m-bottom-half",children:r.jsx(Ia,{value:P,flexibleHeight:!0})})]})]})})})]})]}),r.jsx(a1,{hasMultipleAddresses:h?h.length>1:!1,hasDifferentFormats:k?k.length>1:!1})]})},Iie=t=>{const{devices:e,deviceIDs:n}=t,a=n[0];switch(n.length?e[a]:void 0){case"bitbox":return r.jsx(Lie,{deviceID:a,...t});case"bitbox02":default:return r.jsx(wie,{...t})}},Zo=x.createContext({}),Lr={};function $ie(t){if("type"in t&&t.data&&typeof t.data=="string"&&t.data in Lr&&Lr[t.data].length)for(const e of Lr[t.data])e(t)}function is(t,e){Lr[t]||(Lr[t]=[]);const n=Lr[t];return n.includes(e)&&console.error(`observer already registered for ${t}`),n.push(e),()=>{n.includes(e)||console.error("!observers.includes(observer)");const a=n.indexOf(e);n.splice(a,1)}}Yo($ie);const Mie=t=>Gn("accounts",t),o1=t=>e=>Gn(`account/${t}/synced-addresses-count`,n=>{e(n)}),r1=t=>is("statusChanged",n=>{n.type==="account"&&n.code&&t(n.code)}),Yd=t=>is("syncdone",e=>{e.type==="account"&&e.code&&t(e.code)}),Oie=t=>e=>Gn(`coins/${t}/headers/status`,e),Rie=t=>H("coins/btc/set-unit",{unit:t}),Fie=t=>Z(`coins/btc/parse-external-amount?amount=${t}`),Jo=t=>Z(`devices/${t}/info`),Vie="_space_tpxrt_1",sh={space:Vie},ct=({amount:t,unit:e,removeBtcTrailingZeroes:n,alwaysShowAmounts:a=!1})=>{const{hideAmounts:i}=x.useContext(mi),o=l=>{const c=[];for(let d=l.length;d>0;d-=3){const p=Math.max(0,d-3);c.push(r.jsx("span",{className:p===0?"":sh.space,children:l.slice(p,d)},"block_"+c.length))}return r.jsx("span",{"data-testid":"amountBlocks",children:c.reverse()})},s=l=>{const c=l.indexOf(".");return c===-1?r.jsx(r.Fragment,{children:l}):r.jsxs("span",{"data-testid":"amountBlocks",children:[r.jsx("span",{children:l.slice(0,c+3)}),r.jsx("span",{className:sh.space,children:l.slice(c+3,c+6)}),r.jsx("span",{className:sh.space,children:l.slice(c+6,c+9)})]})};if(i&&!a)return"***";switch(e){case"BTC":case"TBTC":case"LTC":case"TLTC":return n&&t.includes(".")?r.jsx(r.Fragment,{children:t.replace(/\.?0+$/,"")}):s(t);case"sat":case"tsat":return o(t)}return r.jsx(r.Fragment,{children:t})},Wie="_rates_19qqe_1",Uie="_unit_19qqe_8",qie="_unitAction_19qqe_13",Hie="_fiatRow_19qqe_20",Kie="_availableFiatAmount_19qqe_24",Gie="_availableFiatUnitNoAction_19qqe_29",Qie="_availableFiatUnit_19qqe_29",Yie="_notAvailable_19qqe_46",Bi={rates:Wie,unit:Uie,unitAction:qie,fiatRow:Hie,availableFiatAmount:Kie,availableFiatUnitNoAction:Gie,availableFiatUnit:Qie,notAvailable:Yie},s1=[{currency:"AUD",displayName:"Australian Dollar"},{currency:"BRL",displayName:"Brazilian Real"},{currency:"CAD",displayName:"Canadian Dollar"},{currency:"CHF",displayName:"Swiss franc"},{currency:"CNY",displayName:"Chinese Yuan"},{currency:"CZK",displayName:"Czech Koruna"},{currency:"EUR",displayName:"Euro"},{currency:"GBP",displayName:"British Pound"},{currency:"HKD",displayName:"Hong Kong Dollar"},{currency:"ILS",displayName:"Israeli New Shekel"},{currency:"JPY",displayName:"Japanese Yen"},{currency:"KRW",displayName:"South Korean Won"},{currency:"NOK",displayName:"Norwegian Krone"},{currency:"PLN",displayName:"Polish Zloty"},{currency:"RUB",displayName:"Russian ruble"},{currency:"SEK",displayName:"Swedish Krona"},{currency:"SGD",displayName:"Singapore Dollar"},{currency:"USD",displayName:"United States Dollar"},{currency:"BTC",displayName:"Bitcoin"}];function Zie(t,e){let n=t.toFixed(e),a=n.indexOf(".")-3;for(;a>0;)n=n.slice(0,a)+"'"+n.slice(a),a=a-3;return n}function Jie({amount:t,tableRow:e,unstyled:n,skipUnit:a,noAction:i,sign:o,noBtcZeroes:s,alwaysShowAmounts:l=!1}){const{rotateFiat:c,defaultCurrency:u,btcUnit:d}=x.useContext(Zo);let p=r.jsx(r.Fragment,{children:"---"}),h=!1,m=u;return u==="BTC"&&d==="sat"&&(m="sat"),t&&t.conversions&&t.conversions[u]&&t.conversions[u]!==""&&(h=!0,p=r.jsx(ct,{alwaysShowAmounts:l,amount:t.conversions[u],unit:m,removeBtcTrailingZeroes:!!s})),e?r.jsxs("tr",{className:n?"":Bi.fiatRow,children:[r.jsx("td",{className:n?"":Bi.availableFiatAmount,children:p}),!i&&r.jsx("td",{className:n?"":Bi.availableFiatUnit,onClick:c,children:m}),i&&r.jsx("td",{className:n?"":Bi.availableFiatUnitNoAction,children:m})]}):r.jsxs("span",{className:`${Bi.rates} ${h?"":Bi.notAvailable}`,children:[h?o:"",p," ",!a&&!i&&r.jsx("span",{className:Bi.unitAction,onClick:c,children:m}),!a&&i&&r.jsx("span",{className:Bi.unit,children:m})]})}const l1=s1.map(t=>({label:`${t.displayName} (${t.currency})`,value:t.currency})),Xa=Jie,Xie="_balanceTable_m2hui_1",eoe="_availableAmount_m2hui_27",toe="_availableUnit_m2hui_32",noe="_pendingBalance_m2hui_37",uo={balanceTable:Xie,availableAmount:eoe,availableUnit:toe,pendingBalance:noe},c1=({balance:t,noRotateFiat:e})=>{const{t:n}=A();return t?r.jsxs("header",{className:uo.balance,children:[r.jsx("table",{className:uo.balanceTable,children:r.jsxs("tbody",{children:[r.jsxs("tr",{"data-testid":"availableBalance",children:[r.jsx("td",{className:uo.availableAmount,children:r.jsx(ct,{amount:t.available.amount,unit:t.available.unit,removeBtcTrailingZeroes:!0})}),r.jsx("td",{className:uo.availableUnit,children:t.available.unit})]}),r.jsx(Xa,{amount:t.available,tableRow:!0,noAction:e,noBtcZeroes:!0})]})}),t.hasIncoming&&r.jsxs("p",{className:uo.pendingBalance,children:[n("account.incoming"),r.jsxs("span",{"data-testid":"incomingBalance",children:["+",r.jsx(ct,{amount:t.incoming.amount,unit:t.incoming.unit,removeBtcTrailingZeroes:!0})," ",t.incoming.unit," /",r.jsxs("span",{className:uo.incomingConversion,children:[" ",r.jsx(Xa,{amount:t.incoming,noBtcZeroes:!0})]})]})]})]}):r.jsx("header",{className:uo.balance})},kn=He;function u1(t,e=!0){return function(a){var i;return i=class extends x.Component{constructor(){super(...arguments),this.state={}}determineEndpoints(){return typeof t=="function"?t(this.props):t}loadEndpoint(o,s){Z(s).then(l=>{this.setState({[o]:l})})}loadEndpoints(){const o=this.endpoints,s=this.determineEndpoints();for(const l of Object.keys(s))(o===void 0||s[l]!==o[l])&&this.loadEndpoint(l,s[l]);if(o===void 0)e&&Object.keys(s).length===0&&this.setState({});else for(const l of Object.keys(o))s[l]===void 0&&this.setState({[l]:void 0});this.endpoints=s}componentDidMount(){this.loadEndpoints()}componentDidUpdate(){this.loadEndpoints()}allEndpointsLoaded(){if(this.endpoints===void 0)return!1;for(const o of Object.keys(this.endpoints))if(this.state[o]===void 0)return!1;return!0}render(){const o=this.props,s=this.state;return e&&!this.allEndpointsLoaded()?null:r.jsx(a,{...s,...o})}},i.displayName=`Load(${wg(a)})`,i}}const aoe="_row_1qpuo_1",ioe="_rowCustomFee_1qpuo_6",ooe="_column_1qpuo_12",roe="_priority_1qpuo_38",soe="_fee_1qpuo_42",loe="_feeCustom_1qpuo_91",coe="_feeDescription_1qpuo_95",uoe="_feeProposed_1qpuo_96",doe="_customFeeUnit_1qpuo_112",xa={row:aoe,rowCustomFee:ioe,column:ooe,priority:roe,fee:soe,feeCustom:loe,feeDescription:coe,feeProposed:uoe,customFeeUnit:doe};class poe extends x.Component{constructor(){super(...arguments),this.state={feeTarget:"",options:null,noFeeTargets:!1},this.input=x.createRef(),this.updateFeeTargets=e=>{eY(e).then(({feeTargets:n,defaultFeeTarget:a})=>{const i=this.props.config.frontend.expertFee||n.length===0,o=n.map(({code:s,feeRateInfo:l})=>({value:s,text:this.props.t(`send.feeTarget.label.${s}`)+(i&&l?` (${l})`:"")}));i&&o.push({value:"custom",text:this.props.t("send.feeTarget.label.custom")}),this.setState({options:o}),this.setFeeTarget(a),n.length===0&&this.setState({noFeeTargets:!0})}).catch(console.error)},this.handleFeeTargetChange=e=>{const n=e.target;this.setFeeTarget(n.options[n.selectedIndex].value)},this.handleCustomFee=e=>{const n=e.target;this.props.onCustomFee(n.value)},this.setFeeTarget=e=>{this.setState({feeTarget:e}),this.props.onFeeTargetChange(e)},this.getProposeFeeText=()=>{if(!this.props.proposedFee)return"";const{amount:e,unit:n,conversions:a}=this.props.proposedFee,i=this.props.fiatUnit;return`${e} ${n} ${a?` = ${a[i==="sat"?"BTC":i]} ${i}`:""}`},this.focusInput=()=>{!this.props.disabled&&this.input.current&&this.input.current.autofocus&&this.input.current.focus()}}componentDidMount(){this.updateFeeTargets(this.props.accountCode),this.focusInput()}UNSAFE_componentWillReceiveProps({accountCode:e}){this.props.accountCode!==e&&this.updateFeeTargets(e)}render(){const{t:e,coinCode:n,disabled:a,error:i,showCalculatingFeeLabel:o=!1,customFee:s}=this.props,{feeTarget:l,options:c,noFeeTargets:u}=this.state;if(c===null)return r.jsx(Ye,{label:e("send.priority"),id:"feetarget",placeholder:e("send.feeTarget.placeholder"),disabled:!0,value:"",transparent:!0});const d=l==="custom",p=c.length>0,h=this.getProposeFeeText(),m=document.activeElement&&document.activeElement.nodeName==="INPUT";return p?r.jsxs("div",{children:[d?r.jsxs("div",{className:xa.rowCustomFee,children:[u?r.jsx(nn,{small:!0,type:"warning",children:e("send.noFeeTargets")}):null,r.jsx("div",{className:xa.column,children:r.jsx(Ru,{className:xa.priority,label:e("send.priority"),id:"feeTarget",disabled:a,onChange:this.handleFeeTargetChange,value:l,options:c})}),r.jsx("div",{className:xa.column,children:r.jsx(Ye,{type:a?"text":"number",min:"0",step:"any",autoFocus:!m,align:"right",className:`${xa.fee} ${xa.feeCustom}`,disabled:a,label:e("send.feeTarget.customLabel",{context:Fo(n)?"eth":""}),id:"proposedFee",placeholder:e("send.fee.customPlaceholder"),error:i,transparent:!0,onInput:this.handleCustomFee,ref:this.input,value:s,children:r.jsx("span",{className:xa.customFeeUnit,children:Kj(this.props.coinCode)})})})]}):o?r.jsx(Ye,{disabled:!0,label:e("send.priority"),placeholder:e("send.feeTarget.placeholder"),value:"",transparent:!0}):r.jsx(Ru,{className:xa.priority,label:e("send.priority"),id:"feeTarget",disabled:a,onChange:this.handleFeeTargetChange,value:l,options:c}),l&&r.jsxs("div",{children:[o||h?r.jsxs("p",{className:xa.feeProposed,children:[e("send.fee.label"),":"," ",o?e("send.feeTarget.placeholder"):h]}):null,d?null:r.jsxs("p",{className:xa.feeDescription,children:[e("send.feeTarget.estimate")," ",e(`send.feeTarget.description.${l}`,{context:WQ(n)||""})]})]})]}):r.jsx(Ye,{disabled:!0,label:e("send.fee.label"),id:"proposedFee",placeholder:e("send.fee.placeholder"),error:i,transparent:!0,value:h})}}const hoe=u1({config:"config"})(poe),moe=kn()(hoe),foe="_utxosList_8ra1q_1",goe="_utxo_8ra1q_1",voe="_utxoContent_8ra1q_17",boe="_note_8ra1q_25",koe="_utxoData_8ra1q_33",xoe="_utxoExplorer_8ra1q_41",yoe="_amounts_8ra1q_51",woe="_amount_8ra1q_51",joe="_label_8ra1q_59",Boe="_unit_8ra1q_60",Soe="_address_8ra1q_73",zoe="_transaction_8ra1q_74",Coe="_shrink_8ra1q_81",Jt={utxosList:foe,utxo:goe,utxoContent:voe,note:boe,utxoData:koe,utxoExplorer:xoe,amounts:yoe,amount:woe,label:joe,unit:Boe,address:Soe,transaction:zoe,shrink:Coe},Doe=({accountCode:t,active:e,explorerURL:n,onChange:a,onClose:i})=>{const{t:o}=A(),[s,l]=x.useState([]),[c,u]=x.useState({});x.useEffect(()=>(dk(t).then(l),()=>l([])),[t]),x.useEffect(()=>{const h=Yd(m=>{t===m&&dk(t).then(l)});return()=>h()},[t]);const d=h=>{const m=h.target,g=m.dataset.outpoint,v=Object.assign({},c);m.checked?v[g]=!0:delete v[g],u(v),a(v)},p=h=>{const m=s.filter(g=>g.scriptType===h);return m.length===0?null:r.jsxs("div",{children:[r.jsx("h2",{className:"subTitle",children:Td(h)}),r.jsx("ul",{className:Jt.utxosList,children:m.map(g=>r.jsx("li",{className:Jt.utxo,children:r.jsxs(Ve,{checked:!!c[g.outPoint],id:"utxo-"+g.outPoint,"data-outpoint":g.outPoint,onChange:d,children:[g.note&&r.jsx("div",{className:Jt.note,children:r.jsxs("strong",{children:[g.note," "]})}),r.jsxs("div",{className:Jt.utxoContent,children:[r.jsxs("div",{className:Jt.utxoData,children:[r.jsxs("div",{className:Jt.amounts,children:[r.jsxs("span",{className:Jt.amount,children:[r.jsx(ct,{alwaysShowAmounts:!0,amount:g.amount.amount,unit:g.amount.unit})," ",r.jsx("span",{className:Jt.unit,children:g.amount.unit})]}),r.jsx(Xa,{alwaysShowAmounts:!0,amount:g.amount,unstyled:!0,noAction:!0})]}),r.jsxs("div",{className:Jt.address,children:[r.jsxs("span",{className:Jt.label,children:[o("send.coincontrol.address"),":"]}),r.jsx("span",{className:Jt.shrink,children:g.address})]}),r.jsxs("div",{className:Jt.transaction,children:[r.jsxs("span",{className:Jt.label,children:[o("send.coincontrol.outpoint"),":"]}),r.jsx("span",{className:Jt.shrink,children:g.txId}),":",g.txOutput]})]}),r.jsx(pt,{className:Jt.utxoExplorer,href:n+g.txId,title:o("transaction.explorerTitle"),children:r.jsx(J7,{})})]})]})},"utxo-"+g.outPoint))})]},"utxos-"+h)};return r.jsx(qe,{open:e,title:o("send.coincontrol.title"),large:!0,onClose:i,children:r.jsxs("div",{children:[HQ.map(p),r.jsx("div",{className:"buttons text-center m-top-none m-bottom-half",children:r.jsx(_,{primary:!0,onClick:i,children:o("button.continue")})})]})})};function Nl(t){for(const e of t)e();t.splice(0,t.length)}const Aoe=""+new URL("hold.png",import.meta.url).href,_oe=""+new URL("tap.png",import.meta.url).href;class Toe extends x.Component{constructor(){super(...arguments),this.overlay=x.createRef(),this.modal=x.createRef(),this.state={active:!1},this.handleKeyDown=e=>{const n=document.activeElement;n&&n instanceof HTMLElement&&n.blur(),e.preventDefault(),e.stopPropagation()},this.activate=()=>{this.setState({active:!0},()=>{!this.overlay.current||!this.modal.current||(this.overlay.current.classList.add(ce.activeOverlay),this.modal.current.classList.add(ce.activeModal))})}}UNSAFE_componentWillMount(){document.body.addEventListener("keydown",this.handleKeyDown)}componentDidMount(){setTimeout(this.activate,10)}componentWillUnmount(){document.body.removeEventListener("keydown",this.handleKeyDown)}render(){const{t:e,includeDefault:n,prequel:a,title:i,paired:o=!1,touchConfirm:s=!0,children:l}=this.props,c=r.jsxs("div",{children:[a&&r.jsx("p",{className:"m-top-none",children:a}),o?r.jsxs("div",{children:[r.jsxs("p",{className:[ce.confirmationLabel,s&&o?ce.disabledLabel:"","m-top-none"].join(" "),children:[r.jsx("span",{className:ce.confirmationLabelNumber,children:"1."}),e("confirm.infoWhenPaired")]}),r.jsxs("p",{className:[ce.confirmationLabel,!s&&o?ce.disabledLabel:""].join(" "),children:[r.jsx("span",{className:ce.confirmationLabelNumber,children:"2."}),e("confirm.info")]})]}):r.jsx("p",{className:[ce.confirmationLabel,ce.noStep,"m-top-none"].join(" "),children:e("confirm.info")}),s&&r.jsxs("div",{className:["flex flex-row flex-between flex-items-stretch",ce.confirmationInstructions].join(" "),children:[r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx("img",{className:ce.image,src:_oe,alt:"Reject"}),r.jsxs("p",{children:[e("confirm.abortInfo"),r.jsx("span",{className:"text-red",children:e("confirm.abortInfoRedText")})]})]}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx("img",{className:ce.image,src:Aoe,alt:"Approve"}),r.jsxs("p",{children:[e("confirm.approveInfo"),r.jsx("span",{className:"text-green",children:e("confirm.approveInfoGreenText")})]})]})]})]}),u=Mn.Children.toArray(l).length>0;return r.jsx("div",{className:ce.overlay,ref:this.overlay,style:{zIndex:10001},children:r.jsxs("div",{className:[ce.modal,ce.open].join(" "),ref:this.modal,children:[i&&r.jsx("div",{className:ce.header,children:r.jsx("h3",{className:ce.title,children:i})}),r.jsx("div",{className:ce.contentContainer,children:r.jsxs("div",{className:ce.content,children:[u&&n?c:null,u?r.jsx("div",{className:"flex flex-column flex-start",children:l}):c]})})]})})}}const xn=kn()(Toe),Eoe="_confirmItem_1e5e5_1",Poe="_confirmationValue_1e5e5_6",Noe="_total_1e5e5_15",Si={confirmItem:Eoe,confirmationValue:Poe,total:Noe},Loe=({paired:t,baseCurrencyUnit:e,note:n,hasSelectedUTXOs:a,selectedUTXOs:i,coinCode:o,transactionStatus:s,transactionDetails:l})=>{const{t:c}=A(),{isConfirming:u,signConfirm:d,signProgress:p}=s,{proposedFee:h,proposedAmount:m,proposedTotal:g,customFee:v,feeTarget:y,recipientAddress:b,fiatUnit:k}=l;if(!u)return null;const w=p&&p.steps>1?r.jsxs("span",{children:[c("send.signprogress.description",{steps:p.steps.toString()}),r.jsx("br",{}),c("send.signprogress.label"),": ",p.step,"/",p.steps]}):void 0;return r.jsxs(xn,{title:c("send.confirm.title"),prequel:w,paired:t,touchConfirm:d,includeDefault:!0,children:[r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("send.address.label")}),r.jsx("p",{children:b||"N/A"})]}),r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("send.amount.label")}),r.jsxs("p",{children:[r.jsxs("span",{children:[m&&r.jsx(ct,{alwaysShowAmounts:!0,amount:m.amount,unit:m.unit})||"N/A"," ",r.jsx("small",{children:m&&m.unit||"N/A"})]},"proposedAmount"),m&&m.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx(ct,{alwaysShowAmounts:!0,amount:m.conversions[k],unit:e})," ",r.jsx("small",{children:e})]})]})]}),n?r.jsxs("div",{className:Si.confirmItem,children:[r.jsx("label",{children:c("note.title")}),r.jsx("p",{children:n})]}):null,r.jsxs("div",{className:Si.confirmItem,children:[r.jsxs("label",{children:[c("send.fee.label"),y?" ("+c(`send.feeTarget.label.${y}`)+")":""]}),r.jsxs("p",{children:[r.jsxs("span",{children:[h&&r.jsx(ct,{alwaysShowAmounts:!0,amount:h.amount,unit:h.unit})||"N/A"," ",r.jsx("small",{children:h&&h.unit||"N/A"})]},"amount"),h&&h.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx(ct,{alwaysShowAmounts:!0,amount:h.conversions[k],unit:e})," ",r.jsx("small",{children:e})]},"conversation"),v?r.jsxs("span",{children:[r.jsx("br",{}),r.jsxs("small",{children:["(",v," ",Kj(o),")"]})]},"customFee"):null]})]}),a&&r.jsxs("div",{className:[Si.confirmItem].join(" "),children:[r.jsx("label",{children:c("send.confirm.selected-coins")}),i.map((j,z)=>r.jsx("p",{className:Si.confirmationValue,children:j},`selectedCoin-${z}`))]}),r.jsxs("div",{className:[Si.confirmItem,Si.total].join(" "),children:[r.jsx("label",{children:c("send.confirm.total")}),r.jsxs("p",{children:[r.jsxs("span",{children:[r.jsx("strong",{children:g&&r.jsx(ct,{alwaysShowAmounts:!0,amount:g.amount,unit:g.unit})||"N/A"})," ",r.jsx("small",{children:g&&g.unit||"N/A"})]}),g&&g.conversions&&r.jsxs("span",{children:[r.jsx("span",{className:"text-gray",children:" / "}),r.jsx("strong",{children:r.jsx(ct,{alwaysShowAmounts:!0,amount:g.conversions[k],unit:e})})," ",r.jsx("small",{children:e})]})]})]})]})},Ioe=({coinCode:t})=>{const{t:e}=A();return r.jsxs(st,{children:[r.jsx(W,{entry:e("guide.send.whyFee")},"guide.send.whyFee"),La(t)&&r.jsx(W,{entry:e("guide.send.priority")},"guide.send.priority"),La(t)&&r.jsx(W,{entry:e("guide.send.fee")},"guide.send.fee"),_d(t)&&r.jsx(W,{entry:e("guide.send.change")},"guide.send.change"),r.jsx(W,{entry:e("guide.send.revert")},"guide.send.revert"),r.jsx(W,{entry:e("guide.send.plugout")},"guide.send.plugout")]})},$oe=(t,e,n)=>{const{t:a}=se;switch(n){case"invalidAddress":return{addressError:a("send.error.invalidAddress")};case"invalidAmount":case"insufficientFunds":return{amountError:a(`send.error.${n}`),proposedFee:void 0};case"feeTooLow":case"feesNotAvailable":return{feeError:a(`send.error.${n}`)};default:return n&&(e(),J(n,{callback:t})),{proposedFee:void 0}}},Vk=({isShown:t,messageType:e})=>t?r.jsx(xn,{children:r.jsx("div",{className:"flex flex-row flex-center flex-items-center",children:r.jsx(Moe,{messageType:e})})}):null,Moe=({messageType:t})=>{const{t:e}=A();switch(t){case"sent":return r.jsxs(r.Fragment,{children:[r.jsx(Bd,{style:{height:18,marginRight:"1rem"}}),e("send.success")]});case"abort":return r.jsxs(r.Fragment,{children:[r.jsx(bg,{alt:"Abort",style:{height:18,marginRight:"1rem"}}),e("send.abort")]});default:return null}},Ooe=function(){const e=typeof document<"u"&&document.createElement("link").relList;return e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}(),Roe=function(t,e){return new URL(t,e).href},Wk={},qm=function(e,n,a){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Roe(o,a),o in Wk)return;Wk[o]=!0;const s=o.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(!!a)for(let d=i.length-1;d>=0;d--){const p=i[d];if(p.href===o&&(!s||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Ooe,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,p)=>{u.addEventListener("load",d),u.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};let Ll=class ve{constructor(e,n,a,i,o){this._legacyCanvasSize=ve.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=e,this.$canvas=document.createElement("canvas"),a&&typeof a=="object"?this._onDecode=n:(console.warn(a||i||o?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=n),n=typeof a=="object"?a:{},this._onDecodeError=n.onDecodeError||(typeof a=="function"?a:this._onDecodeError),this._calculateScanRegion=n.calculateScanRegion||(typeof i=="function"?i:this._calculateScanRegion),this._preferredCamera=n.preferredCamera||o||this._preferredCamera,this._legacyCanvasSize=typeof a=="number"?a:typeof i=="number"?i:this._legacyCanvasSize,this._maxScansPerSecond=n.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;let s=!1;if(e.hidden&&(e.hidden=!1,s=!0),document.body.contains(e)||(document.body.appendChild(e),s=!0),a=e.parentElement,n.highlightScanRegion||n.highlightCodeOutline){if(i=!!n.overlay,this.$overlay=n.overlay||document.createElement("div"),o=this.$overlay.style,o.position="absolute",o.display="none",o.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!i&&n.highlightScanRegion){this.$overlay.innerHTML='';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}a.insertBefore(this.$overlay,this.$video.nextSibling)}n.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",''),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(e),requestAnimationFrame(()=>{let l=window.getComputedStyle(e);l.display==="none"&&(e.style.setProperty("display","block","important"),s=!0),l.visibility!=="visible"&&(e.style.setProperty("visibility","visible","important"),s=!0),s&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity="0",e.style.width="0",e.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=ve.createQrEngine()}static set WORKER_PATH(e){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await ve.listCameras(!1)).length}catch{return!1}}static async listCameras(e=!1){if(!navigator.mediaDevices)return[];let n=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(i=>i.kind==="videoinput"),a;try{e&&(await n()).every(i=>!i.label)&&(a=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await n()).map((i,o)=>({id:i.deviceId,label:i.label||(o===0?"Default Camera":`Camera ${o+1}`)}))}finally{a&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),ve._stopVideoStream(a))}}async hasFlash(){let e;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;e=this.$video.srcObject}else e=(await this._getCameraStream()).stream;return"torch"in e.getVideoTracks()[0].getSettings()}catch{return!1}finally{e&&e!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),ve._stopVideoStream(e))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(e){throw this._flashOn=!1,e}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),ve._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:e,facingMode:n}=await this._getCameraStream();!this._active||this._paused?ve._stopVideoStream(e):(this._setVideoMirror(n),this.$video.srcObject=e,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(e){if(!this._paused)throw this._active=!1,e}}stop(){this.pause(),this._active=!1}async pause(e=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let n=()=>{this.$video.srcObject instanceof MediaStream&&(ve._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return e?(n(),!0):(await new Promise(a=>setTimeout(a,300)),this._paused?(n(),!0):!1)}async setCamera(e){e!==this._preferredCamera&&(this._preferredCamera=e,await this._restartVideoStream())}static async scanImage(e,n,a,i,o=!1,s=!1){let l,c=!1;n&&("scanRegion"in n||"qrEngine"in n||"canvas"in n||"disallowCanvasResizing"in n||"alsoTryWithoutScanRegion"in n||"returnDetailedScanResult"in n)?(l=n.scanRegion,a=n.qrEngine,i=n.canvas,o=n.disallowCanvasResizing||!1,s=n.alsoTryWithoutScanRegion||!1,c=!0):console.warn(n||a||i||o||s?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),n=!!a;try{let u,d;[a,u]=await Promise.all([a||ve.createQrEngine(),ve._loadImage(e)]),[i,d]=ve._drawToCanvas(u,l,i,o);let p;if(a instanceof Worker){let h=a;n||ve._postWorkerMessageSync(h,"inversionMode","both"),p=await new Promise((m,g)=>{let v,y,b,k=-1;y=j=>{j.data.id===k&&(h.removeEventListener("message",y),h.removeEventListener("error",b),clearTimeout(v),j.data.data!==null?m({data:j.data.data,cornerPoints:ve._convertPoints(j.data.cornerPoints,l)}):g(ve.NO_QR_CODE_FOUND))},b=j=>{h.removeEventListener("message",y),h.removeEventListener("error",b),clearTimeout(v),g("Scanner error: "+(j?j.message||j:"Unknown Error"))},h.addEventListener("message",y),h.addEventListener("error",b),v=setTimeout(()=>b("timeout"),1e4);let w=d.getImageData(0,0,i.width,i.height);k=ve._postWorkerMessageSync(h,"decode",w,[w.data.buffer])})}else p=await Promise.race([new Promise((h,m)=>window.setTimeout(()=>m("Scanner error: timeout"),1e4)),(async()=>{try{var[h]=await a.detect(i);if(!h)throw ve.NO_QR_CODE_FOUND;return{data:h.rawValue,cornerPoints:ve._convertPoints(h.cornerPoints,l)}}catch(m){if(h=m.message||m,/not implemented|service unavailable/.test(h))return ve._disableBarcodeDetector=!0,ve.scanImage(e,{scanRegion:l,canvas:i,disallowCanvasResizing:o,alsoTryWithoutScanRegion:s});throw`Scanner error: ${h}`}})()]);return c?p:p.data}catch(u){if(!l||!s)throw u;let d=await ve.scanImage(e,{qrEngine:a,canvas:i,disallowCanvasResizing:o});return c?d:d.data}finally{n||ve._postWorkerMessage(a,"close")}}setGrayscaleWeights(e,n,a,i=!0){ve._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:n,blue:a,useIntegerApproximation:i})}setInversionMode(e){ve._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}static async createQrEngine(e){if(e&&console.warn("Specifying a worker path is not required and not supported anymore."),e=()=>qm(()=>import("./qr-scanner-worker.min.js"),[],import.meta.url).then(a=>a.createWorker()),!(!ve._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return e();let n=navigator.userAgentData;return n&&n.brands.some(({brand:a})=>/Chromium/i.test(a))&&/mac ?OS/i.test(n.platform)&&await n.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:a,platformVersion:i})=>/arm/i.test(a||"arm")&&13<=parseInt(i||"13")).catch(()=>!0)?e():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(e){let n=Math.round(.6666666666666666*Math.min(e.videoWidth,e.videoHeight));return{x:Math.round((e.videoWidth-n)/2),y:Math.round((e.videoHeight-n)/2),width:n,height:n,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var e=this.$video,n=e.videoWidth,a=e.videoHeight,i=e.offsetWidth,o=e.offsetHeight,s=e.offsetLeft,l=e.offsetTop,c=window.getComputedStyle(e),u=c.objectFit,d=n/a,p=i/o;switch(u){case"none":var h=n,m=a;break;case"fill":h=i,m=o;break;default:(u==="cover"?d>p:d{const w=parseFloat(b);return b.endsWith("%")?(k?o-m:i-h)*w/100:w});c=this._scanRegion.width||n,p=this._scanRegion.height||a,u=this._scanRegion.x||0;var y=this._scanRegion.y||0;d=this.$overlay.style,d.width=`${c/n*h}px`,d.height=`${p/a*m}px`,d.top=`${l+v+y/a*m}px`,a=/scaleX\(-1\)/.test(e.style.transform),d.left=`${s+(a?i-g-h:g)+(a?n-u-c:u)/n*h}px`,d.transform=e.style.transform}})}static _convertPoints(e,n){if(!n)return e;let a=n.x||0,i=n.y||0,o=n.width&&n.downScaledWidth?n.width/n.downScaledWidth:1;n=n.height&&n.downScaledHeight?n.height/n.downScaledHeight:1;for(let s of e)s.x=s.x*o+a,s.y=s.y*n+i;return e}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var e=Date.now()-this._lastScanTimestamp,n=1e3/this._maxScansPerSecond;esetTimeout(i,n-e)),this._lastScanTimestamp=Date.now();try{var a=await ve.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(i){if(!this._active)return;this._onDecodeError(i)}!ve._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=ve.createQrEngine()),a?(this._onDecode?this._onDecode(a):this._legacyOnDecode&&this._legacyOnDecode(a.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",a.cornerPoints.map(({x:i,y:o})=>`${i},${o}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(e){e!==ve.NO_QR_CODE_FOUND&&console.log(e)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let e=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",n=[{width:{min:1024}},{width:{min:768}},{}],a=n.map(i=>Object.assign({},i,{[e]:{exact:this._preferredCamera}}));for(let i of[...a,...n])try{let o=await navigator.mediaDevices.getUserMedia({video:i,audio:!1}),s=this._getFacingMode(o)||(i.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:o,facingMode:s}}catch{}throw"Camera not found."}async _restartVideoStream(){let e=this._paused;await this.pause(!0)&&!e&&this._active&&await this.start()}static _stopVideoStream(e){for(let n of e.getTracks())n.stop(),e.removeTrack(n)}_setVideoMirror(e){this.$video.style.transform="scaleX("+(e==="user"?-1:1)+")"}_getFacingMode(e){return(e=e.getVideoTracks()[0])?/rear|back|environment/i.test(e.label)?"environment":/front|user|face/i.test(e.label)?"user":null:null}static _drawToCanvas(e,n,a,i=!1){a=a||document.createElement("canvas");let o=n&&n.x?n.x:0,s=n&&n.y?n.y:0,l=n&&n.width?n.width:e.videoWidth||e.width,c=n&&n.height?n.height:e.videoHeight||e.height;return i||(i=n&&n.downScaledWidth?n.downScaledWidth:l,n=n&&n.downScaledHeight?n.downScaledHeight:c,a.width!==i&&(a.width=i),a.height!==n&&(a.height=n)),n=a.getContext("2d",{alpha:!1}),n.imageSmoothingEnabled=!1,n.drawImage(e,o,s,l,c,0,0,a.width,a.height),[a,n]}static async _loadImage(e){if(e instanceof Image)return await ve._awaitImageLoad(e),e;if(e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement||e instanceof SVGImageElement||"OffscreenCanvas"in window&&e instanceof OffscreenCanvas||"ImageBitmap"in window&&e instanceof ImageBitmap)return e;if(e instanceof File||e instanceof Blob||e instanceof URL||typeof e=="string"){let n=new Image;n.src=e instanceof File||e instanceof Blob?URL.createObjectURL(e):e.toString();try{return await ve._awaitImageLoad(n),n}finally{(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(n.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(e){e.complete&&e.naturalWidth!==0||await new Promise((n,a)=>{let i=o=>{e.removeEventListener("load",i),e.removeEventListener("error",i),o instanceof ErrorEvent?a("Image load error"):n()};e.addEventListener("load",i),e.addEventListener("error",i)})}static async _postWorkerMessage(e,n,a,i){return ve._postWorkerMessageSync(await e,n,a,i)}static _postWorkerMessageSync(e,n,a,i){if(!(e instanceof Worker))return-1;let o=ve._workerMessageId++;return e.postMessage({id:o,type:n,data:a},i),o}};Ll.DEFAULT_CANVAS_SIZE=400;Ll.NO_QR_CODE_FOUND="No QR code found";Ll._disableBarcodeDetector=!1;Ll._workerMessageId=0;const Foe=(t,{onStart:e,onResult:n,onError:a})=>{x.useEffect(()=>{const o=(async()=>{const s=t.current&&new Ll(t.current,l=>{s==null||s.stop(),n(l)},{onDecodeError:a,highlightScanRegion:!0,highlightCodeOutline:!0});try{await(s==null?void 0:s.start()),e&&e()}catch(l){console.error(l)}return()=>{s==null||s.stop(),s==null||s.destroy()}})();return()=>{o.then(s=>s())}},[t,e,n,a])},Voe="_spinnerAnimationContainer_18sha_1",Woe="_qrVideo_18sha_10",Uk={spinnerAnimationContainer:Voe,qrVideo:Woe},d1=({onResult:t})=>{const e=x.useRef(null);return Foe(e,{onResult:n=>t(n.data),onError:console.error}),r.jsxs(r.Fragment,{children:[r.jsx("div",{className:Uk.spinnerAnimationContainer,children:r.jsx(Cg,{})}),r.jsx("video",{className:Uk.qrVideo,ref:e,poster:"%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2264%22%20height=%2248%22%3E%3C/svg%3E"})]})},p1=({parseQRResult:t,activeScanQR:e,toggleScanQR:n,onChangeActiveScanQR:a})=>{const{t:i}=A();return r.jsxs(qe,{large:!0,open:e,title:i("send.scanQR"),onClose:n,children:[r.jsx(d1,{onResult:o=>{t(o),a(!1)}}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:n,children:i("button.back")})})]})},Uoe="_inputWithIcon_drrz7_1",qoe="_action_drrz7_9",Hoe="_qrButton_drrz7_18",h1={inputWithIcon:Uoe,action:qoe,qrButton:Hoe},m1=({onClick:t})=>{const{isDarkMode:e}=x.useContext(gg);return r.jsx("button",{type:"button",onClick:t,className:h1.qrButton,children:e?r.jsx(uK,{}):r.jsx(cK,{})})},Koe=({accountCode:t,addressError:e,onInputChange:n,recipientAddress:a,activeScanQR:i,parseQRResult:o,onChangeActiveScanQR:s})=>{const{t:l}=A(),c=()=>{if(i){s(!1);return}s(!0)};return r.jsxs(r.Fragment,{children:[r.jsx(p1,{activeScanQR:i,toggleScanQR:c,onChangeActiveScanQR:s,parseQRResult:o}),r.jsx(Ye,{label:l("send.address.label"),placeholder:l("send.address.placeholder"),id:"recipientAddress",error:e,onInput:u=>n(u.target.value),value:a,className:h1.inputWithIcon,labelSection:void 0,autoFocus:!0,children:r.jsx(m1,{onClick:c})})]})},Goe="_maxAmount_1t5n0_1",Qoe={maxAmount:Goe},Yoe=({balance:t,onAmountChange:e,onSendAllChange:n,sendAll:a,amountError:i,proposedAmount:o,amount:s,hasSelectedUTXOs:l})=>{const{t:c}=A();return r.jsx(Ye,{type:"number",step:"any",min:"0",label:t?t.available.unit:c("send.amount.label"),id:"amount",onInput:u=>e(u.target.value),disabled:a,error:i,value:a?o?o.amount:"":s,placeholder:c("send.amount.placeholder"),labelSection:r.jsx(Ve,{label:c(l?"send.maximumSelectedCoins":"send.maximum"),id:"sendAll",onChange:u=>n(u.target.checked),checked:a,className:Qoe.maxAmount})})},Zoe=({label:t,onFiatChange:e,disabled:n,error:a,fiatAmount:i})=>{const{t:o}=A();return r.jsx(Ye,{type:"number",step:"any",min:"0",label:t,id:"fiatAmount",onInput:e,disabled:n,error:a,value:i,placeholder:o("send.amount.placeholder")})},Joe="_labelDescription_5etm5_1",Xoe={labelDescription:Joe},ere=({onNoteChange:t,note:e})=>{const{t:n}=A();return r.jsx(Ye,{label:n("note.title"),labelSection:r.jsx("span",{className:Xoe.labelDescription,children:n("note.input.description")}),id:"note",onInput:t,value:e,placeholder:n("note.input.placeholder")})},tre="_container_8f83b_1",nre={container:tre};class are extends x.Component{constructor(){super(...arguments),this.selectedUTXOs={},this.unsubscribeList=[],this.pendingProposals=[],this.proposeTimeout=null,this.state={recipientAddress:"",amount:"",fiatAmount:"",valid:!1,sendAll:!1,isConfirming:!1,signConfirm:!1,isSent:!1,isAborted:!1,isUpdatingProposal:!1,noMobileChannelError:!1,fiatUnit:this.props.activeCurrency,coinControl:!1,btcUnit:"default",activeCoinControl:!1,activeScanQR:!1,note:"",customFee:""},this.isBitcoinBased=()=>{const e=this.getAccount();return e?La(e.coinCode):!1},this.registerEvents=()=>{document.addEventListener("keydown",this.handleKeyDown)},this.unregisterEvents=()=>{document.removeEventListener("keydown",this.handleKeyDown)},this.handleKeyDown=e=>{e.keyCode===27&&!this.state.activeCoinControl&&!this.state.activeScanQR&&le(`/account/${this.props.code}`)},this.send=async()=>{if(this.state.noMobileChannelError){J(this.props.t("warning.sendPairing"));return}const e=this.getAccount().code;if((await fl(e)).success){this.setState({signProgress:void 0,isConfirming:!0});try{const a=await XQ(e);if(a.success)this.setState({sendAll:!1,isConfirming:!1,isSent:!0,recipientAddress:"",proposedAmount:void 0,proposedFee:void 0,proposedTotal:void 0,fiatAmount:"",amount:"",note:"",customFee:""}),this.selectedUTXOs={},setTimeout(()=>this.setState({isSent:!1,isConfirming:!1}),5e3);else if(a.aborted)this.setState({isAborted:!0}),setTimeout(()=>this.setState({isAborted:!1}),5e3);else switch(a.errorCode){case"erc20InsufficientGasFunds":J(this.props.t(`send.error.${a.errorCode}`));break;default:const{errorMessage:i}=a;J(this.props.t("unknownError",i&&{errorMessage:i}))}}catch(a){console.error(a)}finally{this.setState({isConfirming:!1,signProgress:void 0,signConfirm:!1})}}},this.txInput=()=>({address:this.state.recipientAddress,amount:this.state.amount,feeTarget:this.state.feeTarget||"",customFee:this.state.customFee,sendAll:this.state.sendAll?"yes":"no",selectedUTXOs:Object.keys(this.selectedUTXOs)}),this.sendDisabled=()=>{const e=this.txInput();return!e.address||this.state.feeTarget===void 0||e.sendAll==="no"&&!e.amount||this.state.feeTarget==="custom"&&!this.state.customFee},this.validateAndDisplayFee=(e=!0)=>{if(this.setState({proposedTotal:void 0,addressError:void 0,amountError:void 0,feeError:void 0}),this.sendDisabled())return;const n=this.txInput();this.proposeTimeout&&(clearTimeout(this.proposeTimeout),this.proposeTimeout=null),this.setState({isUpdatingProposal:!0}),this.proposeTimeout=setTimeout(()=>{const a=H("account/"+this.getAccount().code+"/tx-proposal",n).then(i=>{const o=this.pendingProposals.indexOf(a);this.pendingProposals.length-1===o&&this.txProposal(e,i),this.pendingProposals.splice(o,1)}).catch(()=>{this.setState({valid:!1}),this.pendingProposals.splice(this.pendingProposals.indexOf(a),1)});this.pendingProposals.push(a)},400)},this.handleNoteInput=e=>{const n=e.target;this.setState({note:n.value},()=>{QQ(this.getAccount().code,this.state.note)})},this.txProposal=(e,n)=>{if(this.setState({valid:n.success}),n.success)this.setState({addressError:void 0,amountError:void 0,feeError:void 0,proposedFee:n.fee,proposedAmount:n.amount,proposedTotal:n.total,isUpdatingProposal:!1}),e&&this.convertToFiat(n.amount.amount);else{const a=$oe(this.registerEvents,this.unregisterEvents,n.errorCode);this.setState({...a,isUpdatingProposal:!1})}},this.handleFiatInput=e=>{const n=e.target.value;this.setState({fiatAmount:n}),this.convertFromFiat(n)},this.convertToFiat=e=>{if(e){const n=this.getAccount().coinCode;Z(`coins/convert-to-plain-fiat?from=${n}&to=${this.state.fiatUnit}&amount=${e}`).then(a=>{a.success?this.setState({fiatAmount:a.fiatAmount}):this.setState({amountError:this.props.t("send.error.invalidAmount")})})}else this.setState({fiatAmount:""})},this.convertFromFiat=e=>{if(e){const n=this.getAccount().coinCode;Z(`coins/convert-from-fiat?from=${this.state.fiatUnit}&to=${n}&amount=${e}`).then(a=>{a.success?this.setState({amount:a.amount},()=>this.validateAndDisplayFee(!1)):this.setState({amountError:this.props.t("send.error.invalidAmount")})})}else this.setState({amount:""})},this.feeTargetChange=e=>{this.setState({feeTarget:e,customFee:""},()=>this.validateAndDisplayFee(this.state.sendAll))},this.onSelectedUTXOsChange=e=>{this.selectedUTXOs=e,this.validateAndDisplayFee(!0)},this.hasSelectedUTXOs=()=>Object.keys(this.selectedUTXOs).length!==0,this.getAccount=()=>{if(this.props.code)return Dd(this.props.accounts,this.props.code)},this.toggleCoinControl=()=>{this.setState(({activeCoinControl:e})=>(e&&(this.selectedUTXOs={}),{activeCoinControl:!e}))},this.setActiveScanQR=e=>{this.setState({activeScanQR:e})},this.parseQRResult=async e=>{let n,a="";try{const s=new URL(e);if(s.protocol!=="bitcoin:"&&s.protocol!=="litecoin:"&&s.protocol!=="ethereum:"){J(this.props.t("invalidFormat"));return}n=s.pathname,this.isBitcoinBased()&&(a=s.searchParams.get("amount")||"")}catch{n=e}let i={recipientAddress:n,sendAll:!1,fiatAmount:""};const o=this.getAccount().coinCode;if(a)if(o==="btc"||o==="tbtc"){const s=await Fie(a);if(s.success)i.amount=s.amount;else{i.amountError=this.props.t("send.error.invalidAmount"),this.setState(i);return}}else i.amount=a;this.setState(i,()=>{this.convertToFiat(this.state.amount),this.validateAndDisplayFee(!0)})},this.deactivateCoinControl=()=>{this.setState({activeCoinControl:!1})},this.onReceiverAddressInputChange=e=>{this.setState({recipientAddress:e},()=>{this.validateAndDisplayFee(!0)})},this.onCoinAmountChange=e=>{this.convertToFiat(e),this.setState({amount:e},()=>{this.validateAndDisplayFee(!0)})},this.onSendAllChange=e=>{e||this.convertToFiat(this.state.amount),this.setState({sendAll:e},()=>{this.validateAndDisplayFee(!0)})}}componentDidMount(){this.props.code&&Ur(this.props.code).then(e=>this.setState({balance:e})).catch(console.error),this.props.deviceIDs.length>0&&this.props.devices[this.props.deviceIDs[0]]==="bitbox"&&Z("devices/"+this.props.deviceIDs[0]+"/has-mobile-channel").then(e=>{Jo(this.props.deviceIDs[0]).then(({pairing:n})=>{const a=this.getAccount(),i=e&&n,o=n&&!e&&a&&La(a.coinCode);this.setState(s=>({...s,paired:i,noMobileChannelError:o}))})}),Z("config").then(e=>{this.setState({btcUnit:e.backend.btcUnit}),this.isBitcoinBased()&&this.setState({coinControl:!!(e.frontend||{}).coinControl})}),this.unsubscribeList=[Yo(e=>{if("type"in e){const{data:n,meta:a,type:i}=e;switch(i){case"device":switch(n){case"signProgress":this.setState({signProgress:a,signConfirm:!1});break;case"signConfirm":this.setState({signConfirm:!0});break}break}}}),Yd(e=>{this.props.code===e&&Ur(e).then(n=>this.setState({balance:n})).catch(console.error)})]}UNSAFE_componentWillMount(){this.registerEvents()}componentWillUnmount(){this.unregisterEvents(),Nl(this.unsubscribeList)}render(){var T;const{t:e,code:n}=this.props,{balance:a,proposedFee:i,proposedTotal:o,recipientAddress:s,proposedAmount:l,valid:c,amount:u,fiatAmount:d,fiatUnit:p,sendAll:h,feeTarget:m,customFee:g,isConfirming:v,isSent:y,isAborted:b,isUpdatingProposal:k,addressError:w,amountError:j,feeError:z,paired:S,signProgress:f,signConfirm:B,coinControl:D,btcUnit:C,activeCoinControl:P,activeScanQR:I,note:E}=this.state,L={proposedFee:i,proposedAmount:l,proposedTotal:o,customFee:g,feeTarget:m,recipientAddress:s,fiatUnit:p},q={isConfirming:v,signProgress:f,signConfirm:B},U=this.getAccount();if(!U)return null;const $=p==="BTC"&&C==="sat"?"sat":p;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{type:"warning",hidden:S!==!1,children:e("warning.sendPairing")}),r.jsx(xe,{title:r.jsx("h2",{children:e("send.title",{accountName:U.coinName})}),children:r.jsx(Qd,{})}),r.jsxs(re,{children:[r.jsxs(ue,{children:[r.jsx("div",{children:r.jsx("label",{className:"labelXLarge",children:e("send.availableBalance")})}),r.jsx(c1,{balance:a,noRotateFiat:!0}),D&&r.jsx(Doe,{accountCode:U.code,active:P,explorerURL:U.blockExplorerTxPrefix,onClose:this.deactivateCoinControl,onChange:this.onSelectedUTXOsChange}),r.jsxs("div",{className:`flex flex-row flex-between ${nre.container}`,children:[r.jsx("label",{className:"labelXLarge",children:e("send.transactionDetails")}),D&&r.jsx(_,{className:"m-bottom-quarter p-right-none",transparent:!0,onClick:this.toggleCoinControl,children:e("send.toggleCoinControl")})]}),r.jsx(Er,{col:"1",children:r.jsx(Ka,{children:r.jsx(Koe,{accountCode:(T=this.getAccount())==null?void 0:T.code,addressError:w,onInputChange:this.onReceiverAddressInputChange,recipientAddress:s,parseQRResult:this.parseQRResult,activeScanQR:I,onChangeActiveScanQR:this.setActiveScanQR})})}),r.jsxs(Er,{children:[r.jsx(Ka,{children:r.jsx(Yoe,{balance:a,onAmountChange:this.onCoinAmountChange,onSendAllChange:this.onSendAllChange,sendAll:h,amountError:j,proposedAmount:l,amount:u,hasSelectedUTXOs:this.hasSelectedUTXOs()})}),r.jsx(Ka,{children:r.jsx(Zoe,{onFiatChange:this.handleFiatInput,disabled:h,error:j,fiatAmount:d,label:$})})]}),r.jsxs(Er,{children:[r.jsx(Ka,{children:r.jsx(moe,{accountCode:U.code,coinCode:U.coinCode,disabled:!u&&!h,fiatUnit:$,proposedFee:i,customFee:g,showCalculatingFeeLabel:k,onFeeTargetChange:this.feeTargetChange,onCustomFee:F=>this.setState({customFee:F},this.validateAndDisplayFee),error:z})}),r.jsxs(Ka,{children:[r.jsx(ere,{note:E,onNoteChange:this.handleNoteInput}),r.jsxs(nu,{className:"m-top-default m-bottom-xlarge",inline:!0,children:[r.jsx(_,{primary:!0,onClick:this.send,disabled:this.sendDisabled()||!c||k,children:e("send.button")}),r.jsx(Qo,{secondary:!0,to:`/account/${n}`,children:e("button.back")})]})]})]})]}),r.jsx(Loe,{paired:S,baseCurrencyUnit:$,note:E,hasSelectedUTXOs:this.hasSelectedUTXOs(),selectedUTXOs:Object.keys(this.selectedUTXOs),coinCode:U.coinCode,transactionDetails:L,transactionStatus:q}),r.jsx(Vk,{isShown:y,messageType:"sent"}),r.jsx(Vk,{isShown:b,messageType:"abort"})]})]})}),r.jsx(Ioe,{coinCode:U.coinCode})]})}}const ire=kn()(are),ore=({accounts:t,code:e,deviceIDs:n,devices:a})=>{const{defaultCurrency:i}=x.useContext(Zo);return r.jsx(ire,{accounts:t,code:e,devices:a,deviceIDs:n,activeCurrency:i})},su=104,rre=t=>H(`devices/bitbox02/${t}/reset`),Yu=t=>Z(`devices/bitbox02/${t}/info`),Zd=t=>Z(`devices/bitbox02/${t}/check-sdcard`),sre=t=>H(`devices/bitbox02/${t}/insert-sdcard`),f1=(t,e)=>H(`devices/bitbox02/${t}/set-device-name`,{name:e}),g1=t=>Z(`devices/bitbox02/${t}/version`),lre=(t,e)=>H(`devices/bitbox02/${t}/set-mnemonic-passphrase-enabled`,e),v1=t=>Z(`devices/bitbox02/${t}/attestation`),Hm=(t,e)=>H(`devices/bitbox02/${t}/backups/check`,{silent:e}),b1=(t,e)=>H(`devices/bitbox02/${t}/backups/create`,e),cre=(t,e)=>H(`devices/bitbox02/${t}/backups/restore`,e),ure=t=>H(`devices/bitbox02/${t}/upgrade-firmware`),dre=t=>H(`devices/bitbox02/${t}/show-mnemonic`),pre=t=>H(`devices/bitbox02/${t}/restore-from-mnemonic`),Km=t=>Z(`devices/bitbox02/${t}/status`),hre=t=>Z(`devices/bitbox02/${t}/channel-hash`),mre=(t,e)=>H(`devices/bitbox02/${t}/channel-hash-verify`,e),fre=(t,e)=>H(`devices/bitbox02/${t}/set-password`,e),gre=t=>Z(`devices/bitbox02/${t}/root-fingerprint`),k1=(t,e)=>{const[n,a]=x.useState(!1),i=ro();return x.useEffect(()=>{const o=Object.keys(t);Promise.all(o.map(s=>{switch(t[s]){case"bitbox":return Jo(s).then(({sdcard:l})=>l);case"bitbox02":return Zd(s);default:return!1}})).then(s=>s.some(l=>l)).then(s=>{i.current&&a(s)}).catch(console.error)},[t,...e||[]]),n};function Ne(t){var e=t.width,n=t.height;if(e<0)throw new Error("Negative width is not allowed for Size");if(n<0)throw new Error("Negative height is not allowed for Size");return{width:e,height:n}}function To(t,e){return t.width===e.width&&t.height===e.height}var vre=function(){function t(e){var n=this;this._resolutionListener=function(){return n._onResolutionChanged()},this._resolutionMediaQueryList=null,this._observers=[],this._window=e,this._installResolutionListener()}return t.prototype.dispose=function(){this._uninstallResolutionListener(),this._window=null},Object.defineProperty(t.prototype,"value",{get:function(){return this._window.devicePixelRatio},enumerable:!1,configurable:!0}),t.prototype.subscribe=function(e){var n=this,a={next:e};return this._observers.push(a),{unsubscribe:function(){n._observers=n._observers.filter(function(i){return i!==a})}}},t.prototype._installResolutionListener=function(){if(this._resolutionMediaQueryList!==null)throw new Error("Resolution listener is already installed");var e=this._window.devicePixelRatio;this._resolutionMediaQueryList=this._window.matchMedia("all and (resolution: ".concat(e,"dppx)")),this._resolutionMediaQueryList.addListener(this._resolutionListener)},t.prototype._uninstallResolutionListener=function(){this._resolutionMediaQueryList!==null&&(this._resolutionMediaQueryList.removeListener(this._resolutionListener),this._resolutionMediaQueryList=null)},t.prototype._reinstallResolutionListener=function(){this._uninstallResolutionListener(),this._installResolutionListener()},t.prototype._onResolutionChanged=function(){var e=this;this._observers.forEach(function(n){return n.next(e._window.devicePixelRatio)}),this._reinstallResolutionListener()},t}();function bre(t){return new vre(t)}var kre=function(){function t(e,n,a){var i;this._canvasElement=null,this._bitmapSizeChangedListeners=[],this._suggestedBitmapSize=null,this._suggestedBitmapSizeChangedListeners=[],this._devicePixelRatioObservable=null,this._canvasElementResizeObserver=null,this._canvasElement=e,this._canvasElementClientSize=Ne({width:this._canvasElement.clientWidth,height:this._canvasElement.clientHeight}),this._transformBitmapSize=n??function(o){return o},this._allowResizeObserver=(i=a==null?void 0:a.allowResizeObserver)!==null&&i!==void 0?i:!0,this._chooseAndInitObserver()}return t.prototype.dispose=function(){var e,n;if(this._canvasElement===null)throw new Error("Object is disposed");(e=this._canvasElementResizeObserver)===null||e===void 0||e.disconnect(),this._canvasElementResizeObserver=null,(n=this._devicePixelRatioObservable)===null||n===void 0||n.dispose(),this._devicePixelRatioObservable=null,this._suggestedBitmapSizeChangedListeners.length=0,this._bitmapSizeChangedListeners.length=0,this._canvasElement=null},Object.defineProperty(t.prototype,"canvasElement",{get:function(){if(this._canvasElement===null)throw new Error("Object is disposed");return this._canvasElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canvasElementClientSize",{get:function(){return this._canvasElementClientSize},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bitmapSize",{get:function(){return Ne({width:this.canvasElement.width,height:this.canvasElement.height})},enumerable:!1,configurable:!0}),t.prototype.resizeCanvasElement=function(e){this._canvasElementClientSize=Ne(e),this.canvasElement.style.width="".concat(this._canvasElementClientSize.width,"px"),this.canvasElement.style.height="".concat(this._canvasElementClientSize.height,"px"),this._invalidateBitmapSize()},t.prototype.subscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners.push(e)},t.prototype.unsubscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners=this._bitmapSizeChangedListeners.filter(function(n){return n!==e})},Object.defineProperty(t.prototype,"suggestedBitmapSize",{get:function(){return this._suggestedBitmapSize},enumerable:!1,configurable:!0}),t.prototype.subscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners.push(e)},t.prototype.unsubscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners=this._suggestedBitmapSizeChangedListeners.filter(function(n){return n!==e})},t.prototype.applySuggestedBitmapSize=function(){if(this._suggestedBitmapSize!==null){var e=this._suggestedBitmapSize;this._suggestedBitmapSize=null,this._resizeBitmap(e),this._emitSuggestedBitmapSizeChanged(e,this._suggestedBitmapSize)}},t.prototype._resizeBitmap=function(e){var n=this.bitmapSize;To(n,e)||(this.canvasElement.width=e.width,this.canvasElement.height=e.height,this._emitBitmapSizeChanged(n,e))},t.prototype._emitBitmapSizeChanged=function(e,n){var a=this;this._bitmapSizeChangedListeners.forEach(function(i){return i.call(a,e,n)})},t.prototype._suggestNewBitmapSize=function(e){var n=this._suggestedBitmapSize,a=Ne(this._transformBitmapSize(e,this._canvasElementClientSize)),i=To(this.bitmapSize,a)?null:a;n===null&&i===null||n!==null&&i!==null&&To(n,i)||(this._suggestedBitmapSize=i,this._emitSuggestedBitmapSizeChanged(n,i))},t.prototype._emitSuggestedBitmapSizeChanged=function(e,n){var a=this;this._suggestedBitmapSizeChangedListeners.forEach(function(i){return i.call(a,e,n)})},t.prototype._chooseAndInitObserver=function(){var e=this;if(!this._allowResizeObserver){this._initDevicePixelRatioObservable();return}yre().then(function(n){return n?e._initResizeObserver():e._initDevicePixelRatioObservable()})},t.prototype._initDevicePixelRatioObservable=function(){var e=this;if(this._canvasElement!==null){var n=qk(this._canvasElement);if(n===null)throw new Error("No window is associated with the canvas");this._devicePixelRatioObservable=bre(n),this._devicePixelRatioObservable.subscribe(function(){return e._invalidateBitmapSize()}),this._invalidateBitmapSize()}},t.prototype._invalidateBitmapSize=function(){var e,n;if(this._canvasElement!==null){var a=qk(this._canvasElement);if(a!==null){var i=(n=(e=this._devicePixelRatioObservable)===null||e===void 0?void 0:e.value)!==null&&n!==void 0?n:a.devicePixelRatio,o=this._canvasElement.getClientRects(),s=o[0]!==void 0?wre(o[0],i):Ne({width:this._canvasElementClientSize.width*i,height:this._canvasElementClientSize.height*i});this._suggestNewBitmapSize(s)}}},t.prototype._initResizeObserver=function(){var e=this;this._canvasElement!==null&&(this._canvasElementResizeObserver=new ResizeObserver(function(n){var a=n.find(function(s){return s.target===e._canvasElement});if(!(!a||!a.devicePixelContentBoxSize||!a.devicePixelContentBoxSize[0])){var i=a.devicePixelContentBoxSize[0],o=Ne({width:i.inlineSize,height:i.blockSize});e._suggestNewBitmapSize(o)}}),this._canvasElementResizeObserver.observe(this._canvasElement,{box:"device-pixel-content-box"}))},t}();function xre(t,e){if(e.type==="device-pixel-content-box")return new kre(t,e.transform,e.options);throw new Error("Unsupported binding target")}function qk(t){return t.ownerDocument.defaultView}function yre(){return new Promise(function(t){var e=new ResizeObserver(function(n){t(n.every(function(a){return"devicePixelContentBoxSize"in a})),e.disconnect()});e.observe(document.body,{box:"device-pixel-content-box"})}).catch(function(){return!1})}function wre(t,e){return Ne({width:Math.round(t.left*e+t.width*e)-Math.round(t.left*e),height:Math.round(t.top*e+t.height*e)-Math.round(t.top*e)})}var jre=function(){function t(e,n,a){if(n.width===0||n.height===0)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=n,a.width===0||a.height===0)throw new TypeError("Rendering target could only be created using a bitmap with positive integer width and height");this._bitmapSize=a,this._context=e}return t.prototype.useMediaCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),e({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},t.prototype.useBitmapCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),e({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}},Object.defineProperty(t.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),t}();function Wo(t,e){var n=t.canvasElementClientSize;if(n.width===0||n.height===0)return null;var a=t.bitmapSize;if(a.width===0||a.height===0)return null;var i=t.canvasElement.getContext("2d",e);return i===null?null:new jre(i,n,a)}/*! * @license * TradingView Lightweight Charts™ v4.1.1 * Copyright (c) 2023 TradingView, Inc. * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0 - */const Bre={upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},Sre={upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},zre={color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Cre={topColor:"rgba( 46, 220, 135, 0.4)",bottomColor:"rgba( 40, 221, 100, 0)",invertFilledArea:!1,lineColor:"#33D778",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Dre={baseValue:{type:"price",price:0},topFillColor1:"rgba(38, 166, 154, 0.28)",topFillColor2:"rgba(38, 166, 154, 0.05)",topLineColor:"rgba(38, 166, 154, 1)",bottomFillColor1:"rgba(239, 83, 80, 0.05)",bottomFillColor2:"rgba(239, 83, 80, 0.28)",bottomLineColor:"rgba(239, 83, 80, 1)",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Are={color:"#26a69a",base:0},x1={color:"#2196f3"},y1={title:"",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var Hk,Gm;function Uo(t,e){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[e];t.setLineDash(n)}function w1(t,e,n,a){t.beginPath();const i=t.lineWidth%2?.5:0;t.moveTo(n,e+i),t.lineTo(a,e+i),t.stroke()}function eo(t,e){if(!t)throw new Error("Assertion failed"+(e?": "+e:""))}function on(t){if(t===void 0)throw new Error("Value is undefined");return t}function O(t){if(t===null)throw new Error("Value is null");return t}function Br(t){return O(on(t))}(function(t){t[t.Simple=0]="Simple",t[t.WithSteps=1]="WithSteps",t[t.Curved=2]="Curved"})(Hk||(Hk={})),function(t){t[t.Solid=0]="Solid",t[t.Dotted=1]="Dotted",t[t.Dashed=2]="Dashed",t[t.LargeDashed=3]="LargeDashed",t[t.SparseDotted=4]="SparseDotted"}(Gm||(Gm={}));const Kk={khaki:"#f0e68c",azure:"#f0ffff",aliceblue:"#f0f8ff",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",gray:"#808080",green:"#008000",honeydew:"#f0fff0",floralwhite:"#fffaf0",lightblue:"#add8e6",lightcoral:"#f08080",lemonchiffon:"#fffacd",hotpink:"#ff69b4",lightyellow:"#ffffe0",greenyellow:"#adff2f",lightgoldenrodyellow:"#fafad2",limegreen:"#32cd32",linen:"#faf0e6",lightcyan:"#e0ffff",magenta:"#f0f",maroon:"#800000",olive:"#808000",orange:"#ffa500",oldlace:"#fdf5e6",mediumblue:"#0000cd",transparent:"#0000",lime:"#0f0",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",midnightblue:"#191970",orchid:"#da70d6",mediumorchid:"#ba55d3",mediumturquoise:"#48d1cc",orangered:"#ff4500",royalblue:"#4169e1",powderblue:"#b0e0e6",red:"#f00",coral:"#ff7f50",turquoise:"#40e0d0",white:"#fff",whitesmoke:"#f5f5f5",wheat:"#f5deb3",teal:"#008080",steelblue:"#4682b4",bisque:"#ffe4c4",aquamarine:"#7fffd4",aqua:"#0ff",sienna:"#a0522d",silver:"#c0c0c0",springgreen:"#00ff7f",antiquewhite:"#faebd7",burlywood:"#deb887",brown:"#a52a2a",beige:"#f5f5dc",chocolate:"#d2691e",chartreuse:"#7fff00",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cadetblue:"#5f9ea0",tomato:"#ff6347",fuchsia:"#f0f",blue:"#00f",salmon:"#fa8072",blanchedalmond:"#ffebcd",slateblue:"#6a5acd",slategray:"#708090",thistle:"#d8bfd8",tan:"#d2b48c",cyan:"#0ff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",blueviolet:"#8a2be2",black:"#000",darkmagenta:"#8b008b",darkslateblue:"#483d8b",darkkhaki:"#bdb76b",darkorchid:"#9932cc",darkorange:"#ff8c00",darkgreen:"#006400",darkred:"#8b0000",dodgerblue:"#1e90ff",darkslategray:"#2f4f4f",dimgray:"#696969",deepskyblue:"#00bfff",firebrick:"#b22222",forestgreen:"#228b22",indigo:"#4b0082",ivory:"#fffff0",lavenderblush:"#fff0f5",feldspar:"#d19275",indianred:"#cd5c5c",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightskyblue:"#87cefa",lightslategray:"#789",lightslateblue:"#8470ff",snow:"#fffafa",lightseagreen:"#20b2aa",lightsalmon:"#ffa07a",darksalmon:"#e9967a",darkviolet:"#9400d3",mediumpurple:"#9370d8",mediumaquamarine:"#66cdaa",skyblue:"#87ceeb",lavender:"#e6e6fa",lightsteelblue:"#b0c4de",mediumvioletred:"#c71585",mintcream:"#f5fffa",navajowhite:"#ffdead",navy:"#000080",olivedrab:"#6b8e23",palevioletred:"#d87093",violetred:"#d02090",yellow:"#ff0",yellowgreen:"#9acd32",lawngreen:"#7cfc00",pink:"#ffc0cb",paleturquoise:"#afeeee",palegoldenrod:"#eee8aa",darkolivegreen:"#556b2f",darkseagreen:"#8fbc8f",darkturquoise:"#00ced1",peachpuff:"#ffdab9",deeppink:"#ff1493",violet:"#ee82ee",palegreen:"#98fb98",mediumseagreen:"#3cb371",peru:"#cd853f",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",purple:"#800080",seagreen:"#2e8b57",seashell:"#fff5ee",papayawhip:"#ffefd5",mediumslateblue:"#7b68ee",plum:"#dda0dd",mediumspringgreen:"#00fa9a"};function Pn(t){return t<0?0:t>255?255:Math.round(t)||0}function j1(t){return t<=0||t>0?t<0?0:t>1?1:Math.round(1e4*t)/1e4:0}const _re=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,Tre=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,Ere=/^rgb\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*\)$/,Pre=/^rgba\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?[\d]{0,10}(?:\.\d+)?)\s*\)$/;function Zu(t){(t=t.toLowerCase())in Kk&&(t=Kk[t]);{const e=Pre.exec(t)||Ere.exec(t);if(e)return[Pn(parseInt(e[1],10)),Pn(parseInt(e[2],10)),Pn(parseInt(e[3],10)),j1(e.length<5?1:parseFloat(e[4]))]}{const e=Tre.exec(t);if(e)return[Pn(parseInt(e[1],16)),Pn(parseInt(e[2],16)),Pn(parseInt(e[3],16)),1]}{const e=_re.exec(t);if(e)return[Pn(17*parseInt(e[1],16)),Pn(17*parseInt(e[2],16)),Pn(17*parseInt(e[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function Jd(t){const e=Zu(t);return{t:`rgb(${e[0]}, ${e[1]}, ${e[2]})`,i:(n=e,.199*n[0]+.687*n[1]+.114*n[2]>160?"black":"white")};var n}class et{constructor(){this.h=[]}l(e,n,a){const i={o:e,_:n,u:a===!0};this.h.push(i)}v(e){const n=this.h.findIndex(a=>e===a.o);n>-1&&this.h.splice(n,1)}p(e){this.h=this.h.filter(n=>n._!==e)}m(e,n,a){const i=[...this.h];this.h=this.h.filter(o=>!o.u),i.forEach(o=>o.o(e,n,a))}M(){return this.h.length>0}S(){this.h=[]}}function ha(t,...e){for(const n of e)for(const a in n)n[a]!==void 0&&(typeof n[a]!="object"||t[a]===void 0||Array.isArray(n[a])?t[a]=n[a]:ha(t[a],n[a]));return t}function Ta(t){return typeof t=="number"&&isFinite(t)}function kl(t){return typeof t=="number"&&t%1==0}function Il(t){return typeof t=="string"}function Bc(t){return typeof t=="boolean"}function ei(t){const e=t;if(!e||typeof e!="object")return e;let n,a,i;for(a in n=Array.isArray(e)?[]:{},e)e.hasOwnProperty(a)&&(i=e[a],n[a]=i&&typeof i=="object"?ei(i):i);return n}function Nre(t){return t!==null}function xl(t){return t===null?void 0:t}const Vg="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function Kr(t,e,n){return e===void 0&&(e=Vg),`${n=n!==void 0?`${n} `:""}${t}px ${e}`}let Lre=class{constructor(e){this.k={C:1,T:5,P:NaN,R:"",D:"",O:"",A:"",V:0,B:0,I:0,L:0,N:0},this.F=e}W(){const e=this.k,n=this.j(),a=this.H();return e.P===n&&e.D===a||(e.P=n,e.D=a,e.R=Kr(n,a),e.L=2.5/12*n,e.V=e.L,e.B=n/12*e.T,e.I=n/12*e.T,e.N=0),e.O=this.$(),e.A=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}};class Wg{constructor(){this.Y=[]}X(e){this.Y=e}K(e,n,a){this.Y.forEach(i=>{i.K(e,n,a)})}}class Ug{K(e,n,a){e.useMediaCoordinateSpace(i=>this.Z(i,n,a))}G(e,n,a){e.useMediaCoordinateSpace(i=>this.J(i,n,a))}J(e,n,a){}}let Ire=class extends Ug{constructor(){super(...arguments),this.tt=null}it(e){this.tt=e}Z({context:e}){if(this.tt===null||this.tt.nt===null)return;const n=this.tt.nt,a=this.tt,i=o=>{e.beginPath();for(let s=n.to-1;s>=n.from;--s){const l=a.st[s];e.moveTo(l.et,l.rt),e.arc(l.et,l.rt,o,0,2*Math.PI)}e.fill()};a.ht>0&&(e.fillStyle=a.lt,i(a.ot+a.ht)),e.fillStyle=a._t,i(a.ot)}};function $re(){return{st:[{et:0,rt:0,ut:0,ct:0}],_t:"",lt:"",ot:0,ht:0,nt:null}}const Mre={from:0,to:1};class Ore{constructor(e,n){this.dt=new Wg,this.ft=[],this.vt=[],this.bt=!0,this.F=e,this.wt=n,this.dt.X(this.ft)}gt(e){const n=this.F.Mt();n.length!==this.ft.length&&(this.vt=n.map($re),this.ft=this.vt.map(a=>{const i=new Ire;return i.it(a),i}),this.dt.X(this.ft)),this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.dt}St(){const e=this.wt.W().mode===2,n=this.F.Mt(),a=this.wt.kt(),i=this.F.yt();n.forEach((o,s)=>{var l;const c=this.vt[s],u=o.Ct(a);if(e||u===null||!o.Tt())return void(c.nt=null);const d=O(o.Pt());c._t=u.Rt,c.ot=u.ot,c.ht=u.Dt,c.st[0].ct=u.ct,c.st[0].rt=o.At().Ot(u.ct,d.Vt),c.lt=(l=u.Bt)!==null&&l!==void 0?l:this.F.It(c.st[0].rt/o.At().zt()),c.st[0].ut=a,c.st[0].et=i.Et(a),c.nt=Mre})}}class fi{K(e,n,a){e.useBitmapCoordinateSpace(i=>this.Z(i,n,a))}}let Rre=class extends fi{constructor(e){super(),this.Lt=e}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null)return;const o=this.Lt.Nt.Tt,s=this.Lt.Ft.Tt;if(!o&&!s)return;const l=Math.round(this.Lt.et*a),c=Math.round(this.Lt.rt*i);e.lineCap="butt",o&&l>=0&&(e.lineWidth=Math.floor(this.Lt.Nt.ht*a),e.strokeStyle=this.Lt.Nt.O,e.fillStyle=this.Lt.Nt.O,Uo(e,this.Lt.Nt.Wt),function(u,d,p,h){u.beginPath();const m=u.lineWidth%2?.5:0;u.moveTo(d+m,p),u.lineTo(d+m,h),u.stroke()}(e,l,0,n.height)),s&&c>=0&&(e.lineWidth=Math.floor(this.Lt.Ft.ht*i),e.strokeStyle=this.Lt.Ft.O,e.fillStyle=this.Lt.Ft.O,Uo(e,this.Lt.Ft.Wt),w1(e,c,0,n.width))}};class Fre{constructor(e){this.bt=!0,this.jt={Nt:{ht:1,Wt:0,O:"",Tt:!1},Ft:{ht:1,Wt:0,O:"",Tt:!1},et:0,rt:0},this.Ht=new Rre(this.jt),this.$t=e}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht}St(){const e=this.$t.Tt(),n=O(this.$t.Ut()),a=n.qt().W().crosshair,i=this.jt;if(a.mode===2)return i.Ft.Tt=!1,void(i.Nt.Tt=!1);i.Ft.Tt=e&&this.$t.Yt(n),i.Nt.Tt=e&&this.$t.Xt(),i.Ft.ht=a.horzLine.width,i.Ft.Wt=a.horzLine.style,i.Ft.O=a.horzLine.color,i.Nt.ht=a.vertLine.width,i.Nt.Wt=a.vertLine.style,i.Nt.O=a.vertLine.color,i.et=this.$t.Kt(),i.rt=this.$t.Zt()}}function Vre(t,e,n,a,i,o){t.fillRect(e+o,n,a-2*o,o),t.fillRect(e+o,n+i-o,a-2*o,o),t.fillRect(e,n,o,i),t.fillRect(e+a-o,n,o,i)}function Xd(t,e,n,a,i,o){t.save(),t.globalCompositeOperation="copy",t.fillStyle=o,t.fillRect(e,n,a,i),t.restore()}function Gk(t,e){return t.map(n=>n===0?n:n+e)}function lh(t,e,n,a,i,o){t.beginPath(),t.lineTo(e+a-o[1],n),o[1]!==0&&t.arcTo(e+a,n,e+a,n+o[1],o[1]),t.lineTo(e+a,n+i-o[2]),o[2]!==0&&t.arcTo(e+a,n+i,e+a-o[2],n+i,o[2]),t.lineTo(e+o[3],n+i),o[3]!==0&&t.arcTo(e,n+i,e,n+i-o[3],o[3]),t.lineTo(e,n+o[0]),o[0]!==0&&t.arcTo(e,n,e+o[0],n,o[0])}function Qk(t,e,n,a,i,o,s=0,l=[0,0,0,0],c=""){if(t.save(),!s||!c||c===o)return lh(t,e,n,a,i,l),t.fillStyle=o,t.fill(),void t.restore();const u=s/2;o!=="transparent"&&(lh(t,e+s,n+s,a-2*s,i-2*s,Gk(l,-s)),t.fillStyle=o,t.fill()),c!=="transparent"&&(lh(t,e+u,n+u,a-s,i-s,Gk(l,-u)),t.lineWidth=s,t.strokeStyle=c,t.closePath(),t.stroke()),t.restore()}function B1(t,e,n,a,i,o,s){t.save(),t.globalCompositeOperation="copy";const l=t.createLinearGradient(0,0,0,i);l.addColorStop(0,o),l.addColorStop(1,s),t.fillStyle=l,t.fillRect(e,n,a,i),t.restore()}class Yk{constructor(e,n){this.it(e,n)}it(e,n){this.Lt=e,this.Gt=n}zt(e,n){return this.Lt.Tt?e.P+e.L+e.V:0}K(e,n,a,i){if(!this.Lt.Tt||this.Lt.Jt.length===0)return;const o=this.Lt.O,s=this.Gt.t,l=e.useBitmapCoordinateSpace(c=>{const u=c.context;u.font=n.R;const d=this.Qt(c,n,a,i),p=d.ti,h=(m,g)=>{d.ii?Qk(u,p.ni,p.si,p.ei,p.ri,m,p.hi,[p.ot,0,0,p.ot],g):Qk(u,p.li,p.si,p.ei,p.ri,m,p.hi,[0,p.ot,p.ot,0],g)};return h(s,"transparent"),this.Lt.ai&&(u.fillStyle=o,u.fillRect(p.li,p.oi,p._i-p.li,p.ui)),h("transparent",s),this.Lt.ci&&(u.fillStyle=n.A,u.fillRect(d.ii?p.di-p.hi:0,p.si,p.hi,p.fi-p.si)),d});e.useMediaCoordinateSpace(({context:c})=>{const u=l.vi;c.font=n.R,c.textAlign=l.ii?"right":"left",c.textBaseline="middle",c.fillStyle=o,c.fillText(this.Lt.Jt,u.pi,(u.si+u.fi)/2+u.mi)})}Qt(e,n,a,i){var o;const{context:s,bitmapSize:l,mediaSize:c,horizontalPixelRatio:u,verticalPixelRatio:d}=e,p=this.Lt.ai||!this.Lt.bi?n.T:0,h=this.Lt.wi?n.C:0,m=n.L+this.Gt.gi,g=n.V+this.Gt.Mi,v=n.B,y=n.I,b=this.Lt.Jt,k=n.P,w=a.xi(s,b),j=Math.ceil(a.Si(s,b)),z=k+m+g,S=n.C+v+y+j+p,f=Math.max(1,Math.floor(d));let B=Math.round(z*d);B%2!=f%2&&(B+=1);const D=h>0?Math.max(1,Math.floor(h*u)):0,C=Math.round(S*u),P=Math.round(p*u),I=(o=this.Gt.ki)!==null&&o!==void 0?o:this.Gt.yi,E=Math.round(I*d)-Math.floor(.5*d),L=Math.floor(E+f/2-B/2),q=L+B,U=i==="right",$=U?c.width-h:h,T=U?l.width-D:D;let F,N,Q;return U?(F=T-C,N=T-P,Q=$-p-v-h):(F=T+C,N=T+P,Q=$+p+v),{ii:U,ti:{si:L,oi:E,fi:q,ei:C,ri:B,ot:2*u,hi:D,ni:F,li:T,_i:N,ui:f,di:l.width},vi:{si:L/d,fi:q/d,pi:Q,mi:w}}}}class ep{constructor(e){this.Ci={yi:0,t:"#000",Mi:0,gi:0},this.Ti={Jt:"",Tt:!1,ai:!0,bi:!1,Bt:"",O:"#FFF",ci:!1,wi:!1},this.Pi={Jt:"",Tt:!1,ai:!1,bi:!0,Bt:"",O:"#FFF",ci:!0,wi:!0},this.bt=!0,this.Ri=new(e||Yk)(this.Ti,this.Ci),this.Di=new(e||Yk)(this.Pi,this.Ci)}Jt(){return this.Oi(),this.Ti.Jt}yi(){return this.Oi(),this.Ci.yi}gt(){this.bt=!0}zt(e,n=!1){return Math.max(this.Ri.zt(e,n),this.Di.zt(e,n))}Ai(){return this.Ci.ki||0}Vi(e){this.Ci.ki=e}Bi(){return this.Oi(),this.Ti.Tt||this.Pi.Tt}Ii(){return this.Oi(),this.Ti.Tt}xt(e){return this.Oi(),this.Ti.ai=this.Ti.ai&&e.W().ticksVisible,this.Pi.ai=this.Pi.ai&&e.W().ticksVisible,this.Ri.it(this.Ti,this.Ci),this.Di.it(this.Pi,this.Ci),this.Ri}zi(){return this.Oi(),this.Ri.it(this.Ti,this.Ci),this.Di.it(this.Pi,this.Ci),this.Di}Oi(){this.bt&&(this.Ti.ai=!0,this.Pi.ai=!1,this.Ei(this.Ti,this.Pi,this.Ci))}}class Wre extends ep{constructor(e,n,a){super(),this.$t=e,this.Li=n,this.Ni=a}Ei(e,n,a){if(e.Tt=!1,this.$t.W().mode===2)return;const i=this.$t.W().horzLine;if(!i.labelVisible)return;const o=this.Li.Pt();if(!this.$t.Tt()||this.Li.Fi()||o===null)return;const s=Jd(i.labelBackgroundColor);a.t=s.t,e.O=s.i;const l=2/12*this.Li.P();a.gi=l,a.Mi=l;const c=this.Ni(this.Li);a.yi=c.yi,e.Jt=this.Li.Wi(c.ct,o),e.Tt=!0}}const Ure=/[1-9]/g;let S1=class{constructor(){this.Lt=null}it(e){this.Lt=e}K(e,n){if(this.Lt===null||this.Lt.Tt===!1||this.Lt.Jt.length===0)return;const a=e.useMediaCoordinateSpace(({context:h})=>(h.font=n.R,Math.round(n.ji.Si(h,O(this.Lt).Jt,Ure))));if(a<=0)return;const i=n.Hi,o=a+2*i,s=o/2,l=this.Lt.$i;let c=this.Lt.yi,u=Math.floor(c-s)+.5;u<0?(c+=Math.abs(0-u),u=Math.floor(c-s)+.5):u+o>l&&(c-=Math.abs(l-(u+o)),u=Math.floor(c-s)+.5);const d=u+o,p=Math.ceil(0+n.C+n.T+n.L+n.P+n.V);e.useBitmapCoordinateSpace(({context:h,horizontalPixelRatio:m,verticalPixelRatio:g})=>{const v=O(this.Lt);h.fillStyle=v.t;const y=Math.round(u*m),b=Math.round(0*g),k=Math.round(d*m),w=Math.round(p*g),j=Math.round(2*m);if(h.beginPath(),h.moveTo(y,b),h.lineTo(y,w-j),h.arcTo(y,w,y+j,w,j),h.lineTo(k-j,w),h.arcTo(k,w,k,w-j,j),h.lineTo(k,b),h.fill(),v.ai){const z=Math.round(v.yi*m),S=b,f=Math.round((S+n.T)*g);h.fillStyle=v.O;const B=Math.max(1,Math.floor(m)),D=Math.floor(.5*m);h.fillRect(z-D,S,B,f-S)}}),e.useMediaCoordinateSpace(({context:h})=>{const m=O(this.Lt),g=0+n.C+n.T+n.L+n.P/2;h.font=n.R,h.textAlign="left",h.textBaseline="middle",h.fillStyle=m.O;const v=n.ji.xi(h,"Apr0");h.translate(u+i,g+v),h.fillText(m.Jt,0,0)})}},qre=class{constructor(e,n,a){this.bt=!0,this.Ht=new S1,this.jt={Tt:!1,t:"#4c525e",O:"white",Jt:"",$i:0,yi:NaN,ai:!0},this.wt=e,this.Ui=n,this.Ni=a}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht.it(this.jt),this.Ht}St(){const e=this.jt;if(e.Tt=!1,this.wt.W().mode===2)return;const n=this.wt.W().vertLine;if(!n.labelVisible)return;const a=this.Ui.yt();if(a.Fi())return;e.$i=a.$i();const i=this.Ni();if(i===null)return;e.yi=i.yi;const o=a.qi(this.wt.kt());e.Jt=a.Yi(O(o)),e.Tt=!0;const s=Jd(n.labelBackgroundColor);e.t=s.t,e.O=s.i,e.ai=a.W().ticksVisible}},qg=class{constructor(){this.Xi=null,this.Ki=0}Zi(){return this.Ki}Gi(e){this.Ki=e}At(){return this.Xi}Ji(e){this.Xi=e}Qi(e){return[]}tn(){return[]}Tt(){return!0}};var Zk;(function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet",t[t.Hidden=2]="Hidden"})(Zk||(Zk={}));let Hre=class extends qg{constructor(e,n){super(),this.nn=null,this.sn=NaN,this.en=0,this.rn=!0,this.hn=new Map,this.ln=!1,this.an=NaN,this.on=NaN,this._n=NaN,this.un=NaN,this.Ui=e,this.cn=n,this.dn=new Ore(e,this),this.fn=((i,o)=>s=>{const l=o(),c=i();if(s===O(this.nn).vn())return{ct:c,yi:l};{const u=O(s.Pt());return{ct:s.pn(l,u),yi:l}}})(()=>this.sn,()=>this.on);const a=((i,o)=>()=>{const s=this.Ui.yt().mn(i()),l=o();return s&&Number.isFinite(l)?{ut:s,yi:l}:null})(()=>this.en,()=>this.Kt());this.bn=new qre(this,e,a),this.wn=new Fre(this)}W(){return this.cn}gn(e,n){this._n=e,this.un=n}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(e,n,a){this.ln||(this.ln=!0),this.rn=!0,this.yn(e,n,a)}kt(){return this.en}Kt(){return this.an}Zt(){return this.on}Tt(){return this.rn}Cn(){this.rn=!1,this.Tn(),this.sn=NaN,this.an=NaN,this.on=NaN,this.nn=null,this.Mn()}Pn(e){return this.nn!==null?[this.wn,this.dn]:[]}Yt(e){return e===this.nn&&this.cn.horzLine.visible}Xt(){return this.cn.vertLine.visible}Rn(e,n){this.rn&&this.nn===e||this.hn.clear();const a=[];return this.nn===e&&a.push(this.Dn(this.hn,n,this.fn)),a}tn(){return this.rn?[this.bn]:[]}Ut(){return this.nn}On(){this.wn.gt(),this.hn.forEach(e=>e.gt()),this.bn.gt(),this.dn.gt()}An(e){return e&&!e.vn().Fi()?e.vn():null}yn(e,n,a){this.Vn(e,n,a)&&this.On()}Vn(e,n,a){const i=this.an,o=this.on,s=this.sn,l=this.en,c=this.nn,u=this.An(a);this.en=e,this.an=isNaN(e)?NaN:this.Ui.yt().Et(e),this.nn=a;const d=u!==null?u.Pt():null;return u!==null&&d!==null?(this.sn=n,this.on=u.Ot(n,d)):(this.sn=NaN,this.on=NaN),i!==this.an||o!==this.on||l!==this.en||s!==this.sn||c!==this.nn}Tn(){const e=this.Ui.Mt().map(a=>a.In().Bn()).filter(Nre),n=e.length===0?null:Math.max(...e);this.en=n!==null?n:NaN}Dn(e,n,a){let i=e.get(n);return i===void 0&&(i=new Wre(this,n,a),e.set(n,i)),i}};function tp(t){return t==="left"||t==="right"}class vt{constructor(e){this.zn=new Map,this.En=[],this.Ln=e}Nn(e,n){const a=function(i,o){return i===void 0?o:{Fn:Math.max(i.Fn,o.Fn),Wn:i.Wn||o.Wn}}(this.zn.get(e),n);this.zn.set(e,a)}jn(){return this.Ln}Hn(e){const n=this.zn.get(e);return n===void 0?{Fn:this.Ln}:{Fn:Math.max(this.Ln,n.Fn),Wn:n.Wn}}$n(){this.Un(),this.En=[{qn:0}]}Yn(e){this.Un(),this.En=[{qn:1,Vt:e}]}Xn(e){this.Kn(),this.En.push({qn:5,Vt:e})}Un(){this.Kn(),this.En.push({qn:6})}Zn(){this.Un(),this.En=[{qn:4}]}Gn(e){this.Un(),this.En.push({qn:2,Vt:e})}Jn(e){this.Un(),this.En.push({qn:3,Vt:e})}Qn(){return this.En}ts(e){for(const n of e.En)this.ns(n);this.Ln=Math.max(this.Ln,e.Ln),e.zn.forEach((n,a)=>{this.Nn(a,n)})}static ss(){return new vt(2)}static es(){return new vt(3)}ns(e){switch(e.qn){case 0:this.$n();break;case 1:this.Yn(e.Vt);break;case 2:this.Gn(e.Vt);break;case 3:this.Jn(e.Vt);break;case 4:this.Zn();break;case 5:this.Xn(e.Vt);break;case 6:this.Kn()}}Kn(){const e=this.En.findIndex(n=>n.qn===5);e!==-1&&this.En.splice(e,1)}}const Jk=".";function ti(t,e){if(!Ta(t))return"n/a";if(!kl(e))throw new TypeError("invalid length");if(e<0||e>16)throw new TypeError("invalid length");return e===0?t.toString():("0000000000000000"+t.toString()).slice(-e)}let np=class{constructor(e,n){if(n||(n=1),Ta(e)&&kl(e)||(e=100),e<0)throw new TypeError("invalid base");this.Li=e,this.rs=n,this.hs()}format(e){const n=e<0?"−":"";return e=Math.abs(e),n+this.ls(e)}hs(){if(this.os=0,this.Li>0&&this.rs>0){let e=this.Li;for(;e>1;)e/=10,this.os++}}ls(e){const n=this.Li/this.rs;let a=Math.floor(e),i="";const o=this.os!==void 0?this.os:NaN;if(n>1){let s=+(Math.round(e*n)-a*n).toFixed(this.os);s>=n&&(s-=n,a+=1),i=Jk+ti(+s.toFixed(this.os)*this.rs,o)}else a=Math.round(a*n)/n,o>0&&(i=Jk+ti(0,o));return a.toFixed(0)+i}},z1=class extends np{constructor(e=100){super(e)}format(e){return`${super.format(e)}%`}},Kre=class{constructor(e){this._s=e}format(e){let n="";return e<0&&(n="-",e=-e),e<995?n+this.us(e):e<999995?n+this.us(e/1e3)+"K":e<999999995?(e=1e3*Math.round(e/1e3),n+this.us(e/1e6)+"M"):(e=1e6*Math.round(e/1e6),n+this.us(e/1e9)+"B")}us(e){let n;const a=Math.pow(10,this._s);return n=(e=Math.round(e*a)/a)>=1e-15&&e<1?e.toFixed(this._s).replace(/\.?0+$/,""):String(e),n.replace(/(\.[1-9]*)0+$/,(i,o)=>o)}};function C1(t,e,n,a,i,o,s){if(e.length===0||a.from>=e.length||a.to<=0)return;const{context:l,horizontalPixelRatio:c,verticalPixelRatio:u}=t,d=e[a.from];let p=o(t,d),h=d;if(a.to-a.from<2){const m=i/2;l.beginPath();const g={et:d.et-m,rt:d.rt},v={et:d.et+m,rt:d.rt};l.moveTo(g.et*c,g.rt*u),l.lineTo(v.et*c,v.rt*u),s(t,p,g,v)}else{const m=(v,y)=>{s(t,p,h,y),l.beginPath(),p=v,h=y};let g=h;l.beginPath(),l.moveTo(d.et*c,d.rt*u);for(let v=a.from+1;v=g.from;--S){const f=h[S];if(f){const B=v(p,f);B!==w&&(k.beginPath(),w!==null&&k.fill(),k.fillStyle=B,w=B);const D=Math.round(f.et*y)+j,C=f.rt*b;k.moveTo(D,C),k.arc(D,C,z,0,2*Math.PI)}}k.fill()}(e,n,c,a,d)}},T1=class extends _1{Ds(e,n){return n._t}};function E1(t,e,n,a,i=0,o=e.length){let s=o-i;for(;0>1,c=i+l;a(e[c],n)===t?(i=c+1,s-=l+1):s=l}return i}const $l=E1.bind(null,!0),P1=E1.bind(null,!1);function Jre(t,e){return t.ut0&&o=a&&(l=o-1),s>0&&sObject.assign(Object.assign({},e),this.Es.$s().Hs(e.ut)))}Us(){this.zs=null}Fs(){this.Vs&&(this.qs(),this.Vs=!1),this.Bs&&(this.js(),this.Bs=!1),this.As&&(this.Ys(),this.As=!1)}Ys(){const e=this.Es.At(),n=this.Ls.yt();if(this.Us(),n.Fi()||e.Fi())return;const a=n.Xs();if(a===null||this.Es.In().Ks()===0)return;const i=this.Es.Pt();i!==null&&(this.zs=N1(this.Is,a,this.Ns),this.Zs(e,n,i.Vt),this.Gs())}},ap=class extends Kg{constructor(e,n){super(e,n,!0)}Zs(e,n,a){n.Js(this.Is,xl(this.zs)),e.Qs(this.Is,a,xl(this.zs))}te(e,n){return{ut:e,ct:n,et:NaN,rt:NaN}}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>{const a=n.Vt[3];return this.ne(n.se,a,e)})}},ese=class extends ap{constructor(e,n){super(e,n),this.Ws=new Wg,this.ee=new Yre,this.re=new T1,this.Ws.X([this.ee,this.re])}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.W();this.ee.it({ds:e.lineType,st:this.Is,Wt:e.lineStyle,ht:e.lineWidth,fs:null,vs:e.invertFilledArea,nt:this.zs,cs:this.Ls.yt().he()}),this.re.it({ds:e.lineVisible?e.lineType:void 0,st:this.Is,Wt:e.lineStyle,ht:e.lineWidth,nt:this.zs,cs:this.Ls.yt().he(),Rs:e.pointMarkersVisible?e.pointMarkersRadius||e.lineWidth/2+2:void 0})}},tse=class extends fi{constructor(){super(...arguments),this.Lt=null,this.le=0,this.ae=0}it(e){this.Lt=e}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){if(this.Lt===null||this.Lt.In.length===0||this.Lt.nt===null)return;this.le=this.oe(n),this.le>=2&&Math.max(1,Math.floor(n))%2!=this.le%2&&this.le--,this.ae=this.Lt._e?Math.min(this.le,Math.floor(n)):this.le;let i=null;const o=this.ae<=this.le&&this.Lt.he>=Math.floor(1.5*n);for(let s=this.Lt.nt.from;sv+b-1&&(B=v+b-1,f=B-p+1),e.fillRect(S,f,d-S,B-f+1)}const w=u+k;let j=Math.max(v,Math.round(l.pe*a)-c),z=j+p-1;z>v+b-1&&(z=v+b-1,j=z-p+1),e.fillRect(h+1,j,w-h,z-j+1)}}}oe(e){const n=Math.floor(e);return Math.max(n,Math.floor(function(a,i){return Math.floor(.3*a*i)}(O(this.Lt).he,e)))}},L1=class extends Kg{constructor(e,n){super(e,n,!1)}Zs(e,n,a){n.Js(this.Is,xl(this.zs)),e.me(this.Is,a,xl(this.zs))}be(e,n,a){return{ut:e,we:n.Vt[0],ge:n.Vt[1],Me:n.Vt[2],xe:n.Vt[3],et:NaN,ve:NaN,ce:NaN,de:NaN,pe:NaN}}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>this.ne(n.se,n,e))}},nse=class extends L1{constructor(){super(...arguments),this.Ws=new tse}ne(e,n,a){return Object.assign(Object.assign({},this.be(e,n,a)),a.Hs(e))}Gs(){const e=this.Es.W();this.Ws.it({In:this.Is,he:this.Ls.yt().he(),fe:e.openVisible,_e:e.thinBars,nt:this.zs})}},ase=class extends D1{constructor(){super(...arguments),this.Cs=new Hg}ps(e,n){const a=this.tt;return this.Cs.bs(e,{gs:n.Se,Ms:n.ke,xs:n.ye,Ss:n.Ce,ks:e.bitmapSize.height,fs:a.fs})}},ise=class extends _1{constructor(){super(...arguments),this.Te=new Hg}Ds(e,n){const a=this.tt;return this.Te.bs(e,{gs:n.Pe,Ms:n.Pe,xs:n.Re,Ss:n.Re,ks:e.bitmapSize.height,fs:a.fs})}},ose=class extends ap{constructor(e,n){super(e,n),this.Ws=new Wg,this.De=new ase,this.Oe=new ise,this.Ws.X([this.De,this.Oe])}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.Pt();if(e===null)return;const n=this.Es.W(),a=this.Es.At().Ot(n.baseValue.price,e.Vt),i=this.Ls.yt().he();this.De.it({st:this.Is,ht:n.lineWidth,Wt:n.lineStyle,ds:n.lineType,fs:a,vs:!1,nt:this.zs,cs:i}),this.Oe.it({st:this.Is,ht:n.lineWidth,Wt:n.lineStyle,ds:n.lineVisible?n.lineType:void 0,Rs:n.pointMarkersVisible?n.pointMarkersRadius||n.lineWidth/2+2:void 0,fs:a,nt:this.zs,cs:i})}},rse=class extends fi{constructor(){super(...arguments),this.Lt=null,this.le=0}it(e){this.Lt=e}Z(e){if(this.Lt===null||this.Lt.In.length===0||this.Lt.nt===null)return;const{horizontalPixelRatio:n}=e;this.le=function(o,s){if(o>=2.5&&o<=4)return Math.floor(3*s);const l=1-.2*Math.atan(Math.max(4,o)-4)/(.5*Math.PI),c=Math.floor(o*l*s),u=Math.floor(o*s),d=Math.min(c,u);return Math.max(Math.floor(s),d)}(this.Lt.he,n),this.le>=2&&Math.floor(n)%2!=this.le%2&&this.le--;const a=this.Lt.In;this.Lt.Ae&&this.Ve(e,a,this.Lt.nt),this.Lt.ci&&this.Be(e,a,this.Lt.nt);const i=this.Ie(n);(!this.Lt.ci||this.le>2*i)&&this.ze(e,a,this.Lt.nt)}Ve(e,n,a){if(this.Lt===null)return;const{context:i,horizontalPixelRatio:o,verticalPixelRatio:s}=e;let l="",c=Math.min(Math.floor(o),Math.floor(this.Lt.he*o));c=Math.max(Math.floor(o),Math.min(c,this.le));const u=Math.floor(.5*c);let d=null;for(let p=a.from;p2*c)Vre(i,h,g,m-h+1,v-g+1,c);else{const y=m-h+1;i.fillRect(h,g,y,v-g+1)}u=m}}ze(e,n,a){if(this.Lt===null)return;const{context:i,horizontalPixelRatio:o,verticalPixelRatio:s}=e;let l="";const c=this.Ie(o);for(let u=a.from;uh||i.fillRect(m,p,g-m+1,h-p+1)}}},sse=class extends L1{constructor(){super(...arguments),this.Ws=new rse}ne(e,n,a){return Object.assign(Object.assign({},this.be(e,n,a)),a.Hs(e))}Gs(){const e=this.Es.W();this.Ws.it({In:this.Is,he:this.Ls.yt().he(),Ae:e.wickVisible,ci:e.borderVisible,nt:this.zs})}},lse=class{constructor(e,n){this.Ne=e,this.Li=n}K(e,n,a){this.Ne.draw(e,this.Li,n,a)}},uh=class extends Kg{constructor(e,n,a){super(e,n,!1),this.wn=a,this.Ws=new lse(this.wn.renderer(),i=>{const o=e.Pt();return o===null?null:e.At().Ot(i,o.Vt)})}Fe(e){return this.wn.priceValueBuilder(e)}We(e){return this.wn.isWhitespace(e)}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>Object.assign(Object.assign({ut:n.se,et:NaN},e.Hs(n.se)),{je:n.He}))}Zs(e,n){n.Js(this.Is,xl(this.zs))}Gs(){this.wn.update({bars:this.Is.map(cse),barSpacing:this.Ls.yt().he(),visibleRange:this.zs},this.Es.W())}};function cse(t){return{x:t.et,time:t.ut,originalData:t.je,barColor:t.ue}}let use=class extends fi{constructor(){super(...arguments),this.Lt=null,this.$e=[]}it(e){this.Lt=e,this.$e=[]}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){if(this.Lt===null||this.Lt.st.length===0||this.Lt.nt===null)return;this.$e.length||this.Ue(n);const i=Math.max(1,Math.floor(a)),o=Math.round(this.Lt.qe*a)-Math.floor(i/2),s=o+i;for(let l=this.Lt.nt.from;ll.Xe?l.di=s.Os-n-1:s.Os=l.di+n+1)}let i=Math.ceil(this.Lt.he*e);for(let o=this.Lt.nt.from;o0&&i<4)for(let o=this.Lt.nt.from;oi&&(s.Ye>s.Xe?s.di-=1:s.Os+=1)}}};class dse extends ap{constructor(){super(...arguments),this.Ws=new use}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e={st:this.Is,he:this.Ls.yt().he(),nt:this.zs,qe:this.Es.At().Ot(this.Es.W().base,O(this.Es.Pt()).Vt)};this.Ws.it(e)}}class pse extends ap{constructor(){super(...arguments),this.Ws=new T1}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.W(),n={st:this.Is,Wt:e.lineStyle,ds:e.lineVisible?e.lineType:void 0,ht:e.lineWidth,Rs:e.pointMarkersVisible?e.pointMarkersRadius||e.lineWidth/2+2:void 0,nt:this.zs,cs:this.Ls.yt().he()};this.Ws.it(n)}}const hse=/[2-9]/g;class yl{constructor(e=50){this.Ke=0,this.Ze=1,this.Ge=1,this.Je={},this.Qe=new Map,this.tr=e}ir(){this.Ke=0,this.Qe.clear(),this.Ze=1,this.Ge=1,this.Je={}}Si(e,n,a){return this.nr(e,n,a).width}xi(e,n,a){const i=this.nr(e,n,a);return((i.actualBoundingBoxAscent||0)-(i.actualBoundingBoxDescent||0))/2}nr(e,n,a){const i=a||hse,o=String(n).replace(i,"0");if(this.Qe.has(o))return on(this.Qe.get(o)).sr;if(this.Ke===this.tr){const l=this.Je[this.Ge];delete this.Je[this.Ge],this.Qe.delete(l),this.Ge++,this.Ke--}e.save(),e.textBaseline="middle";const s=e.measureText(o);return e.restore(),s.width===0&&n.length||(this.Qe.set(o,{sr:s,er:this.Ze}),this.Je[this.Ze]=o,this.Ke++,this.Ze++),s}}class mse{constructor(e){this.rr=null,this.k=null,this.hr="right",this.lr=e}ar(e,n,a){this.rr=e,this.k=n,this.hr=a}K(e){this.k!==null&&this.rr!==null&&this.rr.K(e,this.k,this.lr,this.hr)}}class I1{constructor(e,n,a){this._r=e,this.lr=new yl(50),this.ur=n,this.F=a,this.j=-1,this.Ht=new mse(this.lr)}xt(){const e=this.F.cr(this.ur);if(e===null)return null;const n=e.dr(this.ur)?e.vr():this.ur.At();if(n===null)return null;const a=e.pr(n);if(a==="overlay")return null;const i=this.F.mr();return i.P!==this.j&&(this.j=i.P,this.lr.ir()),this.Ht.ar(this._r.zi(),i,a),this.Ht}}class fse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}br(e,n){var a;if(!(!((a=this.Lt)===null||a===void 0)&&a.Tt))return null;const{rt:i,ht:o,wr:s}=this.Lt;return n>=i-o-7&&n<=i+o+7?{gr:this.Lt,wr:s}:null}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null||this.Lt.Tt===!1)return;const o=Math.round(this.Lt.rt*i);o<0||o>n.height||(e.lineCap="butt",e.strokeStyle=this.Lt.O,e.lineWidth=Math.floor(this.Lt.ht*a),Uo(e,this.Lt.Wt),w1(e,o,0,n.width))}}class Gg{constructor(e){this.Mr={rt:0,O:"rgba(0, 0, 0, 0)",ht:1,Wt:0,Tt:!1},this.Sr=new fse,this.bt=!0,this.Es=e,this.Ls=e.qt(),this.Sr.it(this.Mr)}gt(){this.bt=!0}xt(){return this.Es.Tt()?(this.bt&&(this.kr(),this.bt=!1),this.Sr):null}}class gse extends Gg{constructor(e){super(e)}kr(){this.Mr.Tt=!1;const e=this.Es.At(),n=e.yr().yr;if(n!==2&&n!==3)return;const a=this.Es.W();if(!a.baseLineVisible||!this.Es.Tt())return;const i=this.Es.Pt();i!==null&&(this.Mr.Tt=!0,this.Mr.rt=e.Ot(i.Vt,i.Vt),this.Mr.O=a.baseLineColor,this.Mr.ht=a.baseLineWidth,this.Mr.Wt=a.baseLineStyle)}}class vse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}He(){return this.Lt}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){const i=this.Lt;if(i===null)return;const o=Math.max(1,Math.floor(n)),s=o%2/2,l=Math.round(i.Xe.x*n)+s,c=i.Xe.y*a;e.fillStyle=i.Cr,e.beginPath();const u=Math.max(2,1.5*i.Tr)*n;e.arc(l,c,u,0,2*Math.PI,!1),e.fill(),e.fillStyle=i.Pr,e.beginPath(),e.arc(l,c,i.ot*n,0,2*Math.PI,!1),e.fill(),e.lineWidth=o,e.strokeStyle=i.Rr,e.beginPath(),e.arc(l,c,i.ot*n+o/2,0,2*Math.PI,!1),e.stroke()}}const bse=[{Dr:0,Or:.25,Ar:4,Vr:10,Br:.25,Ir:0,zr:.4,Er:.8},{Dr:.25,Or:.525,Ar:10,Vr:14,Br:0,Ir:0,zr:.8,Er:0},{Dr:.525,Or:1,Ar:14,Vr:14,Br:0,Ir:0,zr:0,Er:0}];function tx(t,e,n,a){return function(i,o){if(i==="transparent")return i;const s=Zu(i),l=s[3];return`rgba(${s[0]}, ${s[1]}, ${s[2]}, ${o*l})`}(t,n+(a-n)*e)}function nx(t,e){const n=t%2600/2600;let a;for(const c of bse)if(n>=c.Dr&&n<=c.Or){a=c;break}eo(a!==void 0,"Last price animation internal logic error");const i=(n-a.Dr)/(a.Or-a.Dr);return{Pr:tx(e,i,a.Br,a.Ir),Rr:tx(e,i,a.zr,a.Er),ot:(o=i,s=a.Ar,l=a.Vr,s+(l-s)*o)};var o,s,l}class kse{constructor(e){this.Ht=new vse,this.bt=!0,this.Lr=!0,this.Nr=performance.now(),this.Fr=this.Nr-1,this.Wr=e}jr(){this.Fr=this.Nr-1,this.gt()}Hr(){if(this.gt(),this.Wr.W().lastPriceAnimation===2){const e=performance.now(),n=this.Fr-e;if(n>0)return void(n<650&&(this.Fr+=2600));this.Nr=e,this.Fr=e+2600}}gt(){this.bt=!0}$r(){this.Lr=!0}Tt(){return this.Wr.W().lastPriceAnimation!==0}Ur(){switch(this.Wr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Fr}}xt(){return this.bt?(this.St(),this.bt=!1,this.Lr=!1):this.Lr&&(this.qr(),this.Lr=!1),this.Ht}St(){this.Ht.it(null);const e=this.Wr.qt().yt(),n=e.Xs(),a=this.Wr.Pt();if(n===null||a===null)return;const i=this.Wr.Yr(!0);if(i.Xr||!n.Kr(i.se))return;const o={x:e.Et(i.se),y:this.Wr.At().Ot(i.ct,a.Vt)},s=i.O,l=this.Wr.W().lineWidth,c=nx(this.Zr(),s);this.Ht.it({Cr:s,Tr:l,Pr:c.Pr,Rr:c.Rr,ot:c.ot,Xe:o})}qr(){const e=this.Ht.He();if(e!==null){const n=nx(this.Zr(),e.Cr);e.Pr=n.Pr,e.Rr=n.Rr,e.ot=n.ot}}Zr(){return this.Ur()?performance.now()-this.Nr:2599}}function Us(t,e){return A1(Math.min(Math.max(t,12),30)*e)}function wl(t,e){switch(t){case"arrowDown":case"arrowUp":return Us(e,1);case"circle":return Us(e,.8);case"square":return Us(e,.7)}}function $1(t){return function(e){const n=Math.ceil(e);return n%2!=0?n-1:n}(Us(t,1))}function ax(t){return Math.max(Us(t,.1),3)}function M1(t,e,n,a,i){const o=wl("square",n),s=(o-1)/2,l=t-s,c=e-s;return a>=l&&a<=l+o&&i>=c&&i<=c+o}function ix(t,e,n,a,i){const o=(wl("arrowUp",i)-1)/2,s=(A1(i/2)-1)/2;e.beginPath(),t?(e.moveTo(n-o,a),e.lineTo(n,a-o),e.lineTo(n+o,a),e.lineTo(n+s,a),e.lineTo(n+s,a+o),e.lineTo(n-s,a+o),e.lineTo(n-s,a)):(e.moveTo(n-o,a),e.lineTo(n,a+o),e.lineTo(n+o,a),e.lineTo(n+s,a),e.lineTo(n+s,a-o),e.lineTo(n-s,a-o),e.lineTo(n-s,a)),e.fill()}function xse(t,e,n,a,i,o){return M1(e,n,a,i,o)}class yse extends Ug{constructor(){super(...arguments),this.Lt=null,this.lr=new yl,this.j=-1,this.H="",this.Gr=""}it(e){this.Lt=e}ar(e,n){this.j===e&&this.H===n||(this.j=e,this.H=n,this.Gr=Kr(e,n),this.lr.ir())}br(e,n){if(this.Lt===null||this.Lt.nt===null)return null;for(let a=this.Lt.nt.from;a=a&&l<=a+o&&c>=i-u&&c<=i+u}(t.Jt.et,t.Jt.rt,t.Jt.$i,t.Jt.zt,e,n))||function(a,i,o){if(a.Ks===0)return!1;switch(a.th){case"arrowDown":case"arrowUp":return xse(0,a.et,a.rt,a.Ks,i,o);case"circle":return function(s,l,c,u,d){const p=2+wl("circle",c)/2,h=s-u,m=l-d;return Math.sqrt(h*h+m*m)<=p}(a.et,a.rt,a.Ks,i,o);case"square":return M1(a.et,a.rt,a.Ks,i,o)}}(t,e,n)}function Bse(t,e,n,a,i,o,s,l,c){const u=Ta(n)?n:n.xe,d=Ta(n)?n:n.ge,p=Ta(n)?n:n.Me,h=Ta(e.size)?Math.max(e.size,0):1,m=$1(l.he())*h,g=m/2;switch(t.Ks=m,e.position){case"inBar":return t.rt=s.Ot(u,c),void(t.Jt!==void 0&&(t.Jt.rt=t.rt+g+o+.6*i));case"aboveBar":return t.rt=s.Ot(d,c)-g-a.ih,t.Jt!==void 0&&(t.Jt.rt=t.rt-g-.6*i,a.ih+=1.2*i),void(a.ih+=m+o);case"belowBar":return t.rt=s.Ot(p,c)+g+a.nh,t.Jt!==void 0&&(t.Jt.rt=t.rt+g+o+.6*i,a.nh+=1.2*i),void(a.nh+=m+o)}e.position}class Sse{constructor(e,n){this.bt=!0,this.sh=!0,this.eh=!0,this.rh=null,this.Ht=new yse,this.Wr=e,this.Ui=n,this.Lt={st:[],nt:null}}gt(e){this.bt=!0,this.eh=!0,e==="data"&&(this.sh=!0)}xt(e){if(!this.Wr.Tt())return null;this.bt&&this.hh();const n=this.Ui.W().layout;return this.Ht.ar(n.fontSize,n.fontFamily),this.Ht.it(this.Lt),this.Ht}lh(){if(this.eh){if(this.Wr.ah().length>0){const e=this.Ui.yt().he(),n=ax(e),a=1.5*$1(e)+2*n;this.rh={above:a,below:a}}else this.rh=null;this.eh=!1}return this.rh}hh(){const e=this.Wr.At(),n=this.Ui.yt(),a=this.Wr.ah();this.sh&&(this.Lt.st=a.map(d=>({ut:d.time,et:0,rt:0,Ks:0,th:d.shape,O:d.color,Jr:d.Jr,wr:d.id,Jt:void 0})),this.sh=!1);const i=this.Ui.W().layout;this.Lt.nt=null;const o=n.Xs();if(o===null)return;const s=this.Wr.Pt();if(s===null||this.Lt.st.length===0)return;let l=NaN;const c=ax(n.he()),u={ih:c,nh:c};this.Lt.nt=N1(this.Lt.st,o,!0);for(let d=this.Lt.nt.from;d0&&(h.Jt={Qr:p.text,et:0,rt:0,$i:0,zt:0});const m=this.Wr.oh(p.time);m!==null&&Bse(h,p,m,u,i.fontSize,c,e,n,s.Vt)}this.bt=!1}}class zse extends Gg{constructor(e){super(e)}kr(){const e=this.Mr;e.Tt=!1;const n=this.Es.W();if(!n.priceLineVisible||!this.Es.Tt())return;const a=this.Es.Yr(n.priceLineSource===0);a.Xr||(e.Tt=!0,e.rt=a.yi,e.O=this.Es._h(a.O),e.ht=n.priceLineWidth,e.Wt=n.priceLineStyle)}}class Cse extends ep{constructor(e){super(),this.$t=e}Ei(e,n,a){e.Tt=!1,n.Tt=!1;const i=this.$t;if(!i.Tt())return;const o=i.W(),s=o.lastValueVisible,l=i.uh()!=="",c=o.seriesLastValueMode===0,u=i.Yr(!1);if(u.Xr)return;s&&(e.Jt=this.dh(u,s,c),e.Tt=e.Jt.length!==0),(l||c)&&(n.Jt=this.fh(u,s,l,c),n.Tt=n.Jt.length>0);const d=i._h(u.O),p=Jd(d);a.t=p.t,a.yi=u.yi,n.Bt=i.qt().It(u.yi/i.At().zt()),e.Bt=d,e.O=p.i,n.O=p.i}fh(e,n,a,i){let o="";const s=this.$t.uh();return a&&s.length!==0&&(o+=`${s} `),n&&i&&(o+=this.$t.At().ph()?e.mh:e.bh),o.trim()}dh(e,n,a){return n?a?this.$t.At().ph()?e.bh:e.mh:e.Jt:""}}function ox(t,e,n,a){const i=Number.isFinite(e),o=Number.isFinite(n);return i&&o?t(e,n):i||o?i?e:n:a}class gn{constructor(e,n){this.wh=e,this.gh=n}Mh(e){return e!==null&&this.wh===e.wh&&this.gh===e.gh}xh(){return new gn(this.wh,this.gh)}Sh(){return this.wh}kh(){return this.gh}yh(){return this.gh-this.wh}Fi(){return this.gh===this.wh||Number.isNaN(this.gh)||Number.isNaN(this.wh)}ts(e){return e===null?this:new gn(ox(Math.min,this.Sh(),e.Sh(),-1/0),ox(Math.max,this.kh(),e.kh(),1/0))}Ch(e){if(!Ta(e)||this.gh-this.wh===0)return;const n=.5*(this.gh+this.wh);let a=this.gh-n,i=this.wh-n;a*=e,i*=e,this.gh=n+a,this.wh=n+i}Th(e){Ta(e)&&(this.gh+=e,this.wh+=e)}Ph(){return{minValue:this.wh,maxValue:this.gh}}static Rh(e){return e===null?null:new gn(e.minValue,e.maxValue)}}class Ju{constructor(e,n){this.Dh=e,this.Oh=n||null}Ah(){return this.Dh}Vh(){return this.Oh}Ph(){return this.Dh===null?null:{priceRange:this.Dh.Ph(),margins:this.Oh||void 0}}static Rh(e){return e===null?null:new Ju(gn.Rh(e.priceRange),e.margins)}}class Dse extends Gg{constructor(e,n){super(e),this.Bh=n}kr(){const e=this.Mr;e.Tt=!1;const n=this.Bh.W();if(!this.Es.Tt()||!n.lineVisible)return;const a=this.Bh.Ih();a!==null&&(e.Tt=!0,e.rt=a,e.O=n.color,e.ht=n.lineWidth,e.Wt=n.lineStyle,e.wr=this.Bh.W().id)}}class Ase extends ep{constructor(e,n){super(),this.Wr=e,this.Bh=n}Ei(e,n,a){e.Tt=!1,n.Tt=!1;const i=this.Bh.W(),o=i.axisLabelVisible,s=i.title!=="",l=this.Wr;if(!o||!l.Tt())return;const c=this.Bh.Ih();if(c===null)return;s&&(n.Jt=i.title,n.Tt=!0),n.Bt=l.qt().It(c/l.At().zt()),e.Jt=this.zh(i.price),e.Tt=!0;const u=Jd(i.axisLabelColor||i.color);a.t=u.t;const d=i.axisLabelTextColor||u.i;e.O=d,n.O=d,a.yi=c}zh(e){const n=this.Wr.Pt();return n===null?"":this.Wr.At().Wi(e,n.Vt)}}class _se{constructor(e,n){this.Wr=e,this.cn=n,this.Eh=new Dse(e,this),this._r=new Ase(e,this),this.Lh=new I1(this._r,e,e.qt())}Nh(e){ha(this.cn,e),this.gt(),this.Wr.qt().Fh()}W(){return this.cn}Wh(){return this.Eh}jh(){return this.Lh}Hh(){return this._r}gt(){this.Eh.gt(),this._r.gt()}Ih(){const e=this.Wr,n=e.At();if(e.qt().yt().Fi()||n.Fi())return null;const a=e.Pt();return a===null?null:n.Ot(this.cn.price,a.Vt)}}class Tse extends qg{constructor(e){super(),this.Ui=e}qt(){return this.Ui}}const Ese={Bar:(t,e,n,a)=>{var i;const o=e.upColor,s=e.downColor,l=O(t(n,a)),c=Br(l.Vt[0])<=Br(l.Vt[3]);return{ue:(i=l.O)!==null&&i!==void 0?i:c?o:s}},Candlestick:(t,e,n,a)=>{var i,o,s;const l=e.upColor,c=e.downColor,u=e.borderUpColor,d=e.borderDownColor,p=e.wickUpColor,h=e.wickDownColor,m=O(t(n,a)),g=Br(m.Vt[0])<=Br(m.Vt[3]);return{ue:(i=m.O)!==null&&i!==void 0?i:g?l:c,Le:(o=m.Bt)!==null&&o!==void 0?o:g?u:d,Ee:(s=m.$h)!==null&&s!==void 0?s:g?p:h}},Custom:(t,e,n,a)=>{var i;return{ue:(i=O(t(n,a)).O)!==null&&i!==void 0?i:e.color}},Area:(t,e,n,a)=>{var i,o,s,l;const c=O(t(n,a));return{ue:(i=c._t)!==null&&i!==void 0?i:e.lineColor,_t:(o=c._t)!==null&&o!==void 0?o:e.lineColor,Ts:(s=c.Ts)!==null&&s!==void 0?s:e.topColor,Ps:(l=c.Ps)!==null&&l!==void 0?l:e.bottomColor}},Baseline:(t,e,n,a)=>{var i,o,s,l,c,u;const d=O(t(n,a));return{ue:d.Vt[3]>=e.baseValue.price?e.topLineColor:e.bottomLineColor,Pe:(i=d.Pe)!==null&&i!==void 0?i:e.topLineColor,Re:(o=d.Re)!==null&&o!==void 0?o:e.bottomLineColor,Se:(s=d.Se)!==null&&s!==void 0?s:e.topFillColor1,ke:(l=d.ke)!==null&&l!==void 0?l:e.topFillColor2,ye:(c=d.ye)!==null&&c!==void 0?c:e.bottomFillColor1,Ce:(u=d.Ce)!==null&&u!==void 0?u:e.bottomFillColor2}},Line:(t,e,n,a)=>{var i,o;const s=O(t(n,a));return{ue:(i=s.O)!==null&&i!==void 0?i:e.color,_t:(o=s.O)!==null&&o!==void 0?o:e.color}},Histogram:(t,e,n,a)=>{var i;return{ue:(i=O(t(n,a)).O)!==null&&i!==void 0?i:e.color}}};class Pse{constructor(e){this.Uh=(n,a)=>a!==void 0?a.Vt:this.Wr.In().qh(n),this.Wr=e,this.Yh=Ese[e.Xh()]}Hs(e,n){return this.Yh(this.Uh,this.Wr.W(),e,n)}}var rx;(function(t){t[t.NearestLeft=-1]="NearestLeft",t[t.None=0]="None",t[t.NearestRight=1]="NearestRight"})(rx||(rx={}));const zi=30;class Nse{constructor(){this.Kh=[],this.Zh=new Map,this.Gh=new Map}Jh(){return this.Ks()>0?this.Kh[this.Kh.length-1]:null}Qh(){return this.Ks()>0?this.tl(0):null}Bn(){return this.Ks()>0?this.tl(this.Kh.length-1):null}Ks(){return this.Kh.length}Fi(){return this.Ks()===0}Kr(e){return this.il(e,0)!==null}qh(e){return this.nl(e)}nl(e,n=0){const a=this.il(e,n);return a===null?null:Object.assign(Object.assign({},this.sl(a)),{se:this.tl(a)})}ie(){return this.Kh}el(e,n,a){if(this.Fi())return null;let i=null;for(const o of a)i=zc(i,this.rl(e,n,o));return i}it(e){this.Gh.clear(),this.Zh.clear(),this.Kh=e}tl(e){return this.Kh[e].se}sl(e){return this.Kh[e]}il(e,n){const a=this.hl(e);if(a===null&&n!==0)switch(n){case-1:return this.ll(e);case 1:return this.al(e);default:throw new TypeError("Unknown search mode")}return a}ll(e){let n=this.ol(e);return n>0&&(n-=1),n!==this.Kh.length&&this.tl(n)n.sen.se>a)}ul(e,n,a){let i=null;for(let o=e;oi.dl&&(i.dl=s)))}return i}rl(e,n,a){if(this.Fi())return null;let i=null;const o=O(this.Qh()),s=O(this.Bn()),l=Math.max(e,o),c=Math.min(n,s),u=Math.ceil(l/zi)*zi,d=Math.max(u,Math.floor(c/zi)*zi);{const h=this.ol(l),m=this._l(Math.min(c,u,n));i=zc(i,this.ul(h,m,a))}let p=this.Zh.get(a);p===void 0&&(p=new Map,this.Zh.set(a,p));for(let h=Math.max(u+1,l);hnew dh(l));return this.gl={vl:o,pl:s},s}tn(){var e,n,a,i;const o=(a=(n=(e=this.yl).timeAxisViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.Ml)===null||i===void 0?void 0:i.vl)===o)return this.Ml.pl;const s=this.Wr.qt().yt(),l=o.map(c=>new Ise(c,s));return this.Ml={vl:o,pl:l},l}Rn(){var e,n,a,i;const o=(a=(n=(e=this.yl).priceAxisViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.xl)===null||i===void 0?void 0:i.vl)===o)return this.xl.pl;const s=this.Wr.At(),l=o.map(c=>new $se(c,s));return this.xl={vl:o,pl:l},l}Tl(){var e,n,a,i;const o=(a=(n=(e=this.yl).priceAxisPaneViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.Sl)===null||i===void 0?void 0:i.vl)===o)return this.Sl.pl;const s=o.map(l=>new dh(l));return this.Sl={vl:o,pl:s},s}Pl(){var e,n,a,i;const o=(a=(n=(e=this.yl).timeAxisPaneViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.kl)===null||i===void 0?void 0:i.vl)===o)return this.kl.pl;const s=o.map(l=>new dh(l));return this.kl={vl:o,pl:s},s}Rl(e,n){var a,i,o;return(o=(i=(a=this.yl).autoscaleInfo)===null||i===void 0?void 0:i.call(a,e,n))!==null&&o!==void 0?o:null}br(e,n){var a,i,o;return(o=(i=(a=this.yl).hitTest)===null||i===void 0?void 0:i.call(a,e,n))!==null&&o!==void 0?o:null}}function ph(t,e,n,a){t.forEach(i=>{e(i).forEach(o=>{o.ml()===n&&a.push(o)})})}function hh(t){return t.Pn()}function Ose(t){return t.Tl()}function Rse(t){return t.Pl()}class Qg extends Tse{constructor(e,n,a,i,o){super(e),this.Lt=new Nse,this.Eh=new zse(this),this.Dl=[],this.Ol=new gse(this),this.Al=null,this.Vl=null,this.Bl=[],this.Il=[],this.zl=null,this.El=[],this.cn=n,this.Ll=a;const s=new Cse(this);this.hn=[s],this.Lh=new I1(s,this,e),a!=="Area"&&a!=="Line"&&a!=="Baseline"||(this.Al=new kse(this)),this.Nl(),this.Fl(o)}S(){this.zl!==null&&clearTimeout(this.zl)}_h(e){return this.cn.priceLineColor||e}Yr(e){const n={Xr:!0},a=this.At();if(this.qt().yt().Fi()||a.Fi()||this.Lt.Fi())return n;const i=this.qt().yt().Xs(),o=this.Pt();if(i===null||o===null)return n;let s,l;if(e){const p=this.Lt.Jh();if(p===null)return n;s=p,l=p.se}else{const p=this.Lt.nl(i.di(),-1);if(p===null||(s=this.Lt.qh(p.se),s===null))return n;l=p.se}const c=s.Vt[3],u=this.$s().Hs(l,{Vt:s}),d=a.Ot(c,o.Vt);return{Xr:!1,ct:c,Jt:a.Wi(c,o.Vt),mh:a.Wl(c),bh:a.jl(c,o.Vt),O:u.ue,yi:d,se:l}}$s(){return this.Vl!==null||(this.Vl=new Pse(this)),this.Vl}W(){return this.cn}Nh(e){const n=e.priceScaleId;n!==void 0&&n!==this.cn.priceScaleId&&this.qt().Hl(this,n),ha(this.cn,e),e.priceFormat!==void 0&&(this.Nl(),this.qt().$l()),this.qt().Ul(this),this.qt().ql(),this.wn.gt("options")}it(e,n){this.Lt.it(e),this.Yl(),this.wn.gt("data"),this.dn.gt("data"),this.Al!==null&&(n&&n.Xl?this.Al.Hr():e.length===0&&this.Al.jr());const a=this.qt().cr(this);this.qt().Kl(a),this.qt().Ul(this),this.qt().ql(),this.qt().Fh()}Zl(e){this.Bl=e,this.Yl();const n=this.qt().cr(this);this.dn.gt("data"),this.qt().Kl(n),this.qt().Ul(this),this.qt().ql(),this.qt().Fh()}Gl(){return this.Bl}ah(){return this.Il}Jl(e){const n=new _se(this,e);return this.Dl.push(n),this.qt().Ul(this),n}Ql(e){const n=this.Dl.indexOf(e);n!==-1&&this.Dl.splice(n,1),this.qt().Ul(this)}Xh(){return this.Ll}Pt(){const e=this.ta();return e===null?null:{Vt:e.Vt[3],ia:e.ut}}ta(){const e=this.qt().yt().Xs();if(e===null)return null;const n=e.Os();return this.Lt.nl(n,1)}In(){return this.Lt}oh(e){const n=this.Lt.qh(e);return n===null?null:this.Ll==="Bar"||this.Ll==="Candlestick"||this.Ll==="Custom"?{we:n.Vt[0],ge:n.Vt[1],Me:n.Vt[2],xe:n.Vt[3]}:n.Vt[3]}na(e){const n=[];ph(this.El,hh,"top",n);const a=this.Al;return a!==null&&a.Tt()&&(this.zl===null&&a.Ur()&&(this.zl=setTimeout(()=>{this.zl=null,this.qt().sa()},0)),a.$r(),n.push(a)),n}Pn(){const e=[];this.ea()||e.push(this.Ol),e.push(this.wn,this.Eh,this.dn);const n=this.Dl.map(a=>a.Wh());return e.push(...n),ph(this.El,hh,"normal",e),e}ra(){return this.ha(hh,"bottom")}la(e){return this.ha(Ose,e)}aa(e){return this.ha(Rse,e)}oa(e,n){return this.El.map(a=>a.br(e,n)).filter(a=>a!==null)}Qi(e){return[this.Lh,...this.Dl.map(n=>n.jh())]}Rn(e,n){if(n!==this.Xi&&!this.ea())return[];const a=[...this.hn];for(const i of this.Dl)a.push(i.Hh());return this.El.forEach(i=>{a.push(...i.Rn())}),a}tn(){const e=[];return this.El.forEach(n=>{e.push(...n.tn())}),e}Rl(e,n){if(this.cn.autoscaleInfoProvider!==void 0){const a=this.cn.autoscaleInfoProvider(()=>{const i=this._a(e,n);return i===null?null:i.Ph()});return Ju.Rh(a)}return this._a(e,n)}ua(){return this.cn.priceFormat.minMove}ca(){return this.da}On(){var e;this.wn.gt(),this.dn.gt();for(const n of this.hn)n.gt();for(const n of this.Dl)n.gt();this.Eh.gt(),this.Ol.gt(),(e=this.Al)===null||e===void 0||e.gt(),this.El.forEach(n=>n.On())}At(){return O(super.At())}Ct(e){if(!((this.Ll==="Line"||this.Ll==="Area"||this.Ll==="Baseline")&&this.cn.crosshairMarkerVisible))return null;const n=this.Lt.qh(e);return n===null?null:{ct:n.Vt[3],ot:this.fa(),Bt:this.va(),Dt:this.pa(),Rt:this.ma(e)}}uh(){return this.cn.title}Tt(){return this.cn.visible}ba(e){this.El.push(new Mse(e,this))}wa(e){this.El=this.El.filter(n=>n.Cl()!==e)}ga(){if(this.wn instanceof uh)return e=>this.wn.Fe(e)}Ma(){if(this.wn instanceof uh)return e=>this.wn.We(e)}ea(){return!tp(this.At().xa())}_a(e,n){if(!kl(e)||!kl(n)||this.Lt.Fi())return null;const a=this.Ll==="Line"||this.Ll==="Area"||this.Ll==="Baseline"||this.Ll==="Histogram"?[3]:[2,1],i=this.Lt.el(e,n,a);let o=i!==null?new gn(i.cl,i.dl):null;if(this.Xh()==="Histogram"){const l=this.cn.base,c=new gn(l,l);o=o!==null?o.ts(c):c}let s=this.dn.lh();return this.El.forEach(l=>{const c=l.Rl(e,n);if(c!=null&&c.priceRange){const m=new gn(c.priceRange.minValue,c.priceRange.maxValue);o=o!==null?o.ts(m):m}var u,d,p,h;c!=null&&c.margins&&(u=s,d=c.margins,s={above:Math.max((p=u==null?void 0:u.above)!==null&&p!==void 0?p:0,d.above),below:Math.max((h=u==null?void 0:u.below)!==null&&h!==void 0?h:0,d.below)})}),new Ju(o,s)}fa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this.cn.crosshairMarkerRadius}return 0}va(){switch(this.Ll){case"Line":case"Area":case"Baseline":{const e=this.cn.crosshairMarkerBorderColor;if(e.length!==0)return e}}return null}pa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this.cn.crosshairMarkerBorderWidth}return 0}ma(e){switch(this.Ll){case"Line":case"Area":case"Baseline":{const n=this.cn.crosshairMarkerBackgroundColor;if(n.length!==0)return n}}return this.$s().Hs(e).ue}Nl(){switch(this.cn.priceFormat.type){case"custom":this.da={format:this.cn.priceFormat.formatter};break;case"volume":this.da=new Kre(this.cn.priceFormat.precision);break;case"percent":this.da=new z1(this.cn.priceFormat.precision);break;default:{const e=Math.pow(10,this.cn.priceFormat.precision);this.da=new np(e,this.cn.priceFormat.minMove*e)}}this.Xi!==null&&this.Xi.Sa()}Yl(){const e=this.qt().yt();if(!e.ka()||this.Lt.Fi())return void(this.Il=[]);const n=O(this.Lt.Qh());this.Il=this.Bl.map((a,i)=>{const o=O(e.ya(a.time,!0)),s=od instanceof Qg).reduce((d,p)=>{if(a.dr(p)||!p.Tt())return d;const h=p.At(),m=p.In();if(h.Fi()||!m.Kr(n))return d;const g=m.qh(n);if(g===null)return d;const v=Br(p.Pt());return d.concat([h.Ot(g.Vt[3],v.Vt)])},[]);if(c.length===0)return i;c.sort((d,p)=>Math.abs(d-l)-Math.abs(p-l));const u=c[0];return i=o.pn(u,s),i}}class Vse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null)return;const o=Math.max(1,Math.floor(a));e.lineWidth=o,function(s,l){s.save(),s.lineWidth%2&&s.translate(.5,.5),l(),s.restore()}(e,()=>{const s=O(this.Lt);if(s.Pa){e.strokeStyle=s.Ra,Uo(e,s.Da),e.beginPath();for(const l of s.Oa){const c=Math.round(l.Aa*a);e.moveTo(c,-o),e.lineTo(c,n.height+o)}e.stroke()}if(s.Va){e.strokeStyle=s.Ba,Uo(e,s.Ia),e.beginPath();for(const l of s.za){const c=Math.round(l.Aa*i);e.moveTo(-o,c),e.lineTo(n.width+o,c)}e.stroke()}})}}let Wse=class{constructor(e){this.Ht=new Vse,this.bt=!0,this.nn=e}gt(){this.bt=!0}xt(){if(this.bt){const e=this.nn.qt().W().grid,n={Va:e.horzLines.visible,Pa:e.vertLines.visible,Ba:e.horzLines.color,Ra:e.vertLines.color,Ia:e.horzLines.style,Da:e.vertLines.style,za:this.nn.vn().Ea(),Oa:(this.nn.qt().yt().Ea()||[]).map(a=>({Aa:a.coord}))};this.Ht.it(n),this.bt=!1}return this.Ht}},Use=class{constructor(e){this.wn=new Wse(e)}Wh(){return this.wn}};const mh={La:4,Na:1e-4};function Sr(t,e){const n=100*(t-e)/e;return e<0?-n:n}function qse(t,e){const n=Sr(t.Sh(),e),a=Sr(t.kh(),e);return new gn(n,a)}function qs(t,e){const n=100*(t-e)/e+100;return e<0?-n:n}function Hse(t,e){const n=qs(t.Sh(),e),a=qs(t.kh(),e);return new gn(n,a)}function Xu(t,e){const n=Math.abs(t);if(n<1e-15)return 0;const a=Math.log10(n+e.Na)+e.La;return t<0?-a:a}function Hs(t,e){const n=Math.abs(t);if(n<1e-15)return 0;const a=Math.pow(10,n-e.La)-e.Na;return t<0?-a:a}function ws(t,e){if(t===null)return null;const n=Xu(t.Sh(),e),a=Xu(t.kh(),e);return new gn(n,a)}function Cc(t,e){if(t===null)return null;const n=Hs(t.Sh(),e),a=Hs(t.kh(),e);return new gn(n,a)}function fh(t){if(t===null)return mh;const e=Math.abs(t.kh()-t.Sh());if(e>=1||e<1e-15)return mh;const n=Math.ceil(Math.abs(Math.log10(e))),a=mh.La+n;return{La:a,Na:1/Math.pow(10,a)}}let gh=class{constructor(e,n){if(this.Fa=e,this.Wa=n,function(a){if(a<0)return!1;for(let i=a;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.Fa))this.ja=[2,2.5,2];else{this.ja=[];for(let a=this.Fa;a!==1;){if(a%2==0)this.ja.push(2),a/=2;else{if(a%5!=0)throw new Error("unexpected base");this.ja.push(2,2.5),a/=5}if(this.ja.length>100)throw new Error("something wrong with base")}}}Ha(e,n,a){const i=this.Fa===0?0:1/this.Fa;let o=Math.pow(10,Math.max(0,Math.ceil(Math.log10(e-n)))),s=0,l=this.Wa[0];for(;;){const p=Sc(o,i,1e-14)&&o>i+1e-14,h=Sc(o,a*l,1e-14),m=Sc(o,1,1e-14);if(!(p&&h&&m))break;o/=l,l=this.Wa[++s%this.Wa.length]}if(o<=i+1e-14&&(o=i),o=Math.max(1,o),this.ja.length>0&&(c=o,u=1,d=1e-14,Math.abs(c-u)i+1e-14;)o/=l,l=this.ja[++s%this.ja.length];var c,u,d;return o}},sx=class{constructor(e,n,a,i){this.$a=[],this.Li=e,this.Fa=n,this.Ua=a,this.qa=i}Ha(e,n){if(e=d?1:-1;let g=null,v=0;for(let y=u-h;y>d;y-=p){const b=this.qa(y,n,!0);g!==null&&Math.abs(b-g)c||(vO(e.Zi())-O(n.Zi()))}var lx;(function(t){t[t.Normal=0]="Normal",t[t.Logarithmic=1]="Logarithmic",t[t.Percentage=2]="Percentage",t[t.IndexedTo100=3]="IndexedTo100"})(lx||(lx={}));const cx=new z1,ux=new np(100,1);class Kse{constructor(e,n,a,i){this.Qa=0,this.io=null,this.Dh=null,this.no=null,this.so={eo:!1,ro:null},this.ho=0,this.lo=0,this.ao=new et,this.oo=new et,this._o=[],this.uo=null,this.co=null,this.do=null,this.fo=null,this.da=ux,this.vo=fh(null),this.po=e,this.cn=n,this.mo=a,this.bo=i,this.wo=new sx(this,100,this.Mo.bind(this),this.xo.bind(this))}xa(){return this.po}W(){return this.cn}Nh(e){if(ha(this.cn,e),this.Sa(),e.mode!==void 0&&this.So({yr:e.mode}),e.scaleMargins!==void 0){const n=on(e.scaleMargins.top),a=on(e.scaleMargins.bottom);if(n<0||n>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${n}`);if(a<0||a>1||n+a>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${a}`);if(n+a>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${n+a}`);this.ko(),this.co=null}}yo(){return this.cn.autoScale}Ja(){return this.cn.mode===1}ph(){return this.cn.mode===2}Co(){return this.cn.mode===3}yr(){return{Wn:this.cn.autoScale,To:this.cn.invertScale,yr:this.cn.mode}}So(e){const n=this.yr();let a=null;e.Wn!==void 0&&(this.cn.autoScale=e.Wn),e.yr!==void 0&&(this.cn.mode=e.yr,e.yr!==2&&e.yr!==3||(this.cn.autoScale=!0),this.so.eo=!1),n.yr===1&&e.yr!==n.yr&&(function(o,s){if(o===null)return!1;const l=Hs(o.Sh(),s),c=Hs(o.kh(),s);return isFinite(l)&&isFinite(c)}(this.Dh,this.vo)?(a=Cc(this.Dh,this.vo),a!==null&&this.Po(a)):this.cn.autoScale=!0),e.yr===1&&e.yr!==n.yr&&(a=ws(this.Dh,this.vo),a!==null&&this.Po(a));const i=n.yr!==this.cn.mode;i&&(n.yr===2||this.ph())&&this.Sa(),i&&(n.yr===3||this.Co())&&this.Sa(),e.To!==void 0&&n.To!==e.To&&(this.cn.invertScale=e.To,this.Ro()),this.oo.m(n,this.yr())}Do(){return this.oo}P(){return this.mo.fontSize}zt(){return this.Qa}Oo(e){this.Qa!==e&&(this.Qa=e,this.ko(),this.co=null)}Ao(){if(this.io)return this.io;const e=this.zt()-this.Vo()-this.Bo();return this.io=e,e}Ah(){return this.Io(),this.Dh}Po(e,n){const a=this.Dh;(n||a===null&&e!==null||a!==null&&!a.Mh(e))&&(this.co=null,this.Dh=e)}Fi(){return this.Io(),this.Qa===0||!this.Dh||this.Dh.Fi()}zo(e){return this.To()?e:this.zt()-1-e}Ot(e,n){return this.ph()?e=Sr(e,n):this.Co()&&(e=qs(e,n)),this.xo(e,n)}Qs(e,n,a){this.Io();const i=this.Bo(),o=O(this.Ah()),s=o.Sh(),l=o.kh(),c=this.Ao()-1,u=this.To(),d=c/(l-s),p=a===void 0?0:a.from,h=a===void 0?e.length:a.to,m=this.Eo();for(let g=p;ge.On())}Sa(){this.co=null;const e=this.Jo();let n=100;e!==null&&(n=Math.round(1/e.ua())),this.da=ux,this.ph()?(this.da=cx,n=100):this.Co()?(this.da=new np(100,1),n=100):e!==null&&(this.da=e.ca()),this.wo=new sx(this,n,this.Mo.bind(this),this.xo.bind(this)),this.wo.Xa()}Wo(){this.uo=null}Jo(){return this._o[0]||null}Vo(){return this.To()?this.cn.scaleMargins.bottom*this.zt()+this.lo:this.cn.scaleMargins.top*this.zt()+this.ho}Bo(){return this.To()?this.cn.scaleMargins.top*this.zt()+this.ho:this.cn.scaleMargins.bottom*this.zt()+this.lo}Io(){this.so.eo||(this.so.eo=!0,this.i_())}ko(){this.io=null}xo(e,n){if(this.Io(),this.Fi())return 0;e=this.Ja()&&e?Xu(e,this.vo):e;const a=O(this.Ah()),i=this.Bo()+(this.Ao()-1)*(e-a.Sh())/a.yh();return this.zo(i)}Mo(e,n){if(this.Io(),this.Fi())return 0;const a=this.zo(e),i=O(this.Ah()),o=i.Sh()+i.yh()*((a-this.Bo())/(this.Ao()-1));return this.Ja()?Hs(o,this.vo):o}Ro(){this.co=null,this.wo.Xa()}i_(){const e=this.so.ro;if(e===null)return;let n=null;const a=this.Qo();let i=0,o=0;for(const c of a){if(!c.Tt())continue;const u=c.Pt();if(u===null)continue;const d=c.Rl(e.Os(),e.di());let p=d&&d.Ah();if(p!==null){switch(this.cn.mode){case 1:p=ws(p,this.vo);break;case 2:p=qse(p,u.Vt);break;case 3:p=Hse(p,u.Vt)}if(n=n===null?p:n.ts(O(p)),d!==null){const h=d.Vh();h!==null&&(i=Math.max(i,h.above),o=Math.max(i,h.below))}}}if(i===this.ho&&o===this.lo||(this.ho=i,this.lo=o,this.co=null,this.ko()),n!==null){if(n.Sh()===n.kh()){const c=this.Jo(),u=5*(c===null||this.ph()||this.Co()?1:c.ua());this.Ja()&&(n=Cc(n,this.vo)),n=new gn(n.Sh()-u,n.kh()+u),this.Ja()&&(n=ws(n,this.vo))}if(this.Ja()){const c=Cc(n,this.vo),u=fh(c);if(s=u,l=this.vo,s.La!==l.La||s.Na!==l.Na){const d=this.no!==null?Cc(this.no,this.vo):null;this.vo=u,n=ws(c,u),d!==null&&(this.no=ws(d,u))}}this.Po(n)}else this.Dh===null&&(this.Po(new gn(-.5,.5)),this.vo=fh(null));var s,l;this.so.eo=!0}Eo(){return this.ph()?Sr:this.Co()?qs:this.Ja()?e=>Xu(e,this.vo):null}n_(e,n,a){return n===void 0?(a===void 0&&(a=this.ca()),a.format(e)):n(e)}zh(e,n){return this.n_(e,this.bo.priceFormatter,n)}Go(e,n){return this.n_(e,this.bo.percentageFormatter,n)}}let Gse=class{constructor(e,n){this._o=[],this.s_=new Map,this.Qa=0,this.e_=0,this.r_=1e3,this.uo=null,this.h_=new et,this.wl=e,this.Ui=n,this.l_=new Use(this);const a=n.W();this.a_=this.o_("left",a.leftPriceScale),this.__=this.o_("right",a.rightPriceScale),this.a_.Do().l(this.u_.bind(this,this.a_),this),this.__.Do().l(this.u_.bind(this,this.__),this),this.c_(a)}c_(e){if(e.leftPriceScale&&this.a_.Nh(e.leftPriceScale),e.rightPriceScale&&this.__.Nh(e.rightPriceScale),e.localization&&(this.a_.Sa(),this.__.Sa()),e.overlayPriceScales){const n=Array.from(this.s_.values());for(const a of n){const i=O(a[0].At());i.Nh(e.overlayPriceScales),e.localization&&i.Sa()}}}d_(e){switch(e){case"left":return this.a_;case"right":return this.__}return this.s_.has(e)?on(this.s_.get(e))[0].At():null}S(){this.qt().f_().p(this),this.a_.Do().p(this),this.__.Do().p(this),this._o.forEach(e=>{e.S&&e.S()}),this.h_.m()}v_(){return this.r_}p_(e){this.r_=e}qt(){return this.Ui}$i(){return this.e_}zt(){return this.Qa}m_(e){this.e_=e,this.b_()}Oo(e){this.Qa=e,this.a_.Oo(e),this.__.Oo(e),this._o.forEach(n=>{if(this.dr(n)){const a=n.At();a!==null&&a.Oo(e)}}),this.b_()}Ta(){return this._o}dr(e){const n=e.At();return n===null||this.a_!==n&&this.__!==n}Fo(e,n,a){const i=a!==void 0?a:this.g_().w_+1;this.M_(e,n,i)}jo(e){const n=this._o.indexOf(e);eo(n!==-1,"removeDataSource: invalid data source"),this._o.splice(n,1);const a=O(e.At()).xa();if(this.s_.has(a)){const o=on(this.s_.get(a)),s=o.indexOf(e);s!==-1&&(o.splice(s,1),o.length===0&&this.s_.delete(a))}const i=e.At();i&&i.Ta().indexOf(e)>=0&&i.jo(e),i!==null&&(i.Wo(),this.x_(i)),this.uo=null}pr(e){return e===this.a_?"left":e===this.__?"right":"overlay"}S_(){return this.a_}k_(){return this.__}y_(e,n){e.Uo(n)}C_(e,n){e.qo(n),this.b_()}T_(e){e.Yo()}P_(e,n){e.Xo(n)}R_(e,n){e.Ko(n),this.b_()}D_(e){e.Zo()}b_(){this._o.forEach(e=>{e.On()})}vn(){let e=null;return this.Ui.W().rightPriceScale.visible&&this.__.Ta().length!==0?e=this.__:this.Ui.W().leftPriceScale.visible&&this.a_.Ta().length!==0?e=this.a_:this._o.length!==0&&(e=this._o[0].At()),e===null&&(e=this.__),e}vr(){let e=null;return this.Ui.W().rightPriceScale.visible?e=this.__:this.Ui.W().leftPriceScale.visible&&(e=this.a_),e}x_(e){e!==null&&e.yo()&&this.O_(e)}A_(e){const n=this.wl.Xs();e.So({Wn:!0}),n!==null&&e.t_(n),this.b_()}V_(){this.O_(this.a_),this.O_(this.__)}B_(){this.x_(this.a_),this.x_(this.__),this._o.forEach(e=>{this.dr(e)&&this.x_(e.At())}),this.b_(),this.Ui.Fh()}No(){return this.uo===null&&(this.uo=R1(this._o)),this.uo}I_(){return this.h_}z_(){return this.l_}O_(e){const n=e.Qo();if(n&&n.length>0&&!this.wl.Fi()){const a=this.wl.Xs();a!==null&&e.t_(a)}e.On()}g_(){const e=this.No();if(e.length===0)return{E_:0,w_:0};let n=0,a=0;for(let i=0;ia&&(a=o))}return{E_:n,w_:a}}M_(e,n,a){let i=this.d_(n);if(i===null&&(i=this.o_(n,this.Ui.W().overlayPriceScales)),this._o.push(e),!tp(n)){const o=this.s_.get(n)||[];o.push(e),this.s_.set(n,o)}i.Fo(e),e.Ji(i),e.Gi(a),this.x_(i),this.uo=null}u_(e,n,a){n.yr!==a.yr&&this.O_(e)}o_(e,n){const a=Object.assign({visible:!0,autoScale:!0},ei(n)),i=new Kse(e,a,this.Ui.W().layout,this.Ui.W().localization);return i.Oo(this.zt()),i}},Qse=class{constructor(e,n,a=50){this.Ke=0,this.Ze=1,this.Ge=1,this.Qe=new Map,this.Je=new Map,this.L_=e,this.N_=n,this.tr=a}F_(e){const n=e.time,a=this.N_.cacheKey(n),i=this.Qe.get(a);if(i!==void 0)return i.W_;if(this.Ke===this.tr){const s=this.Je.get(this.Ge);this.Je.delete(this.Ge),this.Qe.delete(on(s)),this.Ge++,this.Ke--}const o=this.L_(e);return this.Qe.set(a,{W_:o,er:this.Ze}),this.Je.set(this.Ze,a),this.Ke++,this.Ze++,o}},Ks=class{constructor(e,n){eo(e<=n,"right should be >= left"),this.j_=e,this.H_=n}Os(){return this.j_}di(){return this.H_}U_(){return this.H_-this.j_+1}Kr(e){return this.j_<=e&&e<=this.H_}Mh(e){return this.j_===e.Os()&&this.H_===e.di()}};function dx(t,e){return t===null||e===null?t===e:t.Mh(e)}let Yse=class{constructor(){this.q_=new Map,this.Qe=null,this.Y_=!1}X_(e){this.Y_=e,this.Qe=null}K_(e,n){this.Z_(n),this.Qe=null;for(let a=n;a{e<=a[0].index?n.push(i):a.splice($l(a,e,o=>o.indexo-i)){if(!this.q_.get(a))continue;const i=n;n=[];const o=i.length;let s=0;const l=on(this.q_.get(a)),c=l.length;let u=1/0,d=-1/0;for(let p=0;p=e&&m-d>=e)n.push(h),d=m;else if(this.Y_)return i}for(;se.weight?t:e}class Jse{constructor(e,n,a,i){this.e_=0,this.eu=null,this.ru=[],this.fo=null,this.do=null,this.hu=new Yse,this.lu=new Map,this.au=lu.su(),this.ou=!0,this._u=new et,this.uu=new et,this.cu=new et,this.du=null,this.fu=null,this.vu=[],this.cn=n,this.bo=a,this.pu=n.rightOffset,this.mu=n.barSpacing,this.Ui=e,this.N_=i,this.bu(),this.hu.X_(n.uniformDistribution)}W(){return this.cn}wu(e){ha(this.bo,e),this.gu(),this.bu()}Nh(e,n){var a;ha(this.cn,e),this.cn.fixLeftEdge&&this.Mu(),this.cn.fixRightEdge&&this.xu(),e.barSpacing!==void 0&&this.Ui.Gn(e.barSpacing),e.rightOffset!==void 0&&this.Ui.Jn(e.rightOffset),e.minBarSpacing!==void 0&&this.Ui.Gn((a=e.barSpacing)!==null&&a!==void 0?a:this.mu),this.gu(),this.bu(),this.cu.m()}mn(e){var n,a;return(a=(n=this.ru[e])===null||n===void 0?void 0:n.time)!==null&&a!==void 0?a:null}qi(e){var n;return(n=this.ru[e])!==null&&n!==void 0?n:null}ya(e,n){if(this.ru.length<1)return null;if(this.N_.key(e)>this.N_.key(this.ru[this.ru.length-1].time))return n?this.ru.length-1:null;const a=$l(this.ru,this.N_.key(e),(i,o)=>this.N_.key(i.time)0}Xs(){return this.Su(),this.au.iu()}ku(){return this.Su(),this.au.nu()}yu(){const e=this.Xs();if(e===null)return null;const n={from:e.Os(),to:e.di()};return this.Cu(n)}Cu(e){const n=Math.round(e.from),a=Math.round(e.to),i=O(this.Tu()),o=O(this.Pu());return{from:O(this.qi(Math.max(i,n))),to:O(this.qi(Math.min(o,a)))}}Ru(e){return{from:O(this.ya(e.from,!0)),to:O(this.ya(e.to,!0))}}$i(){return this.e_}m_(e){if(!isFinite(e)||e<=0||this.e_===e)return;const n=this.ku(),a=this.e_;if(this.e_=e,this.ou=!0,this.cn.lockVisibleTimeRangeOnResize&&a!==0){const i=this.mu*e/a;this.mu=i}if(this.cn.fixLeftEdge&&n!==null&&n.Os()<=0){const i=a-e;this.pu-=Math.round(i/this.mu)+1,this.ou=!0}this.Du(),this.Ou()}Et(e){if(this.Fi()||!kl(e))return 0;const n=this.Au()+this.pu-e;return this.e_-(n+.5)*this.mu-1}Js(e,n){const a=this.Au(),i=n===void 0?0:n.from,o=n===void 0?e.length:n.to;for(let s=i;sn/2&&!d?v.needAlignCoordinate=!1:v.needAlignCoordinate=p&&g.index<=c||h&&g.index>=u,m++}return this.vu.length=m,this.fu=this.vu,this.vu}Fu(){this.ou=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Wu(e){this.ou=!0,this.eu=e,this.Ou(),this.Mu()}ju(e,n){const a=this.Bu(e),i=this.he(),o=i+n*(i/10);this.Gn(o),this.cn.rightBarStaysOnScroll||this.Jn(this.Eu()+(a-this.Bu(e)))}Uo(e){this.fo&&this.Zo(),this.do===null&&this.du===null&&(this.Fi()||(this.do=e,this.Hu()))}qo(e){if(this.du===null)return;const n=Qm(this.e_-e,0,this.e_),a=Qm(this.e_-O(this.do),0,this.e_);n!==0&&a!==0&&this.Gn(this.du.he*n/a)}Yo(){this.do!==null&&(this.do=null,this.$u())}Xo(e){this.fo===null&&this.du===null&&(this.Fi()||(this.fo=e,this.Hu()))}Ko(e){if(this.fo===null)return;const n=(this.fo-e)/this.he();this.pu=O(this.du).Eu+n,this.ou=!0,this.Ou()}Zo(){this.fo!==null&&(this.fo=null,this.$u())}Uu(){this.qu(this.cn.rightOffset)}qu(e,n=400){if(!isFinite(e))throw new RangeError("offset is required and must be finite number");if(!isFinite(n)||n<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const a=this.pu,i=performance.now();this.Ui.Xn({Yu:o=>(o-i)/n>=1,Xu:o=>{const s=(o-i)/n;return s>=1?e:a+(e-a)*s}})}gt(e,n){this.ou=!0,this.ru=e,this.hu.K_(e,n),this.Ou()}Ku(){return this._u}Zu(){return this.uu}Gu(){return this.cu}Au(){return this.eu||0}Ju(e){const n=e.U_();this.zu(this.e_/n),this.pu=e.di()-this.Au(),this.Ou(),this.ou=!0,this.Ui.Iu(),this.Ui.Fh()}Qu(){const e=this.Tu(),n=this.Pu();e!==null&&n!==null&&this.Ju(new Ks(e,n+this.cn.rightOffset))}tc(e){const n=new Ks(e.from,e.to);this.Ju(n)}Yi(e){return this.bo.timeFormatter!==void 0?this.bo.timeFormatter(e.originalTime):this.N_.formatHorzItem(e.time)}Lu(){const{handleScroll:e,handleScale:n}=this.Ui.W();return!(e.horzTouchDrag||e.mouseWheel||e.pressedMouseMove||e.vertTouchDrag||n.axisDoubleClickReset.time||n.axisPressedMouseMove.time||n.mouseWheel||n.pinch)}Tu(){return this.ru.length===0?null:0}Pu(){return this.ru.length===0?null:this.ru.length-1}ic(e){return(this.e_-1-e)/this.mu}Bu(e){const n=this.ic(e),a=this.Au()+this.pu-n;return Math.round(1e6*a)/1e6}zu(e){const n=this.mu;this.mu=e,this.Du(),n!==this.mu&&(this.ou=!0,this.nc())}Su(){if(!this.ou)return;if(this.ou=!1,this.Fi())return void this.sc(lu.su());const e=this.Au(),n=this.e_/this.mu,a=this.pu+e,i=new Ks(a-n+1,a);this.sc(new lu(i))}Du(){const e=this.ec();if(this.mun&&(this.mu=n,this.ou=!0)}}ec(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&this.ru.length!==0?this.e_/this.ru.length:this.cn.minBarSpacing}Ou(){const e=this.rc();this.pu>e&&(this.pu=e,this.ou=!0);const n=this.hc();n!==null&&this.puthis.lc(a),this.N_),this.lu.set(e.weight,n)),n.F_(e)}lc(e){return this.N_.formatTickmark(e,this.bo)}sc(e){const n=this.au;this.au=e,dx(n.iu(),this.au.iu())||this._u.m(),dx(n.nu(),this.au.nu())||this.uu.m(),this.nc()}nc(){this.fu=null}gu(){this.nc(),this.lu.clear()}bu(){this.N_.updateFormatter(this.bo)}Mu(){if(!this.cn.fixLeftEdge)return;const e=this.Tu();if(e===null)return;const n=this.Xs();if(n===null)return;const a=n.Os()-e;if(a<0){const i=this.pu-a-1;this.Jn(i)}this.Du()}xu(){this.Ou(),this.Du()}}class Xse extends Ug{constructor(e){super(),this.ac=new Map,this.Lt=e}Z(e){}J(e){if(!this.Lt.Tt)return;const{context:n,mediaSize:a}=e;let i=0;for(const s of this.Lt.oc){if(s.Jt.length===0)continue;n.font=s.R;const l=this._c(n,s.Jt);l>a.width?s.ju=a.width/l:s.ju=1,i+=s.uc*s.ju}let o=0;switch(this.Lt.cc){case"top":o=0;break;case"center":o=Math.max((a.height-i)/2,0);break;case"bottom":o=Math.max(a.height-i,0)}n.fillStyle=this.Lt.O;for(const s of this.Lt.oc){n.save();let l=0;switch(this.Lt.dc){case"left":n.textAlign="left",l=s.uc/2;break;case"center":n.textAlign="center",l=a.width/2;break;case"right":n.textAlign="right",l=a.width-1-s.uc/2}n.translate(l,o),n.textBaseline="top",n.font=s.R,n.scale(s.ju,s.ju),n.fillText(s.Jt,0,s.fc),n.restore(),o+=s.uc*s.ju}}_c(e,n){const a=this.vc(e.font);let i=a.get(n);return i===void 0&&(i=e.measureText(n).width,a.set(n,i)),i}vc(e){let n=this.ac.get(e);return n===void 0&&(n=new Map,this.ac.set(e,n)),n}}class ele{constructor(e){this.bt=!0,this.jt={Tt:!1,O:"",oc:[],cc:"center",dc:"center"},this.Ht=new Xse(this.jt),this.$t=e}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht}St(){const e=this.$t.W(),n=this.jt;n.Tt=e.visible,n.Tt&&(n.O=e.color,n.dc=e.horzAlign,n.cc=e.vertAlign,n.oc=[{Jt:e.text,R:Kr(e.fontSize,e.fontFamily,e.fontStyle),uc:1.2*e.fontSize,fc:0,ju:0}])}}let tle=class extends qg{constructor(e,n){super(),this.cn=n,this.wn=new ele(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}On(){this.wn.gt()}};var px,hx,mx,Ym,fx;(function(t){t[t.OnTouchEnd=0]="OnTouchEnd",t[t.OnNextTap=1]="OnNextTap"})(px||(px={}));class nle{constructor(e,n,a){this.mc=[],this.bc=[],this.e_=0,this.wc=null,this.gc=new et,this.Mc=new et,this.xc=null,this.Sc=e,this.cn=n,this.N_=a,this.kc=new Lre(this),this.wl=new Jse(this,n.timeScale,this.cn.localization,a),this.wt=new Hre(this,n.crosshair),this.yc=new Fse(n.crosshair),this.Cc=new tle(this,n.watermark),this.Tc(),this.mc[0].p_(2e3),this.Pc=this.Rc(0),this.Dc=this.Rc(1)}$l(){this.Oc(vt.es())}Fh(){this.Oc(vt.ss())}sa(){this.Oc(new vt(1))}Ul(e){const n=this.Ac(e);this.Oc(n)}Vc(){return this.wc}Bc(e){const n=this.wc;this.wc=e,n!==null&&this.Ul(n.Ic),e!==null&&this.Ul(e.Ic)}W(){return this.cn}Nh(e){ha(this.cn,e),this.mc.forEach(n=>n.c_(e)),e.timeScale!==void 0&&this.wl.Nh(e.timeScale),e.localization!==void 0&&this.wl.wu(e.localization),(e.leftPriceScale||e.rightPriceScale)&&this.gc.m(),this.Pc=this.Rc(0),this.Dc=this.Rc(1),this.$l()}zc(e,n){if(e==="left")return void this.Nh({leftPriceScale:n});if(e==="right")return void this.Nh({rightPriceScale:n});const a=this.Ec(e);a!==null&&(a.At.Nh(n),this.gc.m())}Ec(e){for(const n of this.mc){const a=n.d_(e);if(a!==null)return{Ut:n,At:a}}return null}yt(){return this.wl}Lc(){return this.mc}Nc(){return this.Cc}Fc(){return this.wt}Wc(){return this.Mc}jc(e,n){e.Oo(n),this.Iu()}m_(e){this.e_=e,this.wl.m_(this.e_),this.mc.forEach(n=>n.m_(e)),this.Iu()}Tc(e){const n=new Gse(this.wl,this);e!==void 0?this.mc.splice(e,0,n):this.mc.push(n);const a=e===void 0?this.mc.length-1:e,i=vt.es();return i.Nn(a,{Fn:0,Wn:!0}),this.Oc(i),n}y_(e,n,a){e.y_(n,a)}C_(e,n,a){e.C_(n,a),this.ql(),this.Oc(this.Hc(e,2))}T_(e,n){e.T_(n),this.Oc(this.Hc(e,2))}P_(e,n,a){n.yo()||e.P_(n,a)}R_(e,n,a){n.yo()||(e.R_(n,a),this.ql(),this.Oc(this.Hc(e,2)))}D_(e,n){n.yo()||(e.D_(n),this.Oc(this.Hc(e,2)))}A_(e,n){e.A_(n),this.Oc(this.Hc(e,2))}$c(e){this.wl.Uo(e)}Uc(e,n){const a=this.yt();if(a.Fi()||n===0)return;const i=a.$i();e=Math.max(1,Math.min(e,i)),a.ju(e,n),this.Iu()}qc(e){this.Yc(0),this.Xc(e),this.Kc()}Zc(e){this.wl.qo(e),this.Iu()}Gc(){this.wl.Yo(),this.Fh()}Yc(e){this.wl.Xo(e)}Xc(e){this.wl.Ko(e),this.Iu()}Kc(){this.wl.Zo(),this.Fh()}Mt(){return this.bc}Jc(e,n,a,i,o){this.wt.gn(e,n);let s=NaN,l=this.wl.Vu(e);const c=this.wl.Xs();c!==null&&(l=Math.min(Math.max(c.Os(),l),c.di()));const u=i.vn(),d=u.Pt();d!==null&&(s=u.pn(n,d)),s=this.yc.Ca(s,l,i),this.wt.kn(l,s,i),this.sa(),o||this.Mc.m(this.wt.kt(),{x:e,y:n},a)}Qc(e,n,a){const i=a.vn(),o=i.Pt(),s=i.Ot(e,O(o)),l=this.wl.ya(n,!0),c=this.wl.Et(O(l));this.Jc(c,s,null,a,!0)}td(e){this.Fc().Cn(),this.sa(),e||this.Mc.m(null,null,null)}ql(){const e=this.wt.Ut();if(e!==null){const n=this.wt.xn(),a=this.wt.Sn();this.Jc(n,a,null,e)}this.wt.On()}nd(e,n,a){const i=this.wl.mn(0);n!==void 0&&a!==void 0&&this.wl.gt(n,a);const o=this.wl.mn(0),s=this.wl.Au(),l=this.wl.Xs();if(l!==null&&i!==null&&o!==null){const c=l.Kr(s),u=this.N_.key(i)>this.N_.key(o),d=e!==null&&e>s&&!u,p=this.wl.W().allowShiftVisibleRangeOnWhitespaceReplacement,h=c&&(a!==void 0||p)&&this.wl.W().shiftVisibleRangeOnNewBar;if(d&&!h){const m=e-s;this.wl.Jn(this.wl.Eu()-m)}}this.wl.Wu(e)}Kl(e){e!==null&&e.B_()}cr(e){const n=this.mc.find(a=>a.No().includes(e));return n===void 0?null:n}Iu(){this.Cc.On(),this.mc.forEach(e=>e.B_()),this.ql()}S(){this.mc.forEach(e=>e.S()),this.mc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}sd(){return this.kc}mr(){return this.kc.W()}f_(){return this.gc}ed(e,n,a){const i=this.mc[0],o=this.rd(n,e,i,a);return this.bc.push(o),this.bc.length===1?this.$l():this.Fh(),o}hd(e){const n=this.cr(e),a=this.bc.indexOf(e);eo(a!==-1,"Series not found"),this.bc.splice(a,1),O(n).jo(e),e.S&&e.S()}Hl(e,n){const a=O(this.cr(e));a.jo(e);const i=this.Ec(n);if(i===null){const o=e.Zi();a.Fo(e,n,o)}else{const o=i.Ut===a?e.Zi():void 0;i.Ut.Fo(e,n,o)}}Qu(){const e=vt.ss();e.$n(),this.Oc(e)}ld(e){const n=vt.ss();n.Yn(e),this.Oc(n)}Zn(){const e=vt.ss();e.Zn(),this.Oc(e)}Gn(e){const n=vt.ss();n.Gn(e),this.Oc(n)}Jn(e){const n=vt.ss();n.Jn(e),this.Oc(n)}Xn(e){const n=vt.ss();n.Xn(e),this.Oc(n)}Un(){const e=vt.ss();e.Un(),this.Oc(e)}ad(){return this.cn.rightPriceScale.visible?"right":"left"}od(){return this.Dc}q(){return this.Pc}It(e){const n=this.Dc,a=this.Pc;if(n===a)return n;if(e=Math.max(0,Math.min(100,Math.round(100*e))),this.xc===null||this.xc.Ts!==a||this.xc.Ps!==n)this.xc={Ts:a,Ps:n,_d:new Map};else{const o=this.xc._d.get(e);if(o!==void 0)return o}const i=function(o,s,l){const[c,u,d,p]=Zu(o),[h,m,g,v]=Zu(s),y=[Pn(c+l*(h-c)),Pn(u+l*(m-u)),Pn(d+l*(g-d)),j1(p+l*(v-p))];return`rgba(${y[0]}, ${y[1]}, ${y[2]}, ${y[3]})`}(a,n,e/100);return this.xc._d.set(e,i),i}Hc(e,n){const a=new vt(n);if(e!==null){const i=this.mc.indexOf(e);a.Nn(i,{Fn:n})}return a}Ac(e,n){return n===void 0&&(n=2),this.Hc(this.cr(e),n)}Oc(e){this.Sc&&this.Sc(e),this.mc.forEach(n=>n.z_().Wh().gt())}rd(e,n,a,i){const o=new Qg(this,e,n,a,i),s=e.priceScaleId!==void 0?e.priceScaleId:this.ad();return a.Fo(o,s),tp(s)||o.Nh(e),o}Rc(e){const n=this.cn.layout;return n.background.type==="gradient"?e===0?n.background.topColor:n.background.bottomColor:n.background.color}}function Zm(t){return!Ta(t)&&!Il(t)}function V1(t){return Ta(t)}(function(t){t[t.Disabled=0]="Disabled",t[t.Continuous=1]="Continuous",t[t.OnDataUpdate=2]="OnDataUpdate"})(hx||(hx={})),function(t){t[t.LastBar=0]="LastBar",t[t.LastVisible=1]="LastVisible"}(mx||(mx={})),function(t){t.Solid="solid",t.VerticalGradient="gradient"}(Ym||(Ym={})),function(t){t[t.Year=0]="Year",t[t.Month=1]="Month",t[t.DayOfMonth=2]="DayOfMonth",t[t.Time=3]="Time",t[t.TimeWithSeconds=4]="TimeWithSeconds"}(fx||(fx={}));const gx=t=>t.getUTCFullYear();function ale(t,e,n){return e.replace(/yyyy/g,(a=>ti(gx(a),4))(t)).replace(/yy/g,(a=>ti(gx(a)%100,2))(t)).replace(/MMMM/g,((a,i)=>new Date(a.getUTCFullYear(),a.getUTCMonth(),1).toLocaleString(i,{month:"long"}))(t,n)).replace(/MMM/g,((a,i)=>new Date(a.getUTCFullYear(),a.getUTCMonth(),1).toLocaleString(i,{month:"short"}))(t,n)).replace(/MM/g,(a=>ti((i=>i.getUTCMonth()+1)(a),2))(t)).replace(/dd/g,(a=>ti((i=>i.getUTCDate())(a),2))(t))}let W1=class{constructor(e="yyyy-MM-dd",n="default"){this.ud=e,this.dd=n}F_(e){return ale(e,this.ud,this.dd)}};class ile{constructor(e){this.fd=e||"%h:%m:%s"}F_(e){return this.fd.replace("%h",ti(e.getUTCHours(),2)).replace("%m",ti(e.getUTCMinutes(),2)).replace("%s",ti(e.getUTCSeconds(),2))}}const ole={vd:"yyyy-MM-dd",pd:"%h:%m:%s",md:" ",bd:"default"};class rle{constructor(e={}){const n=Object.assign(Object.assign({},ole),e);this.wd=new W1(n.vd,n.bd),this.gd=new ile(n.pd),this.Md=n.md}F_(e){return`${this.wd.F_(e)}${this.Md}${this.gd.F_(e)}`}}function Dc(t){return 60*t*60*1e3}function vh(t){return 60*t*1e3}const Ac=[{xd:(vx=1,1e3*vx),Sd:10},{xd:vh(1),Sd:20},{xd:vh(5),Sd:21},{xd:vh(30),Sd:22},{xd:Dc(1),Sd:30},{xd:Dc(3),Sd:31},{xd:Dc(6),Sd:32},{xd:Dc(12),Sd:33}];var vx;function bx(t,e){if(t.getUTCFullYear()!==e.getUTCFullYear())return 70;if(t.getUTCMonth()!==e.getUTCMonth())return 60;if(t.getUTCDate()!==e.getUTCDate())return 50;for(let n=Ac.length-1;n>=0;--n)if(Math.floor(e.getTime()/Ac[n].xd)!==Math.floor(t.getTime()/Ac[n].xd))return Ac[n].Sd;return 0}function bh(t){let e=t;if(Il(t)&&(e=Yg(t)),!Zm(e))throw new Error("time must be of type BusinessDay");const n=new Date(Date.UTC(e.year,e.month-1,e.day,0,0,0,0));return{kd:Math.round(n.getTime()/1e3),yd:e}}function kx(t){if(!V1(t))throw new Error("time must be of type isUTCTimestamp");return{kd:t}}function Yg(t){const e=new Date(t);if(isNaN(e.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:e.getUTCDate(),month:e.getUTCMonth()+1,year:e.getUTCFullYear()}}function xx(t){Il(t.time)&&(t.time=Yg(t.time))}class yx{options(){return this.cn}setOptions(e){this.cn=e,this.updateFormatter(e.localization)}preprocessData(e){Array.isArray(e)?function(n){n.forEach(xx)}(e):xx(e)}createConverterToInternalObj(e){return O(function(n){return n.length===0?null:Zm(n[0].time)||Il(n[0].time)?bh:kx}(e))}key(e){return typeof e=="object"&&"kd"in e?e.kd:this.key(this.convertHorzItemToInternal(e))}cacheKey(e){const n=e;return n.yd===void 0?new Date(1e3*n.kd).getTime():new Date(Date.UTC(n.yd.year,n.yd.month-1,n.yd.day)).getTime()}convertHorzItemToInternal(e){return V1(n=e)?kx(n):Zm(n)?bh(n):bh(Yg(n));var n}updateFormatter(e){if(!this.cn)return;const n=e.dateFormat;this.cn.timeScale.timeVisible?this.Cd=new rle({vd:n,pd:this.cn.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",md:" ",bd:e.locale}):this.Cd=new W1(n,e.locale)}formatHorzItem(e){const n=e;return this.Cd.F_(new Date(1e3*n.kd))}formatTickmark(e,n){const a=function(o,s,l){switch(o){case 0:case 10:return s?l?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return s?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(e.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),i=this.cn.timeScale;if(i.tickMarkFormatter!==void 0){const o=i.tickMarkFormatter(e.originalTime,a,n.locale);if(o!==null)return o}return function(o,s,l){const c={};switch(s){case 0:c.year="numeric";break;case 1:c.month="short";break;case 2:c.day="numeric";break;case 3:c.hour12=!1,c.hour="2-digit",c.minute="2-digit";break;case 4:c.hour12=!1,c.hour="2-digit",c.minute="2-digit",c.second="2-digit"}const u=o.yd===void 0?new Date(1e3*o.kd):new Date(Date.UTC(o.yd.year,o.yd.month-1,o.yd.day));return new Date(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()).toLocaleString(l,c)}(e.time,a,n.locale)}maxTickMarkWeight(e){let n=e.reduce(Zse,e[0]).weight;return n>30&&n<50&&(n=30),n}fillWeightsForPoints(e,n){(function(a,i=0){if(a.length===0)return;let o=i===0?null:a[i-1].time.kd,s=o!==null?new Date(1e3*o):null,l=0;for(let c=i;c1){const c=Math.ceil(l/(a.length-1)),u=new Date(1e3*(a[0].time.kd-c));a[0].timeWeight=bx(new Date(1e3*a[0].time.kd),u)}})(e,n)}static Td(e){return ha({localization:{dateFormat:"dd MMM 'yy"}},e??{})}}const Gr=typeof window<"u";function wx(){return!!Gr&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function kh(){return!!Gr&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function Jm(t){return t+t%2}function xh(t,e){return t.Pd-e.Pd}function yh(t,e,n){const a=(t.Pd-e.Pd)/(t.ut-e.ut);return Math.sign(a)*Math.min(Math.abs(a),n)}class sle{constructor(e,n,a,i){this.Rd=null,this.Dd=null,this.Od=null,this.Ad=null,this.Vd=null,this.Bd=0,this.Id=0,this.zd=e,this.Ed=n,this.Ld=a,this.rs=i}Nd(e,n){if(this.Rd!==null){if(this.Rd.ut===n)return void(this.Rd.Pd=e);if(Math.abs(this.Rd.Pd-e)50)return;let a=0;const i=yh(this.Rd,this.Dd,this.Ed),o=xh(this.Rd,this.Dd),s=[i],l=[o];if(a+=o,this.Od!==null){const u=yh(this.Dd,this.Od,this.Ed);if(Math.sign(u)===Math.sign(i)){const d=xh(this.Dd,this.Od);if(s.push(u),l.push(d),a+=d,this.Ad!==null){const p=yh(this.Od,this.Ad,this.Ed);if(Math.sign(p)===Math.sign(i)){const h=xh(this.Od,this.Ad);s.push(p),l.push(h),a+=h}}}}let c=0;for(let u=0;u({width:Math.max(i.width,o.width),height:Math.max(i.height,o.height)})});return a.resizeCanvasElement(e),a}function Xm(t,e,n,a){t.G&&t.G(e,n,a)}function cu(t,e,n,a){t.K(e,n,a)}function ef(t,e,n,a){const i=t(n,a);for(const o of i){const s=o.xt();s!==null&&e(s)}}function lle(t){Gr&&window.chrome!==void 0&&t.addEventListener("mousedown",e=>{if(e.button===1)return e.preventDefault(),!1})}class Zg{constructor(e,n,a){this.Wd=0,this.jd=null,this.Hd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY},this.$d=0,this.Ud=null,this.qd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY},this.Yd=null,this.Xd=!1,this.Kd=null,this.Zd=null,this.Gd=!1,this.Jd=!1,this.Qd=!1,this.tf=null,this.if=null,this.nf=null,this.sf=null,this.ef=null,this.rf=null,this.hf=null,this.lf=0,this.af=!1,this._f=!1,this.uf=!1,this.cf=0,this.df=null,this.ff=!kh(),this.vf=i=>{this.pf(i)},this.mf=i=>{if(this.bf(i)){const o=this.wf(i);if(++this.$d,this.Ud&&this.$d>1){const{gf:s}=this.Mf(ya(i),this.qd);s<30&&!this.Qd&&this.xf(o,this.kf.Sf),this.yf()}}else{const o=this.wf(i);if(++this.Wd,this.jd&&this.Wd>1){const{gf:s}=this.Mf(ya(i),this.Hd);s<5&&!this.Jd&&this.Cf(o,this.kf.Tf),this.Pf()}}},this.Rf=e,this.kf=n,this.cn=a,this.Df()}S(){this.tf!==null&&(this.tf(),this.tf=null),this.if!==null&&(this.if(),this.if=null),this.sf!==null&&(this.sf(),this.sf=null),this.ef!==null&&(this.ef(),this.ef=null),this.rf!==null&&(this.rf(),this.rf=null),this.nf!==null&&(this.nf(),this.nf=null),this.Of(),this.Pf()}Af(e){this.sf&&this.sf();const n=this.Vf.bind(this);if(this.sf=()=>{this.Rf.removeEventListener("mousemove",n)},this.Rf.addEventListener("mousemove",n),this.bf(e))return;const a=this.wf(e);this.Cf(a,this.kf.Bf),this.ff=!0}Pf(){this.jd!==null&&clearTimeout(this.jd),this.Wd=0,this.jd=null,this.Hd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY}}yf(){this.Ud!==null&&clearTimeout(this.Ud),this.$d=0,this.Ud=null,this.qd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY}}Vf(e){if(this.uf||this.Zd!==null||this.bf(e))return;const n=this.wf(e);this.Cf(n,this.kf.If),this.ff=!0}zf(e){const n=wh(e.changedTouches,O(this.df));if(n===null||(this.cf=_c(e),this.hf!==null)||this._f)return;this.af=!0;const a=this.Mf(ya(n),O(this.Zd)),{Ef:i,Lf:o,gf:s}=a;if(this.Gd||!(s<5)){if(!this.Gd){const l=.5*i,c=o>=l&&!this.cn.Nf(),u=l>o&&!this.cn.Ff();c||u||(this._f=!0),this.Gd=!0,this.Qd=!0,this.Of(),this.yf()}if(!this._f){const l=this.wf(e,n);this.xf(l,this.kf.Wf),or(e)}}}jf(e){if(e.button!==0)return;const n=this.Mf(ya(e),O(this.Kd)),{gf:a}=n;if(a>=5&&(this.Jd=!0,this.Pf()),this.Jd){const i=this.wf(e);this.Cf(i,this.kf.Hf)}}Mf(e,n){const a=Math.abs(n.et-e.et),i=Math.abs(n.rt-e.rt);return{Ef:a,Lf:i,gf:a+i}}$f(e){let n=wh(e.changedTouches,O(this.df));if(n===null&&e.touches.length===0&&(n=e.changedTouches[0]),n===null)return;this.df=null,this.cf=_c(e),this.Of(),this.Zd=null,this.rf&&(this.rf(),this.rf=null);const a=this.wf(e,n);if(this.xf(a,this.kf.Uf),++this.$d,this.Ud&&this.$d>1){const{gf:i}=this.Mf(ya(n),this.qd);i<30&&!this.Qd&&this.xf(a,this.kf.Sf),this.yf()}else this.Qd||(this.xf(a,this.kf.qf),this.kf.qf&&or(e));this.$d===0&&or(e),e.touches.length===0&&this.Xd&&(this.Xd=!1,or(e))}pf(e){if(e.button!==0)return;const n=this.wf(e);if(this.Kd=null,this.uf=!1,this.ef&&(this.ef(),this.ef=null),wx()&&this.Rf.ownerDocument.documentElement.removeEventListener("mouseleave",this.vf),!this.bf(e))if(this.Cf(n,this.kf.Yf),++this.Wd,this.jd&&this.Wd>1){const{gf:a}=this.Mf(ya(e),this.Hd);a<5&&!this.Jd&&this.Cf(n,this.kf.Tf),this.Pf()}else this.Jd||this.Cf(n,this.kf.Xf)}Of(){this.Yd!==null&&(clearTimeout(this.Yd),this.Yd=null)}Kf(e){if(this.df!==null)return;const n=e.changedTouches[0];this.df=n.identifier,this.cf=_c(e);const a=this.Rf.ownerDocument.documentElement;this.Qd=!1,this.Gd=!1,this._f=!1,this.Zd=ya(n),this.rf&&(this.rf(),this.rf=null);{const o=this.zf.bind(this),s=this.$f.bind(this);this.rf=()=>{a.removeEventListener("touchmove",o),a.removeEventListener("touchend",s)},a.addEventListener("touchmove",o,{passive:!1}),a.addEventListener("touchend",s,{passive:!1}),this.Of(),this.Yd=setTimeout(this.Zf.bind(this,e),240)}const i=this.wf(e,n);this.xf(i,this.kf.Gf),this.Ud||(this.$d=0,this.Ud=setTimeout(this.yf.bind(this),500),this.qd=ya(n))}Jf(e){if(e.button!==0)return;const n=this.Rf.ownerDocument.documentElement;wx()&&n.addEventListener("mouseleave",this.vf),this.Jd=!1,this.Kd=ya(e),this.ef&&(this.ef(),this.ef=null);{const i=this.jf.bind(this),o=this.pf.bind(this);this.ef=()=>{n.removeEventListener("mousemove",i),n.removeEventListener("mouseup",o)},n.addEventListener("mousemove",i),n.addEventListener("mouseup",o)}if(this.uf=!0,this.bf(e))return;const a=this.wf(e);this.Cf(a,this.kf.Qf),this.jd||(this.Wd=0,this.jd=setTimeout(this.Pf.bind(this),500),this.Hd=ya(e))}Df(){this.Rf.addEventListener("mouseenter",this.Af.bind(this)),this.Rf.addEventListener("touchcancel",this.Of.bind(this));{const e=this.Rf.ownerDocument,n=a=>{this.kf.tv&&(a.composed&&this.Rf.contains(a.composedPath()[0])||a.target&&this.Rf.contains(a.target)||this.kf.tv())};this.if=()=>{e.removeEventListener("touchstart",n)},this.tf=()=>{e.removeEventListener("mousedown",n)},e.addEventListener("mousedown",n),e.addEventListener("touchstart",n,{passive:!0})}kh()&&(this.nf=()=>{this.Rf.removeEventListener("dblclick",this.mf)},this.Rf.addEventListener("dblclick",this.mf)),this.Rf.addEventListener("mouseleave",this.iv.bind(this)),this.Rf.addEventListener("touchstart",this.Kf.bind(this),{passive:!0}),lle(this.Rf),this.Rf.addEventListener("mousedown",this.Jf.bind(this)),this.nv(),this.Rf.addEventListener("touchmove",()=>{},{passive:!1})}nv(){this.kf.sv===void 0&&this.kf.ev===void 0&&this.kf.rv===void 0||(this.Rf.addEventListener("touchstart",e=>this.hv(e.touches),{passive:!0}),this.Rf.addEventListener("touchmove",e=>{if(e.touches.length===2&&this.hf!==null&&this.kf.ev!==void 0){const n=jx(e.touches[0],e.touches[1])/this.lf;this.kf.ev(this.hf,n),or(e)}},{passive:!1}),this.Rf.addEventListener("touchend",e=>{this.hv(e.touches)}))}hv(e){e.length===1&&(this.af=!1),e.length!==2||this.af||this.Xd?this.lv():this.av(e)}av(e){const n=this.Rf.getBoundingClientRect()||{left:0,top:0};this.hf={et:(e[0].clientX-n.left+(e[1].clientX-n.left))/2,rt:(e[0].clientY-n.top+(e[1].clientY-n.top))/2},this.lf=jx(e[0],e[1]),this.kf.sv!==void 0&&this.kf.sv(),this.Of()}lv(){this.hf!==null&&(this.hf=null,this.kf.rv!==void 0&&this.kf.rv())}iv(e){if(this.sf&&this.sf(),this.bf(e)||!this.ff)return;const n=this.wf(e);this.Cf(n,this.kf.ov),this.ff=!kh()}Zf(e){const n=wh(e.touches,O(this.df));if(n===null)return;const a=this.wf(e,n);this.xf(a,this.kf._v),this.Qd=!0,this.Xd=!0}bf(e){return e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents!==void 0?e.sourceCapabilities.firesTouchEvents:_c(e){e.type!=="touchstart"&&or(e)}}}}function jx(t,e){const n=t.clientX-e.clientX,a=t.clientY-e.clientY;return Math.sqrt(n*n+a*a)}function or(t){t.cancelable&&t.preventDefault()}function ya(t){return{et:t.pageX,rt:t.pageY}}function _c(t){return t.timeStamp||performance.now()}function wh(t,e){for(let n=0;n{var a,i,o,s;return((i=(a=n.At())===null||a===void 0?void 0:a.xa())!==null&&i!==void 0?i:"")!==e?[]:(s=(o=n.la)===null||o===void 0?void 0:o.call(n,t))!==null&&s!==void 0?s:[]}}class Bx{constructor(e,n,a,i){this.Li=null,this.wv=null,this.gv=!1,this.Mv=new yl(200),this.Gr=null,this.xv=0,this.Sv=!1,this.kv=()=>{this.Sv||this.nn.yv().qt().Fh()},this.Cv=()=>{this.Sv||this.nn.yv().qt().Fh()},this.nn=e,this.cn=n,this.mo=n.layout,this.kc=a,this.Tv=i==="left",this.Pv=jh("normal",i),this.Rv=jh("top",i),this.Dv=jh("bottom",i),this.Ov=document.createElement("div"),this.Ov.style.height="100%",this.Ov.style.overflow="hidden",this.Ov.style.width="25px",this.Ov.style.left="0",this.Ov.style.position="relative",this.Av=qo(this.Ov,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const o=this.Av.canvasElement;o.style.position="absolute",o.style.zIndex="1",o.style.left="0",o.style.top="0",this.Vv=qo(this.Ov,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const s=this.Vv.canvasElement;s.style.position="absolute",s.style.zIndex="2",s.style.left="0",s.style.top="0";const l={Qf:this.Bv.bind(this),Gf:this.Bv.bind(this),Hf:this.Iv.bind(this),Wf:this.Iv.bind(this),tv:this.zv.bind(this),Yf:this.Ev.bind(this),Uf:this.Ev.bind(this),Tf:this.Lv.bind(this),Sf:this.Lv.bind(this),Bf:this.Nv.bind(this),ov:this.Fv.bind(this)};this.Wv=new Zg(this.Vv.canvasElement,l,{Nf:()=>!this.cn.handleScroll.vertTouchDrag,Ff:()=>!0})}S(){this.Wv.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose(),this.Li!==null&&this.Li.$o().p(this),this.Li=null}jv(){return this.Ov}P(){return this.mo.fontSize}Hv(){const e=this.kc.W();return this.Gr!==e.R&&(this.Mv.ir(),this.Gr=e.R),e}$v(){if(this.Li===null)return 0;let e=0;const n=this.Hv(),a=O(this.Av.canvasElement.getContext("2d"));a.save();const i=this.Li.Ea();a.font=this.Uv(),i.length>0&&(e=Math.max(this.Mv.Si(a,i[0].Za),this.Mv.Si(a,i[i.length-1].Za)));const o=this.qv();for(let c=o.length;c--;){const u=this.Mv.Si(a,o[c].Jt());u>e&&(e=u)}const s=this.Li.Pt();if(s!==null&&this.wv!==null){const c=this.Li.pn(1,s),u=this.Li.pn(this.wv.height-2,s);e=Math.max(e,this.Mv.Si(a,this.Li.Wi(Math.floor(Math.min(c,u))+.11111111111111,s)),this.Mv.Si(a,this.Li.Wi(Math.ceil(Math.max(c,u))-.11111111111111,s)))}a.restore();const l=e||34;return Jm(Math.ceil(n.C+n.T+n.B+n.I+5+l))}Yv(e){this.wv!==null&&To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`)}Xv(){return O(this.wv).width}Ji(e){this.Li!==e&&(this.Li!==null&&this.Li.$o().p(this),this.Li=e,e.$o().l(this.ao.bind(this),this))}At(){return this.Li}ir(){const e=this.nn.Kv();this.nn.yv().qt().A_(e,O(this.At()))}Zv(e){if(this.wv===null)return;if(e!==1){this.Gv(),this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i),this.Be(i)}),this.nn.Qv(a,this.Dv),this.tp(a),this.nn.Qv(a,this.Pv),this.ip(a))}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.np(n),this.nn.Qv(n,this.Rv))}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}gt(){var e;(e=this.Li)===null||e===void 0||e.Ea()}Bv(e){if(this.Li===null||this.Li.Fi()||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv();this.gv=!0,n.y_(a,this.Li,e.localY)}Iv(e){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv(),i=this.Li;n.C_(a,i,e.localY)}zv(){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const e=this.nn.yv().qt(),n=this.nn.Kv(),a=this.Li;this.gv&&(this.gv=!1,e.T_(n,a))}Ev(e){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv();this.gv=!1,n.T_(a,this.Li)}Lv(e){this.cn.handleScale.axisDoubleClickReset.price&&this.ir()}Nv(e){this.Li!==null&&(!this.nn.yv().qt().W().handleScale.axisPressedMouseMove.price||this.Li.ph()||this.Li.Co()||this.rp(1))}Fv(e){this.rp(0)}qv(){const e=[],n=this.Li===null?void 0:this.Li;return(a=>{for(let i=0;i{s.fillStyle=a.borderColor;const u=Math.max(1,Math.floor(c)),d=Math.floor(.5*c),p=Math.round(i.T*l);s.beginPath();for(const h of n)s.rect(Math.floor(o*l),Math.round(h.Aa*c)-d,p,u);s.fill()}),e.useMediaCoordinateSpace(({context:s})=>{var l;s.font=this.Uv(),s.fillStyle=(l=a.textColor)!==null&&l!==void 0?l:this.mo.textColor,s.textAlign=this.Tv?"right":"left",s.textBaseline="middle";const c=this.Tv?Math.round(o-i.B):Math.round(o+i.T+i.B),u=n.map(d=>this.Mv.xi(s,d.Za));for(let d=n.length;d--;){const p=n[d];s.fillText(p.Za,c,p.Aa+u[d])}})}Gv(){if(this.wv===null||this.Li===null)return;let e=this.wv.height/2;const n=[],a=this.Li.No().slice(),i=this.nn.Kv(),o=this.Hv();this.Li===i.vr()&&this.nn.Kv().No().forEach(c=>{i.dr(c)&&a.push(c)});const s=this.Li.Ta()[0],l=this.Li;a.forEach(c=>{const u=c.Rn(i,l);u.forEach(d=>{d.Vi(null),d.Bi()&&n.push(d)}),s===c&&u.length>0&&(e=u[0].yi())}),n.forEach(c=>c.Vi(c.yi())),this.Li.W().alignLabels&&this.hp(n,o,e)}hp(e,n,a){if(this.wv===null)return;const i=e.filter(s=>s.yi()<=a),o=e.filter(s=>s.yi()>a);i.sort((s,l)=>l.yi()-s.yi()),i.length&&o.length&&o.push(i[0]),o.sort((s,l)=>s.yi()-l.yi());for(const s of e){const l=Math.floor(s.zt(n)/2),c=s.yi();c>-l&&cthis.wv.height-l&&cp-u&&l.Vi(p-u)}for(let s=1;s{o.Ii()&&o.xt(O(this.Li)).K(e,a,this.Mv,i)})}np(e){if(this.wv===null||this.Li===null)return;const n=this.nn.yv().qt(),a=[],i=this.nn.Kv(),o=n.Fc().Rn(i,this.Li);o.length&&a.push(o);const s=this.Hv(),l=this.Tv?"right":"left";a.forEach(c=>{c.forEach(u=>{u.xt(O(this.Li)).K(e,s,this.Mv,l)})})}rp(e){this.Ov.style.cursor=e===1?"ns-resize":"default"}ao(){const e=this.$v();this.xv{this.Sv||this.wp===null||this.Ui().Fh()},this.Cv=()=>{this.Sv||this.wp===null||this.Ui().Fh()},this.gp=e,this.wp=n,this.wp.I_().l(this.Mp.bind(this),this,!0),this.xp=document.createElement("td"),this.xp.style.padding="0",this.xp.style.position="relative";const a=document.createElement("div");a.style.width="100%",a.style.height="100%",a.style.position="relative",a.style.overflow="hidden",this.Sp=document.createElement("td"),this.Sp.style.padding="0",this.kp=document.createElement("td"),this.kp.style.padding="0",this.xp.appendChild(a),this.Av=qo(a,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const i=this.Av.canvasElement;i.style.position="absolute",i.style.zIndex="1",i.style.left="0",i.style.top="0",this.Vv=qo(a,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const o=this.Vv.canvasElement;o.style.position="absolute",o.style.zIndex="2",o.style.left="0",o.style.top="0",this.yp=document.createElement("tr"),this.yp.appendChild(this.Sp),this.yp.appendChild(this.xp),this.yp.appendChild(this.kp),this.Cp(),this.Wv=new Zg(this.Vv.canvasElement,this,{Nf:()=>this.vp===null&&!this.gp.W().handleScroll.vertTouchDrag,Ff:()=>this.vp===null&&!this.gp.W().handleScroll.horzTouchDrag})}S(){this.lp!==null&&this.lp.S(),this.ap!==null&&this.ap.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose(),this.wp!==null&&this.wp.I_().p(this),this.Wv.S()}Kv(){return O(this.wp)}Tp(e){this.wp!==null&&this.wp.I_().p(this),this.wp=e,this.wp!==null&&this.wp.I_().l(Jg.prototype.Mp.bind(this),this,!0),this.Cp()}yv(){return this.gp}jv(){return this.yp}Cp(){if(this.wp!==null&&(this.Pp(),this.Ui().Mt().length!==0)){if(this.lp!==null){const e=this.wp.S_();this.lp.Ji(O(e))}if(this.ap!==null){const e=this.wp.k_();this.ap.Ji(O(e))}}}Rp(){this.lp!==null&&this.lp.gt(),this.ap!==null&&this.ap.gt()}v_(){return this.wp!==null?this.wp.v_():0}p_(e){this.wp&&this.wp.p_(e)}Bf(e){if(!this.wp)return;this.Dp();const n=e.localX,a=e.localY;this.Op(n,a,e)}Qf(e){this.Dp(),this.Ap(),this.Op(e.localX,e.localY,e)}If(e){var n;if(!this.wp)return;this.Dp();const a=e.localX,i=e.localY;this.Op(a,i,e);const o=this.br(a,i);this.gp.Vp((n=o==null?void 0:o.bv)!==null&&n!==void 0?n:null),this.Ui().Bc(o&&{Ic:o.Ic,pv:o.pv})}Xf(e){this.wp!==null&&(this.Dp(),this.Bp(e))}Tf(e){this.wp!==null&&this.Ip(this.cp,e)}Sf(e){this.Tf(e)}Hf(e){this.Dp(),this.zp(e),this.Op(e.localX,e.localY,e)}Yf(e){this.wp!==null&&(this.Dp(),this.fp=!1,this.Ep(e))}qf(e){this.wp!==null&&this.Bp(e)}_v(e){if(this.fp=!0,this.vp===null){const n={x:e.localX,y:e.localY};this.Lp(n,n,e)}}ov(e){this.wp!==null&&(this.Dp(),this.wp.qt().Bc(null),this.Np())}Fp(){return this.up}Wp(){return this.cp}sv(){this.dp=1,this.Ui().Un()}ev(e,n){if(!this.gp.W().handleScale.pinch)return;const a=5*(n-this.dp);this.dp=n,this.Ui().Uc(e.et,a)}Gf(e){this.fp=!1,this.pp=this.vp!==null,this.Ap();const n=this.Ui().Fc();this.vp!==null&&n.Tt()&&(this.mp={x:n.Kt(),y:n.Zt()},this.vp={x:e.localX,y:e.localY})}Wf(e){if(this.wp===null)return;const n=e.localX,a=e.localY;if(this.vp===null)this.zp(e);else{this.pp=!1;const i=O(this.mp),o=i.x+(n-this.vp.x),s=i.y+(a-this.vp.y);this.Op(o,s,e)}}Uf(e){this.yv().W().trackingMode.exitMode===0&&(this.pp=!0),this.jp(),this.Ep(e)}br(e,n){const a=this.wp;return a===null?null:function(i,o,s){const l=i.No(),c=function(u,d,p){var h,m;let g,v;for(const k of u){const w=(m=(h=k.oa)===null||h===void 0?void 0:h.call(k,d,p))!==null&&m!==void 0?m:[];for(const j of w)y=j.zOrder,(!(b=g==null?void 0:g.zOrder)||y==="top"&&b!=="top"||y==="normal"&&b==="bottom")&&(g=j,v=k)}var y,b;return g&&v?{mv:g,Ic:v}:null}(l,o,s);if((c==null?void 0:c.mv.zOrder)==="top")return Tc(c);for(const u of l){if(c&&c.Ic===u&&c.mv.zOrder!=="bottom"&&!c.mv.isBackground)return Tc(c);const d=cle(u.Pn(i),o,s);if(d!==null)return{Ic:u,fv:d.fv,pv:d.pv};if(c&&c.Ic===u&&c.mv.zOrder!=="bottom"&&c.mv.isBackground)return Tc(c)}return c!=null&&c.mv?Tc(c):null}(a,e,n)}Hp(e,n){O(n==="left"?this.lp:this.ap).Yv(Ne({width:e,height:this.wv.height}))}$p(){return this.wv}Yv(e){To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.xp.style.width=e.width+"px",this.xp.style.height=e.height+"px")}Up(){const e=O(this.wp);e.x_(e.S_()),e.x_(e.k_());for(const n of e.Ta())if(e.dr(n)){const a=n.At();a!==null&&e.x_(a),n.On()}}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Zv(e){if(e===0||this.wp===null)return;if(e>1&&this.Up(),this.lp!==null&&this.lp.Zv(e),this.ap!==null&&this.ap.Zv(e),e!==1){this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i)}),this.wp&&(this.qp(a,ule),this.Yp(a),this.Xp(a),this.qp(a,Ec),this.qp(a,dle)))}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.Kp(n),this.qp(n,ple))}Zp(){return this.lp}Gp(){return this.ap}Qv(e,n){this.qp(e,n)}Mp(){this.wp!==null&&this.wp.I_().p(this),this.wp=null}Bp(e){this.Ip(this.up,e)}Ip(e,n){const a=n.localX,i=n.localY;e.M()&&e.m(this.Ui().yt().Vu(a),{x:a,y:i},n)}Jv({context:e,bitmapSize:n}){const{width:a,height:i}=n,o=this.Ui(),s=o.q(),l=o.od();s===l?Xd(e,0,0,a,i,l):B1(e,0,0,a,i,s,l)}Yp(e){const n=O(this.wp).z_().Wh().xt();n!==null&&n.K(e,!1)}Xp(e){const n=this.Ui().Nc();this.Jp(e,Ec,Xm,n),this.Jp(e,Ec,cu,n)}Kp(e){this.Jp(e,Ec,cu,this.Ui().Fc())}qp(e,n){const a=O(this.wp).No();for(const i of a)this.Jp(e,n,Xm,i);for(const i of a)this.Jp(e,n,cu,i)}Jp(e,n,a,i){const o=O(this.wp),s=o.qt().Vc(),l=s!==null&&s.Ic===i,c=s!==null&&l&&s.pv!==void 0?s.pv.gr:void 0;ef(n,u=>a(u,e,l,c),i,o)}Pp(){if(this.wp===null)return;const e=this.gp,n=this.wp.S_().W().visible,a=this.wp.k_().W().visible;n||this.lp===null||(this.Sp.removeChild(this.lp.jv()),this.lp.S(),this.lp=null),a||this.ap===null||(this.kp.removeChild(this.ap.jv()),this.ap.S(),this.ap=null);const i=e.qt().sd();n&&this.lp===null&&(this.lp=new Bx(this,e.W(),i,"left"),this.Sp.appendChild(this.lp.jv())),a&&this.ap===null&&(this.ap=new Bx(this,e.W(),i,"right"),this.kp.appendChild(this.ap.jv()))}Qp(e){return e.uv&&this.fp||this.vp!==null}tm(e){return Math.max(0,Math.min(e,this.wv.width-1))}im(e){return Math.max(0,Math.min(e,this.wv.height-1))}Op(e,n,a){this.Ui().Jc(this.tm(e),this.im(n),a,O(this.wp))}Np(){this.Ui().td()}jp(){this.pp&&(this.vp=null,this.Np())}Lp(e,n,a){this.vp=e,this.pp=!1,this.Op(n.x,n.y,a);const i=this.Ui().Fc();this.mp={x:i.Kt(),y:i.Zt()}}Ui(){return this.gp.qt()}Ep(e){if(!this._p)return;const n=this.Ui(),a=this.Kv();if(n.D_(a,a.vn()),this.op=null,this._p=!1,n.Kc(),this.bp!==null){const i=performance.now(),o=n.yt();this.bp.Dr(o.Eu(),i),this.bp.Yu(i)||n.Xn(this.bp)}}Dp(){this.vp=null}Ap(){if(this.wp){if(this.Ui().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)O(document.activeElement).blur();else{const e=document.getSelection();e!==null&&e.removeAllRanges()}!this.wp.vn().Fi()&&this.Ui().yt().Fi()}}zp(e){if(this.wp===null)return;const n=this.Ui(),a=n.yt();if(a.Fi())return;const i=this.gp.W(),o=i.handleScroll,s=i.kineticScroll;if((!o.pressedMouseMove||e.uv)&&(!o.horzTouchDrag&&!o.vertTouchDrag||!e.uv))return;const l=this.wp.vn(),c=performance.now();if(this.op!==null||this.Qp(e)||(this.op={x:e.clientX,y:e.clientY,kd:c,nm:e.localX,sm:e.localY}),this.op!==null&&!this._p&&(this.op.x!==e.clientX||this.op.y!==e.clientY)){if(e.uv&&s.touch||!e.uv&&s.mouse){const u=a.he();this.bp=new sle(.2/u,7/u,.997,15/u),this.bp.Nd(a.Eu(),this.op.kd)}else this.bp=null;l.Fi()||n.P_(this.wp,l,e.localY),n.Yc(e.localX),this._p=!0}this._p&&(l.Fi()||n.R_(this.wp,l,e.localY),n.Xc(e.localX),this.bp!==null&&this.bp.Nd(a.Eu(),c))}}class Sx{constructor(e,n,a,i,o){this.bt=!0,this.wv=Ne({width:0,height:0}),this.kv=()=>this.Zv(3),this.Tv=e==="left",this.kc=a.sd,this.cn=n,this.rm=i,this.hm=o,this.Ov=document.createElement("div"),this.Ov.style.width="25px",this.Ov.style.height="100%",this.Ov.style.overflow="hidden",this.Av=qo(this.Ov,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv)}S(){this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose()}jv(){return this.Ov}$p(){return this.wv}Yv(e){To(this.wv,e)||(this.wv=e,this.Av.resizeCanvasElement(e),this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`,this.bt=!0)}Zv(e){if(e<3&&!this.bt||this.wv.width===0||this.wv.height===0)return;this.bt=!1,this.Av.applySuggestedBitmapSize();const n=Wo(this.Av);n!==null&&n.useBitmapCoordinateSpace(a=>{this.Jv(a),this.Be(a)})}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Be({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(!this.rm())return;e.fillStyle=this.cn.timeScale.borderColor;const o=Math.floor(this.kc.W().C*a),s=Math.floor(this.kc.W().C*i),l=this.Tv?n.width-o:0;e.fillRect(l,0,o,s)}Jv({context:e,bitmapSize:n}){Xd(e,0,0,n.width,n.height,this.hm())}}function Xg(t){return e=>{var n,a;return(a=(n=e.aa)===null||n===void 0?void 0:n.call(e,t))!==null&&a!==void 0?a:[]}}const hle=Xg("normal"),mle=Xg("top"),fle=Xg("bottom");class gle{constructor(e,n){this.lm=null,this.am=null,this.k=null,this.om=!1,this.wv=Ne({width:0,height:0}),this._m=new et,this.Mv=new yl(5),this.Sv=!1,this.kv=()=>{this.Sv||this.gp.qt().Fh()},this.Cv=()=>{this.Sv||this.gp.qt().Fh()},this.gp=e,this.N_=n,this.cn=e.W().layout,this.um=document.createElement("tr"),this.dm=document.createElement("td"),this.dm.style.padding="0",this.fm=document.createElement("td"),this.fm.style.padding="0",this.Ov=document.createElement("td"),this.Ov.style.height="25px",this.Ov.style.padding="0",this.vm=document.createElement("div"),this.vm.style.width="100%",this.vm.style.height="100%",this.vm.style.position="relative",this.vm.style.overflow="hidden",this.Ov.appendChild(this.vm),this.Av=qo(this.vm,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const a=this.Av.canvasElement;a.style.position="absolute",a.style.zIndex="1",a.style.left="0",a.style.top="0",this.Vv=qo(this.vm,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const i=this.Vv.canvasElement;i.style.position="absolute",i.style.zIndex="2",i.style.left="0",i.style.top="0",this.um.appendChild(this.dm),this.um.appendChild(this.Ov),this.um.appendChild(this.fm),this.pm(),this.gp.qt().f_().l(this.pm.bind(this),this),this.Wv=new Zg(this.Vv.canvasElement,this,{Nf:()=>!0,Ff:()=>!this.gp.W().handleScroll.horzTouchDrag})}S(){this.Wv.S(),this.lm!==null&&this.lm.S(),this.am!==null&&this.am.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose()}jv(){return this.um}bm(){return this.lm}wm(){return this.am}Qf(e){if(this.om)return;this.om=!0;const n=this.gp.qt();!n.yt().Fi()&&this.gp.W().handleScale.axisPressedMouseMove.time&&n.$c(e.localX)}Gf(e){this.Qf(e)}tv(){const e=this.gp.qt();!e.yt().Fi()&&this.om&&(this.om=!1,this.gp.W().handleScale.axisPressedMouseMove.time&&e.Gc())}Hf(e){const n=this.gp.qt();!n.yt().Fi()&&this.gp.W().handleScale.axisPressedMouseMove.time&&n.Zc(e.localX)}Wf(e){this.Hf(e)}Yf(){this.om=!1;const e=this.gp.qt();e.yt().Fi()&&!this.gp.W().handleScale.axisPressedMouseMove.time||e.Gc()}Uf(){this.Yf()}Tf(){this.gp.W().handleScale.axisDoubleClickReset.time&&this.gp.qt().Zn()}Sf(){this.Tf()}Bf(){this.gp.qt().W().handleScale.axisPressedMouseMove.time&&this.rp(1)}ov(){this.rp(0)}$p(){return this.wv}gm(){return this._m}Mm(e,n,a){To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`,this._m.m(e)),this.lm!==null&&this.lm.Yv(Ne({width:n,height:e.height})),this.am!==null&&this.am.Yv(Ne({width:a,height:e.height}))}xm(){const e=this.Sm();return Math.ceil(e.C+e.T+e.P+e.L+e.V+e.km)}gt(){this.gp.qt().yt().Ea()}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Zv(e){if(e===0)return;if(e!==1){this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i),this.Be(i),this.ym(a,fle)}),this.tp(a),this.ym(a,hle)),this.lm!==null&&this.lm.Zv(e),this.am!==null&&this.am.Zv(e)}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.Cm([...this.gp.qt().Mt(),this.gp.qt().Fc()],n),this.ym(n,mle))}ym(e,n){const a=this.gp.qt().Mt();for(const i of a)ef(n,o=>Xm(o,e,!1,void 0),i,void 0);for(const i of a)ef(n,o=>cu(o,e,!1,void 0),i,void 0)}Jv({context:e,bitmapSize:n}){Xd(e,0,0,n.width,n.height,this.gp.qt().od())}Be({context:e,bitmapSize:n,verticalPixelRatio:a}){if(this.gp.W().timeScale.borderVisible){e.fillStyle=this.Tm();const i=Math.max(1,Math.floor(this.Sm().C*a));e.fillRect(0,0,n.width,i)}}tp(e){const n=this.gp.qt().yt(),a=n.Ea();if(!a||a.length===0)return;const i=this.N_.maxTickMarkWeight(a),o=this.Sm(),s=n.W();s.borderVisible&&s.ticksVisible&&e.useBitmapCoordinateSpace(({context:l,horizontalPixelRatio:c,verticalPixelRatio:u})=>{l.strokeStyle=this.Tm(),l.fillStyle=this.Tm();const d=Math.max(1,Math.floor(c)),p=Math.floor(.5*c);l.beginPath();const h=Math.round(o.T*u);for(let m=a.length;m--;){const g=Math.round(a[m].coord*c);l.rect(g-p,0,d,h)}l.fill()}),e.useMediaCoordinateSpace(({context:l})=>{const c=o.C+o.T+o.L+o.P/2;l.textAlign="center",l.textBaseline="middle",l.fillStyle=this.$(),l.font=this.Uv();for(const u of a)if(u.weight=i){const d=u.needAlignCoordinate?this.Pm(l,u.coord,u.label):u.coord;l.fillText(u.label,d,c)}})}Pm(e,n,a){const i=this.Mv.Si(e,a),o=i/2,s=Math.floor(n-o)+.5;return s<0?n+=Math.abs(0-s):s+i>this.wv.width&&(n-=Math.abs(this.wv.width-(s+i))),n}Cm(e,n){const a=this.Sm();for(const i of e)for(const o of i.tn())o.xt().K(n,a)}Tm(){return this.gp.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}Uv(){return Kr(this.j(),this.cn.fontFamily)}Rm(){return Kr(this.j(),this.cn.fontFamily,"bold")}Sm(){this.k===null&&(this.k={C:1,N:NaN,L:NaN,V:NaN,Hi:NaN,T:5,P:NaN,R:"",ji:new yl,km:0});const e=this.k,n=this.Uv();if(e.R!==n){const a=this.j();e.P=a,e.R=n,e.L=3*a/12,e.V=3*a/12,e.Hi=9*a/12,e.N=0,e.km=4*a/12,e.ji.ir()}return this.k}rp(e){this.Ov.style.cursor=e===1?"ew-resize":"default"}pm(){const e=this.gp.qt(),n=e.W();n.leftPriceScale.visible||this.lm===null||(this.dm.removeChild(this.lm.jv()),this.lm.S(),this.lm=null),n.rightPriceScale.visible||this.am===null||(this.fm.removeChild(this.am.jv()),this.am.S(),this.am=null);const a={sd:this.gp.qt().sd()},i=()=>n.leftPriceScale.borderVisible&&e.yt().W().borderVisible,o=()=>e.od();n.leftPriceScale.visible&&this.lm===null&&(this.lm=new Sx("left",n,a,i,o),this.dm.appendChild(this.lm.jv())),n.rightPriceScale.visible&&this.am===null&&(this.am=new Sx("right",n,a,i,o),this.fm.appendChild(this.am.jv()))}}const vle=!!Gr&&!!navigator.userAgentData&&navigator.userAgentData.brands.some(t=>t.brand.includes("Chromium"))&&!!Gr&&(!((Bh=navigator==null?void 0:navigator.userAgentData)===null||Bh===void 0)&&Bh.platform?navigator.userAgentData.platform==="Windows":navigator.userAgent.toLowerCase().indexOf("win")>=0);var Bh;class ble{constructor(e,n,a){var i;this.Dm=[],this.Om=0,this.Qa=0,this.e_=0,this.Am=0,this.Vm=0,this.Bm=null,this.Im=!1,this.up=new et,this.cp=new et,this.Mc=new et,this.zm=null,this.Em=null,this.Lm=e,this.cn=n,this.N_=a,this.um=document.createElement("div"),this.um.classList.add("tv-lightweight-charts"),this.um.style.overflow="hidden",this.um.style.direction="ltr",this.um.style.width="100%",this.um.style.height="100%",(i=this.um).style.userSelect="none",i.style.webkitUserSelect="none",i.style.msUserSelect="none",i.style.MozUserSelect="none",i.style.webkitTapHighlightColor="transparent",this.Nm=document.createElement("table"),this.Nm.setAttribute("cellspacing","0"),this.um.appendChild(this.Nm),this.Fm=this.Wm.bind(this),Sh(this.cn)&&this.jm(!0),this.Ui=new nle(this.Sc.bind(this),this.cn,a),this.qt().Wc().l(this.Hm.bind(this),this),this.$m=new gle(this,this.N_),this.Nm.appendChild(this.$m.jv());const o=n.autoSize&&this.Um();let s=this.cn.width,l=this.cn.height;if(o||s===0||l===0){const c=e.getBoundingClientRect();s=s||c.width,l=l||c.height}this.qm(s,l),this.Ym(),e.appendChild(this.um),this.Xm(),this.Ui.yt().Gu().l(this.Ui.$l.bind(this.Ui),this),this.Ui.f_().l(this.Ui.$l.bind(this.Ui),this)}qt(){return this.Ui}W(){return this.cn}Km(){return this.Dm}Zm(){return this.$m}S(){this.jm(!1),this.Om!==0&&window.cancelAnimationFrame(this.Om),this.Ui.Wc().p(this),this.Ui.yt().Gu().p(this),this.Ui.f_().p(this),this.Ui.S();for(const e of this.Dm)this.Nm.removeChild(e.jv()),e.Fp().p(this),e.Wp().p(this),e.S();this.Dm=[],O(this.$m).S(),this.um.parentElement!==null&&this.um.parentElement.removeChild(this.um),this.Mc.S(),this.up.S(),this.cp.S(),this.Gm()}qm(e,n,a=!1){if(this.Qa===n&&this.e_===e)return;const i=function(l){const c=Math.floor(l.width),u=Math.floor(l.height);return Ne({width:c-c%2,height:u-u%2})}(Ne({width:e,height:n}));this.Qa=i.height,this.e_=i.width;const o=this.Qa+"px",s=this.e_+"px";O(this.um).style.height=o,O(this.um).style.width=s,this.Nm.style.height=o,this.Nm.style.width=s,a?this.Jm(vt.es(),performance.now()):this.Ui.$l()}Zv(e){e===void 0&&(e=vt.es());for(let n=0;n{let u=0;for(let d=0;d{O(l==="left"?this.$m.bm():this.$m.wm()).ep(O(e),c,u)};if(this.cn.timeScale.visible){const l=this.$m.sp();if(e!==null){let c=0;this.sb()&&(s("left",c,a),c=O(i.Zp()).sp().width),this.$m.ep(e,c,a),c+=l.width,this.eb()&&s("right",c,a)}a+=l.height}return Ne({width:n,height:a})}ob(){let e=0,n=0,a=0;for(const g of this.Dm)this.sb()&&(n=Math.max(n,O(g.Zp()).$v(),this.cn.leftPriceScale.minimumWidth)),this.eb()&&(a=Math.max(a,O(g.Gp()).$v(),this.cn.rightPriceScale.minimumWidth)),e+=g.v_();n=Jm(n),a=Jm(a);const i=this.e_,o=this.Qa,s=Math.max(i-n-a,0),l=this.cn.timeScale.visible;let c=l?Math.max(this.$m.xm(),this.cn.timeScale.minimumHeight):0;var u;c=(u=c)+u%2;const d=0+c,p=o{o.Rp()}),((a=this.Bm)===null||a===void 0?void 0:a.jn())===3&&(this.Bm.ts(e),this.ub(),this.cb(this.Bm),this.fb(this.Bm,n),e=this.Bm,this.Bm=null)),this.Zv(e)}fb(e,n){for(const a of e.Qn())this.ns(a,n)}cb(e){const n=this.Ui.Lc();for(let a=0;a{if(this.Im=!1,this.Om=0,this.Bm!==null){const a=this.Bm;this.Bm=null,this.Jm(a,n);for(const i of a.Qn())if(i.qn===5&&!i.Vt.Yu(n)){this.qt().Xn(i.Vt);break}}}))}ub(){this.Ym()}Ym(){const e=this.Ui.Lc(),n=e.length,a=this.Dm.length;for(let i=n;i{const p=d.In().nl(e);p!==null&&o.set(d,p)});let s;if(e!==null){const d=(i=this.Ui.yt().qi(e))===null||i===void 0?void 0:i.originalTime;d!==void 0&&(s=d)}const l=this.qt().Vc(),c=l!==null&&l.Ic instanceof Qg?l.Ic:void 0,u=l!==null&&l.pv!==void 0?l.pv.wr:void 0;return{bb:s,se:e??void 0,wb:n??void 0,gb:c,Mb:o,xb:u,Sb:a??void 0}}vb(e,n,a){this.up.m(()=>this.mb(e,n,a))}pb(e,n,a){this.cp.m(()=>this.mb(e,n,a))}Hm(e,n,a){this.Mc.m(()=>this.mb(e,n,a))}Xm(){const e=this.cn.timeScale.visible?"":"none";this.$m.jv().style.display=e}sb(){return this.Dm[0].Kv().S_().W().visible}eb(){return this.Dm[0].Kv().k_().W().visible}Um(){return"ResizeObserver"in window&&(this.zm=new ResizeObserver(e=>{const n=e.find(a=>a.target===this.Lm);n&&this.qm(n.contentRect.width,n.contentRect.height)}),this.zm.observe(this.Lm,{box:"border-box"}),!0)}Gm(){this.zm!==null&&this.zm.disconnect(),this.zm=null}}function Sh(t){return!!(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function U1(t,e){var n={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(a=Object.getOwnPropertySymbols(t);ifunction(l,c){return c?c(l):(u=l).open===void 0&&u.value===void 0;var u}(a,s)?Cx({ut:e,se:n,bb:i},a):Cx(t(e,n,a,i,o),a)}function Dx(t){return{Candlestick:po(wle),Bar:po(yle),Area:po(kle),Baseline:po(xle),Histogram:po(zx),Line:po(zx),Custom:po(jle)}[t]}function Ax(t){return{se:0,yb:new Map,ia:t}}function _x(t,e){if(t!==void 0&&t.length!==0)return{Cb:e.key(t[0].ut),Tb:e.key(t[t.length-1].ut)}}function Tx(t){let e;return t.forEach(n=>{e===void 0&&(e=n.bb)}),on(e)}class Ble{constructor(e){this.Pb=new Map,this.Rb=new Map,this.Db=new Map,this.Ob=[],this.N_=e}S(){this.Pb.clear(),this.Rb.clear(),this.Db.clear(),this.Ob=[]}Ab(e,n){let a=this.Pb.size!==0,i=!1;const o=this.Rb.get(e);if(o!==void 0)if(this.Rb.size===1)a=!1,i=!0,this.Pb.clear();else for(const c of this.Ob)c.pointData.yb.delete(e)&&(i=!0);let s=[];if(n.length!==0){const c=n.map(m=>m.time),u=this.N_.createConverterToInternalObj(n),d=Dx(e.Xh()),p=e.ga(),h=e.Ma();s=n.map((m,g)=>{const v=u(m.time),y=this.N_.key(v);let b=this.Pb.get(y);b===void 0&&(b=Ax(v),this.Pb.set(y,b),i=!0);const k=d(v,b.se,m,c[g],p,h);return b.yb.set(e,k),k})}a&&this.Vb(),this.Bb(e,s);let l=-1;if(i){const c=[];this.Pb.forEach(u=>{c.push({timeWeight:0,time:u.ia,pointData:u,originalTime:Tx(u.yb)})}),c.sort((u,d)=>this.N_.key(u.time)-this.N_.key(d.time)),l=this.Ib(c)}return this.zb(e,l,function(c,u,d){const p=_x(c,d),h=_x(u,d);if(p!==void 0&&h!==void 0)return{Xl:p.Tb>=h.Tb&&p.Cb>=h.Cb}}(this.Rb.get(e),o,this.N_))}hd(e){return this.Ab(e,[])}Eb(e,n){const a=n;(function(v){v.bb===void 0&&(v.bb=v.time)})(a),this.N_.preprocessData(n);const i=this.N_.createConverterToInternalObj([n])(n.time),o=this.Db.get(e);if(o!==void 0&&this.N_.key(i)this.N_.key(v.time)this.N_.key(i.ut)?Pc(n)&&a.push(n):Pc(n)?a[a.length-1]=n:a.splice(-1,1),this.Db.set(e,n.ut)}Bb(e,n){n.length!==0?(this.Rb.set(e,n.filter(Pc)),this.Db.set(e,n[n.length-1].ut)):(this.Rb.delete(e),this.Db.delete(e))}Vb(){for(const e of this.Ob)e.pointData.yb.size===0&&this.Pb.delete(this.N_.key(e.time))}Ib(e){let n=-1;for(let a=0;a{n.length!==0&&(e=Math.max(e,n[n.length-1].se))}),e}zb(e,n,a){const i={Fb:new Map,yt:{Au:this.Nb()}};if(n!==-1)this.Rb.forEach((o,s)=>{i.Fb.set(s,{He:o,Wb:s===e?a:void 0})}),this.Rb.has(e)||i.Fb.set(e,{He:[],Wb:a}),i.yt.jb=this.Ob,i.yt.Hb=n;else{const o=this.Rb.get(e);i.Fb.set(e,{He:o||[],Wb:a})}return i}}function zh(t,e){t.se=e,t.yb.forEach(n=>{n.se=e})}function ev(t){const e={value:t.Vt[3],time:t.bb};return t.kb!==void 0&&(e.customValues=t.kb),e}function Ex(t){const e=ev(t);return t.O!==void 0&&(e.color=t.O),e}function Sle(t){const e=ev(t);return t._t!==void 0&&(e.lineColor=t._t),t.Ts!==void 0&&(e.topColor=t.Ts),t.Ps!==void 0&&(e.bottomColor=t.Ps),e}function zle(t){const e=ev(t);return t.Pe!==void 0&&(e.topLineColor=t.Pe),t.Re!==void 0&&(e.bottomLineColor=t.Re),t.Se!==void 0&&(e.topFillColor1=t.Se),t.ke!==void 0&&(e.topFillColor2=t.ke),t.ye!==void 0&&(e.bottomFillColor1=t.ye),t.Ce!==void 0&&(e.bottomFillColor2=t.Ce),e}function q1(t){const e={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.bb};return t.kb!==void 0&&(e.customValues=t.kb),e}function Cle(t){const e=q1(t);return t.O!==void 0&&(e.color=t.O),e}function Dle(t){const e=q1(t),{O:n,Bt:a,$h:i}=t;return n!==void 0&&(e.color=n),a!==void 0&&(e.borderColor=a),i!==void 0&&(e.wickColor=i),e}function tf(t){return{Area:Sle,Line:Ex,Baseline:zle,Histogram:Ex,Bar:Cle,Candlestick:Dle,Custom:Ale}[t]}function Ale(t){const e=t.bb;return Object.assign(Object.assign({},t.He),{time:e})}const _le={vertLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},horzLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},mode:1},Tle={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},Ele={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:Vg},Ch={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},Ple={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0},Nle={color:"rgba(0, 0, 0, 0)",visible:!1,fontSize:48,fontFamily:Vg,fontStyle:"",text:"",horzAlign:"center",vertAlign:"center"};function Px(){return{width:0,height:0,autoSize:!1,layout:Ele,crosshair:_le,grid:Tle,overlayPriceScales:Object.assign({},Ch),leftPriceScale:Object.assign(Object.assign({},Ch),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},Ch),{visible:!0}),timeScale:Ple,watermark:Nle,localization:{locale:Gr?navigator.language:"",dateFormat:"dd MMM 'yy"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Lle{constructor(e,n){this.$b=e,this.Ub=n}applyOptions(e){this.$b.qt().zc(this.Ub,e)}options(){return this.Li().W()}width(){return tp(this.Ub)?this.$b.nb(this.Ub):0}Li(){return O(this.$b.qt().Ec(this.Ub)).At}}function Nx(t,e,n){const a=U1(t,["time","originalTime"]),i=Object.assign({time:e},a);return n!==void 0&&(i.originalTime=n),i}const Ile={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class $le{constructor(e){this.Bh=e}applyOptions(e){this.Bh.Nh(e)}options(){return this.Bh.W()}qb(){return this.Bh}}class Mle{constructor(e,n,a,i,o){this.Yb=new et,this.Es=e,this.Xb=n,this.Kb=a,this.N_=o,this.Zb=i}S(){this.Yb.S()}priceFormatter(){return this.Es.ca()}priceToCoordinate(e){const n=this.Es.Pt();return n===null?null:this.Es.At().Ot(e,n.Vt)}coordinateToPrice(e){const n=this.Es.Pt();return n===null?null:this.Es.At().pn(e,n.Vt)}barsInLogicalRange(e){if(e===null)return null;const n=new lu(new Ks(e.from,e.to)).iu(),a=this.Es.In();if(a.Fi())return null;const i=a.nl(n.Os(),1),o=a.nl(n.di(),-1),s=O(a.Qh()),l=O(a.Bn());if(i!==null&&o!==null&&i.se>o.se)return{barsBefore:e.from-s,barsAfter:l-e.to};const c={barsBefore:i===null||i.se===s?e.from-s:i.se-s,barsAfter:o===null||o.se===l?l-e.to:l-o.se};return i!==null&&o!==null&&(c.from=i.bb,c.to=o.bb),c}setData(e){this.N_,this.Es.Xh(),this.Xb.Gb(this.Es,e),this.Jb("full")}update(e){this.Es.Xh(),this.Xb.Qb(this.Es,e),this.Jb("update")}dataByIndex(e,n){const a=this.Es.In().nl(e,n);return a===null?null:tf(this.seriesType())(a)}data(){const e=tf(this.seriesType());return this.Es.In().ie().map(n=>e(n))}subscribeDataChanged(e){this.Yb.l(e)}unsubscribeDataChanged(e){this.Yb.v(e)}setMarkers(e){this.N_;const n=e.map(a=>Nx(a,this.N_.convertHorzItemToInternal(a.time),a.time));this.Es.Zl(n)}markers(){return this.Es.Gl().map(e=>Nx(e,e.originalTime,void 0))}applyOptions(e){this.Es.Nh(e)}options(){return ei(this.Es.W())}priceScale(){return this.Kb.priceScale(this.Es.At().xa())}createPriceLine(e){const n=ha(ei(Ile),e),a=this.Es.Jl(n);return new $le(a)}removePriceLine(e){this.Es.Ql(e.qb())}seriesType(){return this.Es.Xh()}attachPrimitive(e){this.Es.ba(e),e.attached&&e.attached({chart:this.Zb,series:this,requestUpdate:()=>this.Es.qt().$l()})}detachPrimitive(e){this.Es.wa(e),e.detached&&e.detached()}Jb(e){this.Yb.M()&&this.Yb.m(e)}}let Ole=class{constructor(e,n,a){this.tw=new et,this.uu=new et,this._m=new et,this.Ui=e,this.wl=e.yt(),this.$m=n,this.wl.Ku().l(this.iw.bind(this)),this.wl.Zu().l(this.nw.bind(this)),this.$m.gm().l(this.sw.bind(this)),this.N_=a}S(){this.wl.Ku().p(this),this.wl.Zu().p(this),this.$m.gm().p(this),this.tw.S(),this.uu.S(),this._m.S()}scrollPosition(){return this.wl.Eu()}scrollToPosition(e,n){n?this.wl.qu(e,1e3):this.Ui.Jn(e)}scrollToRealTime(){this.wl.Uu()}getVisibleRange(){const e=this.wl.yu();return e===null?null:{from:e.from.originalTime,to:e.to.originalTime}}setVisibleRange(e){const n={from:this.N_.convertHorzItemToInternal(e.from),to:this.N_.convertHorzItemToInternal(e.to)},a=this.wl.Ru(n);this.Ui.ld(a)}getVisibleLogicalRange(){const e=this.wl.ku();return e===null?null:{from:e.Os(),to:e.di()}}setVisibleLogicalRange(e){eo(e.from<=e.to,"The from index cannot be after the to index."),this.Ui.ld(e)}resetTimeScale(){this.Ui.Zn()}fitContent(){this.Ui.Qu()}logicalToCoordinate(e){const n=this.Ui.yt();return n.Fi()?null:n.Et(e)}coordinateToLogical(e){return this.wl.Fi()?null:this.wl.Vu(e)}timeToCoordinate(e){const n=this.N_.convertHorzItemToInternal(e),a=this.wl.ya(n,!1);return a===null?null:this.wl.Et(a)}coordinateToTime(e){const n=this.Ui.yt(),a=n.Vu(e),i=n.qi(a);return i===null?null:i.originalTime}width(){return this.$m.$p().width}height(){return this.$m.$p().height}subscribeVisibleTimeRangeChange(e){this.tw.l(e)}unsubscribeVisibleTimeRangeChange(e){this.tw.v(e)}subscribeVisibleLogicalRangeChange(e){this.uu.l(e)}unsubscribeVisibleLogicalRangeChange(e){this.uu.v(e)}subscribeSizeChange(e){this._m.l(e)}unsubscribeSizeChange(e){this._m.v(e)}applyOptions(e){this.wl.Nh(e)}options(){return Object.assign(Object.assign({},ei(this.wl.W())),{barSpacing:this.wl.he()})}iw(){this.tw.M()&&this.tw.m(this.getVisibleRange())}nw(){this.uu.M()&&this.uu.m(this.getVisibleLogicalRange())}sw(e){this._m.m(e.width,e.height)}};function Rle(t){if(t===void 0||t.type==="custom")return;const e=t;e.minMove!==void 0&&e.precision===void 0&&(e.precision=function(n){if(n>=1)return 0;let a=0;for(;a<8;a++){const i=Math.round(n);if(Math.abs(i-n)<1e-8)return a;n*=10}return a}(e.minMove))}function Lx(t){return function(e){if(Bc(e.handleScale)){const a=e.handleScale;e.handleScale={axisDoubleClickReset:{time:a,price:a},axisPressedMouseMove:{time:a,price:a},mouseWheel:a,pinch:a}}else if(e.handleScale!==void 0){const{axisPressedMouseMove:a,axisDoubleClickReset:i}=e.handleScale;Bc(a)&&(e.handleScale.axisPressedMouseMove={time:a,price:a}),Bc(i)&&(e.handleScale.axisDoubleClickReset={time:i,price:i})}const n=e.handleScroll;Bc(n)&&(e.handleScroll={horzTouchDrag:n,vertTouchDrag:n,mouseWheel:n,pressedMouseMove:n})}(t),t}let Fle=class{constructor(e,n,a){this.ew=new Map,this.rw=new Map,this.hw=new et,this.lw=new et,this.aw=new et,this.ow=new Ble(n);const i=a===void 0?ei(Px()):ha(ei(Px()),Lx(a));this.N_=n,this.$b=new ble(e,i,n),this.$b.Fp().l(s=>{this.hw.M()&&this.hw.m(this._w(s()))},this),this.$b.Wp().l(s=>{this.lw.M()&&this.lw.m(this._w(s()))},this),this.$b.Wc().l(s=>{this.aw.M()&&this.aw.m(this._w(s()))},this);const o=this.$b.qt();this.uw=new Ole(o,this.$b.Zm(),this.N_)}remove(){this.$b.Fp().p(this),this.$b.Wp().p(this),this.$b.Wc().p(this),this.uw.S(),this.$b.S(),this.ew.clear(),this.rw.clear(),this.hw.S(),this.lw.S(),this.aw.S(),this.ow.S()}resize(e,n,a){this.autoSizeActive()||this.$b.qm(e,n,a)}addCustomSeries(e,n){const a=Br(e),i=Object.assign(Object.assign({},x1),a.defaultOptions());return this.cw("Custom",i,n,a)}addAreaSeries(e){return this.cw("Area",Cre,e)}addBaselineSeries(e){return this.cw("Baseline",Dre,e)}addBarSeries(e){return this.cw("Bar",Sre,e)}addCandlestickSeries(e={}){return function(n){n.borderColor!==void 0&&(n.borderUpColor=n.borderColor,n.borderDownColor=n.borderColor),n.wickColor!==void 0&&(n.wickUpColor=n.wickColor,n.wickDownColor=n.wickColor)}(e),this.cw("Candlestick",Bre,e)}addHistogramSeries(e){return this.cw("Histogram",Are,e)}addLineSeries(e){return this.cw("Line",zre,e)}removeSeries(e){const n=on(this.ew.get(e)),a=this.ow.hd(n);this.$b.qt().hd(n),this.dw(a),this.ew.delete(e),this.rw.delete(n)}Gb(e,n){this.dw(this.ow.Ab(e,n))}Qb(e,n){this.dw(this.ow.Eb(e,n))}subscribeClick(e){this.hw.l(e)}unsubscribeClick(e){this.hw.v(e)}subscribeCrosshairMove(e){this.aw.l(e)}unsubscribeCrosshairMove(e){this.aw.v(e)}subscribeDblClick(e){this.lw.l(e)}unsubscribeDblClick(e){this.lw.v(e)}priceScale(e){return new Lle(this.$b,e)}timeScale(){return this.uw}applyOptions(e){this.$b.Nh(Lx(e))}options(){return this.$b.W()}takeScreenshot(){return this.$b.tb()}autoSizeActive(){return this.$b.rb()}chartElement(){return this.$b.hb()}paneSize(){const e=this.$b.ab();return{height:e.height,width:e.width}}setCrosshairPosition(e,n,a){const i=this.ew.get(a);if(i===void 0)return;const o=this.$b.qt().cr(i);o!==null&&this.$b.qt().Qc(e,n,o)}clearCrosshairPosition(){this.$b.qt().td(!0)}cw(e,n,a={},i){Rle(a.priceFormat);const o=ha(ei(y1),ei(n),a),s=this.$b.qt().ed(e,o,i),l=new Mle(s,this,this,this,this.N_);return this.ew.set(l,s),this.rw.set(s,l),l}dw(e){const n=this.$b.qt();n.nd(e.yt.Au,e.yt.jb,e.yt.Hb),e.Fb.forEach((a,i)=>i.it(a.He,a.Wb)),n.Iu()}fw(e){return on(this.rw.get(e))}_w(e){const n=new Map;e.Mb.forEach((i,o)=>{const s=o.Xh(),l=tf(s)(i);if(s!=="Custom")eo(function(c){return c.open!==void 0||c.value!==void 0}(l));else{const c=o.Ma();eo(!c||c(l)===!1)}n.set(this.fw(o),l)});const a=e.gb===void 0?void 0:this.fw(e.gb);return{time:e.bb,logical:e.se,point:e.wb,hoveredSeries:a,hoveredObjectId:e.xb,seriesData:n,sourceEvent:e.Sb}}};function Vle(t,e,n){let a;if(Il(t)){const o=document.getElementById(t);eo(o!==null,`Cannot find element in DOM with id=${t}`),a=o}else a=t;const i=new Fle(a,e,n);return e.setOptions(i.options()),i}function Wle(t,e){return Vle(t,new yx,yx.Td(e))}Object.assign(Object.assign({},y1),x1);const Ule="_skeleton_13p4i_1",qle={skeleton:Ule,"skeleton-loading":"_skeleton-loading_13p4i_1"},ed=({fontSize:t,minWidth:e="100%"})=>r.jsx("span",{className:qle.skeleton,style:{fontSize:t,minWidth:e}}),Hle="_chart_1bo3n_1",Kle="_invisible_1bo3n_7",Gle="_chartUpdatingMessage_1bo3n_11",Qle="_summary_1bo3n_28",Yle="_filters_1bo3n_35",Zle="_filterActive_1bo3n_87",Jle="_arrow_1bo3n_104",Xle="_up_1bo3n_109",ece="_down_1bo3n_113",tce="_totalValue_1bo3n_117",nce="_totalUnit_1bo3n_121",ace="_diffValue_1bo3n_128",ice="_diffUnit_1bo3n_132",oce="_chartCanvas_1bo3n_137",rce="_tooltip_1bo3n_149",sce="_toolTipValue_1bo3n_164",lce="_toolTipUnit_1bo3n_170",cce="_toolTipTime_1bo3n_176",Oe={chart:Hle,invisible:Kle,chartUpdatingMessage:Gle,summary:Qle,filters:Yle,filterActive:Zle,arrow:Jle,up:Xle,down:ece,totalValue:tce,totalUnit:nce,diffValue:ace,diffUnit:ice,chartCanvas:oce,tooltip:rce,toolTipValue:sce,toolTipUnit:lce,toolTipTime:cce},Ix=({display:t,disableFilters:e,onDisplayWeek:n,onDisplayMonth:a,onDisplayYear:i,onDisplayAll:o})=>{const{t:s}=A();return r.jsxs("div",{className:Oe.filters,children:[r.jsx("button",{className:t==="week"?Oe.filterActive:void 0,disabled:e,onClick:n,children:s("chart.filter.week")}),r.jsx("button",{className:t==="month"?Oe.filterActive:void 0,disabled:e,onClick:a,children:s("chart.filter.month")}),r.jsx("button",{className:t==="year"?Oe.filterActive:void 0,disabled:e,onClick:i,children:s("chart.filter.year")}),r.jsx("button",{className:t==="all"?Oe.filterActive:void 0,disabled:e,onClick:o,children:s("chart.filter.all")})]})};let H1;const uce=()=>{const{isDarkMode:t}=Kn();return H1=t,null},gi=()=>H1;class K1 extends x.Component{constructor(){super(...arguments),this.ref=x.createRef(),this.refToolTip=x.createRef(),this.height=300,this.mobileHeight=150,this.state={display:"all",source:"daily",toolTipVisible:!1,toolTipValue:void 0,toolTipTop:0,toolTipLeft:0,toolTipTime:0,isMobile:!1},this.hasData=()=>this.props.data.chartDataDaily&&this.props.data.chartDataDaily.length>0,this.checkIfMobile=()=>{this.setState({isMobile:window.innerWidth<=640})},this.createChart=()=>{const{data:{chartDataMissing:e}}=this.props,n=gi();if(this.ref.current&&this.hasData()&&!e){if(!this.chart){const a=this.state.isMobile?document.body.clientWidth:this.ref.current.offsetWidth,i=this.state.isMobile?this.mobileHeight:this.height;this.chart=Wle(this.ref.current,{width:a,height:i,handleScroll:!1,handleScale:!1,crosshair:{vertLine:{visible:!1,labelVisible:!1},horzLine:{visible:!1,labelVisible:!1},mode:1},grid:{vertLines:{visible:!1},horzLines:{color:n?"#333333":"#dedede",style:Gm.Solid,visible:!this.state.isMobile}},layout:{background:{type:Ym.Solid,color:n?"#1D1D1B":"#F5F5F5"},fontSize:11,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',textColor:n?"#F5F5F5":"#1D1D1B"},leftPriceScale:{borderVisible:!1,ticksVisible:!1,visible:this.props.hideAmounts?!1:!this.state.isMobile,entireTextOnly:!0},localization:{locale:this.props.i18n.language},rightPriceScale:{visible:!1,ticksVisible:!1},timeScale:{borderVisible:!1,timeVisible:!1,visible:!this.state.isMobile},trackingMode:{exitMode:0}})}this.lineSeries=this.chart.addAreaSeries({priceLineVisible:!1,lastValueVisible:!1,priceFormat:{type:"volume"},topColor:n?"#5E94BF":"#DFF1FF",bottomColor:n?"#1D1D1B":"#F5F5F5",lineColor:"rgba(94, 148, 192, 1)",crosshairMarkerRadius:6}),this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.timeScale().subscribeVisibleLogicalRangeChange(this.calculateChange),this.chart.subscribeCrosshairMove(this.handleCrosshair),this.chart.timeScale().fitContent(),window.addEventListener("resize",this.onResize),setTimeout(()=>{var a;return(a=this.ref.current)==null?void 0:a.classList.remove(Oe.invisible)},200)}},this.onResize=()=>{this.checkIfMobile(),this.resizeTimerID&&clearTimeout(this.resizeTimerID),this.resizeTimerID=setTimeout(()=>{if(!this.chart||!this.ref.current)return;const e=this.state.isMobile?document.body.clientWidth:this.ref.current.offsetWidth,n=this.state.isMobile?this.mobileHeight:this.height;this.chart.resize(e,n),this.chart.applyOptions({grid:{horzLines:{visible:!this.state.isMobile}},timeScale:{visible:!this.state.isMobile},leftPriceScale:{visible:this.props.hideAmounts?!1:!this.state.isMobile}})},200)},this.getUTCRange=()=>{const e=new Date,n=e.getUTCFullYear(),a=e.getUTCMonth(),i=e.getUTCDate(),o=e.getUTCHours(),s=new Date(Date.UTC(n,a,i,o,0,0,0)),l=new Date(Date.UTC(n,a,i,o,0,0,0));return{utcYear:n,utcMonth:a,utcDate:i,to:s,from:l}},this.displayWeek=()=>{this.state.source!=="hourly"&&this.lineSeries&&this.props.data.chartDataHourly&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataHourly||[]),this.setFormattedData(this.props.data.chartDataHourly||[]),this.chart.applyOptions({timeScale:{timeVisible:!0}})),this.setState({display:"week",source:"hourly"},()=>{if(!this.chart)return;const{utcDate:e,from:n,to:a}=this.getUTCRange();n.setUTCDate(e-7),this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayMonth=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily||[]),this.setFormattedData(this.props.data.chartDataDaily||[]),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"month",source:"daily"},()=>{if(!this.chart)return;const{utcMonth:e,from:n,to:a}=this.getUTCRange();n.setUTCMonth(e-1),this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayYear=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"year",source:"daily"},()=>{if(!this.chart)return;const{utcYear:e,from:n,to:a}=this.getUTCRange();n.setUTCFullYear(e-1),this.chart&&this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayAll=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"all",source:"daily"},()=>{this.chart&&this.chart.timeScale().fitContent()})},this.calculateChange=()=>{const e=this.props.data[this.state.source==="daily"?"chartDataDaily":"chartDataHourly"];if(!e||!this.chart||!this.lineSeries)return;const n=this.chart.timeScale().getVisibleLogicalRange(),a=this.lineSeries.barsInLogicalRange(n);if(!a)return;const i=Math.max(Math.floor(a.barsBefore),0);if(!e[i]){this.setState({difference:0,diffSince:""});return}const o=e[i].value,s=this.props.data.chartTotal,l=s?s-o:0;this.setState({difference:l/o*100,diffSince:`${e[i].formattedValue} (${this.renderDate(Number(e[i].time)*1e3)})`})},this.handleCrosshair=({point:e,time:n,seriesData:a})=>{if(!this.refToolTip.current)return;const i=this.refToolTip.current,o=i.parentNode;if(!this.lineSeries||!e||!n||e.x<0||e.x>o.clientWidth||e.y<0||e.y>o.clientHeight){this.setState({toolTipVisible:!1});return}const s=a.get(this.lineSeries);if(!s)return;const l=this.lineSeries.priceToCoordinate(s.value);if(!l)return;const c=l-i.clientHeight>0?l-i.clientHeight:Math.max(0,Math.min(o.clientHeight-i.clientHeight,l+70)),u=Math.floor(Math.max(c,0)),d=Math.floor(Math.max(40,Math.min(o.clientWidth-140,e.x+40-70)));this.setState({toolTipVisible:!0,toolTipValue:this.formattedData?this.formattedData[n]:"",toolTipTop:u,toolTipLeft:d,toolTipTime:n})},this.renderDate=e=>new Date(e).toLocaleString(this.props.i18n.language,{year:"numeric",month:"2-digit",day:"2-digit",...this.state.source==="hourly"?{hour:"2-digit",minute:"2-digit"}:null})}componentDidMount(){this.checkIfMobile(),this.createChart()}componentWillUnmount(){window.removeEventListener("resize",this.onResize),this.chart&&(this.chart.timeScale().unsubscribeVisibleLogicalRangeChange(this.calculateChange),this.chart.unsubscribeCrosshairMove(this.handleCrosshair))}componentDidUpdate(e){var i;const{chartDataDaily:n,chartDataHourly:a}=this.props.data;if(this.chart||this.createChart(),this.lineSeries&&e.data.chartDataDaily&&e.data.chartDataHourly&&n&&a&&(e.data.chartDataDaily.length!==n.length||e.data.chartDataHourly.length!==a.length)){const o=this.state.source==="hourly"?a:n;this.lineSeries.setData(o),this.setFormattedData(o)}e.hideAmounts!==this.props.hideAmounts&&((i=this.chart)==null||i.applyOptions({leftPriceScale:{visible:this.props.hideAmounts?!1:!this.state.isMobile}}))}setFormattedData(e){this.formattedData={},e.forEach(n=>{this.formattedData&&(this.formattedData[n.time]=n.formattedValue)})}render(){const{t:e,data:{lastTimestamp:n,chartDataMissing:a,chartFiat:i,chartIsUpToDate:o,chartTotal:s,formattedChartTotal:l},noDataPlaceholder:c,hideAmounts:u}=this.props,{difference:d,diffSince:p,display:h,toolTipVisible:m,toolTipValue:g,toolTipTop:v,toolTipLeft:y,toolTipTime:b,isMobile:k}=this.state,w=d&&Number.isFinite(d),j=this.hasData(),z=!j||s===0||a,S=m&&!!g&&k,f={display:h,disableFilters:z,onDisplayWeek:this.displayWeek,onDisplayMonth:this.displayMonth,onDisplayYear:this.displayYear,onDisplayAll:this.displayAll},B=`${k?this.mobileHeight:this.height}px`;return r.jsxs("section",{className:Oe.chart,children:[r.jsxs("header",{children:[r.jsxs("div",{className:Oe.summary,children:[r.jsxs("div",{className:Oe.totalValue,children:[l!==null?r.jsx(ct,{amount:S?g:l,unit:i,removeBtcTrailingZeroes:!0}):r.jsx(ed,{minWidth:"220px"}),r.jsx("span",{className:Oe.totalUnit,children:s!==null&&i})]}),S?r.jsx("span",{className:Oe.diffValue,children:this.renderDate(b*1e3)}):r.jsx("span",{className:w?Oe[d<0?"down":"up"]:"",title:p,children:w?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:Oe.arrow,children:d<0?r.jsx(pce,{}):r.jsx(hce,{})}),r.jsxs("span",{className:Oe.diffValue,children:[u?"***":Zie(d,2),r.jsx("span",{className:Oe.diffUnit,children:"%"})]})]}):s===0?null:r.jsx(ed,{fontSize:"1.125rem",minWidth:"125px"})})]}),!k&&r.jsx(Ix,{...f})]}),r.jsxs("div",{className:Oe.chartCanvas,style:{minHeight:B},children:[a?r.jsx("div",{className:Oe.chartUpdatingMessage,style:{height:B},children:e("chart.dataMissing")}):j?!o&&r.jsx("div",{className:Oe.chartUpdatingMessage,children:e("chart.dataOldTimestamp",{time:new Date(n).toLocaleString(this.props.i18n.language)})}):c,r.jsx("div",{ref:this.ref,className:Oe.invisible}),r.jsx("span",{ref:this.refToolTip,className:Oe.tooltip,style:{left:y,top:v},hidden:!m||k,children:g!==void 0?r.jsxs("span",{children:[r.jsxs("h2",{className:Oe.toolTipValue,children:[r.jsx(ct,{amount:g,unit:i}),r.jsx("span",{className:Oe.toolTipUnit,children:i})]}),r.jsx("span",{className:Oe.toolTipTime,children:this.renderDate(b*1e3)})]}):null})]}),k&&r.jsx(Ix,{...f})]})}}K1.defaultProps={data:{chartDataMissing:!0,chartDataDaily:[],chartDataHourly:[],chartFiat:"USD",chartTotal:null,formattedChartTotal:null,chartIsUpToDate:!1,lastTimestamp:0},hideAmounts:!1};const dce=kn()(K1),pce=()=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r.jsx("polyline",{points:"19 12 12 19 5 12"})]}),hce=()=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"5"}),r.jsx("polyline",{points:"5 12 12 5 19 12"})]}),mce="_spinnerContainer_1akm7_1",fce="_spinner_1akm7_1",gce="_changeContent_1akm7_1",$x={spinnerContainer:mce,spinner:fce,changeContent:gce};function G1(){return r.jsx("div",{className:$x.spinnerContainer,children:r.jsx("div",{className:$x.spinner})})}const vce="_balanceTable_1v4c8_1",bce="_coincode_1v4c8_4",kce="_coinheader_1v4c8_9",xce="_dataMissing_1v4c8_20",yce="_openFileText_1v4c8_24",wce="_table_1v4c8_30",jce="_noAccount_1v4c8_45",Bce="_clickable_1v4c8_80",Sce="_summaryTableBalance_1v4c8_84",zce="_coinName_1v4c8_94",Cce="_coinUnit_1v4c8_104",Dce="_syncText_1v4c8_108",Ace="_showOnTableView_1v4c8_112",_ce="_showInCollapsedView_1v4c8_116",Tce="_subTotal_1v4c8_167",yt={balanceTable:vce,coincode:bce,coinheader:kce,dataMissing:xce,openFileText:yce,table:wce,noAccount:jce,clickable:Bce,summaryTableBalance:Sce,coinName:zce,coinUnit:Cce,syncText:Dce,showOnTableView:Ace,showInCollapsedView:_ce,subTotal:Tce};function Ece({code:t,name:e,coinCode:n,balance:a}){const{t:i}=A(),o=_j(o1(t)),s=r.jsx("td",{className:yt.clickable,"data-label":i("accountSummary.name"),onClick:()=>le(`/account/${t}`),children:r.jsxs("div",{className:yt.coinName,children:[r.jsx(Ro,{className:yt.coincode,coinCode:n,active:!0,alt:n}),e]})});return a?r.jsxs("tr",{children:[s,r.jsx("td",{"data-label":i("accountSummary.balance"),children:r.jsxs("span",{className:yt.summaryTableBalance,children:[r.jsx(ct,{amount:a.available.amount,unit:a.available.unit})," ",r.jsx("span",{className:yt.coinUnit,children:a.available.unit})]})}),r.jsx("td",{"data-label":i("accountSummary.fiatBalance"),children:r.jsx(Xa,{amount:a.available,noAction:!0})})]},`${t}_balance`):r.jsxs("tr",{children:[s,r.jsxs("td",{colSpan:2,className:yt.syncText,children:[i("account.syncedAddressesCount",{count:o==null?void 0:o.toString(),defaultValue:0}),r.jsx(G1,{})]})]},`${t}_syncing`)}function Pce({coinCode:t,coinName:e,balance:n}){const{t:a}=A(),i=r.jsx("td",{"data-label":a("accountSummary.total"),children:r.jsxs("div",{className:yt.coinName,children:[r.jsx(Ro,{className:yt.coincode,coinCode:t,active:!0,alt:t}),r.jsx("strong",{className:yt.showOnTableView,children:a("accountSummary.subtotalWithCoinName",{coinName:e})}),r.jsx("strong",{className:yt.showInCollapsedView,children:e})]})});return n?r.jsxs("tr",{className:yt.subTotal,children:[i,r.jsx("td",{"data-label":a("accountSummary.balance"),children:r.jsxs("span",{className:yt.summaryTableBalance,children:[r.jsx("strong",{children:r.jsx(ct,{amount:n.amount,unit:n.unit})})," ",r.jsx("span",{className:yt.coinUnit,children:n.unit})]})}),r.jsx("td",{"data-label":a("accountSummary.fiatBalance"),children:r.jsx("strong",{children:r.jsx(Xa,{amount:n,noAction:!0})})})]},`${t}_subtotal`):null}function Nce({accounts:t,summaryData:e,totalBalancePerCoin:n,balances:a}){const{t:i}=A(),s=(()=>t.reduce((c,u)=>(c[u.coinCode]?c[u.coinCode].push(u):c[u.coinCode]=[u],c),{}))(),l=Object.keys(s);return r.jsx("div",{className:yt.balanceTable,children:r.jsxs("table",{className:yt.table,children:[r.jsxs("colgroup",{children:[r.jsx("col",{width:"33%"}),r.jsx("col",{width:"33%"}),r.jsx("col",{width:"*"})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:i("accountSummary.name")}),r.jsx("th",{children:i("accountSummary.balance")}),r.jsx("th",{children:i("accountSummary.fiatBalance")})]})}),r.jsx("tbody",{children:t.length>0?l.map(c=>{const u=s[c].map(d=>r.jsx(Ece,{code:d.code,name:d.name,coinCode:d.coinCode,balance:a&&a[d.code]},d.code));if((u==null?void 0:u.length)>1){const d=s[c][0];u.push(r.jsx(Pce,{coinCode:d.coinCode,coinName:d.coinName,balance:n&&n[c]},d.coinCode))}return u}):r.jsx("tr",{children:r.jsx("td",{colSpan:3,className:yt.noAccount,children:i("accountSummary.noAccount")})})}),r.jsx("tfoot",{children:r.jsxs("tr",{children:[r.jsx("th",{children:r.jsx("strong",{children:i("accountSummary.total")})}),r.jsx("td",{colSpan:2,children:e&&e.formattedChartTotal!==null?r.jsxs(r.Fragment,{children:[r.jsx("strong",{children:r.jsx(ct,{amount:e.formattedChartTotal,unit:e.chartFiat})})," ",r.jsx("span",{className:yt.coinUnit,children:e.chartFiat})]}):r.jsx(ed,{})})]})})]})})}const Ml=t=>{const e=i=>window.matchMedia(i).matches,[n,a]=x.useState(e(t));return x.useEffect(()=>{const i=()=>{a(e(t))},o=window.matchMedia(t);return i(),o.addEventListener("change",i),()=>{o.removeEventListener("change",i)}},[t]),n},Lce="_container_1mptn_1",Ice="_main_1mptn_8",$ce="_walletConnect_1mptn_17",Dh={container:Lce,main:Ice,walletConnect:$ce},nf=({code:t,unit:e,balanceList:n,exchangeBuySupported:a=!0,account:i})=>{const o=Hj(e)?"BTC":e,{t:s}=A(),l=Ml("(max-width: 768px)"),c=()=>le(t?`/buy/info/${t}`:"/buy/info"),u=()=>le(`/account/${t}/wallet-connect/dashboard`),d=()=>{if(n){if(n.length>1){le("accounts/select-receive");return}le(`/account/${t}/receive`)}};return r.jsxs("div",{className:`${Dh.main}`,children:[r.jsx("h3",{className:"subTitle",children:s("accountInfo.buyCTA.information.looksEmpty")}),r.jsx("h3",{className:"subTitle",children:s("accountInfo.buyCTA.information.start")}),r.jsxs("div",{className:Dh.container,children:[n&&r.jsx(_,{primary:!0,onClick:d,children:o?s("receive.title",{accountName:o}):s("receive.title",{accountName:s("buy.info.crypto")})}),a&&r.jsx(_,{primary:!0,onClick:c,children:o?s("accountInfo.buyCTA.buy",{unit:o}):s("accountInfo.buyCTA.buyCrypto")}),i&&Fo(i.coinCode)&&!i.isToken&&r.jsx(_,{primary:!0,onClick:u,className:Dh.walletConnect,children:l?r.jsx(Ou,{width:28,height:28}):r.jsxs(r.Fragment,{children:[r.jsx(Ou,{width:28,height:28})," ",r.jsx("span",{children:"Wallet Connect"})]})})]})]})},Mce=({balances:t,accounts:e})=>{const n=ro(),[a,i]=x.useState(),o=e.length===1;if(x.useEffect(()=>{n.current&&Dg(e).then(l=>{n.current&&i(l)}).catch(console.error)},[e,n]),t===void 0||a===void 0)return null;const s=e.map(l=>t[l.code]).filter(l=>!!l);return s.some(l=>l.hasAvailable)?null:s.map(l=>l.available.unit).every(Hj)?r.jsx(nf,{code:o?e[0].code:void 0,unit:"BTC",balanceList:s}):r.jsx(nf,{exchangeBuySupported:a.length>0,balanceList:s})};function Oce({accounts:t,devices:e}){const{t:n}=A(),a=x.useRef(),i=ro(),{hideAmounts:o}=x.useContext(mi),[s,l]=x.useState(),[c,u]=x.useState(),[d,p]=x.useState(),h=k1(e),m=x.useCallback(async()=>{a.current&&window.clearTimeout(a.current);try{const b=await KQ();if(!i.current)return;l(b)}catch(b){console.error(b)}},[i]),g=x.useCallback(async()=>{try{const b=await qQ();if(!i.current)return;u(b)}catch(b){console.error(b)}},[i]),v=x.useCallback(async b=>{if(!i.current)return;const k=await Zj(b);if(k.disabled||!i.current)return;if(!k.synced)return Xj(b);const w=await Ur(b);i.current&&p(j=>({...j,[b]:w}))},[i]),y=x.useCallback(b=>{i.current&&(v(b),m())},[m,i,v]);return x.useEffect(()=>{const b=[r1(y),Yd(y)];return m(),g(),()=>Nl(b)},[m,g,y]),x.useEffect(()=>{const b=!s||s.chartDataMissing?1e3:1e4;return a.current=window.setTimeout(m,b),()=>{a.current&&window.clearTimeout(a.current)}},[s,m]),x.useEffect(()=>{t.forEach(b=>{v(b.code)}),g()},[v,g,t]),r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{hidden:!h,type:"warning",children:n("warning.sdcard")}),r.jsx(xe,{title:r.jsx("h2",{children:n("accountSummary.title")}),children:r.jsx(Qd,{})}),r.jsxs(re,{children:[r.jsx(dce,{hideAmounts:o,data:s,noDataPlaceholder:t.length&&t.length<=Object.keys(d||{}).length?r.jsx(Mce,{accounts:t,balances:d}):void 0}),r.jsx(Nce,{accounts:t,summaryData:s,totalBalancePerCoin:c,balances:d})]})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.accountSummaryDescription")},"accountSummaryDescription"),r.jsx(W,{entry:{link:{text:"www.coingecko.com",url:"https://www.coingecko.com/"},text:n("guide.accountSummaryAmount.text"),title:n("guide.accountSummaryAmount.title")}},"accountSummaryAmount"),r.jsx(W,{entry:n("guide.trackingModePortfolioChart")},"trackingModePortfolioChart")]})]})}const Ah={DOWNLOAD_LINK_GLOBAL:"https://bitbox.swiss/download/?source=bitboxapp",DOWNLOAD_LINK_DE:"https://bitbox.swiss/de/download/?source=bitboxapp",DOWNLOAD_LINK_ES:"https://bitbox.swiss/es/descargar/?source=bitboxapp"},tv=()=>{switch(se.resolvedLanguage){case"de":return Ah.DOWNLOAD_LINK_DE;case"es":return Ah.DOWNLOAD_LINK_ES;default:return Ah.DOWNLOAD_LINK_GLOBAL}},Rce=({...t})=>{const{t:e}=A();return r.jsx(pt,{href:tv(),...t,children:e("button.download")})},Fce=({...t})=>{const{t:e}=A();return r.jsx(pt,{href:tv(),...t,children:r.jsx(_,{primary:!0,children:e("button.download")})})},Q1=()=>{const{t}=A();return r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsxs(re,{fullscreen:!0,verticallyCentered:!0,width:"840px",withBottomBar:!0,children:[r.jsx(be,{title:t("device.appUpradeRequired")}),r.jsx(Fe,{children:r.jsx(Fce,{})})]})]})},Ra=Object.freeze({DEFAULT:"default",WAITING:"waiting",ERROR:"error"});let Vce=class extends x.Component{constructor(){super(...arguments);M(this,"state",{status:Ra.DEFAULT,errorMessage:"",errorCode:null,remainingAttempts:null,needsLongTouch:!1,password:""});M(this,"handleFormChange",n=>{this.setState({password:n})});M(this,"validate",()=>this.state.password!=="");M(this,"handleSubmit",n=>{n.preventDefault(),this.validate()&&(this.setState({status:Ra.WAITING}),H("devices/"+this.props.deviceID+"/login",{password:this.state.password}).then(a=>{a.success&&Z("devices/"+this.props.deviceID+"/status").then(i=>{i==="seeded"&&(console.info("unlock.jsx route to /account-summary"),le("/account-summary",!0))}),a.success||(a.code&&this.setState({errorCode:a.code}),a.remainingAttempts&&this.setState({remainingAttempts:a.remainingAttempts}),a.needsLongTouch&&this.setState({needsLongTouch:a.needsLongTouch}),this.setState({status:Ra.ERROR,errorMessage:a.errorMessage}))}),this.setState({password:""}))})}render(){const{t:n}=this.props,{status:a,password:i,errorCode:o,errorMessage:s,remainingAttempts:l,needsLongTouch:c}=this.state;let u=null;switch(a){case Ra.DEFAULT:u=r.jsx("p",{children:n("unlock.description")});break;case Ra.WAITING:u=r.jsx(Cn,{guideExists:!0,text:n("unlock.unlocking")});break;case Ra.ERROR:u=r.jsx(nn,{type:"error",children:n(`unlock.error.e${o}`,{defaultValue:s,remainingAttempts:l,context:c?"touch":"normal"})});break}const d=gi();return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")})}),r.jsxs("div",{className:"content narrow padded isVerticallyCentered",children:[d?r.jsx(Sd,{}):r.jsx(xg,{}),r.jsxs("div",{className:"box large",children:[u,a!==Ra.WAITING&&r.jsxs("form",{onSubmit:this.handleSubmit,children:[r.jsx("div",{className:"m-top-default",children:r.jsx(Sg,{autoFocus:!0,id:"password",type:"password",label:n("unlock.input.label"),disabled:a===Ra.WAITING,placeholder:n("unlock.input.placeholder"),onValidPassword:this.handleFormChange,value:i})}),r.jsx("div",{className:"buttons",children:r.jsx(_,{primary:!0,type:"submit",disabled:!this.validate()||a===Ra.WAITING,children:n("button.unlock")})})]})]})]}),r.jsx(oB,{children:d?r.jsx(hi,{}):r.jsx(pi,{})})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.unlock.forgotDevicePassword")},"guide.unlock.forgotDevicePassword"),r.jsx(W,{entry:n("guide.unlock.reset")},"guide.unlock.reset")]})]})}};const Wce=He()(Vce),Uce="_container_17oq2_1",qce="_scrollable_17oq2_17",Hce="_agreements_17oq2_22",Kce="_agreementsLabel_17oq2_26",Gce="_title_17oq2_30",Qce="_summary_17oq2_36",Yce="_heading_17oq2_45",Zce="_content_17oq2_49",Jce="_verticalButtons_17oq2_60",Xce="_block_17oq2_72",eue="_list_17oq2_85",tue="_buttons_17oq2_93",nue="_stepNumber_17oq2_98",aue="_badge_17oq2_108",iue="_waitingLogo_17oq2_113",oue="_waitingContent_17oq2_117",rue="_waitingText_17oq2_126",sue="_waitingDescription_17oq2_134",lue="_qrcodeContainer_17oq2_140",ht={container:Uce,scrollable:qce,agreements:Hce,agreementsLabel:Kce,title:Gce,summary:Qce,heading:Yce,content:Zce,verticalButtons:Jce,block:Xce,list:eue,buttons:tue,stepNumber:nue,badge:aue,waitingLogo:iue,waitingContent:oue,waitingText:rue,waitingDescription:sue,qrcodeContainer:lue};class cue extends x.Component{constructor(n){super(n);M(this,"onEvent",n=>{if(n.type==="device")switch(n.data){case"bootloaderStatusChanged":this.onStatusChanged();break}});M(this,"onStatusChanged",()=>{Z("devices/"+this.props.deviceID+"/bootloader-status").then(({upgrading:n,progress:a,upgradeSuccessful:i,errMsg:o})=>{this.setState({upgrading:n,progress:a,upgradeSuccessful:i,errMsg:o})})});M(this,"upgradeFirmware",()=>{H("devices/"+this.props.deviceID+"/bootloader/upgrade-firmware")});this.state={upgrading:!1,errMsg:null,progress:0,upgradeSuccessful:!1}}componentDidMount(){this.unsubscribe=Yo(this.onEvent),this.onStatusChanged()}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:n}=this.props,{upgrading:a,progress:i,upgradeSuccessful:o,errMsg:s}=this.state;let l;if(a)if(o)l=r.jsx("p",{className:"m-none",children:n("bootloader.success")});else{const c=Math.round(i*100);l=r.jsxs("div",{children:[r.jsxs("progress",{value:c,max:"100",children:[c,"%"]}),r.jsx("p",{className:"m-bottom-none text-center",children:n("bootloader.progress",{progress:c})})]})}else l=r.jsx("div",{className:"buttons m-top-none",children:r.jsx(_,{primary:!0,onClick:this.upgradeFirmware,children:n("bootloader.button")})});return r.jsx("div",{className:"contentWithGuide",children:r.jsx("div",{className:"container",children:r.jsx("div",{className:"innerContainer",children:r.jsx("div",{className:"content narrow isVerticallyCentered",children:r.jsxs("div",{className:[ht.container,ht.scrollable].join(" "),children:[r.jsx(Cj,{}),r.jsxs("div",{className:"box large",children:[l,s&&r.jsx("p",{className:"m-bottom-none",children:s})]})]})})})})})}}const uue=He()(cue),due="_container_l7fdu_1",pue="_danger_l7fdu_27",hue="_children_l7fdu_31",mue="_optionalText_l7fdu_35",fue="_secondaryText_l7fdu_46",gue="_primaryText_l7fdu_54",vue="_icon_l7fdu_58",bue="_disabled_l7fdu_63",kue="_item_l7fdu_68",ta={container:due,danger:pue,children:hue,optionalText:mue,secondaryText:fue,primaryText:gue,icon:vue,disabled:bue,item:kue},vi=({onClick:t,danger:e,optionalText:n,secondaryText:a,disabled:i,children:o,optionalIcon:s})=>r.jsxs("button",{className:[ta.container,e?ta.danger:"",i===!0?ta.disabled:""].join(" "),onClick:i?void 0:t,children:[r.jsxs("span",{className:ta.children,children:[r.jsx("span",{className:ta.primaryText,children:o}),a?r.jsx("span",{className:ta.secondaryText,children:a}):null]}),n?r.jsx("span",{className:ta.optionalText,children:n}):null,s?r.jsx("span",{className:ta.icon,children:s}):r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"9 18 15 12 9 6"})})]});class xue extends x.Component{constructor(){super(...arguments);M(this,"state",{unlocked:!1,newVersion:"",isConfirming:!1,activeDialog:!1});M(this,"upgradeFirmware",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/unlock-bootloader").then(n=>{this.setState({unlocked:n,isConfirming:n})}).catch(()=>{this.setState({isConfirming:!1})})});M(this,"abort",()=>{this.setState({activeDialog:!1})})}componentDidMount(){Z("devices/"+this.props.deviceID+"/bundled-firmware-version").then(n=>{this.setState({newVersion:n.replace("v","")})})}render(){const{t:n,currentVersion:a,disabled:i,asButton:o}=this.props,{unlocked:s,newVersion:l,isConfirming:c,activeDialog:u}=this.state;return r.jsxs("div",{children:[o?r.jsx(_,{primary:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("upgradeFirmware.button")}):r.jsx(vi,{onClick:()=>this.setState({activeDialog:!0}),disabled:i,optionalText:l,children:n("upgradeFirmware.button")}),u&&r.jsxs(fa,{title:n("upgradeFirmware.title"),children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.description",{currentVersion:a,newVersion:l})}),r.jsxs(so,{children:[r.jsx(_,{primary:!0,onClick:this.upgradeFirmware,children:n("button.upgrade")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]}),c&&r.jsx(xn,{title:n("upgradeFirmware.title"),includeDefault:!s,children:s?r.jsxs("div",{children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.unlocked")}),r.jsxs("ol",{style:{lineHeight:"1.5"},children:[r.jsx("li",{children:n("upgradeFirmware.unlocked1")}),r.jsx("li",{children:n("upgradeFirmware.unlocked2")}),r.jsx("li",{children:n("upgradeFirmware.unlocked3")})]})]}):r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.locked",{currentVersion:a,newVersion:l})})})]})}}const Y1=He()(xue);class yue extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null})}componentDidMount(){Jo(this.props.deviceID).then(({version:n})=>{this.setState({firmwareVersion:n.replace("v","")})})}render(){const{t:n,deviceID:a}=this.props,{firmwareVersion:i}=this.state;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:ht.container,children:[r.jsx(Cj,{}),r.jsxs("div",{className:"box",children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.label")}),r.jsx("div",{className:"buttons m-top-half",children:r.jsx(Y1,{deviceID:a,currentVersion:i,asButton:!0})})]})]})})}}const wue=He()(yue);class jue extends x.Component{render(){const{t:e,onCreate:n,onRestore:a}=this.props;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsxs("div",{className:"box large",children:[r.jsx("p",{className:"first",children:e("goal.paragraph")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:n,children:e("goal.buttons.create")}),r.jsx(_,{secondary:!0,onClick:a,children:e("goal.buttons.restore")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})})]})})}}const Mx=He()(jue);class Bue extends x.Component{constructor(e){super(e),this.handleStart=()=>{this.setState({showInfo:!1})},this.state={showInfo:!0}}render(){const{t:e,goBack:n,goal:a,children:i}=this.props,{showInfo:o}=this.state;return o?r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:e(`securityInformation.${a}.title`)}),a==="create"?r.jsxs("div",{className:"box large",children:[r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description1")}),r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description2")}),r.jsxs("ul",{className:[ht.list,"first"].join(" "),children:[r.jsx(Qe,{tagName:"li",markup:e("securityInformation.create.description3")}),r.jsx(Qe,{tagName:"li",markup:e("securityInformation.create.description4")})]}),r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description5")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}):r.jsxs("div",{className:"box large",children:[r.jsxs("ul",{className:[ht.list,"first"].join(" "),children:[r.jsx("li",{children:e("securityInformation.restore.description1")}),r.jsx("li",{children:e("securityInformation.restore.description2")})]}),r.jsx("p",{children:e("securityInformation.restore.description3")}),r.jsxs(nn,{type:"warning",children:[r.jsx(kg,{}),r.jsx("p",{className:"first",children:e("deviceTampered")})]}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})})]})}):i}}const Sue=kn()(Bue),En=Object.freeze({DEFAULT:"default",CREATING:"creating",CHECKING:"checking",ERROR:"error"});class zue extends x.Component{constructor(){super(...arguments);M(this,"state",{showInfo:!0,status:En.CHECKING,walletName:"",backupPassword:"",error:"",agreements:{password_change:!1,password_required:!1,funds_access:!1}});M(this,"walletNameInput",x.createRef());M(this,"validate",()=>!this.walletNameInput.current||!this.walletNameInput.current.validity.valid||!this.validAgreements()?!1:this.state.backupPassword&&this.state.walletName!=="");M(this,"handleFormChange",({target:n})=>{this.setState({[n.id]:n.value})});M(this,"handleSubmit",n=>{n.preventDefault(),this.validate()&&(this.setState({status:En.CREATING,error:""}),H("devices/"+this.props.deviceID+"/create-wallet",{walletName:this.state.walletName,backupPassword:this.state.backupPassword}).then(a=>{a.success?this.props.onSuccess():this.setState({status:En.ERROR,error:this.props.t(`seed.error.e${a.code}`,{defaultValue:a.errorMessage})}),this.setState({backupPassword:""})}))});M(this,"setValidBackupPassword",n=>{this.setState({backupPassword:n})});M(this,"validAgreements",()=>{const{agreements:n}=this.state;return!Object.keys(n).map(i=>n[i]).includes(!1)});M(this,"handleAgreementChange",({target:n})=>{this.setState(a=>({agreements:{...a.agreements,[n.id]:n.checked}}))});M(this,"checkSDcard",()=>{Jo(this.props.deviceID).then(({sdcard:n})=>{if(n)return this.setState({status:En.DEFAULT,error:""});this.setState({status:En.ERROR,error:this.props.t("seed.error.e200")}),setTimeout(this.checkSDcard,2500)})});M(this,"handleStart",()=>{this.setState({showInfo:!1}),this.checkSDcard()})}componentDidMount(){this.checkSDcard()}renderSpinner(){switch(this.state.status){case En.CHECKING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("checkSDcard")});case En.CREATING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("seed.creating")});default:return null}}render(){const{t:n,goBack:a}=this.props,{showInfo:i,status:o,walletName:s,error:l,agreements:c}=this.state,u=i?r.jsxs("div",{className:"box large",children:[r.jsxs("ol",{className:"first",children:[r.jsx("li",{children:n("seed.info.description1")}),r.jsx("li",{children:n("seed.info.description2")})]}),r.jsx("p",{children:n("seed.info.description3")}),r.jsx("p",{children:n("seed.info.description4")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,disabled:o!==En.DEFAULT,children:n("seed.info.button")}),r.jsx(_,{secondary:!0,onClick:a,children:n("button.abort")})]})]}):r.jsxs("form",{onSubmit:this.handleSubmit,className:"box large",children:[r.jsxs("div",{children:[r.jsx(Ye,{pattern:"^[0-9a-zA-Z-_]{1,31}$",autoFocus:!0,id:"walletName",label:n("seed.walletName.label"),disabled:o===En.CREATING,onInput:this.handleFormChange,ref:this.walletNameInput,value:s}),r.jsx(qr,{label:n("seed.password.label"),repeatPlaceholder:n("seed.password.repeatPlaceholder"),disabled:o===En.CREATING,onValidPassword:this.setValidBackupPassword})]}),r.jsxs("div",{className:ht.agreements,children:[r.jsxs("div",{className:"flex flex-row flex-start flex-items-center",children:[r.jsx(Sj,{style:{width:18,marginRight:10,position:"relative",bottom:1}}),r.jsx("p",{className:ht.agreementsLabel,children:n("seed.description")})]}),r.jsx(Ve,{id:"password_change",label:n("seed.agreements.password-change"),checked:c.password_change,onChange:this.handleAgreementChange}),r.jsx(Ve,{id:"password_required",label:n("seed.agreements.password-required"),checked:c.password_required,onChange:this.handleAgreementChange}),r.jsx(Ve,{id:"funds_access",label:n("seed.agreements.funds-access"),checked:c.funds_access,onChange:this.handleAgreementChange})]}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{type:"submit",primary:!0,disabled:!this.validate()||o===En.CREATING,children:n("seed.create")}),r.jsx(_,{secondary:!0,onClick:a,children:n("button.abort")})]})]});return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n("seed.info.title")}),l&&r.jsxs(nn,{type:o===En.ERROR?"error":void 0,children:[r.jsx(kg,{}),l]}),u,r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]}),this.renderSpinner()]})})}}const Cue=He()(zue),Z1=(t,e)=>new Date(t).toLocaleString(e,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}),Due="_stepContext_g2o2c_1",Aue="_backupsList_g2o2c_5",_ue="_listContainer_g2o2c_14",Tue="_item_g2o2c_24",Eue="_agreements_g2o2c_37",Pue="_emptyText_g2o2c_41",Nue="_backupItem_g2o2c_47",Lue="_backupID_g2o2c_52",Iue="_backupButtons_g2o2c_59",In={stepContext:Due,backupsList:Aue,listContainer:_ue,item:Tue,agreements:Eue,emptyText:Pue,backupItem:Nue,backupID:Lue,backupButtons:Iue},nv=({backup:t,disabled:e,handleChange:n,onFocus:a,radio:i,selectedBackup:o})=>{let s="";return t.date&&t.date!==""?s=Z1(t.date,se.language):s="unknown",i?r.jsxs(yg,{disabled:!!e,checked:o===t.id,onChange:l=>{n&&n(l.target.value)},id:t.id,label:t.name&&t.name!==""?t.name:t.id,value:t.id,onFocus:a,className:In.backupItem,children:[r.jsx("span",{className:"text-small text-gray",children:s}),r.jsxs("span",{className:"text-small text-gray",children:["ID: ",t.id]})]}):r.jsxs("div",{children:[r.jsx("div",{className:"text-medium m-bottom-quarter",children:t.name}),r.jsxs("div",{className:In.backupID,children:["ID: ",t.id]}),r.jsx("div",{className:"text-small text-gray",children:s})]})};let $ue=class extends x.Component{constructor(){super(...arguments);M(this,"state",{password:null,activeDialog:!1,message:null});M(this,"abort",()=>{this.setState({password:null,activeDialog:!1,message:null})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>this.props.selectedBackup&&this.state.password);M(this,"check",n=>{n.preventDefault(),this.validate()&&(this.setState({message:this.props.t("backup.check.checking")}),H("devices/"+this.props.deviceID+"/backups/check",{password:this.state.password,filename:this.props.selectedBackup}).catch(()=>{}).then(({success:a,matches:i,errorMessage:o})=>{let s;a?i?s=this.props.t("backup.check.ok"):s=this.props.t("backup.check.notOK"):o&&(s=o),this.setState({message:s})}))});M(this,"setValidPassword",n=>{this.setState({password:n})})}render(){const{t:n,selectedBackup:a}=this.props,{activeDialog:i,message:o}=this.state;return r.jsxs("div",{children:[r.jsx(_,{secondary:!0,disabled:a===null,onClick:()=>this.setState({activeDialog:!0}),children:n("button.check")}),i&&r.jsx(fa,{title:n("backup.check.title"),onClose:this.abort,children:o?r.jsxs("div",{children:[r.jsx("p",{style:{minHeight:"3rem"},children:o}),r.jsx("div",{className:ce.actions,children:r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})})]}):r.jsxs("form",{onSubmit:this.check,children:[r.jsx(Sg,{label:n("backup.check.password.label"),placeholder:n("backup.check.password.placeholder"),showLabel:n("backup.check.password.showLabel"),onValidPassword:this.setValidPassword}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{type:"submit",primary:!0,disabled:!this.validate(),children:n("button.check")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]})})]})}};const Mue=He()($ue);let Oue=class extends x.Component{constructor(){super(...arguments);M(this,"state",{waiting:!1,backupName:"",recoveryPassword:"",activeDialog:!1});M(this,"abort",()=>{this.setState({waiting:!1,backupName:"",recoveryPassword:"",activeDialog:!1})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>!this.state.waiting&&this.state.backupName!=="");M(this,"create",n=>{n.preventDefault(),this.validate()&&(this.setState({waiting:!0}),H("devices/"+this.props.deviceID+"/backups/create",{backupName:this.state.backupName,recoveryPassword:this.state.recoveryPassword}).then(a=>{this.abort(),a.success?(this.props.onCreate(),a.verification||J(this.props.t("backup.create.verificationFailed"))):J(a.errorMessage)}))})}render(){const{t:n}=this.props,{waiting:a,recoveryPassword:i,backupName:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(_,{primary:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("button.create")}),s&&r.jsx(fa,{title:n("backup.create.title"),onClose:this.abort,children:r.jsxs("form",{onSubmit:this.create,children:[r.jsx(Ye,{autoFocus:!0,id:"backupName",label:n("backup.create.name.label"),placeholder:n("backup.create.name.placeholder"),onInput:this.handleFormChange,value:o}),r.jsx("p",{children:n("backup.create.info")}),r.jsx(Bg,{id:"recoveryPassword",label:n("backup.create.password.label"),placeholder:n("backup.create.password.placeholder"),onInput:this.handleFormChange,value:i}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{type:"submit",primary:!0,disabled:a||!this.validate(),children:n("button.create")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.abort")})]})]})})]})}};const Rue=He()(Oue);class Fue extends x.Component{constructor(){super(...arguments),this.state={isConfirming:!1,activeDialog:!1,isLoading:!1,understand:!1,password:void 0},this.abort=()=>{this.setState({isConfirming:!1,activeDialog:!1,isLoading:!1,understand:!1,password:void 0})},this.validate=()=>this.props.selectedBackup&&this.state.password,this.restore=e=>{e.preventDefault(),this.validate()&&(this.props.requireConfirmation?this.setState({activeDialog:!1,isConfirming:!0}):this.setState({activeDialog:!1,isLoading:!0}),H("devices/"+this.props.deviceID+"/backups/restore",{password:this.state.password,filename:this.props.selectedBackup}).then(n=>{const{success:a,didRestore:i,errorMessage:o,code:s}=n;if(this.abort(),a){if(i){if(this.props.onRestore)return this.props.onRestore();console.info("restore.jsx route to /"),le("/",!0)}}else J(this.props.t(`backup.restore.error.e${s}`,{defaultValue:o}))}))},this.handleUnderstandChange=e=>{this.setState({understand:e.target.checked})},this.setValidPassword=e=>{this.setState({password:e})}}render(){const{t:e,selectedBackup:n,requireConfirmation:a}=this.props,{isConfirming:i,activeDialog:o,isLoading:s,understand:l}=this.state;return r.jsxs("span",{children:[r.jsx(_,{...a?{danger:!0}:{primary:!0},disabled:!n,onClick:()=>this.setState({activeDialog:!0}),children:e("button.restore")}),o&&r.jsx(fa,{title:e("backup.restore.title"),disableEscape:i||s,onClose:this.abort,children:r.jsxs("form",{onSubmit:this.restore,children:[r.jsx(qr,{label:e("backup.restore.password.label"),placeholder:e("backup.restore.password.placeholder"),repeatPlaceholder:e("backup.restore.password.repeatPlaceholder"),showLabel:e("backup.restore.password.showLabel"),onValidPassword:this.setValidPassword}),r.jsx("div",{className:In.agreements,children:r.jsx(Ve,{id:"funds_access",label:e("backup.restore.understand"),checked:l,onChange:this.handleUnderstandChange})}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",...a?{danger:!0}:{primary:!0},disabled:!l||!this.validate()||i,children:e("button.restore")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:i,children:e("button.back")})]})]})}),i&&a&&r.jsx(xn,{title:e("backup.restore.confirmTitle")}),s&&r.jsx(Cn,{guideExists:!1,text:e("backup.restore.restoring")})]})}}const Vue=kn()(Fue);class Wue extends x.Component{constructor(e){super(e),this.scrollableContainer=x.createRef(),this.refresh=()=>{Jo(this.props.deviceID).then(({lock:n})=>this.setState({lock:n})),Z("devices/"+this.props.deviceID+"/backups/list").then(({sdCardInserted:n,backupList:a,success:i,errorMessage:o})=>{i?this.setState({sdCardInserted:n,backupList:a}):o&&J(o)})},this.handleBackuplistChange=n=>{this.setState({selectedBackup:n})},this.scrollIntoView=n=>{if(!this.scrollableContainer.current)return;const a=n.target,i=a.offsetTop,o=a.parentNode.offsetHeight;if(i>this.scrollableContainer.current.scrollTop+o)return;const s=Math.max(i+o-this.scrollableContainer.current.offsetHeight,0);this.scrollableContainer.current.scroll({top:s,behavior:"smooth"})},this.state={backupList:[],sdCardInserted:null}}componentDidMount(){this.refresh()}render(){const{t:e,children:n,showCreate:a=!1,showRestore:i=!0,deviceID:o,requireConfirmation:s=!0,onRestore:l}=this.props,{backupList:c,selectedBackup:u,sdCardInserted:d,lock:p}=this.state;return p===void 0?null:d===!1?r.jsxs("div",{className:"box m-top-default",children:[r.jsx("p",{className:"first",children:e("backup.insert")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.refresh,children:e("backup.insertButton")}),n]})]}):d?r.jsxs("div",{className:"box large m-top-default",children:[r.jsx(Qe,{tagName:"p",markup:e("backup.description")}),r.jsx("div",{className:In.backupsList,ref:this.scrollableContainer,children:r.jsx("div",{className:In.listContainer,children:c.length?c.map(h=>r.jsx("div",{className:In.item,children:r.jsx(nv,{backup:h,selectedBackup:u,handleChange:this.handleBackuplistChange,onFocus:this.scrollIntoView,radio:!0})},h.id)):r.jsx("p",{className:In.emptyText,children:e("backup.noBackups")})})}),r.jsxs("div",{className:"buttons",children:[a&&!p&&r.jsx(Rue,{onCreate:this.refresh,deviceID:o}),a&&r.jsx(Mue,{selectedBackup:u,deviceID:o}),i&&l&&r.jsx(Vue,{selectedBackup:u,deviceID:o,onRestore:l,requireConfirmation:s}),n]})]}):null}}const J1=kn()(Wue),ho=Object.freeze({DEFAULT:"default",CREATING:"creating",CHECKING:"checking",ERROR:"error"});class Uue extends x.Component{constructor(){super(...arguments);M(this,"state",{showInfo:!0,status:ho.CHECKING,error:""});M(this,"checkSDcard",()=>{Jo(this.props.deviceID).then(({sdcard:n})=>{if(n)return this.setState({status:ho.DEFAULT,error:""});this.setState({status:ho.ERROR,error:this.props.t("seedRestore.error.e200")}),setTimeout(this.checkSDcard,2500)})});M(this,"handleStart",()=>{this.setState({showInfo:!1}),this.checkSDcard()})}componentDidMount(){this.checkSDcard()}renderSpinner(){switch(this.state.status){case ho.CHECKING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("checkSDcard")});case ho.CREATING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("seed.creating")});default:return null}}render(){const{t:n,deviceID:a,goBack:i,onSuccess:o}=this.props,{showInfo:s,status:l,error:c}=this.state;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n("seedRestore.info.title")}),c?r.jsxs(nn,{type:l===ho.ERROR?"error":void 0,children:[r.jsx(kg,{}),c]}):null,s?r.jsxs("div",{className:"box large",children:[r.jsxs("ol",{className:"first",children:[r.jsx("li",{children:n("seedRestore.info.description1")}),r.jsx("li",{children:n("seedRestore.info.description2")}),r.jsx("li",{children:n("seedRestore.info.description3")})]}),r.jsx("p",{children:n("seedRestore.info.description4")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,disabled:l!==ho.DEFAULT,children:n("button.continue")}),r.jsx(_,{secondary:!0,onClick:i,children:n("button.abort")})]})]}):r.jsx(J1,{showCreate:!1,deviceID:a,requireConfirmation:!1,onRestore:o,children:r.jsx(_,{secondary:!0,onClick:i,children:n("button.abort")})}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]}),this.renderSpinner()]})})}}const que=He()(Uue),Fa=Object.freeze({DEFAULT:"default",WAITING:"waiting",ERROR:"error"});class Hue extends x.Component{constructor(e){super(e),this.handleSubmit=n=>{n.preventDefault(),this.state.password&&(this.setState({status:Fa.WAITING,errorCode:null,errorMessage:""}),H("devices/"+this.props.deviceID+"/set-password",{password:this.state.password}).then(a=>{a.success||(a.code&&this.setState({errorCode:a.code}),this.setState({status:Fa.ERROR,errorMessage:a.errorMessage}))}))},this.setValidPassword=n=>{this.setState({password:n})},this.handleStart=()=>{this.setState({showInfo:!1})},this.state={showInfo:!0,password:null,status:Fa.DEFAULT,errorCode:null,errorMessage:""}}render(){const{t:e,goBack:n}=this.props,{showInfo:a,password:i,status:o,errorCode:s,errorMessage:l}=this.state;let c;switch(o){case Fa.DEFAULT:c=null;break;case Fa.WAITING:c=r.jsx(nn,{type:"info",children:e("initialize.creating")});break;case Fa.ERROR:c=r.jsx(nn,{type:"error",children:e(`initialize.error.e${s}`,{defaultValue:l})})}const u=a?r.jsxs("div",{className:"box large",children:[r.jsx("h3",{className:"subTitle",children:e("initialize.info.subtitle")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("initialize.info.description1")}),r.jsx("li",{children:e("initialize.info.description2")})]}),r.jsx("p",{children:e("initialize.info.description3")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}):r.jsxs("form",{onSubmit:this.handleSubmit,className:"box large",children:[r.jsx(qr,{pattern:"^.{4,}$",label:e("initialize.input.label"),repeatLabel:e("initialize.input.labelRepeat"),repeatPlaceholder:e("initialize.input.placeholderRepeat"),disabled:o===Fa.WAITING,onValidPassword:this.setValidPassword}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{type:"submit",primary:!0,disabled:!i||o===Fa.WAITING,children:e("initialize.create")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]});return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:e(a?"initialize.info.title":"setup")}),c,u,r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})}),o===Fa.WAITING&&r.jsx(Cn,{guideExists:!1,text:e("initialize.creating")})]})})}}const Kue=kn()(Hue);class Gue extends x.Component{constructor(){super(...arguments);M(this,"handleGetStarted",()=>{le("/account-summary",!0)})}render(){const{t:n,handleHideSuccess:a,goal:i}=this.props;return r.jsx("div",{className:"contentWithGuide",children:r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n(`success.${i}.title`)}),r.jsxs("div",{className:"box large",children:[r.jsx("p",{style:{textAlign:"center"},children:n(`success.${i}.summary`)}),i==="create"?r.jsxs("ul",{className:ht.summary,children:[r.jsx("li",{children:n("success.create.info1")}),r.jsx("li",{children:n("success.create.info2")}),r.jsx("li",{children:n("success.create.info3")})]}):null,r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleGetStarted,children:n("success.getstarted")}),r.jsx(_,{secondary:!0,onClick:a,children:n("sidebar.device")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]})})})}}const Que=He()(Gue);class Yue extends x.Component{constructor(){super(...arguments);M(this,"blinkDevice",()=>{H("devices/"+this.props.deviceID+"/blink")})}render(){const{t:n}=this.props;return r.jsx(vi,{onClick:this.blinkDevice,children:n("blink.button")})}}const Zue=He()(Yue);class Jue extends x.Component{constructor(){super(...arguments);M(this,"toggle",()=>{const n=!this.props.newHiddenWallet;H("devices/"+this.props.deviceID+"/feature-set",{new_hidden_wallet:n}).then(()=>{J(n?this.props.t("legacyhiddenwallet.successDisable"):this.props.t("legacyhiddenwallet.successEnable")),this.props.onChange&&this.props.onChange(n)})})}render(){const{t:n,disabled:a,newHiddenWallet:i}=this.props;return r.jsx(_,{danger:!0,disabled:a,onclick:this.toggle,children:n(i?"legacyhiddenwallet.enable":"legacyhiddenwallet.disable")})}}const Ox=He()(Jue);class Xue extends x.Component{constructor(n){super(n);M(this,"getRandomNumber",()=>{H(this.props.apiPrefix+"/random-number").then(n=>{this.setState({active:!0,number:n})})});M(this,"abort",()=>{this.setState({active:!1,number:void 0})});this.state={active:!1,number:""}}render(){const{t:n}=this.props,{number:a,active:i}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{onClick:this.getRandomNumber,children:n("random.button")}),i&&a?r.jsxs(fa,{title:"Generate Random Number",onClose:this.abort,children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsxs("div",{className:"column",children:[r.jsx("p",{children:n("random.description",{bits:a.length*4})}),r.jsx(Ia,{value:a,flexibleHeight:!0})]})})}),r.jsx(so,{children:r.jsx(_,{primary:!0,onClick:this.abort,children:n("button.ok")})})]}):null]})}}const ede=He()(Xue);class tde extends x.Component{constructor(){super(...arguments);M(this,"state",{password:null,pin:null,isConfirming:!1,activeDialog:!1});M(this,"abort",()=>{this.setState({password:null,isConfirming:!1,activeDialog:!1})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>this.state.password&&this.state.pin);M(this,"createHiddenWallet",n=>{n.preventDefault(),this.validate()&&(this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/set-hidden-password",{pin:this.state.pin,backupPassword:this.state.password}).catch(()=>{}).then(({success:a,didCreate:i,errorMessage:o,code:s})=>{this.abort(),a?i&&J(this.props.t("hiddenWallet.success")):J(this.props.t(`bitbox.error.e${s}`,{defaultValue:o}))}))});M(this,"setValidPassword",n=>{this.setState({password:n})});M(this,"setValidPIN",n=>{this.setState({pin:n})})}render(){const{t:n,disabled:a}=this.props,{isConfirming:i,activeDialog:o}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{disabled:a,onClick:()=>this.setState({activeDialog:!0}),children:n("button.hiddenwallet")}),o&&r.jsxs(fa,{title:n("button.hiddenwallet"),onClose:this.abort,children:[r.jsx(Qe,{tagName:"p",markup:n("hiddenWallet.info1HTML")}),r.jsx(Qe,{tagName:"p",markup:n("hiddenWallet.info2HTML")}),r.jsxs("form",{onSubmit:this.createHiddenWallet,children:[r.jsx(qr,{idPrefix:"pin",pattern:"^.{4,}$",label:n("hiddenWallet.pinLabel"),repeatLabel:n("hiddenWallet.pinRepeatLabel"),repeatPlaceholder:n("hiddenWallet.pinRepeatPlaceholder"),onValidPassword:this.setValidPIN}),r.jsx(qr,{idPrefix:"password",label:n("hiddenWallet.passwordLabel"),repeatPlaceholder:n("hiddenWallet.passwordPlaceholder"),onValidPassword:this.setValidPassword}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",danger:!0,disabled:!this.validate()||i,children:n("button.hiddenwallet")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:i,children:n("button.abort")})]})]})]}),i&&r.jsx(xn,{title:n("button.hiddenwallet")})]})}}const nde=He()(tde);class ade extends x.Component{constructor(){super(...arguments);M(this,"state",{oldPIN:null,newPIN:null,errorCode:null,isConfirming:!1,activeDialog:!1});M(this,"abort",()=>{this.setState({oldPIN:null,newPIN:null,isConfirming:!1,activeDialog:!1})});M(this,"validate",()=>this.state.newPIN&&this.state.oldPIN);M(this,"changePin",n=>{n.preventDefault(),this.validate()&&(this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/change-password",{oldPIN:this.state.oldPIN,newPIN:this.state.newPIN}).catch(()=>{}).then(a=>{this.abort(),a.success||J(this.props.t(`bitbox.error.e${a.code}`,{defaultValue:a.errorMessage}))}))});M(this,"setValidOldPIN",n=>{this.setState({oldPIN:n.target.value})});M(this,"setValidNewPIN",n=>{this.setState({newPIN:n})})}render(){const{t:n,disabled:a}=this.props,{oldPIN:i,isConfirming:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{disabled:a,onClick:()=>this.setState({activeDialog:!0}),children:n("button.changepin")}),s&&r.jsx(fa,{title:n("button.changepin"),onClose:this.abort,children:r.jsxs("form",{onSubmit:this.changePin,children:[r.jsx(Bg,{idPrefix:"oldPIN",label:n("changePin.oldLabel"),value:i,onInput:this.setValidOldPIN}),n("changePin.newTitle")&&r.jsx("h4",{children:n("changePin.newTitle")}),r.jsx(qr,{idPrefix:"newPIN",pattern:"^.{4,}$",label:n("initialize.input.label"),repeatLabel:n("initialize.input.labelRepeat"),repeatPlaceholder:n("initialize.input.placeholderRepeat"),onValidPassword:this.setValidNewPIN}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",danger:!0,disabled:!this.validate()||o,children:n("button.changepin")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:o,children:n("button.back")})]})]})}),o&&r.jsx(xn,{title:n("button.changepin")})]})}}const ide=He()(ade);class ode extends x.Component{constructor(){super(...arguments);M(this,"state",{pin:null,isConfirming:!1,activeDialog:!1,understand:!1});M(this,"handleUnderstandChange",n=>{this.setState({understand:n.target.checked})});M(this,"resetDevice",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/reset",{pin:this.state.pin}).then(n=>{this.abort(),n.success?n.didReset&&le("/",!0):n.errorMessage&&J(this.props.t(`bitbox.error.e${n.code}`,{defaultValue:n.errorMessage}))})});M(this,"setValidPIN",n=>{this.setState({pin:n.target.value})});M(this,"abort",()=>{this.setState({pin:null,understand:!1,isConfirming:!1,activeDialog:!1})})}render(){const{t:n}=this.props,{isConfirming:a,activeDialog:i,understand:o,pin:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{danger:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("reset.title")}),i&&r.jsxs(fa,{title:n("reset.title"),onClose:this.abort,children:[r.jsx("p",{children:n("reset.description")}),r.jsx(Bg,{idPrefix:"pin",label:n("initialize.input.label"),value:s,onInput:this.setValidPIN}),r.jsx("div",{className:ht.agreements,children:r.jsx(Ve,{id:"funds_access",label:n("reset.understand"),checked:o,onChange:this.handleUnderstandChange})}),r.jsxs(so,{children:[r.jsx(_,{danger:!0,disabled:!s||!o,onClick:this.resetDevice,children:n("reset.title")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:a,children:n("button.back")})]})]}),a?r.jsx(xn,{title:n("reset.title")}):null]})}}const rde=He()(ode),sde=""+new URL("app-store-badge-a26fc5b3.svg",import.meta.url).href,lde=""+new URL("google-play-badge-ed64ea07.png",import.meta.url).href;class cde extends x.Component{constructor(e){super(e),this.onDeviceStatus=n=>{if("type"in n){const{type:a,data:i,deviceID:o}=n;if(a==="device"&&o===this.props.deviceID)switch(i){case"pairingStarted":this.setState({status:"started"});break;case"pairingTimedout":this.state.status&&this.setState({status:"timeout"});break;case"pairingPullMessageFailed":this.setState({status:"pullFailed"});break;case"pairingScanningFailed":this.setState({status:"scanningFailed"});break;case"pairingAborted":this.setState({status:"aborted"});break;case"pairingError":this.setState({status:"error"});break;case"pairingSuccess":this.setState({status:"success"});break}}},this.reconnectUnpaired=()=>{Vo(this.props.t("pairing.confirm"),n=>{n&&H("devices/"+this.props.deviceID+"/feature-set",{pairing:!0}).then(()=>{this.props.onPairingEnabled(),J(this.props.t("pairing.success.text"))})})},this.startPairing=()=>{Vo(this.props.t("pairing.confirm"),n=>{n&&(this.setState({channel:null,status:"loading"}),H("devices/"+this.props.deviceID+"/pairing/start").then(a=>{this.props.deviceLocked?this.setState({channel:a,status:"connectOnly"}):this.setState({channel:a,status:"start"})}))})},this.abort=()=>{this.setState({showQRCode:!1,status:!1})},this.toggleQRCode=()=>{this.setState({showQRCode:!this.state.showQRCode})},this.state={channel:null,status:!1,showQRCode:!1}}componentDidMount(){this.unsubscribe=Yo(this.onDeviceStatus)}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:e,deviceLocked:n,paired:a,hasMobileChannel:i}=this.props,{channel:o,status:s,showQRCode:l}=this.state;let c;return s==="start"?c=r.jsxs("div",{children:[r.jsx("div",{className:"flex flex-row flex-start",children:r.jsxs("div",{children:[r.jsxs("p",{className:"m-top-none",children:[r.jsx("strong",{className:"m-right-quarter",children:"1."})," ",e("pairing.start.step1")]}),r.jsx("p",{children:r.jsx(_,{primary:!0,onClick:this.toggleQRCode,className:"width-1-1",children:e(`pairing.start.${l?"hideAppQRCode":"revealAppQRCode"}`)})}),l?r.jsx("div",{className:"columnsContainer m-top-default",children:r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("label",{className:"text-center",children:"Apple App Store"}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx(Ja,{data:"https://itunes.apple.com/us/app/digital-bitbox-2fa/id1079896740",size:148}),r.jsx("a",{target:"_blank",rel:"noreferrer",href:"https://itunes.apple.com/us/app/digital-bitbox-2fa/id1079896740",children:r.jsx("img",{src:sde,className:ht.badge})})]})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("label",{className:"text-center",children:"Google Play Store"}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx(Ja,{data:"https://play.google.com/store/apps/details?id=com.digitalbitbox.tfa",size:148}),r.jsx("a",{target:"_blank",rel:"noreferrer",href:"https://play.google.com/store/apps/details?id=com.digitalbitbox.tfa",children:r.jsx("img",{src:lde,className:ht.badge})})]})]})]})}):null]})}),r.jsx("div",{className:"flex flex-row flex-start m-top-default",children:r.jsxs("div",{children:[r.jsxs("p",{className:"m-top-none",children:[r.jsx("strong",{className:"m-right-quarter",children:"2."}),e("pairing.start.step2")]}),r.jsx("div",{className:"text-center",children:r.jsx(Ja,{data:JSON.stringify(o),size:196})})]})})]}):s==="connectOnly"?c=r.jsx(Ja,{data:JSON.stringify({channel:o,connectOnly:!0})}):c=r.jsx("p",{className:"m-top-none",children:e(`pairing.${s}.text`)}),r.jsxs("div",{children:[r.jsx(vi,{onClick:i&&!a?this.reconnectUnpaired:this.startPairing,optionalText:e(`deviceSettings.pairing.status.${a}`),children:e(n?i?"pairing.reconnectOnly.button":"pairing.connectOnly.button":i&&!a?"pairing.reconnectOnly.button":"pairing.button")}),s&&r.jsxs(fa,{title:e("pairing.title"),onClose:this.abort,medium:!0,children:[r.jsx("div",{className:"flex flex-column flex-center flex-items-center",children:o?c:r.jsx("p",{children:e("loading")})}),r.jsx(so,{children:r.jsx(_,{secondary:!0,onClick:this.abort,children:e("button.back")})})]})]})}}const ude=kn()(cde);class dde extends x.Component{constructor(){super(...arguments);M(this,"state",{isConfirming:!1,activeDialog:!1});M(this,"resetDevice",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/lock").then(n=>{this.setState({isConfirming:!1}),n&&this.props.onLock()})});M(this,"abort",()=>{this.setState({activeDialog:!1})})}render(){const{t:n,disabled:a,lock:i}=this.props,{isConfirming:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{danger:!0,onClick:()=>this.setState({activeDialog:!0}),disabled:a,optionalText:n(`deviceSettings.pairing.lock.${i}`),children:n("deviceLock.button")}),s&&r.jsxs(fa,{title:n("deviceLock.title"),onClose:this.abort,children:[r.jsx("p",{children:n("deviceLock.condition1")}),r.jsx("p",{children:n("deviceLock.condition2")}),r.jsx("p",{children:n("deviceLock.condition3")}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{danger:!0,onClick:this.resetDevice,children:n("deviceLock.confirm")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]}),o&&r.jsx(xn,{title:n("deviceLock.title")})]})}}const pde=He()(dde),Nc=({optionalText:t,optionalIcon:e,children:n})=>r.jsxs("div",{className:[ta.container,ta.item].join(" "),children:[n,t&&r.jsx("span",{className:ta.optionalText,children:t}),e]});class hde extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null,newVersion:null,lock:!0,name:null,spinner:!0,sdcard:!1,serial:"",pairing:!1,mobileChannel:!1,connected:!1,newHiddenWallet:!0})}componentDidMount(){Jo(this.props.deviceID).then(({lock:n,name:a,new_hidden_wallet:i,pairing:o,sdcard:s,serial:l,version:c})=>{this.setState({firmwareVersion:c.replace("v",""),lock:n,name:a,newHiddenWallet:i,pairing:o,sdcard:s,serial:l,spinner:!1})}),Z("devices/"+this.props.deviceID+"/has-mobile-channel").then(n=>{this.setState({mobileChannel:n})}),Z("devices/"+this.props.deviceID+"/bundled-firmware-version").then(n=>{this.setState({newVersion:n.replace("v","")})}),this.unsubscribe=Yo(({type:n,data:a,deviceID:i})=>{if(n==="device"){if(i!==this.props.deviceID)return;switch(a){case"mobileDisconnected":this.setState({connected:!1});break;case"mobileConnected":this.setState({connected:!0});break;case"pairingSuccess":this.setState({pairing:!0,mobileChannel:!0});break;case"pairingFalse":this.setState({mobileChannel:!1});break}}})}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:n,deviceID:a}=this.props,{firmwareVersion:i,newVersion:o,lock:s,name:l,spinner:c,sdcard:u,serial:d,pairing:p,mobileChannel:h,connected:m,newHiddenWallet:g}=this.state,v=i&&o!==i,y=p&&h;return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:l===null?"":l||"BitBox"})}),r.jsx("div",{className:"content padded",children:r.jsxs("div",{className:"columnsContainer",children:[r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.secrets.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(vi,{onClick:()=>le(`/manage-backups/${a}`),children:n("deviceSettings.secrets.manageBackups")}),r.jsx(ide,{deviceID:a}),g?r.jsx(nde,{deviceID:a,disabled:s}):r.jsx(Ox,{deviceID:a,newHiddenWallet:g,disabled:s,onChange:b=>this.setState({newHiddenWallet:b})}),r.jsx(rde,{deviceID:a})]})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.pairing.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(Nc,{optionalText:n(`deviceSettings.pairing.mobile.${m}`),children:n("deviceSettings.pairing.mobile.label")}),r.jsx(ude,{deviceID:a,deviceLocked:s,hasMobileChannel:h,paired:y,onPairingEnabled:()=>this.setState({pairing:!0})}),r.jsx(pde,{lock:s,deviceID:a,onLock:()=>this.setState({lock:!0}),disabled:s||!y})]})]})]}),r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.firmware.title")}),r.jsx("div",{className:"box slim divide",children:v?r.jsx(Y1,{deviceID:a,currentVersion:i}):r.jsx(Nc,{optionalText:`${n("deviceSettings.firmware.version.label")} ${i||n("loading")}`,children:n("deviceSettings.firmware.upToDate")})})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.hardware.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(Nc,{optionalText:d,children:"Serial number"}),r.jsx(Nc,{optionalText:n(`deviceSettings.hardware.sdcard.${u}`),children:n("deviceSettings.hardware.sdcard.label")}),r.jsx(ede,{apiPrefix:"devices/"+a}),r.jsx(Zue,{deviceID:a})]})]})]})]})}),c&&r.jsx(Cn,{guideExists:!0,text:n("deviceSettings.loading")})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.bitbox.ejectBitbox")},"guide.bitbox.ejectBitbox"),r.jsx(W,{entry:n("guide.bitbox.ejectSD")},"guide.bitbox.ejectSD"),r.jsx(W,{entry:n("guide.bitbox.hiddenWallet")},"guide.bitbox.hiddenWallet"),!s&&g&&r.jsx(W,{entry:n("guide.bitbox.legacyHiddenWallet"),children:r.jsx("p",{children:r.jsx(Ox,{deviceID:a,newHiddenWallet:g,onChange:b=>this.setState({newHiddenWallet:b})})})},"guide.bitbox.legacyHiddenWallet"),r.jsx(W,{entry:n("guide.bitbox.pairing")},"guide.bitbox.pairing"),r.jsx(W,{entry:n("guide.bitbox.2FA")},"guide.bitbox.2FA"),r.jsx(W,{entry:n("guide.bitbox.disable2FA")},"guide.bitbox.disable2FA")]})]})}}const mde=He()(hde),mo=Object.freeze({BOOTLOADER:"bootloader",INITIALIZED:"initialized",UNINITIALIZED:"uninitialized",LOGGED_IN:"logged_in",SEEDED:"seeded",REQUIRE_FIRMWARE_UPGRADE:"require_firmware_upgrade",REQUIRE_APP_UPGRADE:"require_app_upgrade"}),Lc=Object.freeze({CREATE:"create",RESTORE:"restore"});class fde extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null,deviceRegistered:!1,deviceStatus:"",goal:"",success:null});M(this,"onDevicesRegisteredChanged",()=>{Z("devices/registered").then(n=>{const i=Object.keys(n).includes(this.getDeviceID());this.setState({deviceRegistered:i,deviceStatus:null},()=>{this.state.deviceRegistered&&this.onDeviceStatusChanged()})})});M(this,"onDeviceStatusChanged",()=>{this.state.deviceRegistered&&Z("devices/"+this.props.deviceID+"/status").then(n=>{["seeded","initialized"].includes(n)?hk(""):hk("forceHidden"),this.setState({deviceStatus:n})})});M(this,"handleCreate",()=>{this.setState({goal:Lc.CREATE})});M(this,"handleRestore",()=>{this.setState({goal:Lc.RESTORE})});M(this,"handleBack",()=>{this.setState({goal:null})});M(this,"handleSuccess",()=>{this.setState({success:!0})})}componentDidMount(){this.onDevicesRegisteredChanged(),this.onDeviceStatusChanged(),this.unsubscribe=Yo(({type:n,data:a,deviceID:i})=>{n==="devices"&&a==="registeredChanged"&&this.onDevicesRegisteredChanged(),n==="device"&&a==="statusChanged"&&i===this.getDeviceID()&&this.onDeviceStatusChanged()})}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}componentDidUpdate(n){this.props.deviceID!==n.deviceID&&this.onDevicesRegisteredChanged()}getDeviceID(){return this.props.deviceID||null}render(){const{deviceID:n}=this.props,{deviceRegistered:a,deviceStatus:i,goal:o,success:s}=this.state;if(!a||!i)return null;if(s)return r.jsx(Que,{goal:o,handleHideSuccess:()=>this.setState({success:null})});switch(i){case mo.BOOTLOADER:return r.jsx(uue,{deviceID:n});case mo.REQUIRE_FIRMWARE_UPGRADE:return r.jsx(wue,{deviceID:n});case mo.REQUIRE_APP_UPGRADE:return r.jsx(Q1,{});case mo.INITIALIZED:return r.jsx(Wce,{deviceID:n});case mo.UNINITIALIZED:return o?r.jsx(Sue,{goal:o,goBack:this.handleBack,children:r.jsx(Kue,{goBack:this.handleBack,deviceID:n})}):r.jsx(Mx,{onCreate:this.handleCreate,onRestore:this.handleRestore});case mo.LOGGED_IN:switch(o){case Lc.CREATE:return r.jsx(Cue,{goBack:this.handleBack,onSuccess:this.handleSuccess,deviceID:n});case Lc.RESTORE:return r.jsx(que,{goBack:this.handleBack,onSuccess:this.handleSuccess,deviceID:n});default:return r.jsx(Mx,{onCreate:this.handleCreate,onRestore:this.handleRestore})}case mo.SEEDED:return r.jsx(mde,{deviceID:n});default:return null}}}const gde=He()(fde),vde=t=>Gn("devices/registered",t),X1=(t,e)=>is("statusChanged",a=>{a.type==="device"&&a.deviceID===t&&e()}),bde=(t,e)=>is("channelHashChanged",a=>{a.type==="device"&&a.deviceID===t&&e(t)}),kde=(t,e)=>is("attestationCheckDone",a=>{a.type==="device"&&a.deviceID===t&&e(t)}),xde="_container_6tizs_1",yde="_primaryText_6tizs_21",wde="_isButton_6tizs_27",jde="_rightContentContainer_6tizs_32",Bde="_displayedValue_6tizs_38",Sde="_withMargin_6tizs_47",zde="_secondaryText_6tizs_51",Cde="_collapse_6tizs_74",Dde="_hideDisplayedValueOnSmall_6tizs_87",wa={container:xde,primaryText:yde,isButton:wde,rightContentContainer:jde,displayedValue:Bde,withMargin:Sde,secondaryText:zde,collapse:Cde,hideDisplayedValueOnSmall:Dde},Ke=({className:t="",collapseOnSmall:e=!1,displayedValue:n="",extraComponent:a,hideDisplayedValueOnSmall:i=!1,onClick:o,secondaryText:s,settingName:l})=>{const c=o===void 0,u=r.jsxs("div",{className:wa.rightContentContainer,children:[r.jsx("p",{className:` + */const Bre={upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},Sre={upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},zre={color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Cre={topColor:"rgba( 46, 220, 135, 0.4)",bottomColor:"rgba( 40, 221, 100, 0)",invertFilledArea:!1,lineColor:"#33D778",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Dre={baseValue:{type:"price",price:0},topFillColor1:"rgba(38, 166, 154, 0.28)",topFillColor2:"rgba(38, 166, 154, 0.05)",topLineColor:"rgba(38, 166, 154, 1)",bottomFillColor1:"rgba(239, 83, 80, 0.05)",bottomFillColor2:"rgba(239, 83, 80, 0.28)",bottomLineColor:"rgba(239, 83, 80, 1)",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},Are={color:"#26a69a",base:0},x1={color:"#2196f3"},y1={title:"",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var Hk,Gm;function Uo(t,e){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[e];t.setLineDash(n)}function w1(t,e,n,a){t.beginPath();const i=t.lineWidth%2?.5:0;t.moveTo(n,e+i),t.lineTo(a,e+i),t.stroke()}function eo(t,e){if(!t)throw new Error("Assertion failed"+(e?": "+e:""))}function on(t){if(t===void 0)throw new Error("Value is undefined");return t}function O(t){if(t===null)throw new Error("Value is null");return t}function Br(t){return O(on(t))}(function(t){t[t.Simple=0]="Simple",t[t.WithSteps=1]="WithSteps",t[t.Curved=2]="Curved"})(Hk||(Hk={})),function(t){t[t.Solid=0]="Solid",t[t.Dotted=1]="Dotted",t[t.Dashed=2]="Dashed",t[t.LargeDashed=3]="LargeDashed",t[t.SparseDotted=4]="SparseDotted"}(Gm||(Gm={}));const Kk={khaki:"#f0e68c",azure:"#f0ffff",aliceblue:"#f0f8ff",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",gray:"#808080",green:"#008000",honeydew:"#f0fff0",floralwhite:"#fffaf0",lightblue:"#add8e6",lightcoral:"#f08080",lemonchiffon:"#fffacd",hotpink:"#ff69b4",lightyellow:"#ffffe0",greenyellow:"#adff2f",lightgoldenrodyellow:"#fafad2",limegreen:"#32cd32",linen:"#faf0e6",lightcyan:"#e0ffff",magenta:"#f0f",maroon:"#800000",olive:"#808000",orange:"#ffa500",oldlace:"#fdf5e6",mediumblue:"#0000cd",transparent:"#0000",lime:"#0f0",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",midnightblue:"#191970",orchid:"#da70d6",mediumorchid:"#ba55d3",mediumturquoise:"#48d1cc",orangered:"#ff4500",royalblue:"#4169e1",powderblue:"#b0e0e6",red:"#f00",coral:"#ff7f50",turquoise:"#40e0d0",white:"#fff",whitesmoke:"#f5f5f5",wheat:"#f5deb3",teal:"#008080",steelblue:"#4682b4",bisque:"#ffe4c4",aquamarine:"#7fffd4",aqua:"#0ff",sienna:"#a0522d",silver:"#c0c0c0",springgreen:"#00ff7f",antiquewhite:"#faebd7",burlywood:"#deb887",brown:"#a52a2a",beige:"#f5f5dc",chocolate:"#d2691e",chartreuse:"#7fff00",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cadetblue:"#5f9ea0",tomato:"#ff6347",fuchsia:"#f0f",blue:"#00f",salmon:"#fa8072",blanchedalmond:"#ffebcd",slateblue:"#6a5acd",slategray:"#708090",thistle:"#d8bfd8",tan:"#d2b48c",cyan:"#0ff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",blueviolet:"#8a2be2",black:"#000",darkmagenta:"#8b008b",darkslateblue:"#483d8b",darkkhaki:"#bdb76b",darkorchid:"#9932cc",darkorange:"#ff8c00",darkgreen:"#006400",darkred:"#8b0000",dodgerblue:"#1e90ff",darkslategray:"#2f4f4f",dimgray:"#696969",deepskyblue:"#00bfff",firebrick:"#b22222",forestgreen:"#228b22",indigo:"#4b0082",ivory:"#fffff0",lavenderblush:"#fff0f5",feldspar:"#d19275",indianred:"#cd5c5c",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightskyblue:"#87cefa",lightslategray:"#789",lightslateblue:"#8470ff",snow:"#fffafa",lightseagreen:"#20b2aa",lightsalmon:"#ffa07a",darksalmon:"#e9967a",darkviolet:"#9400d3",mediumpurple:"#9370d8",mediumaquamarine:"#66cdaa",skyblue:"#87ceeb",lavender:"#e6e6fa",lightsteelblue:"#b0c4de",mediumvioletred:"#c71585",mintcream:"#f5fffa",navajowhite:"#ffdead",navy:"#000080",olivedrab:"#6b8e23",palevioletred:"#d87093",violetred:"#d02090",yellow:"#ff0",yellowgreen:"#9acd32",lawngreen:"#7cfc00",pink:"#ffc0cb",paleturquoise:"#afeeee",palegoldenrod:"#eee8aa",darkolivegreen:"#556b2f",darkseagreen:"#8fbc8f",darkturquoise:"#00ced1",peachpuff:"#ffdab9",deeppink:"#ff1493",violet:"#ee82ee",palegreen:"#98fb98",mediumseagreen:"#3cb371",peru:"#cd853f",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",purple:"#800080",seagreen:"#2e8b57",seashell:"#fff5ee",papayawhip:"#ffefd5",mediumslateblue:"#7b68ee",plum:"#dda0dd",mediumspringgreen:"#00fa9a"};function Pn(t){return t<0?0:t>255?255:Math.round(t)||0}function j1(t){return t<=0||t>0?t<0?0:t>1?1:Math.round(1e4*t)/1e4:0}const _re=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,Tre=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,Ere=/^rgb\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*\)$/,Pre=/^rgba\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?[\d]{0,10}(?:\.\d+)?)\s*\)$/;function Zu(t){(t=t.toLowerCase())in Kk&&(t=Kk[t]);{const e=Pre.exec(t)||Ere.exec(t);if(e)return[Pn(parseInt(e[1],10)),Pn(parseInt(e[2],10)),Pn(parseInt(e[3],10)),j1(e.length<5?1:parseFloat(e[4]))]}{const e=Tre.exec(t);if(e)return[Pn(parseInt(e[1],16)),Pn(parseInt(e[2],16)),Pn(parseInt(e[3],16)),1]}{const e=_re.exec(t);if(e)return[Pn(17*parseInt(e[1],16)),Pn(17*parseInt(e[2],16)),Pn(17*parseInt(e[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function Jd(t){const e=Zu(t);return{t:`rgb(${e[0]}, ${e[1]}, ${e[2]})`,i:(n=e,.199*n[0]+.687*n[1]+.114*n[2]>160?"black":"white")};var n}class et{constructor(){this.h=[]}l(e,n,a){const i={o:e,_:n,u:a===!0};this.h.push(i)}v(e){const n=this.h.findIndex(a=>e===a.o);n>-1&&this.h.splice(n,1)}p(e){this.h=this.h.filter(n=>n._!==e)}m(e,n,a){const i=[...this.h];this.h=this.h.filter(o=>!o.u),i.forEach(o=>o.o(e,n,a))}M(){return this.h.length>0}S(){this.h=[]}}function ha(t,...e){for(const n of e)for(const a in n)n[a]!==void 0&&(typeof n[a]!="object"||t[a]===void 0||Array.isArray(n[a])?t[a]=n[a]:ha(t[a],n[a]));return t}function Ta(t){return typeof t=="number"&&isFinite(t)}function kl(t){return typeof t=="number"&&t%1==0}function Il(t){return typeof t=="string"}function Bc(t){return typeof t=="boolean"}function ei(t){const e=t;if(!e||typeof e!="object")return e;let n,a,i;for(a in n=Array.isArray(e)?[]:{},e)e.hasOwnProperty(a)&&(i=e[a],n[a]=i&&typeof i=="object"?ei(i):i);return n}function Nre(t){return t!==null}function xl(t){return t===null?void 0:t}const Vg="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function Kr(t,e,n){return e===void 0&&(e=Vg),`${n=n!==void 0?`${n} `:""}${t}px ${e}`}let Lre=class{constructor(e){this.k={C:1,T:5,P:NaN,R:"",D:"",O:"",A:"",V:0,B:0,I:0,L:0,N:0},this.F=e}W(){const e=this.k,n=this.j(),a=this.H();return e.P===n&&e.D===a||(e.P=n,e.D=a,e.R=Kr(n,a),e.L=2.5/12*n,e.V=e.L,e.B=n/12*e.T,e.I=n/12*e.T,e.N=0),e.O=this.$(),e.A=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}};class Wg{constructor(){this.Y=[]}X(e){this.Y=e}K(e,n,a){this.Y.forEach(i=>{i.K(e,n,a)})}}class Ug{K(e,n,a){e.useMediaCoordinateSpace(i=>this.Z(i,n,a))}G(e,n,a){e.useMediaCoordinateSpace(i=>this.J(i,n,a))}J(e,n,a){}}let Ire=class extends Ug{constructor(){super(...arguments),this.tt=null}it(e){this.tt=e}Z({context:e}){if(this.tt===null||this.tt.nt===null)return;const n=this.tt.nt,a=this.tt,i=o=>{e.beginPath();for(let s=n.to-1;s>=n.from;--s){const l=a.st[s];e.moveTo(l.et,l.rt),e.arc(l.et,l.rt,o,0,2*Math.PI)}e.fill()};a.ht>0&&(e.fillStyle=a.lt,i(a.ot+a.ht)),e.fillStyle=a._t,i(a.ot)}};function $re(){return{st:[{et:0,rt:0,ut:0,ct:0}],_t:"",lt:"",ot:0,ht:0,nt:null}}const Mre={from:0,to:1};class Ore{constructor(e,n){this.dt=new Wg,this.ft=[],this.vt=[],this.bt=!0,this.F=e,this.wt=n,this.dt.X(this.ft)}gt(e){const n=this.F.Mt();n.length!==this.ft.length&&(this.vt=n.map($re),this.ft=this.vt.map(a=>{const i=new Ire;return i.it(a),i}),this.dt.X(this.ft)),this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.dt}St(){const e=this.wt.W().mode===2,n=this.F.Mt(),a=this.wt.kt(),i=this.F.yt();n.forEach((o,s)=>{var l;const c=this.vt[s],u=o.Ct(a);if(e||u===null||!o.Tt())return void(c.nt=null);const d=O(o.Pt());c._t=u.Rt,c.ot=u.ot,c.ht=u.Dt,c.st[0].ct=u.ct,c.st[0].rt=o.At().Ot(u.ct,d.Vt),c.lt=(l=u.Bt)!==null&&l!==void 0?l:this.F.It(c.st[0].rt/o.At().zt()),c.st[0].ut=a,c.st[0].et=i.Et(a),c.nt=Mre})}}class fi{K(e,n,a){e.useBitmapCoordinateSpace(i=>this.Z(i,n,a))}}let Rre=class extends fi{constructor(e){super(),this.Lt=e}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null)return;const o=this.Lt.Nt.Tt,s=this.Lt.Ft.Tt;if(!o&&!s)return;const l=Math.round(this.Lt.et*a),c=Math.round(this.Lt.rt*i);e.lineCap="butt",o&&l>=0&&(e.lineWidth=Math.floor(this.Lt.Nt.ht*a),e.strokeStyle=this.Lt.Nt.O,e.fillStyle=this.Lt.Nt.O,Uo(e,this.Lt.Nt.Wt),function(u,d,p,h){u.beginPath();const m=u.lineWidth%2?.5:0;u.moveTo(d+m,p),u.lineTo(d+m,h),u.stroke()}(e,l,0,n.height)),s&&c>=0&&(e.lineWidth=Math.floor(this.Lt.Ft.ht*i),e.strokeStyle=this.Lt.Ft.O,e.fillStyle=this.Lt.Ft.O,Uo(e,this.Lt.Ft.Wt),w1(e,c,0,n.width))}};class Fre{constructor(e){this.bt=!0,this.jt={Nt:{ht:1,Wt:0,O:"",Tt:!1},Ft:{ht:1,Wt:0,O:"",Tt:!1},et:0,rt:0},this.Ht=new Rre(this.jt),this.$t=e}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht}St(){const e=this.$t.Tt(),n=O(this.$t.Ut()),a=n.qt().W().crosshair,i=this.jt;if(a.mode===2)return i.Ft.Tt=!1,void(i.Nt.Tt=!1);i.Ft.Tt=e&&this.$t.Yt(n),i.Nt.Tt=e&&this.$t.Xt(),i.Ft.ht=a.horzLine.width,i.Ft.Wt=a.horzLine.style,i.Ft.O=a.horzLine.color,i.Nt.ht=a.vertLine.width,i.Nt.Wt=a.vertLine.style,i.Nt.O=a.vertLine.color,i.et=this.$t.Kt(),i.rt=this.$t.Zt()}}function Vre(t,e,n,a,i,o){t.fillRect(e+o,n,a-2*o,o),t.fillRect(e+o,n+i-o,a-2*o,o),t.fillRect(e,n,o,i),t.fillRect(e+a-o,n,o,i)}function Xd(t,e,n,a,i,o){t.save(),t.globalCompositeOperation="copy",t.fillStyle=o,t.fillRect(e,n,a,i),t.restore()}function Gk(t,e){return t.map(n=>n===0?n:n+e)}function lh(t,e,n,a,i,o){t.beginPath(),t.lineTo(e+a-o[1],n),o[1]!==0&&t.arcTo(e+a,n,e+a,n+o[1],o[1]),t.lineTo(e+a,n+i-o[2]),o[2]!==0&&t.arcTo(e+a,n+i,e+a-o[2],n+i,o[2]),t.lineTo(e+o[3],n+i),o[3]!==0&&t.arcTo(e,n+i,e,n+i-o[3],o[3]),t.lineTo(e,n+o[0]),o[0]!==0&&t.arcTo(e,n,e+o[0],n,o[0])}function Qk(t,e,n,a,i,o,s=0,l=[0,0,0,0],c=""){if(t.save(),!s||!c||c===o)return lh(t,e,n,a,i,l),t.fillStyle=o,t.fill(),void t.restore();const u=s/2;o!=="transparent"&&(lh(t,e+s,n+s,a-2*s,i-2*s,Gk(l,-s)),t.fillStyle=o,t.fill()),c!=="transparent"&&(lh(t,e+u,n+u,a-s,i-s,Gk(l,-u)),t.lineWidth=s,t.strokeStyle=c,t.closePath(),t.stroke()),t.restore()}function B1(t,e,n,a,i,o,s){t.save(),t.globalCompositeOperation="copy";const l=t.createLinearGradient(0,0,0,i);l.addColorStop(0,o),l.addColorStop(1,s),t.fillStyle=l,t.fillRect(e,n,a,i),t.restore()}class Yk{constructor(e,n){this.it(e,n)}it(e,n){this.Lt=e,this.Gt=n}zt(e,n){return this.Lt.Tt?e.P+e.L+e.V:0}K(e,n,a,i){if(!this.Lt.Tt||this.Lt.Jt.length===0)return;const o=this.Lt.O,s=this.Gt.t,l=e.useBitmapCoordinateSpace(c=>{const u=c.context;u.font=n.R;const d=this.Qt(c,n,a,i),p=d.ti,h=(m,g)=>{d.ii?Qk(u,p.ni,p.si,p.ei,p.ri,m,p.hi,[p.ot,0,0,p.ot],g):Qk(u,p.li,p.si,p.ei,p.ri,m,p.hi,[0,p.ot,p.ot,0],g)};return h(s,"transparent"),this.Lt.ai&&(u.fillStyle=o,u.fillRect(p.li,p.oi,p._i-p.li,p.ui)),h("transparent",s),this.Lt.ci&&(u.fillStyle=n.A,u.fillRect(d.ii?p.di-p.hi:0,p.si,p.hi,p.fi-p.si)),d});e.useMediaCoordinateSpace(({context:c})=>{const u=l.vi;c.font=n.R,c.textAlign=l.ii?"right":"left",c.textBaseline="middle",c.fillStyle=o,c.fillText(this.Lt.Jt,u.pi,(u.si+u.fi)/2+u.mi)})}Qt(e,n,a,i){var o;const{context:s,bitmapSize:l,mediaSize:c,horizontalPixelRatio:u,verticalPixelRatio:d}=e,p=this.Lt.ai||!this.Lt.bi?n.T:0,h=this.Lt.wi?n.C:0,m=n.L+this.Gt.gi,g=n.V+this.Gt.Mi,v=n.B,y=n.I,b=this.Lt.Jt,k=n.P,w=a.xi(s,b),j=Math.ceil(a.Si(s,b)),z=k+m+g,S=n.C+v+y+j+p,f=Math.max(1,Math.floor(d));let B=Math.round(z*d);B%2!=f%2&&(B+=1);const D=h>0?Math.max(1,Math.floor(h*u)):0,C=Math.round(S*u),P=Math.round(p*u),I=(o=this.Gt.ki)!==null&&o!==void 0?o:this.Gt.yi,E=Math.round(I*d)-Math.floor(.5*d),L=Math.floor(E+f/2-B/2),q=L+B,U=i==="right",$=U?c.width-h:h,T=U?l.width-D:D;let F,N,Q;return U?(F=T-C,N=T-P,Q=$-p-v-h):(F=T+C,N=T+P,Q=$+p+v),{ii:U,ti:{si:L,oi:E,fi:q,ei:C,ri:B,ot:2*u,hi:D,ni:F,li:T,_i:N,ui:f,di:l.width},vi:{si:L/d,fi:q/d,pi:Q,mi:w}}}}class ep{constructor(e){this.Ci={yi:0,t:"#000",Mi:0,gi:0},this.Ti={Jt:"",Tt:!1,ai:!0,bi:!1,Bt:"",O:"#FFF",ci:!1,wi:!1},this.Pi={Jt:"",Tt:!1,ai:!1,bi:!0,Bt:"",O:"#FFF",ci:!0,wi:!0},this.bt=!0,this.Ri=new(e||Yk)(this.Ti,this.Ci),this.Di=new(e||Yk)(this.Pi,this.Ci)}Jt(){return this.Oi(),this.Ti.Jt}yi(){return this.Oi(),this.Ci.yi}gt(){this.bt=!0}zt(e,n=!1){return Math.max(this.Ri.zt(e,n),this.Di.zt(e,n))}Ai(){return this.Ci.ki||0}Vi(e){this.Ci.ki=e}Bi(){return this.Oi(),this.Ti.Tt||this.Pi.Tt}Ii(){return this.Oi(),this.Ti.Tt}xt(e){return this.Oi(),this.Ti.ai=this.Ti.ai&&e.W().ticksVisible,this.Pi.ai=this.Pi.ai&&e.W().ticksVisible,this.Ri.it(this.Ti,this.Ci),this.Di.it(this.Pi,this.Ci),this.Ri}zi(){return this.Oi(),this.Ri.it(this.Ti,this.Ci),this.Di.it(this.Pi,this.Ci),this.Di}Oi(){this.bt&&(this.Ti.ai=!0,this.Pi.ai=!1,this.Ei(this.Ti,this.Pi,this.Ci))}}class Wre extends ep{constructor(e,n,a){super(),this.$t=e,this.Li=n,this.Ni=a}Ei(e,n,a){if(e.Tt=!1,this.$t.W().mode===2)return;const i=this.$t.W().horzLine;if(!i.labelVisible)return;const o=this.Li.Pt();if(!this.$t.Tt()||this.Li.Fi()||o===null)return;const s=Jd(i.labelBackgroundColor);a.t=s.t,e.O=s.i;const l=2/12*this.Li.P();a.gi=l,a.Mi=l;const c=this.Ni(this.Li);a.yi=c.yi,e.Jt=this.Li.Wi(c.ct,o),e.Tt=!0}}const Ure=/[1-9]/g;let S1=class{constructor(){this.Lt=null}it(e){this.Lt=e}K(e,n){if(this.Lt===null||this.Lt.Tt===!1||this.Lt.Jt.length===0)return;const a=e.useMediaCoordinateSpace(({context:h})=>(h.font=n.R,Math.round(n.ji.Si(h,O(this.Lt).Jt,Ure))));if(a<=0)return;const i=n.Hi,o=a+2*i,s=o/2,l=this.Lt.$i;let c=this.Lt.yi,u=Math.floor(c-s)+.5;u<0?(c+=Math.abs(0-u),u=Math.floor(c-s)+.5):u+o>l&&(c-=Math.abs(l-(u+o)),u=Math.floor(c-s)+.5);const d=u+o,p=Math.ceil(0+n.C+n.T+n.L+n.P+n.V);e.useBitmapCoordinateSpace(({context:h,horizontalPixelRatio:m,verticalPixelRatio:g})=>{const v=O(this.Lt);h.fillStyle=v.t;const y=Math.round(u*m),b=Math.round(0*g),k=Math.round(d*m),w=Math.round(p*g),j=Math.round(2*m);if(h.beginPath(),h.moveTo(y,b),h.lineTo(y,w-j),h.arcTo(y,w,y+j,w,j),h.lineTo(k-j,w),h.arcTo(k,w,k,w-j,j),h.lineTo(k,b),h.fill(),v.ai){const z=Math.round(v.yi*m),S=b,f=Math.round((S+n.T)*g);h.fillStyle=v.O;const B=Math.max(1,Math.floor(m)),D=Math.floor(.5*m);h.fillRect(z-D,S,B,f-S)}}),e.useMediaCoordinateSpace(({context:h})=>{const m=O(this.Lt),g=0+n.C+n.T+n.L+n.P/2;h.font=n.R,h.textAlign="left",h.textBaseline="middle",h.fillStyle=m.O;const v=n.ji.xi(h,"Apr0");h.translate(u+i,g+v),h.fillText(m.Jt,0,0)})}},qre=class{constructor(e,n,a){this.bt=!0,this.Ht=new S1,this.jt={Tt:!1,t:"#4c525e",O:"white",Jt:"",$i:0,yi:NaN,ai:!0},this.wt=e,this.Ui=n,this.Ni=a}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht.it(this.jt),this.Ht}St(){const e=this.jt;if(e.Tt=!1,this.wt.W().mode===2)return;const n=this.wt.W().vertLine;if(!n.labelVisible)return;const a=this.Ui.yt();if(a.Fi())return;e.$i=a.$i();const i=this.Ni();if(i===null)return;e.yi=i.yi;const o=a.qi(this.wt.kt());e.Jt=a.Yi(O(o)),e.Tt=!0;const s=Jd(n.labelBackgroundColor);e.t=s.t,e.O=s.i,e.ai=a.W().ticksVisible}},qg=class{constructor(){this.Xi=null,this.Ki=0}Zi(){return this.Ki}Gi(e){this.Ki=e}At(){return this.Xi}Ji(e){this.Xi=e}Qi(e){return[]}tn(){return[]}Tt(){return!0}};var Zk;(function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet",t[t.Hidden=2]="Hidden"})(Zk||(Zk={}));let Hre=class extends qg{constructor(e,n){super(),this.nn=null,this.sn=NaN,this.en=0,this.rn=!0,this.hn=new Map,this.ln=!1,this.an=NaN,this.on=NaN,this._n=NaN,this.un=NaN,this.Ui=e,this.cn=n,this.dn=new Ore(e,this),this.fn=((i,o)=>s=>{const l=o(),c=i();if(s===O(this.nn).vn())return{ct:c,yi:l};{const u=O(s.Pt());return{ct:s.pn(l,u),yi:l}}})(()=>this.sn,()=>this.on);const a=((i,o)=>()=>{const s=this.Ui.yt().mn(i()),l=o();return s&&Number.isFinite(l)?{ut:s,yi:l}:null})(()=>this.en,()=>this.Kt());this.bn=new qre(this,e,a),this.wn=new Fre(this)}W(){return this.cn}gn(e,n){this._n=e,this.un=n}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(e,n,a){this.ln||(this.ln=!0),this.rn=!0,this.yn(e,n,a)}kt(){return this.en}Kt(){return this.an}Zt(){return this.on}Tt(){return this.rn}Cn(){this.rn=!1,this.Tn(),this.sn=NaN,this.an=NaN,this.on=NaN,this.nn=null,this.Mn()}Pn(e){return this.nn!==null?[this.wn,this.dn]:[]}Yt(e){return e===this.nn&&this.cn.horzLine.visible}Xt(){return this.cn.vertLine.visible}Rn(e,n){this.rn&&this.nn===e||this.hn.clear();const a=[];return this.nn===e&&a.push(this.Dn(this.hn,n,this.fn)),a}tn(){return this.rn?[this.bn]:[]}Ut(){return this.nn}On(){this.wn.gt(),this.hn.forEach(e=>e.gt()),this.bn.gt(),this.dn.gt()}An(e){return e&&!e.vn().Fi()?e.vn():null}yn(e,n,a){this.Vn(e,n,a)&&this.On()}Vn(e,n,a){const i=this.an,o=this.on,s=this.sn,l=this.en,c=this.nn,u=this.An(a);this.en=e,this.an=isNaN(e)?NaN:this.Ui.yt().Et(e),this.nn=a;const d=u!==null?u.Pt():null;return u!==null&&d!==null?(this.sn=n,this.on=u.Ot(n,d)):(this.sn=NaN,this.on=NaN),i!==this.an||o!==this.on||l!==this.en||s!==this.sn||c!==this.nn}Tn(){const e=this.Ui.Mt().map(a=>a.In().Bn()).filter(Nre),n=e.length===0?null:Math.max(...e);this.en=n!==null?n:NaN}Dn(e,n,a){let i=e.get(n);return i===void 0&&(i=new Wre(this,n,a),e.set(n,i)),i}};function tp(t){return t==="left"||t==="right"}class vt{constructor(e){this.zn=new Map,this.En=[],this.Ln=e}Nn(e,n){const a=function(i,o){return i===void 0?o:{Fn:Math.max(i.Fn,o.Fn),Wn:i.Wn||o.Wn}}(this.zn.get(e),n);this.zn.set(e,a)}jn(){return this.Ln}Hn(e){const n=this.zn.get(e);return n===void 0?{Fn:this.Ln}:{Fn:Math.max(this.Ln,n.Fn),Wn:n.Wn}}$n(){this.Un(),this.En=[{qn:0}]}Yn(e){this.Un(),this.En=[{qn:1,Vt:e}]}Xn(e){this.Kn(),this.En.push({qn:5,Vt:e})}Un(){this.Kn(),this.En.push({qn:6})}Zn(){this.Un(),this.En=[{qn:4}]}Gn(e){this.Un(),this.En.push({qn:2,Vt:e})}Jn(e){this.Un(),this.En.push({qn:3,Vt:e})}Qn(){return this.En}ts(e){for(const n of e.En)this.ns(n);this.Ln=Math.max(this.Ln,e.Ln),e.zn.forEach((n,a)=>{this.Nn(a,n)})}static ss(){return new vt(2)}static es(){return new vt(3)}ns(e){switch(e.qn){case 0:this.$n();break;case 1:this.Yn(e.Vt);break;case 2:this.Gn(e.Vt);break;case 3:this.Jn(e.Vt);break;case 4:this.Zn();break;case 5:this.Xn(e.Vt);break;case 6:this.Kn()}}Kn(){const e=this.En.findIndex(n=>n.qn===5);e!==-1&&this.En.splice(e,1)}}const Jk=".";function ti(t,e){if(!Ta(t))return"n/a";if(!kl(e))throw new TypeError("invalid length");if(e<0||e>16)throw new TypeError("invalid length");return e===0?t.toString():("0000000000000000"+t.toString()).slice(-e)}let np=class{constructor(e,n){if(n||(n=1),Ta(e)&&kl(e)||(e=100),e<0)throw new TypeError("invalid base");this.Li=e,this.rs=n,this.hs()}format(e){const n=e<0?"−":"";return e=Math.abs(e),n+this.ls(e)}hs(){if(this.os=0,this.Li>0&&this.rs>0){let e=this.Li;for(;e>1;)e/=10,this.os++}}ls(e){const n=this.Li/this.rs;let a=Math.floor(e),i="";const o=this.os!==void 0?this.os:NaN;if(n>1){let s=+(Math.round(e*n)-a*n).toFixed(this.os);s>=n&&(s-=n,a+=1),i=Jk+ti(+s.toFixed(this.os)*this.rs,o)}else a=Math.round(a*n)/n,o>0&&(i=Jk+ti(0,o));return a.toFixed(0)+i}},z1=class extends np{constructor(e=100){super(e)}format(e){return`${super.format(e)}%`}},Kre=class{constructor(e){this._s=e}format(e){let n="";return e<0&&(n="-",e=-e),e<995?n+this.us(e):e<999995?n+this.us(e/1e3)+"K":e<999999995?(e=1e3*Math.round(e/1e3),n+this.us(e/1e6)+"M"):(e=1e6*Math.round(e/1e6),n+this.us(e/1e9)+"B")}us(e){let n;const a=Math.pow(10,this._s);return n=(e=Math.round(e*a)/a)>=1e-15&&e<1?e.toFixed(this._s).replace(/\.?0+$/,""):String(e),n.replace(/(\.[1-9]*)0+$/,(i,o)=>o)}};function C1(t,e,n,a,i,o,s){if(e.length===0||a.from>=e.length||a.to<=0)return;const{context:l,horizontalPixelRatio:c,verticalPixelRatio:u}=t,d=e[a.from];let p=o(t,d),h=d;if(a.to-a.from<2){const m=i/2;l.beginPath();const g={et:d.et-m,rt:d.rt},v={et:d.et+m,rt:d.rt};l.moveTo(g.et*c,g.rt*u),l.lineTo(v.et*c,v.rt*u),s(t,p,g,v)}else{const m=(v,y)=>{s(t,p,h,y),l.beginPath(),p=v,h=y};let g=h;l.beginPath(),l.moveTo(d.et*c,d.rt*u);for(let v=a.from+1;v=g.from;--S){const f=h[S];if(f){const B=v(p,f);B!==w&&(k.beginPath(),w!==null&&k.fill(),k.fillStyle=B,w=B);const D=Math.round(f.et*y)+j,C=f.rt*b;k.moveTo(D,C),k.arc(D,C,z,0,2*Math.PI)}}k.fill()}(e,n,c,a,d)}},T1=class extends _1{Ds(e,n){return n._t}};function E1(t,e,n,a,i=0,o=e.length){let s=o-i;for(;0>1,c=i+l;a(e[c],n)===t?(i=c+1,s-=l+1):s=l}return i}const $l=E1.bind(null,!0),P1=E1.bind(null,!1);function Jre(t,e){return t.ut0&&o=a&&(l=o-1),s>0&&sObject.assign(Object.assign({},e),this.Es.$s().Hs(e.ut)))}Us(){this.zs=null}Fs(){this.Vs&&(this.qs(),this.Vs=!1),this.Bs&&(this.js(),this.Bs=!1),this.As&&(this.Ys(),this.As=!1)}Ys(){const e=this.Es.At(),n=this.Ls.yt();if(this.Us(),n.Fi()||e.Fi())return;const a=n.Xs();if(a===null||this.Es.In().Ks()===0)return;const i=this.Es.Pt();i!==null&&(this.zs=N1(this.Is,a,this.Ns),this.Zs(e,n,i.Vt),this.Gs())}},ap=class extends Kg{constructor(e,n){super(e,n,!0)}Zs(e,n,a){n.Js(this.Is,xl(this.zs)),e.Qs(this.Is,a,xl(this.zs))}te(e,n){return{ut:e,ct:n,et:NaN,rt:NaN}}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>{const a=n.Vt[3];return this.ne(n.se,a,e)})}},ese=class extends ap{constructor(e,n){super(e,n),this.Ws=new Wg,this.ee=new Yre,this.re=new T1,this.Ws.X([this.ee,this.re])}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.W();this.ee.it({ds:e.lineType,st:this.Is,Wt:e.lineStyle,ht:e.lineWidth,fs:null,vs:e.invertFilledArea,nt:this.zs,cs:this.Ls.yt().he()}),this.re.it({ds:e.lineVisible?e.lineType:void 0,st:this.Is,Wt:e.lineStyle,ht:e.lineWidth,nt:this.zs,cs:this.Ls.yt().he(),Rs:e.pointMarkersVisible?e.pointMarkersRadius||e.lineWidth/2+2:void 0})}},tse=class extends fi{constructor(){super(...arguments),this.Lt=null,this.le=0,this.ae=0}it(e){this.Lt=e}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){if(this.Lt===null||this.Lt.In.length===0||this.Lt.nt===null)return;this.le=this.oe(n),this.le>=2&&Math.max(1,Math.floor(n))%2!=this.le%2&&this.le--,this.ae=this.Lt._e?Math.min(this.le,Math.floor(n)):this.le;let i=null;const o=this.ae<=this.le&&this.Lt.he>=Math.floor(1.5*n);for(let s=this.Lt.nt.from;sv+b-1&&(B=v+b-1,f=B-p+1),e.fillRect(S,f,d-S,B-f+1)}const w=u+k;let j=Math.max(v,Math.round(l.pe*a)-c),z=j+p-1;z>v+b-1&&(z=v+b-1,j=z-p+1),e.fillRect(h+1,j,w-h,z-j+1)}}}oe(e){const n=Math.floor(e);return Math.max(n,Math.floor(function(a,i){return Math.floor(.3*a*i)}(O(this.Lt).he,e)))}},L1=class extends Kg{constructor(e,n){super(e,n,!1)}Zs(e,n,a){n.Js(this.Is,xl(this.zs)),e.me(this.Is,a,xl(this.zs))}be(e,n,a){return{ut:e,we:n.Vt[0],ge:n.Vt[1],Me:n.Vt[2],xe:n.Vt[3],et:NaN,ve:NaN,ce:NaN,de:NaN,pe:NaN}}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>this.ne(n.se,n,e))}},nse=class extends L1{constructor(){super(...arguments),this.Ws=new tse}ne(e,n,a){return Object.assign(Object.assign({},this.be(e,n,a)),a.Hs(e))}Gs(){const e=this.Es.W();this.Ws.it({In:this.Is,he:this.Ls.yt().he(),fe:e.openVisible,_e:e.thinBars,nt:this.zs})}},ase=class extends D1{constructor(){super(...arguments),this.Cs=new Hg}ps(e,n){const a=this.tt;return this.Cs.bs(e,{gs:n.Se,Ms:n.ke,xs:n.ye,Ss:n.Ce,ks:e.bitmapSize.height,fs:a.fs})}},ise=class extends _1{constructor(){super(...arguments),this.Te=new Hg}Ds(e,n){const a=this.tt;return this.Te.bs(e,{gs:n.Pe,Ms:n.Pe,xs:n.Re,Ss:n.Re,ks:e.bitmapSize.height,fs:a.fs})}},ose=class extends ap{constructor(e,n){super(e,n),this.Ws=new Wg,this.De=new ase,this.Oe=new ise,this.Ws.X([this.De,this.Oe])}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.Pt();if(e===null)return;const n=this.Es.W(),a=this.Es.At().Ot(n.baseValue.price,e.Vt),i=this.Ls.yt().he();this.De.it({st:this.Is,ht:n.lineWidth,Wt:n.lineStyle,ds:n.lineType,fs:a,vs:!1,nt:this.zs,cs:i}),this.Oe.it({st:this.Is,ht:n.lineWidth,Wt:n.lineStyle,ds:n.lineVisible?n.lineType:void 0,Rs:n.pointMarkersVisible?n.pointMarkersRadius||n.lineWidth/2+2:void 0,fs:a,nt:this.zs,cs:i})}},rse=class extends fi{constructor(){super(...arguments),this.Lt=null,this.le=0}it(e){this.Lt=e}Z(e){if(this.Lt===null||this.Lt.In.length===0||this.Lt.nt===null)return;const{horizontalPixelRatio:n}=e;this.le=function(o,s){if(o>=2.5&&o<=4)return Math.floor(3*s);const l=1-.2*Math.atan(Math.max(4,o)-4)/(.5*Math.PI),c=Math.floor(o*l*s),u=Math.floor(o*s),d=Math.min(c,u);return Math.max(Math.floor(s),d)}(this.Lt.he,n),this.le>=2&&Math.floor(n)%2!=this.le%2&&this.le--;const a=this.Lt.In;this.Lt.Ae&&this.Ve(e,a,this.Lt.nt),this.Lt.ci&&this.Be(e,a,this.Lt.nt);const i=this.Ie(n);(!this.Lt.ci||this.le>2*i)&&this.ze(e,a,this.Lt.nt)}Ve(e,n,a){if(this.Lt===null)return;const{context:i,horizontalPixelRatio:o,verticalPixelRatio:s}=e;let l="",c=Math.min(Math.floor(o),Math.floor(this.Lt.he*o));c=Math.max(Math.floor(o),Math.min(c,this.le));const u=Math.floor(.5*c);let d=null;for(let p=a.from;p2*c)Vre(i,h,g,m-h+1,v-g+1,c);else{const y=m-h+1;i.fillRect(h,g,y,v-g+1)}u=m}}ze(e,n,a){if(this.Lt===null)return;const{context:i,horizontalPixelRatio:o,verticalPixelRatio:s}=e;let l="";const c=this.Ie(o);for(let u=a.from;uh||i.fillRect(m,p,g-m+1,h-p+1)}}},sse=class extends L1{constructor(){super(...arguments),this.Ws=new rse}ne(e,n,a){return Object.assign(Object.assign({},this.be(e,n,a)),a.Hs(e))}Gs(){const e=this.Es.W();this.Ws.it({In:this.Is,he:this.Ls.yt().he(),Ae:e.wickVisible,ci:e.borderVisible,nt:this.zs})}},lse=class{constructor(e,n){this.Ne=e,this.Li=n}K(e,n,a){this.Ne.draw(e,this.Li,n,a)}},uh=class extends Kg{constructor(e,n,a){super(e,n,!1),this.wn=a,this.Ws=new lse(this.wn.renderer(),i=>{const o=e.Pt();return o===null?null:e.At().Ot(i,o.Vt)})}Fe(e){return this.wn.priceValueBuilder(e)}We(e){return this.wn.isWhitespace(e)}qs(){const e=this.Es.$s();this.Is=this.Es.In().ie().map(n=>Object.assign(Object.assign({ut:n.se,et:NaN},e.Hs(n.se)),{je:n.He}))}Zs(e,n){n.Js(this.Is,xl(this.zs))}Gs(){this.wn.update({bars:this.Is.map(cse),barSpacing:this.Ls.yt().he(),visibleRange:this.zs},this.Es.W())}};function cse(t){return{x:t.et,time:t.ut,originalData:t.je,barColor:t.ue}}let use=class extends fi{constructor(){super(...arguments),this.Lt=null,this.$e=[]}it(e){this.Lt=e,this.$e=[]}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){if(this.Lt===null||this.Lt.st.length===0||this.Lt.nt===null)return;this.$e.length||this.Ue(n);const i=Math.max(1,Math.floor(a)),o=Math.round(this.Lt.qe*a)-Math.floor(i/2),s=o+i;for(let l=this.Lt.nt.from;ll.Xe?l.di=s.Os-n-1:s.Os=l.di+n+1)}let i=Math.ceil(this.Lt.he*e);for(let o=this.Lt.nt.from;o0&&i<4)for(let o=this.Lt.nt.from;oi&&(s.Ye>s.Xe?s.di-=1:s.Os+=1)}}};class dse extends ap{constructor(){super(...arguments),this.Ws=new use}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e={st:this.Is,he:this.Ls.yt().he(),nt:this.zs,qe:this.Es.At().Ot(this.Es.W().base,O(this.Es.Pt()).Vt)};this.Ws.it(e)}}class pse extends ap{constructor(){super(...arguments),this.Ws=new T1}ne(e,n,a){return Object.assign(Object.assign({},this.te(e,n)),a.Hs(e))}Gs(){const e=this.Es.W(),n={st:this.Is,Wt:e.lineStyle,ds:e.lineVisible?e.lineType:void 0,ht:e.lineWidth,Rs:e.pointMarkersVisible?e.pointMarkersRadius||e.lineWidth/2+2:void 0,nt:this.zs,cs:this.Ls.yt().he()};this.Ws.it(n)}}const hse=/[2-9]/g;class yl{constructor(e=50){this.Ke=0,this.Ze=1,this.Ge=1,this.Je={},this.Qe=new Map,this.tr=e}ir(){this.Ke=0,this.Qe.clear(),this.Ze=1,this.Ge=1,this.Je={}}Si(e,n,a){return this.nr(e,n,a).width}xi(e,n,a){const i=this.nr(e,n,a);return((i.actualBoundingBoxAscent||0)-(i.actualBoundingBoxDescent||0))/2}nr(e,n,a){const i=a||hse,o=String(n).replace(i,"0");if(this.Qe.has(o))return on(this.Qe.get(o)).sr;if(this.Ke===this.tr){const l=this.Je[this.Ge];delete this.Je[this.Ge],this.Qe.delete(l),this.Ge++,this.Ke--}e.save(),e.textBaseline="middle";const s=e.measureText(o);return e.restore(),s.width===0&&n.length||(this.Qe.set(o,{sr:s,er:this.Ze}),this.Je[this.Ze]=o,this.Ke++,this.Ze++),s}}class mse{constructor(e){this.rr=null,this.k=null,this.hr="right",this.lr=e}ar(e,n,a){this.rr=e,this.k=n,this.hr=a}K(e){this.k!==null&&this.rr!==null&&this.rr.K(e,this.k,this.lr,this.hr)}}class I1{constructor(e,n,a){this._r=e,this.lr=new yl(50),this.ur=n,this.F=a,this.j=-1,this.Ht=new mse(this.lr)}xt(){const e=this.F.cr(this.ur);if(e===null)return null;const n=e.dr(this.ur)?e.vr():this.ur.At();if(n===null)return null;const a=e.pr(n);if(a==="overlay")return null;const i=this.F.mr();return i.P!==this.j&&(this.j=i.P,this.lr.ir()),this.Ht.ar(this._r.zi(),i,a),this.Ht}}class fse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}br(e,n){var a;if(!(!((a=this.Lt)===null||a===void 0)&&a.Tt))return null;const{rt:i,ht:o,wr:s}=this.Lt;return n>=i-o-7&&n<=i+o+7?{gr:this.Lt,wr:s}:null}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null||this.Lt.Tt===!1)return;const o=Math.round(this.Lt.rt*i);o<0||o>n.height||(e.lineCap="butt",e.strokeStyle=this.Lt.O,e.lineWidth=Math.floor(this.Lt.ht*a),Uo(e,this.Lt.Wt),w1(e,o,0,n.width))}}class Gg{constructor(e){this.Mr={rt:0,O:"rgba(0, 0, 0, 0)",ht:1,Wt:0,Tt:!1},this.Sr=new fse,this.bt=!0,this.Es=e,this.Ls=e.qt(),this.Sr.it(this.Mr)}gt(){this.bt=!0}xt(){return this.Es.Tt()?(this.bt&&(this.kr(),this.bt=!1),this.Sr):null}}class gse extends Gg{constructor(e){super(e)}kr(){this.Mr.Tt=!1;const e=this.Es.At(),n=e.yr().yr;if(n!==2&&n!==3)return;const a=this.Es.W();if(!a.baseLineVisible||!this.Es.Tt())return;const i=this.Es.Pt();i!==null&&(this.Mr.Tt=!0,this.Mr.rt=e.Ot(i.Vt,i.Vt),this.Mr.O=a.baseLineColor,this.Mr.ht=a.baseLineWidth,this.Mr.Wt=a.baseLineStyle)}}class vse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}He(){return this.Lt}Z({context:e,horizontalPixelRatio:n,verticalPixelRatio:a}){const i=this.Lt;if(i===null)return;const o=Math.max(1,Math.floor(n)),s=o%2/2,l=Math.round(i.Xe.x*n)+s,c=i.Xe.y*a;e.fillStyle=i.Cr,e.beginPath();const u=Math.max(2,1.5*i.Tr)*n;e.arc(l,c,u,0,2*Math.PI,!1),e.fill(),e.fillStyle=i.Pr,e.beginPath(),e.arc(l,c,i.ot*n,0,2*Math.PI,!1),e.fill(),e.lineWidth=o,e.strokeStyle=i.Rr,e.beginPath(),e.arc(l,c,i.ot*n+o/2,0,2*Math.PI,!1),e.stroke()}}const bse=[{Dr:0,Or:.25,Ar:4,Vr:10,Br:.25,Ir:0,zr:.4,Er:.8},{Dr:.25,Or:.525,Ar:10,Vr:14,Br:0,Ir:0,zr:.8,Er:0},{Dr:.525,Or:1,Ar:14,Vr:14,Br:0,Ir:0,zr:0,Er:0}];function tx(t,e,n,a){return function(i,o){if(i==="transparent")return i;const s=Zu(i),l=s[3];return`rgba(${s[0]}, ${s[1]}, ${s[2]}, ${o*l})`}(t,n+(a-n)*e)}function nx(t,e){const n=t%2600/2600;let a;for(const c of bse)if(n>=c.Dr&&n<=c.Or){a=c;break}eo(a!==void 0,"Last price animation internal logic error");const i=(n-a.Dr)/(a.Or-a.Dr);return{Pr:tx(e,i,a.Br,a.Ir),Rr:tx(e,i,a.zr,a.Er),ot:(o=i,s=a.Ar,l=a.Vr,s+(l-s)*o)};var o,s,l}class kse{constructor(e){this.Ht=new vse,this.bt=!0,this.Lr=!0,this.Nr=performance.now(),this.Fr=this.Nr-1,this.Wr=e}jr(){this.Fr=this.Nr-1,this.gt()}Hr(){if(this.gt(),this.Wr.W().lastPriceAnimation===2){const e=performance.now(),n=this.Fr-e;if(n>0)return void(n<650&&(this.Fr+=2600));this.Nr=e,this.Fr=e+2600}}gt(){this.bt=!0}$r(){this.Lr=!0}Tt(){return this.Wr.W().lastPriceAnimation!==0}Ur(){switch(this.Wr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Fr}}xt(){return this.bt?(this.St(),this.bt=!1,this.Lr=!1):this.Lr&&(this.qr(),this.Lr=!1),this.Ht}St(){this.Ht.it(null);const e=this.Wr.qt().yt(),n=e.Xs(),a=this.Wr.Pt();if(n===null||a===null)return;const i=this.Wr.Yr(!0);if(i.Xr||!n.Kr(i.se))return;const o={x:e.Et(i.se),y:this.Wr.At().Ot(i.ct,a.Vt)},s=i.O,l=this.Wr.W().lineWidth,c=nx(this.Zr(),s);this.Ht.it({Cr:s,Tr:l,Pr:c.Pr,Rr:c.Rr,ot:c.ot,Xe:o})}qr(){const e=this.Ht.He();if(e!==null){const n=nx(this.Zr(),e.Cr);e.Pr=n.Pr,e.Rr=n.Rr,e.ot=n.ot}}Zr(){return this.Ur()?performance.now()-this.Nr:2599}}function Us(t,e){return A1(Math.min(Math.max(t,12),30)*e)}function wl(t,e){switch(t){case"arrowDown":case"arrowUp":return Us(e,1);case"circle":return Us(e,.8);case"square":return Us(e,.7)}}function $1(t){return function(e){const n=Math.ceil(e);return n%2!=0?n-1:n}(Us(t,1))}function ax(t){return Math.max(Us(t,.1),3)}function M1(t,e,n,a,i){const o=wl("square",n),s=(o-1)/2,l=t-s,c=e-s;return a>=l&&a<=l+o&&i>=c&&i<=c+o}function ix(t,e,n,a,i){const o=(wl("arrowUp",i)-1)/2,s=(A1(i/2)-1)/2;e.beginPath(),t?(e.moveTo(n-o,a),e.lineTo(n,a-o),e.lineTo(n+o,a),e.lineTo(n+s,a),e.lineTo(n+s,a+o),e.lineTo(n-s,a+o),e.lineTo(n-s,a)):(e.moveTo(n-o,a),e.lineTo(n,a+o),e.lineTo(n+o,a),e.lineTo(n+s,a),e.lineTo(n+s,a-o),e.lineTo(n-s,a-o),e.lineTo(n-s,a)),e.fill()}function xse(t,e,n,a,i,o){return M1(e,n,a,i,o)}class yse extends Ug{constructor(){super(...arguments),this.Lt=null,this.lr=new yl,this.j=-1,this.H="",this.Gr=""}it(e){this.Lt=e}ar(e,n){this.j===e&&this.H===n||(this.j=e,this.H=n,this.Gr=Kr(e,n),this.lr.ir())}br(e,n){if(this.Lt===null||this.Lt.nt===null)return null;for(let a=this.Lt.nt.from;a=a&&l<=a+o&&c>=i-u&&c<=i+u}(t.Jt.et,t.Jt.rt,t.Jt.$i,t.Jt.zt,e,n))||function(a,i,o){if(a.Ks===0)return!1;switch(a.th){case"arrowDown":case"arrowUp":return xse(0,a.et,a.rt,a.Ks,i,o);case"circle":return function(s,l,c,u,d){const p=2+wl("circle",c)/2,h=s-u,m=l-d;return Math.sqrt(h*h+m*m)<=p}(a.et,a.rt,a.Ks,i,o);case"square":return M1(a.et,a.rt,a.Ks,i,o)}}(t,e,n)}function Bse(t,e,n,a,i,o,s,l,c){const u=Ta(n)?n:n.xe,d=Ta(n)?n:n.ge,p=Ta(n)?n:n.Me,h=Ta(e.size)?Math.max(e.size,0):1,m=$1(l.he())*h,g=m/2;switch(t.Ks=m,e.position){case"inBar":return t.rt=s.Ot(u,c),void(t.Jt!==void 0&&(t.Jt.rt=t.rt+g+o+.6*i));case"aboveBar":return t.rt=s.Ot(d,c)-g-a.ih,t.Jt!==void 0&&(t.Jt.rt=t.rt-g-.6*i,a.ih+=1.2*i),void(a.ih+=m+o);case"belowBar":return t.rt=s.Ot(p,c)+g+a.nh,t.Jt!==void 0&&(t.Jt.rt=t.rt+g+o+.6*i,a.nh+=1.2*i),void(a.nh+=m+o)}e.position}class Sse{constructor(e,n){this.bt=!0,this.sh=!0,this.eh=!0,this.rh=null,this.Ht=new yse,this.Wr=e,this.Ui=n,this.Lt={st:[],nt:null}}gt(e){this.bt=!0,this.eh=!0,e==="data"&&(this.sh=!0)}xt(e){if(!this.Wr.Tt())return null;this.bt&&this.hh();const n=this.Ui.W().layout;return this.Ht.ar(n.fontSize,n.fontFamily),this.Ht.it(this.Lt),this.Ht}lh(){if(this.eh){if(this.Wr.ah().length>0){const e=this.Ui.yt().he(),n=ax(e),a=1.5*$1(e)+2*n;this.rh={above:a,below:a}}else this.rh=null;this.eh=!1}return this.rh}hh(){const e=this.Wr.At(),n=this.Ui.yt(),a=this.Wr.ah();this.sh&&(this.Lt.st=a.map(d=>({ut:d.time,et:0,rt:0,Ks:0,th:d.shape,O:d.color,Jr:d.Jr,wr:d.id,Jt:void 0})),this.sh=!1);const i=this.Ui.W().layout;this.Lt.nt=null;const o=n.Xs();if(o===null)return;const s=this.Wr.Pt();if(s===null||this.Lt.st.length===0)return;let l=NaN;const c=ax(n.he()),u={ih:c,nh:c};this.Lt.nt=N1(this.Lt.st,o,!0);for(let d=this.Lt.nt.from;d0&&(h.Jt={Qr:p.text,et:0,rt:0,$i:0,zt:0});const m=this.Wr.oh(p.time);m!==null&&Bse(h,p,m,u,i.fontSize,c,e,n,s.Vt)}this.bt=!1}}class zse extends Gg{constructor(e){super(e)}kr(){const e=this.Mr;e.Tt=!1;const n=this.Es.W();if(!n.priceLineVisible||!this.Es.Tt())return;const a=this.Es.Yr(n.priceLineSource===0);a.Xr||(e.Tt=!0,e.rt=a.yi,e.O=this.Es._h(a.O),e.ht=n.priceLineWidth,e.Wt=n.priceLineStyle)}}class Cse extends ep{constructor(e){super(),this.$t=e}Ei(e,n,a){e.Tt=!1,n.Tt=!1;const i=this.$t;if(!i.Tt())return;const o=i.W(),s=o.lastValueVisible,l=i.uh()!=="",c=o.seriesLastValueMode===0,u=i.Yr(!1);if(u.Xr)return;s&&(e.Jt=this.dh(u,s,c),e.Tt=e.Jt.length!==0),(l||c)&&(n.Jt=this.fh(u,s,l,c),n.Tt=n.Jt.length>0);const d=i._h(u.O),p=Jd(d);a.t=p.t,a.yi=u.yi,n.Bt=i.qt().It(u.yi/i.At().zt()),e.Bt=d,e.O=p.i,n.O=p.i}fh(e,n,a,i){let o="";const s=this.$t.uh();return a&&s.length!==0&&(o+=`${s} `),n&&i&&(o+=this.$t.At().ph()?e.mh:e.bh),o.trim()}dh(e,n,a){return n?a?this.$t.At().ph()?e.bh:e.mh:e.Jt:""}}function ox(t,e,n,a){const i=Number.isFinite(e),o=Number.isFinite(n);return i&&o?t(e,n):i||o?i?e:n:a}class gn{constructor(e,n){this.wh=e,this.gh=n}Mh(e){return e!==null&&this.wh===e.wh&&this.gh===e.gh}xh(){return new gn(this.wh,this.gh)}Sh(){return this.wh}kh(){return this.gh}yh(){return this.gh-this.wh}Fi(){return this.gh===this.wh||Number.isNaN(this.gh)||Number.isNaN(this.wh)}ts(e){return e===null?this:new gn(ox(Math.min,this.Sh(),e.Sh(),-1/0),ox(Math.max,this.kh(),e.kh(),1/0))}Ch(e){if(!Ta(e)||this.gh-this.wh===0)return;const n=.5*(this.gh+this.wh);let a=this.gh-n,i=this.wh-n;a*=e,i*=e,this.gh=n+a,this.wh=n+i}Th(e){Ta(e)&&(this.gh+=e,this.wh+=e)}Ph(){return{minValue:this.wh,maxValue:this.gh}}static Rh(e){return e===null?null:new gn(e.minValue,e.maxValue)}}class Ju{constructor(e,n){this.Dh=e,this.Oh=n||null}Ah(){return this.Dh}Vh(){return this.Oh}Ph(){return this.Dh===null?null:{priceRange:this.Dh.Ph(),margins:this.Oh||void 0}}static Rh(e){return e===null?null:new Ju(gn.Rh(e.priceRange),e.margins)}}class Dse extends Gg{constructor(e,n){super(e),this.Bh=n}kr(){const e=this.Mr;e.Tt=!1;const n=this.Bh.W();if(!this.Es.Tt()||!n.lineVisible)return;const a=this.Bh.Ih();a!==null&&(e.Tt=!0,e.rt=a,e.O=n.color,e.ht=n.lineWidth,e.Wt=n.lineStyle,e.wr=this.Bh.W().id)}}class Ase extends ep{constructor(e,n){super(),this.Wr=e,this.Bh=n}Ei(e,n,a){e.Tt=!1,n.Tt=!1;const i=this.Bh.W(),o=i.axisLabelVisible,s=i.title!=="",l=this.Wr;if(!o||!l.Tt())return;const c=this.Bh.Ih();if(c===null)return;s&&(n.Jt=i.title,n.Tt=!0),n.Bt=l.qt().It(c/l.At().zt()),e.Jt=this.zh(i.price),e.Tt=!0;const u=Jd(i.axisLabelColor||i.color);a.t=u.t;const d=i.axisLabelTextColor||u.i;e.O=d,n.O=d,a.yi=c}zh(e){const n=this.Wr.Pt();return n===null?"":this.Wr.At().Wi(e,n.Vt)}}class _se{constructor(e,n){this.Wr=e,this.cn=n,this.Eh=new Dse(e,this),this._r=new Ase(e,this),this.Lh=new I1(this._r,e,e.qt())}Nh(e){ha(this.cn,e),this.gt(),this.Wr.qt().Fh()}W(){return this.cn}Wh(){return this.Eh}jh(){return this.Lh}Hh(){return this._r}gt(){this.Eh.gt(),this._r.gt()}Ih(){const e=this.Wr,n=e.At();if(e.qt().yt().Fi()||n.Fi())return null;const a=e.Pt();return a===null?null:n.Ot(this.cn.price,a.Vt)}}class Tse extends qg{constructor(e){super(),this.Ui=e}qt(){return this.Ui}}const Ese={Bar:(t,e,n,a)=>{var i;const o=e.upColor,s=e.downColor,l=O(t(n,a)),c=Br(l.Vt[0])<=Br(l.Vt[3]);return{ue:(i=l.O)!==null&&i!==void 0?i:c?o:s}},Candlestick:(t,e,n,a)=>{var i,o,s;const l=e.upColor,c=e.downColor,u=e.borderUpColor,d=e.borderDownColor,p=e.wickUpColor,h=e.wickDownColor,m=O(t(n,a)),g=Br(m.Vt[0])<=Br(m.Vt[3]);return{ue:(i=m.O)!==null&&i!==void 0?i:g?l:c,Le:(o=m.Bt)!==null&&o!==void 0?o:g?u:d,Ee:(s=m.$h)!==null&&s!==void 0?s:g?p:h}},Custom:(t,e,n,a)=>{var i;return{ue:(i=O(t(n,a)).O)!==null&&i!==void 0?i:e.color}},Area:(t,e,n,a)=>{var i,o,s,l;const c=O(t(n,a));return{ue:(i=c._t)!==null&&i!==void 0?i:e.lineColor,_t:(o=c._t)!==null&&o!==void 0?o:e.lineColor,Ts:(s=c.Ts)!==null&&s!==void 0?s:e.topColor,Ps:(l=c.Ps)!==null&&l!==void 0?l:e.bottomColor}},Baseline:(t,e,n,a)=>{var i,o,s,l,c,u;const d=O(t(n,a));return{ue:d.Vt[3]>=e.baseValue.price?e.topLineColor:e.bottomLineColor,Pe:(i=d.Pe)!==null&&i!==void 0?i:e.topLineColor,Re:(o=d.Re)!==null&&o!==void 0?o:e.bottomLineColor,Se:(s=d.Se)!==null&&s!==void 0?s:e.topFillColor1,ke:(l=d.ke)!==null&&l!==void 0?l:e.topFillColor2,ye:(c=d.ye)!==null&&c!==void 0?c:e.bottomFillColor1,Ce:(u=d.Ce)!==null&&u!==void 0?u:e.bottomFillColor2}},Line:(t,e,n,a)=>{var i,o;const s=O(t(n,a));return{ue:(i=s.O)!==null&&i!==void 0?i:e.color,_t:(o=s.O)!==null&&o!==void 0?o:e.color}},Histogram:(t,e,n,a)=>{var i;return{ue:(i=O(t(n,a)).O)!==null&&i!==void 0?i:e.color}}};class Pse{constructor(e){this.Uh=(n,a)=>a!==void 0?a.Vt:this.Wr.In().qh(n),this.Wr=e,this.Yh=Ese[e.Xh()]}Hs(e,n){return this.Yh(this.Uh,this.Wr.W(),e,n)}}var rx;(function(t){t[t.NearestLeft=-1]="NearestLeft",t[t.None=0]="None",t[t.NearestRight=1]="NearestRight"})(rx||(rx={}));const zi=30;class Nse{constructor(){this.Kh=[],this.Zh=new Map,this.Gh=new Map}Jh(){return this.Ks()>0?this.Kh[this.Kh.length-1]:null}Qh(){return this.Ks()>0?this.tl(0):null}Bn(){return this.Ks()>0?this.tl(this.Kh.length-1):null}Ks(){return this.Kh.length}Fi(){return this.Ks()===0}Kr(e){return this.il(e,0)!==null}qh(e){return this.nl(e)}nl(e,n=0){const a=this.il(e,n);return a===null?null:Object.assign(Object.assign({},this.sl(a)),{se:this.tl(a)})}ie(){return this.Kh}el(e,n,a){if(this.Fi())return null;let i=null;for(const o of a)i=zc(i,this.rl(e,n,o));return i}it(e){this.Gh.clear(),this.Zh.clear(),this.Kh=e}tl(e){return this.Kh[e].se}sl(e){return this.Kh[e]}il(e,n){const a=this.hl(e);if(a===null&&n!==0)switch(n){case-1:return this.ll(e);case 1:return this.al(e);default:throw new TypeError("Unknown search mode")}return a}ll(e){let n=this.ol(e);return n>0&&(n-=1),n!==this.Kh.length&&this.tl(n)n.sen.se>a)}ul(e,n,a){let i=null;for(let o=e;oi.dl&&(i.dl=s)))}return i}rl(e,n,a){if(this.Fi())return null;let i=null;const o=O(this.Qh()),s=O(this.Bn()),l=Math.max(e,o),c=Math.min(n,s),u=Math.ceil(l/zi)*zi,d=Math.max(u,Math.floor(c/zi)*zi);{const h=this.ol(l),m=this._l(Math.min(c,u,n));i=zc(i,this.ul(h,m,a))}let p=this.Zh.get(a);p===void 0&&(p=new Map,this.Zh.set(a,p));for(let h=Math.max(u+1,l);hnew dh(l));return this.gl={vl:o,pl:s},s}tn(){var e,n,a,i;const o=(a=(n=(e=this.yl).timeAxisViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.Ml)===null||i===void 0?void 0:i.vl)===o)return this.Ml.pl;const s=this.Wr.qt().yt(),l=o.map(c=>new Ise(c,s));return this.Ml={vl:o,pl:l},l}Rn(){var e,n,a,i;const o=(a=(n=(e=this.yl).priceAxisViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.xl)===null||i===void 0?void 0:i.vl)===o)return this.xl.pl;const s=this.Wr.At(),l=o.map(c=>new $se(c,s));return this.xl={vl:o,pl:l},l}Tl(){var e,n,a,i;const o=(a=(n=(e=this.yl).priceAxisPaneViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.Sl)===null||i===void 0?void 0:i.vl)===o)return this.Sl.pl;const s=o.map(l=>new dh(l));return this.Sl={vl:o,pl:s},s}Pl(){var e,n,a,i;const o=(a=(n=(e=this.yl).timeAxisPaneViews)===null||n===void 0?void 0:n.call(e))!==null&&a!==void 0?a:[];if(((i=this.kl)===null||i===void 0?void 0:i.vl)===o)return this.kl.pl;const s=o.map(l=>new dh(l));return this.kl={vl:o,pl:s},s}Rl(e,n){var a,i,o;return(o=(i=(a=this.yl).autoscaleInfo)===null||i===void 0?void 0:i.call(a,e,n))!==null&&o!==void 0?o:null}br(e,n){var a,i,o;return(o=(i=(a=this.yl).hitTest)===null||i===void 0?void 0:i.call(a,e,n))!==null&&o!==void 0?o:null}}function ph(t,e,n,a){t.forEach(i=>{e(i).forEach(o=>{o.ml()===n&&a.push(o)})})}function hh(t){return t.Pn()}function Ose(t){return t.Tl()}function Rse(t){return t.Pl()}class Qg extends Tse{constructor(e,n,a,i,o){super(e),this.Lt=new Nse,this.Eh=new zse(this),this.Dl=[],this.Ol=new gse(this),this.Al=null,this.Vl=null,this.Bl=[],this.Il=[],this.zl=null,this.El=[],this.cn=n,this.Ll=a;const s=new Cse(this);this.hn=[s],this.Lh=new I1(s,this,e),a!=="Area"&&a!=="Line"&&a!=="Baseline"||(this.Al=new kse(this)),this.Nl(),this.Fl(o)}S(){this.zl!==null&&clearTimeout(this.zl)}_h(e){return this.cn.priceLineColor||e}Yr(e){const n={Xr:!0},a=this.At();if(this.qt().yt().Fi()||a.Fi()||this.Lt.Fi())return n;const i=this.qt().yt().Xs(),o=this.Pt();if(i===null||o===null)return n;let s,l;if(e){const p=this.Lt.Jh();if(p===null)return n;s=p,l=p.se}else{const p=this.Lt.nl(i.di(),-1);if(p===null||(s=this.Lt.qh(p.se),s===null))return n;l=p.se}const c=s.Vt[3],u=this.$s().Hs(l,{Vt:s}),d=a.Ot(c,o.Vt);return{Xr:!1,ct:c,Jt:a.Wi(c,o.Vt),mh:a.Wl(c),bh:a.jl(c,o.Vt),O:u.ue,yi:d,se:l}}$s(){return this.Vl!==null||(this.Vl=new Pse(this)),this.Vl}W(){return this.cn}Nh(e){const n=e.priceScaleId;n!==void 0&&n!==this.cn.priceScaleId&&this.qt().Hl(this,n),ha(this.cn,e),e.priceFormat!==void 0&&(this.Nl(),this.qt().$l()),this.qt().Ul(this),this.qt().ql(),this.wn.gt("options")}it(e,n){this.Lt.it(e),this.Yl(),this.wn.gt("data"),this.dn.gt("data"),this.Al!==null&&(n&&n.Xl?this.Al.Hr():e.length===0&&this.Al.jr());const a=this.qt().cr(this);this.qt().Kl(a),this.qt().Ul(this),this.qt().ql(),this.qt().Fh()}Zl(e){this.Bl=e,this.Yl();const n=this.qt().cr(this);this.dn.gt("data"),this.qt().Kl(n),this.qt().Ul(this),this.qt().ql(),this.qt().Fh()}Gl(){return this.Bl}ah(){return this.Il}Jl(e){const n=new _se(this,e);return this.Dl.push(n),this.qt().Ul(this),n}Ql(e){const n=this.Dl.indexOf(e);n!==-1&&this.Dl.splice(n,1),this.qt().Ul(this)}Xh(){return this.Ll}Pt(){const e=this.ta();return e===null?null:{Vt:e.Vt[3],ia:e.ut}}ta(){const e=this.qt().yt().Xs();if(e===null)return null;const n=e.Os();return this.Lt.nl(n,1)}In(){return this.Lt}oh(e){const n=this.Lt.qh(e);return n===null?null:this.Ll==="Bar"||this.Ll==="Candlestick"||this.Ll==="Custom"?{we:n.Vt[0],ge:n.Vt[1],Me:n.Vt[2],xe:n.Vt[3]}:n.Vt[3]}na(e){const n=[];ph(this.El,hh,"top",n);const a=this.Al;return a!==null&&a.Tt()&&(this.zl===null&&a.Ur()&&(this.zl=setTimeout(()=>{this.zl=null,this.qt().sa()},0)),a.$r(),n.push(a)),n}Pn(){const e=[];this.ea()||e.push(this.Ol),e.push(this.wn,this.Eh,this.dn);const n=this.Dl.map(a=>a.Wh());return e.push(...n),ph(this.El,hh,"normal",e),e}ra(){return this.ha(hh,"bottom")}la(e){return this.ha(Ose,e)}aa(e){return this.ha(Rse,e)}oa(e,n){return this.El.map(a=>a.br(e,n)).filter(a=>a!==null)}Qi(e){return[this.Lh,...this.Dl.map(n=>n.jh())]}Rn(e,n){if(n!==this.Xi&&!this.ea())return[];const a=[...this.hn];for(const i of this.Dl)a.push(i.Hh());return this.El.forEach(i=>{a.push(...i.Rn())}),a}tn(){const e=[];return this.El.forEach(n=>{e.push(...n.tn())}),e}Rl(e,n){if(this.cn.autoscaleInfoProvider!==void 0){const a=this.cn.autoscaleInfoProvider(()=>{const i=this._a(e,n);return i===null?null:i.Ph()});return Ju.Rh(a)}return this._a(e,n)}ua(){return this.cn.priceFormat.minMove}ca(){return this.da}On(){var e;this.wn.gt(),this.dn.gt();for(const n of this.hn)n.gt();for(const n of this.Dl)n.gt();this.Eh.gt(),this.Ol.gt(),(e=this.Al)===null||e===void 0||e.gt(),this.El.forEach(n=>n.On())}At(){return O(super.At())}Ct(e){if(!((this.Ll==="Line"||this.Ll==="Area"||this.Ll==="Baseline")&&this.cn.crosshairMarkerVisible))return null;const n=this.Lt.qh(e);return n===null?null:{ct:n.Vt[3],ot:this.fa(),Bt:this.va(),Dt:this.pa(),Rt:this.ma(e)}}uh(){return this.cn.title}Tt(){return this.cn.visible}ba(e){this.El.push(new Mse(e,this))}wa(e){this.El=this.El.filter(n=>n.Cl()!==e)}ga(){if(this.wn instanceof uh)return e=>this.wn.Fe(e)}Ma(){if(this.wn instanceof uh)return e=>this.wn.We(e)}ea(){return!tp(this.At().xa())}_a(e,n){if(!kl(e)||!kl(n)||this.Lt.Fi())return null;const a=this.Ll==="Line"||this.Ll==="Area"||this.Ll==="Baseline"||this.Ll==="Histogram"?[3]:[2,1],i=this.Lt.el(e,n,a);let o=i!==null?new gn(i.cl,i.dl):null;if(this.Xh()==="Histogram"){const l=this.cn.base,c=new gn(l,l);o=o!==null?o.ts(c):c}let s=this.dn.lh();return this.El.forEach(l=>{const c=l.Rl(e,n);if(c!=null&&c.priceRange){const m=new gn(c.priceRange.minValue,c.priceRange.maxValue);o=o!==null?o.ts(m):m}var u,d,p,h;c!=null&&c.margins&&(u=s,d=c.margins,s={above:Math.max((p=u==null?void 0:u.above)!==null&&p!==void 0?p:0,d.above),below:Math.max((h=u==null?void 0:u.below)!==null&&h!==void 0?h:0,d.below)})}),new Ju(o,s)}fa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this.cn.crosshairMarkerRadius}return 0}va(){switch(this.Ll){case"Line":case"Area":case"Baseline":{const e=this.cn.crosshairMarkerBorderColor;if(e.length!==0)return e}}return null}pa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this.cn.crosshairMarkerBorderWidth}return 0}ma(e){switch(this.Ll){case"Line":case"Area":case"Baseline":{const n=this.cn.crosshairMarkerBackgroundColor;if(n.length!==0)return n}}return this.$s().Hs(e).ue}Nl(){switch(this.cn.priceFormat.type){case"custom":this.da={format:this.cn.priceFormat.formatter};break;case"volume":this.da=new Kre(this.cn.priceFormat.precision);break;case"percent":this.da=new z1(this.cn.priceFormat.precision);break;default:{const e=Math.pow(10,this.cn.priceFormat.precision);this.da=new np(e,this.cn.priceFormat.minMove*e)}}this.Xi!==null&&this.Xi.Sa()}Yl(){const e=this.qt().yt();if(!e.ka()||this.Lt.Fi())return void(this.Il=[]);const n=O(this.Lt.Qh());this.Il=this.Bl.map((a,i)=>{const o=O(e.ya(a.time,!0)),s=od instanceof Qg).reduce((d,p)=>{if(a.dr(p)||!p.Tt())return d;const h=p.At(),m=p.In();if(h.Fi()||!m.Kr(n))return d;const g=m.qh(n);if(g===null)return d;const v=Br(p.Pt());return d.concat([h.Ot(g.Vt[3],v.Vt)])},[]);if(c.length===0)return i;c.sort((d,p)=>Math.abs(d-l)-Math.abs(p-l));const u=c[0];return i=o.pn(u,s),i}}class Vse extends fi{constructor(){super(...arguments),this.Lt=null}it(e){this.Lt=e}Z({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(this.Lt===null)return;const o=Math.max(1,Math.floor(a));e.lineWidth=o,function(s,l){s.save(),s.lineWidth%2&&s.translate(.5,.5),l(),s.restore()}(e,()=>{const s=O(this.Lt);if(s.Pa){e.strokeStyle=s.Ra,Uo(e,s.Da),e.beginPath();for(const l of s.Oa){const c=Math.round(l.Aa*a);e.moveTo(c,-o),e.lineTo(c,n.height+o)}e.stroke()}if(s.Va){e.strokeStyle=s.Ba,Uo(e,s.Ia),e.beginPath();for(const l of s.za){const c=Math.round(l.Aa*i);e.moveTo(-o,c),e.lineTo(n.width+o,c)}e.stroke()}})}}let Wse=class{constructor(e){this.Ht=new Vse,this.bt=!0,this.nn=e}gt(){this.bt=!0}xt(){if(this.bt){const e=this.nn.qt().W().grid,n={Va:e.horzLines.visible,Pa:e.vertLines.visible,Ba:e.horzLines.color,Ra:e.vertLines.color,Ia:e.horzLines.style,Da:e.vertLines.style,za:this.nn.vn().Ea(),Oa:(this.nn.qt().yt().Ea()||[]).map(a=>({Aa:a.coord}))};this.Ht.it(n),this.bt=!1}return this.Ht}},Use=class{constructor(e){this.wn=new Wse(e)}Wh(){return this.wn}};const mh={La:4,Na:1e-4};function Sr(t,e){const n=100*(t-e)/e;return e<0?-n:n}function qse(t,e){const n=Sr(t.Sh(),e),a=Sr(t.kh(),e);return new gn(n,a)}function qs(t,e){const n=100*(t-e)/e+100;return e<0?-n:n}function Hse(t,e){const n=qs(t.Sh(),e),a=qs(t.kh(),e);return new gn(n,a)}function Xu(t,e){const n=Math.abs(t);if(n<1e-15)return 0;const a=Math.log10(n+e.Na)+e.La;return t<0?-a:a}function Hs(t,e){const n=Math.abs(t);if(n<1e-15)return 0;const a=Math.pow(10,n-e.La)-e.Na;return t<0?-a:a}function ws(t,e){if(t===null)return null;const n=Xu(t.Sh(),e),a=Xu(t.kh(),e);return new gn(n,a)}function Cc(t,e){if(t===null)return null;const n=Hs(t.Sh(),e),a=Hs(t.kh(),e);return new gn(n,a)}function fh(t){if(t===null)return mh;const e=Math.abs(t.kh()-t.Sh());if(e>=1||e<1e-15)return mh;const n=Math.ceil(Math.abs(Math.log10(e))),a=mh.La+n;return{La:a,Na:1/Math.pow(10,a)}}let gh=class{constructor(e,n){if(this.Fa=e,this.Wa=n,function(a){if(a<0)return!1;for(let i=a;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.Fa))this.ja=[2,2.5,2];else{this.ja=[];for(let a=this.Fa;a!==1;){if(a%2==0)this.ja.push(2),a/=2;else{if(a%5!=0)throw new Error("unexpected base");this.ja.push(2,2.5),a/=5}if(this.ja.length>100)throw new Error("something wrong with base")}}}Ha(e,n,a){const i=this.Fa===0?0:1/this.Fa;let o=Math.pow(10,Math.max(0,Math.ceil(Math.log10(e-n)))),s=0,l=this.Wa[0];for(;;){const p=Sc(o,i,1e-14)&&o>i+1e-14,h=Sc(o,a*l,1e-14),m=Sc(o,1,1e-14);if(!(p&&h&&m))break;o/=l,l=this.Wa[++s%this.Wa.length]}if(o<=i+1e-14&&(o=i),o=Math.max(1,o),this.ja.length>0&&(c=o,u=1,d=1e-14,Math.abs(c-u)i+1e-14;)o/=l,l=this.ja[++s%this.ja.length];var c,u,d;return o}},sx=class{constructor(e,n,a,i){this.$a=[],this.Li=e,this.Fa=n,this.Ua=a,this.qa=i}Ha(e,n){if(e=d?1:-1;let g=null,v=0;for(let y=u-h;y>d;y-=p){const b=this.qa(y,n,!0);g!==null&&Math.abs(b-g)c||(vO(e.Zi())-O(n.Zi()))}var lx;(function(t){t[t.Normal=0]="Normal",t[t.Logarithmic=1]="Logarithmic",t[t.Percentage=2]="Percentage",t[t.IndexedTo100=3]="IndexedTo100"})(lx||(lx={}));const cx=new z1,ux=new np(100,1);class Kse{constructor(e,n,a,i){this.Qa=0,this.io=null,this.Dh=null,this.no=null,this.so={eo:!1,ro:null},this.ho=0,this.lo=0,this.ao=new et,this.oo=new et,this._o=[],this.uo=null,this.co=null,this.do=null,this.fo=null,this.da=ux,this.vo=fh(null),this.po=e,this.cn=n,this.mo=a,this.bo=i,this.wo=new sx(this,100,this.Mo.bind(this),this.xo.bind(this))}xa(){return this.po}W(){return this.cn}Nh(e){if(ha(this.cn,e),this.Sa(),e.mode!==void 0&&this.So({yr:e.mode}),e.scaleMargins!==void 0){const n=on(e.scaleMargins.top),a=on(e.scaleMargins.bottom);if(n<0||n>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${n}`);if(a<0||a>1||n+a>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${a}`);if(n+a>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${n+a}`);this.ko(),this.co=null}}yo(){return this.cn.autoScale}Ja(){return this.cn.mode===1}ph(){return this.cn.mode===2}Co(){return this.cn.mode===3}yr(){return{Wn:this.cn.autoScale,To:this.cn.invertScale,yr:this.cn.mode}}So(e){const n=this.yr();let a=null;e.Wn!==void 0&&(this.cn.autoScale=e.Wn),e.yr!==void 0&&(this.cn.mode=e.yr,e.yr!==2&&e.yr!==3||(this.cn.autoScale=!0),this.so.eo=!1),n.yr===1&&e.yr!==n.yr&&(function(o,s){if(o===null)return!1;const l=Hs(o.Sh(),s),c=Hs(o.kh(),s);return isFinite(l)&&isFinite(c)}(this.Dh,this.vo)?(a=Cc(this.Dh,this.vo),a!==null&&this.Po(a)):this.cn.autoScale=!0),e.yr===1&&e.yr!==n.yr&&(a=ws(this.Dh,this.vo),a!==null&&this.Po(a));const i=n.yr!==this.cn.mode;i&&(n.yr===2||this.ph())&&this.Sa(),i&&(n.yr===3||this.Co())&&this.Sa(),e.To!==void 0&&n.To!==e.To&&(this.cn.invertScale=e.To,this.Ro()),this.oo.m(n,this.yr())}Do(){return this.oo}P(){return this.mo.fontSize}zt(){return this.Qa}Oo(e){this.Qa!==e&&(this.Qa=e,this.ko(),this.co=null)}Ao(){if(this.io)return this.io;const e=this.zt()-this.Vo()-this.Bo();return this.io=e,e}Ah(){return this.Io(),this.Dh}Po(e,n){const a=this.Dh;(n||a===null&&e!==null||a!==null&&!a.Mh(e))&&(this.co=null,this.Dh=e)}Fi(){return this.Io(),this.Qa===0||!this.Dh||this.Dh.Fi()}zo(e){return this.To()?e:this.zt()-1-e}Ot(e,n){return this.ph()?e=Sr(e,n):this.Co()&&(e=qs(e,n)),this.xo(e,n)}Qs(e,n,a){this.Io();const i=this.Bo(),o=O(this.Ah()),s=o.Sh(),l=o.kh(),c=this.Ao()-1,u=this.To(),d=c/(l-s),p=a===void 0?0:a.from,h=a===void 0?e.length:a.to,m=this.Eo();for(let g=p;ge.On())}Sa(){this.co=null;const e=this.Jo();let n=100;e!==null&&(n=Math.round(1/e.ua())),this.da=ux,this.ph()?(this.da=cx,n=100):this.Co()?(this.da=new np(100,1),n=100):e!==null&&(this.da=e.ca()),this.wo=new sx(this,n,this.Mo.bind(this),this.xo.bind(this)),this.wo.Xa()}Wo(){this.uo=null}Jo(){return this._o[0]||null}Vo(){return this.To()?this.cn.scaleMargins.bottom*this.zt()+this.lo:this.cn.scaleMargins.top*this.zt()+this.ho}Bo(){return this.To()?this.cn.scaleMargins.top*this.zt()+this.ho:this.cn.scaleMargins.bottom*this.zt()+this.lo}Io(){this.so.eo||(this.so.eo=!0,this.i_())}ko(){this.io=null}xo(e,n){if(this.Io(),this.Fi())return 0;e=this.Ja()&&e?Xu(e,this.vo):e;const a=O(this.Ah()),i=this.Bo()+(this.Ao()-1)*(e-a.Sh())/a.yh();return this.zo(i)}Mo(e,n){if(this.Io(),this.Fi())return 0;const a=this.zo(e),i=O(this.Ah()),o=i.Sh()+i.yh()*((a-this.Bo())/(this.Ao()-1));return this.Ja()?Hs(o,this.vo):o}Ro(){this.co=null,this.wo.Xa()}i_(){const e=this.so.ro;if(e===null)return;let n=null;const a=this.Qo();let i=0,o=0;for(const c of a){if(!c.Tt())continue;const u=c.Pt();if(u===null)continue;const d=c.Rl(e.Os(),e.di());let p=d&&d.Ah();if(p!==null){switch(this.cn.mode){case 1:p=ws(p,this.vo);break;case 2:p=qse(p,u.Vt);break;case 3:p=Hse(p,u.Vt)}if(n=n===null?p:n.ts(O(p)),d!==null){const h=d.Vh();h!==null&&(i=Math.max(i,h.above),o=Math.max(i,h.below))}}}if(i===this.ho&&o===this.lo||(this.ho=i,this.lo=o,this.co=null,this.ko()),n!==null){if(n.Sh()===n.kh()){const c=this.Jo(),u=5*(c===null||this.ph()||this.Co()?1:c.ua());this.Ja()&&(n=Cc(n,this.vo)),n=new gn(n.Sh()-u,n.kh()+u),this.Ja()&&(n=ws(n,this.vo))}if(this.Ja()){const c=Cc(n,this.vo),u=fh(c);if(s=u,l=this.vo,s.La!==l.La||s.Na!==l.Na){const d=this.no!==null?Cc(this.no,this.vo):null;this.vo=u,n=ws(c,u),d!==null&&(this.no=ws(d,u))}}this.Po(n)}else this.Dh===null&&(this.Po(new gn(-.5,.5)),this.vo=fh(null));var s,l;this.so.eo=!0}Eo(){return this.ph()?Sr:this.Co()?qs:this.Ja()?e=>Xu(e,this.vo):null}n_(e,n,a){return n===void 0?(a===void 0&&(a=this.ca()),a.format(e)):n(e)}zh(e,n){return this.n_(e,this.bo.priceFormatter,n)}Go(e,n){return this.n_(e,this.bo.percentageFormatter,n)}}let Gse=class{constructor(e,n){this._o=[],this.s_=new Map,this.Qa=0,this.e_=0,this.r_=1e3,this.uo=null,this.h_=new et,this.wl=e,this.Ui=n,this.l_=new Use(this);const a=n.W();this.a_=this.o_("left",a.leftPriceScale),this.__=this.o_("right",a.rightPriceScale),this.a_.Do().l(this.u_.bind(this,this.a_),this),this.__.Do().l(this.u_.bind(this,this.__),this),this.c_(a)}c_(e){if(e.leftPriceScale&&this.a_.Nh(e.leftPriceScale),e.rightPriceScale&&this.__.Nh(e.rightPriceScale),e.localization&&(this.a_.Sa(),this.__.Sa()),e.overlayPriceScales){const n=Array.from(this.s_.values());for(const a of n){const i=O(a[0].At());i.Nh(e.overlayPriceScales),e.localization&&i.Sa()}}}d_(e){switch(e){case"left":return this.a_;case"right":return this.__}return this.s_.has(e)?on(this.s_.get(e))[0].At():null}S(){this.qt().f_().p(this),this.a_.Do().p(this),this.__.Do().p(this),this._o.forEach(e=>{e.S&&e.S()}),this.h_.m()}v_(){return this.r_}p_(e){this.r_=e}qt(){return this.Ui}$i(){return this.e_}zt(){return this.Qa}m_(e){this.e_=e,this.b_()}Oo(e){this.Qa=e,this.a_.Oo(e),this.__.Oo(e),this._o.forEach(n=>{if(this.dr(n)){const a=n.At();a!==null&&a.Oo(e)}}),this.b_()}Ta(){return this._o}dr(e){const n=e.At();return n===null||this.a_!==n&&this.__!==n}Fo(e,n,a){const i=a!==void 0?a:this.g_().w_+1;this.M_(e,n,i)}jo(e){const n=this._o.indexOf(e);eo(n!==-1,"removeDataSource: invalid data source"),this._o.splice(n,1);const a=O(e.At()).xa();if(this.s_.has(a)){const o=on(this.s_.get(a)),s=o.indexOf(e);s!==-1&&(o.splice(s,1),o.length===0&&this.s_.delete(a))}const i=e.At();i&&i.Ta().indexOf(e)>=0&&i.jo(e),i!==null&&(i.Wo(),this.x_(i)),this.uo=null}pr(e){return e===this.a_?"left":e===this.__?"right":"overlay"}S_(){return this.a_}k_(){return this.__}y_(e,n){e.Uo(n)}C_(e,n){e.qo(n),this.b_()}T_(e){e.Yo()}P_(e,n){e.Xo(n)}R_(e,n){e.Ko(n),this.b_()}D_(e){e.Zo()}b_(){this._o.forEach(e=>{e.On()})}vn(){let e=null;return this.Ui.W().rightPriceScale.visible&&this.__.Ta().length!==0?e=this.__:this.Ui.W().leftPriceScale.visible&&this.a_.Ta().length!==0?e=this.a_:this._o.length!==0&&(e=this._o[0].At()),e===null&&(e=this.__),e}vr(){let e=null;return this.Ui.W().rightPriceScale.visible?e=this.__:this.Ui.W().leftPriceScale.visible&&(e=this.a_),e}x_(e){e!==null&&e.yo()&&this.O_(e)}A_(e){const n=this.wl.Xs();e.So({Wn:!0}),n!==null&&e.t_(n),this.b_()}V_(){this.O_(this.a_),this.O_(this.__)}B_(){this.x_(this.a_),this.x_(this.__),this._o.forEach(e=>{this.dr(e)&&this.x_(e.At())}),this.b_(),this.Ui.Fh()}No(){return this.uo===null&&(this.uo=R1(this._o)),this.uo}I_(){return this.h_}z_(){return this.l_}O_(e){const n=e.Qo();if(n&&n.length>0&&!this.wl.Fi()){const a=this.wl.Xs();a!==null&&e.t_(a)}e.On()}g_(){const e=this.No();if(e.length===0)return{E_:0,w_:0};let n=0,a=0;for(let i=0;ia&&(a=o))}return{E_:n,w_:a}}M_(e,n,a){let i=this.d_(n);if(i===null&&(i=this.o_(n,this.Ui.W().overlayPriceScales)),this._o.push(e),!tp(n)){const o=this.s_.get(n)||[];o.push(e),this.s_.set(n,o)}i.Fo(e),e.Ji(i),e.Gi(a),this.x_(i),this.uo=null}u_(e,n,a){n.yr!==a.yr&&this.O_(e)}o_(e,n){const a=Object.assign({visible:!0,autoScale:!0},ei(n)),i=new Kse(e,a,this.Ui.W().layout,this.Ui.W().localization);return i.Oo(this.zt()),i}},Qse=class{constructor(e,n,a=50){this.Ke=0,this.Ze=1,this.Ge=1,this.Qe=new Map,this.Je=new Map,this.L_=e,this.N_=n,this.tr=a}F_(e){const n=e.time,a=this.N_.cacheKey(n),i=this.Qe.get(a);if(i!==void 0)return i.W_;if(this.Ke===this.tr){const s=this.Je.get(this.Ge);this.Je.delete(this.Ge),this.Qe.delete(on(s)),this.Ge++,this.Ke--}const o=this.L_(e);return this.Qe.set(a,{W_:o,er:this.Ze}),this.Je.set(this.Ze,a),this.Ke++,this.Ze++,o}},Ks=class{constructor(e,n){eo(e<=n,"right should be >= left"),this.j_=e,this.H_=n}Os(){return this.j_}di(){return this.H_}U_(){return this.H_-this.j_+1}Kr(e){return this.j_<=e&&e<=this.H_}Mh(e){return this.j_===e.Os()&&this.H_===e.di()}};function dx(t,e){return t===null||e===null?t===e:t.Mh(e)}let Yse=class{constructor(){this.q_=new Map,this.Qe=null,this.Y_=!1}X_(e){this.Y_=e,this.Qe=null}K_(e,n){this.Z_(n),this.Qe=null;for(let a=n;a{e<=a[0].index?n.push(i):a.splice($l(a,e,o=>o.indexo-i)){if(!this.q_.get(a))continue;const i=n;n=[];const o=i.length;let s=0;const l=on(this.q_.get(a)),c=l.length;let u=1/0,d=-1/0;for(let p=0;p=e&&m-d>=e)n.push(h),d=m;else if(this.Y_)return i}for(;se.weight?t:e}class Jse{constructor(e,n,a,i){this.e_=0,this.eu=null,this.ru=[],this.fo=null,this.do=null,this.hu=new Yse,this.lu=new Map,this.au=lu.su(),this.ou=!0,this._u=new et,this.uu=new et,this.cu=new et,this.du=null,this.fu=null,this.vu=[],this.cn=n,this.bo=a,this.pu=n.rightOffset,this.mu=n.barSpacing,this.Ui=e,this.N_=i,this.bu(),this.hu.X_(n.uniformDistribution)}W(){return this.cn}wu(e){ha(this.bo,e),this.gu(),this.bu()}Nh(e,n){var a;ha(this.cn,e),this.cn.fixLeftEdge&&this.Mu(),this.cn.fixRightEdge&&this.xu(),e.barSpacing!==void 0&&this.Ui.Gn(e.barSpacing),e.rightOffset!==void 0&&this.Ui.Jn(e.rightOffset),e.minBarSpacing!==void 0&&this.Ui.Gn((a=e.barSpacing)!==null&&a!==void 0?a:this.mu),this.gu(),this.bu(),this.cu.m()}mn(e){var n,a;return(a=(n=this.ru[e])===null||n===void 0?void 0:n.time)!==null&&a!==void 0?a:null}qi(e){var n;return(n=this.ru[e])!==null&&n!==void 0?n:null}ya(e,n){if(this.ru.length<1)return null;if(this.N_.key(e)>this.N_.key(this.ru[this.ru.length-1].time))return n?this.ru.length-1:null;const a=$l(this.ru,this.N_.key(e),(i,o)=>this.N_.key(i.time)0}Xs(){return this.Su(),this.au.iu()}ku(){return this.Su(),this.au.nu()}yu(){const e=this.Xs();if(e===null)return null;const n={from:e.Os(),to:e.di()};return this.Cu(n)}Cu(e){const n=Math.round(e.from),a=Math.round(e.to),i=O(this.Tu()),o=O(this.Pu());return{from:O(this.qi(Math.max(i,n))),to:O(this.qi(Math.min(o,a)))}}Ru(e){return{from:O(this.ya(e.from,!0)),to:O(this.ya(e.to,!0))}}$i(){return this.e_}m_(e){if(!isFinite(e)||e<=0||this.e_===e)return;const n=this.ku(),a=this.e_;if(this.e_=e,this.ou=!0,this.cn.lockVisibleTimeRangeOnResize&&a!==0){const i=this.mu*e/a;this.mu=i}if(this.cn.fixLeftEdge&&n!==null&&n.Os()<=0){const i=a-e;this.pu-=Math.round(i/this.mu)+1,this.ou=!0}this.Du(),this.Ou()}Et(e){if(this.Fi()||!kl(e))return 0;const n=this.Au()+this.pu-e;return this.e_-(n+.5)*this.mu-1}Js(e,n){const a=this.Au(),i=n===void 0?0:n.from,o=n===void 0?e.length:n.to;for(let s=i;sn/2&&!d?v.needAlignCoordinate=!1:v.needAlignCoordinate=p&&g.index<=c||h&&g.index>=u,m++}return this.vu.length=m,this.fu=this.vu,this.vu}Fu(){this.ou=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Wu(e){this.ou=!0,this.eu=e,this.Ou(),this.Mu()}ju(e,n){const a=this.Bu(e),i=this.he(),o=i+n*(i/10);this.Gn(o),this.cn.rightBarStaysOnScroll||this.Jn(this.Eu()+(a-this.Bu(e)))}Uo(e){this.fo&&this.Zo(),this.do===null&&this.du===null&&(this.Fi()||(this.do=e,this.Hu()))}qo(e){if(this.du===null)return;const n=Qm(this.e_-e,0,this.e_),a=Qm(this.e_-O(this.do),0,this.e_);n!==0&&a!==0&&this.Gn(this.du.he*n/a)}Yo(){this.do!==null&&(this.do=null,this.$u())}Xo(e){this.fo===null&&this.du===null&&(this.Fi()||(this.fo=e,this.Hu()))}Ko(e){if(this.fo===null)return;const n=(this.fo-e)/this.he();this.pu=O(this.du).Eu+n,this.ou=!0,this.Ou()}Zo(){this.fo!==null&&(this.fo=null,this.$u())}Uu(){this.qu(this.cn.rightOffset)}qu(e,n=400){if(!isFinite(e))throw new RangeError("offset is required and must be finite number");if(!isFinite(n)||n<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const a=this.pu,i=performance.now();this.Ui.Xn({Yu:o=>(o-i)/n>=1,Xu:o=>{const s=(o-i)/n;return s>=1?e:a+(e-a)*s}})}gt(e,n){this.ou=!0,this.ru=e,this.hu.K_(e,n),this.Ou()}Ku(){return this._u}Zu(){return this.uu}Gu(){return this.cu}Au(){return this.eu||0}Ju(e){const n=e.U_();this.zu(this.e_/n),this.pu=e.di()-this.Au(),this.Ou(),this.ou=!0,this.Ui.Iu(),this.Ui.Fh()}Qu(){const e=this.Tu(),n=this.Pu();e!==null&&n!==null&&this.Ju(new Ks(e,n+this.cn.rightOffset))}tc(e){const n=new Ks(e.from,e.to);this.Ju(n)}Yi(e){return this.bo.timeFormatter!==void 0?this.bo.timeFormatter(e.originalTime):this.N_.formatHorzItem(e.time)}Lu(){const{handleScroll:e,handleScale:n}=this.Ui.W();return!(e.horzTouchDrag||e.mouseWheel||e.pressedMouseMove||e.vertTouchDrag||n.axisDoubleClickReset.time||n.axisPressedMouseMove.time||n.mouseWheel||n.pinch)}Tu(){return this.ru.length===0?null:0}Pu(){return this.ru.length===0?null:this.ru.length-1}ic(e){return(this.e_-1-e)/this.mu}Bu(e){const n=this.ic(e),a=this.Au()+this.pu-n;return Math.round(1e6*a)/1e6}zu(e){const n=this.mu;this.mu=e,this.Du(),n!==this.mu&&(this.ou=!0,this.nc())}Su(){if(!this.ou)return;if(this.ou=!1,this.Fi())return void this.sc(lu.su());const e=this.Au(),n=this.e_/this.mu,a=this.pu+e,i=new Ks(a-n+1,a);this.sc(new lu(i))}Du(){const e=this.ec();if(this.mun&&(this.mu=n,this.ou=!0)}}ec(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&this.ru.length!==0?this.e_/this.ru.length:this.cn.minBarSpacing}Ou(){const e=this.rc();this.pu>e&&(this.pu=e,this.ou=!0);const n=this.hc();n!==null&&this.puthis.lc(a),this.N_),this.lu.set(e.weight,n)),n.F_(e)}lc(e){return this.N_.formatTickmark(e,this.bo)}sc(e){const n=this.au;this.au=e,dx(n.iu(),this.au.iu())||this._u.m(),dx(n.nu(),this.au.nu())||this.uu.m(),this.nc()}nc(){this.fu=null}gu(){this.nc(),this.lu.clear()}bu(){this.N_.updateFormatter(this.bo)}Mu(){if(!this.cn.fixLeftEdge)return;const e=this.Tu();if(e===null)return;const n=this.Xs();if(n===null)return;const a=n.Os()-e;if(a<0){const i=this.pu-a-1;this.Jn(i)}this.Du()}xu(){this.Ou(),this.Du()}}class Xse extends Ug{constructor(e){super(),this.ac=new Map,this.Lt=e}Z(e){}J(e){if(!this.Lt.Tt)return;const{context:n,mediaSize:a}=e;let i=0;for(const s of this.Lt.oc){if(s.Jt.length===0)continue;n.font=s.R;const l=this._c(n,s.Jt);l>a.width?s.ju=a.width/l:s.ju=1,i+=s.uc*s.ju}let o=0;switch(this.Lt.cc){case"top":o=0;break;case"center":o=Math.max((a.height-i)/2,0);break;case"bottom":o=Math.max(a.height-i,0)}n.fillStyle=this.Lt.O;for(const s of this.Lt.oc){n.save();let l=0;switch(this.Lt.dc){case"left":n.textAlign="left",l=s.uc/2;break;case"center":n.textAlign="center",l=a.width/2;break;case"right":n.textAlign="right",l=a.width-1-s.uc/2}n.translate(l,o),n.textBaseline="top",n.font=s.R,n.scale(s.ju,s.ju),n.fillText(s.Jt,0,s.fc),n.restore(),o+=s.uc*s.ju}}_c(e,n){const a=this.vc(e.font);let i=a.get(n);return i===void 0&&(i=e.measureText(n).width,a.set(n,i)),i}vc(e){let n=this.ac.get(e);return n===void 0&&(n=new Map,this.ac.set(e,n)),n}}class ele{constructor(e){this.bt=!0,this.jt={Tt:!1,O:"",oc:[],cc:"center",dc:"center"},this.Ht=new Xse(this.jt),this.$t=e}gt(){this.bt=!0}xt(){return this.bt&&(this.St(),this.bt=!1),this.Ht}St(){const e=this.$t.W(),n=this.jt;n.Tt=e.visible,n.Tt&&(n.O=e.color,n.dc=e.horzAlign,n.cc=e.vertAlign,n.oc=[{Jt:e.text,R:Kr(e.fontSize,e.fontFamily,e.fontStyle),uc:1.2*e.fontSize,fc:0,ju:0}])}}let tle=class extends qg{constructor(e,n){super(),this.cn=n,this.wn=new ele(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}On(){this.wn.gt()}};var px,hx,mx,Ym,fx;(function(t){t[t.OnTouchEnd=0]="OnTouchEnd",t[t.OnNextTap=1]="OnNextTap"})(px||(px={}));class nle{constructor(e,n,a){this.mc=[],this.bc=[],this.e_=0,this.wc=null,this.gc=new et,this.Mc=new et,this.xc=null,this.Sc=e,this.cn=n,this.N_=a,this.kc=new Lre(this),this.wl=new Jse(this,n.timeScale,this.cn.localization,a),this.wt=new Hre(this,n.crosshair),this.yc=new Fse(n.crosshair),this.Cc=new tle(this,n.watermark),this.Tc(),this.mc[0].p_(2e3),this.Pc=this.Rc(0),this.Dc=this.Rc(1)}$l(){this.Oc(vt.es())}Fh(){this.Oc(vt.ss())}sa(){this.Oc(new vt(1))}Ul(e){const n=this.Ac(e);this.Oc(n)}Vc(){return this.wc}Bc(e){const n=this.wc;this.wc=e,n!==null&&this.Ul(n.Ic),e!==null&&this.Ul(e.Ic)}W(){return this.cn}Nh(e){ha(this.cn,e),this.mc.forEach(n=>n.c_(e)),e.timeScale!==void 0&&this.wl.Nh(e.timeScale),e.localization!==void 0&&this.wl.wu(e.localization),(e.leftPriceScale||e.rightPriceScale)&&this.gc.m(),this.Pc=this.Rc(0),this.Dc=this.Rc(1),this.$l()}zc(e,n){if(e==="left")return void this.Nh({leftPriceScale:n});if(e==="right")return void this.Nh({rightPriceScale:n});const a=this.Ec(e);a!==null&&(a.At.Nh(n),this.gc.m())}Ec(e){for(const n of this.mc){const a=n.d_(e);if(a!==null)return{Ut:n,At:a}}return null}yt(){return this.wl}Lc(){return this.mc}Nc(){return this.Cc}Fc(){return this.wt}Wc(){return this.Mc}jc(e,n){e.Oo(n),this.Iu()}m_(e){this.e_=e,this.wl.m_(this.e_),this.mc.forEach(n=>n.m_(e)),this.Iu()}Tc(e){const n=new Gse(this.wl,this);e!==void 0?this.mc.splice(e,0,n):this.mc.push(n);const a=e===void 0?this.mc.length-1:e,i=vt.es();return i.Nn(a,{Fn:0,Wn:!0}),this.Oc(i),n}y_(e,n,a){e.y_(n,a)}C_(e,n,a){e.C_(n,a),this.ql(),this.Oc(this.Hc(e,2))}T_(e,n){e.T_(n),this.Oc(this.Hc(e,2))}P_(e,n,a){n.yo()||e.P_(n,a)}R_(e,n,a){n.yo()||(e.R_(n,a),this.ql(),this.Oc(this.Hc(e,2)))}D_(e,n){n.yo()||(e.D_(n),this.Oc(this.Hc(e,2)))}A_(e,n){e.A_(n),this.Oc(this.Hc(e,2))}$c(e){this.wl.Uo(e)}Uc(e,n){const a=this.yt();if(a.Fi()||n===0)return;const i=a.$i();e=Math.max(1,Math.min(e,i)),a.ju(e,n),this.Iu()}qc(e){this.Yc(0),this.Xc(e),this.Kc()}Zc(e){this.wl.qo(e),this.Iu()}Gc(){this.wl.Yo(),this.Fh()}Yc(e){this.wl.Xo(e)}Xc(e){this.wl.Ko(e),this.Iu()}Kc(){this.wl.Zo(),this.Fh()}Mt(){return this.bc}Jc(e,n,a,i,o){this.wt.gn(e,n);let s=NaN,l=this.wl.Vu(e);const c=this.wl.Xs();c!==null&&(l=Math.min(Math.max(c.Os(),l),c.di()));const u=i.vn(),d=u.Pt();d!==null&&(s=u.pn(n,d)),s=this.yc.Ca(s,l,i),this.wt.kn(l,s,i),this.sa(),o||this.Mc.m(this.wt.kt(),{x:e,y:n},a)}Qc(e,n,a){const i=a.vn(),o=i.Pt(),s=i.Ot(e,O(o)),l=this.wl.ya(n,!0),c=this.wl.Et(O(l));this.Jc(c,s,null,a,!0)}td(e){this.Fc().Cn(),this.sa(),e||this.Mc.m(null,null,null)}ql(){const e=this.wt.Ut();if(e!==null){const n=this.wt.xn(),a=this.wt.Sn();this.Jc(n,a,null,e)}this.wt.On()}nd(e,n,a){const i=this.wl.mn(0);n!==void 0&&a!==void 0&&this.wl.gt(n,a);const o=this.wl.mn(0),s=this.wl.Au(),l=this.wl.Xs();if(l!==null&&i!==null&&o!==null){const c=l.Kr(s),u=this.N_.key(i)>this.N_.key(o),d=e!==null&&e>s&&!u,p=this.wl.W().allowShiftVisibleRangeOnWhitespaceReplacement,h=c&&(a!==void 0||p)&&this.wl.W().shiftVisibleRangeOnNewBar;if(d&&!h){const m=e-s;this.wl.Jn(this.wl.Eu()-m)}}this.wl.Wu(e)}Kl(e){e!==null&&e.B_()}cr(e){const n=this.mc.find(a=>a.No().includes(e));return n===void 0?null:n}Iu(){this.Cc.On(),this.mc.forEach(e=>e.B_()),this.ql()}S(){this.mc.forEach(e=>e.S()),this.mc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}sd(){return this.kc}mr(){return this.kc.W()}f_(){return this.gc}ed(e,n,a){const i=this.mc[0],o=this.rd(n,e,i,a);return this.bc.push(o),this.bc.length===1?this.$l():this.Fh(),o}hd(e){const n=this.cr(e),a=this.bc.indexOf(e);eo(a!==-1,"Series not found"),this.bc.splice(a,1),O(n).jo(e),e.S&&e.S()}Hl(e,n){const a=O(this.cr(e));a.jo(e);const i=this.Ec(n);if(i===null){const o=e.Zi();a.Fo(e,n,o)}else{const o=i.Ut===a?e.Zi():void 0;i.Ut.Fo(e,n,o)}}Qu(){const e=vt.ss();e.$n(),this.Oc(e)}ld(e){const n=vt.ss();n.Yn(e),this.Oc(n)}Zn(){const e=vt.ss();e.Zn(),this.Oc(e)}Gn(e){const n=vt.ss();n.Gn(e),this.Oc(n)}Jn(e){const n=vt.ss();n.Jn(e),this.Oc(n)}Xn(e){const n=vt.ss();n.Xn(e),this.Oc(n)}Un(){const e=vt.ss();e.Un(),this.Oc(e)}ad(){return this.cn.rightPriceScale.visible?"right":"left"}od(){return this.Dc}q(){return this.Pc}It(e){const n=this.Dc,a=this.Pc;if(n===a)return n;if(e=Math.max(0,Math.min(100,Math.round(100*e))),this.xc===null||this.xc.Ts!==a||this.xc.Ps!==n)this.xc={Ts:a,Ps:n,_d:new Map};else{const o=this.xc._d.get(e);if(o!==void 0)return o}const i=function(o,s,l){const[c,u,d,p]=Zu(o),[h,m,g,v]=Zu(s),y=[Pn(c+l*(h-c)),Pn(u+l*(m-u)),Pn(d+l*(g-d)),j1(p+l*(v-p))];return`rgba(${y[0]}, ${y[1]}, ${y[2]}, ${y[3]})`}(a,n,e/100);return this.xc._d.set(e,i),i}Hc(e,n){const a=new vt(n);if(e!==null){const i=this.mc.indexOf(e);a.Nn(i,{Fn:n})}return a}Ac(e,n){return n===void 0&&(n=2),this.Hc(this.cr(e),n)}Oc(e){this.Sc&&this.Sc(e),this.mc.forEach(n=>n.z_().Wh().gt())}rd(e,n,a,i){const o=new Qg(this,e,n,a,i),s=e.priceScaleId!==void 0?e.priceScaleId:this.ad();return a.Fo(o,s),tp(s)||o.Nh(e),o}Rc(e){const n=this.cn.layout;return n.background.type==="gradient"?e===0?n.background.topColor:n.background.bottomColor:n.background.color}}function Zm(t){return!Ta(t)&&!Il(t)}function V1(t){return Ta(t)}(function(t){t[t.Disabled=0]="Disabled",t[t.Continuous=1]="Continuous",t[t.OnDataUpdate=2]="OnDataUpdate"})(hx||(hx={})),function(t){t[t.LastBar=0]="LastBar",t[t.LastVisible=1]="LastVisible"}(mx||(mx={})),function(t){t.Solid="solid",t.VerticalGradient="gradient"}(Ym||(Ym={})),function(t){t[t.Year=0]="Year",t[t.Month=1]="Month",t[t.DayOfMonth=2]="DayOfMonth",t[t.Time=3]="Time",t[t.TimeWithSeconds=4]="TimeWithSeconds"}(fx||(fx={}));const gx=t=>t.getUTCFullYear();function ale(t,e,n){return e.replace(/yyyy/g,(a=>ti(gx(a),4))(t)).replace(/yy/g,(a=>ti(gx(a)%100,2))(t)).replace(/MMMM/g,((a,i)=>new Date(a.getUTCFullYear(),a.getUTCMonth(),1).toLocaleString(i,{month:"long"}))(t,n)).replace(/MMM/g,((a,i)=>new Date(a.getUTCFullYear(),a.getUTCMonth(),1).toLocaleString(i,{month:"short"}))(t,n)).replace(/MM/g,(a=>ti((i=>i.getUTCMonth()+1)(a),2))(t)).replace(/dd/g,(a=>ti((i=>i.getUTCDate())(a),2))(t))}let W1=class{constructor(e="yyyy-MM-dd",n="default"){this.ud=e,this.dd=n}F_(e){return ale(e,this.ud,this.dd)}};class ile{constructor(e){this.fd=e||"%h:%m:%s"}F_(e){return this.fd.replace("%h",ti(e.getUTCHours(),2)).replace("%m",ti(e.getUTCMinutes(),2)).replace("%s",ti(e.getUTCSeconds(),2))}}const ole={vd:"yyyy-MM-dd",pd:"%h:%m:%s",md:" ",bd:"default"};class rle{constructor(e={}){const n=Object.assign(Object.assign({},ole),e);this.wd=new W1(n.vd,n.bd),this.gd=new ile(n.pd),this.Md=n.md}F_(e){return`${this.wd.F_(e)}${this.Md}${this.gd.F_(e)}`}}function Dc(t){return 60*t*60*1e3}function vh(t){return 60*t*1e3}const Ac=[{xd:(vx=1,1e3*vx),Sd:10},{xd:vh(1),Sd:20},{xd:vh(5),Sd:21},{xd:vh(30),Sd:22},{xd:Dc(1),Sd:30},{xd:Dc(3),Sd:31},{xd:Dc(6),Sd:32},{xd:Dc(12),Sd:33}];var vx;function bx(t,e){if(t.getUTCFullYear()!==e.getUTCFullYear())return 70;if(t.getUTCMonth()!==e.getUTCMonth())return 60;if(t.getUTCDate()!==e.getUTCDate())return 50;for(let n=Ac.length-1;n>=0;--n)if(Math.floor(e.getTime()/Ac[n].xd)!==Math.floor(t.getTime()/Ac[n].xd))return Ac[n].Sd;return 0}function bh(t){let e=t;if(Il(t)&&(e=Yg(t)),!Zm(e))throw new Error("time must be of type BusinessDay");const n=new Date(Date.UTC(e.year,e.month-1,e.day,0,0,0,0));return{kd:Math.round(n.getTime()/1e3),yd:e}}function kx(t){if(!V1(t))throw new Error("time must be of type isUTCTimestamp");return{kd:t}}function Yg(t){const e=new Date(t);if(isNaN(e.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:e.getUTCDate(),month:e.getUTCMonth()+1,year:e.getUTCFullYear()}}function xx(t){Il(t.time)&&(t.time=Yg(t.time))}class yx{options(){return this.cn}setOptions(e){this.cn=e,this.updateFormatter(e.localization)}preprocessData(e){Array.isArray(e)?function(n){n.forEach(xx)}(e):xx(e)}createConverterToInternalObj(e){return O(function(n){return n.length===0?null:Zm(n[0].time)||Il(n[0].time)?bh:kx}(e))}key(e){return typeof e=="object"&&"kd"in e?e.kd:this.key(this.convertHorzItemToInternal(e))}cacheKey(e){const n=e;return n.yd===void 0?new Date(1e3*n.kd).getTime():new Date(Date.UTC(n.yd.year,n.yd.month-1,n.yd.day)).getTime()}convertHorzItemToInternal(e){return V1(n=e)?kx(n):Zm(n)?bh(n):bh(Yg(n));var n}updateFormatter(e){if(!this.cn)return;const n=e.dateFormat;this.cn.timeScale.timeVisible?this.Cd=new rle({vd:n,pd:this.cn.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",md:" ",bd:e.locale}):this.Cd=new W1(n,e.locale)}formatHorzItem(e){const n=e;return this.Cd.F_(new Date(1e3*n.kd))}formatTickmark(e,n){const a=function(o,s,l){switch(o){case 0:case 10:return s?l?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return s?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(e.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),i=this.cn.timeScale;if(i.tickMarkFormatter!==void 0){const o=i.tickMarkFormatter(e.originalTime,a,n.locale);if(o!==null)return o}return function(o,s,l){const c={};switch(s){case 0:c.year="numeric";break;case 1:c.month="short";break;case 2:c.day="numeric";break;case 3:c.hour12=!1,c.hour="2-digit",c.minute="2-digit";break;case 4:c.hour12=!1,c.hour="2-digit",c.minute="2-digit",c.second="2-digit"}const u=o.yd===void 0?new Date(1e3*o.kd):new Date(Date.UTC(o.yd.year,o.yd.month-1,o.yd.day));return new Date(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()).toLocaleString(l,c)}(e.time,a,n.locale)}maxTickMarkWeight(e){let n=e.reduce(Zse,e[0]).weight;return n>30&&n<50&&(n=30),n}fillWeightsForPoints(e,n){(function(a,i=0){if(a.length===0)return;let o=i===0?null:a[i-1].time.kd,s=o!==null?new Date(1e3*o):null,l=0;for(let c=i;c1){const c=Math.ceil(l/(a.length-1)),u=new Date(1e3*(a[0].time.kd-c));a[0].timeWeight=bx(new Date(1e3*a[0].time.kd),u)}})(e,n)}static Td(e){return ha({localization:{dateFormat:"dd MMM 'yy"}},e??{})}}const Gr=typeof window<"u";function wx(){return!!Gr&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function kh(){return!!Gr&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function Jm(t){return t+t%2}function xh(t,e){return t.Pd-e.Pd}function yh(t,e,n){const a=(t.Pd-e.Pd)/(t.ut-e.ut);return Math.sign(a)*Math.min(Math.abs(a),n)}class sle{constructor(e,n,a,i){this.Rd=null,this.Dd=null,this.Od=null,this.Ad=null,this.Vd=null,this.Bd=0,this.Id=0,this.zd=e,this.Ed=n,this.Ld=a,this.rs=i}Nd(e,n){if(this.Rd!==null){if(this.Rd.ut===n)return void(this.Rd.Pd=e);if(Math.abs(this.Rd.Pd-e)50)return;let a=0;const i=yh(this.Rd,this.Dd,this.Ed),o=xh(this.Rd,this.Dd),s=[i],l=[o];if(a+=o,this.Od!==null){const u=yh(this.Dd,this.Od,this.Ed);if(Math.sign(u)===Math.sign(i)){const d=xh(this.Dd,this.Od);if(s.push(u),l.push(d),a+=d,this.Ad!==null){const p=yh(this.Od,this.Ad,this.Ed);if(Math.sign(p)===Math.sign(i)){const h=xh(this.Od,this.Ad);s.push(p),l.push(h),a+=h}}}}let c=0;for(let u=0;u({width:Math.max(i.width,o.width),height:Math.max(i.height,o.height)})});return a.resizeCanvasElement(e),a}function Xm(t,e,n,a){t.G&&t.G(e,n,a)}function cu(t,e,n,a){t.K(e,n,a)}function ef(t,e,n,a){const i=t(n,a);for(const o of i){const s=o.xt();s!==null&&e(s)}}function lle(t){Gr&&window.chrome!==void 0&&t.addEventListener("mousedown",e=>{if(e.button===1)return e.preventDefault(),!1})}class Zg{constructor(e,n,a){this.Wd=0,this.jd=null,this.Hd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY},this.$d=0,this.Ud=null,this.qd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY},this.Yd=null,this.Xd=!1,this.Kd=null,this.Zd=null,this.Gd=!1,this.Jd=!1,this.Qd=!1,this.tf=null,this.if=null,this.nf=null,this.sf=null,this.ef=null,this.rf=null,this.hf=null,this.lf=0,this.af=!1,this._f=!1,this.uf=!1,this.cf=0,this.df=null,this.ff=!kh(),this.vf=i=>{this.pf(i)},this.mf=i=>{if(this.bf(i)){const o=this.wf(i);if(++this.$d,this.Ud&&this.$d>1){const{gf:s}=this.Mf(ya(i),this.qd);s<30&&!this.Qd&&this.xf(o,this.kf.Sf),this.yf()}}else{const o=this.wf(i);if(++this.Wd,this.jd&&this.Wd>1){const{gf:s}=this.Mf(ya(i),this.Hd);s<5&&!this.Jd&&this.Cf(o,this.kf.Tf),this.Pf()}}},this.Rf=e,this.kf=n,this.cn=a,this.Df()}S(){this.tf!==null&&(this.tf(),this.tf=null),this.if!==null&&(this.if(),this.if=null),this.sf!==null&&(this.sf(),this.sf=null),this.ef!==null&&(this.ef(),this.ef=null),this.rf!==null&&(this.rf(),this.rf=null),this.nf!==null&&(this.nf(),this.nf=null),this.Of(),this.Pf()}Af(e){this.sf&&this.sf();const n=this.Vf.bind(this);if(this.sf=()=>{this.Rf.removeEventListener("mousemove",n)},this.Rf.addEventListener("mousemove",n),this.bf(e))return;const a=this.wf(e);this.Cf(a,this.kf.Bf),this.ff=!0}Pf(){this.jd!==null&&clearTimeout(this.jd),this.Wd=0,this.jd=null,this.Hd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY}}yf(){this.Ud!==null&&clearTimeout(this.Ud),this.$d=0,this.Ud=null,this.qd={et:Number.NEGATIVE_INFINITY,rt:Number.POSITIVE_INFINITY}}Vf(e){if(this.uf||this.Zd!==null||this.bf(e))return;const n=this.wf(e);this.Cf(n,this.kf.If),this.ff=!0}zf(e){const n=wh(e.changedTouches,O(this.df));if(n===null||(this.cf=_c(e),this.hf!==null)||this._f)return;this.af=!0;const a=this.Mf(ya(n),O(this.Zd)),{Ef:i,Lf:o,gf:s}=a;if(this.Gd||!(s<5)){if(!this.Gd){const l=.5*i,c=o>=l&&!this.cn.Nf(),u=l>o&&!this.cn.Ff();c||u||(this._f=!0),this.Gd=!0,this.Qd=!0,this.Of(),this.yf()}if(!this._f){const l=this.wf(e,n);this.xf(l,this.kf.Wf),or(e)}}}jf(e){if(e.button!==0)return;const n=this.Mf(ya(e),O(this.Kd)),{gf:a}=n;if(a>=5&&(this.Jd=!0,this.Pf()),this.Jd){const i=this.wf(e);this.Cf(i,this.kf.Hf)}}Mf(e,n){const a=Math.abs(n.et-e.et),i=Math.abs(n.rt-e.rt);return{Ef:a,Lf:i,gf:a+i}}$f(e){let n=wh(e.changedTouches,O(this.df));if(n===null&&e.touches.length===0&&(n=e.changedTouches[0]),n===null)return;this.df=null,this.cf=_c(e),this.Of(),this.Zd=null,this.rf&&(this.rf(),this.rf=null);const a=this.wf(e,n);if(this.xf(a,this.kf.Uf),++this.$d,this.Ud&&this.$d>1){const{gf:i}=this.Mf(ya(n),this.qd);i<30&&!this.Qd&&this.xf(a,this.kf.Sf),this.yf()}else this.Qd||(this.xf(a,this.kf.qf),this.kf.qf&&or(e));this.$d===0&&or(e),e.touches.length===0&&this.Xd&&(this.Xd=!1,or(e))}pf(e){if(e.button!==0)return;const n=this.wf(e);if(this.Kd=null,this.uf=!1,this.ef&&(this.ef(),this.ef=null),wx()&&this.Rf.ownerDocument.documentElement.removeEventListener("mouseleave",this.vf),!this.bf(e))if(this.Cf(n,this.kf.Yf),++this.Wd,this.jd&&this.Wd>1){const{gf:a}=this.Mf(ya(e),this.Hd);a<5&&!this.Jd&&this.Cf(n,this.kf.Tf),this.Pf()}else this.Jd||this.Cf(n,this.kf.Xf)}Of(){this.Yd!==null&&(clearTimeout(this.Yd),this.Yd=null)}Kf(e){if(this.df!==null)return;const n=e.changedTouches[0];this.df=n.identifier,this.cf=_c(e);const a=this.Rf.ownerDocument.documentElement;this.Qd=!1,this.Gd=!1,this._f=!1,this.Zd=ya(n),this.rf&&(this.rf(),this.rf=null);{const o=this.zf.bind(this),s=this.$f.bind(this);this.rf=()=>{a.removeEventListener("touchmove",o),a.removeEventListener("touchend",s)},a.addEventListener("touchmove",o,{passive:!1}),a.addEventListener("touchend",s,{passive:!1}),this.Of(),this.Yd=setTimeout(this.Zf.bind(this,e),240)}const i=this.wf(e,n);this.xf(i,this.kf.Gf),this.Ud||(this.$d=0,this.Ud=setTimeout(this.yf.bind(this),500),this.qd=ya(n))}Jf(e){if(e.button!==0)return;const n=this.Rf.ownerDocument.documentElement;wx()&&n.addEventListener("mouseleave",this.vf),this.Jd=!1,this.Kd=ya(e),this.ef&&(this.ef(),this.ef=null);{const i=this.jf.bind(this),o=this.pf.bind(this);this.ef=()=>{n.removeEventListener("mousemove",i),n.removeEventListener("mouseup",o)},n.addEventListener("mousemove",i),n.addEventListener("mouseup",o)}if(this.uf=!0,this.bf(e))return;const a=this.wf(e);this.Cf(a,this.kf.Qf),this.jd||(this.Wd=0,this.jd=setTimeout(this.Pf.bind(this),500),this.Hd=ya(e))}Df(){this.Rf.addEventListener("mouseenter",this.Af.bind(this)),this.Rf.addEventListener("touchcancel",this.Of.bind(this));{const e=this.Rf.ownerDocument,n=a=>{this.kf.tv&&(a.composed&&this.Rf.contains(a.composedPath()[0])||a.target&&this.Rf.contains(a.target)||this.kf.tv())};this.if=()=>{e.removeEventListener("touchstart",n)},this.tf=()=>{e.removeEventListener("mousedown",n)},e.addEventListener("mousedown",n),e.addEventListener("touchstart",n,{passive:!0})}kh()&&(this.nf=()=>{this.Rf.removeEventListener("dblclick",this.mf)},this.Rf.addEventListener("dblclick",this.mf)),this.Rf.addEventListener("mouseleave",this.iv.bind(this)),this.Rf.addEventListener("touchstart",this.Kf.bind(this),{passive:!0}),lle(this.Rf),this.Rf.addEventListener("mousedown",this.Jf.bind(this)),this.nv(),this.Rf.addEventListener("touchmove",()=>{},{passive:!1})}nv(){this.kf.sv===void 0&&this.kf.ev===void 0&&this.kf.rv===void 0||(this.Rf.addEventListener("touchstart",e=>this.hv(e.touches),{passive:!0}),this.Rf.addEventListener("touchmove",e=>{if(e.touches.length===2&&this.hf!==null&&this.kf.ev!==void 0){const n=jx(e.touches[0],e.touches[1])/this.lf;this.kf.ev(this.hf,n),or(e)}},{passive:!1}),this.Rf.addEventListener("touchend",e=>{this.hv(e.touches)}))}hv(e){e.length===1&&(this.af=!1),e.length!==2||this.af||this.Xd?this.lv():this.av(e)}av(e){const n=this.Rf.getBoundingClientRect()||{left:0,top:0};this.hf={et:(e[0].clientX-n.left+(e[1].clientX-n.left))/2,rt:(e[0].clientY-n.top+(e[1].clientY-n.top))/2},this.lf=jx(e[0],e[1]),this.kf.sv!==void 0&&this.kf.sv(),this.Of()}lv(){this.hf!==null&&(this.hf=null,this.kf.rv!==void 0&&this.kf.rv())}iv(e){if(this.sf&&this.sf(),this.bf(e)||!this.ff)return;const n=this.wf(e);this.Cf(n,this.kf.ov),this.ff=!kh()}Zf(e){const n=wh(e.touches,O(this.df));if(n===null)return;const a=this.wf(e,n);this.xf(a,this.kf._v),this.Qd=!0,this.Xd=!0}bf(e){return e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents!==void 0?e.sourceCapabilities.firesTouchEvents:_c(e){e.type!=="touchstart"&&or(e)}}}}function jx(t,e){const n=t.clientX-e.clientX,a=t.clientY-e.clientY;return Math.sqrt(n*n+a*a)}function or(t){t.cancelable&&t.preventDefault()}function ya(t){return{et:t.pageX,rt:t.pageY}}function _c(t){return t.timeStamp||performance.now()}function wh(t,e){for(let n=0;n{var a,i,o,s;return((i=(a=n.At())===null||a===void 0?void 0:a.xa())!==null&&i!==void 0?i:"")!==e?[]:(s=(o=n.la)===null||o===void 0?void 0:o.call(n,t))!==null&&s!==void 0?s:[]}}class Bx{constructor(e,n,a,i){this.Li=null,this.wv=null,this.gv=!1,this.Mv=new yl(200),this.Gr=null,this.xv=0,this.Sv=!1,this.kv=()=>{this.Sv||this.nn.yv().qt().Fh()},this.Cv=()=>{this.Sv||this.nn.yv().qt().Fh()},this.nn=e,this.cn=n,this.mo=n.layout,this.kc=a,this.Tv=i==="left",this.Pv=jh("normal",i),this.Rv=jh("top",i),this.Dv=jh("bottom",i),this.Ov=document.createElement("div"),this.Ov.style.height="100%",this.Ov.style.overflow="hidden",this.Ov.style.width="25px",this.Ov.style.left="0",this.Ov.style.position="relative",this.Av=qo(this.Ov,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const o=this.Av.canvasElement;o.style.position="absolute",o.style.zIndex="1",o.style.left="0",o.style.top="0",this.Vv=qo(this.Ov,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const s=this.Vv.canvasElement;s.style.position="absolute",s.style.zIndex="2",s.style.left="0",s.style.top="0";const l={Qf:this.Bv.bind(this),Gf:this.Bv.bind(this),Hf:this.Iv.bind(this),Wf:this.Iv.bind(this),tv:this.zv.bind(this),Yf:this.Ev.bind(this),Uf:this.Ev.bind(this),Tf:this.Lv.bind(this),Sf:this.Lv.bind(this),Bf:this.Nv.bind(this),ov:this.Fv.bind(this)};this.Wv=new Zg(this.Vv.canvasElement,l,{Nf:()=>!this.cn.handleScroll.vertTouchDrag,Ff:()=>!0})}S(){this.Wv.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose(),this.Li!==null&&this.Li.$o().p(this),this.Li=null}jv(){return this.Ov}P(){return this.mo.fontSize}Hv(){const e=this.kc.W();return this.Gr!==e.R&&(this.Mv.ir(),this.Gr=e.R),e}$v(){if(this.Li===null)return 0;let e=0;const n=this.Hv(),a=O(this.Av.canvasElement.getContext("2d"));a.save();const i=this.Li.Ea();a.font=this.Uv(),i.length>0&&(e=Math.max(this.Mv.Si(a,i[0].Za),this.Mv.Si(a,i[i.length-1].Za)));const o=this.qv();for(let c=o.length;c--;){const u=this.Mv.Si(a,o[c].Jt());u>e&&(e=u)}const s=this.Li.Pt();if(s!==null&&this.wv!==null){const c=this.Li.pn(1,s),u=this.Li.pn(this.wv.height-2,s);e=Math.max(e,this.Mv.Si(a,this.Li.Wi(Math.floor(Math.min(c,u))+.11111111111111,s)),this.Mv.Si(a,this.Li.Wi(Math.ceil(Math.max(c,u))-.11111111111111,s)))}a.restore();const l=e||34;return Jm(Math.ceil(n.C+n.T+n.B+n.I+5+l))}Yv(e){this.wv!==null&&To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`)}Xv(){return O(this.wv).width}Ji(e){this.Li!==e&&(this.Li!==null&&this.Li.$o().p(this),this.Li=e,e.$o().l(this.ao.bind(this),this))}At(){return this.Li}ir(){const e=this.nn.Kv();this.nn.yv().qt().A_(e,O(this.At()))}Zv(e){if(this.wv===null)return;if(e!==1){this.Gv(),this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i),this.Be(i)}),this.nn.Qv(a,this.Dv),this.tp(a),this.nn.Qv(a,this.Pv),this.ip(a))}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.np(n),this.nn.Qv(n,this.Rv))}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}gt(){var e;(e=this.Li)===null||e===void 0||e.Ea()}Bv(e){if(this.Li===null||this.Li.Fi()||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv();this.gv=!0,n.y_(a,this.Li,e.localY)}Iv(e){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv(),i=this.Li;n.C_(a,i,e.localY)}zv(){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const e=this.nn.yv().qt(),n=this.nn.Kv(),a=this.Li;this.gv&&(this.gv=!1,e.T_(n,a))}Ev(e){if(this.Li===null||!this.cn.handleScale.axisPressedMouseMove.price)return;const n=this.nn.yv().qt(),a=this.nn.Kv();this.gv=!1,n.T_(a,this.Li)}Lv(e){this.cn.handleScale.axisDoubleClickReset.price&&this.ir()}Nv(e){this.Li!==null&&(!this.nn.yv().qt().W().handleScale.axisPressedMouseMove.price||this.Li.ph()||this.Li.Co()||this.rp(1))}Fv(e){this.rp(0)}qv(){const e=[],n=this.Li===null?void 0:this.Li;return(a=>{for(let i=0;i{s.fillStyle=a.borderColor;const u=Math.max(1,Math.floor(c)),d=Math.floor(.5*c),p=Math.round(i.T*l);s.beginPath();for(const h of n)s.rect(Math.floor(o*l),Math.round(h.Aa*c)-d,p,u);s.fill()}),e.useMediaCoordinateSpace(({context:s})=>{var l;s.font=this.Uv(),s.fillStyle=(l=a.textColor)!==null&&l!==void 0?l:this.mo.textColor,s.textAlign=this.Tv?"right":"left",s.textBaseline="middle";const c=this.Tv?Math.round(o-i.B):Math.round(o+i.T+i.B),u=n.map(d=>this.Mv.xi(s,d.Za));for(let d=n.length;d--;){const p=n[d];s.fillText(p.Za,c,p.Aa+u[d])}})}Gv(){if(this.wv===null||this.Li===null)return;let e=this.wv.height/2;const n=[],a=this.Li.No().slice(),i=this.nn.Kv(),o=this.Hv();this.Li===i.vr()&&this.nn.Kv().No().forEach(c=>{i.dr(c)&&a.push(c)});const s=this.Li.Ta()[0],l=this.Li;a.forEach(c=>{const u=c.Rn(i,l);u.forEach(d=>{d.Vi(null),d.Bi()&&n.push(d)}),s===c&&u.length>0&&(e=u[0].yi())}),n.forEach(c=>c.Vi(c.yi())),this.Li.W().alignLabels&&this.hp(n,o,e)}hp(e,n,a){if(this.wv===null)return;const i=e.filter(s=>s.yi()<=a),o=e.filter(s=>s.yi()>a);i.sort((s,l)=>l.yi()-s.yi()),i.length&&o.length&&o.push(i[0]),o.sort((s,l)=>s.yi()-l.yi());for(const s of e){const l=Math.floor(s.zt(n)/2),c=s.yi();c>-l&&cthis.wv.height-l&&cp-u&&l.Vi(p-u)}for(let s=1;s{o.Ii()&&o.xt(O(this.Li)).K(e,a,this.Mv,i)})}np(e){if(this.wv===null||this.Li===null)return;const n=this.nn.yv().qt(),a=[],i=this.nn.Kv(),o=n.Fc().Rn(i,this.Li);o.length&&a.push(o);const s=this.Hv(),l=this.Tv?"right":"left";a.forEach(c=>{c.forEach(u=>{u.xt(O(this.Li)).K(e,s,this.Mv,l)})})}rp(e){this.Ov.style.cursor=e===1?"ns-resize":"default"}ao(){const e=this.$v();this.xv{this.Sv||this.wp===null||this.Ui().Fh()},this.Cv=()=>{this.Sv||this.wp===null||this.Ui().Fh()},this.gp=e,this.wp=n,this.wp.I_().l(this.Mp.bind(this),this,!0),this.xp=document.createElement("td"),this.xp.style.padding="0",this.xp.style.position="relative";const a=document.createElement("div");a.style.width="100%",a.style.height="100%",a.style.position="relative",a.style.overflow="hidden",this.Sp=document.createElement("td"),this.Sp.style.padding="0",this.kp=document.createElement("td"),this.kp.style.padding="0",this.xp.appendChild(a),this.Av=qo(a,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const i=this.Av.canvasElement;i.style.position="absolute",i.style.zIndex="1",i.style.left="0",i.style.top="0",this.Vv=qo(a,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const o=this.Vv.canvasElement;o.style.position="absolute",o.style.zIndex="2",o.style.left="0",o.style.top="0",this.yp=document.createElement("tr"),this.yp.appendChild(this.Sp),this.yp.appendChild(this.xp),this.yp.appendChild(this.kp),this.Cp(),this.Wv=new Zg(this.Vv.canvasElement,this,{Nf:()=>this.vp===null&&!this.gp.W().handleScroll.vertTouchDrag,Ff:()=>this.vp===null&&!this.gp.W().handleScroll.horzTouchDrag})}S(){this.lp!==null&&this.lp.S(),this.ap!==null&&this.ap.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose(),this.wp!==null&&this.wp.I_().p(this),this.Wv.S()}Kv(){return O(this.wp)}Tp(e){this.wp!==null&&this.wp.I_().p(this),this.wp=e,this.wp!==null&&this.wp.I_().l(Jg.prototype.Mp.bind(this),this,!0),this.Cp()}yv(){return this.gp}jv(){return this.yp}Cp(){if(this.wp!==null&&(this.Pp(),this.Ui().Mt().length!==0)){if(this.lp!==null){const e=this.wp.S_();this.lp.Ji(O(e))}if(this.ap!==null){const e=this.wp.k_();this.ap.Ji(O(e))}}}Rp(){this.lp!==null&&this.lp.gt(),this.ap!==null&&this.ap.gt()}v_(){return this.wp!==null?this.wp.v_():0}p_(e){this.wp&&this.wp.p_(e)}Bf(e){if(!this.wp)return;this.Dp();const n=e.localX,a=e.localY;this.Op(n,a,e)}Qf(e){this.Dp(),this.Ap(),this.Op(e.localX,e.localY,e)}If(e){var n;if(!this.wp)return;this.Dp();const a=e.localX,i=e.localY;this.Op(a,i,e);const o=this.br(a,i);this.gp.Vp((n=o==null?void 0:o.bv)!==null&&n!==void 0?n:null),this.Ui().Bc(o&&{Ic:o.Ic,pv:o.pv})}Xf(e){this.wp!==null&&(this.Dp(),this.Bp(e))}Tf(e){this.wp!==null&&this.Ip(this.cp,e)}Sf(e){this.Tf(e)}Hf(e){this.Dp(),this.zp(e),this.Op(e.localX,e.localY,e)}Yf(e){this.wp!==null&&(this.Dp(),this.fp=!1,this.Ep(e))}qf(e){this.wp!==null&&this.Bp(e)}_v(e){if(this.fp=!0,this.vp===null){const n={x:e.localX,y:e.localY};this.Lp(n,n,e)}}ov(e){this.wp!==null&&(this.Dp(),this.wp.qt().Bc(null),this.Np())}Fp(){return this.up}Wp(){return this.cp}sv(){this.dp=1,this.Ui().Un()}ev(e,n){if(!this.gp.W().handleScale.pinch)return;const a=5*(n-this.dp);this.dp=n,this.Ui().Uc(e.et,a)}Gf(e){this.fp=!1,this.pp=this.vp!==null,this.Ap();const n=this.Ui().Fc();this.vp!==null&&n.Tt()&&(this.mp={x:n.Kt(),y:n.Zt()},this.vp={x:e.localX,y:e.localY})}Wf(e){if(this.wp===null)return;const n=e.localX,a=e.localY;if(this.vp===null)this.zp(e);else{this.pp=!1;const i=O(this.mp),o=i.x+(n-this.vp.x),s=i.y+(a-this.vp.y);this.Op(o,s,e)}}Uf(e){this.yv().W().trackingMode.exitMode===0&&(this.pp=!0),this.jp(),this.Ep(e)}br(e,n){const a=this.wp;return a===null?null:function(i,o,s){const l=i.No(),c=function(u,d,p){var h,m;let g,v;for(const k of u){const w=(m=(h=k.oa)===null||h===void 0?void 0:h.call(k,d,p))!==null&&m!==void 0?m:[];for(const j of w)y=j.zOrder,(!(b=g==null?void 0:g.zOrder)||y==="top"&&b!=="top"||y==="normal"&&b==="bottom")&&(g=j,v=k)}var y,b;return g&&v?{mv:g,Ic:v}:null}(l,o,s);if((c==null?void 0:c.mv.zOrder)==="top")return Tc(c);for(const u of l){if(c&&c.Ic===u&&c.mv.zOrder!=="bottom"&&!c.mv.isBackground)return Tc(c);const d=cle(u.Pn(i),o,s);if(d!==null)return{Ic:u,fv:d.fv,pv:d.pv};if(c&&c.Ic===u&&c.mv.zOrder!=="bottom"&&c.mv.isBackground)return Tc(c)}return c!=null&&c.mv?Tc(c):null}(a,e,n)}Hp(e,n){O(n==="left"?this.lp:this.ap).Yv(Ne({width:e,height:this.wv.height}))}$p(){return this.wv}Yv(e){To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.xp.style.width=e.width+"px",this.xp.style.height=e.height+"px")}Up(){const e=O(this.wp);e.x_(e.S_()),e.x_(e.k_());for(const n of e.Ta())if(e.dr(n)){const a=n.At();a!==null&&e.x_(a),n.On()}}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Zv(e){if(e===0||this.wp===null)return;if(e>1&&this.Up(),this.lp!==null&&this.lp.Zv(e),this.ap!==null&&this.ap.Zv(e),e!==1){this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i)}),this.wp&&(this.qp(a,ule),this.Yp(a),this.Xp(a),this.qp(a,Ec),this.qp(a,dle)))}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.Kp(n),this.qp(n,ple))}Zp(){return this.lp}Gp(){return this.ap}Qv(e,n){this.qp(e,n)}Mp(){this.wp!==null&&this.wp.I_().p(this),this.wp=null}Bp(e){this.Ip(this.up,e)}Ip(e,n){const a=n.localX,i=n.localY;e.M()&&e.m(this.Ui().yt().Vu(a),{x:a,y:i},n)}Jv({context:e,bitmapSize:n}){const{width:a,height:i}=n,o=this.Ui(),s=o.q(),l=o.od();s===l?Xd(e,0,0,a,i,l):B1(e,0,0,a,i,s,l)}Yp(e){const n=O(this.wp).z_().Wh().xt();n!==null&&n.K(e,!1)}Xp(e){const n=this.Ui().Nc();this.Jp(e,Ec,Xm,n),this.Jp(e,Ec,cu,n)}Kp(e){this.Jp(e,Ec,cu,this.Ui().Fc())}qp(e,n){const a=O(this.wp).No();for(const i of a)this.Jp(e,n,Xm,i);for(const i of a)this.Jp(e,n,cu,i)}Jp(e,n,a,i){const o=O(this.wp),s=o.qt().Vc(),l=s!==null&&s.Ic===i,c=s!==null&&l&&s.pv!==void 0?s.pv.gr:void 0;ef(n,u=>a(u,e,l,c),i,o)}Pp(){if(this.wp===null)return;const e=this.gp,n=this.wp.S_().W().visible,a=this.wp.k_().W().visible;n||this.lp===null||(this.Sp.removeChild(this.lp.jv()),this.lp.S(),this.lp=null),a||this.ap===null||(this.kp.removeChild(this.ap.jv()),this.ap.S(),this.ap=null);const i=e.qt().sd();n&&this.lp===null&&(this.lp=new Bx(this,e.W(),i,"left"),this.Sp.appendChild(this.lp.jv())),a&&this.ap===null&&(this.ap=new Bx(this,e.W(),i,"right"),this.kp.appendChild(this.ap.jv()))}Qp(e){return e.uv&&this.fp||this.vp!==null}tm(e){return Math.max(0,Math.min(e,this.wv.width-1))}im(e){return Math.max(0,Math.min(e,this.wv.height-1))}Op(e,n,a){this.Ui().Jc(this.tm(e),this.im(n),a,O(this.wp))}Np(){this.Ui().td()}jp(){this.pp&&(this.vp=null,this.Np())}Lp(e,n,a){this.vp=e,this.pp=!1,this.Op(n.x,n.y,a);const i=this.Ui().Fc();this.mp={x:i.Kt(),y:i.Zt()}}Ui(){return this.gp.qt()}Ep(e){if(!this._p)return;const n=this.Ui(),a=this.Kv();if(n.D_(a,a.vn()),this.op=null,this._p=!1,n.Kc(),this.bp!==null){const i=performance.now(),o=n.yt();this.bp.Dr(o.Eu(),i),this.bp.Yu(i)||n.Xn(this.bp)}}Dp(){this.vp=null}Ap(){if(this.wp){if(this.Ui().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)O(document.activeElement).blur();else{const e=document.getSelection();e!==null&&e.removeAllRanges()}!this.wp.vn().Fi()&&this.Ui().yt().Fi()}}zp(e){if(this.wp===null)return;const n=this.Ui(),a=n.yt();if(a.Fi())return;const i=this.gp.W(),o=i.handleScroll,s=i.kineticScroll;if((!o.pressedMouseMove||e.uv)&&(!o.horzTouchDrag&&!o.vertTouchDrag||!e.uv))return;const l=this.wp.vn(),c=performance.now();if(this.op!==null||this.Qp(e)||(this.op={x:e.clientX,y:e.clientY,kd:c,nm:e.localX,sm:e.localY}),this.op!==null&&!this._p&&(this.op.x!==e.clientX||this.op.y!==e.clientY)){if(e.uv&&s.touch||!e.uv&&s.mouse){const u=a.he();this.bp=new sle(.2/u,7/u,.997,15/u),this.bp.Nd(a.Eu(),this.op.kd)}else this.bp=null;l.Fi()||n.P_(this.wp,l,e.localY),n.Yc(e.localX),this._p=!0}this._p&&(l.Fi()||n.R_(this.wp,l,e.localY),n.Xc(e.localX),this.bp!==null&&this.bp.Nd(a.Eu(),c))}}class Sx{constructor(e,n,a,i,o){this.bt=!0,this.wv=Ne({width:0,height:0}),this.kv=()=>this.Zv(3),this.Tv=e==="left",this.kc=a.sd,this.cn=n,this.rm=i,this.hm=o,this.Ov=document.createElement("div"),this.Ov.style.width="25px",this.Ov.style.height="100%",this.Ov.style.overflow="hidden",this.Av=qo(this.Ov,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv)}S(){this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose()}jv(){return this.Ov}$p(){return this.wv}Yv(e){To(this.wv,e)||(this.wv=e,this.Av.resizeCanvasElement(e),this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`,this.bt=!0)}Zv(e){if(e<3&&!this.bt||this.wv.width===0||this.wv.height===0)return;this.bt=!1,this.Av.applySuggestedBitmapSize();const n=Wo(this.Av);n!==null&&n.useBitmapCoordinateSpace(a=>{this.Jv(a),this.Be(a)})}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Be({context:e,bitmapSize:n,horizontalPixelRatio:a,verticalPixelRatio:i}){if(!this.rm())return;e.fillStyle=this.cn.timeScale.borderColor;const o=Math.floor(this.kc.W().C*a),s=Math.floor(this.kc.W().C*i),l=this.Tv?n.width-o:0;e.fillRect(l,0,o,s)}Jv({context:e,bitmapSize:n}){Xd(e,0,0,n.width,n.height,this.hm())}}function Xg(t){return e=>{var n,a;return(a=(n=e.aa)===null||n===void 0?void 0:n.call(e,t))!==null&&a!==void 0?a:[]}}const hle=Xg("normal"),mle=Xg("top"),fle=Xg("bottom");class gle{constructor(e,n){this.lm=null,this.am=null,this.k=null,this.om=!1,this.wv=Ne({width:0,height:0}),this._m=new et,this.Mv=new yl(5),this.Sv=!1,this.kv=()=>{this.Sv||this.gp.qt().Fh()},this.Cv=()=>{this.Sv||this.gp.qt().Fh()},this.gp=e,this.N_=n,this.cn=e.W().layout,this.um=document.createElement("tr"),this.dm=document.createElement("td"),this.dm.style.padding="0",this.fm=document.createElement("td"),this.fm.style.padding="0",this.Ov=document.createElement("td"),this.Ov.style.height="25px",this.Ov.style.padding="0",this.vm=document.createElement("div"),this.vm.style.width="100%",this.vm.style.height="100%",this.vm.style.position="relative",this.vm.style.overflow="hidden",this.Ov.appendChild(this.vm),this.Av=qo(this.vm,Ne({width:16,height:16})),this.Av.subscribeSuggestedBitmapSizeChanged(this.kv);const a=this.Av.canvasElement;a.style.position="absolute",a.style.zIndex="1",a.style.left="0",a.style.top="0",this.Vv=qo(this.vm,Ne({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Cv);const i=this.Vv.canvasElement;i.style.position="absolute",i.style.zIndex="2",i.style.left="0",i.style.top="0",this.um.appendChild(this.dm),this.um.appendChild(this.Ov),this.um.appendChild(this.fm),this.pm(),this.gp.qt().f_().l(this.pm.bind(this),this),this.Wv=new Zg(this.Vv.canvasElement,this,{Nf:()=>!0,Ff:()=>!this.gp.W().handleScroll.horzTouchDrag})}S(){this.Wv.S(),this.lm!==null&&this.lm.S(),this.am!==null&&this.am.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Cv),this.Vv.dispose(),this.Av.unsubscribeSuggestedBitmapSizeChanged(this.kv),this.Av.dispose()}jv(){return this.um}bm(){return this.lm}wm(){return this.am}Qf(e){if(this.om)return;this.om=!0;const n=this.gp.qt();!n.yt().Fi()&&this.gp.W().handleScale.axisPressedMouseMove.time&&n.$c(e.localX)}Gf(e){this.Qf(e)}tv(){const e=this.gp.qt();!e.yt().Fi()&&this.om&&(this.om=!1,this.gp.W().handleScale.axisPressedMouseMove.time&&e.Gc())}Hf(e){const n=this.gp.qt();!n.yt().Fi()&&this.gp.W().handleScale.axisPressedMouseMove.time&&n.Zc(e.localX)}Wf(e){this.Hf(e)}Yf(){this.om=!1;const e=this.gp.qt();e.yt().Fi()&&!this.gp.W().handleScale.axisPressedMouseMove.time||e.Gc()}Uf(){this.Yf()}Tf(){this.gp.W().handleScale.axisDoubleClickReset.time&&this.gp.qt().Zn()}Sf(){this.Tf()}Bf(){this.gp.qt().W().handleScale.axisPressedMouseMove.time&&this.rp(1)}ov(){this.rp(0)}$p(){return this.wv}gm(){return this._m}Mm(e,n,a){To(this.wv,e)||(this.wv=e,this.Sv=!0,this.Av.resizeCanvasElement(e),this.Vv.resizeCanvasElement(e),this.Sv=!1,this.Ov.style.width=`${e.width}px`,this.Ov.style.height=`${e.height}px`,this._m.m(e)),this.lm!==null&&this.lm.Yv(Ne({width:n,height:e.height})),this.am!==null&&this.am.Yv(Ne({width:a,height:e.height}))}xm(){const e=this.Sm();return Math.ceil(e.C+e.T+e.P+e.L+e.V+e.km)}gt(){this.gp.qt().yt().Ea()}sp(){return this.Av.bitmapSize}ep(e,n,a){const i=this.sp();i.width>0&&i.height>0&&e.drawImage(this.Av.canvasElement,n,a)}Zv(e){if(e===0)return;if(e!==1){this.Av.applySuggestedBitmapSize();const a=Wo(this.Av);a!==null&&(a.useBitmapCoordinateSpace(i=>{this.Jv(i),this.Be(i),this.ym(a,fle)}),this.tp(a),this.ym(a,hle)),this.lm!==null&&this.lm.Zv(e),this.am!==null&&this.am.Zv(e)}this.Vv.applySuggestedBitmapSize();const n=Wo(this.Vv);n!==null&&(n.useBitmapCoordinateSpace(({context:a,bitmapSize:i})=>{a.clearRect(0,0,i.width,i.height)}),this.Cm([...this.gp.qt().Mt(),this.gp.qt().Fc()],n),this.ym(n,mle))}ym(e,n){const a=this.gp.qt().Mt();for(const i of a)ef(n,o=>Xm(o,e,!1,void 0),i,void 0);for(const i of a)ef(n,o=>cu(o,e,!1,void 0),i,void 0)}Jv({context:e,bitmapSize:n}){Xd(e,0,0,n.width,n.height,this.gp.qt().od())}Be({context:e,bitmapSize:n,verticalPixelRatio:a}){if(this.gp.W().timeScale.borderVisible){e.fillStyle=this.Tm();const i=Math.max(1,Math.floor(this.Sm().C*a));e.fillRect(0,0,n.width,i)}}tp(e){const n=this.gp.qt().yt(),a=n.Ea();if(!a||a.length===0)return;const i=this.N_.maxTickMarkWeight(a),o=this.Sm(),s=n.W();s.borderVisible&&s.ticksVisible&&e.useBitmapCoordinateSpace(({context:l,horizontalPixelRatio:c,verticalPixelRatio:u})=>{l.strokeStyle=this.Tm(),l.fillStyle=this.Tm();const d=Math.max(1,Math.floor(c)),p=Math.floor(.5*c);l.beginPath();const h=Math.round(o.T*u);for(let m=a.length;m--;){const g=Math.round(a[m].coord*c);l.rect(g-p,0,d,h)}l.fill()}),e.useMediaCoordinateSpace(({context:l})=>{const c=o.C+o.T+o.L+o.P/2;l.textAlign="center",l.textBaseline="middle",l.fillStyle=this.$(),l.font=this.Uv();for(const u of a)if(u.weight=i){const d=u.needAlignCoordinate?this.Pm(l,u.coord,u.label):u.coord;l.fillText(u.label,d,c)}})}Pm(e,n,a){const i=this.Mv.Si(e,a),o=i/2,s=Math.floor(n-o)+.5;return s<0?n+=Math.abs(0-s):s+i>this.wv.width&&(n-=Math.abs(this.wv.width-(s+i))),n}Cm(e,n){const a=this.Sm();for(const i of e)for(const o of i.tn())o.xt().K(n,a)}Tm(){return this.gp.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}Uv(){return Kr(this.j(),this.cn.fontFamily)}Rm(){return Kr(this.j(),this.cn.fontFamily,"bold")}Sm(){this.k===null&&(this.k={C:1,N:NaN,L:NaN,V:NaN,Hi:NaN,T:5,P:NaN,R:"",ji:new yl,km:0});const e=this.k,n=this.Uv();if(e.R!==n){const a=this.j();e.P=a,e.R=n,e.L=3*a/12,e.V=3*a/12,e.Hi=9*a/12,e.N=0,e.km=4*a/12,e.ji.ir()}return this.k}rp(e){this.Ov.style.cursor=e===1?"ew-resize":"default"}pm(){const e=this.gp.qt(),n=e.W();n.leftPriceScale.visible||this.lm===null||(this.dm.removeChild(this.lm.jv()),this.lm.S(),this.lm=null),n.rightPriceScale.visible||this.am===null||(this.fm.removeChild(this.am.jv()),this.am.S(),this.am=null);const a={sd:this.gp.qt().sd()},i=()=>n.leftPriceScale.borderVisible&&e.yt().W().borderVisible,o=()=>e.od();n.leftPriceScale.visible&&this.lm===null&&(this.lm=new Sx("left",n,a,i,o),this.dm.appendChild(this.lm.jv())),n.rightPriceScale.visible&&this.am===null&&(this.am=new Sx("right",n,a,i,o),this.fm.appendChild(this.am.jv()))}}const vle=!!Gr&&!!navigator.userAgentData&&navigator.userAgentData.brands.some(t=>t.brand.includes("Chromium"))&&!!Gr&&(!((Bh=navigator==null?void 0:navigator.userAgentData)===null||Bh===void 0)&&Bh.platform?navigator.userAgentData.platform==="Windows":navigator.userAgent.toLowerCase().indexOf("win")>=0);var Bh;class ble{constructor(e,n,a){var i;this.Dm=[],this.Om=0,this.Qa=0,this.e_=0,this.Am=0,this.Vm=0,this.Bm=null,this.Im=!1,this.up=new et,this.cp=new et,this.Mc=new et,this.zm=null,this.Em=null,this.Lm=e,this.cn=n,this.N_=a,this.um=document.createElement("div"),this.um.classList.add("tv-lightweight-charts"),this.um.style.overflow="hidden",this.um.style.direction="ltr",this.um.style.width="100%",this.um.style.height="100%",(i=this.um).style.userSelect="none",i.style.webkitUserSelect="none",i.style.msUserSelect="none",i.style.MozUserSelect="none",i.style.webkitTapHighlightColor="transparent",this.Nm=document.createElement("table"),this.Nm.setAttribute("cellspacing","0"),this.um.appendChild(this.Nm),this.Fm=this.Wm.bind(this),Sh(this.cn)&&this.jm(!0),this.Ui=new nle(this.Sc.bind(this),this.cn,a),this.qt().Wc().l(this.Hm.bind(this),this),this.$m=new gle(this,this.N_),this.Nm.appendChild(this.$m.jv());const o=n.autoSize&&this.Um();let s=this.cn.width,l=this.cn.height;if(o||s===0||l===0){const c=e.getBoundingClientRect();s=s||c.width,l=l||c.height}this.qm(s,l),this.Ym(),e.appendChild(this.um),this.Xm(),this.Ui.yt().Gu().l(this.Ui.$l.bind(this.Ui),this),this.Ui.f_().l(this.Ui.$l.bind(this.Ui),this)}qt(){return this.Ui}W(){return this.cn}Km(){return this.Dm}Zm(){return this.$m}S(){this.jm(!1),this.Om!==0&&window.cancelAnimationFrame(this.Om),this.Ui.Wc().p(this),this.Ui.yt().Gu().p(this),this.Ui.f_().p(this),this.Ui.S();for(const e of this.Dm)this.Nm.removeChild(e.jv()),e.Fp().p(this),e.Wp().p(this),e.S();this.Dm=[],O(this.$m).S(),this.um.parentElement!==null&&this.um.parentElement.removeChild(this.um),this.Mc.S(),this.up.S(),this.cp.S(),this.Gm()}qm(e,n,a=!1){if(this.Qa===n&&this.e_===e)return;const i=function(l){const c=Math.floor(l.width),u=Math.floor(l.height);return Ne({width:c-c%2,height:u-u%2})}(Ne({width:e,height:n}));this.Qa=i.height,this.e_=i.width;const o=this.Qa+"px",s=this.e_+"px";O(this.um).style.height=o,O(this.um).style.width=s,this.Nm.style.height=o,this.Nm.style.width=s,a?this.Jm(vt.es(),performance.now()):this.Ui.$l()}Zv(e){e===void 0&&(e=vt.es());for(let n=0;n{let u=0;for(let d=0;d{O(l==="left"?this.$m.bm():this.$m.wm()).ep(O(e),c,u)};if(this.cn.timeScale.visible){const l=this.$m.sp();if(e!==null){let c=0;this.sb()&&(s("left",c,a),c=O(i.Zp()).sp().width),this.$m.ep(e,c,a),c+=l.width,this.eb()&&s("right",c,a)}a+=l.height}return Ne({width:n,height:a})}ob(){let e=0,n=0,a=0;for(const g of this.Dm)this.sb()&&(n=Math.max(n,O(g.Zp()).$v(),this.cn.leftPriceScale.minimumWidth)),this.eb()&&(a=Math.max(a,O(g.Gp()).$v(),this.cn.rightPriceScale.minimumWidth)),e+=g.v_();n=Jm(n),a=Jm(a);const i=this.e_,o=this.Qa,s=Math.max(i-n-a,0),l=this.cn.timeScale.visible;let c=l?Math.max(this.$m.xm(),this.cn.timeScale.minimumHeight):0;var u;c=(u=c)+u%2;const d=0+c,p=o{o.Rp()}),((a=this.Bm)===null||a===void 0?void 0:a.jn())===3&&(this.Bm.ts(e),this.ub(),this.cb(this.Bm),this.fb(this.Bm,n),e=this.Bm,this.Bm=null)),this.Zv(e)}fb(e,n){for(const a of e.Qn())this.ns(a,n)}cb(e){const n=this.Ui.Lc();for(let a=0;a{if(this.Im=!1,this.Om=0,this.Bm!==null){const a=this.Bm;this.Bm=null,this.Jm(a,n);for(const i of a.Qn())if(i.qn===5&&!i.Vt.Yu(n)){this.qt().Xn(i.Vt);break}}}))}ub(){this.Ym()}Ym(){const e=this.Ui.Lc(),n=e.length,a=this.Dm.length;for(let i=n;i{const p=d.In().nl(e);p!==null&&o.set(d,p)});let s;if(e!==null){const d=(i=this.Ui.yt().qi(e))===null||i===void 0?void 0:i.originalTime;d!==void 0&&(s=d)}const l=this.qt().Vc(),c=l!==null&&l.Ic instanceof Qg?l.Ic:void 0,u=l!==null&&l.pv!==void 0?l.pv.wr:void 0;return{bb:s,se:e??void 0,wb:n??void 0,gb:c,Mb:o,xb:u,Sb:a??void 0}}vb(e,n,a){this.up.m(()=>this.mb(e,n,a))}pb(e,n,a){this.cp.m(()=>this.mb(e,n,a))}Hm(e,n,a){this.Mc.m(()=>this.mb(e,n,a))}Xm(){const e=this.cn.timeScale.visible?"":"none";this.$m.jv().style.display=e}sb(){return this.Dm[0].Kv().S_().W().visible}eb(){return this.Dm[0].Kv().k_().W().visible}Um(){return"ResizeObserver"in window&&(this.zm=new ResizeObserver(e=>{const n=e.find(a=>a.target===this.Lm);n&&this.qm(n.contentRect.width,n.contentRect.height)}),this.zm.observe(this.Lm,{box:"border-box"}),!0)}Gm(){this.zm!==null&&this.zm.disconnect(),this.zm=null}}function Sh(t){return!!(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function U1(t,e){var n={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(a=Object.getOwnPropertySymbols(t);ifunction(l,c){return c?c(l):(u=l).open===void 0&&u.value===void 0;var u}(a,s)?Cx({ut:e,se:n,bb:i},a):Cx(t(e,n,a,i,o),a)}function Dx(t){return{Candlestick:po(wle),Bar:po(yle),Area:po(kle),Baseline:po(xle),Histogram:po(zx),Line:po(zx),Custom:po(jle)}[t]}function Ax(t){return{se:0,yb:new Map,ia:t}}function _x(t,e){if(t!==void 0&&t.length!==0)return{Cb:e.key(t[0].ut),Tb:e.key(t[t.length-1].ut)}}function Tx(t){let e;return t.forEach(n=>{e===void 0&&(e=n.bb)}),on(e)}class Ble{constructor(e){this.Pb=new Map,this.Rb=new Map,this.Db=new Map,this.Ob=[],this.N_=e}S(){this.Pb.clear(),this.Rb.clear(),this.Db.clear(),this.Ob=[]}Ab(e,n){let a=this.Pb.size!==0,i=!1;const o=this.Rb.get(e);if(o!==void 0)if(this.Rb.size===1)a=!1,i=!0,this.Pb.clear();else for(const c of this.Ob)c.pointData.yb.delete(e)&&(i=!0);let s=[];if(n.length!==0){const c=n.map(m=>m.time),u=this.N_.createConverterToInternalObj(n),d=Dx(e.Xh()),p=e.ga(),h=e.Ma();s=n.map((m,g)=>{const v=u(m.time),y=this.N_.key(v);let b=this.Pb.get(y);b===void 0&&(b=Ax(v),this.Pb.set(y,b),i=!0);const k=d(v,b.se,m,c[g],p,h);return b.yb.set(e,k),k})}a&&this.Vb(),this.Bb(e,s);let l=-1;if(i){const c=[];this.Pb.forEach(u=>{c.push({timeWeight:0,time:u.ia,pointData:u,originalTime:Tx(u.yb)})}),c.sort((u,d)=>this.N_.key(u.time)-this.N_.key(d.time)),l=this.Ib(c)}return this.zb(e,l,function(c,u,d){const p=_x(c,d),h=_x(u,d);if(p!==void 0&&h!==void 0)return{Xl:p.Tb>=h.Tb&&p.Cb>=h.Cb}}(this.Rb.get(e),o,this.N_))}hd(e){return this.Ab(e,[])}Eb(e,n){const a=n;(function(v){v.bb===void 0&&(v.bb=v.time)})(a),this.N_.preprocessData(n);const i=this.N_.createConverterToInternalObj([n])(n.time),o=this.Db.get(e);if(o!==void 0&&this.N_.key(i)this.N_.key(v.time)this.N_.key(i.ut)?Pc(n)&&a.push(n):Pc(n)?a[a.length-1]=n:a.splice(-1,1),this.Db.set(e,n.ut)}Bb(e,n){n.length!==0?(this.Rb.set(e,n.filter(Pc)),this.Db.set(e,n[n.length-1].ut)):(this.Rb.delete(e),this.Db.delete(e))}Vb(){for(const e of this.Ob)e.pointData.yb.size===0&&this.Pb.delete(this.N_.key(e.time))}Ib(e){let n=-1;for(let a=0;a{n.length!==0&&(e=Math.max(e,n[n.length-1].se))}),e}zb(e,n,a){const i={Fb:new Map,yt:{Au:this.Nb()}};if(n!==-1)this.Rb.forEach((o,s)=>{i.Fb.set(s,{He:o,Wb:s===e?a:void 0})}),this.Rb.has(e)||i.Fb.set(e,{He:[],Wb:a}),i.yt.jb=this.Ob,i.yt.Hb=n;else{const o=this.Rb.get(e);i.Fb.set(e,{He:o||[],Wb:a})}return i}}function zh(t,e){t.se=e,t.yb.forEach(n=>{n.se=e})}function ev(t){const e={value:t.Vt[3],time:t.bb};return t.kb!==void 0&&(e.customValues=t.kb),e}function Ex(t){const e=ev(t);return t.O!==void 0&&(e.color=t.O),e}function Sle(t){const e=ev(t);return t._t!==void 0&&(e.lineColor=t._t),t.Ts!==void 0&&(e.topColor=t.Ts),t.Ps!==void 0&&(e.bottomColor=t.Ps),e}function zle(t){const e=ev(t);return t.Pe!==void 0&&(e.topLineColor=t.Pe),t.Re!==void 0&&(e.bottomLineColor=t.Re),t.Se!==void 0&&(e.topFillColor1=t.Se),t.ke!==void 0&&(e.topFillColor2=t.ke),t.ye!==void 0&&(e.bottomFillColor1=t.ye),t.Ce!==void 0&&(e.bottomFillColor2=t.Ce),e}function q1(t){const e={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.bb};return t.kb!==void 0&&(e.customValues=t.kb),e}function Cle(t){const e=q1(t);return t.O!==void 0&&(e.color=t.O),e}function Dle(t){const e=q1(t),{O:n,Bt:a,$h:i}=t;return n!==void 0&&(e.color=n),a!==void 0&&(e.borderColor=a),i!==void 0&&(e.wickColor=i),e}function tf(t){return{Area:Sle,Line:Ex,Baseline:zle,Histogram:Ex,Bar:Cle,Candlestick:Dle,Custom:Ale}[t]}function Ale(t){const e=t.bb;return Object.assign(Object.assign({},t.He),{time:e})}const _le={vertLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},horzLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},mode:1},Tle={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},Ele={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:Vg},Ch={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},Ple={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0},Nle={color:"rgba(0, 0, 0, 0)",visible:!1,fontSize:48,fontFamily:Vg,fontStyle:"",text:"",horzAlign:"center",vertAlign:"center"};function Px(){return{width:0,height:0,autoSize:!1,layout:Ele,crosshair:_le,grid:Tle,overlayPriceScales:Object.assign({},Ch),leftPriceScale:Object.assign(Object.assign({},Ch),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},Ch),{visible:!0}),timeScale:Ple,watermark:Nle,localization:{locale:Gr?navigator.language:"",dateFormat:"dd MMM 'yy"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Lle{constructor(e,n){this.$b=e,this.Ub=n}applyOptions(e){this.$b.qt().zc(this.Ub,e)}options(){return this.Li().W()}width(){return tp(this.Ub)?this.$b.nb(this.Ub):0}Li(){return O(this.$b.qt().Ec(this.Ub)).At}}function Nx(t,e,n){const a=U1(t,["time","originalTime"]),i=Object.assign({time:e},a);return n!==void 0&&(i.originalTime=n),i}const Ile={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class $le{constructor(e){this.Bh=e}applyOptions(e){this.Bh.Nh(e)}options(){return this.Bh.W()}qb(){return this.Bh}}class Mle{constructor(e,n,a,i,o){this.Yb=new et,this.Es=e,this.Xb=n,this.Kb=a,this.N_=o,this.Zb=i}S(){this.Yb.S()}priceFormatter(){return this.Es.ca()}priceToCoordinate(e){const n=this.Es.Pt();return n===null?null:this.Es.At().Ot(e,n.Vt)}coordinateToPrice(e){const n=this.Es.Pt();return n===null?null:this.Es.At().pn(e,n.Vt)}barsInLogicalRange(e){if(e===null)return null;const n=new lu(new Ks(e.from,e.to)).iu(),a=this.Es.In();if(a.Fi())return null;const i=a.nl(n.Os(),1),o=a.nl(n.di(),-1),s=O(a.Qh()),l=O(a.Bn());if(i!==null&&o!==null&&i.se>o.se)return{barsBefore:e.from-s,barsAfter:l-e.to};const c={barsBefore:i===null||i.se===s?e.from-s:i.se-s,barsAfter:o===null||o.se===l?l-e.to:l-o.se};return i!==null&&o!==null&&(c.from=i.bb,c.to=o.bb),c}setData(e){this.N_,this.Es.Xh(),this.Xb.Gb(this.Es,e),this.Jb("full")}update(e){this.Es.Xh(),this.Xb.Qb(this.Es,e),this.Jb("update")}dataByIndex(e,n){const a=this.Es.In().nl(e,n);return a===null?null:tf(this.seriesType())(a)}data(){const e=tf(this.seriesType());return this.Es.In().ie().map(n=>e(n))}subscribeDataChanged(e){this.Yb.l(e)}unsubscribeDataChanged(e){this.Yb.v(e)}setMarkers(e){this.N_;const n=e.map(a=>Nx(a,this.N_.convertHorzItemToInternal(a.time),a.time));this.Es.Zl(n)}markers(){return this.Es.Gl().map(e=>Nx(e,e.originalTime,void 0))}applyOptions(e){this.Es.Nh(e)}options(){return ei(this.Es.W())}priceScale(){return this.Kb.priceScale(this.Es.At().xa())}createPriceLine(e){const n=ha(ei(Ile),e),a=this.Es.Jl(n);return new $le(a)}removePriceLine(e){this.Es.Ql(e.qb())}seriesType(){return this.Es.Xh()}attachPrimitive(e){this.Es.ba(e),e.attached&&e.attached({chart:this.Zb,series:this,requestUpdate:()=>this.Es.qt().$l()})}detachPrimitive(e){this.Es.wa(e),e.detached&&e.detached()}Jb(e){this.Yb.M()&&this.Yb.m(e)}}let Ole=class{constructor(e,n,a){this.tw=new et,this.uu=new et,this._m=new et,this.Ui=e,this.wl=e.yt(),this.$m=n,this.wl.Ku().l(this.iw.bind(this)),this.wl.Zu().l(this.nw.bind(this)),this.$m.gm().l(this.sw.bind(this)),this.N_=a}S(){this.wl.Ku().p(this),this.wl.Zu().p(this),this.$m.gm().p(this),this.tw.S(),this.uu.S(),this._m.S()}scrollPosition(){return this.wl.Eu()}scrollToPosition(e,n){n?this.wl.qu(e,1e3):this.Ui.Jn(e)}scrollToRealTime(){this.wl.Uu()}getVisibleRange(){const e=this.wl.yu();return e===null?null:{from:e.from.originalTime,to:e.to.originalTime}}setVisibleRange(e){const n={from:this.N_.convertHorzItemToInternal(e.from),to:this.N_.convertHorzItemToInternal(e.to)},a=this.wl.Ru(n);this.Ui.ld(a)}getVisibleLogicalRange(){const e=this.wl.ku();return e===null?null:{from:e.Os(),to:e.di()}}setVisibleLogicalRange(e){eo(e.from<=e.to,"The from index cannot be after the to index."),this.Ui.ld(e)}resetTimeScale(){this.Ui.Zn()}fitContent(){this.Ui.Qu()}logicalToCoordinate(e){const n=this.Ui.yt();return n.Fi()?null:n.Et(e)}coordinateToLogical(e){return this.wl.Fi()?null:this.wl.Vu(e)}timeToCoordinate(e){const n=this.N_.convertHorzItemToInternal(e),a=this.wl.ya(n,!1);return a===null?null:this.wl.Et(a)}coordinateToTime(e){const n=this.Ui.yt(),a=n.Vu(e),i=n.qi(a);return i===null?null:i.originalTime}width(){return this.$m.$p().width}height(){return this.$m.$p().height}subscribeVisibleTimeRangeChange(e){this.tw.l(e)}unsubscribeVisibleTimeRangeChange(e){this.tw.v(e)}subscribeVisibleLogicalRangeChange(e){this.uu.l(e)}unsubscribeVisibleLogicalRangeChange(e){this.uu.v(e)}subscribeSizeChange(e){this._m.l(e)}unsubscribeSizeChange(e){this._m.v(e)}applyOptions(e){this.wl.Nh(e)}options(){return Object.assign(Object.assign({},ei(this.wl.W())),{barSpacing:this.wl.he()})}iw(){this.tw.M()&&this.tw.m(this.getVisibleRange())}nw(){this.uu.M()&&this.uu.m(this.getVisibleLogicalRange())}sw(e){this._m.m(e.width,e.height)}};function Rle(t){if(t===void 0||t.type==="custom")return;const e=t;e.minMove!==void 0&&e.precision===void 0&&(e.precision=function(n){if(n>=1)return 0;let a=0;for(;a<8;a++){const i=Math.round(n);if(Math.abs(i-n)<1e-8)return a;n*=10}return a}(e.minMove))}function Lx(t){return function(e){if(Bc(e.handleScale)){const a=e.handleScale;e.handleScale={axisDoubleClickReset:{time:a,price:a},axisPressedMouseMove:{time:a,price:a},mouseWheel:a,pinch:a}}else if(e.handleScale!==void 0){const{axisPressedMouseMove:a,axisDoubleClickReset:i}=e.handleScale;Bc(a)&&(e.handleScale.axisPressedMouseMove={time:a,price:a}),Bc(i)&&(e.handleScale.axisDoubleClickReset={time:i,price:i})}const n=e.handleScroll;Bc(n)&&(e.handleScroll={horzTouchDrag:n,vertTouchDrag:n,mouseWheel:n,pressedMouseMove:n})}(t),t}let Fle=class{constructor(e,n,a){this.ew=new Map,this.rw=new Map,this.hw=new et,this.lw=new et,this.aw=new et,this.ow=new Ble(n);const i=a===void 0?ei(Px()):ha(ei(Px()),Lx(a));this.N_=n,this.$b=new ble(e,i,n),this.$b.Fp().l(s=>{this.hw.M()&&this.hw.m(this._w(s()))},this),this.$b.Wp().l(s=>{this.lw.M()&&this.lw.m(this._w(s()))},this),this.$b.Wc().l(s=>{this.aw.M()&&this.aw.m(this._w(s()))},this);const o=this.$b.qt();this.uw=new Ole(o,this.$b.Zm(),this.N_)}remove(){this.$b.Fp().p(this),this.$b.Wp().p(this),this.$b.Wc().p(this),this.uw.S(),this.$b.S(),this.ew.clear(),this.rw.clear(),this.hw.S(),this.lw.S(),this.aw.S(),this.ow.S()}resize(e,n,a){this.autoSizeActive()||this.$b.qm(e,n,a)}addCustomSeries(e,n){const a=Br(e),i=Object.assign(Object.assign({},x1),a.defaultOptions());return this.cw("Custom",i,n,a)}addAreaSeries(e){return this.cw("Area",Cre,e)}addBaselineSeries(e){return this.cw("Baseline",Dre,e)}addBarSeries(e){return this.cw("Bar",Sre,e)}addCandlestickSeries(e={}){return function(n){n.borderColor!==void 0&&(n.borderUpColor=n.borderColor,n.borderDownColor=n.borderColor),n.wickColor!==void 0&&(n.wickUpColor=n.wickColor,n.wickDownColor=n.wickColor)}(e),this.cw("Candlestick",Bre,e)}addHistogramSeries(e){return this.cw("Histogram",Are,e)}addLineSeries(e){return this.cw("Line",zre,e)}removeSeries(e){const n=on(this.ew.get(e)),a=this.ow.hd(n);this.$b.qt().hd(n),this.dw(a),this.ew.delete(e),this.rw.delete(n)}Gb(e,n){this.dw(this.ow.Ab(e,n))}Qb(e,n){this.dw(this.ow.Eb(e,n))}subscribeClick(e){this.hw.l(e)}unsubscribeClick(e){this.hw.v(e)}subscribeCrosshairMove(e){this.aw.l(e)}unsubscribeCrosshairMove(e){this.aw.v(e)}subscribeDblClick(e){this.lw.l(e)}unsubscribeDblClick(e){this.lw.v(e)}priceScale(e){return new Lle(this.$b,e)}timeScale(){return this.uw}applyOptions(e){this.$b.Nh(Lx(e))}options(){return this.$b.W()}takeScreenshot(){return this.$b.tb()}autoSizeActive(){return this.$b.rb()}chartElement(){return this.$b.hb()}paneSize(){const e=this.$b.ab();return{height:e.height,width:e.width}}setCrosshairPosition(e,n,a){const i=this.ew.get(a);if(i===void 0)return;const o=this.$b.qt().cr(i);o!==null&&this.$b.qt().Qc(e,n,o)}clearCrosshairPosition(){this.$b.qt().td(!0)}cw(e,n,a={},i){Rle(a.priceFormat);const o=ha(ei(y1),ei(n),a),s=this.$b.qt().ed(e,o,i),l=new Mle(s,this,this,this,this.N_);return this.ew.set(l,s),this.rw.set(s,l),l}dw(e){const n=this.$b.qt();n.nd(e.yt.Au,e.yt.jb,e.yt.Hb),e.Fb.forEach((a,i)=>i.it(a.He,a.Wb)),n.Iu()}fw(e){return on(this.rw.get(e))}_w(e){const n=new Map;e.Mb.forEach((i,o)=>{const s=o.Xh(),l=tf(s)(i);if(s!=="Custom")eo(function(c){return c.open!==void 0||c.value!==void 0}(l));else{const c=o.Ma();eo(!c||c(l)===!1)}n.set(this.fw(o),l)});const a=e.gb===void 0?void 0:this.fw(e.gb);return{time:e.bb,logical:e.se,point:e.wb,hoveredSeries:a,hoveredObjectId:e.xb,seriesData:n,sourceEvent:e.Sb}}};function Vle(t,e,n){let a;if(Il(t)){const o=document.getElementById(t);eo(o!==null,`Cannot find element in DOM with id=${t}`),a=o}else a=t;const i=new Fle(a,e,n);return e.setOptions(i.options()),i}function Wle(t,e){return Vle(t,new yx,yx.Td(e))}Object.assign(Object.assign({},y1),x1);const Ule="_skeleton_13p4i_1",qle={skeleton:Ule,"skeleton-loading":"_skeleton-loading_13p4i_1"},ed=({fontSize:t,minWidth:e="100%"})=>r.jsx("span",{className:qle.skeleton,style:{fontSize:t,minWidth:e}}),Hle="_chart_1bo3n_1",Kle="_invisible_1bo3n_7",Gle="_chartUpdatingMessage_1bo3n_11",Qle="_summary_1bo3n_28",Yle="_filters_1bo3n_35",Zle="_filterActive_1bo3n_87",Jle="_arrow_1bo3n_104",Xle="_up_1bo3n_109",ece="_down_1bo3n_113",tce="_totalValue_1bo3n_117",nce="_totalUnit_1bo3n_121",ace="_diffValue_1bo3n_128",ice="_diffUnit_1bo3n_132",oce="_chartCanvas_1bo3n_137",rce="_tooltip_1bo3n_149",sce="_toolTipValue_1bo3n_164",lce="_toolTipUnit_1bo3n_170",cce="_toolTipTime_1bo3n_176",Oe={chart:Hle,invisible:Kle,chartUpdatingMessage:Gle,summary:Qle,filters:Yle,filterActive:Zle,arrow:Jle,up:Xle,down:ece,totalValue:tce,totalUnit:nce,diffValue:ace,diffUnit:ice,chartCanvas:oce,tooltip:rce,toolTipValue:sce,toolTipUnit:lce,toolTipTime:cce},Ix=({display:t,disableFilters:e,onDisplayWeek:n,onDisplayMonth:a,onDisplayYear:i,onDisplayAll:o})=>{const{t:s}=A();return r.jsxs("div",{className:Oe.filters,children:[r.jsx("button",{className:t==="week"?Oe.filterActive:void 0,disabled:e,onClick:n,children:s("chart.filter.week")}),r.jsx("button",{className:t==="month"?Oe.filterActive:void 0,disabled:e,onClick:a,children:s("chart.filter.month")}),r.jsx("button",{className:t==="year"?Oe.filterActive:void 0,disabled:e,onClick:i,children:s("chart.filter.year")}),r.jsx("button",{className:t==="all"?Oe.filterActive:void 0,disabled:e,onClick:o,children:s("chart.filter.all")})]})};let H1;const uce=()=>{const{isDarkMode:t}=Kn();return H1=t,null},gi=()=>H1;class K1 extends x.Component{constructor(){super(...arguments),this.ref=x.createRef(),this.refToolTip=x.createRef(),this.height=300,this.mobileHeight=150,this.state={display:"all",source:"daily",toolTipVisible:!1,toolTipValue:void 0,toolTipTop:0,toolTipLeft:0,toolTipTime:0,isMobile:!1},this.hasData=()=>this.props.data.chartDataDaily&&this.props.data.chartDataDaily.length>0,this.checkIfMobile=()=>{this.setState({isMobile:window.innerWidth<=640})},this.createChart=()=>{const{data:{chartDataMissing:e}}=this.props,n=gi();if(this.ref.current&&this.hasData()&&!e){if(!this.chart){const a=this.state.isMobile?document.body.clientWidth:this.ref.current.offsetWidth,i=this.state.isMobile?this.mobileHeight:this.height;this.chart=Wle(this.ref.current,{width:a,height:i,handleScroll:!1,handleScale:!1,crosshair:{vertLine:{visible:!1,labelVisible:!1},horzLine:{visible:!1,labelVisible:!1},mode:1},grid:{vertLines:{visible:!1},horzLines:{color:n?"#333333":"#dedede",style:Gm.Solid,visible:!this.state.isMobile}},layout:{background:{type:Ym.Solid,color:n?"#1D1D1B":"#F5F5F5"},fontSize:11,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',textColor:n?"#F5F5F5":"#1D1D1B"},leftPriceScale:{borderVisible:!1,ticksVisible:!1,visible:this.props.hideAmounts?!1:!this.state.isMobile,entireTextOnly:!0},localization:{locale:this.props.i18n.language},rightPriceScale:{visible:!1,ticksVisible:!1},timeScale:{borderVisible:!1,timeVisible:!1,visible:!this.state.isMobile},trackingMode:{exitMode:0}})}this.lineSeries=this.chart.addAreaSeries({priceLineVisible:!1,lastValueVisible:!1,priceFormat:{type:"volume"},topColor:n?"#5E94BF":"#DFF1FF",bottomColor:n?"#1D1D1B":"#F5F5F5",lineColor:"rgba(94, 148, 192, 1)",crosshairMarkerRadius:6}),this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.timeScale().subscribeVisibleLogicalRangeChange(this.calculateChange),this.chart.subscribeCrosshairMove(this.handleCrosshair),this.chart.timeScale().fitContent(),window.addEventListener("resize",this.onResize),setTimeout(()=>{var a;return(a=this.ref.current)==null?void 0:a.classList.remove(Oe.invisible)},200)}},this.onResize=()=>{this.checkIfMobile(),this.resizeTimerID&&clearTimeout(this.resizeTimerID),this.resizeTimerID=setTimeout(()=>{if(!this.chart||!this.ref.current)return;const e=this.state.isMobile?document.body.clientWidth:this.ref.current.offsetWidth,n=this.state.isMobile?this.mobileHeight:this.height;this.chart.resize(e,n),this.chart.applyOptions({grid:{horzLines:{visible:!this.state.isMobile}},timeScale:{visible:!this.state.isMobile},leftPriceScale:{visible:this.props.hideAmounts?!1:!this.state.isMobile}})},200)},this.getUTCRange=()=>{const e=new Date,n=e.getUTCFullYear(),a=e.getUTCMonth(),i=e.getUTCDate(),o=e.getUTCHours(),s=new Date(Date.UTC(n,a,i,o,0,0,0)),l=new Date(Date.UTC(n,a,i,o,0,0,0));return{utcYear:n,utcMonth:a,utcDate:i,to:s,from:l}},this.displayWeek=()=>{this.state.source!=="hourly"&&this.lineSeries&&this.props.data.chartDataHourly&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataHourly||[]),this.setFormattedData(this.props.data.chartDataHourly||[]),this.chart.applyOptions({timeScale:{timeVisible:!0}})),this.setState({display:"week",source:"hourly"},()=>{if(!this.chart)return;const{utcDate:e,from:n,to:a}=this.getUTCRange();n.setUTCDate(e-7),this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayMonth=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily||[]),this.setFormattedData(this.props.data.chartDataDaily||[]),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"month",source:"daily"},()=>{if(!this.chart)return;const{utcMonth:e,from:n,to:a}=this.getUTCRange();n.setUTCMonth(e-1),this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayYear=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"year",source:"daily"},()=>{if(!this.chart)return;const{utcYear:e,from:n,to:a}=this.getUTCRange();n.setUTCFullYear(e-1),this.chart&&this.chart.timeScale().setVisibleRange({from:n.getTime()/1e3,to:a.getTime()/1e3})})},this.displayAll=()=>{this.state.source!=="daily"&&this.lineSeries&&this.props.data.chartDataDaily&&this.chart&&(this.lineSeries.setData(this.props.data.chartDataDaily),this.setFormattedData(this.props.data.chartDataDaily),this.chart.applyOptions({timeScale:{timeVisible:!1}})),this.setState({display:"all",source:"daily"},()=>{this.chart&&this.chart.timeScale().fitContent()})},this.calculateChange=()=>{const e=this.props.data[this.state.source==="daily"?"chartDataDaily":"chartDataHourly"];if(!e||!this.chart||!this.lineSeries)return;const n=this.chart.timeScale().getVisibleLogicalRange(),a=this.lineSeries.barsInLogicalRange(n);if(!a)return;const i=Math.max(Math.floor(a.barsBefore),0);if(!e[i]){this.setState({difference:0,diffSince:""});return}const o=e[i].value,s=this.props.data.chartTotal,l=s?s-o:0;this.setState({difference:l/o*100,diffSince:`${e[i].formattedValue} (${this.renderDate(Number(e[i].time)*1e3)})`})},this.handleCrosshair=({point:e,time:n,seriesData:a})=>{if(!this.refToolTip.current)return;const i=this.refToolTip.current,o=i.parentNode;if(!this.lineSeries||!e||!n||e.x<0||e.x>o.clientWidth||e.y<0||e.y>o.clientHeight){this.setState({toolTipVisible:!1});return}const s=a.get(this.lineSeries);if(!s)return;const l=this.lineSeries.priceToCoordinate(s.value);if(!l)return;const c=l-i.clientHeight>0?l-i.clientHeight:Math.max(0,Math.min(o.clientHeight-i.clientHeight,l+70)),u=Math.floor(Math.max(c,0)),d=Math.floor(Math.max(40,Math.min(o.clientWidth-140,e.x+40-70)));this.setState({toolTipVisible:!0,toolTipValue:this.formattedData?this.formattedData[n]:"",toolTipTop:u,toolTipLeft:d,toolTipTime:n})},this.renderDate=e=>new Date(e).toLocaleString(this.props.i18n.language,{year:"numeric",month:"2-digit",day:"2-digit",...this.state.source==="hourly"?{hour:"2-digit",minute:"2-digit"}:null})}componentDidMount(){this.checkIfMobile(),this.createChart()}componentWillUnmount(){window.removeEventListener("resize",this.onResize),this.chart&&(this.chart.timeScale().unsubscribeVisibleLogicalRangeChange(this.calculateChange),this.chart.unsubscribeCrosshairMove(this.handleCrosshair))}componentDidUpdate(e){var i;const{chartDataDaily:n,chartDataHourly:a}=this.props.data;if(this.chart||this.createChart(),this.lineSeries&&e.data.chartDataDaily&&e.data.chartDataHourly&&n&&a&&(e.data.chartDataDaily.length!==n.length||e.data.chartDataHourly.length!==a.length)){const o=this.state.source==="hourly"?a:n;this.lineSeries.setData(o),this.setFormattedData(o)}e.hideAmounts!==this.props.hideAmounts&&((i=this.chart)==null||i.applyOptions({leftPriceScale:{visible:this.props.hideAmounts?!1:!this.state.isMobile}}))}setFormattedData(e){this.formattedData={},e.forEach(n=>{this.formattedData&&(this.formattedData[n.time]=n.formattedValue)})}render(){const{t:e,data:{lastTimestamp:n,chartDataMissing:a,chartFiat:i,chartIsUpToDate:o,chartTotal:s,formattedChartTotal:l},noDataPlaceholder:c,hideAmounts:u}=this.props,{difference:d,diffSince:p,display:h,toolTipVisible:m,toolTipValue:g,toolTipTop:v,toolTipLeft:y,toolTipTime:b,isMobile:k}=this.state,w=d&&Number.isFinite(d),j=this.hasData(),z=!j||s===0||a,S=m&&!!g&&k,f={display:h,disableFilters:z,onDisplayWeek:this.displayWeek,onDisplayMonth:this.displayMonth,onDisplayYear:this.displayYear,onDisplayAll:this.displayAll},B=`${k?this.mobileHeight:this.height}px`;return r.jsxs("section",{className:Oe.chart,children:[r.jsxs("header",{children:[r.jsxs("div",{className:Oe.summary,children:[r.jsxs("div",{className:Oe.totalValue,children:[l!==null?r.jsx(ct,{amount:S?g:l,unit:i,removeBtcTrailingZeroes:!0}):r.jsx(ed,{minWidth:"220px"}),r.jsx("span",{className:Oe.totalUnit,children:s!==null&&i})]}),S?r.jsx("span",{className:Oe.diffValue,children:this.renderDate(b*1e3)}):r.jsx("span",{className:w?Oe[d<0?"down":"up"]:"",title:p,children:w?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:Oe.arrow,children:d<0?r.jsx(pce,{}):r.jsx(hce,{})}),r.jsxs("span",{className:Oe.diffValue,children:[u?"***":Zie(d,2),r.jsx("span",{className:Oe.diffUnit,children:"%"})]})]}):s===0?null:r.jsx(ed,{fontSize:"1.125rem",minWidth:"125px"})})]}),!k&&r.jsx(Ix,{...f})]}),r.jsxs("div",{className:Oe.chartCanvas,style:{minHeight:B},children:[a?r.jsx("div",{className:Oe.chartUpdatingMessage,style:{height:B},children:e("chart.dataMissing")}):j?!o&&r.jsx("div",{className:Oe.chartUpdatingMessage,children:e("chart.dataOldTimestamp",{time:new Date(n).toLocaleString(this.props.i18n.language)})}):c,r.jsx("div",{ref:this.ref,className:Oe.invisible}),r.jsx("span",{ref:this.refToolTip,className:Oe.tooltip,style:{left:y,top:v},hidden:!m||k,children:g!==void 0?r.jsxs("span",{children:[r.jsxs("h2",{className:Oe.toolTipValue,children:[r.jsx(ct,{amount:g,unit:i}),r.jsx("span",{className:Oe.toolTipUnit,children:i})]}),r.jsx("span",{className:Oe.toolTipTime,children:this.renderDate(b*1e3)})]}):null})]}),k&&r.jsx(Ix,{...f})]})}}K1.defaultProps={data:{chartDataMissing:!0,chartDataDaily:[],chartDataHourly:[],chartFiat:"USD",chartTotal:null,formattedChartTotal:null,chartIsUpToDate:!1,lastTimestamp:0},hideAmounts:!1};const dce=kn()(K1),pce=()=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r.jsx("polyline",{points:"19 12 12 19 5 12"})]}),hce=()=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[r.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"5"}),r.jsx("polyline",{points:"5 12 12 5 19 12"})]}),mce="_spinnerContainer_1akm7_1",fce="_spinner_1akm7_1",gce="_changeContent_1akm7_1",$x={spinnerContainer:mce,spinner:fce,changeContent:gce};function G1(){return r.jsx("div",{className:$x.spinnerContainer,children:r.jsx("div",{className:$x.spinner})})}const vce="_balanceTable_1v4c8_1",bce="_coincode_1v4c8_4",kce="_coinheader_1v4c8_9",xce="_dataMissing_1v4c8_20",yce="_openFileText_1v4c8_24",wce="_table_1v4c8_30",jce="_noAccount_1v4c8_45",Bce="_clickable_1v4c8_80",Sce="_summaryTableBalance_1v4c8_84",zce="_coinName_1v4c8_94",Cce="_coinUnit_1v4c8_104",Dce="_syncText_1v4c8_108",Ace="_showOnTableView_1v4c8_112",_ce="_showInCollapsedView_1v4c8_116",Tce="_subTotal_1v4c8_167",yt={balanceTable:vce,coincode:bce,coinheader:kce,dataMissing:xce,openFileText:yce,table:wce,noAccount:jce,clickable:Bce,summaryTableBalance:Sce,coinName:zce,coinUnit:Cce,syncText:Dce,showOnTableView:Ace,showInCollapsedView:_ce,subTotal:Tce};function Ece({code:t,name:e,coinCode:n,balance:a}){const{t:i}=A(),o=_j(o1(t)),s=r.jsx("td",{className:yt.clickable,"data-label":i("accountSummary.name"),onClick:()=>le(`/account/${t}`),children:r.jsxs("div",{className:yt.coinName,children:[r.jsx(Ro,{className:yt.coincode,coinCode:n,active:!0,alt:n}),e]})});return a?r.jsxs("tr",{children:[s,r.jsx("td",{"data-label":i("accountSummary.balance"),children:r.jsxs("span",{className:yt.summaryTableBalance,children:[r.jsx(ct,{amount:a.available.amount,unit:a.available.unit})," ",r.jsx("span",{className:yt.coinUnit,children:a.available.unit})]})}),r.jsx("td",{"data-label":i("accountSummary.fiatBalance"),children:r.jsx(Xa,{amount:a.available,noAction:!0})})]},`${t}_balance`):r.jsxs("tr",{children:[s,r.jsxs("td",{colSpan:2,className:yt.syncText,children:[i("account.syncedAddressesCount",{count:o==null?void 0:o.toString(),defaultValue:0}),r.jsx(G1,{})]})]},`${t}_syncing`)}function Pce({coinCode:t,coinName:e,balance:n}){const{t:a}=A(),i=r.jsx("td",{"data-label":a("accountSummary.total"),children:r.jsxs("div",{className:yt.coinName,children:[r.jsx(Ro,{className:yt.coincode,coinCode:t,active:!0,alt:t}),r.jsx("strong",{className:yt.showOnTableView,children:a("accountSummary.subtotalWithCoinName",{coinName:e})}),r.jsx("strong",{className:yt.showInCollapsedView,children:e})]})});return n?r.jsxs("tr",{className:yt.subTotal,children:[i,r.jsx("td",{"data-label":a("accountSummary.balance"),children:r.jsxs("span",{className:yt.summaryTableBalance,children:[r.jsx("strong",{children:r.jsx(ct,{amount:n.amount,unit:n.unit})})," ",r.jsx("span",{className:yt.coinUnit,children:n.unit})]})}),r.jsx("td",{"data-label":a("accountSummary.fiatBalance"),children:r.jsx("strong",{children:r.jsx(Xa,{amount:n,noAction:!0})})})]},`${t}_subtotal`):null}function Nce({accounts:t,summaryData:e,totalBalancePerCoin:n,balances:a}){const{t:i}=A(),s=(()=>t.reduce((c,u)=>(c[u.coinCode]?c[u.coinCode].push(u):c[u.coinCode]=[u],c),{}))(),l=Object.keys(s);return r.jsx("div",{className:yt.balanceTable,children:r.jsxs("table",{className:yt.table,children:[r.jsxs("colgroup",{children:[r.jsx("col",{width:"33%"}),r.jsx("col",{width:"33%"}),r.jsx("col",{width:"*"})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:i("accountSummary.name")}),r.jsx("th",{children:i("accountSummary.balance")}),r.jsx("th",{children:i("accountSummary.fiatBalance")})]})}),r.jsx("tbody",{children:t.length>0?l.map(c=>{const u=s[c].map(d=>r.jsx(Ece,{code:d.code,name:d.name,coinCode:d.coinCode,balance:a&&a[d.code]},d.code));if((u==null?void 0:u.length)>1){const d=s[c][0];u.push(r.jsx(Pce,{coinCode:d.coinCode,coinName:d.coinName,balance:n&&n[c]},d.coinCode))}return u}):r.jsx("tr",{children:r.jsx("td",{colSpan:3,className:yt.noAccount,children:i("accountSummary.noAccount")})})}),r.jsx("tfoot",{children:r.jsxs("tr",{children:[r.jsx("th",{children:r.jsx("strong",{children:i("accountSummary.total")})}),r.jsx("td",{colSpan:2,children:e&&e.formattedChartTotal!==null?r.jsxs(r.Fragment,{children:[r.jsx("strong",{children:r.jsx(ct,{amount:e.formattedChartTotal,unit:e.chartFiat})})," ",r.jsx("span",{className:yt.coinUnit,children:e.chartFiat})]}):r.jsx(ed,{})})]})})]})})}const Ml=t=>{const e=i=>window.matchMedia(i).matches,[n,a]=x.useState(e(t));return x.useEffect(()=>{const i=()=>{a(e(t))},o=window.matchMedia(t);return i(),o.addEventListener("change",i),()=>{o.removeEventListener("change",i)}},[t]),n},Lce="_container_1mptn_1",Ice="_main_1mptn_8",$ce="_walletConnect_1mptn_17",Dh={container:Lce,main:Ice,walletConnect:$ce},nf=({code:t,unit:e,balanceList:n,exchangeBuySupported:a=!0,account:i})=>{const o=Hj(e)?"BTC":e,{t:s}=A(),l=Ml("(max-width: 768px)"),c=()=>le(t?`/buy/info/${t}`:"/buy/info"),u=()=>le(`/account/${t}/wallet-connect/dashboard`),d=()=>{if(n){if(n.length>1){le("accounts/select-receive");return}le(`/account/${t}/receive`)}};return r.jsxs("div",{className:`${Dh.main}`,children:[r.jsx("h3",{className:"subTitle",children:s("accountInfo.buyCTA.information.looksEmpty")}),r.jsx("h3",{className:"subTitle",children:s("accountInfo.buyCTA.information.start")}),r.jsxs("div",{className:Dh.container,children:[n&&r.jsx(_,{primary:!0,onClick:d,children:o?s("receive.title",{accountName:o}):s("receive.title",{accountName:s("buy.info.crypto")})}),a&&r.jsx(_,{primary:!0,onClick:c,children:o?s("accountInfo.buyCTA.buy",{unit:o}):s("accountInfo.buyCTA.buyCrypto")}),i&&Fo(i.coinCode)&&!i.isToken&&r.jsx(_,{primary:!0,onClick:u,className:Dh.walletConnect,children:l?r.jsx(Ou,{width:28,height:28}):r.jsxs(r.Fragment,{children:[r.jsx(Ou,{width:28,height:28})," ",r.jsx("span",{children:"Wallet Connect"})]})})]})]})},Mce=({balances:t,accounts:e})=>{const n=ro(),[a,i]=x.useState(),o=e.length===1;if(x.useEffect(()=>{n.current&&Dg(e).then(l=>{n.current&&i(l)}).catch(console.error)},[e,n]),t===void 0||a===void 0)return null;const s=e.map(l=>t[l.code]).filter(l=>!!l);return s.some(l=>l.hasAvailable)?null:s.map(l=>l.available.unit).every(Hj)?r.jsx(nf,{code:o?e[0].code:void 0,unit:"BTC",balanceList:s}):r.jsx(nf,{exchangeBuySupported:a.length>0,balanceList:s})};function Oce({accounts:t,devices:e}){const{t:n}=A(),a=x.useRef(),i=ro(),{hideAmounts:o}=x.useContext(mi),[s,l]=x.useState(),[c,u]=x.useState(),[d,p]=x.useState(),h=k1(e),m=x.useCallback(async()=>{a.current&&window.clearTimeout(a.current);try{const b=await KQ();if(!i.current)return;l(b)}catch(b){console.error(b)}},[i]),g=x.useCallback(async()=>{try{const b=await qQ();if(!i.current)return;u(b)}catch(b){console.error(b)}},[i]),v=x.useCallback(async b=>{if(!i.current)return;const k=await Zj(b);if(k.disabled||!i.current)return;if(!k.synced)return Xj(b);const w=await Ur(b);i.current&&p(j=>({...j,[b]:w}))},[i]),y=x.useCallback(b=>{i.current&&(v(b),m())},[m,i,v]);return x.useEffect(()=>{const b=[r1(y),Yd(y)];return m(),g(),()=>Nl(b)},[m,g,y]),x.useEffect(()=>{const b=!s||s.chartDataMissing?1e3:1e4;return a.current=window.setTimeout(m,b),()=>{a.current&&window.clearTimeout(a.current)}},[s,m]),x.useEffect(()=>{t.forEach(b=>{v(b.code)}),g()},[v,g,t]),r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{hidden:!h,type:"warning",children:n("warning.sdcard")}),r.jsx(xe,{title:r.jsx("h2",{children:n("accountSummary.title")}),children:r.jsx(Qd,{})}),r.jsxs(re,{children:[r.jsx(dce,{hideAmounts:o,data:s,noDataPlaceholder:t.length&&t.length<=Object.keys(d||{}).length?r.jsx(Mce,{accounts:t,balances:d}):void 0}),r.jsx(Nce,{accounts:t,summaryData:s,totalBalancePerCoin:c,balances:d})]})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.accountSummaryDescription")},"accountSummaryDescription"),r.jsx(W,{entry:{link:{text:"www.coingecko.com",url:"https://www.coingecko.com/"},text:n("guide.accountSummaryAmount.text"),title:n("guide.accountSummaryAmount.title")}},"accountSummaryAmount"),r.jsx(W,{entry:n("guide.trackingModePortfolioChart")},"trackingModePortfolioChart")]})]})}const Ah={DOWNLOAD_LINK_GLOBAL:"https://bitbox.swiss/download/?source=bitboxapp",DOWNLOAD_LINK_DE:"https://bitbox.swiss/de/download/?source=bitboxapp",DOWNLOAD_LINK_ES:"https://bitbox.swiss/es/descargar/?source=bitboxapp"},tv=()=>{switch(se.resolvedLanguage){case"de":return Ah.DOWNLOAD_LINK_DE;case"es":return Ah.DOWNLOAD_LINK_ES;default:return Ah.DOWNLOAD_LINK_GLOBAL}},Rce=({...t})=>{const{t:e}=A();return r.jsx(pt,{href:tv(),...t,children:e("button.download")})},Fce=({...t})=>{const{t:e}=A();return r.jsx(pt,{href:tv(),...t,children:r.jsx(_,{primary:!0,children:e("button.download")})})},Q1=()=>{const{t}=A();return r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsxs(re,{fullscreen:!0,verticallyCentered:!0,width:"840px",withBottomBar:!0,children:[r.jsx(be,{title:t("device.appUpradeRequired")}),r.jsx(Fe,{children:r.jsx(Fce,{})})]})]})},Ra=Object.freeze({DEFAULT:"default",WAITING:"waiting",ERROR:"error"});let Vce=class extends x.Component{constructor(){super(...arguments);M(this,"state",{status:Ra.DEFAULT,errorMessage:"",errorCode:null,remainingAttempts:null,needsLongTouch:!1,password:""});M(this,"handleFormChange",n=>{this.setState({password:n})});M(this,"validate",()=>this.state.password!=="");M(this,"handleSubmit",n=>{n.preventDefault(),this.validate()&&(this.setState({status:Ra.WAITING}),H("devices/"+this.props.deviceID+"/login",{password:this.state.password}).then(a=>{a.success&&Z("devices/"+this.props.deviceID+"/status").then(i=>{i==="seeded"&&(console.info("unlock.jsx route to /account-summary"),le("/account-summary",!0))}),a.success||(a.code&&this.setState({errorCode:a.code}),a.remainingAttempts&&this.setState({remainingAttempts:a.remainingAttempts}),a.needsLongTouch&&this.setState({needsLongTouch:a.needsLongTouch}),this.setState({status:Ra.ERROR,errorMessage:a.errorMessage}))}),this.setState({password:""}))})}render(){const{t:n}=this.props,{status:a,password:i,errorCode:o,errorMessage:s,remainingAttempts:l,needsLongTouch:c}=this.state;let u=null;switch(a){case Ra.DEFAULT:u=r.jsx("p",{children:n("unlock.description")});break;case Ra.WAITING:u=r.jsx(Cn,{guideExists:!0,text:n("unlock.unlocking")});break;case Ra.ERROR:u=r.jsx(nn,{type:"error",children:n(`unlock.error.e${o}`,{defaultValue:s,remainingAttempts:l,context:c?"touch":"normal"})});break}const d=gi();return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")})}),r.jsxs("div",{className:"content narrow padded isVerticallyCentered",children:[d?r.jsx(Sd,{}):r.jsx(xg,{}),r.jsxs("div",{className:"box large",children:[u,a!==Ra.WAITING&&r.jsxs("form",{onSubmit:this.handleSubmit,children:[r.jsx("div",{className:"m-top-default",children:r.jsx(Sg,{autoFocus:!0,id:"password",type:"password",label:n("unlock.input.label"),disabled:a===Ra.WAITING,placeholder:n("unlock.input.placeholder"),onValidPassword:this.handleFormChange,value:i})}),r.jsx("div",{className:"buttons",children:r.jsx(_,{primary:!0,type:"submit",disabled:!this.validate()||a===Ra.WAITING,children:n("button.unlock")})})]})]})]}),r.jsx(oB,{children:d?r.jsx(hi,{}):r.jsx(pi,{})})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.unlock.forgotDevicePassword")},"guide.unlock.forgotDevicePassword"),r.jsx(W,{entry:n("guide.unlock.reset")},"guide.unlock.reset")]})]})}};const Wce=He()(Vce),Uce="_container_17oq2_1",qce="_scrollable_17oq2_17",Hce="_agreements_17oq2_22",Kce="_agreementsLabel_17oq2_26",Gce="_title_17oq2_30",Qce="_summary_17oq2_36",Yce="_heading_17oq2_45",Zce="_content_17oq2_49",Jce="_verticalButtons_17oq2_60",Xce="_block_17oq2_72",eue="_list_17oq2_85",tue="_buttons_17oq2_93",nue="_stepNumber_17oq2_98",aue="_badge_17oq2_108",iue="_waitingLogo_17oq2_113",oue="_waitingContent_17oq2_117",rue="_waitingText_17oq2_126",sue="_waitingDescription_17oq2_134",lue="_qrcodeContainer_17oq2_140",ht={container:Uce,scrollable:qce,agreements:Hce,agreementsLabel:Kce,title:Gce,summary:Qce,heading:Yce,content:Zce,verticalButtons:Jce,block:Xce,list:eue,buttons:tue,stepNumber:nue,badge:aue,waitingLogo:iue,waitingContent:oue,waitingText:rue,waitingDescription:sue,qrcodeContainer:lue};class cue extends x.Component{constructor(n){super(n);M(this,"onEvent",n=>{if(n.type==="device")switch(n.data){case"bootloaderStatusChanged":this.onStatusChanged();break}});M(this,"onStatusChanged",()=>{Z("devices/"+this.props.deviceID+"/bootloader-status").then(({upgrading:n,progress:a,upgradeSuccessful:i,errMsg:o})=>{this.setState({upgrading:n,progress:a,upgradeSuccessful:i,errMsg:o})})});M(this,"upgradeFirmware",()=>{H("devices/"+this.props.deviceID+"/bootloader/upgrade-firmware")});this.state={upgrading:!1,errMsg:null,progress:0,upgradeSuccessful:!1}}componentDidMount(){this.unsubscribe=Yo(this.onEvent),this.onStatusChanged()}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:n}=this.props,{upgrading:a,progress:i,upgradeSuccessful:o,errMsg:s}=this.state;let l;if(a)if(o)l=r.jsx("p",{className:"m-none",children:n("bootloader.success")});else{const c=Math.round(i*100);l=r.jsxs("div",{children:[r.jsxs("progress",{value:c,max:"100",children:[c,"%"]}),r.jsx("p",{className:"m-bottom-none text-center",children:n("bootloader.progress",{progress:c})})]})}else l=r.jsx("div",{className:"buttons m-top-none",children:r.jsx(_,{primary:!0,onClick:this.upgradeFirmware,children:n("bootloader.button")})});return r.jsx("div",{className:"contentWithGuide",children:r.jsx("div",{className:"container",children:r.jsx("div",{className:"innerContainer",children:r.jsx("div",{className:"content narrow isVerticallyCentered",children:r.jsxs("div",{className:[ht.container,ht.scrollable].join(" "),children:[r.jsx(Cj,{}),r.jsxs("div",{className:"box large",children:[l,s&&r.jsx("p",{className:"m-bottom-none",children:s})]})]})})})})})}}const uue=He()(cue),due="_container_l7fdu_1",pue="_danger_l7fdu_27",hue="_children_l7fdu_31",mue="_optionalText_l7fdu_35",fue="_secondaryText_l7fdu_46",gue="_primaryText_l7fdu_54",vue="_icon_l7fdu_58",bue="_disabled_l7fdu_63",kue="_item_l7fdu_68",ta={container:due,danger:pue,children:hue,optionalText:mue,secondaryText:fue,primaryText:gue,icon:vue,disabled:bue,item:kue},vi=({onClick:t,danger:e,optionalText:n,secondaryText:a,disabled:i,children:o,optionalIcon:s})=>r.jsxs("button",{className:[ta.container,e?ta.danger:"",i===!0?ta.disabled:""].join(" "),onClick:i?void 0:t,children:[r.jsxs("span",{className:ta.children,children:[r.jsx("span",{className:ta.primaryText,children:o}),a?r.jsx("span",{className:ta.secondaryText,children:a}):null]}),n?r.jsx("span",{className:ta.optionalText,children:n}):null,s?r.jsx("span",{className:ta.icon,children:s}):r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"9 18 15 12 9 6"})})]});class xue extends x.Component{constructor(){super(...arguments);M(this,"state",{unlocked:!1,newVersion:"",isConfirming:!1,activeDialog:!1});M(this,"upgradeFirmware",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/unlock-bootloader").then(n=>{this.setState({unlocked:n,isConfirming:n})}).catch(()=>{this.setState({isConfirming:!1})})});M(this,"abort",()=>{this.setState({activeDialog:!1})})}componentDidMount(){Z("devices/"+this.props.deviceID+"/bundled-firmware-version").then(n=>{this.setState({newVersion:n.replace("v","")})})}render(){const{t:n,currentVersion:a,disabled:i,asButton:o}=this.props,{unlocked:s,newVersion:l,isConfirming:c,activeDialog:u}=this.state;return r.jsxs("div",{children:[o?r.jsx(_,{primary:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("upgradeFirmware.button")}):r.jsx(vi,{onClick:()=>this.setState({activeDialog:!0}),disabled:i,optionalText:l,children:n("upgradeFirmware.button")}),u&&r.jsxs(fa,{title:n("upgradeFirmware.title"),children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.description",{currentVersion:a,newVersion:l})}),r.jsxs(so,{children:[r.jsx(_,{primary:!0,onClick:this.upgradeFirmware,children:n("button.upgrade")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]}),c&&r.jsx(xn,{title:n("upgradeFirmware.title"),includeDefault:!s,children:s?r.jsxs("div",{children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.unlocked")}),r.jsxs("ol",{style:{lineHeight:"1.5"},children:[r.jsx("li",{children:n("upgradeFirmware.unlocked1")}),r.jsx("li",{children:n("upgradeFirmware.unlocked2")}),r.jsx("li",{children:n("upgradeFirmware.unlocked3")})]})]}):r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.locked",{currentVersion:a,newVersion:l})})})]})}}const Y1=He()(xue);class yue extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null})}componentDidMount(){Jo(this.props.deviceID).then(({version:n})=>{this.setState({firmwareVersion:n.replace("v","")})})}render(){const{t:n,deviceID:a}=this.props,{firmwareVersion:i}=this.state;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:ht.container,children:[r.jsx(Cj,{}),r.jsxs("div",{className:"box",children:[r.jsx("p",{className:"m-top-none",children:n("upgradeFirmware.label")}),r.jsx("div",{className:"buttons m-top-half",children:r.jsx(Y1,{deviceID:a,currentVersion:i,asButton:!0})})]})]})})}}const wue=He()(yue);class jue extends x.Component{render(){const{t:e,onCreate:n,onRestore:a}=this.props;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsxs("div",{className:"box large",children:[r.jsx("p",{className:"first",children:e("goal.paragraph")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:n,children:e("goal.buttons.create")}),r.jsx(_,{secondary:!0,onClick:a,children:e("goal.buttons.restore")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})})]})})}}const Mx=He()(jue);class Bue extends x.Component{constructor(e){super(e),this.handleStart=()=>{this.setState({showInfo:!1})},this.state={showInfo:!0}}render(){const{t:e,goBack:n,goal:a,children:i}=this.props,{showInfo:o}=this.state;return o?r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:e(`securityInformation.${a}.title`)}),a==="create"?r.jsxs("div",{className:"box large",children:[r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description1")}),r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description2")}),r.jsxs("ul",{className:[ht.list,"first"].join(" "),children:[r.jsx(Qe,{tagName:"li",markup:e("securityInformation.create.description3")}),r.jsx(Qe,{tagName:"li",markup:e("securityInformation.create.description4")})]}),r.jsx(Qe,{tagName:"p",markup:e("securityInformation.create.description5")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}):r.jsxs("div",{className:"box large",children:[r.jsxs("ul",{className:[ht.list,"first"].join(" "),children:[r.jsx("li",{children:e("securityInformation.restore.description1")}),r.jsx("li",{children:e("securityInformation.restore.description2")})]}),r.jsx("p",{children:e("securityInformation.restore.description3")}),r.jsxs(nn,{type:"warning",children:[r.jsx(kg,{}),r.jsx("p",{className:"first",children:e("deviceTampered")})]}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})})]})}):i}}const Sue=kn()(Bue),En=Object.freeze({DEFAULT:"default",CREATING:"creating",CHECKING:"checking",ERROR:"error"});class zue extends x.Component{constructor(){super(...arguments);M(this,"state",{showInfo:!0,status:En.CHECKING,walletName:"",backupPassword:"",error:"",agreements:{password_change:!1,password_required:!1,funds_access:!1}});M(this,"walletNameInput",x.createRef());M(this,"validate",()=>!this.walletNameInput.current||!this.walletNameInput.current.validity.valid||!this.validAgreements()?!1:this.state.backupPassword&&this.state.walletName!=="");M(this,"handleFormChange",({target:n})=>{this.setState({[n.id]:n.value})});M(this,"handleSubmit",n=>{n.preventDefault(),this.validate()&&(this.setState({status:En.CREATING,error:""}),H("devices/"+this.props.deviceID+"/create-wallet",{walletName:this.state.walletName,backupPassword:this.state.backupPassword}).then(a=>{a.success?this.props.onSuccess():this.setState({status:En.ERROR,error:this.props.t(`seed.error.e${a.code}`,{defaultValue:a.errorMessage})}),this.setState({backupPassword:""})}))});M(this,"setValidBackupPassword",n=>{this.setState({backupPassword:n})});M(this,"validAgreements",()=>{const{agreements:n}=this.state;return!Object.keys(n).map(i=>n[i]).includes(!1)});M(this,"handleAgreementChange",({target:n})=>{this.setState(a=>({agreements:{...a.agreements,[n.id]:n.checked}}))});M(this,"checkSDcard",()=>{Jo(this.props.deviceID).then(({sdcard:n})=>{if(n)return this.setState({status:En.DEFAULT,error:""});this.setState({status:En.ERROR,error:this.props.t("seed.error.e200")}),setTimeout(this.checkSDcard,2500)})});M(this,"handleStart",()=>{this.setState({showInfo:!1}),this.checkSDcard()})}componentDidMount(){this.checkSDcard()}renderSpinner(){switch(this.state.status){case En.CHECKING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("checkSDcard")});case En.CREATING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("seed.creating")});default:return null}}render(){const{t:n,goBack:a}=this.props,{showInfo:i,status:o,walletName:s,error:l,agreements:c}=this.state,u=i?r.jsxs("div",{className:"box large",children:[r.jsxs("ol",{className:"first",children:[r.jsx("li",{children:n("seed.info.description1")}),r.jsx("li",{children:n("seed.info.description2")})]}),r.jsx("p",{children:n("seed.info.description3")}),r.jsx("p",{children:n("seed.info.description4")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,disabled:o!==En.DEFAULT,children:n("seed.info.button")}),r.jsx(_,{secondary:!0,onClick:a,children:n("button.abort")})]})]}):r.jsxs("form",{onSubmit:this.handleSubmit,className:"box large",children:[r.jsxs("div",{children:[r.jsx(Ye,{pattern:"^[0-9a-zA-Z-_]{1,31}$",autoFocus:!0,id:"walletName",label:n("seed.walletName.label"),disabled:o===En.CREATING,onInput:this.handleFormChange,ref:this.walletNameInput,value:s}),r.jsx(qr,{label:n("seed.password.label"),repeatPlaceholder:n("seed.password.repeatPlaceholder"),disabled:o===En.CREATING,onValidPassword:this.setValidBackupPassword})]}),r.jsxs("div",{className:ht.agreements,children:[r.jsxs("div",{className:"flex flex-row flex-start flex-items-center",children:[r.jsx(Sj,{style:{width:18,marginRight:10,position:"relative",bottom:1}}),r.jsx("p",{className:ht.agreementsLabel,children:n("seed.description")})]}),r.jsx(Ve,{id:"password_change",label:n("seed.agreements.password-change"),checked:c.password_change,onChange:this.handleAgreementChange}),r.jsx(Ve,{id:"password_required",label:n("seed.agreements.password-required"),checked:c.password_required,onChange:this.handleAgreementChange}),r.jsx(Ve,{id:"funds_access",label:n("seed.agreements.funds-access"),checked:c.funds_access,onChange:this.handleAgreementChange})]}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{type:"submit",primary:!0,disabled:!this.validate()||o===En.CREATING,children:n("seed.create")}),r.jsx(_,{secondary:!0,onClick:a,children:n("button.abort")})]})]});return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n("seed.info.title")}),l&&r.jsxs(nn,{type:o===En.ERROR?"error":void 0,children:[r.jsx(kg,{}),l]}),u,r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]}),this.renderSpinner()]})})}}const Cue=He()(zue),Z1=(t,e)=>new Date(t).toLocaleString(e,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}),Due="_stepContext_g2o2c_1",Aue="_backupsList_g2o2c_5",_ue="_listContainer_g2o2c_14",Tue="_item_g2o2c_24",Eue="_agreements_g2o2c_37",Pue="_emptyText_g2o2c_41",Nue="_backupItem_g2o2c_47",Lue="_backupID_g2o2c_52",Iue="_backupButtons_g2o2c_59",In={stepContext:Due,backupsList:Aue,listContainer:_ue,item:Tue,agreements:Eue,emptyText:Pue,backupItem:Nue,backupID:Lue,backupButtons:Iue},nv=({backup:t,disabled:e,handleChange:n,onFocus:a,radio:i,selectedBackup:o})=>{let s="";return t.date&&t.date!==""?s=Z1(t.date,se.language):s="unknown",i?r.jsxs(yg,{disabled:!!e,checked:o===t.id,onChange:l=>{n&&n(l.target.value)},id:t.id,label:t.name&&t.name!==""?t.name:t.id,value:t.id,onFocus:a,className:In.backupItem,children:[r.jsx("span",{className:"text-small text-gray",children:s}),r.jsxs("span",{className:"text-small text-gray",children:["ID: ",t.id]})]}):r.jsxs("div",{children:[r.jsx("div",{className:"text-medium m-bottom-quarter",children:t.name}),r.jsxs("div",{className:In.backupID,children:["ID: ",t.id]}),r.jsx("div",{className:"text-small text-gray",children:s})]})};let $ue=class extends x.Component{constructor(){super(...arguments);M(this,"state",{password:null,activeDialog:!1,message:null});M(this,"abort",()=>{this.setState({password:null,activeDialog:!1,message:null})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>this.props.selectedBackup&&this.state.password);M(this,"check",n=>{n.preventDefault(),this.validate()&&(this.setState({message:this.props.t("backup.check.checking")}),H("devices/"+this.props.deviceID+"/backups/check",{password:this.state.password,filename:this.props.selectedBackup}).catch(()=>{}).then(({success:a,matches:i,errorMessage:o})=>{let s;a?i?s=this.props.t("backup.check.ok"):s=this.props.t("backup.check.notOK"):o&&(s=o),this.setState({message:s})}))});M(this,"setValidPassword",n=>{this.setState({password:n})})}render(){const{t:n,selectedBackup:a}=this.props,{activeDialog:i,message:o}=this.state;return r.jsxs("div",{children:[r.jsx(_,{secondary:!0,disabled:a===null,onClick:()=>this.setState({activeDialog:!0}),children:n("button.check")}),i&&r.jsx(fa,{title:n("backup.check.title"),onClose:this.abort,children:o?r.jsxs("div",{children:[r.jsx("p",{style:{minHeight:"3rem"},children:o}),r.jsx("div",{className:ce.actions,children:r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})})]}):r.jsxs("form",{onSubmit:this.check,children:[r.jsx(Sg,{label:n("backup.check.password.label"),placeholder:n("backup.check.password.placeholder"),showLabel:n("backup.check.password.showLabel"),onValidPassword:this.setValidPassword}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{type:"submit",primary:!0,disabled:!this.validate(),children:n("button.check")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]})})]})}};const Mue=He()($ue);let Oue=class extends x.Component{constructor(){super(...arguments);M(this,"state",{waiting:!1,backupName:"",recoveryPassword:"",activeDialog:!1});M(this,"abort",()=>{this.setState({waiting:!1,backupName:"",recoveryPassword:"",activeDialog:!1})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>!this.state.waiting&&this.state.backupName!=="");M(this,"create",n=>{n.preventDefault(),this.validate()&&(this.setState({waiting:!0}),H("devices/"+this.props.deviceID+"/backups/create",{backupName:this.state.backupName,recoveryPassword:this.state.recoveryPassword}).then(a=>{this.abort(),a.success?(this.props.onCreate(),a.verification||J(this.props.t("backup.create.verificationFailed"))):J(a.errorMessage)}))})}render(){const{t:n}=this.props,{waiting:a,recoveryPassword:i,backupName:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(_,{primary:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("button.create")}),s&&r.jsx(fa,{title:n("backup.create.title"),onClose:this.abort,children:r.jsxs("form",{onSubmit:this.create,children:[r.jsx(Ye,{autoFocus:!0,id:"backupName",label:n("backup.create.name.label"),placeholder:n("backup.create.name.placeholder"),onInput:this.handleFormChange,value:o}),r.jsx("p",{children:n("backup.create.info")}),r.jsx(Bg,{id:"recoveryPassword",label:n("backup.create.password.label"),placeholder:n("backup.create.password.placeholder"),onInput:this.handleFormChange,value:i}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{type:"submit",primary:!0,disabled:a||!this.validate(),children:n("button.create")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.abort")})]})]})})]})}};const Rue=He()(Oue);class Fue extends x.Component{constructor(){super(...arguments),this.state={isConfirming:!1,activeDialog:!1,isLoading:!1,understand:!1,password:void 0},this.abort=()=>{this.setState({isConfirming:!1,activeDialog:!1,isLoading:!1,understand:!1,password:void 0})},this.validate=()=>this.props.selectedBackup&&this.state.password,this.restore=e=>{e.preventDefault(),this.validate()&&(this.props.requireConfirmation?this.setState({activeDialog:!1,isConfirming:!0}):this.setState({activeDialog:!1,isLoading:!0}),H("devices/"+this.props.deviceID+"/backups/restore",{password:this.state.password,filename:this.props.selectedBackup}).then(n=>{const{success:a,didRestore:i,errorMessage:o,code:s}=n;if(this.abort(),a){if(i){if(this.props.onRestore)return this.props.onRestore();console.info("restore.jsx route to /"),le("/",!0)}}else J(this.props.t(`backup.restore.error.e${s}`,{defaultValue:o}))}))},this.handleUnderstandChange=e=>{this.setState({understand:e.target.checked})},this.setValidPassword=e=>{this.setState({password:e})}}render(){const{t:e,selectedBackup:n,requireConfirmation:a}=this.props,{isConfirming:i,activeDialog:o,isLoading:s,understand:l}=this.state;return r.jsxs("span",{children:[r.jsx(_,{...a?{danger:!0}:{primary:!0},disabled:!n,onClick:()=>this.setState({activeDialog:!0}),children:e("button.restore")}),o&&r.jsx(fa,{title:e("backup.restore.title"),disableEscape:i||s,onClose:this.abort,children:r.jsxs("form",{onSubmit:this.restore,children:[r.jsx(qr,{label:e("backup.restore.password.label"),placeholder:e("backup.restore.password.placeholder"),repeatPlaceholder:e("backup.restore.password.repeatPlaceholder"),showLabel:e("backup.restore.password.showLabel"),onValidPassword:this.setValidPassword}),r.jsx("div",{className:In.agreements,children:r.jsx(Ve,{id:"funds_access",label:e("backup.restore.understand"),checked:l,onChange:this.handleUnderstandChange})}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",...a?{danger:!0}:{primary:!0},disabled:!l||!this.validate()||i,children:e("button.restore")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:i,children:e("button.back")})]})]})}),i&&a&&r.jsx(xn,{title:e("backup.restore.confirmTitle")}),s&&r.jsx(Cn,{guideExists:!1,text:e("backup.restore.restoring")})]})}}const Vue=kn()(Fue);class Wue extends x.Component{constructor(e){super(e),this.scrollableContainer=x.createRef(),this.refresh=()=>{Jo(this.props.deviceID).then(({lock:n})=>this.setState({lock:n})),Z("devices/"+this.props.deviceID+"/backups/list").then(({sdCardInserted:n,backupList:a,success:i,errorMessage:o})=>{i?this.setState({sdCardInserted:n,backupList:a}):o&&J(o)})},this.handleBackuplistChange=n=>{this.setState({selectedBackup:n})},this.scrollIntoView=n=>{if(!this.scrollableContainer.current)return;const a=n.target,i=a.offsetTop,o=a.parentNode.offsetHeight;if(i>this.scrollableContainer.current.scrollTop+o)return;const s=Math.max(i+o-this.scrollableContainer.current.offsetHeight,0);this.scrollableContainer.current.scroll({top:s,behavior:"smooth"})},this.state={backupList:[],sdCardInserted:null}}componentDidMount(){this.refresh()}render(){const{t:e,children:n,showCreate:a=!1,showRestore:i=!0,deviceID:o,requireConfirmation:s=!0,onRestore:l}=this.props,{backupList:c,selectedBackup:u,sdCardInserted:d,lock:p}=this.state;return p===void 0?null:d===!1?r.jsxs("div",{className:"box m-top-default",children:[r.jsx("p",{className:"first",children:e("backup.insert")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.refresh,children:e("backup.insertButton")}),n]})]}):d?r.jsxs("div",{className:"box large m-top-default",children:[r.jsx(Qe,{tagName:"p",markup:e("backup.description")}),r.jsx("div",{className:In.backupsList,ref:this.scrollableContainer,children:r.jsx("div",{className:In.listContainer,children:c.length?c.map(h=>r.jsx("div",{className:In.item,children:r.jsx(nv,{backup:h,selectedBackup:u,handleChange:this.handleBackuplistChange,onFocus:this.scrollIntoView,radio:!0})},h.id)):r.jsx("p",{className:In.emptyText,children:e("backup.noBackups")})})}),r.jsxs("div",{className:"buttons",children:[a&&!p&&r.jsx(Rue,{onCreate:this.refresh,deviceID:o}),a&&r.jsx(Mue,{selectedBackup:u,deviceID:o}),i&&l&&r.jsx(Vue,{selectedBackup:u,deviceID:o,onRestore:l,requireConfirmation:s}),n]})]}):null}}const J1=kn()(Wue),ho=Object.freeze({DEFAULT:"default",CREATING:"creating",CHECKING:"checking",ERROR:"error"});class Uue extends x.Component{constructor(){super(...arguments);M(this,"state",{showInfo:!0,status:ho.CHECKING,error:""});M(this,"checkSDcard",()=>{Jo(this.props.deviceID).then(({sdcard:n})=>{if(n)return this.setState({status:ho.DEFAULT,error:""});this.setState({status:ho.ERROR,error:this.props.t("seedRestore.error.e200")}),setTimeout(this.checkSDcard,2500)})});M(this,"handleStart",()=>{this.setState({showInfo:!1}),this.checkSDcard()})}componentDidMount(){this.checkSDcard()}renderSpinner(){switch(this.state.status){case ho.CHECKING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("checkSDcard")});case ho.CREATING:return r.jsx(Cn,{guideExists:!1,text:this.props.t("seed.creating")});default:return null}}render(){const{t:n,deviceID:a,goBack:i,onSuccess:o}=this.props,{showInfo:s,status:l,error:c}=this.state;return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n("seedRestore.info.title")}),c?r.jsxs(nn,{type:l===ho.ERROR?"error":void 0,children:[r.jsx(kg,{}),c]}):null,s?r.jsxs("div",{className:"box large",children:[r.jsxs("ol",{className:"first",children:[r.jsx("li",{children:n("seedRestore.info.description1")}),r.jsx("li",{children:n("seedRestore.info.description2")}),r.jsx("li",{children:n("seedRestore.info.description3")})]}),r.jsx("p",{children:n("seedRestore.info.description4")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,disabled:l!==ho.DEFAULT,children:n("button.continue")}),r.jsx(_,{secondary:!0,onClick:i,children:n("button.abort")})]})]}):r.jsx(J1,{showCreate:!1,deviceID:a,requireConfirmation:!1,onRestore:o,children:r.jsx(_,{secondary:!0,onClick:i,children:n("button.abort")})}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]}),this.renderSpinner()]})})}}const que=He()(Uue),Fa=Object.freeze({DEFAULT:"default",WAITING:"waiting",ERROR:"error"});class Hue extends x.Component{constructor(e){super(e),this.handleSubmit=n=>{n.preventDefault(),this.state.password&&(this.setState({status:Fa.WAITING,errorCode:null,errorMessage:""}),H("devices/"+this.props.deviceID+"/set-password",{password:this.state.password}).then(a=>{a.success||(a.code&&this.setState({errorCode:a.code}),this.setState({status:Fa.ERROR,errorMessage:a.errorMessage}))}))},this.setValidPassword=n=>{this.setState({password:n})},this.handleStart=()=>{this.setState({showInfo:!1})},this.state={showInfo:!0,password:null,status:Fa.DEFAULT,errorCode:null,errorMessage:""}}render(){const{t:e,goBack:n}=this.props,{showInfo:a,password:i,status:o,errorCode:s,errorMessage:l}=this.state;let c;switch(o){case Fa.DEFAULT:c=null;break;case Fa.WAITING:c=r.jsx(nn,{type:"info",children:e("initialize.creating")});break;case Fa.ERROR:c=r.jsx(nn,{type:"error",children:e(`initialize.error.e${s}`,{defaultValue:l})})}const u=a?r.jsxs("div",{className:"box large",children:[r.jsx("h3",{className:"subTitle",children:e("initialize.info.subtitle")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("initialize.info.description1")}),r.jsx("li",{children:e("initialize.info.description2")})]}),r.jsx("p",{children:e("initialize.info.description3")}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleStart,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]}):r.jsxs("form",{onSubmit:this.handleSubmit,className:"box large",children:[r.jsx(qr,{pattern:"^.{4,}$",label:e("initialize.input.label"),repeatLabel:e("initialize.input.labelRepeat"),repeatPlaceholder:e("initialize.input.placeholderRepeat"),disabled:o===Fa.WAITING,onValidPassword:this.setValidPassword}),r.jsxs("div",{className:"buttons",children:[r.jsx(_,{type:"submit",primary:!0,disabled:!i||o===Fa.WAITING,children:e("initialize.create")}),r.jsx(_,{secondary:!0,onClick:n,children:e("button.abort")})]})]});return r.jsx("div",{className:"contentWithGuide",children:r.jsxs("div",{className:"container",children:[r.jsx(xe,{title:r.jsx("h2",{children:e("welcome.title")}),children:r.jsx(oo,{})}),r.jsx("div",{className:"innerContainer",children:r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:e(a?"initialize.info.title":"setup")}),c,u,r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})}),o===Fa.WAITING&&r.jsx(Cn,{guideExists:!1,text:e("initialize.creating")})]})})}}const Kue=kn()(Hue);class Gue extends x.Component{constructor(){super(...arguments);M(this,"handleGetStarted",()=>{le("/account-summary",!0)})}render(){const{t:n,handleHideSuccess:a,goal:i}=this.props;return r.jsx("div",{className:"contentWithGuide",children:r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:n("welcome.title")}),children:r.jsx(oo,{})}),r.jsxs("div",{className:"content padded narrow isVerticallyCentered",children:[r.jsx("h1",{className:[ht.title,"text-center"].join(" "),children:n(`success.${i}.title`)}),r.jsxs("div",{className:"box large",children:[r.jsx("p",{style:{textAlign:"center"},children:n(`success.${i}.summary`)}),i==="create"?r.jsxs("ul",{className:ht.summary,children:[r.jsx("li",{children:n("success.create.info1")}),r.jsx("li",{children:n("success.create.info2")}),r.jsx("li",{children:n("success.create.info3")})]}):null,r.jsxs("div",{className:"buttons",children:[r.jsx(_,{primary:!0,onClick:this.handleGetStarted,children:n("success.getstarted")}),r.jsx(_,{secondary:!0,onClick:a,children:n("sidebar.device")})]})]}),r.jsx("div",{className:"text-center m-top-large",children:gi()?r.jsx(hi,{large:!0}):r.jsx(pi,{large:!0})})]})]})})})}}const Que=He()(Gue);class Yue extends x.Component{constructor(){super(...arguments);M(this,"blinkDevice",()=>{H("devices/"+this.props.deviceID+"/blink")})}render(){const{t:n}=this.props;return r.jsx(vi,{onClick:this.blinkDevice,children:n("blink.button")})}}const Zue=He()(Yue);class Jue extends x.Component{constructor(){super(...arguments);M(this,"toggle",()=>{const n=!this.props.newHiddenWallet;H("devices/"+this.props.deviceID+"/feature-set",{new_hidden_wallet:n}).then(()=>{J(n?this.props.t("legacyhiddenwallet.successDisable"):this.props.t("legacyhiddenwallet.successEnable")),this.props.onChange&&this.props.onChange(n)})})}render(){const{t:n,disabled:a,newHiddenWallet:i}=this.props;return r.jsx(_,{danger:!0,disabled:a,onclick:this.toggle,children:n(i?"legacyhiddenwallet.enable":"legacyhiddenwallet.disable")})}}const Ox=He()(Jue);class Xue extends x.Component{constructor(n){super(n);M(this,"getRandomNumber",()=>{H(this.props.apiPrefix+"/random-number").then(n=>{this.setState({active:!0,number:n})})});M(this,"abort",()=>{this.setState({active:!1,number:void 0})});this.state={active:!1,number:""}}render(){const{t:n}=this.props,{number:a,active:i}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{onClick:this.getRandomNumber,children:n("random.button")}),i&&a?r.jsxs(fa,{title:"Generate Random Number",onClose:this.abort,children:[r.jsx("div",{className:"columnsContainer half",children:r.jsx("div",{className:"columns",children:r.jsxs("div",{className:"column",children:[r.jsx("p",{children:n("random.description",{bits:a.length*4})}),r.jsx(Ia,{value:a,flexibleHeight:!0})]})})}),r.jsx(so,{children:r.jsx(_,{primary:!0,onClick:this.abort,children:n("button.ok")})})]}):null]})}}const ede=He()(Xue);class tde extends x.Component{constructor(){super(...arguments);M(this,"state",{password:null,pin:null,isConfirming:!1,activeDialog:!1});M(this,"abort",()=>{this.setState({password:null,isConfirming:!1,activeDialog:!1})});M(this,"handleFormChange",n=>{this.setState({[n.target.id]:n.target.value})});M(this,"validate",()=>this.state.password&&this.state.pin);M(this,"createHiddenWallet",n=>{n.preventDefault(),this.validate()&&(this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/set-hidden-password",{pin:this.state.pin,backupPassword:this.state.password}).catch(()=>{}).then(({success:a,didCreate:i,errorMessage:o,code:s})=>{this.abort(),a?i&&J(this.props.t("hiddenWallet.success")):J(this.props.t(`bitbox.error.e${s}`,{defaultValue:o}))}))});M(this,"setValidPassword",n=>{this.setState({password:n})});M(this,"setValidPIN",n=>{this.setState({pin:n})})}render(){const{t:n,disabled:a}=this.props,{isConfirming:i,activeDialog:o}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{disabled:a,onClick:()=>this.setState({activeDialog:!0}),children:n("button.hiddenwallet")}),o&&r.jsxs(fa,{title:n("button.hiddenwallet"),onClose:this.abort,children:[r.jsx(Qe,{tagName:"p",markup:n("hiddenWallet.info1HTML")}),r.jsx(Qe,{tagName:"p",markup:n("hiddenWallet.info2HTML")}),r.jsxs("form",{onSubmit:this.createHiddenWallet,children:[r.jsx(qr,{idPrefix:"pin",pattern:"^.{4,}$",label:n("hiddenWallet.pinLabel"),repeatLabel:n("hiddenWallet.pinRepeatLabel"),repeatPlaceholder:n("hiddenWallet.pinRepeatPlaceholder"),onValidPassword:this.setValidPIN}),r.jsx(qr,{idPrefix:"password",label:n("hiddenWallet.passwordLabel"),repeatPlaceholder:n("hiddenWallet.passwordPlaceholder"),onValidPassword:this.setValidPassword}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",danger:!0,disabled:!this.validate()||i,children:n("button.hiddenwallet")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:i,children:n("button.abort")})]})]})]}),i&&r.jsx(xn,{title:n("button.hiddenwallet")})]})}}const nde=He()(tde);class ade extends x.Component{constructor(){super(...arguments);M(this,"state",{oldPIN:null,newPIN:null,errorCode:null,isConfirming:!1,activeDialog:!1});M(this,"abort",()=>{this.setState({oldPIN:null,newPIN:null,isConfirming:!1,activeDialog:!1})});M(this,"validate",()=>this.state.newPIN&&this.state.oldPIN);M(this,"changePin",n=>{n.preventDefault(),this.validate()&&(this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/change-password",{oldPIN:this.state.oldPIN,newPIN:this.state.newPIN}).catch(()=>{}).then(a=>{this.abort(),a.success||J(this.props.t(`bitbox.error.e${a.code}`,{defaultValue:a.errorMessage}))}))});M(this,"setValidOldPIN",n=>{this.setState({oldPIN:n.target.value})});M(this,"setValidNewPIN",n=>{this.setState({newPIN:n})})}render(){const{t:n,disabled:a}=this.props,{oldPIN:i,isConfirming:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{disabled:a,onClick:()=>this.setState({activeDialog:!0}),children:n("button.changepin")}),s&&r.jsx(fa,{title:n("button.changepin"),onClose:this.abort,children:r.jsxs("form",{onSubmit:this.changePin,children:[r.jsx(Bg,{idPrefix:"oldPIN",label:n("changePin.oldLabel"),value:i,onInput:this.setValidOldPIN}),n("changePin.newTitle")&&r.jsx("h4",{children:n("changePin.newTitle")}),r.jsx(qr,{idPrefix:"newPIN",pattern:"^.{4,}$",label:n("initialize.input.label"),repeatLabel:n("initialize.input.labelRepeat"),repeatPlaceholder:n("initialize.input.placeholderRepeat"),onValidPassword:this.setValidNewPIN}),r.jsxs(so,{children:[r.jsx(_,{type:"submit",danger:!0,disabled:!this.validate()||o,children:n("button.changepin")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:o,children:n("button.back")})]})]})}),o&&r.jsx(xn,{title:n("button.changepin")})]})}}const ide=He()(ade);class ode extends x.Component{constructor(){super(...arguments);M(this,"state",{pin:null,isConfirming:!1,activeDialog:!1,understand:!1});M(this,"handleUnderstandChange",n=>{this.setState({understand:n.target.checked})});M(this,"resetDevice",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/reset",{pin:this.state.pin}).then(n=>{this.abort(),n.success?n.didReset&&le("/",!0):n.errorMessage&&J(this.props.t(`bitbox.error.e${n.code}`,{defaultValue:n.errorMessage}))})});M(this,"setValidPIN",n=>{this.setState({pin:n.target.value})});M(this,"abort",()=>{this.setState({pin:null,understand:!1,isConfirming:!1,activeDialog:!1})})}render(){const{t:n}=this.props,{isConfirming:a,activeDialog:i,understand:o,pin:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{danger:!0,onClick:()=>this.setState({activeDialog:!0}),children:n("reset.title")}),i&&r.jsxs(fa,{title:n("reset.title"),onClose:this.abort,children:[r.jsx("p",{children:n("reset.description")}),r.jsx(Bg,{idPrefix:"pin",label:n("initialize.input.label"),value:s,onInput:this.setValidPIN}),r.jsx("div",{className:ht.agreements,children:r.jsx(Ve,{id:"funds_access",label:n("reset.understand"),checked:o,onChange:this.handleUnderstandChange})}),r.jsxs(so,{children:[r.jsx(_,{danger:!0,disabled:!s||!o,onClick:this.resetDevice,children:n("reset.title")}),r.jsx(_,{secondary:!0,onClick:this.abort,disabled:a,children:n("button.back")})]})]}),a?r.jsx(xn,{title:n("reset.title")}):null]})}}const rde=He()(ode),sde=""+new URL("app-store-badge.svg",import.meta.url).href,lde=""+new URL("google-play-badge.png",import.meta.url).href;class cde extends x.Component{constructor(e){super(e),this.onDeviceStatus=n=>{if("type"in n){const{type:a,data:i,deviceID:o}=n;if(a==="device"&&o===this.props.deviceID)switch(i){case"pairingStarted":this.setState({status:"started"});break;case"pairingTimedout":this.state.status&&this.setState({status:"timeout"});break;case"pairingPullMessageFailed":this.setState({status:"pullFailed"});break;case"pairingScanningFailed":this.setState({status:"scanningFailed"});break;case"pairingAborted":this.setState({status:"aborted"});break;case"pairingError":this.setState({status:"error"});break;case"pairingSuccess":this.setState({status:"success"});break}}},this.reconnectUnpaired=()=>{Vo(this.props.t("pairing.confirm"),n=>{n&&H("devices/"+this.props.deviceID+"/feature-set",{pairing:!0}).then(()=>{this.props.onPairingEnabled(),J(this.props.t("pairing.success.text"))})})},this.startPairing=()=>{Vo(this.props.t("pairing.confirm"),n=>{n&&(this.setState({channel:null,status:"loading"}),H("devices/"+this.props.deviceID+"/pairing/start").then(a=>{this.props.deviceLocked?this.setState({channel:a,status:"connectOnly"}):this.setState({channel:a,status:"start"})}))})},this.abort=()=>{this.setState({showQRCode:!1,status:!1})},this.toggleQRCode=()=>{this.setState({showQRCode:!this.state.showQRCode})},this.state={channel:null,status:!1,showQRCode:!1}}componentDidMount(){this.unsubscribe=Yo(this.onDeviceStatus)}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:e,deviceLocked:n,paired:a,hasMobileChannel:i}=this.props,{channel:o,status:s,showQRCode:l}=this.state;let c;return s==="start"?c=r.jsxs("div",{children:[r.jsx("div",{className:"flex flex-row flex-start",children:r.jsxs("div",{children:[r.jsxs("p",{className:"m-top-none",children:[r.jsx("strong",{className:"m-right-quarter",children:"1."})," ",e("pairing.start.step1")]}),r.jsx("p",{children:r.jsx(_,{primary:!0,onClick:this.toggleQRCode,className:"width-1-1",children:e(`pairing.start.${l?"hideAppQRCode":"revealAppQRCode"}`)})}),l?r.jsx("div",{className:"columnsContainer m-top-default",children:r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("label",{className:"text-center",children:"Apple App Store"}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx(Ja,{data:"https://itunes.apple.com/us/app/digital-bitbox-2fa/id1079896740",size:148}),r.jsx("a",{target:"_blank",rel:"noreferrer",href:"https://itunes.apple.com/us/app/digital-bitbox-2fa/id1079896740",children:r.jsx("img",{src:sde,className:ht.badge})})]})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("label",{className:"text-center",children:"Google Play Store"}),r.jsxs("div",{className:"flex flex-column flex-center flex-items-center",children:[r.jsx(Ja,{data:"https://play.google.com/store/apps/details?id=com.digitalbitbox.tfa",size:148}),r.jsx("a",{target:"_blank",rel:"noreferrer",href:"https://play.google.com/store/apps/details?id=com.digitalbitbox.tfa",children:r.jsx("img",{src:lde,className:ht.badge})})]})]})]})}):null]})}),r.jsx("div",{className:"flex flex-row flex-start m-top-default",children:r.jsxs("div",{children:[r.jsxs("p",{className:"m-top-none",children:[r.jsx("strong",{className:"m-right-quarter",children:"2."}),e("pairing.start.step2")]}),r.jsx("div",{className:"text-center",children:r.jsx(Ja,{data:JSON.stringify(o),size:196})})]})})]}):s==="connectOnly"?c=r.jsx(Ja,{data:JSON.stringify({channel:o,connectOnly:!0})}):c=r.jsx("p",{className:"m-top-none",children:e(`pairing.${s}.text`)}),r.jsxs("div",{children:[r.jsx(vi,{onClick:i&&!a?this.reconnectUnpaired:this.startPairing,optionalText:e(`deviceSettings.pairing.status.${a}`),children:e(n?i?"pairing.reconnectOnly.button":"pairing.connectOnly.button":i&&!a?"pairing.reconnectOnly.button":"pairing.button")}),s&&r.jsxs(fa,{title:e("pairing.title"),onClose:this.abort,medium:!0,children:[r.jsx("div",{className:"flex flex-column flex-center flex-items-center",children:o?c:r.jsx("p",{children:e("loading")})}),r.jsx(so,{children:r.jsx(_,{secondary:!0,onClick:this.abort,children:e("button.back")})})]})]})}}const ude=kn()(cde);class dde extends x.Component{constructor(){super(...arguments);M(this,"state",{isConfirming:!1,activeDialog:!1});M(this,"resetDevice",()=>{this.setState({activeDialog:!1,isConfirming:!0}),H("devices/"+this.props.deviceID+"/lock").then(n=>{this.setState({isConfirming:!1}),n&&this.props.onLock()})});M(this,"abort",()=>{this.setState({activeDialog:!1})})}render(){const{t:n,disabled:a,lock:i}=this.props,{isConfirming:o,activeDialog:s}=this.state;return r.jsxs("div",{children:[r.jsx(vi,{danger:!0,onClick:()=>this.setState({activeDialog:!0}),disabled:a,optionalText:n(`deviceSettings.pairing.lock.${i}`),children:n("deviceLock.button")}),s&&r.jsxs(fa,{title:n("deviceLock.title"),onClose:this.abort,children:[r.jsx("p",{children:n("deviceLock.condition1")}),r.jsx("p",{children:n("deviceLock.condition2")}),r.jsx("p",{children:n("deviceLock.condition3")}),r.jsxs("div",{className:ce.actions,children:[r.jsx(_,{danger:!0,onClick:this.resetDevice,children:n("deviceLock.confirm")}),r.jsx(_,{secondary:!0,onClick:this.abort,children:n("button.back")})]})]}),o&&r.jsx(xn,{title:n("deviceLock.title")})]})}}const pde=He()(dde),Nc=({optionalText:t,optionalIcon:e,children:n})=>r.jsxs("div",{className:[ta.container,ta.item].join(" "),children:[n,t&&r.jsx("span",{className:ta.optionalText,children:t}),e]});class hde extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null,newVersion:null,lock:!0,name:null,spinner:!0,sdcard:!1,serial:"",pairing:!1,mobileChannel:!1,connected:!1,newHiddenWallet:!0})}componentDidMount(){Jo(this.props.deviceID).then(({lock:n,name:a,new_hidden_wallet:i,pairing:o,sdcard:s,serial:l,version:c})=>{this.setState({firmwareVersion:c.replace("v",""),lock:n,name:a,newHiddenWallet:i,pairing:o,sdcard:s,serial:l,spinner:!1})}),Z("devices/"+this.props.deviceID+"/has-mobile-channel").then(n=>{this.setState({mobileChannel:n})}),Z("devices/"+this.props.deviceID+"/bundled-firmware-version").then(n=>{this.setState({newVersion:n.replace("v","")})}),this.unsubscribe=Yo(({type:n,data:a,deviceID:i})=>{if(n==="device"){if(i!==this.props.deviceID)return;switch(a){case"mobileDisconnected":this.setState({connected:!1});break;case"mobileConnected":this.setState({connected:!0});break;case"pairingSuccess":this.setState({pairing:!0,mobileChannel:!0});break;case"pairingFalse":this.setState({mobileChannel:!1});break}}})}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}render(){const{t:n,deviceID:a}=this.props,{firmwareVersion:i,newVersion:o,lock:s,name:l,spinner:c,sdcard:u,serial:d,pairing:p,mobileChannel:h,connected:m,newHiddenWallet:g}=this.state,v=i&&o!==i,y=p&&h;return r.jsxs("div",{className:"contentWithGuide",children:[r.jsx("div",{className:"container",children:r.jsxs("div",{className:"innerContainer scrollableContainer",children:[r.jsx(xe,{title:r.jsx("h2",{children:l===null?"":l||"BitBox"})}),r.jsx("div",{className:"content padded",children:r.jsxs("div",{className:"columnsContainer",children:[r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.secrets.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(vi,{onClick:()=>le(`/manage-backups/${a}`),children:n("deviceSettings.secrets.manageBackups")}),r.jsx(ide,{deviceID:a}),g?r.jsx(nde,{deviceID:a,disabled:s}):r.jsx(Ox,{deviceID:a,newHiddenWallet:g,disabled:s,onChange:b=>this.setState({newHiddenWallet:b})}),r.jsx(rde,{deviceID:a})]})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.pairing.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(Nc,{optionalText:n(`deviceSettings.pairing.mobile.${m}`),children:n("deviceSettings.pairing.mobile.label")}),r.jsx(ude,{deviceID:a,deviceLocked:s,hasMobileChannel:h,paired:y,onPairingEnabled:()=>this.setState({pairing:!0})}),r.jsx(pde,{lock:s,deviceID:a,onLock:()=>this.setState({lock:!0}),disabled:s||!y})]})]})]}),r.jsxs("div",{className:"columns",children:[r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.firmware.title")}),r.jsx("div",{className:"box slim divide",children:v?r.jsx(Y1,{deviceID:a,currentVersion:i}):r.jsx(Nc,{optionalText:`${n("deviceSettings.firmware.version.label")} ${i||n("loading")}`,children:n("deviceSettings.firmware.upToDate")})})]}),r.jsxs("div",{className:"column column-1-2",children:[r.jsx("h3",{className:"subTitle",children:n("deviceSettings.hardware.title")}),r.jsxs("div",{className:"box slim divide",children:[r.jsx(Nc,{optionalText:d,children:"Serial number"}),r.jsx(Nc,{optionalText:n(`deviceSettings.hardware.sdcard.${u}`),children:n("deviceSettings.hardware.sdcard.label")}),r.jsx(ede,{apiPrefix:"devices/"+a}),r.jsx(Zue,{deviceID:a})]})]})]})]})}),c&&r.jsx(Cn,{guideExists:!0,text:n("deviceSettings.loading")})]})}),r.jsxs(st,{children:[r.jsx(W,{entry:n("guide.bitbox.ejectBitbox")},"guide.bitbox.ejectBitbox"),r.jsx(W,{entry:n("guide.bitbox.ejectSD")},"guide.bitbox.ejectSD"),r.jsx(W,{entry:n("guide.bitbox.hiddenWallet")},"guide.bitbox.hiddenWallet"),!s&&g&&r.jsx(W,{entry:n("guide.bitbox.legacyHiddenWallet"),children:r.jsx("p",{children:r.jsx(Ox,{deviceID:a,newHiddenWallet:g,onChange:b=>this.setState({newHiddenWallet:b})})})},"guide.bitbox.legacyHiddenWallet"),r.jsx(W,{entry:n("guide.bitbox.pairing")},"guide.bitbox.pairing"),r.jsx(W,{entry:n("guide.bitbox.2FA")},"guide.bitbox.2FA"),r.jsx(W,{entry:n("guide.bitbox.disable2FA")},"guide.bitbox.disable2FA")]})]})}}const mde=He()(hde),mo=Object.freeze({BOOTLOADER:"bootloader",INITIALIZED:"initialized",UNINITIALIZED:"uninitialized",LOGGED_IN:"logged_in",SEEDED:"seeded",REQUIRE_FIRMWARE_UPGRADE:"require_firmware_upgrade",REQUIRE_APP_UPGRADE:"require_app_upgrade"}),Lc=Object.freeze({CREATE:"create",RESTORE:"restore"});class fde extends x.Component{constructor(){super(...arguments);M(this,"state",{firmwareVersion:null,deviceRegistered:!1,deviceStatus:"",goal:"",success:null});M(this,"onDevicesRegisteredChanged",()=>{Z("devices/registered").then(n=>{const i=Object.keys(n).includes(this.getDeviceID());this.setState({deviceRegistered:i,deviceStatus:null},()=>{this.state.deviceRegistered&&this.onDeviceStatusChanged()})})});M(this,"onDeviceStatusChanged",()=>{this.state.deviceRegistered&&Z("devices/"+this.props.deviceID+"/status").then(n=>{["seeded","initialized"].includes(n)?hk(""):hk("forceHidden"),this.setState({deviceStatus:n})})});M(this,"handleCreate",()=>{this.setState({goal:Lc.CREATE})});M(this,"handleRestore",()=>{this.setState({goal:Lc.RESTORE})});M(this,"handleBack",()=>{this.setState({goal:null})});M(this,"handleSuccess",()=>{this.setState({success:!0})})}componentDidMount(){this.onDevicesRegisteredChanged(),this.onDeviceStatusChanged(),this.unsubscribe=Yo(({type:n,data:a,deviceID:i})=>{n==="devices"&&a==="registeredChanged"&&this.onDevicesRegisteredChanged(),n==="device"&&a==="statusChanged"&&i===this.getDeviceID()&&this.onDeviceStatusChanged()})}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}componentDidUpdate(n){this.props.deviceID!==n.deviceID&&this.onDevicesRegisteredChanged()}getDeviceID(){return this.props.deviceID||null}render(){const{deviceID:n}=this.props,{deviceRegistered:a,deviceStatus:i,goal:o,success:s}=this.state;if(!a||!i)return null;if(s)return r.jsx(Que,{goal:o,handleHideSuccess:()=>this.setState({success:null})});switch(i){case mo.BOOTLOADER:return r.jsx(uue,{deviceID:n});case mo.REQUIRE_FIRMWARE_UPGRADE:return r.jsx(wue,{deviceID:n});case mo.REQUIRE_APP_UPGRADE:return r.jsx(Q1,{});case mo.INITIALIZED:return r.jsx(Wce,{deviceID:n});case mo.UNINITIALIZED:return o?r.jsx(Sue,{goal:o,goBack:this.handleBack,children:r.jsx(Kue,{goBack:this.handleBack,deviceID:n})}):r.jsx(Mx,{onCreate:this.handleCreate,onRestore:this.handleRestore});case mo.LOGGED_IN:switch(o){case Lc.CREATE:return r.jsx(Cue,{goBack:this.handleBack,onSuccess:this.handleSuccess,deviceID:n});case Lc.RESTORE:return r.jsx(que,{goBack:this.handleBack,onSuccess:this.handleSuccess,deviceID:n});default:return r.jsx(Mx,{onCreate:this.handleCreate,onRestore:this.handleRestore})}case mo.SEEDED:return r.jsx(mde,{deviceID:n});default:return null}}}const gde=He()(fde),vde=t=>Gn("devices/registered",t),X1=(t,e)=>is("statusChanged",a=>{a.type==="device"&&a.deviceID===t&&e()}),bde=(t,e)=>is("channelHashChanged",a=>{a.type==="device"&&a.deviceID===t&&e(t)}),kde=(t,e)=>is("attestationCheckDone",a=>{a.type==="device"&&a.deviceID===t&&e(t)}),xde="_container_6tizs_1",yde="_primaryText_6tizs_21",wde="_isButton_6tizs_27",jde="_rightContentContainer_6tizs_32",Bde="_displayedValue_6tizs_38",Sde="_withMargin_6tizs_47",zde="_secondaryText_6tizs_51",Cde="_collapse_6tizs_74",Dde="_hideDisplayedValueOnSmall_6tizs_87",wa={container:xde,primaryText:yde,isButton:wde,rightContentContainer:jde,displayedValue:Bde,withMargin:Sde,secondaryText:zde,collapse:Cde,hideDisplayedValueOnSmall:Dde},Ke=({className:t="",collapseOnSmall:e=!1,displayedValue:n="",extraComponent:a,hideDisplayedValueOnSmall:i=!1,onClick:o,secondaryText:s,settingName:l})=>{const c=o===void 0,u=r.jsxs("div",{className:wa.rightContentContainer,children:[r.jsx("p",{className:` ${n?wa.displayedValue:""} ${a?wa.withMargin:""} ${i?wa.hideDisplayedValueOnSmall:""} @@ -1341,5 +1341,5 @@ PERFORMANCE OF THIS SOFTWARE. Required: ${p} Approved: ${h.toString()}`))}),s.forEach(p=>{a||(zo(i[p].methods,o[p].methods)?zo(i[p].events,o[p].events)||(a=Ni("NON_CONFORMING_NAMESPACES",`${n} namespaces events don't satisfy namespace events for ${p}`)):a=Ni("NON_CONFORMING_NAMESPACES",`${n} namespaces methods don't satisfy namespace methods for ${p}`))}),a}function Vke(t){const e={};return Object.keys(t).forEach(n=>{var a;n.includes(":")?e[n]=t[n]:(a=t[n].chains)==null||a.forEach(i=>{e[i]={methods:t[n].methods,events:t[n].events}})}),e}function Dy(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function Wke(t){const e={};return Object.keys(t).forEach(n=>{if(n.includes(":"))e[n]=t[n];else{const a=rs(t[n].accounts);a==null||a.forEach(i=>{e[i]={accounts:t[n].accounts.filter(o=>o.includes(`${i}:`)),methods:t[n].methods,events:t[n].events}})}}),e}function sje(t,e){return pv(t,!1)&&t<=e.max&&t>=e.min}function lje(){const t=Hl();return new Promise(e=>{switch(t){case jn.browser:e(Uke());break;case jn.reactNative:e(qke());break;case jn.node:e(Hke());break;default:e(!0)}})}function Uke(){return mp()&&(navigator==null?void 0:navigator.onLine)}async function qke(){if(ql()&&typeof global<"u"&&global!=null&&global.NetInfo){const t=await(global==null?void 0:global.NetInfo.fetch());return t==null?void 0:t.isConnected}return!0}function Hke(){return!0}function cje(t){switch(Hl()){case jn.browser:Kke(t);break;case jn.reactNative:Gke(t);break}}function Kke(t){!ql()&&mp()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function Gke(t){ql()&&typeof global<"u"&&global!=null&&global.NetInfo&&(global==null||global.NetInfo.addEventListener(e=>t(e==null?void 0:e.isConnected)))}const Ih={};class uje{static get(e){return Ih[e]}static set(e,n){Ih[e]=n}static delete(e){delete Ih[e]}}const Qke="_buttonsContainer_yg3s8_1",Yke="_container_yg3s8_7",Zke="_connectionRequest_yg3s8_12",Jke="_receiveAddress_yg3s8_16",Xke="_pairingDetailContainer_yg3s8_21",exe="_metadata_yg3s8_32",Oi={buttonsContainer:Qke,container:Yke,connectionRequest:Zke,receiveAddress:Jke,pairingDetailContainer:Xke,metadata:exe},txe=({pairingMetadata:t})=>{const{name:e,description:n,url:a,icons:i}=t,o=i&&i.length>0;return r.jsxs("div",{className:Oi.pairingDetailContainer,children:[r.jsxs("div",{children:[r.jsx("p",{className:Oi.metadata,children:e}),r.jsx("p",{className:Oi.metadata,children:n}),r.jsx("p",{className:Oi.metadata,children:a})]}),o&&r.jsx("img",{src:i[0],alt:"logo"})]})},nxe=({currentProposal:t,pairingMetadata:e,receiveAddress:n,onReject:a,onApprove:i})=>{const[o,s]=x.useState(!1),{web3wallet:l}=x.useContext(Fl),{t:c}=A(),u=async()=>{s(!0);try{const{id:p,params:h}=t,{requiredNamespaces:m}=h,g=Object.values(m),v=g.flatMap(k=>{var w;return((w=k.chains)==null?void 0:w.map(j=>`${j}:${n}`))||[]}),y=g.flatMap(k=>k.chains?k.chains.filter(w=>Object.keys(Ns).includes(w)):[]),b=Ake({proposal:h,supportedNamespaces:{eip155:{chains:y,methods:["eth_sendTransaction","eth_signTransaction","eth_sign","personal_sign","eth_signTypedData","eth_signTypedData_v4"],events:["accountsChanged","chainChanged"],accounts:v}}});await(l==null?void 0:l.approveSession({id:p,namespaces:b})),i()}catch(p){console.error(`Wallet connect approve pairing error ${p}`),console.error(p),p.message.includes("Non conforming namespaces")?J(c("walletConnect.invalidPairingChain",{chains:` •Ethereum -•Ethereum (Goerli)`})):J(p.messsage),await d()}finally{s(!1)}},d=async()=>{s(!0),await(l==null?void 0:l.rejectSession({id:t.id,reason:to("USER_REJECTED_METHODS")})),a(),s(!1)};return r.jsxs("div",{className:Oi.container,children:[r.jsxs("p",{className:Oi.connectionRequest,children:[c("walletConnect.pairingRequest.title"),":"]}),r.jsx(txe,{pairingMetadata:e}),r.jsxs("p",{className:Oi.receiveAddress,children:[c("accountInfo.address"),": ",n]}),r.jsxs("div",{className:Oi.buttonsContainer,children:[r.jsx(_,{disabled:o,secondary:!0,onClick:d,children:c("walletConnect.pairingRequest.reject")}),r.jsx(_,{disabled:o,primary:!0,onClick:u,children:c("walletConnect.pairingRequest.approve")})]})]})},axe="_container_1h5wj_1",ixe="_successIcon_1h5wj_7",oxe="_successText_1h5wj_12",$h={container:axe,successIcon:ixe,successText:oxe},rxe=({accountCode:t})=>{const{t:e}=A();return r.jsxs("div",{className:$h.container,children:[r.jsx(vg,{className:$h.successIcon}),r.jsx("p",{className:$h.successText,children:e("walletConnect.pairingSuccess")}),r.jsx(_,{primary:!0,onClick:()=>le(`/account/${t}/wallet-connect/dashboard`),children:e("button.done")})]})},sxe="_contentContainer_1iwqe_1",lxe={contentContainer:sxe},cxe=({code:t,accounts:e})=>{var z;const[n,a]=x.useState(""),[i,o]=x.useState("connect"),[s,l]=x.useState(!1),{web3wallet:c,isWalletInitialized:u,pair:d}=x.useContext(Fl),[p,h]=x.useState(),{t:m}=A(),g=me(Ed(t)),v=x.useCallback(S=>{a(""),l(!1),o("incoming_pairing"),h(S)},[]);x.useEffect(()=>{if(u)return c==null||c.on("session_proposal",v),()=>{c==null||c.off("session_proposal",v)}},[v,u,c]);const y=()=>{o("success"),a(""),h(void 0)},b=()=>{o("connect"),a(""),h(void 0)},k=async S=>{if(S){l(!0);try{await d({uri:S})}catch(f){f.message.includes("Missing or invalid. pair()")?J(`${m("walletConnect.connect.invalidPairingUri")}: ${S}`):J(f.message),a(""),l(!1)}}};if(!g||!u)return null;const w=((z=e&&e.find(S=>S.code===t))==null?void 0:z.name)||"",j=g[0].addresses[0].address;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsx(re,{verticallyCentered:!0,fullscreen:!1,children:r.jsxs(ue,{children:[r.jsx(Xfe,{accountName:w,receiveAddress:j}),r.jsxs("div",{className:lxe.contentContainer,children:[i==="connect"&&r.jsx(rge,{connectLoading:s,code:t,uri:n,onInputChange:a,onSubmit:async S=>{await k(S)}}),i==="incoming_pairing"&&p&&r.jsx(nxe,{currentProposal:p,pairingMetadata:p.params.proposer.metadata,receiveAddress:j,onApprove:y,onReject:b}),i==="success"&&r.jsx(rxe,{accountCode:t})]})]})})]})}),r.jsx(oS,{})]})},uxe="_container_1jggi_1",dxe="_textDataContainer_1jggi_16",pxe="_receiveAddress_1jggi_21",hxe="_accountName_1jggi_26",mxe="_dAppMetadataAndIconContainer_1jggi_33",fxe="_dAppNameAndUrlContainer_1jggi_48",gxe="_dappUrl_1jggi_54",vxe="_accountNameAndWalletContainer_1jggi_58",bxe="_buttonAndIconContainer_1jggi_63",kxe="_buttonDisconnect_1jggi_69",na={container:uxe,textDataContainer:dxe,receiveAddress:pxe,accountName:hxe,dAppMetadataAndIconContainer:mxe,dAppNameAndUrlContainer:fxe,dappUrl:gxe,accountNameAndWalletContainer:vxe,buttonAndIconContainer:bxe,buttonDisconnect:kxe},xxe=({accountName:t,receiveAddress:e,dAppName:n,dAppUrl:a,iconUrl:i})=>r.jsxs("div",{className:na.textDataContainer,children:[r.jsxs("div",{className:na.accountNameAndWalletContainer,children:[r.jsx("p",{className:na.accountName,children:t}),r.jsx("p",{className:`${na.receiveAddress} hide-on-small`,children:e})]}),r.jsx("p",{className:`${na.receiveAddress} show-on-small`,children:e}),r.jsxs("div",{className:na.dAppMetadataAndIconContainer,children:[r.jsxs("div",{className:na.dAppNameAndUrlContainer,children:[r.jsx("p",{children:n}),r.jsx("p",{className:na.dappUrl,children:a})]}),i&&r.jsx("img",{className:"hide-on-small",src:i,alt:"dApp icon"})]})]}),yxe=({metadata:t,receiveAddress:e,onDisconnect:n})=>{const{t:a}=A(),{name:i,url:o,icons:s}=t,l=me(()=>Yj(e),[]),c=ip(e),u=l&&l.success?l.name:"";return r.jsxs("div",{className:na.container,children:[r.jsx(xxe,{accountName:u,receiveAddress:c,dAppName:i,dAppUrl:o,iconUrl:s[0]}),r.jsxs("div",{className:na.buttonAndIconContainer,children:[r.jsx("img",{className:"show-on-small",src:s[0],alt:"logo"}),r.jsx(_,{className:na.buttonDisconnect,onClick:n,danger:!0,children:a("settings.electrum.remove-server")})]})]})},wxe="_buttonNewConnection_13so1_1",jxe="_headerContainer_13so1_5",Bxe="_receiveAddress_13so1_16",Sxe="_noConnectedSessions_13so1_22",zxe="_separator_13so1_30",Cxe="_sessionCardsContainer_13so1_37",Dxe="_allSessionsHeading_13so1_42",bo={buttonNewConnection:wxe,headerContainer:jxe,receiveAddress:Bxe,noConnectedSessions:Sxe,separator:zxe,sessionCardsContainer:Cxe,allSessionsHeading:Dxe},Axe=({code:t,accounts:e})=>{var g;const{t:n}=A(),{web3wallet:a,isWalletInitialized:i,initializeWeb3Wallet:o}=x.useContext(Fl),[s,l]=x.useState(),c=me(Ed(t)),u=x.useCallback(()=>{const v=Object.values((a==null?void 0:a.getActiveSessions())||[]);l(v)},[a]);x.useEffect(()=>{if(!a){o();return}u()},[o,u,a]),x.useEffect(()=>{if(i)return a==null||a.on("session_delete",u),()=>{a==null||a.off("session_delete",u)}},[i,u,a]);const d=async v=>{await(a==null?void 0:a.disconnectSession({topic:v,reason:to("USER_DISCONNECTED")})),u()};if(!c||!i)return null;const p=ip(c[0].addresses[0].address),h=((g=e&&e.find(v=>v.code===t))==null?void 0:g.name)||"",m=s&&s.length>0;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{type:"info",dismissible:"walletConnectDisclaimerDismissed",children:n("walletConnect.dashboard.disclaimer")}),r.jsx(xe,{title:r.jsx("h2",{children:n("walletConnect.walletConnect")})}),r.jsx(re,{children:r.jsxs(ue,{children:[r.jsxs("div",{className:bo.headerContainer,children:[r.jsxs("div",{children:[r.jsx("p",{children:h}),r.jsx("p",{className:bo.receiveAddress,children:p})]}),r.jsx(_,{className:bo.buttonNewConnection,onClick:()=>le(`/account/${t}/wallet-connect/connect`),primary:!0,children:n("walletConnect.dashboard.newConnection")})]}),r.jsx("hr",{className:bo.separator}),m&&r.jsxs("div",{className:bo.sessionCardsContainer,children:[r.jsx("p",{className:bo.allSessionsHeading,children:n("walletConnect.dashboard.allSessions")}),s.map(v=>r.jsx(yxe,{receiveAddress:Hfe(v.namespaces.eip155.accounts[0]),metadata:v.peer.metadata,onDisconnect:()=>d(v.topic)},v.topic))]}),!m&&r.jsx("p",{className:bo.noConnectedSessions,children:n("walletConnect.dashboard.noConnectedSessions")})]})})]})}),r.jsx(oS,{})]})},it=({children:t})=>{const e=hD();return Mn.cloneElement(t,e)},_xe=({devices:t,deviceIDs:e,devicesKey:n,accounts:a,activeAccounts:i})=>{const o=a.length>0,s=r.jsx(Wx,{deviceID:null,devices:t,hasAccounts:o},n("device-switch-default")),l=r.jsx(it,{children:r.jsx(Wx,{deviceID:null,devices:t,hasAccounts:o},n("device-switch"))}),c=r.jsx(it,{children:r.jsx(sfe,{code:"",devices:t,accounts:i})}),u=r.jsx(it,{children:r.jsx(Oce,{devices:t,accounts:i})}),d=r.jsx(it,{children:r.jsx(ore,{code:"",devices:t,deviceIDs:e,accounts:i})}),p=r.jsx(it,{children:r.jsx(Iie,{code:"",devices:t,deviceIDs:e,accounts:i})}),h=r.jsx(it,{children:r.jsx(die,{code:"",accounts:i})}),m=r.jsx(it,{children:r.jsx(Axe,{accounts:i,code:""})}),g=r.jsx(it,{children:r.jsx(cxe,{code:"",accounts:i})}),v=r.jsx(it,{children:r.jsx(fne,{code:"",accounts:i})}),y=r.jsx(it,{children:r.jsx(wJ,{code:"",accounts:i})}),b=r.jsx(it,{children:r.jsx(aae,{code:"",accounts:i})}),k=r.jsx(it,{children:r.jsx(Fae,{code:""})}),w=r.jsx(it,{children:r.jsx(Ahe,{deviceID:""})}),j=r.jsx(it,{children:r.jsx(Npe,{devices:t},n("manage-backups"))}),z=r.jsx(it,{children:r.jsx(Cfe,{deviceIDs:e,hasAccounts:o})}),S=r.jsx(it,{children:r.jsx(Sfe,{deviceIDs:e,hasAccounts:o})}),f=r.jsx(it,{children:r.jsx(Afe,{deviceIDs:e,hasAccounts:o})}),B=r.jsx(it,{children:r.jsx(Ufe,{deviceIDs:e,hasAccounts:o})}),D=r.jsx(it,{children:r.jsx(lfe,{activeAccounts:i})});return r.jsx(wD,{children:r.jsxs(Se,{path:"/",children:[r.jsx(Se,{index:!0,element:s}),r.jsxs(Se,{path:"account/:code",children:[r.jsx(Se,{index:!0,element:c}),r.jsx(Se,{path:"send",element:d}),r.jsx(Se,{path:"receive",element:p}),r.jsx(Se,{path:"info",element:h}),r.jsx(Se,{path:"wallet-connect/connect",element:g}),r.jsx(Se,{path:"wallet-connect/dashboard",element:m})]}),r.jsx(Se,{path:"add-account",element:r.jsx(KZ,{})}),r.jsx(Se,{path:"account-summary",element:u}),r.jsxs(Se,{path:"buy",children:[r.jsxs(Se,{path:"info",element:v,children:[r.jsx(Se,{index:!0,element:v}),r.jsx(Se,{path:":code",element:v})]}),r.jsx(Se,{path:"moonpay/:code",element:y}),r.jsx(Se,{path:"pocket/:code",element:k}),r.jsx(Se,{path:"exchange/:code",element:b})]}),r.jsx(Se,{path:"manage-backups/:deviceID",element:j}),r.jsx(Se,{path:"accounts/select-receive",element:D}),r.jsxs(Se,{path:"settings",children:[r.jsx(Se,{index:!0,element:z}),r.jsx(Se,{path:"appearance",element:S}),r.jsx(Se,{path:"about",element:f}),r.jsx(Se,{path:"device-settings/:deviceID",element:l}),r.jsx(Se,{path:"device-settings/passphrase/:deviceID",element:w}),r.jsx(Se,{path:"advanced-settings",element:B}),r.jsx(Se,{path:"electrum",element:r.jsx(Che,{})}),r.jsx(Se,{path:"manage-accounts",element:r.jsx(che,{accounts:a,deviceIDs:e,hasAccounts:o},"manage-accounts")})]})]})})},Txe=({deviceID:t,versionInfo:e})=>{const{t:n}=A();return r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsxs(re,{fullscreen:!0,verticallyCentered:!0,textCenter:!0,width:"840px",withBottomBar:!0,children:[r.jsx(be,{title:n("upgradeFirmware.label")}),r.jsx(Fe,{children:r.jsx("div",{children:r.jsx(nS,{asButton:!0,deviceID:t,versionInfo:e})})})]})]})},Exe=""+new URL("password-gestures-81d1e40d.webm",import.meta.url).href,Pxe="_passwordGesturesWrapper_mvckk_1",Nxe="_passwordGestures_mvckk_1",Ay={passwordGesturesWrapper:Pxe,passwordGestures:Nxe};function Lxe(t){return t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2}function Ixe(t){t&&!Lxe(t)&&(t.muted=!0,t.play())}const hv=()=>{let t=x.createRef();return x.useEffect(()=>{t.current&&Ixe(t.current)},[t]),r.jsx("div",{className:Ay.passwordGesturesWrapper,children:r.jsx("video",{autoPlay:!0,ref:t,className:Ay.passwordGestures,loop:!0,muted:!0,height:"338",width:"600",children:r.jsx("source",{src:Exe,type:"video/webm"})})})},$xe=({attestation:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"690px",children:[r.jsx(be,{title:e("button.unlock"),children:r.jsx("p",{children:e("bitbox02Wizard.stepConnected.unlock")})}),r.jsx(ue,{fullWidth:!0,children:t===!1?r.jsx(an,{children:e("bitbox02Wizard.attestationFailed")}):r.jsx(hv,{})})]})},Mxe=({attestation:t,deviceID:e,pairingFailed:n})=>{const{t:a}=A(),[i,o]=x.useState(""),[s,l]=x.useState(!1),c=x.useCallback(()=>{hre(e).then(({hash:u,deviceVerified:d})=>{o(u),l(d)})},[e]);return x.useEffect(c,[e,c]),x.useEffect(()=>bde(e,c),[e,c]),r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"670px",children:[r.jsx(be,{title:a("bitbox02Wizard.pairing.title"),children:n?r.jsx(an,{type:"warning",children:a("bitbox02Wizard.pairing.failed")},"pairingFailed"):r.jsx("p",{children:a(s?"bitbox02Wizard.pairing.paired":"bitbox02Wizard.pairing.unpaired")})}),r.jsxs(ue,{fullWidth:!0,children:[t===!1&&!n&&r.jsx(an,{type:"warning",className:"m-bottom-half",children:a("bitbox02Wizard.attestationFailed")}),!n&&r.jsxs(r.Fragment,{children:[r.jsx("pre",{children:i}),!s&&r.jsx(ns,{})]})]}),r.jsx(Fe,{children:!n&&s&&r.jsx(_,{primary:!0,onClick:()=>mre(e,!0),children:a("button.continue")})})]})},Ir=({title:t,text:e})=>{const{t:n}=A();return r.jsxs(re,{fullscreen:!0,width:"720px",verticallyCentered:!0,textCenter:!0,children:[r.jsx(be,{title:t,children:r.jsx("p",{children:e||n("bitbox02Interact.followInstructions")})}),r.jsx(ue,{children:r.jsx(ns,{})})]})},Oxe="_toggle_1lt1t_1",Rxe="_toggleLabel_1lt1t_7",Fxe="_textIcon_1lt1t_14",sr={toggle:Oxe,toggleLabel:Rxe,textIcon:Fxe},Vxe=({onSelectSetup:t,versionInfo:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),[l,c]=x.useState(!1);if(a){const{canBackupWithRecoveryWords:u,canCreate12Words:d}=e;return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"1100px",children:[r.jsx(be,{small:!0,title:n("seed.create")}),r.jsx(ue,{fullWidth:!0,children:r.jsx(Er,{col:"1",textAlign:"left",children:r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("bitbox02Wizard.advanced.title")}),r.jsxs("div",{children:[r.jsxs("div",{className:sr.toggle,children:[r.jsxs(Mi,{htmlFor:"with-mnemonic",className:sr.toggleLabel,style:{...!u&&{color:"var(--color-disabled)"}},children:[r.jsx("strong",{children:n("bitbox02Wizard.advanced.skipSDCardLabel")})," ",!u&&r.jsxs("span",{style:{color:"var(--color-warning)"},children:[r.jsx("br",{}),"(",n("bitbox02Wizard.advanced.outOfDate"),")"]})]}),r.jsx(Dn,{checked:o,disabled:!u,id:"with-mnemonic",onChange:()=>s(!o)})]}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsx("small",{children:n("bitbox02Wizard.advanced.skipSDCardText")})})]}),r.jsxs("div",{children:[r.jsxs("div",{className:sr.toggle,children:[r.jsxs(Mi,{htmlFor:"with-12words",className:sr.toggleLabel,style:{...!d&&{color:"var(--color-disabled)"}},children:[r.jsx("strong",{children:n("bitbox02Wizard.advanced.seed12WordLabel")})," ",!d&&r.jsxs("span",{style:{color:"var(--color-warning)"},children:[r.jsx("br",{}),"(",n("bitbox02Wizard.advanced.outOfDate"),")"]})]}),r.jsx(Dn,{checked:l,disabled:!d,id:"with-12words",onChange:()=>c(!l)})]}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsx("small",{children:n("bitbox02Wizard.advanced.seed12WordText")})}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsxs("small",{children:[r.jsx($m,{className:sr.textIcon}),n("bitbox02Wizard.advanced.seed12WordInfo")]})})]}),r.jsxs(nu,{inline:!0,children:[r.jsx(_,{onClick:()=>t("create-wallet",{withMnemonic:o,with12Words:l}),primary:!0,children:n("seed.create")}),r.jsx(_,{onClick:()=>{s(!1),c(!1),i(!1)},secondary:!0,children:n("button.back")})]})]})})})]})}return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"1100px",children:[r.jsx(be,{small:!0,title:n("bitbox02Wizard.stepUninitialized.title"),children:r.jsxs("p",{children:[r.jsx($m,{className:sr.textIcon}),n("bitbox02Wizard.initialize.tip")]})}),r.jsx(ue,{fullWidth:!0,children:r.jsxs(Er,{children:[r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("button.create")}),r.jsx("p",{children:n("bitbox02Wizard.stepUninitialized.create")}),r.jsxs(nu,{children:[r.jsx(_,{primary:!0,onClick:()=>t("create-wallet",{withMnemonic:!1,with12Words:!1}),children:n("seed.create")}),r.jsx(_,{onClick:()=>i(!0),style:{border:"none",marginTop:"var(--space-half)",height:"1.5rem"},transparent:!0,children:r.jsx("small",{children:n("bitbox02Wizard.advanced.button")})})]})]}),r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("button.restore")}),r.jsx("p",{children:n("bitbox02Wizard.stepUninitialized.restore")}),r.jsxs(nu,{children:[r.jsx(_,{onClick:()=>t("restore-sdcard"),secondary:!0,children:n("bitbox02Wizard.stepUninitialized.restoreMicroSD")}),r.jsx(_,{onClick:()=>t("restore-mnemonic"),style:{marginBottom:"40px"},secondary:!0,children:n("bitbox02Wizard.stepUninitialized.restoreMnemonic")})]})]})]})})]})},Wxe="_wizardCheckbox_1shxj_2",Aa={wizardCheckbox:Wxe},Uxe=({onContinue:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),[d,p]=x.useState(!1),h=()=>{a(!1),o(!1),l(!1),u(!1),p(!1),t()};return r.jsx("form",{children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("backup.create.title"),children:r.jsx("p",{children:e("bitbox02Wizard.stepBackup.createBackup")})}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepBackup.beforeProceed")}),r.jsx(Ve,{onChange:()=>a(!n),className:Aa.wizardCheckbox,id:"agreement1",checked:n,label:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx(Ve,{onChange:()=>o(!i),className:Aa.wizardCheckbox,id:"agreement2",checked:i,label:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx(Ve,{onChange:()=>l(!s),className:Aa.wizardCheckbox,id:"agreement3",checked:s,label:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx(Ve,{onChange:()=>u(!c),className:Aa.wizardCheckbox,id:"agreement4",checked:c,label:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx(Ve,{onChange:()=>p(!d),className:Aa.wizardCheckbox,id:"agreement5",checked:d,label:e("bitbox02Wizard.backup.userConfirmation5")})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:h,disabled:!(n&&i&&s&&c&&d),children:e("button.continue")})})]})})},qxe=({onContinue:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),[d,p]=x.useState(!1),h=()=>{a(!1),o(!1),l(!1),u(!1),p(!1),t()};return r.jsx("form",{children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("backup.create.title"),children:r.jsx("p",{children:e("bitbox02Wizard.stepBackup.createBackupMnemonic")})}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepBackup.beforeProceed")}),r.jsx(Ve,{onChange:()=>a(!n),className:Aa.wizardCheckbox,id:"agreement1",checked:n,label:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx(Ve,{onChange:()=>o(!i),className:Aa.wizardCheckbox,id:"agreement2",checked:i,label:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx(Ve,{onChange:()=>l(!s),className:Aa.wizardCheckbox,id:"agreement3",checked:s,label:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx(Ve,{onChange:()=>u(!c),className:Aa.wizardCheckbox,id:"agreement4",checked:c,label:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx(Ve,{onChange:()=>p(!d),className:Aa.wizardCheckbox,id:"agreement5",checked:d,label:e("bitbox02Wizard.backup.userConfirmation5mnemonic")})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:h,disabled:!(n&&i&&s&&c&&d),children:e("button.continue")})})]})})},Hxe="_wizardLabel_11dvu_2",Kxe={wizardLabel:Hxe},IS=({onDeviceName:t,onBack:e,missingSDCardWarning:n})=>{const{t:a}=A(),[i,o]=x.useState(""),s=l=>{const u=l.target.value;o(u)};return r.jsx("form",{onSubmit:l=>{l.preventDefault(),t(i)},children:r.jsxs(re,{fullscreen:!0,textCenter:!0,withBottomBar:!0,verticallyCentered:!0,width:"600px",children:[r.jsxs(be,{title:a("bitbox02Wizard.stepCreate.title"),children:[r.jsx("p",{children:a("bitbox02Wizard.stepCreate.description")}),n&&r.jsx(an,{className:"m-bottom-half",type:"warning",children:r.jsx("span",{children:a("bitbox02Wizard.stepCreate.toastMicroSD")})})]}),r.jsx(ue,{minHeight:"90px",children:r.jsx(Ye,{autoFocus:!0,className:Kxe.wizardLabel,label:a("bitbox02Wizard.stepCreate.nameLabel"),pattern:"^.{0,63}$",onInput:s,placeholder:a("bitbox02Wizard.stepCreate.namePlaceholder"),value:i,id:"deviceName"})}),r.jsxs(Fe,{children:[r.jsx(_,{disabled:!i,primary:!0,type:"submit",children:a("button.continue")}),r.jsx(_,{onClick:e,secondary:!0,type:"button",children:a("button.back")})]})]})})},Gxe=({deviceID:t,onDeviceName:e,onBack:n})=>{const[a,i]=x.useState();return x.useEffect(()=>{Zd(t).then(i)},[t]),r.jsx(IS,{onDeviceName:e,onBack:n,missingSDCardWarning:a===!1})},Qxe=({errorText:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"600px",children:[r.jsxs(be,{title:e("bitbox02Wizard.stepPassword.title"),children:[t&&r.jsx(an,{type:"warning",children:r.jsx("span",{children:t})}),r.jsx("p",{children:e("bitbox02Wizard.stepPassword.useControls")})]}),r.jsx(ue,{children:r.jsx(hv,{})})]})},Yxe=({forBackup:t})=>{const{i18n:e,t:n}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:n("backup.restore.confirmTitle"),children:t?r.jsxs("div",{children:[r.jsx(ia,{tagName:"div",markup:n("backup.restore.selectedBackup",{backupName:t.name,createdDateTime:Z1(t.date,e.language)})}),r.jsxs("p",{className:"text-small text-ellipsis",children:["ID:"," ",t.id]})]}):null}),r.jsxs(ue,{children:[r.jsx("p",{children:n("bitbox02Wizard.stepPassword.useControls")}),r.jsx(hv,{})]})]})},$S=({children:t,deviceID:e})=>{const{t:n}=A(),[a,i]=x.useState(),o=x.useCallback(async()=>{try{const s=await Zd(e);if(i(s),s)return;const l=await sre(e);if(i(l.success),l.success)return;l.message&&J(l.message,{asDialog:!1})}catch(s){console.error(s)}},[e]);return x.useEffect(()=>{o()},[o]),a?t:a===void 0?r.jsx(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,children:r.jsx(be,{title:"Checking microSD card"})}):r.jsx(Ir,{title:n("bitbox02Wizard.stepInsertSD.insertSDcardTitle"),text:n("bitbox02Wizard.stepInsertSD.insertSDCard")})},Zxe=({backupType:t,backupSeedLength:e,deviceID:n,isSeeded:a,onAbort:i})=>{const{t:o}=A(),s=ro(),[l,c]=x.useState("intro"),[u,d]=x.useState(""),p=async()=>{c("setPassword");try{const g=await fre(n,e);if(!g.success){g.code===su?(J(o("bitbox02Wizard.stepPassword.e104"),{asDialog:!1,callback:()=>i()}),d("")):(d(o("bitbox02Wizard.noPasswordMatch")),s.current&&p());return}d(""),c("showDisclaimer")}catch(g){console.error(g)}},h=async g=>{c("setName");try{const v=await f1(n,g);if(!v.success){const y=v.code===su?o("bitbox02Settings.deviceName.error_104"):v.message;J(y||o("genericError"),{asDialog:!1,callback:()=>i()});return}p()}catch(v){console.error(v)}},m=async()=>{c("createBackup");try{const g=await b1(n,t==="mnemonic"?"recovery-words":"sdcard");g.success||(g.code===su?J(o("bitbox02Wizard.createBackupAborted"),{asDialog:!1,callback:()=>i()}):J(o("bitbox02Wizard.createBackupFailed"),{asDialog:!1}))}catch(g){console.error(g)}};if(a){if(l==="showDisclaimer")switch(t){case"sdcard":return r.jsx($S,{deviceID:n,children:r.jsx(Uxe,{onContinue:m})});case"mnemonic":return r.jsx(qxe,{onContinue:m})}if(l==="createBackup")switch(t){case"sdcard":return r.jsx(Ir,{title:o("bitbox02Interact.confirmDate"),text:o("bitbox02Interact.confirmDateText")});case"mnemonic":return r.jsx(Ir,{title:o("bitbox02Interact.confirmWords",{amount:e===16?"12":"24"}),text:o("bitbox02Interact.confirmWordsText")})}}switch(l){case"intro":switch(t){case"sdcard":return r.jsx(Gxe,{deviceID:n,onDeviceName:h,onBack:i},"set-devicename-sdcard");case"mnemonic":return r.jsx(IS,{onDeviceName:h,onBack:i},"set-devicename-mnemonic")}break;case"setName":return r.jsx(Ir,{title:o("bitbox02Interact.confirmName")});case"setPassword":return r.jsx(Qxe,{errorText:u});default:return null}},Jxe=({deviceID:t,onSelectBackup:e,onRestoreBackup:n,onBack:a})=>{const{t:i}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:i("backup.restore.confirmTitle")}),r.jsx(ue,{children:r.jsx(aS,{deviceID:t,showRestore:!0,showRadio:!0,onSelectBackup:e,onRestoreBackup:n,children:r.jsx(_,{secondary:!0,onClick:a,children:i("button.back")})})})]})},Xxe=({deviceID:t,onAbort:e})=>{const[n,a]=x.useState("restore"),[i,o]=x.useState(),s=c=>{a("setPassword"),o(c)},l=c=>{if(!c){e();return}o(void 0)};switch(n){case"restore":return r.jsx($S,{deviceID:t,children:r.jsx(Jxe,{deviceID:t,onSelectBackup:s,onRestoreBackup:l,onBack:e})});case"setPassword":return r.jsx(Yxe,{forBackup:i})}},eye=({deviceID:t,onAbort:e})=>{const{t:n}=A();return x.useEffect(()=>{pre(t).then(a=>{if(!a.success){const i=a.code===su?n("bitbox02Wizard.restoreFromMnemonic.e104"):n("bitbox02Wizard.restoreFromMnemonic.failed");J(i,{asDialog:!1,callback:()=>e()})}}).catch(console.error)},[t,e,n]),r.jsx(Ir,{title:n("bitbox02Interact.followInstructionsMnemonicTitle"),text:n("bitbox02Interact.followInstructionsMnemonic")})},tye=({backupType:t,onContinue:e})=>{const{t:n}=A();return r.jsxs(re,{fitContent:!0,fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,children:[r.jsx(be,{title:n("bitbox02Wizard.success.title"),children:r.jsx("p",{children:n("bitbox02Wizard.stepCreateSuccess.success")})}),r.jsx(ue,{withIcon:"success",children:r.jsx("p",{children:n(t==="sdcard"?"bitbox02Wizard.stepCreateSuccess.removeMicroSD":"bitbox02Wizard.stepCreateSuccess.storeMnemonic")})}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:e,children:n("success.getstarted")})})]})},nye=({onContinue:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("bitbox02Wizard.stepBackupSuccess.title")}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepCreateSuccess.removeMicroSD")}),r.jsx("p",{className:"m-bottom-default",children:e("bitbox02Wizard.stepBackupSuccess.fundsSafe")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation5")})]})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:t,children:e("success.getstarted")})})]})},aye=({onContinue:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("bitbox02Wizard.stepBackupSuccess.title")}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{className:"m-bottom-default",children:e("bitbox02Wizard.stepBackupSuccess.fundsSafe")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation5mnemonic")})]})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:t,children:e("success.getstarted")})})]})};class iye extends x.Component{constructor(e){super(e),this.unsubscribeList=[],this.updateAttestationCheck=()=>{v1(this.props.deviceID).then(n=>{this.setState({attestation:n})})},this.handleGetStarted=()=>{this.setState({status:""}),le("/account-summary",!0)},this.onStatusChanged=()=>{const{showWizard:n,unlockOnly:a}=this.state;Km(this.props.deviceID).then(i=>{!n&&["connected","unpaired","pairingFailed","uninitialized","seeded"].includes(i)&&this.setState({showWizard:!0}),a&&["uninitialized","seeded"].includes(i)&&this.setState({unlockOnly:!1}),this.setState({status:i})})},this.handleAbort=()=>{this.setState({appStatus:"",createOptions:void 0})},this.state={attestation:null,status:"",appStatus:"",unlockOnly:!0,showWizard:!1,waitDialog:void 0}}componentDidMount(){const{deviceID:e}=this.props;g1(e).then(n=>{this.setState({versionInfo:n})}),this.updateAttestationCheck(),this.onStatusChanged(),this.unsubscribeList=[X1(e,this.onStatusChanged),kde(e,this.updateAttestationCheck)]}componentWillUnmount(){Nl(this.unsubscribeList)}render(){const{deviceID:e}=this.props,{attestation:n,createOptions:a,versionInfo:i,status:o,appStatus:s,unlockOnly:l,showWizard:c,waitDialog:u}=this.state;return o===""||!i?null:o==="require_firmware_upgrade"?r.jsx(Txe,{deviceID:e,versionInfo:i}):o==="require_app_upgrade"?r.jsx(Q1,{}):c?u?r.jsx(Ir,{title:u.title,text:u.text},"wait-view"):s===""&&o==="initialized"?null:r.jsxs(ln,{children:[o==="connected"?r.jsx($xe,{attestation:n},"unlock"):null,(o==="unpaired"||o==="pairingFailed")&&r.jsx(Mxe,{deviceID:e,attestation:n,pairingFailed:o==="pairingFailed"},"pairing"),!l&&s===""&&r.jsx(Vxe,{versionInfo:i,onSelectSetup:(d,p)=>this.setState({appStatus:d,createOptions:p})},"choose-setup"),!l&&s==="create-wallet"&&r.jsx(Zxe,{backupType:a!=null&&a.withMnemonic?"mnemonic":"sdcard",backupSeedLength:a!=null&&a.with12Words?16:32,deviceID:e,isSeeded:o==="seeded",onAbort:this.handleAbort}),!l&&s==="restore-sdcard"&&o!=="initialized"&&r.jsx(Xxe,{deviceID:e,onAbort:this.handleAbort},"restore-sdcard"),!l&&s==="restore-mnemonic"&&o!=="initialized"&&r.jsx(eye,{deviceID:e,onAbort:this.handleAbort},"restore-mnemonic"),s==="create-wallet"&&o==="initialized"&&r.jsx(tye,{backupType:a!=null&&a.withMnemonic?"mnemonic":"sdcard",onContinue:this.handleGetStarted},"success"),s==="restore-sdcard"&&o==="initialized"&&r.jsx(nye,{onContinue:this.handleGetStarted},"backup-success"),s==="restore-mnemonic"&&o==="initialized"&&r.jsx(aye,{onContinue:this.handleGetStarted},"backup-mnemonic-success")]}):null}}const oye=t=>is("newTxs",e=>{e.type==="backend"&&t(e.meta)});class rye extends x.Component{constructor(){super(...arguments),this.state={connected:!0}}componentDidMount(){this.unsubscribe=vQ(e=>this.setState({connected:e}))}componentWillUnmount(){this.unsubscribe()}render(){const{children:e}=this.props,{connected:n}=this.state;return n?r.jsx("div",{children:e}):r.jsx("div",{className:"app",style:{padding:40},children:"The WebSocket closed. Please restart the backend and reload this page."})}}const Cs=()=>H("aopp/cancel"),sye=()=>H("aopp/approve"),lye=t=>H("aopp/choose-account",{accountCode:t});function cye(t,e=!0,n=!1){return function(i){var o;return o=class extends x.Component{constructor(){super(...arguments),this.subscriptions={},this.component=n?i:u1(t,e)(i)}determineEndpoints(){return typeof t=="function"?t(this.props):t}unsubscribeEndpoint(s){const l=this.subscriptions[s];l!==void 0&&(l(),delete this.subscriptions[s],(n||!e)&&this.setState({[s]:void 0}))}subscribeEndpoint(s,l){this.unsubscribeEndpoint(s),this.subscriptions[s]=Vj(l,c=>{switch(c.action){case"replace":this.setState({[s]:c.object});break;case"reload":Z(c.subject).then(u=>this.setState({[s]:u}));break}})}subscribeEndpoints(){const s=this.endpoints,l=this.determineEndpoints();for(const c of Object.keys(l))(s===void 0||l[c]!==s[c])&&this.subscribeEndpoint(c,l[c]);if(s!==void 0)for(const c of Object.keys(s))l[c]===void 0&&(this.unsubscribeEndpoint(c),this.setState({[c]:void 0}));this.endpoints=l}componentDidMount(){this.subscribeEndpoints()}componentDidUpdate(){this.subscribeEndpoints()}componentWillUnmount(){for(const s of Object.keys(this.subscriptions))this.unsubscribeEndpoint(s)}render(){const s=this.props,l=this.state,c=this.component;return r.jsx(c,{...l,...s})}},o.displayName=`Subscribe(${wg(i)})`,o}}const _y=Array.isArray,Ty=Object.keys,uye=Object.prototype.hasOwnProperty;function od(t,e){if(Object.is(t,e))return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){let n=_y(t),a=_y(e),i,o,s;if(n&&a){if(o=t.length,o!==e.length)return!1;for(i=0;i{const[a,i]=x.useState(!1),{t:o}=A(),s=async()=>{i(!0),await jg(t,n),i(!1)};return r.jsxs("div",{className:"flex flex-column",children:[r.jsx(_,{secondary:!0,onClick:s,children:o("receive.verifyBitBox02")}),a?r.jsx(xn,{title:o("receive.verifyBitBox02"),children:e}):null]})},pye="_logo_rqpye_1",hye="_prominent_rqpye_9",mye="_hostname_rqpye_22",fye="_capitalized_rqpye_31",lr={logo:pye,prominent:hye,hostname:mye,capitalized:fye},Ey=""+new URL("aoppgroup-25e94626.svg",import.meta.url).href,gye=""+new URL("bitcoin_suisse-02965c7f.png",import.meta.url).href,vye=""+new URL("bittr-51e1906b.png",import.meta.url).href,bye=""+new URL("bity-43d7e9e8.png",import.meta.url).href,kye=""+new URL("pocketbitcoin-dd57e1e7.svg",import.meta.url).href,Py={"demo.aopp.group":Ey,"testing.aopp.group":Ey,"bitcoinsuisse.com":gye,"bity.com":bye,"getbittr.com":vye,"pocketbitcoin.com":kye},Ny={"demo.aopp.group":"AOPP.group","testing.aopp.group":"AOPP.group"},Rc=({fallback:t,hostname:e,prominent:n,withLogoText:a})=>{if(!(e in Py))return t||r.jsx("p",{className:lr.hostname,children:e});const o=n?`${lr.logo} ${lr.prominent}`:lr.logo;return r.jsxs("div",{children:[r.jsx("img",{className:o,src:Py[e],alt:e}),r.jsx("p",{className:`${lr.hostname} ${lr.capitalized}`,children:e in Ny?Ny[e]:e}),a?r.jsx("p",{children:a}):null]})},xye="_banner_yebbr_1",yye="_smallIcon_yebbr_10",wye="_successText_yebbr_15",jye="_proceed_yebbr_28",Bye="_message_yebbr_33",dr={banner:xye,smallIcon:yye,successText:wye,proceed:jye,message:Bye},Sye=({children:t})=>r.jsx("div",{className:dr.banner,children:t}),Di=t=>new URL(t).host;class zye extends x.Component{constructor(){super(...arguments),this.state={accountCode:""},this.chooseAccount=e=>{this.state.accountCode&&lye(this.state.accountCode),e.preventDefault()}}componentDidMount(){this.setAccountCodeDefault()}componentDidUpdate(e){var n;this.props.aopp!==void 0&&this.props.aopp.state==="choosing-account"&&(((n=e.aopp)==null?void 0:n.state)!=="choosing-account"||!od(this.props.aopp.accounts,e.aopp.accounts))&&this.setAccountCodeDefault()}setAccountCodeDefault(){const{aopp:e}=this.props;e===void 0||e.state!=="choosing-account"||e.accounts.length&&this.setState({accountCode:e.accounts[0].code})}render(){const{t:e,aopp:n}=this.props,{accountCode:a}=this.state;if(!n)return null;switch(n.state){case"error":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.errorTitle"),children:r.jsx("p",{children:Di(n.callback)})}),r.jsx(ue,{children:r.jsxs(nn,{type:"error",children:[r.jsx(bg,{className:dr.smallIcon}),e(`error.${n.errorCode}`,{host:Di(n.callback)})]})}),r.jsx(Fe,{children:r.jsx(_,{danger:!0,onClick:Cs,children:e("button.dismiss")})})]});case"inactive":return null;case"user-approval":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),withAppLogo:!0}),r.jsx(ue,{children:r.jsx(Rc,{prominent:!0,hostname:Di(n.callback),fallback:r.jsx(Qe,{tagName:"p",markup:e("aopp.addressRequest",{host:`${Di(n.callback)}`})}),withLogoText:e("aopp.addressRequestWithLogo")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:sye,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})]})]});case"awaiting-keystore":return r.jsx(Sye,{children:e("aopp.banner")});case"choosing-account":{const i=n.accounts.map(o=>({text:o.name,value:o.code}));return r.jsx("form",{onSubmit:this.chooseAccount,children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsx(ue,{children:r.jsx(Ru,{label:e("buy.info.selectLabel"),options:i,value:a,onChange:o=>{var s;return this.setState({accountCode:(s=o.target)==null?void 0:s.value})},id:"account"})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,type:"submit",children:e("button.next")}),r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})]})]})})}case"syncing":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsx(ue,{children:r.jsx("p",{children:e("aopp.syncing")})}),r.jsx(Fe,{children:r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})})]});case"signing":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{small:!0,title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsxs(ue,{children:[r.jsx("p",{children:e("aopp.signing")}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelAddress")}),r.jsx(Ia,{alignLeft:!0,flexibleHeight:!0,value:n.address})]}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelMessage")}),r.jsx("div",{className:dr.message,children:n.message})]}),r.jsx(ns,{})]})]});case"success":return r.jsxs(re,{fitContent:!0,fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsxs(ue,{withIcon:"success",children:[r.jsx("p",{className:dr.successText,children:e("aopp.success.title")}),r.jsx("p",{className:dr.proceed,children:e("aopp.success.message",{host:Di(n.callback)})}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelAddress")}),r.jsx(Ia,{alignLeft:!0,flexibleHeight:!0,value:n.address})]}),r.jsxs(Ps,{style:{marginBottom:0},children:[r.jsx(Mi,{children:e("aopp.labelMessage")}),r.jsx("div",{className:dr.message,children:n.message})]})]}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:Cs,children:e("button.done")}),r.jsx(dye,{accountCode:n.accountCode,address:n.address,addressID:n.addressID})]})]})}}}const Cye=cye({aopp:"aopp"},!1,!1)(zye),Dye=kn()(Cye),Aye=t=>Z(`banners/${t}`),_ye=(t,e)=>Gn(`banners/${t}`,e),Tye="_link_4u2en_1",Eye={link:Tye},Ly=({msgKey:t})=>{const{i18n:e,t:n}=A(),[a,i]=x.useState();if(x.useEffect(()=>{Aye(t).then(i),_ye(t,i)},[t]),!a||!e.options.fallbackLng)return null;const{message:o,link:s}=a;return r.jsxs(an,{dismissible:a.dismissible?`banner-${t}-${a.id}`:"",type:a.type?a.type:"warning",children:[o[e.resolvedLanguage]||o[e.options.fallbackLng[0]]," ",s&&r.jsx(pt,{href:s.href,className:Eye.link,children:s.text||n("clickHere")})]})},Pye="_bitboxContainer_1nxo8_1",Nye="_failed_1nxo8_18",Lye="_bitboxImage_1nxo8_24",Iye="_cancelIcon_1nxo8_29",$ye="_text_1nxo8_35",Ai={bitboxContainer:Pye,failed:Nye,bitboxImage:Lye,cancelIcon:Iye,text:$ye};function Mye(){const{t}=A(),{isDarkMode:e}=Kn(),[n,a]=Aj(CQ());if(!n)return null;switch(n.typ){case"connect":return r.jsxs(qe,{title:t("welcome.connect"),medium:!0,open:!0,children:[r.jsxs("p",{className:Ai.text,children:[n.keystoreName===""?t("connectKeystore.promptNoName"):t("connectKeystore.promptWithName",{name:n.keystoreName}),"."]}),r.jsxs("div",{className:Ai.bitboxContainer,children:[r.jsx(ns,{}),r.jsx(iB,{})]}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:()=>DQ(),children:t("dialog.cancel")})})]});case"error":return r.jsxs(qe,{title:t("welcome.connect"),medium:!0,open:!0,children:[r.jsx("p",{className:Ai.text,children:n.errorCode==="wrongKeystore"?r.jsxs(r.Fragment,{children:[t("error.wrongKeystore"),r.jsx("br",{}),r.jsx("br",{}),t("error.wrongKeystore2")]}):n.errorMessage}),r.jsxs("div",{className:`${Ai.bitboxContainer} ${Ai.failed}`,children:[r.jsx(bg,{className:Ai.cancelIcon}),e?r.jsx(gj,{className:Ai.bitboxImage}):r.jsx(fj,{className:Ai.bitboxImage})]}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:()=>a(),children:t("dialog.cancel")})})]});default:return null}}const Oye=()=>Z("using-mobile-data"),Rye=t=>Gn("using-mobile-data",t),Fye=()=>{const{t}=A(),e=zd(Oye,Rye);return e===void 0?null:r.jsx(an,{dismissible:"mobile-data-warning",type:"warning",hidden:!e,children:t("mobile.usingMobileDataWarning")})},Vye="_link_13in7_1",Wye={link:Vye},Uye=()=>{const{t}=A(),e=me(Ej);return e?r.jsxs(an,{dismissible:`update-${e.version}`,type:"info",children:[t("app.upgrade",{current:e.current,version:e.version}),e.description," ",!ci()&&r.jsx(Rce,{className:Wye.link})]}):null},qye=t=>H("set-dark-theme",t),Iy=()=>Z("detect-dark-theme"),Hye=({children:t})=>{const[e,n]=x.useState(!1),a=Ml("(prefers-color-scheme: dark)"),i=x.useCallback(()=>{qye(e),e?(document.body.classList.add("dark-mode"),document.body.classList.remove("light-mode")):(document.body.classList.remove("dark-mode"),document.body.classList.add("light-mode"))},[e]);x.useEffect(()=>{Bt().then(s=>{if(s.frontend&&"darkmode"in s.frontend){n(s.frontend.darkmode);return}ci()?n(a):Iy().then(n)}).catch(console.error)},[a]),x.useEffect(()=>{i()},[e,i]);const o=s=>{n(s),Bt().then(async l=>{let c;if(ci()?c=a:c=await Iy(),c===s){const{darkmode:u,...d}=l.frontend;at({frontend:{...d,darkmode:void 0}})}else at({frontend:{...l.frontend,darkmode:s}})})};return r.jsx(gg.Provider,{value:{isDarkMode:e,toggleDarkmode:o},children:t})},Kye=({children:t})=>{const[e,n]=x.useState(!1),[a,i]=x.useState(!1),[o,s]=x.useState(!1),l=()=>{at({frontend:{guideShown:!e}}),n(u=>!u)},c=()=>{at({frontend:{hideAmounts:!o}}),s(u=>!u)};return x.useEffect(()=>{Bt().then(({frontend:u})=>{u?(u.guideShown!==void 0&&n(u.guideShown),u.hideAmounts!==void 0&&s(u.hideAmounts)):n(!0)})},[]),r.jsx(mi.Provider,{value:{toggleGuide:l,guideShown:e,guideExists:a,hideAmounts:o,setGuideShown:n,setGuideExists:i,toggleHideAmounts:c},children:t})},Gye="_auth_xdrxz_1",Qye={auth:Gye},Yye=()=>{const{t}=A(),[e,n]=x.useState(!1),[a,i]=x.useState(!1),o=x.useRef(!1),s=()=>{i(!0),AQ(o.current)};return x.useEffect(()=>{const l=Wj(c=>{switch(c.typ){case"auth-forced":o.current=!0;break;case"auth-required":n(u=>(u||s(),!0));break;case"auth-err":i(!1);break;case"auth-canceled":o.current?(n(!1),o.current=!1):i(!1);break;case"auth-ok":n(!1),o.current=!1}});return n(!0),s(),l},[]),e?r.jsx("div",{className:Qye.auth,children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,children:[r.jsx(be,{small:!0,title:t("auth.title")}),r.jsx(ue,{children:void 0,minHeight:"0"}),r.jsx(Fe,{children:r.jsx(_,{autoFocus:!0,primary:!0,hidden:o.current,disabled:a,onClick:s,children:t("auth.authButton")})})]})}):null},Zye=({children:t})=>{const{t:e}=A(),[n,a]=x.useState(),[i,o]=x.useState(!1),s=me(Bt),l=s&&s.frontend&&s.frontend.hasUsedWalletConnect,c=async()=>{try{const{Core:d}=await qm(()=>import("./index.es-439fa429.js").then(g=>g.l),[],import.meta.url),{Web3Wallet:p}=await qm(()=>import("./index.es-df41910f.js"),[],import.meta.url),h=new d({projectId:"89733df088867a1a1bf644013addd6cc"}),m=await p.init({core:h,metadata:{name:"BitBox",description:"BitBox02 hardware wallet",url:"https://bitbox.swiss",icons:["https://bitbox.swiss/assets/images/logos/dbb-logo.png"]}});a(m),o(!0)}catch(d){console.log("Error for initializing",d)}};x.useEffect(()=>{!n&&!i&&l&&c()},[i,n,l]);const u=async d=>{if(n)try{const{uri:p}=d,h=Kfe(p);if(Gfe(h,n))throw new Error(e("walletConnect.useNewUri"));await(n==null?void 0:n.core.pairing.pair({uri:p})),at({frontend:{hasUsedWalletConnect:!0}})}catch(p){throw console.error(`Wallet connect attempt to pair error ${p}`),p.message.includes("Pairing already exists")?new Error(e("walletConnect.useNewUri")):new Error(p.message)}};return r.jsx(Fl.Provider,{value:{initializeWeb3Wallet:c,isWalletInitialized:i,web3wallet:n,pair:u},children:t})},Jye=({children:t})=>{const[e,n]=x.useState("USD"),[a,i]=x.useState(["USD","EUR","CHF"]),[o,s]=x.useState("default");x.useEffect(()=>{l()},[]);const l=async()=>{var g,v,y;const m=await Bt();(g=m.backend)!=null&&g.mainFiat&&n(m.backend.mainFiat),(v=m.backend)!=null&&v.fiatList&&((y=m.backend)!=null&&y.btcUnit)&&(i(m.backend.fiatList),s(m.backend.btcUnit))},c=()=>{const m=a.indexOf(e),g=a[(m+1)%a.length];n(g)},u=m=>{a.includes(m)||d(m),n(m),at({backend:{mainFiat:m}})},d=async m=>{const g=[...a,m];await at({backend:{fiatList:g}}),h(g)},p=async m=>{const g=a.filter(v=>!od(v,m));await at({backend:{fiatList:g}}),h(g)},h=m=>{i(m),wQ()};return r.jsx(Zo.Provider,{value:{defaultCurrency:e,activeCurrencies:a,btcUnit:o,rotateFiat:c,selectFiat:d,updateDefaultFiat:u,updateRatesConfig:l,unselectFiat:p},children:t})},mv=async t=>{const e=await Yj(t);if(!e.success)return console.log("Failed in fetching account name and code"),{accountName:"",accountCode:""};const{code:n,name:a}=e;return{accountName:a,accountCode:n}};async function Xye(t,e){switch(t){case qa.ETH_SIGN:case qa.PERSONAL_SIGN:await ewe(e,t);break;case qa.ETH_SIGN_TYPED_DATA:case qa.ETH_SIGN_TYPED_DATA_V3:case qa.ETH_SIGN_TYPED_DATA_V4:await twe(e);break;case qa.ETH_SIGN_TRANSACTION:case qa.ETH_SEND_TRANSACTION:await nwe(e,t);break;default:console.log(`${t} is unsupported`)}}async function ewe({params:t,launchSignDialog:e,topic:n,id:a,currentSession:i},o){const s=o===qa.PERSONAL_SIGN,l=t.request.params,c=s?l[1]:l[0],u=s?l[0]:l[1],d=Qfe(u);if(d===null){J(Oo("walletConnect.signingRequest.decodeError"));return}const{accountName:p,accountCode:h}=await mv(c);e({topic:n,id:a,apiCaller:async()=>{const g=await aY(h,u);return g.success?{response:{id:a,jsonrpc:"2.0",result:g.signature},success:!0}:{success:!1,error:g}},dialogContent:{signingData:d,currentSession:i,accountName:p,accountAddress:c,chain:t.chainId,method:Oo("walletConnect.signingRequest.method.signMessage")}})}async function twe({params:t,launchSignDialog:e,topic:n,id:a,currentSession:i}){const o=t.request.params,s=o[0],l=o[1];let c;const{accountName:u,accountCode:d}=await mv(s);try{c=JSON.parse(l)}catch(h){console.error("Failed to parse JSON",h),J(Oo("walletConnect.signingRequest.dataParsingError"));return}e({topic:n,id:a,apiCaller:async()=>{var g;const h=(g=c==null?void 0:c.domain)!=null&&g.chainId?Number(c.domain.chainId):Number(t.chainId.replace(/^eip155:/,"")),m=await iY(d,h,l);return m.success?{response:{id:a,jsonrpc:"2.0",result:m.signature},success:!0}:{success:!1,error:m}},dialogContent:{signingData:JSON.stringify(c,null,2),currentSession:i,accountName:u,accountAddress:s,chain:t.chainId,method:Oo("walletConnect.signingRequest.method.signTypedData")}})}async function nwe(t,e){const n=e===qa.ETH_SEND_TRANSACTION,{params:a,launchSignDialog:i,topic:o,id:s,currentSession:l}=t,c=a.request.params,u=c[0].from,d=c[0],{accountName:p,accountCode:h}=await mv(u),m=async()=>{const v=Number(a.chainId.replace(/^eip155:/,"")),y=await oY(h,n,v,d);return y.success?{response:{id:s,jsonrpc:"2.0",result:n?y.txHash:y.rawTx},success:!0}:{success:!1,error:y}},g=Oo(n?"walletConnect.signingRequest.method.sendTransaction":"walletConnect.signingRequest.method.signTransaction");i({topic:o,id:s,apiCaller:m,dialogContent:{signingData:JSON.stringify(d),currentSession:l,accountName:p,accountAddress:u,chain:a.chainId,method:g}})}const awe="_accountName_gsa52_1",iwe="_accountNameAndAddress_gsa52_6",owe="_address_gsa52_10",rwe="_animationAndTextContainer_gsa52_16",swe="_chainContainer_gsa52_28",lwe="_itemText_gsa52_33",cwe="_dappIcon_gsa52_42",uwe="_item_gsa52_33",dwe="_label_gsa52_62",pwe="_listContainer_gsa52_68",hwe="_outerContainer_gsa52_77",mwe="_successIcon_gsa52_84",fwe="_textarea_gsa52_89",gwe="_titleContainer_gsa52_97",Ie={accountName:awe,accountNameAndAddress:iwe,address:owe,animationAndTextContainer:rwe,chainContainer:swe,itemText:lwe,dappIcon:cwe,item:uwe,label:dwe,listContainer:pwe,outerContainer:hwe,successIcon:mwe,textarea:fwe,titleContainer:gwe},vwe=()=>{const{t}=A();return r.jsxs("div",{className:Ie.animationAndTextContainer,children:[r.jsx("p",{children:t("confirmOnDevice")}),r.jsx(ns,{})]})},bwe=()=>{const{t}=A();return r.jsxs("div",{className:Ie.animationAndTextContainer,children:[r.jsx(vg,{className:Ie.successIcon}),r.jsx("p",{children:t("walletConnect.signingRequest.successfullySigned")})]})},kwe=({open:t,onAccept:e,onReject:n,content:a,stage:i})=>{const{t:o}=A(),{isDarkMode:s}=Kn(),{accountAddress:l,accountName:c,signingData:u,chain:d,method:p,currentSession:h}=a,m=d in Ns?Ns[d].name:d,g=d in Ns?Ns[d].icon:null,v=h.peer.metadata,y=20,b=u.toString().split(` +•Ethereum (Goerli)`})):J(p.messsage),await d()}finally{s(!1)}},d=async()=>{s(!0),await(l==null?void 0:l.rejectSession({id:t.id,reason:to("USER_REJECTED_METHODS")})),a(),s(!1)};return r.jsxs("div",{className:Oi.container,children:[r.jsxs("p",{className:Oi.connectionRequest,children:[c("walletConnect.pairingRequest.title"),":"]}),r.jsx(txe,{pairingMetadata:e}),r.jsxs("p",{className:Oi.receiveAddress,children:[c("accountInfo.address"),": ",n]}),r.jsxs("div",{className:Oi.buttonsContainer,children:[r.jsx(_,{disabled:o,secondary:!0,onClick:d,children:c("walletConnect.pairingRequest.reject")}),r.jsx(_,{disabled:o,primary:!0,onClick:u,children:c("walletConnect.pairingRequest.approve")})]})]})},axe="_container_1h5wj_1",ixe="_successIcon_1h5wj_7",oxe="_successText_1h5wj_12",$h={container:axe,successIcon:ixe,successText:oxe},rxe=({accountCode:t})=>{const{t:e}=A();return r.jsxs("div",{className:$h.container,children:[r.jsx(vg,{className:$h.successIcon}),r.jsx("p",{className:$h.successText,children:e("walletConnect.pairingSuccess")}),r.jsx(_,{primary:!0,onClick:()=>le(`/account/${t}/wallet-connect/dashboard`),children:e("button.done")})]})},sxe="_contentContainer_1iwqe_1",lxe={contentContainer:sxe},cxe=({code:t,accounts:e})=>{var z;const[n,a]=x.useState(""),[i,o]=x.useState("connect"),[s,l]=x.useState(!1),{web3wallet:c,isWalletInitialized:u,pair:d}=x.useContext(Fl),[p,h]=x.useState(),{t:m}=A(),g=me(Ed(t)),v=x.useCallback(S=>{a(""),l(!1),o("incoming_pairing"),h(S)},[]);x.useEffect(()=>{if(u)return c==null||c.on("session_proposal",v),()=>{c==null||c.off("session_proposal",v)}},[v,u,c]);const y=()=>{o("success"),a(""),h(void 0)},b=()=>{o("connect"),a(""),h(void 0)},k=async S=>{if(S){l(!0);try{await d({uri:S})}catch(f){f.message.includes("Missing or invalid. pair()")?J(`${m("walletConnect.connect.invalidPairingUri")}: ${S}`):J(f.message),a(""),l(!1)}}};if(!g||!u)return null;const w=((z=e&&e.find(S=>S.code===t))==null?void 0:z.name)||"",j=g[0].addresses[0].address;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsx(re,{verticallyCentered:!0,fullscreen:!1,children:r.jsxs(ue,{children:[r.jsx(Xfe,{accountName:w,receiveAddress:j}),r.jsxs("div",{className:lxe.contentContainer,children:[i==="connect"&&r.jsx(rge,{connectLoading:s,code:t,uri:n,onInputChange:a,onSubmit:async S=>{await k(S)}}),i==="incoming_pairing"&&p&&r.jsx(nxe,{currentProposal:p,pairingMetadata:p.params.proposer.metadata,receiveAddress:j,onApprove:y,onReject:b}),i==="success"&&r.jsx(rxe,{accountCode:t})]})]})})]})}),r.jsx(oS,{})]})},uxe="_container_1jggi_1",dxe="_textDataContainer_1jggi_16",pxe="_receiveAddress_1jggi_21",hxe="_accountName_1jggi_26",mxe="_dAppMetadataAndIconContainer_1jggi_33",fxe="_dAppNameAndUrlContainer_1jggi_48",gxe="_dappUrl_1jggi_54",vxe="_accountNameAndWalletContainer_1jggi_58",bxe="_buttonAndIconContainer_1jggi_63",kxe="_buttonDisconnect_1jggi_69",na={container:uxe,textDataContainer:dxe,receiveAddress:pxe,accountName:hxe,dAppMetadataAndIconContainer:mxe,dAppNameAndUrlContainer:fxe,dappUrl:gxe,accountNameAndWalletContainer:vxe,buttonAndIconContainer:bxe,buttonDisconnect:kxe},xxe=({accountName:t,receiveAddress:e,dAppName:n,dAppUrl:a,iconUrl:i})=>r.jsxs("div",{className:na.textDataContainer,children:[r.jsxs("div",{className:na.accountNameAndWalletContainer,children:[r.jsx("p",{className:na.accountName,children:t}),r.jsx("p",{className:`${na.receiveAddress} hide-on-small`,children:e})]}),r.jsx("p",{className:`${na.receiveAddress} show-on-small`,children:e}),r.jsxs("div",{className:na.dAppMetadataAndIconContainer,children:[r.jsxs("div",{className:na.dAppNameAndUrlContainer,children:[r.jsx("p",{children:n}),r.jsx("p",{className:na.dappUrl,children:a})]}),i&&r.jsx("img",{className:"hide-on-small",src:i,alt:"dApp icon"})]})]}),yxe=({metadata:t,receiveAddress:e,onDisconnect:n})=>{const{t:a}=A(),{name:i,url:o,icons:s}=t,l=me(()=>Yj(e),[]),c=ip(e),u=l&&l.success?l.name:"";return r.jsxs("div",{className:na.container,children:[r.jsx(xxe,{accountName:u,receiveAddress:c,dAppName:i,dAppUrl:o,iconUrl:s[0]}),r.jsxs("div",{className:na.buttonAndIconContainer,children:[r.jsx("img",{className:"show-on-small",src:s[0],alt:"logo"}),r.jsx(_,{className:na.buttonDisconnect,onClick:n,danger:!0,children:a("settings.electrum.remove-server")})]})]})},wxe="_buttonNewConnection_13so1_1",jxe="_headerContainer_13so1_5",Bxe="_receiveAddress_13so1_16",Sxe="_noConnectedSessions_13so1_22",zxe="_separator_13so1_30",Cxe="_sessionCardsContainer_13so1_37",Dxe="_allSessionsHeading_13so1_42",bo={buttonNewConnection:wxe,headerContainer:jxe,receiveAddress:Bxe,noConnectedSessions:Sxe,separator:zxe,sessionCardsContainer:Cxe,allSessionsHeading:Dxe},Axe=({code:t,accounts:e})=>{var g;const{t:n}=A(),{web3wallet:a,isWalletInitialized:i,initializeWeb3Wallet:o}=x.useContext(Fl),[s,l]=x.useState(),c=me(Ed(t)),u=x.useCallback(()=>{const v=Object.values((a==null?void 0:a.getActiveSessions())||[]);l(v)},[a]);x.useEffect(()=>{if(!a){o();return}u()},[o,u,a]),x.useEffect(()=>{if(i)return a==null||a.on("session_delete",u),()=>{a==null||a.off("session_delete",u)}},[i,u,a]);const d=async v=>{await(a==null?void 0:a.disconnectSession({topic:v,reason:to("USER_DISCONNECTED")})),u()};if(!c||!i)return null;const p=ip(c[0].addresses[0].address),h=((g=e&&e.find(v=>v.code===t))==null?void 0:g.name)||"",m=s&&s.length>0;return r.jsxs(Ma,{children:[r.jsx(Oa,{children:r.jsxs(ln,{children:[r.jsx(an,{type:"info",dismissible:"walletConnectDisclaimerDismissed",children:n("walletConnect.dashboard.disclaimer")}),r.jsx(xe,{title:r.jsx("h2",{children:n("walletConnect.walletConnect")})}),r.jsx(re,{children:r.jsxs(ue,{children:[r.jsxs("div",{className:bo.headerContainer,children:[r.jsxs("div",{children:[r.jsx("p",{children:h}),r.jsx("p",{className:bo.receiveAddress,children:p})]}),r.jsx(_,{className:bo.buttonNewConnection,onClick:()=>le(`/account/${t}/wallet-connect/connect`),primary:!0,children:n("walletConnect.dashboard.newConnection")})]}),r.jsx("hr",{className:bo.separator}),m&&r.jsxs("div",{className:bo.sessionCardsContainer,children:[r.jsx("p",{className:bo.allSessionsHeading,children:n("walletConnect.dashboard.allSessions")}),s.map(v=>r.jsx(yxe,{receiveAddress:Hfe(v.namespaces.eip155.accounts[0]),metadata:v.peer.metadata,onDisconnect:()=>d(v.topic)},v.topic))]}),!m&&r.jsx("p",{className:bo.noConnectedSessions,children:n("walletConnect.dashboard.noConnectedSessions")})]})})]})}),r.jsx(oS,{})]})},it=({children:t})=>{const e=hD();return Mn.cloneElement(t,e)},_xe=({devices:t,deviceIDs:e,devicesKey:n,accounts:a,activeAccounts:i})=>{const o=a.length>0,s=r.jsx(Wx,{deviceID:null,devices:t,hasAccounts:o},n("device-switch-default")),l=r.jsx(it,{children:r.jsx(Wx,{deviceID:null,devices:t,hasAccounts:o},n("device-switch"))}),c=r.jsx(it,{children:r.jsx(sfe,{code:"",devices:t,accounts:i})}),u=r.jsx(it,{children:r.jsx(Oce,{devices:t,accounts:i})}),d=r.jsx(it,{children:r.jsx(ore,{code:"",devices:t,deviceIDs:e,accounts:i})}),p=r.jsx(it,{children:r.jsx(Iie,{code:"",devices:t,deviceIDs:e,accounts:i})}),h=r.jsx(it,{children:r.jsx(die,{code:"",accounts:i})}),m=r.jsx(it,{children:r.jsx(Axe,{accounts:i,code:""})}),g=r.jsx(it,{children:r.jsx(cxe,{code:"",accounts:i})}),v=r.jsx(it,{children:r.jsx(fne,{code:"",accounts:i})}),y=r.jsx(it,{children:r.jsx(wJ,{code:"",accounts:i})}),b=r.jsx(it,{children:r.jsx(aae,{code:"",accounts:i})}),k=r.jsx(it,{children:r.jsx(Fae,{code:""})}),w=r.jsx(it,{children:r.jsx(Ahe,{deviceID:""})}),j=r.jsx(it,{children:r.jsx(Npe,{devices:t},n("manage-backups"))}),z=r.jsx(it,{children:r.jsx(Cfe,{deviceIDs:e,hasAccounts:o})}),S=r.jsx(it,{children:r.jsx(Sfe,{deviceIDs:e,hasAccounts:o})}),f=r.jsx(it,{children:r.jsx(Afe,{deviceIDs:e,hasAccounts:o})}),B=r.jsx(it,{children:r.jsx(Ufe,{deviceIDs:e,hasAccounts:o})}),D=r.jsx(it,{children:r.jsx(lfe,{activeAccounts:i})});return r.jsx(wD,{children:r.jsxs(Se,{path:"/",children:[r.jsx(Se,{index:!0,element:s}),r.jsxs(Se,{path:"account/:code",children:[r.jsx(Se,{index:!0,element:c}),r.jsx(Se,{path:"send",element:d}),r.jsx(Se,{path:"receive",element:p}),r.jsx(Se,{path:"info",element:h}),r.jsx(Se,{path:"wallet-connect/connect",element:g}),r.jsx(Se,{path:"wallet-connect/dashboard",element:m})]}),r.jsx(Se,{path:"add-account",element:r.jsx(KZ,{})}),r.jsx(Se,{path:"account-summary",element:u}),r.jsxs(Se,{path:"buy",children:[r.jsxs(Se,{path:"info",element:v,children:[r.jsx(Se,{index:!0,element:v}),r.jsx(Se,{path:":code",element:v})]}),r.jsx(Se,{path:"moonpay/:code",element:y}),r.jsx(Se,{path:"pocket/:code",element:k}),r.jsx(Se,{path:"exchange/:code",element:b})]}),r.jsx(Se,{path:"manage-backups/:deviceID",element:j}),r.jsx(Se,{path:"accounts/select-receive",element:D}),r.jsxs(Se,{path:"settings",children:[r.jsx(Se,{index:!0,element:z}),r.jsx(Se,{path:"appearance",element:S}),r.jsx(Se,{path:"about",element:f}),r.jsx(Se,{path:"device-settings/:deviceID",element:l}),r.jsx(Se,{path:"device-settings/passphrase/:deviceID",element:w}),r.jsx(Se,{path:"advanced-settings",element:B}),r.jsx(Se,{path:"electrum",element:r.jsx(Che,{})}),r.jsx(Se,{path:"manage-accounts",element:r.jsx(che,{accounts:a,deviceIDs:e,hasAccounts:o},"manage-accounts")})]})]})})},Txe=({deviceID:t,versionInfo:e})=>{const{t:n}=A();return r.jsxs(ln,{children:[r.jsx(xe,{}),r.jsxs(re,{fullscreen:!0,verticallyCentered:!0,textCenter:!0,width:"840px",withBottomBar:!0,children:[r.jsx(be,{title:n("upgradeFirmware.label")}),r.jsx(Fe,{children:r.jsx("div",{children:r.jsx(nS,{asButton:!0,deviceID:t,versionInfo:e})})})]})]})},Exe=""+new URL("password-gestures.webm",import.meta.url).href,Pxe="_passwordGesturesWrapper_mvckk_1",Nxe="_passwordGestures_mvckk_1",Ay={passwordGesturesWrapper:Pxe,passwordGestures:Nxe};function Lxe(t){return t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2}function Ixe(t){t&&!Lxe(t)&&(t.muted=!0,t.play())}const hv=()=>{let t=x.createRef();return x.useEffect(()=>{t.current&&Ixe(t.current)},[t]),r.jsx("div",{className:Ay.passwordGesturesWrapper,children:r.jsx("video",{autoPlay:!0,ref:t,className:Ay.passwordGestures,loop:!0,muted:!0,height:"338",width:"600",children:r.jsx("source",{src:Exe,type:"video/webm"})})})},$xe=({attestation:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"690px",children:[r.jsx(be,{title:e("button.unlock"),children:r.jsx("p",{children:e("bitbox02Wizard.stepConnected.unlock")})}),r.jsx(ue,{fullWidth:!0,children:t===!1?r.jsx(an,{children:e("bitbox02Wizard.attestationFailed")}):r.jsx(hv,{})})]})},Mxe=({attestation:t,deviceID:e,pairingFailed:n})=>{const{t:a}=A(),[i,o]=x.useState(""),[s,l]=x.useState(!1),c=x.useCallback(()=>{hre(e).then(({hash:u,deviceVerified:d})=>{o(u),l(d)})},[e]);return x.useEffect(c,[e,c]),x.useEffect(()=>bde(e,c),[e,c]),r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"670px",children:[r.jsx(be,{title:a("bitbox02Wizard.pairing.title"),children:n?r.jsx(an,{type:"warning",children:a("bitbox02Wizard.pairing.failed")},"pairingFailed"):r.jsx("p",{children:a(s?"bitbox02Wizard.pairing.paired":"bitbox02Wizard.pairing.unpaired")})}),r.jsxs(ue,{fullWidth:!0,children:[t===!1&&!n&&r.jsx(an,{type:"warning",className:"m-bottom-half",children:a("bitbox02Wizard.attestationFailed")}),!n&&r.jsxs(r.Fragment,{children:[r.jsx("pre",{children:i}),!s&&r.jsx(ns,{})]})]}),r.jsx(Fe,{children:!n&&s&&r.jsx(_,{primary:!0,onClick:()=>mre(e,!0),children:a("button.continue")})})]})},Ir=({title:t,text:e})=>{const{t:n}=A();return r.jsxs(re,{fullscreen:!0,width:"720px",verticallyCentered:!0,textCenter:!0,children:[r.jsx(be,{title:t,children:r.jsx("p",{children:e||n("bitbox02Interact.followInstructions")})}),r.jsx(ue,{children:r.jsx(ns,{})})]})},Oxe="_toggle_1lt1t_1",Rxe="_toggleLabel_1lt1t_7",Fxe="_textIcon_1lt1t_14",sr={toggle:Oxe,toggleLabel:Rxe,textIcon:Fxe},Vxe=({onSelectSetup:t,versionInfo:e})=>{const{t:n}=A(),[a,i]=x.useState(!1),[o,s]=x.useState(!1),[l,c]=x.useState(!1);if(a){const{canBackupWithRecoveryWords:u,canCreate12Words:d}=e;return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"1100px",children:[r.jsx(be,{small:!0,title:n("seed.create")}),r.jsx(ue,{fullWidth:!0,children:r.jsx(Er,{col:"1",textAlign:"left",children:r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("bitbox02Wizard.advanced.title")}),r.jsxs("div",{children:[r.jsxs("div",{className:sr.toggle,children:[r.jsxs(Mi,{htmlFor:"with-mnemonic",className:sr.toggleLabel,style:{...!u&&{color:"var(--color-disabled)"}},children:[r.jsx("strong",{children:n("bitbox02Wizard.advanced.skipSDCardLabel")})," ",!u&&r.jsxs("span",{style:{color:"var(--color-warning)"},children:[r.jsx("br",{}),"(",n("bitbox02Wizard.advanced.outOfDate"),")"]})]}),r.jsx(Dn,{checked:o,disabled:!u,id:"with-mnemonic",onChange:()=>s(!o)})]}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsx("small",{children:n("bitbox02Wizard.advanced.skipSDCardText")})})]}),r.jsxs("div",{children:[r.jsxs("div",{className:sr.toggle,children:[r.jsxs(Mi,{htmlFor:"with-12words",className:sr.toggleLabel,style:{...!d&&{color:"var(--color-disabled)"}},children:[r.jsx("strong",{children:n("bitbox02Wizard.advanced.seed12WordLabel")})," ",!d&&r.jsxs("span",{style:{color:"var(--color-warning)"},children:[r.jsx("br",{}),"(",n("bitbox02Wizard.advanced.outOfDate"),")"]})]}),r.jsx(Dn,{checked:l,disabled:!d,id:"with-12words",onChange:()=>c(!l)})]}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsx("small",{children:n("bitbox02Wizard.advanced.seed12WordText")})}),r.jsx("p",{className:"m-top-quarter m-bottom-default",children:r.jsxs("small",{children:[r.jsx($m,{className:sr.textIcon}),n("bitbox02Wizard.advanced.seed12WordInfo")]})})]}),r.jsxs(nu,{inline:!0,children:[r.jsx(_,{onClick:()=>t("create-wallet",{withMnemonic:o,with12Words:l}),primary:!0,children:n("seed.create")}),r.jsx(_,{onClick:()=>{s(!1),c(!1),i(!1)},secondary:!0,children:n("button.back")})]})]})})})]})}return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"1100px",children:[r.jsx(be,{small:!0,title:n("bitbox02Wizard.stepUninitialized.title"),children:r.jsxs("p",{children:[r.jsx($m,{className:sr.textIcon}),n("bitbox02Wizard.initialize.tip")]})}),r.jsx(ue,{fullWidth:!0,children:r.jsxs(Er,{children:[r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("button.create")}),r.jsx("p",{children:n("bitbox02Wizard.stepUninitialized.create")}),r.jsxs(nu,{children:[r.jsx(_,{primary:!0,onClick:()=>t("create-wallet",{withMnemonic:!1,with12Words:!1}),children:n("seed.create")}),r.jsx(_,{onClick:()=>i(!0),style:{border:"none",marginTop:"var(--space-half)",height:"1.5rem"},transparent:!0,children:r.jsx("small",{children:n("bitbox02Wizard.advanced.button")})})]})]}),r.jsxs(Ka,{asCard:!0,children:[r.jsx("h3",{className:"title",children:n("button.restore")}),r.jsx("p",{children:n("bitbox02Wizard.stepUninitialized.restore")}),r.jsxs(nu,{children:[r.jsx(_,{onClick:()=>t("restore-sdcard"),secondary:!0,children:n("bitbox02Wizard.stepUninitialized.restoreMicroSD")}),r.jsx(_,{onClick:()=>t("restore-mnemonic"),style:{marginBottom:"40px"},secondary:!0,children:n("bitbox02Wizard.stepUninitialized.restoreMnemonic")})]})]})]})})]})},Wxe="_wizardCheckbox_1shxj_2",Aa={wizardCheckbox:Wxe},Uxe=({onContinue:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),[d,p]=x.useState(!1),h=()=>{a(!1),o(!1),l(!1),u(!1),p(!1),t()};return r.jsx("form",{children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("backup.create.title"),children:r.jsx("p",{children:e("bitbox02Wizard.stepBackup.createBackup")})}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepBackup.beforeProceed")}),r.jsx(Ve,{onChange:()=>a(!n),className:Aa.wizardCheckbox,id:"agreement1",checked:n,label:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx(Ve,{onChange:()=>o(!i),className:Aa.wizardCheckbox,id:"agreement2",checked:i,label:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx(Ve,{onChange:()=>l(!s),className:Aa.wizardCheckbox,id:"agreement3",checked:s,label:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx(Ve,{onChange:()=>u(!c),className:Aa.wizardCheckbox,id:"agreement4",checked:c,label:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx(Ve,{onChange:()=>p(!d),className:Aa.wizardCheckbox,id:"agreement5",checked:d,label:e("bitbox02Wizard.backup.userConfirmation5")})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:h,disabled:!(n&&i&&s&&c&&d),children:e("button.continue")})})]})})},qxe=({onContinue:t})=>{const{t:e}=A(),[n,a]=x.useState(!1),[i,o]=x.useState(!1),[s,l]=x.useState(!1),[c,u]=x.useState(!1),[d,p]=x.useState(!1),h=()=>{a(!1),o(!1),l(!1),u(!1),p(!1),t()};return r.jsx("form",{children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("backup.create.title"),children:r.jsx("p",{children:e("bitbox02Wizard.stepBackup.createBackupMnemonic")})}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepBackup.beforeProceed")}),r.jsx(Ve,{onChange:()=>a(!n),className:Aa.wizardCheckbox,id:"agreement1",checked:n,label:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx(Ve,{onChange:()=>o(!i),className:Aa.wizardCheckbox,id:"agreement2",checked:i,label:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx(Ve,{onChange:()=>l(!s),className:Aa.wizardCheckbox,id:"agreement3",checked:s,label:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx(Ve,{onChange:()=>u(!c),className:Aa.wizardCheckbox,id:"agreement4",checked:c,label:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx(Ve,{onChange:()=>p(!d),className:Aa.wizardCheckbox,id:"agreement5",checked:d,label:e("bitbox02Wizard.backup.userConfirmation5mnemonic")})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:h,disabled:!(n&&i&&s&&c&&d),children:e("button.continue")})})]})})},Hxe="_wizardLabel_11dvu_2",Kxe={wizardLabel:Hxe},IS=({onDeviceName:t,onBack:e,missingSDCardWarning:n})=>{const{t:a}=A(),[i,o]=x.useState(""),s=l=>{const u=l.target.value;o(u)};return r.jsx("form",{onSubmit:l=>{l.preventDefault(),t(i)},children:r.jsxs(re,{fullscreen:!0,textCenter:!0,withBottomBar:!0,verticallyCentered:!0,width:"600px",children:[r.jsxs(be,{title:a("bitbox02Wizard.stepCreate.title"),children:[r.jsx("p",{children:a("bitbox02Wizard.stepCreate.description")}),n&&r.jsx(an,{className:"m-bottom-half",type:"warning",children:r.jsx("span",{children:a("bitbox02Wizard.stepCreate.toastMicroSD")})})]}),r.jsx(ue,{minHeight:"90px",children:r.jsx(Ye,{autoFocus:!0,className:Kxe.wizardLabel,label:a("bitbox02Wizard.stepCreate.nameLabel"),pattern:"^.{0,63}$",onInput:s,placeholder:a("bitbox02Wizard.stepCreate.namePlaceholder"),value:i,id:"deviceName"})}),r.jsxs(Fe,{children:[r.jsx(_,{disabled:!i,primary:!0,type:"submit",children:a("button.continue")}),r.jsx(_,{onClick:e,secondary:!0,type:"button",children:a("button.back")})]})]})})},Gxe=({deviceID:t,onDeviceName:e,onBack:n})=>{const[a,i]=x.useState();return x.useEffect(()=>{Zd(t).then(i)},[t]),r.jsx(IS,{onDeviceName:e,onBack:n,missingSDCardWarning:a===!1})},Qxe=({errorText:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"600px",children:[r.jsxs(be,{title:e("bitbox02Wizard.stepPassword.title"),children:[t&&r.jsx(an,{type:"warning",children:r.jsx("span",{children:t})}),r.jsx("p",{children:e("bitbox02Wizard.stepPassword.useControls")})]}),r.jsx(ue,{children:r.jsx(hv,{})})]})},Yxe=({forBackup:t})=>{const{i18n:e,t:n}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:n("backup.restore.confirmTitle"),children:t?r.jsxs("div",{children:[r.jsx(ia,{tagName:"div",markup:n("backup.restore.selectedBackup",{backupName:t.name,createdDateTime:Z1(t.date,e.language)})}),r.jsxs("p",{className:"text-small text-ellipsis",children:["ID:"," ",t.id]})]}):null}),r.jsxs(ue,{children:[r.jsx("p",{children:n("bitbox02Wizard.stepPassword.useControls")}),r.jsx(hv,{})]})]})},$S=({children:t,deviceID:e})=>{const{t:n}=A(),[a,i]=x.useState(),o=x.useCallback(async()=>{try{const s=await Zd(e);if(i(s),s)return;const l=await sre(e);if(i(l.success),l.success)return;l.message&&J(l.message,{asDialog:!1})}catch(s){console.error(s)}},[e]);return x.useEffect(()=>{o()},[o]),a?t:a===void 0?r.jsx(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,children:r.jsx(be,{title:"Checking microSD card"})}):r.jsx(Ir,{title:n("bitbox02Wizard.stepInsertSD.insertSDcardTitle"),text:n("bitbox02Wizard.stepInsertSD.insertSDCard")})},Zxe=({backupType:t,backupSeedLength:e,deviceID:n,isSeeded:a,onAbort:i})=>{const{t:o}=A(),s=ro(),[l,c]=x.useState("intro"),[u,d]=x.useState(""),p=async()=>{c("setPassword");try{const g=await fre(n,e);if(!g.success){g.code===su?(J(o("bitbox02Wizard.stepPassword.e104"),{asDialog:!1,callback:()=>i()}),d("")):(d(o("bitbox02Wizard.noPasswordMatch")),s.current&&p());return}d(""),c("showDisclaimer")}catch(g){console.error(g)}},h=async g=>{c("setName");try{const v=await f1(n,g);if(!v.success){const y=v.code===su?o("bitbox02Settings.deviceName.error_104"):v.message;J(y||o("genericError"),{asDialog:!1,callback:()=>i()});return}p()}catch(v){console.error(v)}},m=async()=>{c("createBackup");try{const g=await b1(n,t==="mnemonic"?"recovery-words":"sdcard");g.success||(g.code===su?J(o("bitbox02Wizard.createBackupAborted"),{asDialog:!1,callback:()=>i()}):J(o("bitbox02Wizard.createBackupFailed"),{asDialog:!1}))}catch(g){console.error(g)}};if(a){if(l==="showDisclaimer")switch(t){case"sdcard":return r.jsx($S,{deviceID:n,children:r.jsx(Uxe,{onContinue:m})});case"mnemonic":return r.jsx(qxe,{onContinue:m})}if(l==="createBackup")switch(t){case"sdcard":return r.jsx(Ir,{title:o("bitbox02Interact.confirmDate"),text:o("bitbox02Interact.confirmDateText")});case"mnemonic":return r.jsx(Ir,{title:o("bitbox02Interact.confirmWords",{amount:e===16?"12":"24"}),text:o("bitbox02Interact.confirmWordsText")})}}switch(l){case"intro":switch(t){case"sdcard":return r.jsx(Gxe,{deviceID:n,onDeviceName:h,onBack:i},"set-devicename-sdcard");case"mnemonic":return r.jsx(IS,{onDeviceName:h,onBack:i},"set-devicename-mnemonic")}break;case"setName":return r.jsx(Ir,{title:o("bitbox02Interact.confirmName")});case"setPassword":return r.jsx(Qxe,{errorText:u});default:return null}},Jxe=({deviceID:t,onSelectBackup:e,onRestoreBackup:n,onBack:a})=>{const{t:i}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:i("backup.restore.confirmTitle")}),r.jsx(ue,{children:r.jsx(aS,{deviceID:t,showRestore:!0,showRadio:!0,onSelectBackup:e,onRestoreBackup:n,children:r.jsx(_,{secondary:!0,onClick:a,children:i("button.back")})})})]})},Xxe=({deviceID:t,onAbort:e})=>{const[n,a]=x.useState("restore"),[i,o]=x.useState(),s=c=>{a("setPassword"),o(c)},l=c=>{if(!c){e();return}o(void 0)};switch(n){case"restore":return r.jsx($S,{deviceID:t,children:r.jsx(Jxe,{deviceID:t,onSelectBackup:s,onRestoreBackup:l,onBack:e})});case"setPassword":return r.jsx(Yxe,{forBackup:i})}},eye=({deviceID:t,onAbort:e})=>{const{t:n}=A();return x.useEffect(()=>{pre(t).then(a=>{if(!a.success){const i=a.code===su?n("bitbox02Wizard.restoreFromMnemonic.e104"):n("bitbox02Wizard.restoreFromMnemonic.failed");J(i,{asDialog:!1,callback:()=>e()})}}).catch(console.error)},[t,e,n]),r.jsx(Ir,{title:n("bitbox02Interact.followInstructionsMnemonicTitle"),text:n("bitbox02Interact.followInstructionsMnemonic")})},tye=({backupType:t,onContinue:e})=>{const{t:n}=A();return r.jsxs(re,{fitContent:!0,fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,children:[r.jsx(be,{title:n("bitbox02Wizard.success.title"),children:r.jsx("p",{children:n("bitbox02Wizard.stepCreateSuccess.success")})}),r.jsx(ue,{withIcon:"success",children:r.jsx("p",{children:n(t==="sdcard"?"bitbox02Wizard.stepCreateSuccess.removeMicroSD":"bitbox02Wizard.stepCreateSuccess.storeMnemonic")})}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:e,children:n("success.getstarted")})})]})},nye=({onContinue:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("bitbox02Wizard.stepBackupSuccess.title")}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{children:e("bitbox02Wizard.stepCreateSuccess.removeMicroSD")}),r.jsx("p",{className:"m-bottom-default",children:e("bitbox02Wizard.stepBackupSuccess.fundsSafe")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation5")})]})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:t,children:e("success.getstarted")})})]})},aye=({onContinue:t})=>{const{t:e}=A();return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,width:"700px",children:[r.jsx(be,{title:e("bitbox02Wizard.stepBackupSuccess.title")}),r.jsxs(ue,{textAlign:"left",children:[r.jsx("p",{className:"m-bottom-default",children:e("bitbox02Wizard.stepBackupSuccess.fundsSafe")}),r.jsxs("ul",{children:[r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation1")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation2")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation3")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation4")}),r.jsx("li",{children:e("bitbox02Wizard.backup.userConfirmation5mnemonic")})]})]}),r.jsx(Fe,{children:r.jsx(_,{primary:!0,onClick:t,children:e("success.getstarted")})})]})};class iye extends x.Component{constructor(e){super(e),this.unsubscribeList=[],this.updateAttestationCheck=()=>{v1(this.props.deviceID).then(n=>{this.setState({attestation:n})})},this.handleGetStarted=()=>{this.setState({status:""}),le("/account-summary",!0)},this.onStatusChanged=()=>{const{showWizard:n,unlockOnly:a}=this.state;Km(this.props.deviceID).then(i=>{!n&&["connected","unpaired","pairingFailed","uninitialized","seeded"].includes(i)&&this.setState({showWizard:!0}),a&&["uninitialized","seeded"].includes(i)&&this.setState({unlockOnly:!1}),this.setState({status:i})})},this.handleAbort=()=>{this.setState({appStatus:"",createOptions:void 0})},this.state={attestation:null,status:"",appStatus:"",unlockOnly:!0,showWizard:!1,waitDialog:void 0}}componentDidMount(){const{deviceID:e}=this.props;g1(e).then(n=>{this.setState({versionInfo:n})}),this.updateAttestationCheck(),this.onStatusChanged(),this.unsubscribeList=[X1(e,this.onStatusChanged),kde(e,this.updateAttestationCheck)]}componentWillUnmount(){Nl(this.unsubscribeList)}render(){const{deviceID:e}=this.props,{attestation:n,createOptions:a,versionInfo:i,status:o,appStatus:s,unlockOnly:l,showWizard:c,waitDialog:u}=this.state;return o===""||!i?null:o==="require_firmware_upgrade"?r.jsx(Txe,{deviceID:e,versionInfo:i}):o==="require_app_upgrade"?r.jsx(Q1,{}):c?u?r.jsx(Ir,{title:u.title,text:u.text},"wait-view"):s===""&&o==="initialized"?null:r.jsxs(ln,{children:[o==="connected"?r.jsx($xe,{attestation:n},"unlock"):null,(o==="unpaired"||o==="pairingFailed")&&r.jsx(Mxe,{deviceID:e,attestation:n,pairingFailed:o==="pairingFailed"},"pairing"),!l&&s===""&&r.jsx(Vxe,{versionInfo:i,onSelectSetup:(d,p)=>this.setState({appStatus:d,createOptions:p})},"choose-setup"),!l&&s==="create-wallet"&&r.jsx(Zxe,{backupType:a!=null&&a.withMnemonic?"mnemonic":"sdcard",backupSeedLength:a!=null&&a.with12Words?16:32,deviceID:e,isSeeded:o==="seeded",onAbort:this.handleAbort}),!l&&s==="restore-sdcard"&&o!=="initialized"&&r.jsx(Xxe,{deviceID:e,onAbort:this.handleAbort},"restore-sdcard"),!l&&s==="restore-mnemonic"&&o!=="initialized"&&r.jsx(eye,{deviceID:e,onAbort:this.handleAbort},"restore-mnemonic"),s==="create-wallet"&&o==="initialized"&&r.jsx(tye,{backupType:a!=null&&a.withMnemonic?"mnemonic":"sdcard",onContinue:this.handleGetStarted},"success"),s==="restore-sdcard"&&o==="initialized"&&r.jsx(nye,{onContinue:this.handleGetStarted},"backup-success"),s==="restore-mnemonic"&&o==="initialized"&&r.jsx(aye,{onContinue:this.handleGetStarted},"backup-mnemonic-success")]}):null}}const oye=t=>is("newTxs",e=>{e.type==="backend"&&t(e.meta)});class rye extends x.Component{constructor(){super(...arguments),this.state={connected:!0}}componentDidMount(){this.unsubscribe=vQ(e=>this.setState({connected:e}))}componentWillUnmount(){this.unsubscribe()}render(){const{children:e}=this.props,{connected:n}=this.state;return n?r.jsx("div",{children:e}):r.jsx("div",{className:"app",style:{padding:40},children:"The WebSocket closed. Please restart the backend and reload this page."})}}const Cs=()=>H("aopp/cancel"),sye=()=>H("aopp/approve"),lye=t=>H("aopp/choose-account",{accountCode:t});function cye(t,e=!0,n=!1){return function(i){var o;return o=class extends x.Component{constructor(){super(...arguments),this.subscriptions={},this.component=n?i:u1(t,e)(i)}determineEndpoints(){return typeof t=="function"?t(this.props):t}unsubscribeEndpoint(s){const l=this.subscriptions[s];l!==void 0&&(l(),delete this.subscriptions[s],(n||!e)&&this.setState({[s]:void 0}))}subscribeEndpoint(s,l){this.unsubscribeEndpoint(s),this.subscriptions[s]=Vj(l,c=>{switch(c.action){case"replace":this.setState({[s]:c.object});break;case"reload":Z(c.subject).then(u=>this.setState({[s]:u}));break}})}subscribeEndpoints(){const s=this.endpoints,l=this.determineEndpoints();for(const c of Object.keys(l))(s===void 0||l[c]!==s[c])&&this.subscribeEndpoint(c,l[c]);if(s!==void 0)for(const c of Object.keys(s))l[c]===void 0&&(this.unsubscribeEndpoint(c),this.setState({[c]:void 0}));this.endpoints=l}componentDidMount(){this.subscribeEndpoints()}componentDidUpdate(){this.subscribeEndpoints()}componentWillUnmount(){for(const s of Object.keys(this.subscriptions))this.unsubscribeEndpoint(s)}render(){const s=this.props,l=this.state,c=this.component;return r.jsx(c,{...l,...s})}},o.displayName=`Subscribe(${wg(i)})`,o}}const _y=Array.isArray,Ty=Object.keys,uye=Object.prototype.hasOwnProperty;function od(t,e){if(Object.is(t,e))return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){let n=_y(t),a=_y(e),i,o,s;if(n&&a){if(o=t.length,o!==e.length)return!1;for(i=0;i{const[a,i]=x.useState(!1),{t:o}=A(),s=async()=>{i(!0),await jg(t,n),i(!1)};return r.jsxs("div",{className:"flex flex-column",children:[r.jsx(_,{secondary:!0,onClick:s,children:o("receive.verifyBitBox02")}),a?r.jsx(xn,{title:o("receive.verifyBitBox02"),children:e}):null]})},pye="_logo_rqpye_1",hye="_prominent_rqpye_9",mye="_hostname_rqpye_22",fye="_capitalized_rqpye_31",lr={logo:pye,prominent:hye,hostname:mye,capitalized:fye},Ey=""+new URL("aoppgroup.svg",import.meta.url).href,gye=""+new URL("bitcoin_suisse.png",import.meta.url).href,vye=""+new URL("bittr.png",import.meta.url).href,bye=""+new URL("bity.png",import.meta.url).href,kye=""+new URL("pocketbitcoin.svg",import.meta.url).href,Py={"demo.aopp.group":Ey,"testing.aopp.group":Ey,"bitcoinsuisse.com":gye,"bity.com":bye,"getbittr.com":vye,"pocketbitcoin.com":kye},Ny={"demo.aopp.group":"AOPP.group","testing.aopp.group":"AOPP.group"},Rc=({fallback:t,hostname:e,prominent:n,withLogoText:a})=>{if(!(e in Py))return t||r.jsx("p",{className:lr.hostname,children:e});const o=n?`${lr.logo} ${lr.prominent}`:lr.logo;return r.jsxs("div",{children:[r.jsx("img",{className:o,src:Py[e],alt:e}),r.jsx("p",{className:`${lr.hostname} ${lr.capitalized}`,children:e in Ny?Ny[e]:e}),a?r.jsx("p",{children:a}):null]})},xye="_banner_yebbr_1",yye="_smallIcon_yebbr_10",wye="_successText_yebbr_15",jye="_proceed_yebbr_28",Bye="_message_yebbr_33",dr={banner:xye,smallIcon:yye,successText:wye,proceed:jye,message:Bye},Sye=({children:t})=>r.jsx("div",{className:dr.banner,children:t}),Di=t=>new URL(t).host;class zye extends x.Component{constructor(){super(...arguments),this.state={accountCode:""},this.chooseAccount=e=>{this.state.accountCode&&lye(this.state.accountCode),e.preventDefault()}}componentDidMount(){this.setAccountCodeDefault()}componentDidUpdate(e){var n;this.props.aopp!==void 0&&this.props.aopp.state==="choosing-account"&&(((n=e.aopp)==null?void 0:n.state)!=="choosing-account"||!od(this.props.aopp.accounts,e.aopp.accounts))&&this.setAccountCodeDefault()}setAccountCodeDefault(){const{aopp:e}=this.props;e===void 0||e.state!=="choosing-account"||e.accounts.length&&this.setState({accountCode:e.accounts[0].code})}render(){const{t:e,aopp:n}=this.props,{accountCode:a}=this.state;if(!n)return null;switch(n.state){case"error":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.errorTitle"),children:r.jsx("p",{children:Di(n.callback)})}),r.jsx(ue,{children:r.jsxs(nn,{type:"error",children:[r.jsx(bg,{className:dr.smallIcon}),e(`error.${n.errorCode}`,{host:Di(n.callback)})]})}),r.jsx(Fe,{children:r.jsx(_,{danger:!0,onClick:Cs,children:e("button.dismiss")})})]});case"inactive":return null;case"user-approval":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),withAppLogo:!0}),r.jsx(ue,{children:r.jsx(Rc,{prominent:!0,hostname:Di(n.callback),fallback:r.jsx(Qe,{tagName:"p",markup:e("aopp.addressRequest",{host:`${Di(n.callback)}`})}),withLogoText:e("aopp.addressRequestWithLogo")})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:sye,children:e("button.continue")}),r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})]})]});case"awaiting-keystore":return r.jsx(Sye,{children:e("aopp.banner")});case"choosing-account":{const i=n.accounts.map(o=>({text:o.name,value:o.code}));return r.jsx("form",{onSubmit:this.chooseAccount,children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsx(ue,{children:r.jsx(Ru,{label:e("buy.info.selectLabel"),options:i,value:a,onChange:o=>{var s;return this.setState({accountCode:(s=o.target)==null?void 0:s.value})},id:"account"})}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,type:"submit",children:e("button.next")}),r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})]})]})})}case"syncing":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsx(ue,{children:r.jsx("p",{children:e("aopp.syncing")})}),r.jsx(Fe,{children:r.jsx(_,{secondary:!0,onClick:Cs,children:e("dialog.cancel")})})]});case"signing":return r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsx(be,{small:!0,title:e("aopp.title"),children:r.jsx(Rc,{hostname:Di(n.callback)})}),r.jsxs(ue,{children:[r.jsx("p",{children:e("aopp.signing")}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelAddress")}),r.jsx(Ia,{alignLeft:!0,flexibleHeight:!0,value:n.address})]}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelMessage")}),r.jsx("div",{className:dr.message,children:n.message})]}),r.jsx(ns,{})]})]});case"success":return r.jsxs(re,{fitContent:!0,fullscreen:!0,textCenter:!0,verticallyCentered:!0,width:"580px",children:[r.jsxs(ue,{withIcon:"success",children:[r.jsx("p",{className:dr.successText,children:e("aopp.success.title")}),r.jsx("p",{className:dr.proceed,children:e("aopp.success.message",{host:Di(n.callback)})}),r.jsxs(Ps,{children:[r.jsx(Mi,{children:e("aopp.labelAddress")}),r.jsx(Ia,{alignLeft:!0,flexibleHeight:!0,value:n.address})]}),r.jsxs(Ps,{style:{marginBottom:0},children:[r.jsx(Mi,{children:e("aopp.labelMessage")}),r.jsx("div",{className:dr.message,children:n.message})]})]}),r.jsxs(Fe,{children:[r.jsx(_,{primary:!0,onClick:Cs,children:e("button.done")}),r.jsx(dye,{accountCode:n.accountCode,address:n.address,addressID:n.addressID})]})]})}}}const Cye=cye({aopp:"aopp"},!1,!1)(zye),Dye=kn()(Cye),Aye=t=>Z(`banners/${t}`),_ye=(t,e)=>Gn(`banners/${t}`,e),Tye="_link_4u2en_1",Eye={link:Tye},Ly=({msgKey:t})=>{const{i18n:e,t:n}=A(),[a,i]=x.useState();if(x.useEffect(()=>{Aye(t).then(i),_ye(t,i)},[t]),!a||!e.options.fallbackLng)return null;const{message:o,link:s}=a;return r.jsxs(an,{dismissible:a.dismissible?`banner-${t}-${a.id}`:"",type:a.type?a.type:"warning",children:[o[e.resolvedLanguage]||o[e.options.fallbackLng[0]]," ",s&&r.jsx(pt,{href:s.href,className:Eye.link,children:s.text||n("clickHere")})]})},Pye="_bitboxContainer_1nxo8_1",Nye="_failed_1nxo8_18",Lye="_bitboxImage_1nxo8_24",Iye="_cancelIcon_1nxo8_29",$ye="_text_1nxo8_35",Ai={bitboxContainer:Pye,failed:Nye,bitboxImage:Lye,cancelIcon:Iye,text:$ye};function Mye(){const{t}=A(),{isDarkMode:e}=Kn(),[n,a]=Aj(CQ());if(!n)return null;switch(n.typ){case"connect":return r.jsxs(qe,{title:t("welcome.connect"),medium:!0,open:!0,children:[r.jsxs("p",{className:Ai.text,children:[n.keystoreName===""?t("connectKeystore.promptNoName"):t("connectKeystore.promptWithName",{name:n.keystoreName}),"."]}),r.jsxs("div",{className:Ai.bitboxContainer,children:[r.jsx(ns,{}),r.jsx(iB,{})]}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:()=>DQ(),children:t("dialog.cancel")})})]});case"error":return r.jsxs(qe,{title:t("welcome.connect"),medium:!0,open:!0,children:[r.jsx("p",{className:Ai.text,children:n.errorCode==="wrongKeystore"?r.jsxs(r.Fragment,{children:[t("error.wrongKeystore"),r.jsx("br",{}),r.jsx("br",{}),t("error.wrongKeystore2")]}):n.errorMessage}),r.jsxs("div",{className:`${Ai.bitboxContainer} ${Ai.failed}`,children:[r.jsx(bg,{className:Ai.cancelIcon}),e?r.jsx(gj,{className:Ai.bitboxImage}):r.jsx(fj,{className:Ai.bitboxImage})]}),r.jsx(Yt,{children:r.jsx(_,{secondary:!0,onClick:()=>a(),children:t("dialog.cancel")})})]});default:return null}}const Oye=()=>Z("using-mobile-data"),Rye=t=>Gn("using-mobile-data",t),Fye=()=>{const{t}=A(),e=zd(Oye,Rye);return e===void 0?null:r.jsx(an,{dismissible:"mobile-data-warning",type:"warning",hidden:!e,children:t("mobile.usingMobileDataWarning")})},Vye="_link_13in7_1",Wye={link:Vye},Uye=()=>{const{t}=A(),e=me(Ej);return e?r.jsxs(an,{dismissible:`update-${e.version}`,type:"info",children:[t("app.upgrade",{current:e.current,version:e.version}),e.description," ",!ci()&&r.jsx(Rce,{className:Wye.link})]}):null},qye=t=>H("set-dark-theme",t),Iy=()=>Z("detect-dark-theme"),Hye=({children:t})=>{const[e,n]=x.useState(!1),a=Ml("(prefers-color-scheme: dark)"),i=x.useCallback(()=>{qye(e),e?(document.body.classList.add("dark-mode"),document.body.classList.remove("light-mode")):(document.body.classList.remove("dark-mode"),document.body.classList.add("light-mode"))},[e]);x.useEffect(()=>{Bt().then(s=>{if(s.frontend&&"darkmode"in s.frontend){n(s.frontend.darkmode);return}ci()?n(a):Iy().then(n)}).catch(console.error)},[a]),x.useEffect(()=>{i()},[e,i]);const o=s=>{n(s),Bt().then(async l=>{let c;if(ci()?c=a:c=await Iy(),c===s){const{darkmode:u,...d}=l.frontend;at({frontend:{...d,darkmode:void 0}})}else at({frontend:{...l.frontend,darkmode:s}})})};return r.jsx(gg.Provider,{value:{isDarkMode:e,toggleDarkmode:o},children:t})},Kye=({children:t})=>{const[e,n]=x.useState(!1),[a,i]=x.useState(!1),[o,s]=x.useState(!1),l=()=>{at({frontend:{guideShown:!e}}),n(u=>!u)},c=()=>{at({frontend:{hideAmounts:!o}}),s(u=>!u)};return x.useEffect(()=>{Bt().then(({frontend:u})=>{u?(u.guideShown!==void 0&&n(u.guideShown),u.hideAmounts!==void 0&&s(u.hideAmounts)):n(!0)})},[]),r.jsx(mi.Provider,{value:{toggleGuide:l,guideShown:e,guideExists:a,hideAmounts:o,setGuideShown:n,setGuideExists:i,toggleHideAmounts:c},children:t})},Gye="_auth_xdrxz_1",Qye={auth:Gye},Yye=()=>{const{t}=A(),[e,n]=x.useState(!1),[a,i]=x.useState(!1),o=x.useRef(!1),s=()=>{i(!0),AQ(o.current)};return x.useEffect(()=>{const l=Wj(c=>{switch(c.typ){case"auth-forced":o.current=!0;break;case"auth-required":n(u=>(u||s(),!0));break;case"auth-err":i(!1);break;case"auth-canceled":o.current?(n(!1),o.current=!1):i(!1);break;case"auth-ok":n(!1),o.current=!1}});return n(!0),s(),l},[]),e?r.jsx("div",{className:Qye.auth,children:r.jsxs(re,{fullscreen:!0,textCenter:!0,verticallyCentered:!0,withBottomBar:!0,children:[r.jsx(be,{small:!0,title:t("auth.title")}),r.jsx(ue,{children:void 0,minHeight:"0"}),r.jsx(Fe,{children:r.jsx(_,{autoFocus:!0,primary:!0,hidden:o.current,disabled:a,onClick:s,children:t("auth.authButton")})})]})}):null},Zye=({children:t})=>{const{t:e}=A(),[n,a]=x.useState(),[i,o]=x.useState(!1),s=me(Bt),l=s&&s.frontend&&s.frontend.hasUsedWalletConnect,c=async()=>{try{const{Core:d}=await qm(()=>import("./index.es.js").then(g=>g.l),[],import.meta.url),{Web3Wallet:p}=await qm(()=>import("./index.es2.js"),[],import.meta.url),h=new d({projectId:"89733df088867a1a1bf644013addd6cc"}),m=await p.init({core:h,metadata:{name:"BitBox",description:"BitBox02 hardware wallet",url:"https://bitbox.swiss",icons:["https://bitbox.swiss/assets/images/logos/dbb-logo.png"]}});a(m),o(!0)}catch(d){console.log("Error for initializing",d)}};x.useEffect(()=>{!n&&!i&&l&&c()},[i,n,l]);const u=async d=>{if(n)try{const{uri:p}=d,h=Kfe(p);if(Gfe(h,n))throw new Error(e("walletConnect.useNewUri"));await(n==null?void 0:n.core.pairing.pair({uri:p})),at({frontend:{hasUsedWalletConnect:!0}})}catch(p){throw console.error(`Wallet connect attempt to pair error ${p}`),p.message.includes("Pairing already exists")?new Error(e("walletConnect.useNewUri")):new Error(p.message)}};return r.jsx(Fl.Provider,{value:{initializeWeb3Wallet:c,isWalletInitialized:i,web3wallet:n,pair:u},children:t})},Jye=({children:t})=>{const[e,n]=x.useState("USD"),[a,i]=x.useState(["USD","EUR","CHF"]),[o,s]=x.useState("default");x.useEffect(()=>{l()},[]);const l=async()=>{var g,v,y;const m=await Bt();(g=m.backend)!=null&&g.mainFiat&&n(m.backend.mainFiat),(v=m.backend)!=null&&v.fiatList&&((y=m.backend)!=null&&y.btcUnit)&&(i(m.backend.fiatList),s(m.backend.btcUnit))},c=()=>{const m=a.indexOf(e),g=a[(m+1)%a.length];n(g)},u=m=>{a.includes(m)||d(m),n(m),at({backend:{mainFiat:m}})},d=async m=>{const g=[...a,m];await at({backend:{fiatList:g}}),h(g)},p=async m=>{const g=a.filter(v=>!od(v,m));await at({backend:{fiatList:g}}),h(g)},h=m=>{i(m),wQ()};return r.jsx(Zo.Provider,{value:{defaultCurrency:e,activeCurrencies:a,btcUnit:o,rotateFiat:c,selectFiat:d,updateDefaultFiat:u,updateRatesConfig:l,unselectFiat:p},children:t})},mv=async t=>{const e=await Yj(t);if(!e.success)return console.log("Failed in fetching account name and code"),{accountName:"",accountCode:""};const{code:n,name:a}=e;return{accountName:a,accountCode:n}};async function Xye(t,e){switch(t){case qa.ETH_SIGN:case qa.PERSONAL_SIGN:await ewe(e,t);break;case qa.ETH_SIGN_TYPED_DATA:case qa.ETH_SIGN_TYPED_DATA_V3:case qa.ETH_SIGN_TYPED_DATA_V4:await twe(e);break;case qa.ETH_SIGN_TRANSACTION:case qa.ETH_SEND_TRANSACTION:await nwe(e,t);break;default:console.log(`${t} is unsupported`)}}async function ewe({params:t,launchSignDialog:e,topic:n,id:a,currentSession:i},o){const s=o===qa.PERSONAL_SIGN,l=t.request.params,c=s?l[1]:l[0],u=s?l[0]:l[1],d=Qfe(u);if(d===null){J(Oo("walletConnect.signingRequest.decodeError"));return}const{accountName:p,accountCode:h}=await mv(c);e({topic:n,id:a,apiCaller:async()=>{const g=await aY(h,u);return g.success?{response:{id:a,jsonrpc:"2.0",result:g.signature},success:!0}:{success:!1,error:g}},dialogContent:{signingData:d,currentSession:i,accountName:p,accountAddress:c,chain:t.chainId,method:Oo("walletConnect.signingRequest.method.signMessage")}})}async function twe({params:t,launchSignDialog:e,topic:n,id:a,currentSession:i}){const o=t.request.params,s=o[0],l=o[1];let c;const{accountName:u,accountCode:d}=await mv(s);try{c=JSON.parse(l)}catch(h){console.error("Failed to parse JSON",h),J(Oo("walletConnect.signingRequest.dataParsingError"));return}e({topic:n,id:a,apiCaller:async()=>{var g;const h=(g=c==null?void 0:c.domain)!=null&&g.chainId?Number(c.domain.chainId):Number(t.chainId.replace(/^eip155:/,"")),m=await iY(d,h,l);return m.success?{response:{id:a,jsonrpc:"2.0",result:m.signature},success:!0}:{success:!1,error:m}},dialogContent:{signingData:JSON.stringify(c,null,2),currentSession:i,accountName:u,accountAddress:s,chain:t.chainId,method:Oo("walletConnect.signingRequest.method.signTypedData")}})}async function nwe(t,e){const n=e===qa.ETH_SEND_TRANSACTION,{params:a,launchSignDialog:i,topic:o,id:s,currentSession:l}=t,c=a.request.params,u=c[0].from,d=c[0],{accountName:p,accountCode:h}=await mv(u),m=async()=>{const v=Number(a.chainId.replace(/^eip155:/,"")),y=await oY(h,n,v,d);return y.success?{response:{id:s,jsonrpc:"2.0",result:n?y.txHash:y.rawTx},success:!0}:{success:!1,error:y}},g=Oo(n?"walletConnect.signingRequest.method.sendTransaction":"walletConnect.signingRequest.method.signTransaction");i({topic:o,id:s,apiCaller:m,dialogContent:{signingData:JSON.stringify(d),currentSession:l,accountName:p,accountAddress:u,chain:a.chainId,method:g}})}const awe="_accountName_gsa52_1",iwe="_accountNameAndAddress_gsa52_6",owe="_address_gsa52_10",rwe="_animationAndTextContainer_gsa52_16",swe="_chainContainer_gsa52_28",lwe="_itemText_gsa52_33",cwe="_dappIcon_gsa52_42",uwe="_item_gsa52_33",dwe="_label_gsa52_62",pwe="_listContainer_gsa52_68",hwe="_outerContainer_gsa52_77",mwe="_successIcon_gsa52_84",fwe="_textarea_gsa52_89",gwe="_titleContainer_gsa52_97",Ie={accountName:awe,accountNameAndAddress:iwe,address:owe,animationAndTextContainer:rwe,chainContainer:swe,itemText:lwe,dappIcon:cwe,item:uwe,label:dwe,listContainer:pwe,outerContainer:hwe,successIcon:mwe,textarea:fwe,titleContainer:gwe},vwe=()=>{const{t}=A();return r.jsxs("div",{className:Ie.animationAndTextContainer,children:[r.jsx("p",{children:t("confirmOnDevice")}),r.jsx(ns,{})]})},bwe=()=>{const{t}=A();return r.jsxs("div",{className:Ie.animationAndTextContainer,children:[r.jsx(vg,{className:Ie.successIcon}),r.jsx("p",{children:t("walletConnect.signingRequest.successfullySigned")})]})},kwe=({open:t,onAccept:e,onReject:n,content:a,stage:i})=>{const{t:o}=A(),{isDarkMode:s}=Kn(),{accountAddress:l,accountName:c,signingData:u,chain:d,method:p,currentSession:h}=a,m=d in Ns?Ns[d].name:d,g=d in Ns?Ns[d].icon:null,v=h.peer.metadata,y=20,b=u.toString().split(` `).length+3,k=b>y?y:b;return r.jsxs(qe,{open:t,large:!0,onClose:n,children:[r.jsxs("div",{className:Ie.titleContainer,children:[s?r.jsx(Ou,{height:32,width:32}):r.jsx(rK,{height:40,width:40}),r.jsx("h3",{children:o("walletConnect.signingRequest.walletConnectRequest")})]}),r.jsxs("div",{className:Ie.outerContainer,children:[i!=="accepted"&&r.jsxs(r.Fragment,{children:[r.jsxs("ul",{className:Ie.listContainer,children:[r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.account")}),r.jsxs("span",{className:Ie.accountNameAndAddress,children:[r.jsx("p",{className:Ie.accountName,children:r.jsx("b",{children:c})}),r.jsx("p",{className:Ie.address,children:ip(l)})]})]}),r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.chain")}),r.jsxs("div",{className:Ie.chainContainer,children:[r.jsx("p",{className:Ie.itemText,children:m}),g]})]}),r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.dapp")}),r.jsx("p",{className:Ie.itemText,children:v.name})]}),r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("transaction.details.type")}),r.jsx("p",{className:Ie.itemText,children:p})]}),u&&r.jsxs("li",{className:Ie.item,children:[r.jsx("p",{className:Ie.label,children:o("walletConnect.signingRequest.data")}),r.jsx("textarea",{rows:k,className:Ie.textarea,readOnly:!0,value:u.toString()})]})]}),i==="confirming"&&r.jsx(vwe,{}),i==="initial"&&r.jsxs(Yt,{children:[r.jsx(_,{onClick:e,primary:!0,type:"submit",children:o("button.continue")}),r.jsx(_,{onClick:n,secondary:!0,type:"submit",children:o("dialog.cancel")})]})]}),i==="accepted"&&r.jsx(bwe,{})]})]})},xwe=()=>{const{web3wallet:t,isWalletInitialized:e}=x.useContext(Fl),[n,a]=x.useState(!1),[i,o]=x.useState(),[s,l]=x.useState("initial"),c=x.useRef(),u=x.useRef(),d=({topic:m,id:g,apiCaller:v,dialogContent:y})=>{const{signingData:b,currentSession:k,accountAddress:w,accountName:j,chain:z,method:S}=y;u.current={topic:m,id:g},c.current=v,o({accountAddress:w,accountName:j,signingData:b,chain:z,currentSession:k,method:S}),a(!0)};x.useEffect(()=>{if(!t&&!e)return;const m=async g=>{const{topic:v,params:y,id:b}=g,w=Object.values((t==null?void 0:t.getActiveSessions())||{}).find(j=>j.topic===v);if(w){const j={topic:v,id:b,params:y,currentSession:w,launchSignDialog:d};await Xye(y.request.method,j)}};return t==null||t.on("session_request",m),()=>{t==null||t.off("session_request",m)}},[e,t]);const p=async()=>{a(!1);const m=u.current;if(m){const{topic:g,id:v}=m;await(t==null?void 0:t.respondSessionRequest({topic:g,response:Qx(v)}))}},h=async()=>{const m=c.current,g=u.current;if(m&&g){l("confirming");const{topic:v,id:y}=g,{response:b,success:k,error:w}=await m();if(k)await(t==null?void 0:t.respondSessionRequest({topic:v,response:b})),l("accepted"),setTimeout(()=>{a(!1),l("initial")},5e3);else if(w.aborted)l("initial"),a(!1),await(t==null?void 0:t.respondSessionRequest({topic:v,response:Qx(y)}));else{l("initial");const{errorMessage:j}=w;J(j||Oo("pairing.error.text"))}}};return!i||!n?null:r.jsx(kwe,{content:i,open:n,stage:s,onAccept:h,onReject:p})};class ywe extends x.Component{constructor(){super(...arguments),this.state={accounts:[],devices:{}},this.unsubscribeList=[],this.handleRoute=()=>{Xi.state.activeSidebar&&So()},this.maybeRoute=()=>{const e=window.location.pathname,n=e==="/"||e==="/index.html"||e==="/android_asset/web/index.html",a=e.startsWith("/account/"),i=this.state.accounts;if(n&&e!=="/"&&(!i||i.length===0)){le("/",!0);return}if(i.length===0&&(e.startsWith("/account-summary")||e.startsWith("/add-account")||e.startsWith("/settings/manage-accounts"))){le("/",!0);return}if(Object.keys(this.state.devices).length===0&&e.startsWith("/settings/device-settings/")){le("/",!0);return}if(a&&!i.some(o=>e.startsWith("/account/"+o.code))){le("/",!0);return}if(n&&i.length){le("/account-summary",!0);return}if(i.length===0&&e.startsWith("/buy/")){le("/",!0);return}},this.devicesKey=e=>e+":"+JSON.stringify(this.state.devices,Object.keys(this.state.devices).sort()),this.activeAccounts=()=>this.state.accounts.filter(e=>e.active)}componentDidMount(){Promise.all([jie(),UQ()]).then(([e,n])=>{this.setStateWithDeviceList({accounts:n,devices:e})}).catch(console.error),this.unsubscribeList.push(oye(e=>{jZ(this.props.t("notification.newTxs",{count:e.count,accountName:e.accountName}))}),Mie(e=>{this.setState({accounts:e},()=>this.maybeRoute())}),vde(e=>{this.setStateWithDeviceList({devices:e})}))}setStateWithDeviceList(e){const n=Object.keys(this.state.devices);this.setState(a=>({...a,...e}),()=>{const a=Object.keys(this.state.devices);if(a.length>0&&a[0]!==n[0]){const i=this.state.devices[a[0]];if(i==="bitbox"||i==="bitbox02-bootloader"){le(`settings/device-settings/${a[0]}`,!0);return}}this.maybeRoute()})}componentWillUnmount(){Nl(this.unsubscribeList)}render(){const{accounts:e,devices:n}=this.state,a=Object.keys(n),i=this.activeAccounts();return r.jsx(rye,{children:r.jsx(Kye,{children:r.jsx(Hye,{children:r.jsx(Jye,{children:r.jsxs(Zye,{children:[r.jsx(uce,{}),r.jsxs("div",{className:"app",children:[r.jsx(Yye,{}),r.jsx(RY,{accounts:i,deviceIDs:a}),r.jsxs("div",{className:"appContent flex flex-column flex-1",style:{minWidth:0},children:[r.jsx(Uye,{}),r.jsx(Ly,{msgKey:"bitbox01"}),r.jsx(Ly,{msgKey:"bitbox02"}),r.jsx(Fye,{}),r.jsx(xwe,{}),r.jsx(Dye,{}),r.jsx(Mye,{}),Object.entries(n).map(([o,s])=>s==="bitbox02"?r.jsx(x.Fragment,{children:r.jsx(iye,{deviceID:o})},o):null),r.jsx(_xe,{accounts:e,activeAccounts:i,deviceIDs:a,devices:n,devicesKey:this.devicesKey}),r.jsx(VZ,{onChange:this.handleRoute})]}),r.jsx(lQ,{}),r.jsx(Oae,{})]})]})})})})})}}const wwe=kn()(ywe);const jwe=document.getElementById("root"),Bwe=J0(jwe);Bwe.render(r.jsx(Mn.StrictMode,{children:r.jsx(SC,{i18n:se,children:r.jsx(Mn.Suspense,{fallback:null,children:r.jsx(CD,{children:r.jsx(wwe,{})})})})}));export{v0e as $,tje as A,dv as B,N0e as C,mp as D,pp as E,J0e as F,nje as G,X0e as H,de as I,rje as J,k0e as K,x0e as L,ga as M,Ni as N,rp as O,sa as P,z0e as Q,ma as R,Xx as S,D0e as T,to as U,A0e as V,aje as W,sje as X,oje as Y,g0e as Z,Ul as _,$y as a,b0e as a0,tke as a1,B0e as a2,y0e as a3,j0e as a4,w0e as a5,TS as a6,hp as a7,R0e as a8,F0e as a9,T0e as aa,fp as ab,S0e as ac,lje as ad,C0e as ae,cje as af,K0e as ag,G0e as ah,W0e as ai,V0e as aj,E0e as ak,P0e as al,ql as am,ES as an,vn as ao,Eo as b,zwe as c,_0e as d,O0e as e,q0e as f,FS as g,M0e as h,Y0e as i,U0e as j,H0e as k,Fke as l,I0e as m,Qn as n,Rke as o,L0e as p,eje as q,qge as r,up as s,uje as t,Oke as u,Q0e as v,Po as w,Z0e as x,$0e as y,ije as z}; diff --git a/frontends/web/build/assets/qr-scanner-worker.min-5f44a019.js b/frontends/web/build/assets/qr-scanner-worker.min.js similarity index 100% rename from frontends/web/build/assets/qr-scanner-worker.min-5f44a019.js rename to frontends/web/build/assets/qr-scanner-worker.min.js diff --git a/frontends/web/build/index.html b/frontends/web/build/index.html index 909f09b7f6..a18097bc8c 100644 --- a/frontends/web/build/index.html +++ b/frontends/web/build/index.html @@ -5,8 +5,8 @@ BitBoxApp - - + +
diff --git a/frontends/web/vite.config.mjs b/frontends/web/vite.config.mjs index b012fd3a3e..4a3628518e 100644 --- a/frontends/web/vite.config.mjs +++ b/frontends/web/vite.config.mjs @@ -11,6 +11,13 @@ export default defineConfig(() => { build: { modulePreload: false, outDir: 'build', + rollupOptions: { + output: { + entryFileNames: 'assets/[name].js', + chunkFileNames: 'assets/[name].js', + assetFileNames: 'assets/[name].[ext]' + } + } }, plugins: [ react(), From 7ff9be6f4f6dcd2484884535e60644ec2c03b8f1 Mon Sep 17 00:00:00 2001 From: thisconnect Date: Sun, 31 Dec 2023 10:28:37 +0100 Subject: [PATCH 04/11] frontend: without minify --- frontends/web/build/assets/index.css | 9787 +- frontends/web/build/assets/index.es.js | 6165 +- frontends/web/build/assets/index.es2.js | 9432 +- frontends/web/build/assets/index.js | 76053 +++++++++++++++- .../web/build/assets/qr-scanner-worker.min.js | 7 +- frontends/web/vite.config.mjs | 1 + 6 files changed, 100186 insertions(+), 1259 deletions(-) diff --git a/frontends/web/build/assets/index.css b/frontends/web/build/assets/index.css index 4e92cd673c..3d3842f653 100644 --- a/frontends/web/build/assets/index.css +++ b/frontends/web/build/assets/index.css @@ -1 +1,9786 @@ -._expandIcon_j17uw_1{stroke:var(--color-gray);width:18px;height:18px}._logo_gbled_1{display:block;margin:0 auto var(--space-default) auto;max-width:160px}._swissOpenSource_gbled_7{max-width:240px!important;width:100%!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:280px!important}@media (max-width: 768px){._swissOpenSource_gbled_7{max-width:180px!important}._swissOpenSource_gbled_7._large_gbled_12{max-width:210px!important}}._point2bitbox02_1vb0x_1{text-align:center}._caret_1vb0x_5{display:block;margin:0 auto}._bitbox02_1vb0x_10{display:inline-block;max-width:264px;position:relative;right:-16px}._overlay_1u8gr_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background:transparent;z-index:4010}._overlay_1u8gr_1._activeOverlay_1u8gr_15{background-color:var(--bg-transparent-dark)}._modal_1u8gr_19{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto}@media (min-width: 1200px){._header_1u8gr_31 ._title_1u8gr_31{--size-subheader: 16px}._modal_1u8gr_19{margin-left:var(--sidebar-width-large)}._modal_1u8gr_19 ._contentContainer_1u8gr_37 p{--size-default: 14px}}._modal_1u8gr_19._small_1u8gr_42{max-width:340px;width:100%}._modal_1u8gr_19._medium_1u8gr_47{max-width:520px;width:100%}._modal_1u8gr_19._large_1u8gr_53{max-width:800px;width:100%}._header_1u8gr_31{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--background)}._header_1u8gr_31._centered_1u8gr_68{justify-content:center}._header_1u8gr_31 ._title_1u8gr_31{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_1u8gr_78{background:none;border:none;padding:0;width:auto!important}._closeButton_1u8gr_78:focus{outline:none}._closeButton_1u8gr_78:disabled{color:var(--color-secondary)}._header_1u8gr_31 ._closeButton_1u8gr_78,._header_1u8gr_31 ._closeButton_1u8gr_78 img{width:18px;height:18px}._contentContainer_1u8gr_37{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_1u8gr_37._slim_1u8gr_105{padding:0}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-default)}._content_1u8gr_37 p{word-break:break-word}._actions_1u8gr_117 button,._actions_1u8gr_117 a,._small_1u8gr_42 ._actions_1u8gr_117 button,._small_1u8gr_42 ._actions_1u8gr_117 a{width:100%}._actions_1u8gr_117>*:not(:last-child),._small_1u8gr_42 ._actions_1u8gr_117>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_1u8gr_117{margin-top:var(--space-quarter)}._confirmationLabel_1u8gr_135{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_1u8gr_144{display:inline-block;position:absolute;left:0}._disabledLabel_1u8gr_150,._disabledLabel_1u8gr_150 span{color:var(--color-light)!important}._noStep_1u8gr_155{padding-left:0}._confirmationInstructions_1u8gr_159{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_1u8gr_159>div{width:50%}._confirmationInstructions_1u8gr_159 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_1u8gr_159._confirm_1u8gr_135{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_1u8gr_179{height:120px;margin-right:var(--space-half)}._modalContent_1u8gr_184 p{font-size:var(--size-default);font-weight:400}._modalContent_1u8gr_184>*:first-child{margin-top:0}._detail_1u8gr_193{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_1u8gr_193:not(:first-child){border-bottom:solid 1px var(--background)}._detail_1u8gr_193 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1u8gr_193 label,._detail_1u8gr_193 p{margin:0;line-height:1}._detail_1u8gr_193._description_1u8gr_217>span{text-align:right}._buttons_1u8gr_221{padding:var(--space-quarter)}._buttons_1u8gr_221 button:first-child{margin-right:10px}._buttons_1u8gr_221 button{width:50%}._dialogButtons_1u8gr_233{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_1u8gr_233>*:only-child{width:100%}@media (min-width: 769px){._closingOverlay_1u8gr_244{display:none}}@media (max-width: 768px){._header_1u8gr_31 ._title_1u8gr_31{font-size:var(--header-default-font-size)}._modal_1u8gr_19{padding:0}._modal_1u8gr_19,._modal_1u8gr_19._small_1u8gr_42,._modal_1u8gr_19._medium_1u8gr_47,._modal_1u8gr_19._large_1u8gr_53{max-width:100vw;height:100vh;transform:translateY(100vh);transition:transform .3s;border-top-right-radius:var(--space-half);border-top-left-radius:var(--space-half)}._modal_1u8gr_19._open_1u8gr_268{transition:transform .3s;transform:translateY(0)}._contentContainer_1u8gr_37._padded_1u8gr_109{padding:var(--space-half)}}._link_28asd_1{align-items:center;background:none;border:none;color:var(--color-blue);cursor:default;display:flex;flex-direction:row;font-size:var(--size-default);justify-content:flex-start;padding:var(--space-quarter)}._link_28asd_1 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._language_28asd_20{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:var(--item-height);padding:0 var(--space-half);color:var(--color-blue);border:none;background-color:transparent;font-size:var(--size-default)}._language_28asd_20:focus{outline:none}._language_28asd_20._selected_28asd_38{color:var(--color-default)}._language_28asd_20:hover{background-color:var(--background)}._checked_28asd_46{width:18px;height:18px}@media (max-width: 768px){._link_28asd_1{font-size:var(--size-small)}._language_28asd_20{font-size:var(--size-small)!important}}._fullscreen_q1y08_1{background:var(--background);bottom:0;display:flex;flex-grow:1;flex-direction:column;left:0;overflow-x:inherit;overflow-y:auto;position:fixed;right:0;top:0;z-index:5100}.container ._fullscreen_q1y08_1{z-index:5050}._dialog_q1y08_22{background-color:var(--bg-transparent-dark);justify-content:center}._fill_q1y08_28{align-self:center;display:flex;flex-direction:column;flex-grow:1;padding:0 var(--space-default) var(--space-default) var(--space-default);max-width:var(--content-width);width:100%}._inner_q1y08_38{display:flex;flex-direction:column;margin:0 auto;max-width:var(--content-width);padding:var(--space-half) 0;width:100%}._verticallyCentered_q1y08_46 ._inner_q1y08_38{margin-bottom:auto;margin-top:auto}._inner_q1y08_38._fit_q1y08_50{flex-shrink:0;max-height:100%;padding-bottom:0;padding-top:0}._fit_q1y08_50 ._content_q1y08_56{align-items:stretch;display:flex;flex-direction:column}._textCenter_q1y08_61,._text-center_q1y08_62{text-align:center}._text-left_q1y08_65{text-align:left}@media (max-width: 768px){._inner_q1y08_38{flex-grow:1;display:flex;flex-direction:column;margin:0 auto;min-height:auto!important}._inner_q1y08_38._fit_q1y08_50{padding-bottom:var(--space-half);padding-top:2vh}}@media (min-width: 769px){._fullscreen_q1y08_1 ._inner_q1y08_38{padding-left:var(--space-default);padding-right:var(--space-default)}}@media (max-width: 1080px){._inner_q1y08_38{max-width:100%}}@media (min-width: 1200px){._inner_q1y08_38{padding-left:0;padding-right:0}}._dialog_q1y08_22 ._inner_q1y08_38{background-color:var(--background-secondary);box-shadow:0 3px 5px #0000004d;flex-grow:0;max-width:100%;padding-left:0;padding-right:0;width:540px}._header_q1y08_109{color:var(--color-secondary);font-size:var(--size-default);margin-bottom:var(--space-default);word-break:break-word}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-default);padding-top:0;padding-right:var(--space-default)}@media (max-width: 768px){._fill_q1y08_28{padding:0 0 var(--space-default) 0}._header_q1y08_109{padding-left:var(--space-half);padding-top:var(--space-default);padding-right:var(--space-half);margin-bottom:0}._smallHeader_q1y08_130{margin-bottom:var(--space-half);padding-top:var(--space-half)}._fill_q1y08_28 ._header_q1y08_109{padding-top:0}}@media (max-width: 1199px){._header_q1y08_109{padding-top:var(--space-large)}._smallHeader_q1y08_130,._fill_q1y08_28 ._header_q1y08_109{padding-top:0}._dialog_q1y08_22 ._header_q1y08_109{padding-left:var(--space-half);padding-top:0;padding-right:var(--space-half)}}._title_q1y08_155{color:var(--color-default);font-size:var(--size-subheader);font-weight:400;margin-bottom:var(--space-half)}._title_q1y08_155 span{display:block}._header_q1y08_109 p{margin-top:var(--space-quarter)}._closeButton_q1y08_169{background:transparent;border:none;color:var(--color-primary);height:var(--header-height);left:0;position:absolute;text-align:center;top:0;width:var(--header-height)}._content_q1y08_56{flex-grow:1;flex-shrink:0;min-height:80px;word-break:break-word}._fit_q1y08_50 ._content_q1y08_56{flex-shrink:1}@media (max-width: 768px){._content_q1y08_56{flex-grow:1;flex-basis:auto;flex-shrink:0;padding:0 var(--space-half)}._content_q1y08_56._fullWidth_q1y08_197{padding:0}}@media (max-width: 1199px){._dialog_q1y08_22 ._content_q1y08_56{padding:0 var(--space-half)}}@media (min-width: 1200px){._content_q1y08_56{min-height:130px}._dialog_q1y08_22 ._content_q1y08_56{padding:var(--space-half) var(--space-default)}}._content_q1y08_56 ._largeIcon_q1y08_215{margin:var(--space-half) auto;max-height:100%;max-width:280px;min-width:80px;width:50%}@media (max-width: 768px){._content_q1y08_56 ._largeIcon_q1y08_215{margin-bottom:var(--space-half);margin-top:var(--space-half);max-width:160px}}._content_q1y08_56 ul{font-size:var(--size-default);line-height:1.625;padding-left:1.4em}._content_q1y08_56 label{color:var(--color-default)}._buttons_q1y08_240{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default);padding-bottom:var(--space-half)}._dialog_q1y08_22 ._buttons_q1y08_240{padding-left:var(--space-default);padding-right:var(--space-default)}@media (max-width: 768px){._buttons_q1y08_240{padding:0 var(--space-half)}}@media (max-width: 768px) and (orientation: portrait){._buttons_q1y08_240{align-items:stretch;flex-direction:column;flex-grow:0;justify-content:flex-end;margin-top:var(--space-half)}._buttons_q1y08_240>*:not(:last-child){margin-bottom:var(--space-half)}}@media (max-width: 1199px){._dialog_q1y08_22 ._buttons_q1y08_240{padding:0 var(--space-half)}}._textCenter_q1y08_61 ._buttons_q1y08_240>*:only-child{justify-self:flex-end;margin:0 auto}@media (min-width: 1200px){._title_q1y08_155{--size-subheader: 28px}._header_q1y08_109,._inner_q1y08_38 p{--size-default: 20px}._fullscreen_q1y08_1{--size-default: 18px}._inner_q1y08_38 footer p{--size-default: 14px}}._footer_q1y08_294{align-items:center;display:flex;flex-direction:row;justify-content:flex-end;margin:var(--space-default) auto 0 auto;max-width:var(--content-width);padding:0;width:100%}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-default) auto;padding:0 var(--space-default)}._footer_q1y08_294 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_q1y08_294 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_q1y08_294{padding:0 var(--space-half);margin:var(--space-half) 0 0 0}._fullscreen_q1y08_1 ._footer_q1y08_294{margin:var(--space-half) 0}._footer_q1y08_294 p{text-align:right;font-size:var(--size-small)}._footer_q1y08_294 img{width:80px}}._button_b8ew4_1{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:transparent;border-radius:2px;border-style:solid;border-width:1px;cursor:default;display:inline-flex;flex-direction:row;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;justify-content:center;min-width:100px;height:50px;outline:none;padding:0 var(--space-default);position:relative;text-align:center;text-decoration:none;transition:background-color .2s ease-out,color .2s ease-out;will-change:background-color,color}._button_b8ew4_1:hover{cursor:pointer}._button_b8ew4_1:disabled{cursor:not-allowed}._button_b8ew4_1:focus{outline:none}._primary_b8ew4_38{background:var(--color-blue);color:var(--color-alt)}._primary_b8ew4_38:not([disabled]):focus,._primary_b8ew4_38:not([disabled]):hover{background-color:var(--color-lightblue)}._secondary_b8ew4_49{background-color:var(--background-secondary);border-color:var(--background-tertiary);color:var(--color-default)}._secondary_b8ew4_49:not([disabled]):focus,._secondary_b8ew4_49:not([disabled]):hover{border-color:var(--color-blue);color:var(--color-blue)}._secondary_b8ew4_49[disabled]{border-color:var(--background-quaternary);color:var(--color-tertiary)}._danger_b8ew4_67{background-color:var(--color-softred);border-color:var(--color-softred);color:var(--color-alt)}._danger_b8ew4_67:not([disabled]):focus,._danger_b8ew4_67:not([disabled]):hover{background-color:var(--color-lightred);border-color:var(--color-lightred)}._danger_b8ew4_67:focus{outline-color:var(--color-swissred)}._transparent_b8ew4_84{background-color:transparent;border-color:transparent;color:var(--color-blue);display:inline-block;height:auto;min-width:0;padding:var(--space-half)}._transparent_b8ew4_84:not([disabled]):focus,._transparent_b8ew4_84:not([disabled]):hover{color:var(--color-lightblue)}._primary_b8ew4_38[disabled],._danger_b8ew4_67[disabled],._transparent_b8ew4_84[disabled]{opacity:.4}._button_b8ew4_1[hidden]{display:none}@media (max-width: 768px){._button_b8ew4_1{min-width:90px}}._checkbox_1m6k1_1 input{position:absolute;opacity:0}._checkbox_1m6k1_1 input+label{display:inline-block;max-width:100%;padding-left:2em;position:relative}._checkbox_1m6k1_1 input+label:before,._checkbox_1m6k1_1 input+label:after{background:var(--background-secondary);box-sizing:border-box;content:"";display:inline-block;width:1em;height:1em;position:absolute;left:0;vertical-align:top;text-align:center;transition:all .1s ease}._checkbox_1m6k1_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:2px;top:-1px}._success_1m6k1_33 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-success)}._warning_1m6k1_37 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-warning)}._info_1m6k1_41 input+label:before{border-color:var(--background-secondary);outline:1px solid var(--color-info)}._checkbox_1m6k1_1 input+label:after{background:transparent;border:solid var(--background-secondary);border-width:0px 2px 2px 0;width:.35em;height:.55em;position:absolute;top:3px;left:6px;margin-left:-1px;margin-top:-2px;opacity:0;transform:scale(2) rotate(45deg);transition:opacity .2s ease-out,transform .2s ease-out}._checkbox_1m6k1_1 input:checked+label:before{background-color:var(--color-blue);border-color:var(--color-blue)}._success_1m6k1_33 input:checked+label:before{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-alt)}._warning_1m6k1_37 input:checked+label:before{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-alt)}._info_1m6k1_41 input:checked+label:before{background-color:var(--color-info);border-color:var(--color-info);color:var(--color-alt)}._checkbox_1m6k1_1 input:checked+label:after{opacity:1;transform:scale(1) rotate(37deg)}._checkbox_1m6k1_1 input[type=checkbox]:focus+label:before{border-color:var(--color-blue);outline:none;outline-offset:0}._checkbox_1m6k1_1 input[type=checkbox]:checked:focus+label:before{outline:2px solid var(--color-blue);outline-offset:-1px}:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:focus+label:before,:is(._success_1m6k1_33,._warning_1m6k1_37,._info_1m6k1_41) input[type=checkbox]:checked:focus+label:before{border-color:transparent;outline:2px solid var(--color-blue);outline-offset:0}._checkbox_1m6k1_1 input[disabled]+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_198i3_1{--size-default: 14px}._radio_198i3_1 input{position:absolute;opacity:0}._radio_198i3_1 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin-right:var(--space-half);padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_198i3_1 input+label:before,._radio_198i3_1 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_198i3_1 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_198i3_1 input+label:after{background:var(--color-blue);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radio_198i3_1 input:checked+label:before{background-color:var(--background-secondary)}._radio_198i3_1 input:checked+label:after{opacity:1;transform:scale(1)}._radio_198i3_1 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue);outline:none;outline-offset:0}._radio_198i3_1 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-blue)}._radio_198i3_1 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._field_d2mb0_1{margin-bottom:var(--spacing-default)}._input_1dgl0_1{width:100%;margin-bottom:var(--space-half);position:relative}._input_1dgl0_1 label{display:block;margin:0 0 var(--space-quarter) 0}._align-left_1dgl0_12 label{justify-self:flex-start}._align-right_1dgl0_16 label{flex-grow:1;justify-self:flex-end;text-align:right}._align-right_1dgl0_16 input{text-align:right}._input_1dgl0_1 input{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%;transition:border-color .2s ease-out;will-change:border-color}._input_1dgl0_1 input:focus{border-color:var(--color-blue);outline:none}._input_1dgl0_1 input::placeholder{color:var(--color-secondary)}._input_1dgl0_1 input[disabled]{background-color:var(--background-secondary)!important;border-color:var(--background)!important;color:var(--color-secondary)!important;cursor:not-allowed}._isTransparent_1dgl0_58 input[disabled]{border-color:var(--background);color:var(--color-default)!important;cursor:default}._errorText_1dgl0_64{color:var(--color-softred)!important}._errorText_1dgl0_64>span>span{margin-left:5px}._input_1dgl0_1 input[type=checkbox]{width:auto;height:auto}._label_53nw1_1{text-align:left}._select_yd5xu_1{margin-bottom:var(--space-half);position:relative;width:100%}._select_yd5xu_1 label{display:block;margin-bottom:var(--space-quarter);text-align:left}._select_yd5xu_1 select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:calc(100% - 12px);background-repeat:no-repeat;border:solid 1px var(--background-quaternary);border-radius:2px;color:var(--color-default);font-family:var(--font-family);font-size:var(--size-default);font-weight:400;height:52px;padding:0 var(--space-half);width:100%}._select_yd5xu_1 select[disabled]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23ccc'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A")}._select_yd5xu_1 option{background-color:var(--background-secondary);color:var(--color-default);padding:var(--spacing-default);width:100%}._select_yd5xu_1 option[disabled]{color:var(--color-disabled)}._message_ncb43_1{border:solid 1px var(--background-quaternary);color:var(--color-secondary);border-radius:2px;padding:var(--spacing-default);margin-bottom:var(--spacing-default);display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-shrink:0;overflow:hidden}._message_ncb43_1._small_ncb43_15{flex-shrink:1;font-size:var(--size-default)}._message_ncb43_1 img{margin-right:var(--spacing-default)}._message_ncb43_1 p:last-child{margin-bottom:0!important}._success_ncb43_28{color:var(--color-success);border-color:var(--color-success)}._info_ncb43_34{color:var(--color-blue);border-color:var(--color-blue)}._warning_ncb43_40{color:var(--color-warning);border-color:var(--color-warning)}._error_ncb43_46{color:var(--color-error);border-color:var(--color-error)}._capsWarning_1xqma_1{color:var(--color-warning);font-weight:700;line-height:42px;position:absolute;right:0;width:2rem}._badge_f2nw5_1{border-radius:var(--space-half);border:1px solid;display:inline-block;font-size:var(--size-small);line-height:14px;padding:var(--space-eight) 10px;white-space:nowrap}._badge_f2nw5_1._iconOnly_f2nw5_11{align-items:center;display:inline-flex;height:18px;justify-content:center;padding:0;width:18px}._badgeIcon_f2nw5_20{max-width:10px}._withChildren_f2nw5_24 ._badgeIcon_f2nw5_20{margin-right:var(--space-eight)}@media (max-width: 382px){._badge_f2nw5_1{font-size:10px}}._success_f2nw5_34{background:var(--color-palegreen);border-color:var(--color-lightgreen);color:var(--color-darkgreen)}._warning_f2nw5_40{background:var(--color-lightyellow);border-color:var(--color-darkyellow);color:var(--color-olive)}._closeButton_1xwfn_1{background:transparent;border:none;display:none;padding:12px;transform:translate(14px)}._closeButton_1xwfn_1:focus{outline:none}._sidebarOverlay_1xwfn_13{position:fixed;background-color:#0000004d;width:100%;height:100%;top:0;left:0;z-index:-1;opacity:0;animation-delay:.2s;transition:opacity ease .2s}._sidebarOverlay_1xwfn_13._active_1xwfn_26{opacity:1;z-index:4001}._sidebar_1xwfn_13{position:fixed;margin-left:calc(var(--sidebar-width-large) * -1);align-content:stretch;background-color:var(--background-dark);display:flex;flex-direction:column;flex-shrink:0;justify-content:flex-start;height:100vh;padding:0 0 var(--spacing-default) 0;width:var(--sidebar-width-large);z-index:4002;overflow-y:auto}._sidebar_1xwfn_13>*._end_1xwfn_47{margin-top:auto;padding-top:var(--sidebar-margin)}._sidebar_1xwfn_13._forceShow_1xwfn_52{margin-left:0}._sidebar_1xwfn_13 ._sidebarLogoContainer_1xwfn_56{align-items:center;display:flex;flex-direction:row;height:70px;justify-content:space-between;padding:calc(var(--spacing-default) + var(--spacing-half)) var(--spacing-large);background-size:cover;background-color:#0000001a;opacity:1;transition:opacity .2s ease}._sidebarLogoContainer_1xwfn_56 img{margin-bottom:0;width:auto!important;height:var(--sidebar-icon-size)!important}._sidebarHeaderContainer_1xwfn_75{margin-top:var(--sidebar-margin);margin-bottom:var(--sidebar-header-size);padding:0 var(--sidebar-margin);display:flex;flex-direction:row;justify-content:space-between;align-items:center}._sidebarPortfolio_1xwfn_85+._sidebarHeaderContainer_1xwfn_75{margin-top:28px}._sidebarHeader_1xwfn_75{font-size:var(--sidebar-header-size);line-height:var(--sidebar-header-line-height);color:var(--color-secondary)}._sidebarIconVisible_1xwfn_95{visibility:visible}._sidebarIconHidden_1xwfn_99{visibility:hidden}._sidebarItem_1xwfn_103{display:block}._sidebarItem_1xwfn_103 a{position:relative;color:#fff;cursor:default;height:var(--sidebar-item-height);text-decoration:none;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;border-radius:2px}._sidebarArrow_1xwfn_121{display:none}._sidebarItem_1xwfn_103 a._sidebarActive_1xwfn_125{text-decoration:none;background-color:#ffffff1a}._activeGroup_1xwfn_130 ._sidebarArrow_1xwfn_121{display:inline;margin-right:var(--sidebar-margin)}._sidebarItem_1xwfn_103 .stacked,._sidebarItem_1xwfn_103 ._single_1xwfn_136{margin:0 var(--sidebar-icon-margin) 0 var(--sidebar-margin);height:var(--sidebar-icon-size)}a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141,._sidebar_1xwfn_13 a:hover ._sidebarLabel_1xwfn_141,._activeGroup_1xwfn_130 ._sidebarLabel_1xwfn_141{color:var(--color-alt)}._sidebar_1xwfn_13 a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141{font-weight:400}a._sidebarActive_1xwfn_125 .stacked img:first-child,._sidebar_1xwfn_13 a:hover .stacked img:first-child{opacity:0}a._sidebarActive_1xwfn_125 .stacked img:last-child,._sidebar_1xwfn_13 a:hover .stacked img:last-child,._activeGroup_1xwfn_130 .stacked img:last-child{opacity:1}._sidebar_1xwfn_13 img{width:var(--sidebar-icon-size);height:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}._single_1xwfn_136 img{opacity:.6;transition:opacity .2s ease}a._sidebarActive_1xwfn_125 ._single_1xwfn_136 img,._sidebar_1xwfn_13 a:hover ._single_1xwfn_136 img{opacity:1}._sidebarLabel_1xwfn_141{color:var(--color-light);line-height:1;flex:1;padding-top:0;padding-right:var(--space-default);font-size:var(--size-default);font-weight:400;transition:all .2s ease;word-break:break-word}._activeGroup_1xwfn_130{background-color:#555}._sidebarSubmenu_1xwfn_197 a svg{width:18px;height:18px;margin-right:var(--sidebar-icon-margin);margin-left:calc(var(--sidebar-margin) + var(--sidebar-icon-margin))}._sidebarArrow_1xwfn_121{width:12px;height:12px}@media (max-width: 1199px){._sidebar_1xwfn_13{transition:margin-left .2s ease}}@media (min-width: 1200px){._sidebarContainer_1xwfn_216:not(._forceHide_1xwfn_216) ._sidebar_1xwfn_13{position:relative;margin-left:0;width:var(--sidebar-width-large)}}@media (max-width: 560px){._closeButton_1xwfn_1{display:block}._sidebar_1xwfn_13{margin-left:-100vw;transition:margin-left .3s ease;width:100vw}}._children_1y42x_1{display:flex;flex-direction:row;align-items:center;margin-bottom:var(--space-quarter)}._children_1y42x_1>a{display:inline-block;height:18px;font-size:var(--size-default);text-decoration:none;font-weight:400}._children_1y42x_1>a>svg{width:18px;height:18px;stroke-width:2}._container_1y42x_22{width:100%}._container_1y42x_22._fixed_1y42x_26{position:fixed;left:var(--sidebar-width);height:var(--header-height);width:calc(100% - var(--sidebar-width));z-index:1001}._disabled_1y42x_34{opacity:.4}._forceHidden_1y42x_38 ._sidebarToggler_1y42x_38{display:none!important}._guideIcon_1y42x_42{font-size:var(--size-default);text-decoration:none;display:flex;flex-direction:row;align-items:center}._guideIcon_1y42x_42 img{width:18px;height:18px;color:var(--color-blue);margin-right:calc(var(--space-quarter) / 2)}._guideIconContainer_1y42x_57{height:18px;margin-left:var(--space-half)}._header_1y42x_62{padding:0 var(--space-default);max-width:var(--content-width);min-height:var(--header-height);width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex:none;margin:0 auto;flex-wrap:wrap}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2){text-align:center}._header_1y42x_62._narrow_1y42x_76>*:nth-child(2)>*{max-width:600px;width:100%}._sidebarToggler_1y42x_38{width:32px;height:32px;margin-bottom:var(--space-quarter);margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._sidebarToggler_1y42x_38 img{width:20px}._title_1y42x_99{white-space:nowrap;flex-grow:1;margin-bottom:var(--space-quarter);padding-right:var(--space-half)}._title_1y42x_99>*{margin:0;font-size:var(--header-default-font-size);font-weight:400;line-height:1;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}@media (max-width: 768px){._header_1y42x_62{padding:var(--space-half)}._sidebarToggler_1y42x_38._hideSidebarToggler_1y42x_120{display:none}._container_1y42x_22 ._sidebarToggler_1y42x_38{margin-right:0}}@media (min-width: 1200px){._sidebarToggler_1y42x_38{display:none}}._main_1ntet_1{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;overflow-x:inherit;overflow-y:auto;position:relative}._columnAsCard_1rob5_1{background-color:var(--background-secondary);padding:var(--space-default)}._column_1rob5_1 p{margin-top:0}._columnButtons_1rob5_10:not(._columnButtonsInline_1rob5_10) button{width:100%}._columnButtons_1rob5_10 button:not(:first-child){margin-top:var(--space-quarter)}._columnButtonsInline_1rob5_10{display:flex;flex-direction:row-reverse}._columnButtonsInline_1rob5_10>a:not(:first-child),._columnButtonsInline_1rob5_10>button:not(:first-child){margin-right:var(--space-half);margin-top:0}._left_1rob5_29{text-align:left}._center_1rob5_33{text-align:center}@media (max-width: 768px){._columnAsCard_1rob5_1{padding:var(--space-half)}._columnAsCard_1rob5_1+._columnAsCard_1rob5_1{margin-top:var(--space-default)}}@media (min-width: 769px){._grid_1rob5_47{display:grid;gap:var(--space-default);grid-auto-rows:minmax(100px,auto)}._grid-columns-1_1rob5_53{grid-template-columns:repeat(1,1fr)}._grid-columns-2_1rob5_56{grid-template-columns:repeat(2,1fr)}._column_1rob5_1{display:flex;flex-direction:column}._columnButtons_1rob5_10{margin-top:auto}}._footer_19w3c_1{max-width:var(--content-width);width:100%;padding:0 var(--space-default);margin:var(--space-default) auto}._footer_19w3c_1 p{color:var(--color-secondary);font-size:var(--size-default);margin:0}._footer_19w3c_1 img{width:120px;margin:0 auto 0 0}@media (max-width: 768px){._footer_19w3c_1{padding:0 var(--space-half);margin:var(--space-half) 0}._footer_19w3c_1 p{text-align:right;font-size:var(--size-small)}._footer_19w3c_1 img{width:80px}}._contentWithGuide_1gscs_1{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}._container_1gscs_8{display:flex;flex:1 1 auto;flex-direction:column;overflow:auto;position:relative;width:100%}:root{--icon-size: 10px;--icon-size-small: 8px}._steps_1l429_6{align-items:flex-start;display:inline-flex;flex-shrink:0;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--space-half);overflow:hidden;position:relative;width:100%}._step_1l429_6{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative;text-align:left}._dot_1l429_38{display:inline-block;margin-bottom:var(--space-quarter);min-height:var(--icon-size)}._dot_1l429_38:before{background:var(--color-primary);border:4px solid var(--background-secondary);border-radius:50%;content:"";display:inline-block;flex-shrink:0;font-size:14px;height:var(--icon-size);line-height:var(--icon-size);position:relative;text-align:center;transition:background-color .3s,border-color .3s;vertical-align:top;width:var(--icon-size);z-index:13}._dot_1l429_38:after{border-top:5px solid var(--background-secondary);content:"";position:absolute;top:6px;right:50%;width:100vw;z-index:12}._line_1l429_72 ._dot_1l429_38:after{z-index:1}._finish_1l429_76 ._dot_1l429_38:before{height:var(--icon-size-small);width:var(--icon-size-small)}._wait_1l429_81{color:var(--color-tertiary)}._finish_1l429_76 ._dot_1l429_38:before,._wait_1l429_81 ._dot_1l429_38:before{margin-top:1px}._wait_1l429_81 ._dot_1l429_38:before{background:var(--background-quaternary);height:var(--icon-size-small);width:var(--icon-size-small)}._finish_1l429_76._line_1l429_72 ._dot_1l429_38:after,._process_1l429_97._line_1l429_72 ._dot_1l429_38:after{border-color:var(--color-primary);border-top-width:3px;z-index:11;top:7px}._wait_1l429_81._line_1l429_72 ._dot_1l429_38:after{border-color:var(--background-quaternary);border-top-width:3px;top:7px}._content_1l429_110{font-size:var(--size-small);line-height:1;margin:0;min-width:90px;position:relative;text-align:center;width:min-content;white-space:nowrap}._link_1o1mh_1{color:var(--color-blue);cursor:pointer;text-decoration:underline}._link_1o1mh_1:focus{outline:1px solid var(--color-blue);text-decoration:none}._overlay_14an4_1{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000004d;z-index:-1;opacity:0;transition:opacity ease .2s}._close_14an4_13{color:var(--color-alt);font-size:var(--size-default)!important;text-decoration:none;display:flex;flex-direction:row;align-items:center;line-height:1}._close_14an4_13 img{width:18px;height:18px;margin-left:calc(var(--space-quarter) / 2)}._wrapper_14an4_29{position:relative}._guide_14an4_33{margin-right:calc(var(--guide-width) * -1);height:100vh;width:var(--guide-width);color:#fff;background-color:var(--color-lightblue);overflow-y:auto;transition:margin-right .2s ease,transform .2s ease;will-change:margin-right,transform}._header_14an4_44{margin-bottom:var(--space-default);height:var(--header-height);padding:0 var(--space-default);background-color:var(--color-blue)}._header_14an4_44 h2{margin:0;font-size:var(--header-default-font-size);font-weight:400}._header_14an4_44 a{cursor:pointer;font-size:20px}._content_14an4_62{padding:0 var(--space-default)}._content_14an4_62 h1{margin-top:0;font-size:1.5em}._content_14an4_62 h2{margin:0;font-size:1.1em;line-height:1.2em;font-weight:400}._guide_14an4_33 p{margin:.4em 0;font-size:var(--size-default)}._show_14an4_83{margin-right:0}._entry_14an4_87{margin-top:var(--space-default)}._entryTitle_14an4_91{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;cursor:default}._entryTitle_14an4_91 ._entryToggle_14an4_99{width:16px;line-height:1.2em;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;font-weight:700}._entryTitle_14an4_91 ._entryTitleText_14an4_109{flex:1}._entryContent_14an4_113{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;padding-left:16px}._expanded_14an4_121{flex-basis:0}._link_14an4_125{color:inherit;text-decoration:underline}._link_14an4_125:focus{outline-color:inherit}@media (max-width: 1348px){._guideWrapper_14an4_135{width:calc((((100% - var(--sidebar-width-large)) - var(--content-width)) / 2) + 18px + var(--space-default))}}@media screen and (max-width: 1601px){._overlay_14an4_1._show_14an4_83{opacity:1}._guide_14an4_33{position:fixed;margin-right:0;top:0;right:0;width:100%;max-width:460px;opacity:0;z-index:-10;transform:translate(100%);transition-delay:.2s}._show_14an4_83{opacity:1;z-index:4002}._guide_14an4_33._show_14an4_83{transform:translate(0)}}@media (max-width: 768px){._guideWrapper_14an4_135{position:fixed;top:0;right:0;width:calc(var(--space-half) + 18px)}._header_14an4_44,._content_14an4_62{padding-left:var(--space-half);padding-right:var(--space-half)}}@media screen and (max-width: 640px){._guide_14an4_33 h2{font-size:1.05em}}._manageContainer_1n5md_1{flex-basis:490px;flex-shrink:1;margin-bottom:var(--header-height);min-height:390px;max-height:100%}._title_1n5md_9{font-size:var(--size-large);font-weight:400}._successCheck_1n5md_14{background-color:var(--color-success);border:.5rem solid var(--color-success);border-radius:100px}._successMessage_1n5md_20{color:var(--color-secondary)}._successMessage_1n5md_20 strong{color:var(--color-default)}._spinnerContainer_rthjr_1{position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--background-secondary);z-index:2000;display:flex;flex-direction:column;justify-content:center;align-items:center;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}._spinner_rthjr_1{display:inline-block;position:relative;width:64px;height:64px}._spinnerText_rthjr_24{margin:0}._spinner_rthjr_1 div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:var(--color-blue);animation-timing-function:cubic-bezier(0,1,1,0)}._spinner_rthjr_1 div:nth-child(1){left:6px;animation:_spinner1_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(2){left:6px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(3){left:26px;animation:_spinner2_rthjr_1 .6s infinite}._spinner_rthjr_1 div:nth-child(4){left:45px;animation:_spinner3_rthjr_1 .6s infinite}._horizontallyCentered_rthjr_59{left:50%;position:absolute;transform:translate(-50%)}@keyframes _spinner1_rthjr_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _spinner3_rthjr_1{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes _spinner2_rthjr_1{0%{transform:translate(0)}to{transform:translate(19px)}}._overlay_rthjr_81{position:absolute;top:0;bottom:0;left:0;right:0;background:var(--background-secondary);animation:_fadein_rthjr_1 .3s;opacity:0}@keyframes _fadein_rthjr_1{0%{opacity:1}66%{opacity:1}to{opacity:0}}._togglersContainer_rthjr_98{position:fixed;top:calc((var(--header-height) - 32px) / 2);max-width:var(--content-width);width:100%;padding:0 var(--space-default);z-index:1;display:flex;flex-direction:row;justify-content:space-between;align-items:center}._guideToggler_rthjr_111{display:flex;flex-direction:row;align-items:center;height:32px;color:var(--color-primary);font-size:var(--size-default);cursor:default}._guideToggler_rthjr_111 svg{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}._toggler_rthjr_98{width:32px;height:32px;margin-right:var(--spacing-default);display:flex;flex-direction:row;align-items:center}._toggler_rthjr_98 img{width:20px}@media (min-width: 1200px){._togglersContainer_rthjr_98{flex-direction:row-reverse}._togglerContainer_rthjr_145{display:none}}@media (max-width: 768px){._togglersContainer_rthjr_98{padding:0 var(--space-half)}}._disclaimerContainer_5gxwf_1{align-items:center;display:flex;flex-basis:100%;flex-direction:column;flex-grow:0;flex-shrink:1;justify-content:center;margin:0 auto;overflow:auto;padding:0 var(--space-half) var(--header-height) var(--space-half);width:100%}._title_5gxwf_15{font-size:2rem;font-weight:400;text-align:center}._disclaimer_5gxwf_1{background-color:var(--background-secondary);flex-basis:100%;font-family:var(--font-family);flex-grow:0;flex-shrink:1;margin:var(--space-default) 0;max-width:660px;overflow:auto;padding:var(--space-quarter) 1em 1em 1em}._disclaimer_5gxwf_1::-webkit-scrollbar-track{background-color:#fff}._disclaimer_5gxwf_1 ._title_5gxwf_15{font-size:.875rem;font-weight:700;text-align:left}._disclaimer_5gxwf_1 p{font-size:.875rem;line-height:1.5}._disclaimer_5gxwf_1 p+._title_5gxwf_15{margin:2.5rem 0 0}._table_5gxwf_52{overflow:auto}._table_5gxwf_52 table{border-collapse:collapse;font-size:.875rem;text-align:left}._table_5gxwf_52 td,._table_5gxwf_52 th{padding:var(--spacing-half);vertical-align:top}._table_5gxwf_52 td{border-top:1px solid var(--color-mediumgray)}._table_5gxwf_52 td:not(:last-child),._table_5gxwf_52 th:not(:last-child){padding-left:0}._nowrap_5gxwf_77{white-space:nowrap}._container_yg57j_1{display:flex;flex-basis:100%;flex-grow:0;flex-shrink:1;flex-direction:column;overflow:hidden;position:relative}._iframe_yg57j_12{max-width:100%;position:relative;z-index:3000}._header_yg57j_18{position:relative;z-index:2200}._balance_17xkv_1,._balanceSingleValue_17xkv_1{color:var(--color-secondary);margin-left:auto;text-transform:uppercase}._balanceSingleValue_17xkv_1{margin-right:var(--space-quarter)}._dropdown_17xkv_11{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_17xkv_20{margin-bottom:var(--space-half)}._select_17xkv_20 .react-select__menu,._select_17xkv_20 .react-select__option{background-color:var(--background-secondary)}._select_17xkv_20 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_17xkv_20 .react-select__option--is-selected,._select_17xkv_20 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled span{color:var(--color-secondary)}._select_17xkv_20 .react-select__option--is-disabled.react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_17xkv_20 .react-select__option--is-disabled:hover{background-color:transparent}._select_17xkv_20 .react-select__option--is-selected ._balance_17xkv_1{color:var(--color-default)}._select_17xkv_20 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_17xkv_20 .react-select__single-value{width:100%}._selectLabelText_17xkv_66{margin-left:6px}._singleValueContainer_17xkv_70{align-items:center;display:flex;left:var(--space-quarter);position:absolute;width:100%}._valueContainer_17xkv_78{align-items:center;color:var(--color-default);display:flex}._select_17xkv_20 .react-select__option--is-selected ._selectLabelText_17xkv_66{color:var(--color-default)}._valueContainer_17xkv_78>img{width:20px;height:20px}._button_1riw8_1{border-width:0;display:flex;padding:0}._button_1riw8_1 img{width:18px;height:18px}._button_1riw8_1 span{width:96px;margin-left:var(--space-eight)}.fib,.fi{background-size:contain;background-position:50%;background-repeat:no-repeat}.fi{position:relative;display:inline-block;width:1.333333em;line-height:1em}.fi:before{content:" "}.fi.fis{width:1em}.fi-xx{background-image:url(./xx2.svg)}.fi-xx.fis{background-image:url(./xx.svg)}.fi-ad{background-image:url(./ad.svg)}.fi-ad.fis{background-image:url(./ad2.svg)}.fi-ae{background-image:url(./ae2.svg)}.fi-ae.fis{background-image:url(./ae.svg)}.fi-af{background-image:url(./af.svg)}.fi-af.fis{background-image:url(./af2.svg)}.fi-ag{background-image:url(./ag.svg)}.fi-ag.fis{background-image:url(./ag2.svg)}.fi-ai{background-image:url(./ai.svg)}.fi-ai.fis{background-image:url(./ai2.svg)}.fi-al{background-image:url(./al.svg)}.fi-al.fis{background-image:url(./al2.svg)}.fi-am{background-image:url(./am2.svg)}.fi-am.fis{background-image:url(./am.svg)}.fi-ao{background-image:url(./ao.svg)}.fi-ao.fis{background-image:url(./ao2.svg)}.fi-aq{background-image:url(./aq.svg)}.fi-aq.fis{background-image:url(./aq2.svg)}.fi-ar{background-image:url(./ar.svg)}.fi-ar.fis{background-image:url(./ar2.svg)}.fi-as{background-image:url(./as.svg)}.fi-as.fis{background-image:url(./as2.svg)}.fi-at{background-image:url(./at2.svg)}.fi-at.fis{background-image:url(./at.svg)}.fi-au{background-image:url(./au.svg)}.fi-au.fis{background-image:url(./au2.svg)}.fi-aw{background-image:url(./aw.svg)}.fi-aw.fis{background-image:url(./aw2.svg)}.fi-ax{background-image:url(./ax.svg)}.fi-ax.fis{background-image:url(./ax2.svg)}.fi-az{background-image:url(./az.svg)}.fi-az.fis{background-image:url(./az2.svg)}.fi-ba{background-image:url(./ba.svg)}.fi-ba.fis{background-image:url(./ba2.svg)}.fi-bb{background-image:url(./bb.svg)}.fi-bb.fis{background-image:url(./bb2.svg)}.fi-bd{background-image:url(./bd.svg)}.fi-bd.fis{background-image:url(./bd2.svg)}.fi-be{background-image:url(./be.svg)}.fi-be.fis{background-image:url(./be2.svg)}.fi-bf{background-image:url(./bf.svg)}.fi-bf.fis{background-image:url(./bf2.svg)}.fi-bg{background-image:url(./bg.svg)}.fi-bg.fis{background-image:url(./bg2.svg)}.fi-bh{background-image:url(./bh.svg)}.fi-bh.fis{background-image:url(./bh2.svg)}.fi-bi{background-image:url(./bi.svg)}.fi-bi.fis{background-image:url(./bi2.svg)}.fi-bj{background-image:url(./bj.svg)}.fi-bj.fis{background-image:url(./bj2.svg)}.fi-bl{background-image:url(./bl.svg)}.fi-bl.fis{background-image:url(./bl2.svg)}.fi-bm{background-image:url(./bm.svg)}.fi-bm.fis{background-image:url(./bm2.svg)}.fi-bn{background-image:url(./bn2.svg)}.fi-bn.fis{background-image:url(./bn.svg)}.fi-bo{background-image:url(./bo.svg)}.fi-bo.fis{background-image:url(./bo2.svg)}.fi-bq{background-image:url(./bq2.svg)}.fi-bq.fis{background-image:url(./bq.svg)}.fi-br{background-image:url(./br.svg)}.fi-br.fis{background-image:url(./br2.svg)}.fi-bs{background-image:url(./bs.svg)}.fi-bs.fis{background-image:url(./bs2.svg)}.fi-bt{background-image:url(./bt2.svg)}.fi-bt.fis{background-image:url(./bt.svg)}.fi-bv{background-image:url(./bv.svg)}.fi-bv.fis{background-image:url(./bv2.svg)}.fi-bw{background-image:url(./bw.svg)}.fi-bw.fis{background-image:url(./bw2.svg)}.fi-by{background-image:url(./by.svg)}.fi-by.fis{background-image:url(./by2.svg)}.fi-bz{background-image:url(./bz.svg)}.fi-bz.fis{background-image:url(./bz2.svg)}.fi-ca{background-image:url(./ca.svg)}.fi-ca.fis{background-image:url(./ca2.svg)}.fi-cc{background-image:url(./cc.svg)}.fi-cc.fis{background-image:url(./cc2.svg)}.fi-cd{background-image:url(./cd.svg)}.fi-cd.fis{background-image:url(./cd2.svg)}.fi-cf{background-image:url(./cf.svg)}.fi-cf.fis{background-image:url(./cf2.svg)}.fi-cg{background-image:url(./cg.svg)}.fi-cg.fis{background-image:url(./cg2.svg)}.fi-ch{background-image:url(./ch.svg)}.fi-ch.fis{background-image:url(./ch2.svg)}.fi-ci{background-image:url(./ci.svg)}.fi-ci.fis{background-image:url(./ci2.svg)}.fi-ck{background-image:url(./ck.svg)}.fi-ck.fis{background-image:url(./ck2.svg)}.fi-cl{background-image:url(./cl.svg)}.fi-cl.fis{background-image:url(./cl2.svg)}.fi-cm{background-image:url(./cm.svg)}.fi-cm.fis{background-image:url(./cm2.svg)}.fi-cn{background-image:url(./cn.svg)}.fi-cn.fis{background-image:url(./cn2.svg)}.fi-co{background-image:url(./co.svg)}.fi-co.fis{background-image:url(./co2.svg)}.fi-cr{background-image:url(./cr2.svg)}.fi-cr.fis{background-image:url(./cr.svg)}.fi-cu{background-image:url(./cu.svg)}.fi-cu.fis{background-image:url(./cu2.svg)}.fi-cv{background-image:url(./cv.svg)}.fi-cv.fis{background-image:url(./cv2.svg)}.fi-cw{background-image:url(./cw.svg)}.fi-cw.fis{background-image:url(./cw2.svg)}.fi-cx{background-image:url(./cx.svg)}.fi-cx.fis{background-image:url(./cx2.svg)}.fi-cy{background-image:url(./cy.svg)}.fi-cy.fis{background-image:url(./cy2.svg)}.fi-cz{background-image:url(./cz.svg)}.fi-cz.fis{background-image:url(./cz2.svg)}.fi-de{background-image:url(./de.svg)}.fi-de.fis{background-image:url(./de2.svg)}.fi-dj{background-image:url(./dj.svg)}.fi-dj.fis{background-image:url(./dj2.svg)}.fi-dk{background-image:url(./dk.svg)}.fi-dk.fis{background-image:url(./dk2.svg)}.fi-dm{background-image:url(./dm.svg)}.fi-dm.fis{background-image:url(./dm2.svg)}.fi-do{background-image:url(./do.svg)}.fi-do.fis{background-image:url(./do2.svg)}.fi-dz{background-image:url(./dz2.svg)}.fi-dz.fis{background-image:url(./dz.svg)}.fi-ec{background-image:url(./ec.svg)}.fi-ec.fis{background-image:url(./ec2.svg)}.fi-ee{background-image:url(./ee.svg)}.fi-ee.fis{background-image:url(./ee2.svg)}.fi-eg{background-image:url(./eg.svg)}.fi-eg.fis{background-image:url(./eg2.svg)}.fi-eh{background-image:url(./eh.svg)}.fi-eh.fis{background-image:url(./eh2.svg)}.fi-er{background-image:url(./er.svg)}.fi-er.fis{background-image:url(./er2.svg)}.fi-es{background-image:url(./es.svg)}.fi-es.fis{background-image:url(./es2.svg)}.fi-et{background-image:url(./et2.svg)}.fi-et.fis{background-image:url(./et.svg)}.fi-fi{background-image:url(./fi.svg)}.fi-fi.fis{background-image:url(./fi2.svg)}.fi-fj{background-image:url(./fj.svg)}.fi-fj.fis{background-image:url(./fj2.svg)}.fi-fk{background-image:url(./fk.svg)}.fi-fk.fis{background-image:url(./fk2.svg)}.fi-fm{background-image:url(./fm2.svg)}.fi-fm.fis{background-image:url(./fm.svg)}.fi-fo{background-image:url(./fo2.svg)}.fi-fo.fis{background-image:url(./fo.svg)}.fi-fr{background-image:url(./fr2.svg)}.fi-fr.fis{background-image:url(./fr.svg)}.fi-ga{background-image:url(./ga2.svg)}.fi-ga.fis{background-image:url(./ga.svg)}.fi-gb{background-image:url(./gb.svg)}.fi-gb.fis{background-image:url(./gb2.svg)}.fi-gd{background-image:url(./gd2.svg)}.fi-gd.fis{background-image:url(./gd.svg)}.fi-ge{background-image:url(./ge.svg)}.fi-ge.fis{background-image:url(./ge2.svg)}.fi-gf{background-image:url(./gf.svg)}.fi-gf.fis{background-image:url(./gf2.svg)}.fi-gg{background-image:url(./gg2.svg)}.fi-gg.fis{background-image:url(./gg.svg)}.fi-gh{background-image:url(./gh.svg)}.fi-gh.fis{background-image:url(./gh2.svg)}.fi-gi{background-image:url(./gi.svg)}.fi-gi.fis{background-image:url(./gi2.svg)}.fi-gl{background-image:url(./gl2.svg)}.fi-gl.fis{background-image:url(./gl.svg)}.fi-gm{background-image:url(./gm2.svg)}.fi-gm.fis{background-image:url(./gm.svg)}.fi-gn{background-image:url(./gn.svg)}.fi-gn.fis{background-image:url(./gn2.svg)}.fi-gp{background-image:url(./gp2.svg)}.fi-gp.fis{background-image:url(./gp.svg)}.fi-gq{background-image:url(./gq.svg)}.fi-gq.fis{background-image:url(./gq2.svg)}.fi-gr{background-image:url(./gr2.svg)}.fi-gr.fis{background-image:url(./gr.svg)}.fi-gs{background-image:url(./gs.svg)}.fi-gs.fis{background-image:url(./gs2.svg)}.fi-gt{background-image:url(./gt2.svg)}.fi-gt.fis{background-image:url(./gt.svg)}.fi-gu{background-image:url(./gu.svg)}.fi-gu.fis{background-image:url(./gu2.svg)}.fi-gw{background-image:url(./gw.svg)}.fi-gw.fis{background-image:url(./gw2.svg)}.fi-gy{background-image:url(./gy.svg)}.fi-gy.fis{background-image:url(./gy2.svg)}.fi-hk{background-image:url(./hk.svg)}.fi-hk.fis{background-image:url(./hk2.svg)}.fi-hm{background-image:url(./hm.svg)}.fi-hm.fis{background-image:url(./hm2.svg)}.fi-hn{background-image:url(./hn.svg)}.fi-hn.fis{background-image:url(./hn2.svg)}.fi-hr{background-image:url(./hr2.svg)}.fi-hr.fis{background-image:url(./hr.svg)}.fi-ht{background-image:url(./ht2.svg)}.fi-ht.fis{background-image:url(./ht.svg)}.fi-hu{background-image:url(./hu.svg)}.fi-hu.fis{background-image:url(./hu2.svg)}.fi-id{background-image:url(./id.svg)}.fi-id.fis{background-image:url(./id2.svg)}.fi-ie{background-image:url(./ie.svg)}.fi-ie.fis{background-image:url(./ie2.svg)}.fi-il{background-image:url(./il2.svg)}.fi-il.fis{background-image:url(./il.svg)}.fi-im{background-image:url(./im.svg)}.fi-im.fis{background-image:url(./im2.svg)}.fi-in{background-image:url(./in2.svg)}.fi-in.fis{background-image:url(./in.svg)}.fi-io{background-image:url(./io2.svg)}.fi-io.fis{background-image:url(./io.svg)}.fi-iq{background-image:url(./iq.svg)}.fi-iq.fis{background-image:url(./iq2.svg)}.fi-ir{background-image:url(./ir.svg)}.fi-ir.fis{background-image:url(./ir2.svg)}.fi-is{background-image:url(./is.svg)}.fi-is.fis{background-image:url(./is2.svg)}.fi-it{background-image:url(./it.svg)}.fi-it.fis{background-image:url(./it2.svg)}.fi-je{background-image:url(./je.svg)}.fi-je.fis{background-image:url(./je2.svg)}.fi-jm{background-image:url(./jm.svg)}.fi-jm.fis{background-image:url(./jm2.svg)}.fi-jo{background-image:url(./jo.svg)}.fi-jo.fis{background-image:url(./jo2.svg)}.fi-jp{background-image:url(./jp.svg)}.fi-jp.fis{background-image:url(./jp2.svg)}.fi-ke{background-image:url(./ke.svg)}.fi-ke.fis{background-image:url(./ke2.svg)}.fi-kg{background-image:url(./kg.svg)}.fi-kg.fis{background-image:url(./kg2.svg)}.fi-kh{background-image:url(./kh2.svg)}.fi-kh.fis{background-image:url(./kh.svg)}.fi-ki{background-image:url(./ki.svg)}.fi-ki.fis{background-image:url(./ki2.svg)}.fi-km{background-image:url(./km.svg)}.fi-km.fis{background-image:url(./km2.svg)}.fi-kn{background-image:url(./kn.svg)}.fi-kn.fis{background-image:url(./kn2.svg)}.fi-kp{background-image:url(./kp2.svg)}.fi-kp.fis{background-image:url(./kp.svg)}.fi-kr{background-image:url(./kr.svg)}.fi-kr.fis{background-image:url(./kr2.svg)}.fi-kw{background-image:url(./kw2.svg)}.fi-kw.fis{background-image:url(./kw.svg)}.fi-ky{background-image:url(./ky.svg)}.fi-ky.fis{background-image:url(./ky2.svg)}.fi-kz{background-image:url(./kz.svg)}.fi-kz.fis{background-image:url(./kz2.svg)}.fi-la{background-image:url(./la.svg)}.fi-la.fis{background-image:url(./la2.svg)}.fi-lb{background-image:url(./lb.svg)}.fi-lb.fis{background-image:url(./lb2.svg)}.fi-lc{background-image:url(./lc.svg)}.fi-lc.fis{background-image:url(./lc2.svg)}.fi-li{background-image:url(./li2.svg)}.fi-li.fis{background-image:url(./li.svg)}.fi-lk{background-image:url(./lk.svg)}.fi-lk.fis{background-image:url(./lk2.svg)}.fi-lr{background-image:url(./lr2.svg)}.fi-lr.fis{background-image:url(./lr.svg)}.fi-ls{background-image:url(./ls.svg)}.fi-ls.fis{background-image:url(./ls2.svg)}.fi-lt{background-image:url(./lt.svg)}.fi-lt.fis{background-image:url(./lt2.svg)}.fi-lu{background-image:url(./lu.svg)}.fi-lu.fis{background-image:url(./lu2.svg)}.fi-lv{background-image:url(./lv.svg)}.fi-lv.fis{background-image:url(./lv2.svg)}.fi-ly{background-image:url(./ly.svg)}.fi-ly.fis{background-image:url(./ly2.svg)}.fi-ma{background-image:url(./ma.svg)}.fi-ma.fis{background-image:url(./ma2.svg)}.fi-mc{background-image:url(./mc.svg)}.fi-mc.fis{background-image:url(./mc2.svg)}.fi-md{background-image:url(./md.svg)}.fi-md.fis{background-image:url(./md2.svg)}.fi-me{background-image:url(./me.svg)}.fi-me.fis{background-image:url(./me2.svg)}.fi-mf{background-image:url(./mf.svg)}.fi-mf.fis{background-image:url(./mf2.svg)}.fi-mg{background-image:url(./mg2.svg)}.fi-mg.fis{background-image:url(./mg.svg)}.fi-mh{background-image:url(./mh.svg)}.fi-mh.fis{background-image:url(./mh2.svg)}.fi-mk{background-image:url(./mk.svg)}.fi-mk.fis{background-image:url(./mk2.svg)}.fi-ml{background-image:url(./ml.svg)}.fi-ml.fis{background-image:url(./ml2.svg)}.fi-mm{background-image:url(./mm.svg)}.fi-mm.fis{background-image:url(./mm2.svg)}.fi-mn{background-image:url(./mn.svg)}.fi-mn.fis{background-image:url(./mn2.svg)}.fi-mo{background-image:url(./mo.svg)}.fi-mo.fis{background-image:url(./mo2.svg)}.fi-mp{background-image:url(./mp.svg)}.fi-mp.fis{background-image:url(./mp2.svg)}.fi-mq{background-image:url(./mq2.svg)}.fi-mq.fis{background-image:url(./mq.svg)}.fi-mr{background-image:url(./mr.svg)}.fi-mr.fis{background-image:url(./mr2.svg)}.fi-ms{background-image:url(./ms.svg)}.fi-ms.fis{background-image:url(./ms2.svg)}.fi-mt{background-image:url(./mt.svg)}.fi-mt.fis{background-image:url(./mt2.svg)}.fi-mu{background-image:url(./mu.svg)}.fi-mu.fis{background-image:url(./mu2.svg)}.fi-mv{background-image:url(./mv.svg)}.fi-mv.fis{background-image:url(./mv2.svg)}.fi-mw{background-image:url(./mw.svg)}.fi-mw.fis{background-image:url(./mw2.svg)}.fi-mx{background-image:url(./mx.svg)}.fi-mx.fis{background-image:url(./mx2.svg)}.fi-my{background-image:url(./my.svg)}.fi-my.fis{background-image:url(./my2.svg)}.fi-mz{background-image:url(./mz2.svg)}.fi-mz.fis{background-image:url(./mz.svg)}.fi-na{background-image:url(./na.svg)}.fi-na.fis{background-image:url(./na2.svg)}.fi-nc{background-image:url(./nc.svg)}.fi-nc.fis{background-image:url(./nc2.svg)}.fi-ne{background-image:url(./ne.svg)}.fi-ne.fis{background-image:url(./ne2.svg)}.fi-nf{background-image:url(./nf.svg)}.fi-nf.fis{background-image:url(./nf2.svg)}.fi-ng{background-image:url(./ng2.svg)}.fi-ng.fis{background-image:url(./ng.svg)}.fi-ni{background-image:url(./ni.svg)}.fi-ni.fis{background-image:url(./ni2.svg)}.fi-nl{background-image:url(./nl.svg)}.fi-nl.fis{background-image:url(./nl2.svg)}.fi-no{background-image:url(./no.svg)}.fi-no.fis{background-image:url(./no2.svg)}.fi-np{background-image:url(./np.svg)}.fi-np.fis{background-image:url(./np2.svg)}.fi-nr{background-image:url(./nr.svg)}.fi-nr.fis{background-image:url(./nr2.svg)}.fi-nu{background-image:url(./nu.svg)}.fi-nu.fis{background-image:url(./nu2.svg)}.fi-nz{background-image:url(./nz.svg)}.fi-nz.fis{background-image:url(./nz2.svg)}.fi-om{background-image:url(./om.svg)}.fi-om.fis{background-image:url(./om2.svg)}.fi-pa{background-image:url(./pa.svg)}.fi-pa.fis{background-image:url(./pa2.svg)}.fi-pe{background-image:url(./pe.svg)}.fi-pe.fis{background-image:url(./pe2.svg)}.fi-pf{background-image:url(./pf2.svg)}.fi-pf.fis{background-image:url(./pf.svg)}.fi-pg{background-image:url(./pg.svg)}.fi-pg.fis{background-image:url(./pg2.svg)}.fi-ph{background-image:url(./ph.svg)}.fi-ph.fis{background-image:url(./ph2.svg)}.fi-pk{background-image:url(./pk.svg)}.fi-pk.fis{background-image:url(./pk2.svg)}.fi-pl{background-image:url(./pl.svg)}.fi-pl.fis{background-image:url(./pl2.svg)}.fi-pm{background-image:url(./pm2.svg)}.fi-pm.fis{background-image:url(./pm.svg)}.fi-pn{background-image:url(./pn.svg)}.fi-pn.fis{background-image:url(./pn2.svg)}.fi-pr{background-image:url(./pr2.svg)}.fi-pr.fis{background-image:url(./pr.svg)}.fi-ps{background-image:url(./ps.svg)}.fi-ps.fis{background-image:url(./ps2.svg)}.fi-pt{background-image:url(./pt.svg)}.fi-pt.fis{background-image:url(./pt2.svg)}.fi-pw{background-image:url(./pw.svg)}.fi-pw.fis{background-image:url(./pw2.svg)}.fi-py{background-image:url(./py2.svg)}.fi-py.fis{background-image:url(./py.svg)}.fi-qa{background-image:url(./qa.svg)}.fi-qa.fis{background-image:url(./qa2.svg)}.fi-re{background-image:url(./re.svg)}.fi-re.fis{background-image:url(./re2.svg)}.fi-ro{background-image:url(./ro.svg)}.fi-ro.fis{background-image:url(./ro2.svg)}.fi-rs{background-image:url(./rs.svg)}.fi-rs.fis{background-image:url(./rs2.svg)}.fi-ru{background-image:url(./ru.svg)}.fi-ru.fis{background-image:url(./ru2.svg)}.fi-rw{background-image:url(./rw.svg)}.fi-rw.fis{background-image:url(./rw2.svg)}.fi-sa{background-image:url(./sa.svg)}.fi-sa.fis{background-image:url(./sa2.svg)}.fi-sb{background-image:url(./sb.svg)}.fi-sb.fis{background-image:url(./sb2.svg)}.fi-sc{background-image:url(./sc.svg)}.fi-sc.fis{background-image:url(./sc2.svg)}.fi-sd{background-image:url(./sd2.svg)}.fi-sd.fis{background-image:url(./sd.svg)}.fi-se{background-image:url(./se.svg)}.fi-se.fis{background-image:url(./se2.svg)}.fi-sg{background-image:url(./sg.svg)}.fi-sg.fis{background-image:url(./sg2.svg)}.fi-sh{background-image:url(./sh.svg)}.fi-sh.fis{background-image:url(./sh2.svg)}.fi-si{background-image:url(./si.svg)}.fi-si.fis{background-image:url(./si2.svg)}.fi-sj{background-image:url(./sj.svg)}.fi-sj.fis{background-image:url(./sj2.svg)}.fi-sk{background-image:url(./sk.svg)}.fi-sk.fis{background-image:url(./sk2.svg)}.fi-sl{background-image:url(./sl.svg)}.fi-sl.fis{background-image:url(./sl2.svg)}.fi-sm{background-image:url(./sm.svg)}.fi-sm.fis{background-image:url(./sm2.svg)}.fi-sn{background-image:url(./sn.svg)}.fi-sn.fis{background-image:url(./sn2.svg)}.fi-so{background-image:url(./so.svg)}.fi-so.fis{background-image:url(./so2.svg)}.fi-sr{background-image:url(./sr.svg)}.fi-sr.fis{background-image:url(./sr2.svg)}.fi-ss{background-image:url(./ss.svg)}.fi-ss.fis{background-image:url(./ss2.svg)}.fi-st{background-image:url(./st.svg)}.fi-st.fis{background-image:url(./st2.svg)}.fi-sv{background-image:url(./sv.svg)}.fi-sv.fis{background-image:url(./sv2.svg)}.fi-sx{background-image:url(./sx2.svg)}.fi-sx.fis{background-image:url(./sx.svg)}.fi-sy{background-image:url(./sy.svg)}.fi-sy.fis{background-image:url(./sy2.svg)}.fi-sz{background-image:url(./sz.svg)}.fi-sz.fis{background-image:url(./sz2.svg)}.fi-tc{background-image:url(./tc.svg)}.fi-tc.fis{background-image:url(./tc2.svg)}.fi-td{background-image:url(./td.svg)}.fi-td.fis{background-image:url(./td2.svg)}.fi-tf{background-image:url(./tf2.svg)}.fi-tf.fis{background-image:url(./tf.svg)}.fi-tg{background-image:url(./tg.svg)}.fi-tg.fis{background-image:url(./tg2.svg)}.fi-th{background-image:url(./th2.svg)}.fi-th.fis{background-image:url(./th.svg)}.fi-tj{background-image:url(./tj.svg)}.fi-tj.fis{background-image:url(./tj2.svg)}.fi-tk{background-image:url(./tk2.svg)}.fi-tk.fis{background-image:url(./tk.svg)}.fi-tl{background-image:url(./tl.svg)}.fi-tl.fis{background-image:url(./tl2.svg)}.fi-tm{background-image:url(./tm.svg)}.fi-tm.fis{background-image:url(./tm2.svg)}.fi-tn{background-image:url(./tn2.svg)}.fi-tn.fis{background-image:url(./tn.svg)}.fi-to{background-image:url(./to.svg)}.fi-to.fis{background-image:url(./to2.svg)}.fi-tr{background-image:url(./tr.svg)}.fi-tr.fis{background-image:url(./tr2.svg)}.fi-tt{background-image:url(./tt.svg)}.fi-tt.fis{background-image:url(./tt2.svg)}.fi-tv{background-image:url(./tv2.svg)}.fi-tv.fis{background-image:url(./tv.svg)}.fi-tw{background-image:url(./tw.svg)}.fi-tw.fis{background-image:url(./tw2.svg)}.fi-tz{background-image:url(./tz.svg)}.fi-tz.fis{background-image:url(./tz2.svg)}.fi-ua{background-image:url(./ua.svg)}.fi-ua.fis{background-image:url(./ua2.svg)}.fi-ug{background-image:url(./ug2.svg)}.fi-ug.fis{background-image:url(./ug.svg)}.fi-um{background-image:url(./um.svg)}.fi-um.fis{background-image:url(./um2.svg)}.fi-us{background-image:url(./us.svg)}.fi-us.fis{background-image:url(./us2.svg)}.fi-uy{background-image:url(./uy.svg)}.fi-uy.fis{background-image:url(./uy2.svg)}.fi-uz{background-image:url(./uz.svg)}.fi-uz.fis{background-image:url(./uz2.svg)}.fi-va{background-image:url(./va2.svg)}.fi-va.fis{background-image:url(./va.svg)}.fi-vc{background-image:url(./vc2.svg)}.fi-vc.fis{background-image:url(./vc.svg)}.fi-ve{background-image:url(./ve2.svg)}.fi-ve.fis{background-image:url(./ve.svg)}.fi-vg{background-image:url(./vg.svg)}.fi-vg.fis{background-image:url(./vg2.svg)}.fi-vi{background-image:url(./vi.svg)}.fi-vi.fis{background-image:url(./vi2.svg)}.fi-vn{background-image:url(./vn2.svg)}.fi-vn.fis{background-image:url(./vn.svg)}.fi-vu{background-image:url(./vu.svg)}.fi-vu.fis{background-image:url(./vu2.svg)}.fi-wf{background-image:url(./wf.svg)}.fi-wf.fis{background-image:url(./wf2.svg)}.fi-ws{background-image:url(./ws.svg)}.fi-ws.fis{background-image:url(./ws2.svg)}.fi-ye{background-image:url(./ye.svg)}.fi-ye.fis{background-image:url(./ye2.svg)}.fi-yt{background-image:url(./yt.svg)}.fi-yt.fis{background-image:url(./yt2.svg)}.fi-za{background-image:url(./za.svg)}.fi-za.fis{background-image:url(./za2.svg)}.fi-zm{background-image:url(./zm.svg)}.fi-zm.fis{background-image:url(./zm2.svg)}.fi-zw{background-image:url(./zw.svg)}.fi-zw.fis{background-image:url(./zw2.svg)}.fi-arab{background-image:url(./arab.svg)}.fi-arab.fis{background-image:url(./arab2.svg)}.fi-cefta{background-image:url(./cefta2.svg)}.fi-cefta.fis{background-image:url(./cefta.svg)}.fi-cp{background-image:url(./cp.svg)}.fi-cp.fis{background-image:url(./cp2.svg)}.fi-dg{background-image:url(./dg2.svg)}.fi-dg.fis{background-image:url(./dg.svg)}.fi-eac{background-image:url(./eac.svg)}.fi-eac.fis{background-image:url(./eac2.svg)}.fi-es-ct{background-image:url(./es-ct.svg)}.fi-es-ct.fis{background-image:url(./es-ct2.svg)}.fi-es-ga{background-image:url(./es-ga.svg)}.fi-es-ga.fis{background-image:url(./es-ga2.svg)}.fi-es-pv{background-image:url(./es-pv.svg)}.fi-es-pv.fis{background-image:url(./es-pv2.svg)}.fi-eu{background-image:url(./eu.svg)}.fi-eu.fis{background-image:url(./eu2.svg)}.fi-gb-eng{background-image:url(./gb-eng2.svg)}.fi-gb-eng.fis{background-image:url(./gb-eng.svg)}.fi-gb-nir{background-image:url(./gb-nir2.svg)}.fi-gb-nir.fis{background-image:url(./gb-nir.svg)}.fi-gb-sct{background-image:url(./gb-sct.svg)}.fi-gb-sct.fis{background-image:url(./gb-sct2.svg)}.fi-gb-wls{background-image:url(./gb-wls.svg)}.fi-gb-wls.fis{background-image:url(./gb-wls2.svg)}.fi-ic{background-image:url(./ic2.svg)}.fi-ic.fis{background-image:url(./ic.svg)}.fi-pc{background-image:url(./pc.svg)}.fi-pc.fis{background-image:url(./pc2.svg)}.fi-sh-ac{background-image:url(./sh-ac.svg)}.fi-sh-ac.fis{background-image:url(./sh-ac2.svg)}.fi-sh-hl{background-image:url(./sh-hl.svg)}.fi-sh-hl.fis{background-image:url(./sh-hl2.svg)}.fi-sh-ta{background-image:url(./sh-ta.svg)}.fi-sh-ta.fis{background-image:url(./sh-ta2.svg)}.fi-un{background-image:url(./un.svg)}.fi-un.fis{background-image:url(./un2.svg)}.fi-xk{background-image:url(./xk.svg)}.fi-xk.fis{background-image:url(./xk2.svg)}._button_diw5d_1{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._container_1ksto_17,._paymentMethodContainer_1ksto_17{display:flex}._exchangeName_1ksto_21{width:30%}._infoButton_1ksto_25{background:none;border:none;cursor:pointer;padding:0;position:absolute;right:calc(var(--space-default) * -1);top:50%;transform:translateY(-50%)}._outerContainer_1ksto_37{position:relative}._paymentMethodsContainer_1ksto_41{display:flex;flex-direction:column;width:70%}._paymentMethodName_1ksto_47{color:var(--color-default);display:inline-block;font-weight:400;line-height:22px;margin:0}._paymentMethodName_1ksto_47 img{margin-right:var(--space-quarter)}._paymentMethodContainer_1ksto_17:not(:first-child){margin-top:var(--space-eight)}._paymentMethodContainer_1ksto_17>span{flex-basis:124px;flex-grow:1}._radio_1ksto_67{--size-default: 14px;background-color:var(--background-secondary);border:1px solid var(--background-quaternary);display:block;padding:8px}._radio_1ksto_67:hover,._radio_1ksto_67 *:hover{cursor:pointer}._radio_1ksto_67 input{display:none}._radio_1ksto_67 input+label{display:inline-flex;flex-direction:column;font-size:var(--size-default);line-height:1.5;margin:0;padding-left:calc(var(--space-half) + var(--space-quarter));position:relative}._radio_1ksto_67 input+label:before,._radio_1ksto_67 input+label:after{background:var(--background-secondary);content:"";display:inline-block;width:12px;height:12px;position:absolute;top:4px;left:0;transition:all .1s ease}._radio_1ksto_67 input+label:before{border:1px solid rgb(220,220,220);border-radius:1em}._radio_1ksto_67 input+label:after{background:var(--color-info);border-radius:1em;width:10px;height:10px;position:absolute;top:6px;left:2px;opacity:0;transform:scale(0)}._radioLabel_1ksto_123{width:100%}._text_1ksto_127{color:var(--color-default);margin:0}._radio_1ksto_67[aria-checked=true]{background-color:var(--background-focus)}._radio_1ksto_67:focus{position:relative;z-index:2}._radio_1ksto_67 input:checked+label:before{background-color:var(--background-secondary)}._radio_1ksto_67 input:checked+label:after{opacity:1;transform:scale(1)}._radio_1ksto_67 input[type=radio]:focus+label:before{box-shadow:0 0 2px 2px var(--color-info);outline:none;outline-offset:0}._radio_1ksto_67 input[type=radio]:checked:focus+label:before{box-shadow:0 0 2px 2px var(--color-info)}._radio_1ksto_67 input:disabled+label:before{background:rgb(248,248,248);border-color:#dcdcdc;cursor:not-allowed}._radio_1ksto_67[aria-disabled=true]{background-color:#fff}._radio_1ksto_67[aria-disabled=true],._radio_1ksto_67[aria-disabled=true] *{cursor:not-allowed}span[role=radio]:focus{outline-color:var(--color-blue)}._container_h94uh_1 p,._container_h94uh_1 ul{margin:0}._buttonBack_62uya_17{margin-right:auto}._buttonsContainer_62uya_21{display:flex;margin-top:var(--space-half);justify-content:center}._container_62uya_27{margin-top:calc(var(--space-default) * 1.5)}._exchangeContainer_62uya_31{display:flex;flex-direction:column;min-height:300px}._exchangeContainer_62uya_31.content{flex-grow:0;flex-shrink:0;margin:auto;padding-right:40px}._header_62uya_44{position:relative;z-index:2200}._selectContainer_62uya_49{position:relative;margin-bottom:var(--space-half)}._selectContainer_62uya_49>div{position:relative}._selectContainer_62uya_49>div>div{margin:0}._label_62uya_62{color:var(--color-gray-alt);line-height:22px;margin:0;margin-bottom:var(--space-eight)}._noExchangeText_62uya_69{color:var(--color-gray-alt);line-height:22px;margin:0;margin-top:calc((var(--space-eight) + var(--space-half)));margin-left:calc((var(--space-eight) + var(--space-quarter)))}._radioButtonsContainer_62uya_77{min-height:180px}._title_62uya_81{font-size:2rem;font-weight:400;margin-top:0;margin-bottom:var(--space-default);text-align:center}._dropdown_9chnx_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-half) + var(--space-eight))}._flag_9chnx_10{font-size:20px}._globe_9chnx_14{margin-top:3px;width:26px;height:22px}._optionsContainer_9chnx_20{align-items:center;display:flex}._select_9chnx_25 .react-select__input-container,._select_9chnx_25 .react-select__single-value{color:var(--color-default)}._select_9chnx_25 .react-select__menu,._select_9chnx_25 .react-select__option{background-color:var(--background-secondary)}._select_9chnx_25 .react-select__option:hover{background-color:var(--background-custom-select-hover)}._select_9chnx_25 .react-select__option--is-selected,._select_9chnx_25 .react-select__option--is-selected:hover{background-color:var(--background-custom-select-selected)}._select_9chnx_25 .react-select__control{background-color:var(--background-secondary);padding:var(--space-quarter) var(--space-eight)}._select_9chnx_25 .react-select__input-container{padding-left:var(--space-default)}._selectLabelText_9chnx_59{color:var(--color-default);margin-left:6px}._singleValueContainer_9chnx_64{align-items:center;display:flex;left:var(--space-quarter);position:absolute}._overlay_12k4v_1{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:0;left:0;height:100%;width:100%;background-color:var(--bg-transparent-dark);z-index:4010;opacity:0}._overlay_12k4v_1._activeOverlay_12k4v_16{opacity:1}._modal_12k4v_20{background-color:var(--background-secondary);width:100%;max-width:420px;border-radius:2px;box-shadow:0 3px 5px #0000004d;text-align:left;max-height:100vh;overflow:auto;opacity:0}._modal_12k4v_20._activeModal_12k4v_32{opacity:1}._modal_12k4v_20._small_12k4v_38{max-width:340px;width:100%}._modal_12k4v_20._medium_12k4v_43{max-width:520px;width:100%}._modal_12k4v_20._large_12k4v_49{max-width:800px;width:100%}._header_12k4v_54{height:var(--item-height);display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 var(--space-half);border-bottom:solid 1px var(--color-lightgray)}._header_12k4v_54._centered_12k4v_64{justify-content:center}._header_12k4v_54 ._title_12k4v_68{margin:0;font-size:var(--size-subheader);font-weight:400}._closeButton_12k4v_74{background:none;border:none;padding:0;width:auto!important}._closeButton_12k4v_74:focus{outline:none}._closeButton_12k4v_74:disabled{color:var(--color-secondary)}._header_12k4v_54 ._closeButton_12k4v_74,._header_12k4v_54 ._closeButton_12k4v_74 img{width:18px;height:18px}._contentContainer_12k4v_95{font-size:var(--size-default);font-weight:400;padding:var(--space-half)}._contentContainer_12k4v_95._slim_12k4v_101{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-default)}._content_12k4v_95 p{word-break:break-word}._actions_12k4v_113 button,._actions_12k4v_113 a,._small_12k4v_38 ._actions_12k4v_113 button,._small_12k4v_38 ._actions_12k4v_113 a{width:100%}._actions_12k4v_113>*:not(:last-child),._small_12k4v_38 ._actions_12k4v_113>*:not(:last-child){margin-bottom:var(--space-quarter)}._actions_12k4v_113{margin-top:var(--space-quarter)}._confirmationLabel_12k4v_131{position:relative;line-height:1.3;font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);padding-left:24px}._confirmationLabelNumber_12k4v_140{display:inline-block;position:absolute;left:0}._disabledLabel_12k4v_146,._disabledLabel_12k4v_146 span{color:var(--color-mediumgray)!important}._noStep_12k4v_151{padding-left:0}._confirmationInstructions_12k4v_155{margin:0;padding:var(--space-half) 0 var(--space-quarter) 0}._confirmationInstructions_12k4v_155>div{width:50%}._confirmationInstructions_12k4v_155 p{line-height:1;margin-top:var(--space-quarter)}._confirmationInstructions_12k4v_155._confirm_12k4v_131{text-align:center;font-size:var(--size-subheader);padding:var(--space-half) calc(var(--space-half) * 1.5)}._image_12k4v_175{height:120px;margin-right:var(--space-half)}._modalContent_12k4v_180 p{font-size:var(--size-default);font-weight:400}._modalContent_12k4v_180>*:first-child{margin-top:0}._detail_12k4v_189{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detail_12k4v_189:not(:first-child){border-top:solid 1px var(--color-lightgray)}._detail_12k4v_189 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_12k4v_189 label,._detail_12k4v_189 p{margin:0;line-height:1}._detail_12k4v_189._description_12k4v_213>span{text-align:right}._buttons_12k4v_217{padding:var(--space-quarter)}._buttons_12k4v_217 button:first-child{margin-right:10px}._buttons_12k4v_217 button{width:50%}._dialogButtons_12k4v_229{display:flex;flex-direction:row-reverse;justify-content:space-between;margin-top:var(--space-default)}._dialogButtons_12k4v_229>*:only-child{width:100%}@media (max-width: 768px){._modal_12k4v_20{padding:0}._contentContainer_12k4v_95._padded_12k4v_105{padding:var(--space-half)}}._button_1djzh_1{align-items:center;background-color:var(--background-secondary);border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:row;height:18px;justify-content:center;margin-top:var(--spacing-half);min-width:18px!important;padding:0;position:absolute;right:var(--spacing-default);top:10px;transition:background-color ease .2s;width:18px;will-change:background-color}._button_1djzh_1 img{width:18px}._button_1djzh_1:focus{outline:none}._button_1djzh_1:disabled{cursor:not-allowed}._success_1djzh_34{background-color:var(--color-success)!important}._container_1djzh_38{position:relative}._inputField_1djzh_42{border:1px solid var(--background-quaternary);border-radius:2px;flex:1;font-size:var(--size-default);font-weight:400;height:52px;margin-bottom:0;min-width:200px!important;padding:var(--space-half) calc(var(--space-default) * 1.2 + 5px) var(--space-half) calc(var(--space-half) * .5);resize:none;width:100%}@media screen and (min-width: 640px){._inputField_1djzh_42{text-align:center}}._inputField_1djzh_42:focus{outline:solid 1px var(--color-blue)}@media screen and (max-width: 640px){._button_1djzh_1{margin-left:var(--space-quarter)}}._flexibleHeight_1djzh_72{height:auto}._alignLeft_1djzh_76{text-align:left}._alignRight_1djzh_80{text-align:right}._borderLess_1djzh_84,._borderLess_1djzh_84:focus{border:none;border-radius:0;outline:none}._empty_gzy3c_1{width:256px;height:256px;color:var(--color-secondary)}._title_nnme6_1{font-size:var(--header-default-font-size);font-weight:400}._nextButton_nnme6_6{background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:2px;text-align:left;margin:0 0 0 -2px}._details_nnme6_17{font-size:var(--size-default);margin-bottom:var(--space-default)}._qrCode_nnme6_22{min-height:260px;text-align:center}._qrCode_nnme6_22 img{height:auto;max-width:100%}._buttons_nnme6_35{clear:both;display:flex;justify-content:space-between;min-height:3.5rem}._verifyButton_nnme6_42{order:2}._entry_nnme6_46{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--space-half)}@media screen and (min-width: 640px){._xPubInfo_nnme6_55{max-width:calc(100% - 218px)}._details_nnme6_17{display:flex;flex-direction:column;min-height:180px}._entry_nnme6_46:first-child{margin-top:0}._qrCode_nnme6_22{float:right;position:relative;top:-38px;right:calc(-1 * var(--space-default))}}@media (max-width: 640px){._infoContent_nnme6_82{width:100%}._largeEntry_nnme6_86{align-items:stretch;flex-direction:column}._largeEntry_nnme6_86 strong{display:block;margin-bottom:var(--space-quarter)}._addressField_nnme6_96 input{font-size:var(--size-small)}._qrCode_nnme6_22{margin-left:calc(-1 * var(--space-default));margin-right:calc(-1 * var(--space-default))}}._labels_1m4jx_1{align-items:center;display:flex;justify-content:space-between;margin:var(--spacing-default) 0}._label_1m4jx_1{color:var(--color-secondary);flex-grow:1;font-size:var(--size-default);font-weight:400;margin:0;padding:0 var(--space-quarter)}._qrCodeContainer_1m4jx_17{margin-bottom:var(--space-default);min-height:260px}._arrowLeft_1m4jx_22,._arrowRight_1m4jx_23{width:16px;position:relative;top:3px}._arrowLeft_1m4jx_22{margin-right:3px}._arrowRight_1m4jx_23{margin-left:3px}._previous_1m4jx_37,._next_1m4jx_38{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--color-blue);font-size:var(--size-button);line-height:1;padding:0;text-decoration:none}._hide_1m4jx_49{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-secondary)}._changeType_1m4jx_58{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--color-secondary);cursor:pointer;display:inline-block;text-align:center;text-decoration:underline;padding:var(--space-quarter)}._container_1ooxc_1{margin:0 auto;position:relative;padding:calc(var(--space-default) * 1.5);width:100%}._container_1ooxc_1._withCloseBtn_1ooxc_7{padding-right:60px}.padded ._container_1ooxc_1{max-width:var(--content-width)}._status_1ooxc_15{font-size:var(--size-subheader);max-width:800px;text-align:left}._success_1ooxc_21{background-color:var(--color-success)}._warning_1ooxc_25{background-color:var(--color-warning)}._info_1ooxc_29{background-color:var(--color-info)}._success_1ooxc_21,._warning_1ooxc_25,._info_1ooxc_29,._success_1ooxc_21 label,._warning_1ooxc_25 label,._info_1ooxc_29 label{color:var(--color-alt)}._close-success_1ooxc_42{background:var(--color-darkgreen)}._close-warning_1ooxc_46{background:var(--color-swissred)}._close-info_1ooxc_50{background:var(--color-darkblue)}._close_1ooxc_42{border:none;line-height:.5;padding:var(--space-half);position:absolute;top:0;right:0}._close_1ooxc_42 svg{width:18px;height:18px}._withCloseBtn_1ooxc_7 ._status_1ooxc_15:before{content:"";float:right;height:18px;padding-bottom:2px;padding-left:var(--space-default);width:18px}@media (max-width: 1199px){._container_1ooxc_1{padding:calc(var(--space-half) * 1.5)}}._space_tpxrt_1{margin-left:.33ch}._rates_19qqe_1{cursor:default;line-height:1;margin:0;white-space:nowrap}._unit_19qqe_8{font-weight:400}._unit_19qqe_8,._unitAction_19qqe_13{color:var(--color-secondary);font-size:var(--size-default);font-variant:normal;position:relative}._availableFiatAmount_19qqe_24{padding-right:var(--space-quarter)!important;text-align:right}._availableFiatUnitNoAction_19qqe_29,._availableFiatUnit_19qqe_29{color:var(--color-secondary);cursor:default;position:relative}._unitAction_19qqe_13:after,._availableFiatUnit_19qqe_29:after{border-bottom:dotted 1px var(--color-softblack);content:"";position:absolute;bottom:0;left:2px;right:2px}._notAvailable_19qqe_46{color:var(--color-default)}@media (max-width: 880px){._fiatRow_19qqe_20{bottom:0}._availableFiatAmount_19qqe_24,._availableFiatUnit_19qqe_29{line-height:24px}}@media (max-width: 640px){._availableFiatUnit_19qqe_29:after{border-bottom:none}}._balanceTable_m2hui_1{align-items:flex-end;border-collapse:collapse;border-spacing:0;display:flex;flex-direction:row;position:relative}._balanceTable_m2hui_1 tr{display:inline-block;vertical-align:bottom}._balanceTable_m2hui_1 td{font-size:var(--size-large);font-weight:400;line-height:1.2;padding:0;vertical-align:baseline}._balanceTable_m2hui_1 td:last-child{font-size:var(--size-default)}._balanceTable_m2hui_1 ._availableAmount_m2hui_27{padding-right:var(--space-quarter);text-align:right}._balanceTable_m2hui_1 ._availableUnit_m2hui_32{color:var(--color-secondary);padding-right:var(--space-half)}._pendingBalance_m2hui_37{color:var(--color-secondary);font-size:var(--size-small);line-height:1;margin:0;padding-top:var(--space-half)}@media (max-width: 768px){._balanceTable_m2hui_1{display:inline-block;margin:0 auto}._balanceTable_m2hui_1 td{font-size:var(--size-large-mobile);line-height:1.5}._pendingBalance_m2hui_37{padding-top:var(--space-quarter)}}@media (max-width: 560px){._balanceTable_m2hui_1 td{font-size:var(--size-subheader)}}._row_1qpuo_1{display:flex;flex-direction:column}._rowCustomFee_1qpuo_6{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12{flex-basis:50%;flex-grow:1;flex-shrink:0}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:first-child{flex-basis:50%}._rowCustomFee_1qpuo_6 ._column_1qpuo_12:nth-child(2){flex-basis:50%}@media (min-width: 640px){._row_1qpuo_1{display:flex;flex-direction:row;flex-wrap:wrap}._column_1qpuo_12:first-child{flex-basis:50%}._column_1qpuo_12:nth-child(2){flex-basis:50%}}._rowCustomFee_1qpuo_6 select._priority_1qpuo_38{border-right:none;padding-right:0}._rowCustomFee_1qpuo_6 ._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0;border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;padding-left:0}}select:disabled._priority_1qpuo_38{border-color:var(--background)!important}select._priority_1qpuo_38{border-color:var(--background-quaternary)!important}@media (min-width: 640px){._fee_1qpuo_42 input:disabled{border-color:var(--background)!important}._fee_1qpuo_42 input{border-color:var(--background-quaternary)!important}}@media (max-width: 639px){._row_1qpuo_1 ._fee_1qpuo_42 *{display:block!important;text-align:left!important}._row_1qpuo_1 ._fee_1qpuo_42 input{border:none;color:var(--color-secondary)!important;font-size:var(--size-small);font-weight:400;height:auto;margin-top:0;padding:0}}._feeCustom_1qpuo_91 input{padding-right:58px}._feeDescription_1qpuo_95,._feeProposed_1qpuo_96{color:var(--color-secondary);flex:0 0 100%;font-size:var(--size-small);font-weight:400;margin-top:0}._feeProposed_1qpuo_96{margin:0}._feeDescription_1qpuo_95+._feeProposed_1qpuo_96{margin:var(--space-quarter) 0 0 0}._customFeeUnit_1qpuo_112{bottom:0;color:var(--color-secondary);font-size:var(--size-default);line-height:50px;padding-right:var(--space-half);position:absolute;right:0;width:auto}._utxosList_8ra1q_1{list-style:none;padding:0 0 var(--space-half) 0}._utxosList_8ra1q_1 label{-webkit-user-select:text;user-select:text;width:100%}._utxo_8ra1q_1{margin-top:var(--space-half);padding:0 0 var(--space-eight) 0;border-bottom:solid 1px var(--color-lightgray)}._utxoContent_8ra1q_17{align-items:flex-start;color:var(--color-default);display:flex;flex-wrap:nowrap;font-size:var(--size-subheader)}._note_8ra1q_25{color:var(--color-default);font-size:var(--size-subheader);line-height:1.5;margin-top:-7px;margin-bottom:var(--space-quarter)}._utxoData_8ra1q_33{flex-basis:auto;flex-grow:1;flex-shrink:1;overflow-x:hidden;overflow-y:auto}._utxoExplorer_8ra1q_41{margin-top:calc(var(--space-quarter) * -1);padding:var(--space-quarter)}._utxoExplorer_8ra1q_41 img{width:18px;height:18px}._amounts_8ra1q_51{padding-bottom:var(--space-quarter)}._amount_8ra1q_51{margin-right:var(--space-quarter)}._label_8ra1q_59,._unit_8ra1q_60{color:var(--color-secondary)}._label_8ra1q_59{display:inline-block;padding-right:4px}._unit_8ra1q_60{font-size:var(--size-default)}._address_8ra1q_73,._transaction_8ra1q_74{display:flex;font-size:var(--size-default);line-height:1.4;white-space:nowrap}._shrink_8ra1q_81{overflow:hidden;text-overflow:ellipsis}._confirmItem_1e5e5_1 p{margin-top:var(--space-quarter);word-break:break-all}._confirmationValue_1e5e5_6{font-size:var(--size-default);font-weight:400;line-height:1;overflow:hidden;text-overflow:ellipsis;direction:rtl}._total_1e5e5_15 p{font-size:var(--size-subheader)!important;margin-bottom:var(--space-quarter)}._spinnerAnimationContainer_18sha_1{align-items:center;display:flex;height:0;justify-content:center;position:relative;top:150px}._qrVideo_18sha_10{width:100%;margin-bottom:var(--spacing-default)}._qrVideo_18sha_10+.scan-region-highlight svg{stroke:var(--color-darkyellow)!important;stroke-width:3!important}._inputWithIcon_drrz7_1{position:relative}._inputWithIcon_drrz7_1 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}._action_drrz7_9{color:var(--color-blue);font-size:var(--size-small);font-weight:400;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}._qrButton_drrz7_18{align-items:center;display:flex;border:none;background-color:var(--background-secondary);height:36px;width:36px;justify-content:center;padding:0;position:absolute;top:calc(50% - var(--space-quarter));right:calc(var(--spacing-default) - var(--space-quarter));cursor:pointer}._qrButton_drrz7_18 img{width:18px;height:18px}._maxAmount_1t5n0_1 label{display:block!important;margin-right:0!important}._maxAmount_1t5n0_1 label:before{top:-2px!important}._maxAmount_1t5n0_1 label:after{margin-top:-3px!important}._labelDescription_5etm5_1{color:var(--color-secondary);font-size:var(--size-small);font-weight:400;margin-top:0}._container_8f83b_1{margin-top:calc(var(--space-default) * 1.5)}._skeleton_13p4i_1{animation:_skeleton-loading_13p4i_1 1.4s ease infinite;background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(129,129,129,.24) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;display:inline-block;max-width:100%;overflow:clip}._skeleton_13p4i_1:before{color:transparent;content:"_";display:block;line-height:1;min-width:1em}@keyframes _skeleton-loading_13p4i_1{0%{background-position:100% 50%}to{background-position:0 50%}}._chart_1bo3n_1{box-sizing:border-box;margin-bottom:var(--spacing-large);position:relative}._invisible_1bo3n_7{visibility:hidden}._chartUpdatingMessage_1bo3n_11{align-items:center;color:var(--color-tertiary);display:flex;flex-direction:column;justify-content:center;padding:0 var(--space-half);text-align:center}._chart_1bo3n_1 header{display:flex;flex-wrap:wrap;margin-bottom:var(--spacing-half);min-height:68px}._summary_1bo3n_28{margin:0 auto;display:flex;flex-direction:column;align-items:flex-start}._filters_1bo3n_35{align-items:baseline;display:flex;flex-wrap:wrap;flex-grow:1;justify-content:flex-end;margin:var(--spacing-half) 0 0 0}@media (max-width: 640px){._chart_1bo3n_1{margin-bottom:var(--spacing-default)}._summary_1bo3n_28{align-items:center}._filters_1bo3n_35{justify-content:center;margin-top:var(--spacing-default)}}._filters_1bo3n_35 button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-secondary);border:2px solid var(--background-secondary);border-radius:2rem;color:var(--color-default);font-size:var(--size-default);line-height:1.75;margin-bottom:var(--spacing-half);margin-left:var(--spacing-half);padding:0 calc(var(--spacing-default) * .75)}._filters_1bo3n_35 button:hover:not([disabled]){cursor:pointer}._filters_1bo3n_35 button:hover:is([disabled]){cursor:not-allowed}._filters_1bo3n_35 button:focus{border:2px solid var(--color-blue);outline:none}._filters_1bo3n_35 button._filterActive_1bo3n_87{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-alt)}._filters_1bo3n_35 button[disabled]{background:var(--background-quaternary);border-color:var(--background-quaternary);color:var(--color-alt)}.dark-mode ._filters_1bo3n_35 button[disabled]{background:var(--background-secondary);border-color:var(--background-secondary);color:var(--color-disabled)}._arrow_1bo3n_104 svg{margin-right:.25rem;vertical-align:text-bottom}._up_1bo3n_109{color:var(--color-green)}._down_1bo3n_113{color:var(--color-softred)}._totalValue_1bo3n_117{font-size:2rem}._totalUnit_1bo3n_121{color:var(--color-secondary);display:inline-block;font-size:1.4rem;padding:0 .25rem}._diffValue_1bo3n_128{font-size:1.2rem}._diffUnit_1bo3n_132{font-size:1rem;padding:0 .25rem}._chartCanvas_1bo3n_137{position:relative}@media (max-width: 640px){._chartCanvas_1bo3n_137{max-width:100%;overflow:hidden}}._tooltip_1bo3n_149{background:var(--background-secondary);border:1px solid var(--background);border-radius:3px;font-size:var(--size-small);margin-top:-25px;min-width:140px;padding:.75rem .6rem;pointer-events:none;position:absolute;text-align:center;transition:left .03s ease-out,top .03s ease-out;z-index:12}._toolTipValue_1bo3n_164{font-weight:400;font-size:1rem;margin:0 0 .25rem}._toolTipUnit_1bo3n_170{color:var(--color-secondary);font-size:var(--size-small);padding:0 .125rem}._toolTipTime_1bo3n_176{white-space:nowrap}._spinnerContainer_1akm7_1{position:relative;display:inline-block}._spinner_1akm7_1{color:var(--color-blue)}._spinner_1akm7_1:after{position:relative;top:2px;animation:_changeContent_1akm7_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_1akm7_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._balanceTable_1v4c8_1{margin:0 0 var(--spacing-large) 0}._coincode_1v4c8_4{height:24px}._coinheader_1v4c8_9{display:flex;flex-direction:row;align-items:center}._coinheader_1v4c8_9>div:first-child{height:24px;margin-right:calc(var(--space-half) / 2)}._dataMissing_1v4c8_20{text-align:center}._openFileText_1v4c8_24{color:var(--color-primary);cursor:pointer;font-size:var(--size-small)}._table_1v4c8_30{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-default);border:solid 1px var(--background-quaternary)}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{height:52px;padding:var(--space-half);text-align:left;font-weight:400}._table_1v4c8_30 tr td._noAccount_1v4c8_45{text-align:center}._table_1v4c8_30 tr>td:not(:first-child),._table_1v4c8_30 tr>th:not(:first-child){text-align:right}._table_1v4c8_30 thead th{border-bottom:solid 1px var(--background-quaternary)}._table_1v4c8_30 thead th,._table_1v4c8_30 tfoot th{background-color:var(--background-secondary);font-size:var(--size-default);font-weight:700}._table_1v4c8_30 thead th:first-child,._table_1v4c8_30 tfoot th:first-child{padding-left:calc(24px + var(--space-default))}._table_1v4c8_30 tr td{font-size:var(--size-default)!important;line-height:1.5714}._table_1v4c8_30 tbody td{background-color:var(--background-secondary)}._clickable_1v4c8_80{cursor:pointer}._summaryTableBalance_1v4c8_84{white-space:nowrap}._table_1v4c8_30 tfoot th,._table_1v4c8_30 tfoot td{background-color:var(--background-secondary);padding-bottom:calc(var(--space-quarter) + var(--space-half))}._coinName_1v4c8_94{display:flex}._coinName_1v4c8_94 img{flex-shrink:0;margin-right:var(--spacing-default);vertical-align:middle}._coinUnit_1v4c8_104{color:var(--color-secondary)}._syncText_1v4c8_108{font-variant:tabular-nums}._showOnTableView_1v4c8_112{display:block}._showInCollapsedView_1v4c8_116{display:none}@media (max-width: 640px){._showOnTableView_1v4c8_112{display:none}._showInCollapsedView_1v4c8_116{display:block}._table_1v4c8_30 tr td,._table_1v4c8_30 tr th{padding:var(--spacing-default)}._table_1v4c8_30 thead{display:none}._table_1v4c8_30,._table_1v4c8_30 tbody,._table_1v4c8_30 tbody tr,._table_1v4c8_30 tfoot{display:block}._table_1v4c8_30 tfoot tr{background-color:var(--background-secondary);display:flex;justify-content:space-between}._table_1v4c8_30 tfoot th:first-child{padding-left:var(--space-half)}._table_1v4c8_30 tbody td{display:flex;justify-content:space-between;height:auto;padding-bottom:0}._table_1v4c8_30 tbody td:before{content:attr(data-label);white-space:nowrap}._subTotal_1v4c8_167 td:before{font-weight:700}._table_1v4c8_30 tbody td:last-child{border-bottom:solid 1px var(--color-mediumgray);padding-bottom:var(--spacing-default)}._coinName_1v4c8_94{position:relative}._coinName_1v4c8_94 img{left:-2rem;position:absolute;top:-3px}}._container_1mptn_1{display:flex;justify-content:center}._container_1mptn_1>button:first-child{margin-right:var(--space-half)}._main_1mptn_8{padding:calc(var(--space-default) * 1.5) 0}._main_1mptn_8>*{margin-right:0!important;text-align:center}._walletConnect_1mptn_17{margin-left:var(--space-half)}._walletConnect_1mptn_17 span{margin-left:var(--space-eight)}._container_17oq2_1{align-items:center;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;padding:0 var(--space-half)}._scrollable_17oq2_17{overflow:auto}._agreements_17oq2_22{margin-bottom:var(--spacing-default)}._agreementsLabel_17oq2_26{margin:var(--spacing-half) 0}._title_17oq2_30{margin-top:0;margin-bottom:var(--spacing-large);font-weight:400}._summary_17oq2_36{margin:var(--spacing-large) auto;max-width:450px}._summary_17oq2_36 li{margin-bottom:var(--spacing-default)}._heading_17oq2_45{margin-top:1px}._content_17oq2_49{display:flex;flex-basis:auto;flex-direction:column;flex-grow:1;flex-shrink:1;max-width:var(--content-width);width:100%;padding:var(--spacing-large) var(--spacing-default) 0 var(--spacing-default)}._verticalButtons_17oq2_60{display:flex;flex-direction:column;max-width:300px;width:100%;margin:0 auto}._verticalButtons_17oq2_60 button:first-child{margin-bottom:var(--spacing-default)}._block_17oq2_72{flex:1}._block_17oq2_72 p:first-child,._block_17oq2_72 h2:first-child{margin-top:0}._block_17oq2_72 p:last-child{margin-bottom:var(--spacing-large)}._list_17oq2_85{padding-left:18px}._list_17oq2_85 li:not(:first-child){margin-top:var(--spacing-half)}._buttons_17oq2_93{margin-bottom:0;margin-top:var(--spacing-large)}._stepNumber_17oq2_98{min-width:20px!important;margin-right:20px;text-align:center;color:var(--color-secondary);font-size:var(--size-extra-large);line-height:var(--size-extra-large);font-weight:400}._badge_17oq2_108{max-height:40px;height:40px}._waitingLogo_17oq2_113{margin-bottom:var(--space-default)}._waitingContent_17oq2_117{max-width:540px;width:100%;background-color:var(--background-secondary);padding:var(--space-default);margin:0 auto;text-align:center}._waitingText_17oq2_126{margin-top:0;margin-bottom:var(--space-half);text-align:center;font-weight:400;font-size:var(--size-subheader)}._waitingDescription_17oq2_134{text-align:center;margin-bottom:0}@media screen and (max-width: 640px){._qrcodeContainer_17oq2_140{width:50%}._qrcodeContainer_17oq2_140 img{width:100%;height:auto}}._container_l7fdu_1{width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:var(--item-height);text-decoration:none;text-align:left;border:none;color:var(--color-blue);background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:0 var(--space-half);cursor:pointer}._container_l7fdu_1 svg,._container_l7fdu_1 img{width:18px;height:18px;color:var(--color-secondary)}._danger_l7fdu_27{color:var(--color-softred)}._children_l7fdu_31{min-width:120px}._optionalText_l7fdu_35{margin-left:auto;margin-right:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary);white-space:nowrap;max-width:300px;text-overflow:ellipsis;overflow:hidden}._secondaryText_l7fdu_46{color:var(--color-secondary);font-size:var(--size-small);margin-top:4px;overflow:hidden;text-overflow:ellipsis}._primaryText_l7fdu_54{display:block}._icon_l7fdu_58 img{margin-left:8px;margin-bottom:-4px}._disabled_l7fdu_63{opacity:.5;cursor:default}._item_l7fdu_68{color:var(--color-secondary);cursor:default}._container_l7fdu_1:focus{outline:solid 1px var(--color-blue)}._stepContext_g2o2c_1{margin:var(--space-default) 0}._backupsList_g2o2c_5{background:var(--background-secondary);border:1px solid var(--background-secondary);display:flex;flex-direction:column;text-align:left;flex:1}._listContainer_g2o2c_14{display:flex;flex-direction:column;max-height:45vh;overflow-x:hidden;overflow-y:scroll;position:relative;width:100%}._item_g2o2c_24{width:100%;padding:var(--space-quarter) var(--space-half)}._item_g2o2c_24:not(:first-child){border-top:solid 1px var(--background)}._item_g2o2c_24 label{margin-bottom:0!important}._agreements_g2o2c_37{margin-bottom:1rem}._emptyText_g2o2c_41{text-align:center;color:var(--color-secondary);padding:var(--spacing-large) 0}._backupItem_g2o2c_47+label{color:var(--color-default);word-break:break-all}._backupID_g2o2c_52{word-break:break-all;margin-bottom:var(--space-quarter);font-size:var(--size-small);color:var(--color-secondary)}._backupButtons_g2o2c_59{display:flex;flex-wrap:wrap;flex-direction:row-reverse;margin-top:var(--space-default)}@media (min-width: 769px){._backupButtons_g2o2c_59>*:not(:first-child){margin-right:var(--space-half)}}@media (max-width: 768px){._backupButtons_g2o2c_59{align-items:center;flex-direction:column;margin-top:var(--space-default)}._backupButtons_g2o2c_59>*:not(:first-child){margin-top:var(--space-half)}}._container_6tizs_1{height:var(--item-height-xlarge);width:100%;min-width:230px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;text-decoration:none;text-align:left;border:none;background-color:var(--background-secondary);font-size:var(--size-default);font-weight:400;padding:16px 24px;color:var(--color-dark);margin-bottom:var(--size-default)}._primaryText_6tizs_21{color:var(--color-default);font-size:16px;margin:0}._isButton_6tizs_27:hover{cursor:pointer}._rightContentContainer_6tizs_32{display:flex;align-items:center;flex-shrink:0}._displayedValue_6tizs_38{color:var(--color-secondary);font-size:14px;margin:0;padding-left:var(--space-half);overflow:hidden;text-overflow:ellipsis}._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:var(--space-quarter)}._secondaryText_6tizs_51{color:var(--color-secondary);font-size:14px;margin:0;margin-top:var(--space-quarter);overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){._container_6tizs_1{height:auto;margin-bottom:5px;min-width:100%}._secondaryText_6tizs_51{display:none}}@media (max-width: 560px){._container_6tizs_1._collapse_6tizs_74{align-items:start;flex-direction:column}._container_6tizs_1._collapse_6tizs_74 ._displayedValue_6tizs_38._withMargin_6tizs_47{margin-right:0}._container_6tizs_1._collapse_6tizs_74 ._rightContentContainer_6tizs_32{width:100%}._hideDisplayedValueOnSmall_6tizs_87{display:none}}._container_1rta5_1{display:flex;margin-bottom:var(--space-default);word-break:keep-all}._container_1rta5_1 a{margin-right:var(--space-default);font-size:var(--size-subheader);text-decoration:none}._container_1rta5_1 a._active_1rta5_13{padding-bottom:var(--space-quarter);border-bottom:2px solid var(--color-blue)}@media (max-width: 768px){._container_1rta5_1,._container_1rta5_1 a,._container_1rta5_1 a._active_1rta5_13{all:unset}}._settingNameContainer_usdew_1{display:flex}._settingName_usdew_1{color:var(--color-swissred);font-size:16px;margin:0;margin-left:var(--space-quarter)}._section_18i3w_1{margin-bottom:var(--space-default)}._section_18i3w_1 h3{margin-bottom:var(--space-half)}._skeletonWrapper_18i3w_9{margin-bottom:var(--size-default)}@media (max-width: 768px){._skeletonWrapper_18i3w_9{margin-bottom:2px}}._container_flzib_1{align-items:center;display:none;position:relative}._backButton_flzib_7{background-color:transparent;border:none;color:var(--color-default);display:flex;align-items:center;font-size:var(--size-title);padding:var(--space-quarter);padding-left:0;text-decoration:none}._backButton_flzib_7:focus{outline:none}._backButton_flzib_7:hover{cursor:pointer}._backButton_flzib_7 img{margin-right:var(--space-eight)}._headerText_flzib_31{font-size:var(--size-title);font-weight:400;margin:0 auto;position:absolute;left:50%;transform:translate(-50%)}._withGuide_flzib_40 ._headerText_flzib_31{left:calc(50% + 37px)}@media (max-width: 768px){._container_flzib_1{display:flex}}._container_18axn_1{align-items:stretch;background-position:center bottom;background-size:cover;display:flex;flex-grow:1;flex-shrink:1;flex-basis:auto;flex-direction:column;justify-content:center;margin:0 auto;max-height:100vh;overflow:auto;max-width:var(--content-width-small);width:100%}._container_14uup_1{display:inline-block;flex-shrink:0;margin:0;min-height:var(--item-height-xsmall);position:relative;width:60px}._container_14uup_1 input{height:0;opacity:0;width:0}._container_14uup_1 input[disabled]+._slider_14uup_16{cursor:default;background-color:var(--color-disabled)}._slider_14uup_16{background-color:var(--background-tertiary);border-radius:2px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.2s}._slider_14uup_16:before{background-color:#fff;border-radius:2px;bottom:4px;content:"";height:16px;left:4px;position:absolute;width:26px;transition:.2s}input:checked+._slider_14uup_16{background-color:var(--color-blue)}input:checked+._slider_14uup_16:before{transform:translate(26px)}._toast_4ztjp_1{position:fixed;display:block;bottom:calc(var(--item-height-large) + var(--space-half));right:50%;transform:translate(50%,120%);max-width:calc(100% - (var(--guide-width) + var(--sidebar-width) + var(--spacing-large)));min-width:180px;min-height:20px;border-radius:2px;padding:var(--space-half);box-shadow:0 1px 5px #0003;transition:transform ease-out .2s;z-index:1}._active_4ztjp_17{transform:translate(50%)}._active_4ztjp_17._shifted_4ztjp_21{right:calc(var(--spacing-default) + 350px)}._info_4ztjp_25{background-color:var(--color-darkblue)}._success_4ztjp_29{background-color:var(--color-success)}._warning_4ztjp_33{background-color:var(--color-softred)}._toast_4ztjp_1 p{margin:0;color:var(--color-alt)}@media (max-width: 768px){._toast_4ztjp_1{position:initial;transition:none;transform:none}}._label_g3ts4_1{white-space:nowrap}._labelText_g3ts4_5{display:inline-block;font-size:14px;line-height:1;margin-right:8px;vertical-align:sub}._addAccountBtn_17bcq_2{margin-bottom:var(--spacing-default)}._walletHeader_17bcq_6{align-items:end;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--space-eight)}._walletTitle_17bcq_14{font-size:20px;font-weight:400;margin:0 0 var(--space-quarter) 0}._walletTitle_17bcq_14 small{color:var(--color-secondary);font-size:var(--size-default)}._setting_17bcq_25{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;min-height:var(--item-height);padding:var(--space-quarter) 0}._setting_17bcq_25:not(:last-child){border-bottom:solid 1px var(--background)}._coinLogo_17bcq_39{position:relative;z-index:2}._acccountLink_17bcq_44{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:1}._editBtn_17bcq_52{min-width:0;padding:0 0 0 var(--space-quarter)}._editBtn_17bcq_52 img{margin-right:var(--space-quarter);max-width:18px;height:auto;vertical-align:text-bottom}._toggleLabel_17bcq_64{align-items:center;display:flex;justify-content:space-between}._toggleLabelText_17bcq_70{color:var(--color-secondary)}._toggleLabelText_17bcq_70 img{color:var(--color-secondary);margin-right:var(--space-quarter);max-width:18px;vertical-align:bottom}._toggle_17bcq_64{flex-basis:60px;flex-shrink:0;margin-left:var(--spacing-half)}._accountActive_17bcq_87{cursor:pointer}._tokenSection_17bcq_91{align-items:flex-start;display:flex;flex-basis:100%;flex-direction:column;flex-wrap:wrap;padding:0 0 0 4px}._tokenContainer_17bcq_100{max-height:0vh;overflow:hidden;transition:max-height .27s ease;width:100%}._tokenContainerOpen_17bcq_107{max-height:200vh;padding:10px 0 0}._token_17bcq_91{align-items:center;display:flex;flex-direction:row;justify-content:space-between;min-height:var(--item-height);padding:10px 0;position:relative;width:100%}._token_17bcq_91:before{background-color:#ddd;content:"";height:22px;left:10px;position:absolute;top:-13px;right:8px;width:3px}._token_17bcq_91:first-child:before{height:16px;top:-7px}._token_17bcq_91 img:first-child{margin-right:0}._tokenIcon_17bcq_149{max-height:24px;max-width:24px}._tokenName_17bcq_154{flex:1;display:inline-block;padding-left:20px}._tokenInactive_17bcq_160{color:var(--color-tertiary);transition:color .2s ease}._expandBtn_17bcq_165{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-position:100% center;background-repeat:no-repeat;height:40px;padding:0 var(--space-default)}._expandBtnOpen_17bcq_173{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 16 12 10 18 16'/%3E%3C/svg%3E%0A")}._expandBtn_17bcq_165,._expandBtn_17bcq_165:focus,._expandBtn_17bcq_165:hover{border-color:transparent!important;margin-left:10px;outline:none}._watchOnlyContainer_17bcq_186{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-half)}._watchOnlyNote_17bcq_193{margin:0;margin-top:var(--space-half)}._watchOnlyAccountHidden_17bcq_198{background-color:var(--color-success);margin-top:var(--space-half);padding:var(--space-half)}._watchOnlyAccountHidden_17bcq_198 p{color:var(--color-alt);margin:0}._title_ahh86_1{margin:0;font-size:var(--size-subheader);font-weight:400}._resetLink_ahh86_7{color:var(--color-softred)!important}._serversContainer_ahh86_11{margin-top:var(--space-default)}._servers_ahh86_11{background-color:var(--background-secondary);list-style:none;padding:var(--space-quarter) var(--space-half);margin:0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11{display:flex;width:100%;align-items:center;font-weight:400;font-size:var(--size-default);min-height:52px}._serverLabel_ahh86_32{padding:var(--space-quarter) 0;word-break:break-word}._servers_ahh86_11 li ._server_ahh86_11>div:last-child{margin-left:auto}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{border:none;border-radius:2px;font-size:var(--size-small);padding:var(--space-quarter) var(--space-half);word-break:normal}._servers_ahh86_11 ._server_ahh86_11>div button[disabled]{background-color:var(--color-disabled);color:var(--color-secondary)}._servers_ahh86_11 ._server_ahh86_11>div button:focus{outline:none}._servers_ahh86_11 ._server_ahh86_11>div button:not(:last-child){margin-right:var(--space-quarter)}@media (max-width: 768px){._servers_ahh86_11{padding:0 var(--space-quarter)}._serverLabel_ahh86_32{padding-right:var(--space-quarter)}._servers_ahh86_11 ._server_ahh86_11>div button{margin:var(--space-quarter) 0}._servers_ahh86_11 li ._server_ahh86_11>div:last-child button{display:block;padding:var(--space-quarter);width:100%}}._primary_ahh86_82{background-color:var(--color-blue);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._primary_ahh86_82:hover{background-color:var(--color-lightblue)}._warning_ahh86_93{background-color:var(--color-softred);color:var(--color-alt);transition:background-color .2s ease-in-out;will-change:background-color}._warning_ahh86_93:hover{background-color:var(--color-lightred)}._textarea_ahh86_104{width:100%;border-radius:2px;border-color:var(--background-quaternary);padding:var(--space-half) var(--space-half);margin-bottom:var(--space-quarter)}._block_ahh86_112{margin-bottom:var(--space-half)}._addServer_ahh86_116{margin-top:var(--space-half);margin-bottom:var(--space-default);background-color:var(--background-secondary);padding:var(--space-half)}._addServer_ahh86_116 p{font-size:var(--size-default);font-weight:400;margin-top:var(--space-half);margin-bottom:var(--space-quarter)}._addServer_ahh86_116>div:first-child p{margin-top:var(--spacing-default)}@media (max-width: 768px){._addServer_ahh86_116{padding:var(--space-half) var(--space-quarter)}}._badge_ahh86_140{color:var(--color-secondary);border-radius:2px;margin-right:var(--space-quarter);width:16px;text-align:center}._badge_ahh86_140:after{content:"."}._miniSpinnerContainer_ahh86_152{position:relative;margin-right:4px;display:inline-block}._miniSpinner_ahh86_152{color:var(--color-blue)}._miniSpinner_ahh86_152:after{position:relative;animation:_changeContent_ahh86_1 .8s linear infinite;display:block;content:"⠋"}@keyframes _changeContent_ahh86_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}._syncContainer_nrzbt_1{position:relative;width:100%;top:-18px;margin-bottom:-18px}._progressBar_nrzbt_8{width:100%;height:1px;background-color:var(--background)}._progressValue_nrzbt_14{height:100%;background-color:var(--color-blue);transition:width 1s ease;will-change:width}._syncMessage_nrzbt_21{height:16px;width:100%;max-width:var(--content-width);font-size:var(--size-small);color:var(--color-secondary);text-align:right;margin:0 auto 1px;padding:0 var(--spacing-large)}._syncText_nrzbt_33{display:inline-block;height:100%;font-variant:tabular-nums}._spinnerContainer_nrzbt_39{position:relative;display:inline-block}._spinner_nrzbt_39{color:var(--color-blue)}._spinner_nrzbt_39:after{position:relative;top:2px;animation:_changeContent_nrzbt_1 .8s linear infinite;display:block;content:"⠋";font-size:14px;margin-left:3px}@keyframes _changeContent_nrzbt_1{10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}@media (max-width: 900px){._syncMessage_nrzbt_21{padding:0 var(--spacing-default)}}@media (max-width: 640px){._syncMessage_nrzbt_21{padding:0 var(--spacing-half)}}._container_13974_1{transform:rotate(-90deg);background-color:transparent!important}._background_13974_6,._foreground_13974_7{fill:none}._background_13974_6{stroke:var(--color-mediumgray)}._complete_13974_19{stroke:var(--color-success)}._pending_13974_23,._generic_13974_24{stroke:var(--color-primary)}._error_13974_28{stroke:var(--color-danger)}._txArrowType_m24u9_1{width:18px;height:18px}._txArrowTypeIn_m24u9_6{stroke:var(--color-success)!important}._txArrowTypeOut_m24u9_10{stroke:var(--color-danger)!important}._txArrowTypeSelf_m24u9_14{stroke:var(--color-secondary)!important}._container_1j01g_1{margin:calc(var(--space-default) * 1.5) 0}._header_1j01g_5{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--space-default)}._header_1j01g_5 label{font-size:var(--size-default)}._columns_1j01g_17{align-items:center;background-color:var(--background-secondary);display:flex;flex-direction:row;justify-content:flex-start;margin-bottom:1px;width:100%}._headers_1j01g_27{font-weight:700;height:48px}._columns_1j01g_17>*,._columnGroup_1j01g_33>*{display:flex;flex-direction:row;align-items:center;font-size:var(--size-default);padding:0 var(--space-quarter)}._columnGroup_1j01g_33{width:100%;padding:0}._type_1j01g_46{min-width:54px;width:54px;justify-content:center}._date_1j01g_52{min-width:98px;width:98px}._activity_1j01g_57{min-width:334px;width:334px;text-align:left}._status_1j01g_63{min-width:106px;width:106px}._fiat_1j01g_68{min-width:134px;width:134px;justify-content:flex-end}._currency_1j01g_74{min-width:230px;width:230px;justify-content:flex-end}._action_1j01g_80{min-width:60px;width:60px;justify-content:center;align-items:center}._empty_1j01g_87{background-color:var(--background-secondary);height:52px;display:flex;flex-direction:row;align-items:center;justify-content:center}._empty_1j01g_87 p{font-size:var(--size-default);font-weight:400;color:var(--color-secondary)}@media (min-width: 1081px) and (max-width: 1199px),(min-width: 1323px){._hideOnMedium_1j01g_103{display:none}._activity_1j01g_57{padding:var(--space-quarter) 0}}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._showOnMedium_1j01g_113{display:none}._columns_1j01g_17{flex-direction:column;justify-content:center}._columnGroup_1j01g_33:last-child{margin-top:var(--space-quarter)}._type_1j01g_46{min-width:36px;width:36px;justify-content:flex-start}._date_1j01g_52{min-width:126px;width:126px}._activity_1j01g_57{flex:1}._fiat_1j01g_68,._currency_1j01g_74{justify-content:flex-start;min-width:0;width:auto;text-align:right}._action_1j01g_80{justify-content:flex-end;min-width:36px;width:36px}._status_1j01g_63{justify-content:flex-start;width:auto;margin-left:36px;margin-right:auto}}@media (max-width: 768px){._container_1j01g_1{margin:var(--space-default) 0}._fiat_1j01g_68,._currency_1j01g_74{min-width:0;width:auto}._fiat_1j01g_68{flex-grow:1;flex-shrink:0;justify-content:flex-end}._currency_1j01g_74{flex-grow:0;flex-shrink:1}}@media (max-width: 666px){._columns_1j01g_17>*,._columnGroup_1j01g_33>*{padding:0 var(--space-eight)}._type_1j01g_46{min-width:26px;width:26px}._activity_1j01g_57{min-width:0;width:auto}._date_1j01g_52{min-width:80px;width:80px}._status_1j01g_63{margin-left:2px;min-width:14px;padding-right:0}}._container_1tutj_1{margin:0 0 1px}._row_1tutj_5{background-color:var(--background-secondary)!important;min-height:52px}._row_1tutj_5 *{font-size:var(--size-default);font-weight:400}._address_1tutj_19{text-overflow:ellipsis;overflow:hidden}._address_1tutj_19 ._badge_1tutj_24{margin-left:5px;color:var(--color-secondary)}._statusIndicator_1tutj_29{width:9px;height:9px;border-radius:50%;background-color:var(--background);margin-right:var(--space-quarter)}._statusIndicatorComplete_1tutj_37{background-color:var(--color-success)}._statusIndicatorPending_1tutj_41{background-color:var(--color-yellow)}._statusIndicatorFailed_1tutj_45{background-color:var(--color-danger)}._fiat_1tutj_53{font-variant:tabular-nums}._amount_1tutj_57{font-variant:tabular-nums;max-width:100%}._amountOverflow_1tutj_62{overflow:hidden;position:relative;text-overflow:ellipsis}._amountOverflow_1tutj_62:after{content:attr(data-unit);color:transparent}._send_1tutj_74{color:var(--color-softred)!important}._receive_1tutj_78{color:var(--color-success)}._currency_1tutj_82{font-variant:tabular-nums}._currencyUnit_1tutj_86{color:var(--color-secondary);font-variant:normal}._amountOverflow_1tutj_62 ._currencyUnit_1tutj_86{position:absolute;right:0;top:0}._action_1tutj_97{align-items:center;background:none;border:none;display:flex;flex-direction:column;justify-content:center;padding:0;-webkit-appearance:none}._label_1tutj_108{white-space:nowrap}._label_1tutj_108,._columnLabel_1tutj_113,._inlineLabel_1tutj_114{color:var(--color-secondary);font-size:var(--size-default)}._label_1tutj_108,._columnLabel_1tutj_113{margin-right:var(--space-quarter)}._columnLabel_1tutj_113{display:none}._inlineValue_1tutj_128{margin-left:var(--space-quarter)}._fee_1tutj_132{min-width:140px}._transactionId_1tutj_136{overflow:hidden;text-overflow:ellipsis}._detail_1tutj_141,._detailInput_1tutj_142{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:var(--item-height);padding:var(--space-half)}._detailInput_1tutj_142{padding:0 0 0 var(--space-half)}._detailInput_1tutj_142 label{margin-bottom:0}._textOnlyInput_1tutj_159{margin:0}._textOnlyInput_1tutj_159 input{border:none}._editButton_1tutj_167{background:none;border:none;height:20px;margin-right:var(--space-half);padding:0;-webkit-appearance:none;width:20px}._editButton_1tutj_167:focus{outline:none}._editButton_1tutj_167 img{opacity:.4;vertical-align:text-bottom;outline:none}._editButton_1tutj_167:hover img{opacity:.55}._detail_1tutj_141:not(:first-child){border-top:solid 1px var(--background)}._detail_1tutj_141 label{white-space:nowrap;margin-right:var(--space-half)!important}._detail_1tutj_141 label,._detail_1tutj_141 p{margin:0;line-height:1}._detail_1tutj_141._addresses_1tutj_207{align-items:baseline;padding-bottom:0;padding-right:0;padding-top:0}._addresses_1tutj_207 label{padding:var(--space-half) 0}._detailAddresses_1tutj_218{flex-grow:1}._detailAddress_1tutj_218+._detailAddress_1tutj_218{margin-top:calc(var(--space-quarter) * -1)}@media (max-width: 1080px),(min-width: 1200px) and (max-width: 1322px){._container_1tutj_1{margin:0 0 var(--space-quarter) 0}._row_1tutj_5{height:auto;padding:var(--space-half)}._columnLabel_1tutj_113{display:inline}._action_1tutj_97{align-items:flex-end}}@media (max-width: 926px){._inlineLabel_1tutj_114{display:block;margin-bottom:var(--space-quarter)}._inlineValue_1tutj_128{margin-left:0;text-align:center}}@media (max-width: 666px){._columnLabel_1tutj_113{display:none}._row_1tutj_5{padding:var(--space-half) var(--space-quarter)}._inlineLabel_1tutj_114{white-space:nowrap}._fee_1tutj_132{min-width:0}}@media (max-width: 560px){._status_1tutj_29{display:none}}._container_8wadt_1{max-width:100%;width:100%;min-height:100%;padding:0;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start}._header_8wadt_12{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;flex:none;margin:0 auto;padding:var(--spacing-large) var(--spacing-large) 0 var(--spacing-large);width:800px}._actionsContainer_8wadt_23{display:flex;transform:translateY(-36%);margin-top:var(--space-quarter)}._buy_8wadt_29,._receive_8wadt_30,._walletConnect_8wadt_31,._send_8wadt_32{background-color:var(--color-blue);border-radius:2px;color:var(--color-alt);display:inline-block;font-size:var(--size-default);height:calc(var(--item-height) / 1.5);line-height:calc(var(--item-height) / 1.5);margin-left:var(--space-quarter);min-width:calc(var(--item-height) * 2);padding:0 var(--space-half);text-align:center;text-decoration:none;transition:background-color ease-out .2s;width:auto;will-change:background-color}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{flex-wrap:wrap;justify-content:flex-end}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{display:flex}._buy_8wadt_29:hover,._receive_8wadt_30:hover,._send_8wadt_32:not(._disabled_8wadt_62):hover{background-color:var(--color-lightblue)}._send_8wadt_32._disabled_8wadt_62{cursor:default;opacity:.4}._accountIcon_8wadt_71{width:18px;height:18px;margin-right:calc(var(--space-quarter) / 2)}@media (max-width: 768px){._actionsContainer_8wadt_23{flex:0 0 91%;justify-content:space-between;margin-bottom:var(--space-default);max-width:91%;transform:none;width:91%;margin-left:auto;margin-right:auto;flex-wrap:wrap}._withWalletConnect_8wadt_50._actionsContainer_8wadt_23{justify-content:center}._withWalletConnect_8wadt_50 ._buy_8wadt_29,._withWalletConnect_8wadt_50 ._receive_8wadt_30,._withWalletConnect_8wadt_50 ._send_8wadt_32{max-width:25%}._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31{align-items:center;display:flex;justify-content:center;max-width:15%}._actionsContainer_8wadt_23 a{flex:1 0 30%;margin-right:0;max-width:30%;min-width:unset}._send_8wadt_32,._receive_8wadt_30,._buy_8wadt_29{font-size:var(--size-small);width:auto}}._dropdown_1uw27_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23777' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A");background-repeat:no-repeat;font-weight:400;height:calc(var(--space-quarter) * 3);padding:0 calc(var(--space-quarter) + var(--space-eight))}._select_1uw27_10 .react-select__control{background-color:var(--background-secondary);border:2px solid var(--color-custom-select-border);border-radius:0;padding:0 var(--space-eight)}._select_1uw27_10{width:280px;background-color:var(--background-secondary);color:var(--color-default)}._select_1uw27_10 .react-select__option.react-select__option--is-focused:not(:hover){outline:solid 1px var(--color-blue)}._select_1uw27_10 .react-select__option.react-select__option--is-selected,._select_1uw27_10 .react-select__option:hover{background-color:var(--background-custom-select-selected)}._select_1uw27_10 .react-select__menu{background-color:var(--background-secondary)}._select_1uw27_10 .react-select__option{background-color:var(--background-secondary);font-size:var(--size-default);color:var(--color-default);padding:var(--space-half) var(--space-quarter);cursor:pointer}._select_1uw27_10 .react-select__menu-list{padding:1px}._select_1uw27_10 .react-select__control:hover{cursor:pointer}._select_1uw27_10 .react-select__single-value,._select_1uw27_10 .react-select__input-container{font-size:var(--size-default);color:var(--color-default)}._select_1uw27_10 .react-select__multi-value{padding:0;margin:0;background:transparent}._select_1uw27_10 .react-select__multi-value__label{padding:0;color:var(--color-default);font-size:var(--size-default)}@media (max-width: 560px){._select_1uw27_10{margin-top:var(--space-quarter);width:100%}}._select_1j2fm_1 .react-select__input-container{position:absolute;top:-2px;left:6px}._select_1j2fm_1 .react-select__option{display:flex;flex-direction:row;align-items:center;justify-content:space-between}._select_1j2fm_1 .react-select__multi-value:nth-child(n+4){display:none}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:not(:nth-last-child(2)):after{content:",";padding-right:2px}._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:nth-child(3):not(:nth-last-child(2)):after{content:"…"}._select_1j2fm_1._hideMultiSelect_1j2fm_30 .react-select__multi-value{display:none}._select_1j2fm_1 .react-select__value-container--is-multi{height:var(--item-height-xsmall)}._defaultCurrency_1j2fm_51:hover{cursor:not-allowed}._defaultLabel_1j2fm_55{font-size:var(--size-small);margin:0;text-transform:capitalize}._inlineMessage_gi9x3_1{position:relative;padding:var(--spacing-default) 42px var(--spacing-default) var(--spacing-default);border-radius:3px}._inlineMessage_gi9x3_1._success_gi9x3_7{background-color:var(--color-success);color:var(--color-alt)}._inlineMessage_gi9x3_1._left_gi9x3_12{text-align:left}._close_gi9x3_16{position:absolute;top:var(--spacing-default);right:var(--spacing-default);line-height:1;cursor:pointer}._settingItem_6ge6v_3{margin-top:var(--space-half)}@media (max-width: 768px){._settingItem_6ge6v_3{margin-top:2px}}._headerContainer_wug0g_1{display:flex;flex-direction:column;align-items:center}._headerContainer_wug0g_1 p,._headerContainer_wug0g_1 h1{margin:0}._headerContainer_wug0g_1 h1{margin-top:var(--space-half);font-size:var(--size-large);font-weight:400}._headerContainer_wug0g_1 img{width:64px;height:64px}._headerContainer_wug0g_1 p{color:var(--color-secondary);margin-top:var(--space-quarter)}._accountName_wug0g_28{font-size:20px}._receiveAddress_wug0g_32{font-size:16px}@media (max-width: 768px){._headerContainer_wug0g_1 h1{margin-top:var(--space-eight);font-size:var(--size-subheader)}._headerContainer_wug0g_1 p{font-size:var(--size-small)}._headerContainer_wug0g_1 img{width:36px;height:36px}._headerContainer_wug0g_1 p._receiveAddress_wug0g_32{margin-top:var(--space-eight)}}._formContainer_1wrji_1{display:flex;flex-direction:column}._formButtonsContainer_1wrji_6{display:flex;justify-content:space-between}._inputWithIcon_1wrji_11{position:relative}._inputWithIcon_1wrji_11 input{padding-right:calc(var(--spacing-default) * 2 + 18px)}@media (max-width: 768px){._formButtonsContainer_1wrji_6{flex-direction:column-reverse;margin-top:calc(var(--space-half) + var(--space-quarter))}._formButtonsContainer_1wrji_6 button+button{margin-bottom:var(--space-half)}._mobileQRScanner_1wrji_28{display:flex;flex-direction:column;margin-bottom:calc(var(--space-half) + var(--space-eight))}._mobileQRScanner_1wrji_28 video{max-width:320px;height:320px;margin:0 auto;object-fit:cover}._mobileQRScanner_1wrji_28 ._scanQRLabel_1wrji_41{margin-bottom:var(--space-quarter);margin-left:auto;margin-right:auto;text-align:center}}._buttonsContainer_yg3s8_1{margin-top:var(--space-default);display:flex;justify-content:space-between}._container_yg3s8_7{display:flex;flex-direction:column}._container_yg3s8_7 p._connectionRequest_yg3s8_12{margin-bottom:24px}._container_yg3s8_7 p._receiveAddress_yg3s8_16{color:var(--color-secondary);margin-top:24px}._pairingDetailContainer_yg3s8_21{display:flex;align-items:center;justify-content:space-between}._pairingDetailContainer_yg3s8_21 img{width:64px;height:64px}._pairingDetailContainer_yg3s8_21 p._metadata_yg3s8_32{color:var(--color-default);margin-bottom:var(--space-eight)}@media (max-width: 768px){._buttonsContainer_yg3s8_1{flex-direction:column-reverse}._buttonsContainer_yg3s8_1>*:not(:last-child){margin-top:var(--space-quarter)}._buttonsContainer_yg3s8_1 button{height:calc(var(--space-quarter) + var(--space-default))}._container_yg3s8_7 p._connectionRequest_yg3s8_12{text-align:center}._pairingDetailContainer_yg3s8_21{align-items:flex-start;flex-direction:column-reverse}._pairingDetailContainer_yg3s8_21 img{margin-left:auto;margin-right:auto;margin-bottom:var(--space-default)}}._container_1h5wj_1{align-items:center;display:flex;flex-direction:column}._successIcon_1h5wj_7{width:180px;height:180px}._container_1h5wj_1 p._successText_1h5wj_12{margin:calc(var(--space-quarter) + var(--space-half)) 0;text-align:center}@media (max-width: 768px){._container_1h5wj_1 p._successText_1h5wj_12{margin-bottom:var(--space-large);margin-top:calc(var(--space-quarter) + var(--space-default))}._container_1h5wj_1 button{height:calc(var(--space-quarter) + var(--space-default));width:100%}}._contentContainer_1iwqe_1{display:flex;margin-top:var(--space-default);margin-left:auto;margin-right:auto;max-width:800px;min-height:320px}._contentContainer_1iwqe_1>div{width:100%}._contentContainer_1iwqe_1 p{color:var(--color-secondary);font-size:16px;margin:0}@media (max-width: 768px){._contentContainer_1iwqe_1 p{font-size:var(--size-default)}}._container_1jggi_1{background-color:var(--background-session-card);display:flex;margin-top:calc(var(--space-quarter) + var(--space-half));padding:calc(var(--space-half) + var(--space-quarter));width:100%}._container_1jggi_1 p{color:var(--color-default);font-size:16px;line-height:1.9;margin-bottom:0}._textDataContainer_1jggi_16{display:flex;flex-direction:column}._receiveAddress_1jggi_21{color:var(--color-secondary);margin:0}._accountName_1jggi_26{font-weight:700;margin:0;padding-right:16px;width:240px}._dAppMetadataAndIconContainer_1jggi_33{align-items:center;display:flex}._dAppMetadataAndIconContainer_1jggi_33 p{margin-top:0}._dAppMetadataAndIconContainer_1jggi_33 img{width:var(--item-height);height:var(--item-height);margin-left:calc(var(--space-quarter) + var(--space-half))}._dAppNameAndUrlContainer_1jggi_48{display:flex;flex-direction:column;width:240px}._dAppMetadataAndIconContainer_1jggi_33 p._dappUrl_1jggi_54{margin-top:var(--space-quarter)}._accountNameAndWalletContainer_1jggi_58{display:flex;margin-bottom:calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63{align-items:flex-end;display:flex;margin-left:auto}._buttonDisconnect_1jggi_69{height:unset;padding:calc(var(--space-eight) + var(--space-quarter)) calc(var(--space-default) + var(--space-default))}@media (max-width: 768px){._container_1jggi_1{margin-top:var(--space-half);padding:calc(var(--space-quarter) * 2)}._container_1jggi_1 p{font-size:var(--size-default)}._textDataContainer_1jggi_16{width:50%}._dAppNameAndUrlContainer_1jggi_48,._accountName_1jggi_26{width:100%}._accountNameAndWalletContainer_1jggi_58{margin-bottom:var(--space-quarter)}._buttonAndIconContainer_1jggi_63{flex-direction:column;justify-content:flex-end}._buttonDisconnect_1jggi_69{font-size:var(--size-default);height:var(--item-height-small);padding:var(--space-eight) calc(var(--space-quarter) + var(--space-half))}._buttonAndIconContainer_1jggi_63 img{height:var(--item-height-small);width:var(--item-height-small);margin-top:var(--space-default);margin-bottom:var(--space-default)}}._buttonNewConnection_13so1_1{height:calc(var(--space-default) + var(--space-quarter))}._headerContainer_13so1_5{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:calc(var(--space-half) + var(--space-quarter))}._headerContainer_13so1_5 p{margin:0}._headerContainer_13so1_5 p._receiveAddress_13so1_16{color:var(--color-secondary);margin-top:var(--space-quarter);font-size:16px}._noConnectedSessions_13so1_22{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-large);text-align:center}._separator_13so1_30{background:var(--color-disabled);border:none;height:2px;margin:0}._sessionCardsContainer_13so1_37{display:flex;flex-direction:column}._allSessionsHeading_13so1_42{color:var(--color-secondary);font-size:16px;margin:0;margin-top:var(--space-half)}@media (max-width: 768px){._buttonNewConnection_13so1_1{height:var(--space-default);padding:0 16px}._headerContainer_13so1_5 p{font-size:16px}._headerContainer_13so1_5 p._receiveAddress_13so1_16,._noConnectedSessions_13so1_22,._allSessionsHeading_13so1_42{font-size:var(--size-default)}._allSessionsHeading_13so1_42{margin-top:var(--space-quarter)}}._passwordGesturesWrapper_mvckk_1{height:auto;margin:var(--space-default) auto 0 auto;position:relative;width:100%}._passwordGestures_mvckk_1{background-color:#fff;display:block;height:75%;margin:0 auto;max-width:600px;object-fit:cover;width:100%}._passwordGestures_mvckk_1[src=""]:after{background-color:#fff;content:"";position:absolute;top:0;left:0;right:0;bottom:0}._toggle_1lt1t_1{align-items:center;display:flex;flex-direction:row}._toggleLabel_1lt1t_7{flex-grow:1;line-height:1.4;margin-bottom:0;padding-right:var(--space-half)}._textIcon_1lt1t_14{height:1.2em;margin-right:.5em;vertical-align:text-bottom}._wizardCheckbox_1shxj_2 label{font-size:var(--size-wizard-text)!important;line-height:1.4}._wizardCheckbox_1shxj_2 label:before{top:2px!important}._wizardCheckbox_1shxj_2 label:after{top:6px!important}._wizardLabel_11dvu_2 label{font-size:var(--size-wizard-text)!important}._logo_rqpye_1{display:block;filter:grayscale(100%);margin:var(--space-half) auto;max-height:32px;max-width:100%;opacity:.61}._prominent_rqpye_9{max-height:48px}@media (min-width: 1200px){._logo_rqpye_1{margin-top:var(--space-default);max-height:42px}._prominent_rqpye_9{max-height:72px}}._hostname_rqpye_22{color:var(--color-secondary)}@media (min-width: 769px){._hostname_rqpye_22{margin:0}}._capitalized_rqpye_31:first-letter{text-transform:capitalize}._banner_yebbr_1{background-color:var(--color-blue);color:var(--color-alt);font-weight:400;font-size:var(--size-subheader);padding:var(--space-half);text-align:center}._smallIcon_yebbr_10{margin:auto 0;width:30px}._successText_yebbr_15{color:var(--color-secondary);font-weight:400;font-size:var(--size-subheader);margin-bottom:var(--space-quarter)}@media (max-width: 768px){._successText_yebbr_15{font-size:var(--size-default);margin-top:0}}._proceed_yebbr_28{margin-bottom:var(--space-half);margin-top:0}._message_yebbr_33{background-color:var(--background-secondary);border-color:var(--background-quaternary);border-radius:2px;border-style:solid;border-width:1px;font-family:var(--font-family);font-size:var(--size-default);font-weight:400;min-height:52px;padding:var(--space-quarter) var(--space-half);text-align:left;width:100%;white-space:pre-line}@media (min-width: 1200px){._message_yebbr_33{--size-default: 18px}}._link_4u2en_1{color:var(--color-alt)}._link_4u2en_1:focus{outline-color:inherit}._bitboxContainer_1nxo8_1{margin-top:calc(var(--space-default) + var(--space-quarter));margin-bottom:calc(var(--space-default) + var(--space-quarter))}._bitboxContainer_1nxo8_1>div img{width:198px;height:115px;margin-right:var(--space-default)}._bitboxContainer_1nxo8_1>div svg{width:20px;height:20px}._bitboxContainer_1nxo8_1._failed_1nxo8_18{align-items:center;display:flex;flex-direction:column}._bitboxImage_1nxo8_24{width:198px;height:115px}._cancelIcon_1nxo8_29{margin-right:16px;width:48px}._text_1nxo8_35{font-size:16px}@media (max-width: 768px){._text_1nxo8_35{font-size:var(--size-default)}}._link_13in7_1{color:inherit}._auth_xdrxz_1{position:absolute;width:100%;height:100%;z-index:9999}._accountName_gsa52_1{font-size:16px;margin:0 var(--space-half) 0 0}._accountNameAndAddress_gsa52_6{display:flex}._address_gsa52_10{color:var(--color-secondary);font-size:16px;margin:0}._animationAndTextContainer_gsa52_16{align-items:center;display:flex;flex-direction:column;margin:auto}._animationAndTextContainer_gsa52_16 p{font-size:var(--header-default-font-size);margin-top:var(--space-quarter)}._chainContainer_gsa52_28{align-items:center;display:flex}._chainContainer_gsa52_28 ._itemText_gsa52_33{margin-right:calc(var(--space-quarter) + var(--space-eight))}._chainContainer_gsa52_28 img{height:20px;width:20px}._dappIcon_gsa52_42{height:96px;width:96px}._item_gsa52_33{display:flex;flex-direction:column}._item_gsa52_33+._item_gsa52_33{margin-top:var(--space-half)}._itemText_gsa52_33{font-size:16px;margin:0}._label_gsa52_62{color:var(--color-secondary);font-size:var(--size-default);margin:0 0 var(--space-quarter) 0}._listContainer_gsa52_68{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}._outerContainer_gsa52_77{display:flex;flex-direction:column;min-height:460px;padding:0 var(--space-half)}._successIcon_gsa52_84{height:240px;width:240px}._textarea_gsa52_89{border-color:var(--background-quaternary);border-radius:var(--space-eight);font-family:var(--font-family);padding:var(--space-quarter);width:100%}._titleContainer_gsa52_97{align-items:center;display:flex;margin-bottom:var(--space-half)}._titleContainer_gsa52_97 h3{font-size:var(--header-default-font-size);font-weight:400;margin:0 0 0 var(--space-eight);padding:0 var(--space-quarter)}:root{--color-darkgreen: #4f9879;--color-green: #7aba7a;--color-lightgreen: rgba(79, 152, 121, .33);--color-palegreen: rgba(79, 152, 121, .2);--color-softred: #EC644B;--color-lightred: #F28E72;--color-swissred: #E30613;--color-white: #FFFFFF;--color-lightgray: #F5F5F5;--color-mediumgray: #E5E5E5;--color-gray-alt: #999999;--color-gray: #777777;--color-softblack: #333333;--color-dark: #1D1D1B;--color-yellow: #fef160;--color-darkyellow: rgb(243, 234, 0, .66);--color-lightyellow: rgba(255, 252, 177, .15);--color-darkblue: #4f7998;--color-blue: #5E94BF;--color-lightblue: #73A5CD;--color-light-skyblue: #ECF7FF;--color-electric-blue: #2684FF;--color-powder-blue: #DEEBFF;--color-pale-ice-blue: #E6F7FF;--color-blue-alt: #91BFCF;--color-orange: #F5A04C;--color-olive: #908B00;--color-lightorange: #F9AC60;--color-success: var(--color-green);--color-info: var(--color-blue);--color-warning: var(--color-softred);--color-error: var(--color-swissred);--color-danger: var(--color-error);--size-extra-large: 2.2rem;--size-large: 2rem;--size-large-mobile: 1.4rem;--size-subheader: 18px;--size-medium: var(--size-default);--size-default: 14px;--size-small: 12px;--size-xsmall: 11px;--size-label: var(--size-small);--size-button: var(--size-default);--size-title: 32px;--size-wizard-text: 16px;--spacing-large: 2rem;--spacing-default: 1rem;--spacing-half: .5rem;--space-large: 64px;--space-default: 32px;--space-half: 16px;--space-quarter: 8px;--space-eight: 4px;--item-height-xsmall: 24px;--item-height-small: 36px;--item-height: 52px;--item-height-large: 72px;--item-height-xlarge: 84px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--sidebar-width-large: 250px;--sidebar-margin: 32px;--sidebar-item-height: 52px;--sidebar-icon-margin: 14px;--sidebar-icon-size: 24px;--sidebar-header-size: 12px;--sidebar-header-line-height: 16px;--header-height: 70px;--header-default-font-size: 24px;--content-width: 1080px;--content-width-small: 550px;--content-width-larger: 740px;--guide-width: 350px}:root,.light-mode{--color-disabled: var(--color-mediumgray);--color-default: var(--color-dark);--color-primary: var(--color-blue);--color-secondary: var(--color-gray);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-lightgray);--background: var(--color-lightgray);--background-blue: var(--color-blue);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-white);--background-dark: var(--color-softblack);--background-focus: var(--color-light-skyblue);--background-tertiary: var(--color-gray-alt);--background-quaternary: var(--color-mediumgray);--background-custom-select-hover: var(--color-powder-blue);--background-custom-select-selected: var(--color-pale-ice-blue);--background-session-card: var(--color-white)}@media (prefers-color-scheme: dark){:root{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (prefers-color-scheme: light){.dark-mode{--color-disabled: var(--color-gray);--color-default: var(--color-lightgray);--color-primary: var(--color-blue);--color-secondary: var(--color-gray-alt);--color-light: var(--color-mediumgray);--color-alt: var(--color-white);--color-tertiary: var(--color-gray-alt);--color-custom-select-border: var(--color-gray);--background: var(--color-dark);--bg-transparent-dark: rgba(0, 0, 0, .4);--background-secondary: var(--color-softblack);--background-dark: var(--color-softblack);--background-focus: var(--color-softblack);--background-tertiary: var(--color-gray);--background-quaternary: var(--color-dark);--background-custom-select-hover: var(--color-dark);--background-custom-select-selected: var(--color-dark);--background-session-card: var(--color-softblack)}}@media (max-width: 1199px){:root{--size-title: 18px}}@media (max-width: 768px){:root{--header-default-font-size: 20px;--size-subheader: 16px;--size-title: 16px;--size-wizard-text: 14px}}html,body{background-color:var(--background);color:var(--color-default);font-family:var(--font-family);font-weight:400;height:100%;line-height:1.3;margin:0;overflow:hidden;padding:0;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-app-region:drag}*{box-sizing:border-box}hr{background:none;border-color:var(--background-quaternary) transparent;border-style:solid;border-width:1px 0 0 0;margin:var(--spacing-large) 0}h1,h2,h3,h4,h5{line-height:1.25}::-webkit-scrollbar-track{background-color:#f5f5f5}::-webkit-scrollbar{width:4px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{background-color:var(--color-gray)}p{font-weight:400;font-size:var(--size-default)}a{color:var(--color-blue);cursor:pointer}dl div{display:inline-block;margin-right:var(--spacing-large)}dl dt{margin-right:var(--spacing-half);text-indent:0}dl dd{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis}img,button{-webkit-user-select:none;user-select:none}svg{stroke-width:1.6!important}pre{background-color:var(--background-secondary);display:block;font-family:monospace;font-size:20px;margin:0 0 var(--space-default) 0;padding:var(--space-default);text-align:center}progress{display:block;width:100%}.flex{display:flex!important}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-center{justify-content:center}.flex-start{justify-content:flex-start}.flex-around{justify-content:space-around}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-items-center{align-items:center}.flex-items-baseline{align-items:baseline}.flex-items-start{align-items:flex-start}.flex-items-end{align-items:flex-end}.flex-items-stretch{align-items:stretch}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-grow{flex-grow:1}.flex-none{flex:none!important}.flex>*{min-width:0}@media (max-width: 768px){.flex-column-mobile{flex-direction:column}.flex-reverse-mobile{flex-direction:column-reverse}.flex-self-start-mobile{align-self:flex-start}}.text-center{text-align:center}.text-right{text-align:right}.text-small{font-size:var(--size-small)}.text-medium{font-size:var(--size-default)}.text-medium>label{font-size:var(--size-default);text-transform:none}.text-blue{color:var(--color-blue)}.text-red{color:var(--color-danger)}.text-green{color:var(--color-success)}.text-gray{color:var(--color-secondary)}.show-on-small{display:none}.text-ellipsis{overflow-x:hidden;text-overflow:ellipsis}.text-break{word-break:break-all}.first{margin-top:0!important}.spaced>*:not(:last-child){margin-right:var(--space-default)}.app{display:flex;flex:1 1 auto;min-height:100vh}.appContent{height:100vh}@media (max-width: 900px){.appContent{position:absolute;width:100%}}@media (max-width: 768px){.spaced>*:not(:last-child){margin-right:var(--space-quarter)}}.contentWithGuide{display:flex;flex-grow:1;flex-direction:row;overflow:hidden}.container{display:flex;flex:1 1 auto;flex-direction:column;position:relative;width:100%}.innerContainer{display:flex;flex-direction:column;height:100%}.scrollableContainer{overflow:auto}.scrollContainer{overflow-x:auto;overflow-y:scroll}.subTitle{font-size:var(--size-subheader);font-weight:400;line-height:1;margin:0 0 calc(var(--space-half) * 1.5) 0}.title{font-size:var(--size-title);font-weight:400;line-height:1;margin:0 0 var(--space-half) 0}@media (min-width: 1200px){.title{margin:0 0 var(--space-default) 0}}.content{flex:1;margin:0 auto;max-width:var(--content-width);padding:0 var(--space-default);width:100%}.content.narrow{max-width:var(--content-width-small)}.content.larger{max-width:var(--content-width-larger)}.content.padded{padding-top:var(--space-default)}@media (max-width: 768px){.content{padding:0 var(--space-half)}}.tabs{width:100%;max-width:var(--content-width);margin:0 auto}.tabs .tab{width:50%;height:52px;border:solid 1px var(--color-gray);transition:all .2s ease-out}.tabs .tab.active{border:solid 1px var(--color-blue)}.tabs .tab a{width:100%;height:100%;padding:var(--space-quarter);display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:center;text-decoration:none;font-size:var(--size-default);color:var(--color-secondary);transition:all .2s ease-out}.tabs .tab.active a{color:var(--color-blue);background-color:var(--background-secondary)}@media (max-width: 768px){.tabs .tab a{font-size:var(--size-small)}}.row:not(:first-child){margin-top:var(--space-quarter)}.row:not(:first-child).extra{margin-top:var(--space-half)}.isVerticallyCentered{display:flex;flex-direction:column;justify-content:center}.box{background-color:var(--background-secondary);padding:var(--space-half)}.box>*:first-child{margin-top:0}.box.large{padding:var(--space-default)}.box.larger{padding:var(--space-large)}.box.slim{padding:0}.box.slim.divide>*:not(:first-child){border-top:solid 1px var(--background)}.box .buttons{margin-top:var(--space-default);width:100%}.box .buttons.ignore{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.box .buttons.ignore.reverse{flex-direction:row-reverse}.box .buttons.ignore>*:not(:first-child){margin-left:var(--space-half);margin-right:0}.box .buttons.ignore.reverse>*:not(:first-child){margin-right:var(--space-half);margin-left:0}.box .buttons:not(.ignore)>*:not(:first-child){margin-top:var(--space-quarter)}.box .buttons:not(.ignore) button,.box .buttons:not(.ignore) a{width:100%}.m-none{margin:0!important}.m-top-none{margin-top:0!important}.m-top-quarter{margin-top:var(--space-quarter)!important}.m-top-half{margin-top:var(--space-half)!important}.m-top-default{margin-top:var(--space-default)!important}.m-top-default-extra{margin-top:calc(var(--space-default) * 1.5)!important}.m-top-large{margin-top:var(--space-large)!important}.m-right-tiny{margin-right:calc(var(--space-quarter) / 2)!important}.m-right-quarter{margin-right:var(--space-quarter)!important}.m-right-half{margin-right:var(--space-half)!important}.m-right-default{margin-right:var(--space-default)!important}.m-bottom-none{margin-bottom:0!important}.m-bottom-quarter{margin-bottom:var(--space-quarter)!important}.m-bottom-half{margin-bottom:var(--space-half)!important}.m-bottom-default{margin-bottom:var(--space-default)!important}.m-bottom-large{margin-bottom:calc(var(--space-half) * 1.5)!important}.m-bottom-xlarge{margin-bottom:calc(var(--space-half) * 3)!important}.m-bottom-xxlarge{margin-bottom:calc(var(--space-half) * 6)!important}.m-left-quarter{margin-left:var(--space-quarter)!important}.m-left-half{margin-left:var(--space-half)!important}.m-left-default{margin-left:var(--space-default)!important}.width-1-1{width:100%!important}.noPadding,.p-none{padding:0!important}.p-top-none{padding-top:0!important}.p-top-quarter{padding-top:var(--space-quarter)!important}.p-top-half{padding-top:var(--space-half)!important}.p-top-default{padding-top:var(--space-default)!important}.p-top-default-extra{padding-top:calc(var(--space-default) * 1.5)!important}.p-top-large{padding-top:var(--space-large)!important}.p-right-none{padding-right:0!important}.p-right-quarter{padding-right:var(--space-quarter)!important}.p-right-half{padding-right:var(--space-half)!important}.p-right-default{padding-right:var(--space-default)!important}.p-bottom-none{padding-bottom:0!important}.p-bottom-quarter{padding-bottom:var(--space-quarter)!important}.p-bottom-half{padding-bottom:var(--space-half)!important}.p-bottom-default{padding-bottom:var(--space-default)!important}.p-bottom-large{padding-bottom:calc(var(--space-half) * 1.5)!important}.p-left-none{padding-left:0!important}.p-left-quarter{padding-left:var(--space-quarter)!important}.p-left-half{padding-left:var(--space-half)!important}.p-left-default{padding-left:var(--space-default)!important}.wrapped{margin-top:calc(var(--spacing-half) * -1)}.wrapped>*{margin-top:var(--spacing-half)}.items{flex-shrink:0;position:relative;margin:calc(var(--space-quarter) * -1)}.items.marginBottom{margin-bottom:var(--space-half)}.buttons-end{text-align:right}.items>*{display:inline-block;margin:var(--space-quarter)}.stacked{position:relative}.stacked img{transition:opacity .2s ease}.stacked img:last-child{opacity:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.transparent{display:none}@media (max-width: 768px){.row:not(:first-child){margin-top:var(--space-quarter)}.box.large{padding:var(--space-half)}.box.larger{padding:var(--space-default)}.m-top-quarter-on-small{margin-top:var(--space-quarter)}.full-width-on-small{width:100%}.hide-on-small{display:none}.show-on-small{display:initial}}.light-mode .show-in-darkmode,.dark-mode .show-in-lightmode{display:none}.columnsContainer{width:100%}.columns{display:block;margin-right:calc(var(--space-default) * -1)}.columnsContainer.half .columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-default);margin-bottom:var(--space-default);display:inline-block;vertical-align:top}.columnsContainer.half .columns>*{margin-right:var(--space-half);margin-bottom:var(--space-half)}.columns.quarter>*{margin-bottom:var(--space-quarter)!important}.columnsContainer .columns .column{width:calc(100% - var(--space-default))}.columnsContainer.half .columns .column{width:calc(100% - var(--space-half))}.columnsContainer .columns .column.column-1-2{width:calc((100% - (var(--space-default) * 2)) / 2)}.columnsContainer.half .columns .column.column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columnsContainer .columns .column.column-1-3{width:calc((100% - (var(--space-default) * 3)) / 3)}.columnsContainer.half .columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}.columns .column.column-2-3{width:calc((100% - (var(--space-half) * 3)) / 1.5)}.column>*:first-child{margin-top:0}.column>*:last-child{margin-bottom:0}@media (max-width: 768px){.columnsContainer{margin-right:calc(var(--space-half) * -1)}.columnsContainer>*{margin-right:var(--space-half)}.columns{margin-right:calc(var(--space-half) * -1)}.columns>*{margin-right:var(--space-half);margin-bottom:calc(var(--space-half) * 1.5)}.columnsContainer.half .columns>*{margin-bottom:var(--space-quarter)}.columns .column{width:calc(100% - (var(--space-half)))!important}.columns .column-1-2{width:calc((100% - (var(--space-half) * 2)) / 2)}.columns .column.column-1-3{width:calc((100% - (var(--space-half) * 3)) / 3)}}button,input[type=checkbox],input[type=radio]{-webkit-user-select:none;user-select:none}input[type=number],input[type=password],input[type=text],textarea{color:var(--color-default);background:var(--background-secondary)}label,dt{color:var(--color-secondary);display:block;font-size:var(--size-default);font-weight:400;line-height:1;margin-bottom:var(--space-quarter)}.labelXLarge{font-size:var(--size-subheader);margin-bottom:calc(var(--space-half) * 1.5);color:var(--color-default)}input:invalid,input:invalid:focus{border-color:var(--color-error)}input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}a[tabindex="0"]:focus,button:focus,input:focus,select:focus,input[type=checkbox]:focus+label:before{outline-color:var(--color-blue);outline-offset:-2px;outline-style:auto;outline-width:4px}@media (max-width: 768px){.labelXLarge{margin-bottom:var(--space-half)}}.checked-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:1;stroke-miterlimit:10;stroke:#7aba7a;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checked{border-radius:50%;stroke:#fff;stroke-miterlimit:10;stroke-width:1!important;box-shadow:inset 0 0 #7aba7a;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checked-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards;stroke:#7aba7a}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.02,1.02,1)}}.caretDown{animation:fadeinout 3s cubic-bezier(.45,.05,.55,.95) infinite;stroke-width:1!important;max-width:26px}.dark-mode .caretDown{fill:#fff}@keyframes fadeinout{0%,to{opacity:1}50%{opacity:.1}} +._expandIcon_j17uw_1 { + stroke: var(--color-gray); + width: 18px; + height: 18px; +} +._logo_gbled_1 { + display: block; + margin: 0 auto var(--space-default) auto; + max-width: 160px; +} + +._swissOpenSource_gbled_7 { + max-width: 240px !important; + width: 100% !important; +} + +._swissOpenSource_gbled_7._large_gbled_12 { + max-width: 280px !important; +} + +@media (max-width: 768px) { + ._swissOpenSource_gbled_7 { + max-width: 180px !important; + } + + ._swissOpenSource_gbled_7._large_gbled_12 { + max-width: 210px !important; + } +}._point2bitbox02_1vb0x_1 { + text-align: center; +} + +._caret_1vb0x_5 { + display: block; + margin: 0 auto; +} + +._bitbox02_1vb0x_10 { + display: inline-block; + max-width: 264px; + position: relative; + right: -16px; +} +._overlay_1u8gr_1 { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + position: fixed; + bottom: 0; + left: 0; + height: 100%; + width: 100%; + background: transparent; + z-index: 4010; +} + +._overlay_1u8gr_1._activeOverlay_1u8gr_15 { + background-color: var(--bg-transparent-dark); +} + +._modal_1u8gr_19 { + background-color: var(--background-secondary); + width: 100%; + max-width: 420px; + border-radius: 2px; + box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3); + text-align: left; + max-height: 100vh; + overflow: auto; +} +/* guard dialog and wait-dialog from view styles */ +@media (min-width: 1200px) { + ._header_1u8gr_31 ._title_1u8gr_31 { + --size-subheader: 16px; + } + ._modal_1u8gr_19 { + margin-left: var(--sidebar-width-large); + } + ._modal_1u8gr_19 ._contentContainer_1u8gr_37 p { + --size-default: 14px; + } +} + +._modal_1u8gr_19._small_1u8gr_42 { + max-width: 340px; + width: 100%; +} + +._modal_1u8gr_19._medium_1u8gr_47 { + /* long enough to fit a bc1... address in the receive screen on desktop */ + max-width: 520px; + width: 100%; +} + +._modal_1u8gr_19._large_1u8gr_53 { + max-width: 800px; + width: 100%; +} + +._header_1u8gr_31 { + height: var(--item-height); + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 0 var(--space-half); + border-bottom: solid 1px var(--background); +} + +._header_1u8gr_31._centered_1u8gr_68 { + justify-content: center; +} + +._header_1u8gr_31 ._title_1u8gr_31 { + margin: 0; + font-size: var(--size-subheader); + font-weight: 400; +} + +._closeButton_1u8gr_78 { + background: none; + border: none; + padding: 0; + width: auto !important; +} + +._closeButton_1u8gr_78:focus { + outline: none; +} + +._closeButton_1u8gr_78:disabled { + color: var(--color-secondary); +} + +._header_1u8gr_31 ._closeButton_1u8gr_78, +._header_1u8gr_31 ._closeButton_1u8gr_78 img { + width: 18px; + height: 18px; +} + +._contentContainer_1u8gr_37 { + font-size: var(--size-default); + font-weight: 400; + padding: var(--space-half); +} + +._contentContainer_1u8gr_37._slim_1u8gr_105 { + padding: 0; +} + +._contentContainer_1u8gr_37._padded_1u8gr_109 { + padding: var(--space-default); +} + +._content_1u8gr_37 p { + word-break: break-word; +} + +._actions_1u8gr_117 button, +._actions_1u8gr_117 a, +._small_1u8gr_42 ._actions_1u8gr_117 button, +._small_1u8gr_42 ._actions_1u8gr_117 a { + width: 100%; +} + +._actions_1u8gr_117 > *:not(:last-child), +._small_1u8gr_42 ._actions_1u8gr_117 > *:not(:last-child) { + margin-bottom: var(--space-quarter); +} + +._actions_1u8gr_117 { + margin-top: var(--space-quarter); +} + + +/* WAIT DIALOG */ +._confirmationLabel_1u8gr_135 { + position: relative; + line-height: 1.3; + font-size: var(--size-default); + font-weight: 400; + margin-top: var(--space-half); + padding-left: 24px; +} + +._confirmationLabelNumber_1u8gr_144 { + display: inline-block; + position: absolute; + left: 0; +} + +._disabledLabel_1u8gr_150, +._disabledLabel_1u8gr_150 span { + color: var(--color-light) !important; +} + +._noStep_1u8gr_155 { + padding-left: 0; +} + +._confirmationInstructions_1u8gr_159 { + margin: 0; + padding: var(--space-half) 0 var(--space-quarter) 0; +} + +._confirmationInstructions_1u8gr_159 > div { + width: 50%; +} + +._confirmationInstructions_1u8gr_159 p { + line-height: 1; + margin-top: var(--space-quarter); +} + +._confirmationInstructions_1u8gr_159._confirm_1u8gr_135 { + text-align: center; + font-size: var(--size-subheader); + padding: var(--space-half) calc(var(--space-half) * 1.5); +} + +._image_1u8gr_179 { + height: 120px; + margin-right: var(--space-half); +} + +._modalContent_1u8gr_184 p { + font-size: var(--size-default); + font-weight: 400; +} + +._modalContent_1u8gr_184 > *:first-child { + margin-top: 0; +} + +._detail_1u8gr_193 { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + min-height: var(--item-height); + padding: var(--space-half); +} + +._detail_1u8gr_193:not(:first-child) { + border-bottom: solid 1px var(--background); +} + +._detail_1u8gr_193 label { + white-space: nowrap; + margin-right: var(--space-half) !important; +} + +._detail_1u8gr_193 label, +._detail_1u8gr_193 p { + margin: 0; + line-height: 1; +} + +._detail_1u8gr_193._description_1u8gr_217 > span { + text-align: right; +} + +._buttons_1u8gr_221 { + padding: var(--space-quarter); +} + +._buttons_1u8gr_221 button:first-child { + margin-right: 10px; +} + +._buttons_1u8gr_221 button { + width: 50%; +} + +._dialogButtons_1u8gr_233 { + display: flex; + flex-direction: row-reverse; + justify-content: space-between; + margin-top: var(--space-default); +} +._dialogButtons_1u8gr_233 > *:only-child { + width: 100%; +} + +@media (min-width: 769px) { + ._closingOverlay_1u8gr_244 { + display: none; + } +} + +@media (max-width: 768px) { + + ._header_1u8gr_31 ._title_1u8gr_31{ + font-size: var(--header-default-font-size); + } + + ._modal_1u8gr_19 { + padding: 0; + } + + ._modal_1u8gr_19, ._modal_1u8gr_19._small_1u8gr_42, ._modal_1u8gr_19._medium_1u8gr_47, ._modal_1u8gr_19._large_1u8gr_53{ + max-width: 100vw; + height: 100vh; + transform: translateY(100vh); + transition: transform 300ms; + border-top-right-radius: var(--space-half); + border-top-left-radius: var(--space-half); + } + + ._modal_1u8gr_19._open_1u8gr_268 { + transition: transform 300ms; + transform: translateY(0); + } + + ._contentContainer_1u8gr_37._padded_1u8gr_109 { + padding: var(--space-half); + } +} +._link_28asd_1 { + align-items: center; + background: none; + border: none; + color: var(--color-blue); + cursor: default; + display: flex; + flex-direction: row; + font-size: var(--size-default); + justify-content: flex-start; + padding: var(--space-quarter); +} + +._link_28asd_1 svg { + width: 18px; + height: 18px; + margin-right: calc(var(--space-quarter) / 2); +} + +._language_28asd_20 { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + width: 100%; + height: var(--item-height); + padding: 0 var(--space-half); + color: var(--color-blue); + border: none; + background-color: transparent; + font-size: var(--size-default); +} + +._language_28asd_20:focus { + outline: none; +} + +._language_28asd_20._selected_28asd_38 { + color: var(--color-default); +} + +._language_28asd_20:hover { + background-color: var(--background); +} + +._checked_28asd_46 { + width: 18px; + height: 18px; +} + +@media (max-width: 768px) { + ._link_28asd_1 { + font-size: var(--size-small); + } + + ._language_28asd_20 { + font-size: var(--size-small) !important; + } +}._fullscreen_q1y08_1 { + background: var(--background); + bottom: 0; + display: flex; + flex-grow: 1; + flex-direction: column; + left: 0; + overflow-x: inherit; + overflow-y: auto; + position: fixed; + right: 0; + top: 0; + /* z-index between sidebar (~4000) and wait-dialog (~10000) */ + z-index: 5100; +} +.container ._fullscreen_q1y08_1 { + /* view components within the content are i.e. unlock + should have lower z-index than outside content are, i.e. AOPP */ + z-index: 5050; +} + +._dialog_q1y08_22 { + background-color: var(--bg-transparent-dark); + justify-content: center; +} + +/* this will be applied if fullscreen is false */ +._fill_q1y08_28 { + align-self: center; + display: flex; + flex-direction: column; + flex-grow: 1; + padding: 0 var(--space-default) var(--space-default) var(--space-default); + max-width: var(--content-width); + width: 100%; +} + +._inner_q1y08_38 { + display: flex; + flex-direction: column; + margin: 0 auto; + max-width: var(--content-width); + padding: var(--space-half) 0; + width: 100%; +} +._verticallyCentered_q1y08_46 ._inner_q1y08_38 { + margin-bottom: auto; + margin-top: auto; +} +._inner_q1y08_38._fit_q1y08_50 { + flex-shrink: 0; + max-height: 100%; + padding-bottom: 0; + padding-top: 0; +} +._fit_q1y08_50 ._content_q1y08_56 { + align-items: stretch; + display: flex; + flex-direction: column; +} +._textCenter_q1y08_61, +._text-center_q1y08_62 { + text-align: center; +} +._text-left_q1y08_65 { + text-align: left; +} +@media (max-width: 768px) { + ._inner_q1y08_38 { + flex-grow: 1; + display: flex; + flex-direction: column; + margin: 0 auto; + min-height: auto !important; + } + ._inner_q1y08_38._fit_q1y08_50 { + padding-bottom: var(--space-half); + padding-top: 2vh; + } + +} +@media (min-width: 769px) { + ._fullscreen_q1y08_1 ._inner_q1y08_38 { + padding-left: var(--space-default); + padding-right: var(--space-default); + } +} +@media (max-width: 1080px) { + ._inner_q1y08_38 { + max-width: 100%; + } +} +@media (min-width: 1200px) { + ._inner_q1y08_38 { + padding-left: 0; + padding-right: 0; + } +} +._dialog_q1y08_22 ._inner_q1y08_38 { + background-color: var(--background-secondary); + box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3); + flex-grow: 0; + max-width: 100%; + padding-left: 0; + padding-right: 0; + width: 540px; +} + +._header_q1y08_109 { + color: var(--color-secondary); + font-size: var(--size-default); + margin-bottom: var(--space-default); + word-break: break-word; +} +._dialog_q1y08_22 ._header_q1y08_109 { + padding-left: var(--space-default); + padding-top: 0; + padding-right: var(--space-default); +} +@media (max-width: 768px) { + ._fill_q1y08_28 { + padding: 0 0 var(--space-default) 0; + } + ._header_q1y08_109 { + padding-left: var(--space-half); + padding-top: var(--space-default); + padding-right: var(--space-half); + margin-bottom: 0; + } + ._smallHeader_q1y08_130 { + margin-bottom: var(--space-half); + padding-top: var(--space-half); + } + ._fill_q1y08_28 ._header_q1y08_109 { + padding-top: 0; + } +} +@media (max-width: 1199px) { + ._header_q1y08_109 { + padding-top: var(--space-large); + } + ._smallHeader_q1y08_130 { + padding-top: 0; + } + ._fill_q1y08_28 ._header_q1y08_109 { + padding-top: 0; + } + ._dialog_q1y08_22 ._header_q1y08_109 { + padding-left: var(--space-half); + padding-top: 0; + padding-right: var(--space-half); + } +} + +._title_q1y08_155 { + color: var(--color-default); + font-size: var(--size-subheader); + font-weight: 400; + margin-bottom: var(--space-half); +} +._title_q1y08_155 span { + display: block; +} + +._header_q1y08_109 p { + margin-top: var(--space-quarter); +} + +._closeButton_q1y08_169 { + background: transparent; + border: none; + color: var(--color-primary); + height: var(--header-height); + left: 0; + position: absolute; + text-align: center; + top: 0; + width: var(--header-height); +} + +._content_q1y08_56 { + flex-grow: 1; + flex-shrink: 0; + min-height: 80px; + word-break: break-word; +} +._fit_q1y08_50 ._content_q1y08_56 { + flex-shrink: 1; +} +@media (max-width: 768px) { + ._content_q1y08_56 { + flex-grow: 1; + flex-basis: auto; + flex-shrink: 0; + padding: 0 var(--space-half); + } + ._content_q1y08_56._fullWidth_q1y08_197 { + padding: 0; + } +} +@media (max-width: 1199px) { + ._dialog_q1y08_22 ._content_q1y08_56 { + padding: 0 var(--space-half); + } +} +@media (min-width: 1200px) { + ._content_q1y08_56 { + min-height: 130px; + } + ._dialog_q1y08_22 ._content_q1y08_56 { + padding: var(--space-half) var(--space-default); + } +} + +._content_q1y08_56 ._largeIcon_q1y08_215 { + margin: var(--space-half) auto; + max-height: 100%; + max-width: 280px; + min-width: 80px; + width: 50%; +} +@media (max-width: 768px) { + ._content_q1y08_56 ._largeIcon_q1y08_215 { + margin-bottom: var(--space-half); + margin-top: var(--space-half); + max-width: 160px; + } +} + +._content_q1y08_56 ul { + font-size: var(--size-default); + line-height: 1.625; + padding-left: 1.4em; +} + +._content_q1y08_56 label { + color: var(--color-default); +} + +._buttons_q1y08_240 { + display: flex; + flex-direction: row-reverse; + justify-content: space-between; + margin-top: var(--space-default); + padding-bottom: var(--space-half); +} +._dialog_q1y08_22 ._buttons_q1y08_240 { + padding-left: var(--space-default); + padding-right: var(--space-default); +} +@media (max-width: 768px) { + ._buttons_q1y08_240 { + padding: 0 var(--space-half); + } +} +@media (max-width: 768px) and (orientation: portrait) { + ._buttons_q1y08_240 { + align-items: stretch; + flex-direction: column; + flex-grow: 0; + justify-content: flex-end; + margin-top: var(--space-half); + } + ._buttons_q1y08_240 > *:not(:last-child) { + margin-bottom: var(--space-half); + } +} +@media (max-width: 1199px) { + ._dialog_q1y08_22 ._buttons_q1y08_240 { + padding: 0 var(--space-half); + } +} +._textCenter_q1y08_61 ._buttons_q1y08_240 > *:only-child { + justify-self: flex-end; + margin: 0 auto; +} + +@media (min-width: 1200px) { + ._title_q1y08_155 { + --size-subheader: 28px; + } + ._header_q1y08_109, + ._inner_q1y08_38 p { + --size-default: 20px; + } + ._fullscreen_q1y08_1 { + --size-default: 18px; + } + ._inner_q1y08_38 footer p { + --size-default: 14px; + } +} + +._footer_q1y08_294 { + align-items: center; + display: flex; + flex-direction: row; + justify-content: flex-end; + margin: var(--space-default) auto 0 auto; + max-width: var(--content-width); + padding: 0; + width: 100%; +} +._fullscreen_q1y08_1 ._footer_q1y08_294 { + margin: var(--space-default) auto; + padding: 0 var(--space-default); +} + +._footer_q1y08_294 p { + color: var(--color-secondary); + font-size: var(--size-default); + margin: 0; +} + +._footer_q1y08_294 img { + width: 120px; + margin: 0 auto 0 0; +} + +@media (max-width: 768px) { + ._footer_q1y08_294 { + padding: 0 var(--space-half); + margin: var(--space-half) 0 0 0; + } + ._fullscreen_q1y08_1 ._footer_q1y08_294 { + margin: var(--space-half) 0; + } + + ._footer_q1y08_294 p { + text-align: right; + font-size: var(--size-small); + } + + ._footer_q1y08_294 img { + width: 80px; + } +}._button_b8ew4_1 { + align-items: center; + appearance: none; + border-color: transparent; + border-radius: 2px; + border-style: solid; + border-width: 1px; + cursor: default; + display: inline-flex; + flex-direction: row; + font-family: var(--font-family); + font-size: var(--size-default); + font-weight: 400; + justify-content: center; + min-width: 100px; + height: 50px; + outline: none; + padding: 0 var(--space-default); + position: relative; + text-align: center; + text-decoration: none; + transition: background-color .2s ease-out, color .2s ease-out; + will-change: background-color, color; +} + +._button_b8ew4_1:hover { + cursor: pointer; +} + +._button_b8ew4_1:disabled { + cursor: not-allowed; +} + +._button_b8ew4_1:focus { + outline: none; +} + +._primary_b8ew4_38 { + background: var(--color-blue); + color: var(--color-alt); +} + +._primary_b8ew4_38:not([disabled]):focus, +._primary_b8ew4_38:not([disabled]):hover { + background-color: var(--color-lightblue); +} + +._secondary_b8ew4_49 { + background-color: var(--background-secondary); + border-color: var(--background-tertiary); + color: var(--color-default); +} + +._secondary_b8ew4_49:not([disabled]):focus, +._secondary_b8ew4_49:not([disabled]):hover { + border-color: var(--color-blue); + color: var(--color-blue); +} + +._secondary_b8ew4_49[disabled] { + border-color: var(--background-quaternary); + color: var(--color-tertiary); +} + +._danger_b8ew4_67 { + background-color: var(--color-softred); + border-color: var(--color-softred); + color: var(--color-alt); +} + +._danger_b8ew4_67:not([disabled]):focus, +._danger_b8ew4_67:not([disabled]):hover { + background-color: var(--color-lightred); + border-color: var(--color-lightred); +} + +._danger_b8ew4_67:focus { + outline-color: var(--color-swissred); +} + +._transparent_b8ew4_84 { + background-color: transparent; + border-color: transparent; + color: var(--color-blue); + display: inline-block; + height: auto; + min-width: 0; + padding: var(--space-half); +} + +._transparent_b8ew4_84:not([disabled]):focus, +._transparent_b8ew4_84:not([disabled]):hover { + color: var(--color-lightblue); +} + +._primary_b8ew4_38[disabled], +._danger_b8ew4_67[disabled], +._transparent_b8ew4_84[disabled] { + opacity: 0.4; +} + +._button_b8ew4_1[hidden] { + display: none; +} + +@media (max-width: 768px) { + ._button_b8ew4_1 { + min-width: 90px; + } +} +._checkbox_1m6k1_1 input { + position: absolute; + opacity: 0; +} + +._checkbox_1m6k1_1 input + label { + display: inline-block; + max-width: 100%; + padding-left: 2em; + position: relative; +} + +._checkbox_1m6k1_1 input + label::before, +._checkbox_1m6k1_1 input + label::after { + background: var(--background-secondary); + box-sizing: border-box; + content: ''; + display: inline-block; + width: 1em; + height: 1em; + position: absolute; + left: 0; + vertical-align: top; + text-align: center; + transition: all 100ms ease; +} + +._checkbox_1m6k1_1 input + label::before { + border: 1px solid rgb(220, 220, 220); + border-radius: 2px; + top: -1px; +} +._success_1m6k1_33 input + label::before { + border-color: var(--background-secondary); + outline: 1px solid var(--color-success); +} +._warning_1m6k1_37 input + label::before { + border-color: var(--background-secondary); + outline: 1px solid var(--color-warning); +} +._info_1m6k1_41 input + label::before { + border-color: var(--background-secondary); + outline: 1px solid var(--color-info); +} + +._checkbox_1m6k1_1 input + label::after { + background: transparent; + border: solid var(--background-secondary); + border-width: 0px 2px 2px 0; + width: 0.35em; + height: 0.55em; + position: absolute; + top: 3px; + left: 6px; + margin-left: -1px; + margin-top: -2px; + opacity: 0; + transform: scale(2) rotate(45deg); + transition: opacity .2s ease-out, transform .2s ease-out; +} + +/* checked */ + +._checkbox_1m6k1_1 input:checked + label::before { + background-color: var(--color-blue); + border-color: var(--color-blue); +} + +._success_1m6k1_33 input:checked + label::before { + background-color: var(--color-success); + border-color: var(--color-success); + color: var(--color-alt); +} + +._warning_1m6k1_37 input:checked + label::before { + background-color: var(--color-warning); + border-color: var(--color-warning); + color: var(--color-alt); +} + +._info_1m6k1_41 input:checked + label::before { + background-color: var(--color-info); + border-color: var(--color-info); + color: var(--color-alt); +} + +._checkbox_1m6k1_1 input:checked + label::after { + opacity: 1; + transform: scale(1) rotate(37deg); +} + +/* focus */ + +._checkbox_1m6k1_1 input[type="checkbox"]:focus + label::before { + border-color: var(--color-blue); + outline: none; + outline-offset: 0; +} + +._checkbox_1m6k1_1 input[type="checkbox"]:checked:focus + label::before { + outline: 2px solid var(--color-blue); + outline-offset: -1px; +} + +:is(._success_1m6k1_33, ._warning_1m6k1_37, ._info_1m6k1_41) input[type="checkbox"]:focus + label::before, +:is(._success_1m6k1_33, ._warning_1m6k1_37, ._info_1m6k1_41) input[type="checkbox"]:checked:focus + label::before { + border-color: transparent; + outline: 2px solid var(--color-blue); + outline-offset: 0; +} + +/* disabled */ + +._checkbox_1m6k1_1 input[disabled] + label::before { + background: rgb(248, 248, 248); + border-color: rgb(220, 220, 220); + cursor: not-allowed; +} +._radio_198i3_1 { + --size-default: 14px; +} + +._radio_198i3_1 input { + position: absolute; + opacity: 0; +} + +._radio_198i3_1 input + label { + display: inline-flex; + flex-direction: column; + font-size: var(--size-default); + line-height: 1.5; + margin-right: var(--space-half); + padding-left: calc(var(--space-half) + var(--space-quarter)); + position: relative; +} + +._radio_198i3_1 input + label::before, +._radio_198i3_1 input + label::after { + background: var(--background-secondary); + content: ''; + display: inline-block; + width: 12px; + height: 12px; + position: absolute; + top: 4px; + left: 0; + transition: all 100ms ease; +} + +._radio_198i3_1 input + label::before { + border: 1px solid rgb(220, 220, 220); + border-radius: 1em; +} + +._radio_198i3_1 input + label::after { + background: var(--color-blue); + border-radius: 1em; + width: 10px; + height: 10px; + position: absolute; + top: 6px; + left: 2px; + opacity: 0; + transform: scale(0); +} + +/* checked */ + +._radio_198i3_1 input:checked + label::before { + background-color: var(--background-secondary); +} + +._radio_198i3_1 input:checked + label::after { + opacity: 1; + transform: scale(1); +} + +/* focus */ + +._radio_198i3_1 input[type="radio"]:focus + label::before { + box-shadow: 0px 0px 2px 2px var(--color-blue); + outline: none; + outline-offset: 0; +} + +._radio_198i3_1 input[type="radio"]:checked:focus + label::before { + box-shadow: 0px 0px 2px 2px var(--color-blue); +} + + +/* disabled */ + +._radio_198i3_1 input:disabled + label::before { + background: rgb(248, 248, 248); + border-color: rgb(220, 220, 220); + cursor: not-allowed; +} +._field_d2mb0_1 { + margin-bottom: var(--spacing-default); +} +._input_1dgl0_1 { + width: 100%; + margin-bottom: var(--space-half); + position: relative; +} + +._input_1dgl0_1 label { + display: block; + margin: 0 0 var(--space-quarter) 0; +} + +._align-left_1dgl0_12 label { + justify-self: flex-start; +} + +._align-right_1dgl0_16 label { + flex-grow: 1; + justify-self: flex-end; + text-align: right; +} + +._align-right_1dgl0_16 input { + text-align: right; +} + +._input_1dgl0_1 input { + background-color: var(--background-secondary); + border-color: var(--background-quaternary); + border-radius: 2px; + border-style: solid; + border-width: 1px; + font-family: var(--font-family); + font-size: var(--size-default); + font-weight: 400; + height: 52px; + padding: 0 var(--space-half); + width: 100%; + transition: border-color .2s ease-out; + will-change: border-color; +} + +._input_1dgl0_1 input:focus { + border-color: var(--color-blue); + outline: none; +} + +._input_1dgl0_1 input::placeholder { + color: var(--color-secondary); +} + +._input_1dgl0_1 input[disabled] { + background-color: var(--background-secondary) !important; + border-color: var(--background) !important; + color: var(--color-secondary) !important; + cursor: not-allowed; +} + +._isTransparent_1dgl0_58 input[disabled] { + border-color: var(--background); + color: var(--color-default) !important; + cursor: default; +} + +._errorText_1dgl0_64 { + color: var(--color-softred) !important; +} + +._errorText_1dgl0_64 > span > span { + margin-left: 5px; +} + +._input_1dgl0_1 input[type=checkbox] { + width: auto; + height: auto; +} +._label_53nw1_1 { + text-align: left; +} +._select_yd5xu_1 { + margin-bottom: var(--space-half); + position: relative; + width: 100%; +} + +._select_yd5xu_1 label { + display: block; + margin-bottom: var(--space-quarter); + text-align: left; +} + +._select_yd5xu_1 select { + appearance: none; + background-color: var(--background-secondary); + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A"); + background-position: calc(100% - 12px); + background-repeat: no-repeat; + border: solid 1px var(--background-quaternary); + border-radius: 2px; + color: var(--color-default); + font-family: var(--font-family); + font-size: var(--size-default); + font-weight: 400; + height: 52px; + padding: 0 var(--space-half); + width: 100%; +} + +._select_yd5xu_1 select[disabled] { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23ccc'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A"); +} + +/* on macOS this definition has no effect as the dropdown is rendered by the OS */ +._select_yd5xu_1 option { + background-color: var(--background-secondary); + color: var(--color-default); + padding: var(--spacing-default); + width: 100%; +} + +._select_yd5xu_1 option[disabled] { + color: var(--color-disabled); +} +._message_ncb43_1 { + border: solid 1px var(--background-quaternary); + color: var(--color-secondary); + border-radius: 2px; + padding: var(--spacing-default); + margin-bottom: var(--spacing-default); + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + flex-shrink: 0; + overflow: hidden; +} + +._message_ncb43_1._small_ncb43_15 { + flex-shrink: 1; + font-size: var(--size-default); +} + +._message_ncb43_1 img { + margin-right: var(--spacing-default); +} + +._message_ncb43_1 p:last-child { + margin-bottom: 0 !important; +} + +._success_ncb43_28 { + color: var(--color-success); + border-color: var(--color-success); +} + +._info_ncb43_34 { + color: var(--color-blue); + border-color: var(--color-blue); +} + +._warning_ncb43_40 { + color: var(--color-warning); + border-color: var(--color-warning); +} + +._error_ncb43_46 { + color: var(--color-error); + border-color: var(--color-error); +} +._capsWarning_1xqma_1 { + color: var(--color-warning); + font-weight: bold; + line-height: 42px; + position: absolute; + right: 0; + width: 2rem; +} +._badge_f2nw5_1 { + border-radius: var(--space-half); + border: 1px solid; + display: inline-block; + font-size: var(--size-small); + line-height: 14px; + padding: var(--space-eight) 10px; + white-space: nowrap; +} + +._badge_f2nw5_1._iconOnly_f2nw5_11 { + align-items: center; + display: inline-flex; + height: 18px; + justify-content: center; + padding: 0; + width: 18px; +} + +._badgeIcon_f2nw5_20 { + max-width: 10px; +} + +._withChildren_f2nw5_24 ._badgeIcon_f2nw5_20 { + margin-right: var(--space-eight); +} + +@media (max-width: 382px) { + ._badge_f2nw5_1 { + font-size: 10px; + } +} + +._success_f2nw5_34 { + background: var(--color-palegreen); + border-color: var(--color-lightgreen); + color: var(--color-darkgreen); +} + +._warning_f2nw5_40 { + background: var(--color-lightyellow); + border-color: var(--color-darkyellow); + color: var(--color-olive); +} +._closeButton_1xwfn_1 { + background: transparent; + border: none; + display: none; + padding: 12px; + transform: translateX(14px); +} + +._closeButton_1xwfn_1:focus{ + outline: none; +} + +._sidebarOverlay_1xwfn_13 { + position: fixed; + background-color: rgba(0, 0, 0, 0.3); + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: -1; + opacity: 0; + animation-delay: 0.2s; + transition: opacity ease 0.2s; +} + +._sidebarOverlay_1xwfn_13._active_1xwfn_26 { + opacity: 1; + z-index: 4001; +} + +._sidebar_1xwfn_13 { + position: fixed; + margin-left: calc(var(--sidebar-width-large) * -1); + align-content: stretch; + background-color: var(--background-dark); + display: flex; + flex-direction: column; + flex-shrink: 0; + justify-content: flex-start; + height: 100vh; + padding: 0 0 var(--spacing-default) 0; + width: var(--sidebar-width-large); + z-index: 4002; + overflow-y: auto; +} + +._sidebar_1xwfn_13 > *._end_1xwfn_47 { + margin-top: auto; + padding-top: var(--sidebar-margin); +} + +._sidebar_1xwfn_13._forceShow_1xwfn_52 { + margin-left: 0; +} + +._sidebar_1xwfn_13 ._sidebarLogoContainer_1xwfn_56 { + align-items: center; + display: flex; + flex-direction: row; + height: 70px; + justify-content: space-between; + padding: calc(var(--spacing-default) + var(--spacing-half)) var(--spacing-large); + background-size: cover; + background-color: rgba(0, 0, 0, 0.1); + opacity: 1; + transition: opacity 0.2s ease; +} + +._sidebarLogoContainer_1xwfn_56 img { + margin-bottom: 0; + width: auto !important; + height: var(--sidebar-icon-size) !important; +} + +._sidebarHeaderContainer_1xwfn_75 { + margin-top: var(--sidebar-margin); + margin-bottom: var(--sidebar-header-size); + padding: 0 var(--sidebar-margin); + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +._sidebarPortfolio_1xwfn_85 + ._sidebarHeaderContainer_1xwfn_75 { + margin-top: 28px; +} + +._sidebarHeader_1xwfn_75 { + font-size: var(--sidebar-header-size); + line-height: var(--sidebar-header-line-height); + color: var(--color-secondary); +} + +._sidebarIconVisible_1xwfn_95 { + visibility: visible; +} + +._sidebarIconHidden_1xwfn_99 { + visibility: hidden; +} + +._sidebarItem_1xwfn_103 { + display: block; +} + +._sidebarItem_1xwfn_103 a { + position: relative; + color: white; + cursor: default; + height: var(--sidebar-item-height); + text-decoration: none; + overflow: hidden; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + border-radius: 2px; +} + +._sidebarArrow_1xwfn_121 { + display: none; +} + +._sidebarItem_1xwfn_103 a._sidebarActive_1xwfn_125 { + text-decoration: none; + background-color: rgba(255, 255, 255, 0.1); +} + +._activeGroup_1xwfn_130 ._sidebarArrow_1xwfn_121 { + display: inline; + margin-right: var(--sidebar-margin); +} + +._sidebarItem_1xwfn_103 .stacked, +._sidebarItem_1xwfn_103 ._single_1xwfn_136 { + margin: 0 var(--sidebar-icon-margin) 0 var(--sidebar-margin); + height: var(--sidebar-icon-size); +} + +a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141, +._sidebar_1xwfn_13 a:hover ._sidebarLabel_1xwfn_141, +._activeGroup_1xwfn_130 ._sidebarLabel_1xwfn_141 { + color: var(--color-alt); +} + +._sidebar_1xwfn_13 a._sidebarActive_1xwfn_125 ._sidebarLabel_1xwfn_141 { + font-weight: normal; +} + +a._sidebarActive_1xwfn_125 .stacked img:first-child, +._sidebar_1xwfn_13 a:hover .stacked img:first-child { + opacity: 0; +} + +a._sidebarActive_1xwfn_125 .stacked img:last-child, +._sidebar_1xwfn_13 a:hover .stacked img:last-child, +._activeGroup_1xwfn_130 .stacked img:last-child { + opacity: 1; +} + +._sidebar_1xwfn_13 img { + width: var(--sidebar-icon-size); + height: auto; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +._single_1xwfn_136 img { + opacity: .6; + transition: opacity 0.2s ease; +} + +a._sidebarActive_1xwfn_125 ._single_1xwfn_136 img, +._sidebar_1xwfn_13 a:hover ._single_1xwfn_136 img { + opacity: 1; +} + +._sidebarLabel_1xwfn_141 { + color: var(--color-light); + line-height: 1; + flex: 1; + padding-top: 0; + padding-right: var(--space-default); + font-size: var(--size-default); + font-weight: 400; + transition: all 0.2s ease; + word-break: break-word; +} + +._activeGroup_1xwfn_130 { + background-color: #555555; +} + +._sidebarSubmenu_1xwfn_197 a svg { + width: 18px; + height: 18px; + margin-right: var(--sidebar-icon-margin); + margin-left: calc(var(--sidebar-margin) + var(--sidebar-icon-margin)); +} + +._sidebarArrow_1xwfn_121 { + width: 12px; + height: 12px; +} + +@media (max-width: 1199px) { + ._sidebar_1xwfn_13 { + transition: margin-left 0.2s ease; + } +} + +@media (min-width: 1200px) { + ._sidebarContainer_1xwfn_216:not(._forceHide_1xwfn_216) ._sidebar_1xwfn_13 { + position: relative; + margin-left: 0; + width: var(--sidebar-width-large); + } +} + +@media (max-width: 560px) { + ._closeButton_1xwfn_1 { + display:block; + } + + ._sidebar_1xwfn_13 { + margin-left: -100vw; + transition: margin-left 0.3s ease; + width: 100vw; + } +} +._children_1y42x_1 { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: var(--space-quarter); +} + +._children_1y42x_1 > a { + display: inline-block; + height: 18px; + font-size: var(--size-default); + text-decoration: none; + font-weight: 400; +} + +._children_1y42x_1 > a > svg { + width: 18px; + height: 18px; + stroke-width: 2; +} + +._container_1y42x_22 { + width: 100%; +} + +._container_1y42x_22._fixed_1y42x_26 { + position: fixed; + left: var(--sidebar-width); + height: var(--header-height); + width: calc(100% - var(--sidebar-width)); + z-index: 1001; +} + +._disabled_1y42x_34 { + opacity: 0.4; +} + +._forceHidden_1y42x_38 ._sidebarToggler_1y42x_38 { + display: none !important; +} + +._guideIcon_1y42x_42 { + font-size: var(--size-default); + text-decoration: none; + display: flex; + flex-direction: row; + align-items: center; +} + +._guideIcon_1y42x_42 img { + width: 18px; + height: 18px; + color: var(--color-blue); + margin-right: calc(var(--space-quarter) / 2); +} + +._guideIconContainer_1y42x_57 { + height: 18px; + margin-left: var(--space-half); +} + +._header_1y42x_62 { + padding: 0 var(--space-default); + max-width: var(--content-width); + min-height: var(--header-height); + width: 100%; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + flex: none; + margin: 0 auto; + flex-wrap: wrap; +} + +._header_1y42x_62._narrow_1y42x_76 > *:nth-child(2) { + text-align: center; +} + +._header_1y42x_62._narrow_1y42x_76 > *:nth-child(2) > * { + max-width: 600px; + width: 100%; +} + +._sidebarToggler_1y42x_38 { + width: 32px; + height: 32px; + margin-bottom: var(--space-quarter); + margin-right: var(--spacing-default); + display: flex; + flex-direction: row; + align-items: center; +} + +._sidebarToggler_1y42x_38 img { + width: 20px; +} + +._title_1y42x_99 { + white-space: nowrap; + flex-grow: 1; + margin-bottom: var(--space-quarter); + padding-right: var(--space-half); +} + +._title_1y42x_99 > * { + margin: 0; + font-size: var(--header-default-font-size); + font-weight: 400; + line-height: 1; + display: inline-flex; + align-items: center; + user-select: none; +} + +@media (max-width: 768px) { + ._header_1y42x_62 { + padding: var(--space-half); + } + ._sidebarToggler_1y42x_38._hideSidebarToggler_1y42x_120 { + display: none; + } + + ._container_1y42x_22 ._sidebarToggler_1y42x_38 { + margin-right: 0; + } +} + +@media (min-width: 1200px) { + ._sidebarToggler_1y42x_38 { + display: none; + } +} +._main_1ntet_1 { + display: flex; + flex-direction: column; + flex-grow: 1; + flex-shrink: 1; + overflow-x: inherit; + overflow-y: auto; + position: relative; +} +._columnAsCard_1rob5_1 { + background-color: var(--background-secondary); + padding: var(--space-default); +} + +._column_1rob5_1 p { + margin-top: 0; +} + +._columnButtons_1rob5_10:not(._columnButtonsInline_1rob5_10) button { + width: 100%; +} + +._columnButtons_1rob5_10 button:not(:first-child) { + margin-top: var(--space-quarter); +} + +._columnButtonsInline_1rob5_10 { + display: flex; + flex-direction: row-reverse; +} + +._columnButtonsInline_1rob5_10 > a:not(:first-child), +._columnButtonsInline_1rob5_10 > button:not(:first-child) { + margin-right: var(--space-half); + margin-top: 0; +} + +._left_1rob5_29 { + text-align: left; +} + +._center_1rob5_33 { + text-align: center; +} + +@media (max-width: 768px) { + ._columnAsCard_1rob5_1 { + padding: var(--space-half); + } + ._columnAsCard_1rob5_1 + ._columnAsCard_1rob5_1 { + margin-top: var(--space-default); + } +} + +@media (min-width: 769px) { + ._grid_1rob5_47 { + display: grid; + gap: var(--space-default); + grid-auto-rows: minmax(100px, auto); + } + + ._grid-columns-1_1rob5_53 { + grid-template-columns: repeat(1, 1fr); + } + ._grid-columns-2_1rob5_56 { + grid-template-columns: repeat(2, 1fr); + } + + ._column_1rob5_1 { + display: flex; + flex-direction: column; + } + + ._columnButtons_1rob5_10 { + margin-top: auto; + } +} +._footer_19w3c_1 { + max-width: var(--content-width); + width: 100%; + padding: 0 var(--space-default); + margin: var(--space-default) auto; +} + +._footer_19w3c_1 p { + color: var(--color-secondary); + font-size: var(--size-default); + margin: 0; +} + +._footer_19w3c_1 img { + width: 120px; + margin: 0 auto 0 0; +} + +@media (max-width: 768px) { + ._footer_19w3c_1 { + padding: 0 var(--space-half); + margin: var(--space-half) 0; + } + + ._footer_19w3c_1 p { + text-align: right; + font-size: var(--size-small); + } + + ._footer_19w3c_1 img { + width: 80px; + } +} +._contentWithGuide_1gscs_1 { + display: flex; + flex-grow: 1; + flex-direction: row; + overflow: hidden; +} + +._container_1gscs_8 { + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: auto; + position: relative; + width: 100%; +} +:root { + --icon-size: 10px; + --icon-size-small: 8px; +} + +._steps_1l429_6 { + align-items: flex-start; + display: inline-flex; + flex-shrink: 0; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + margin-bottom: var(--space-half); + overflow: hidden; + position: relative; + width: 100%; +} + +/* .steps::before { + content: ""; + background: #1f87e2; + display: block; + width: 100%; + height: 3px; + position: absolute; + top: 6px; +} */ + +._step_1l429_6 { + align-items: center; + display: flex; + flex-direction: column; + justify-content: center; + position: relative; + text-align: left; +} + +._dot_1l429_38 { + display: inline-block; + margin-bottom: var(--space-quarter); + min-height: var(--icon-size); +} + +._dot_1l429_38::before { + background: var(--color-primary); + border: 4px solid var(--background-secondary); + border-radius: 50%; + content: ""; + display: inline-block; + flex-shrink: 0; + font-size: 14px; + height: var(--icon-size); + line-height: var(--icon-size); + position: relative; + text-align: center; + transition: background-color .3s, border-color .3s; + vertical-align: top; + width: var(--icon-size); + z-index: 13; +} + +._dot_1l429_38::after { + border-top: 5px solid var(--background-secondary); + content: ""; + position: absolute; + top: 6px; + right: 50%; + width: 100vw; + z-index: 12; +} + +._line_1l429_72 ._dot_1l429_38::after { + z-index: 1; +} + +._finish_1l429_76 ._dot_1l429_38::before { + height: var(--icon-size-small); + width: var(--icon-size-small); +} + +._wait_1l429_81 { + color: var(--color-tertiary); +} + +._finish_1l429_76 ._dot_1l429_38::before, +._wait_1l429_81 ._dot_1l429_38::before { + margin-top: 1px; +} + +._wait_1l429_81 ._dot_1l429_38::before { + background: var(--background-quaternary); + height: var(--icon-size-small); + width: var(--icon-size-small); +} + +._finish_1l429_76._line_1l429_72 ._dot_1l429_38::after, +._process_1l429_97._line_1l429_72 ._dot_1l429_38::after { + border-color: var(--color-primary); + border-top-width: 3px; + z-index: 11; + top: 7px; +} + +._wait_1l429_81._line_1l429_72 ._dot_1l429_38::after { + border-color: var(--background-quaternary); + border-top-width: 3px; + top: 7px; +} + +._content_1l429_110 { + font-size: var(--size-small); + line-height: 1; + margin: 0; + min-width: 90px; + position: relative; + text-align: center; + width: min-content; + white-space: nowrap; +} +._link_1o1mh_1 { + color: var(--color-blue); + cursor: pointer; + text-decoration: underline; +} + +._link_1o1mh_1:focus { + outline: 1px solid var(--color-blue); + text-decoration: none; +} +._overlay_14an4_1 { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.3); + z-index: -1; + opacity: 0; + transition: opacity ease 0.2s; +} + +._close_14an4_13 { + color: var(--color-alt); + font-size: var(--size-default) !important; + text-decoration: none; + display: flex; + flex-direction: row; + align-items: center; + line-height: 1; +} + +._close_14an4_13 img { + width: 18px; + height: 18px; + margin-left: calc(var(--space-quarter) / 2); +} + +._wrapper_14an4_29 { + position: relative; +} + +._guide_14an4_33 { + margin-right: calc(var(--guide-width) * -1); + height: 100vh; + width: var(--guide-width); + color: white; + background-color: var(--color-lightblue); + overflow-y: auto; + transition: margin-right 0.2s ease, transform 0.2s ease; + will-change: margin-right, transform; +} + +._header_14an4_44 { + margin-bottom: var(--space-default); + height: var(--header-height); + padding: 0 var(--space-default); + background-color: var(--color-blue); +} + +._header_14an4_44 h2 { + margin: 0; + font-size: var(--header-default-font-size); + font-weight: 400; +} + +._header_14an4_44 a { + cursor: pointer; + font-size: 20px; +} + +._content_14an4_62 { + padding: 0 var(--space-default); +} + +._content_14an4_62 h1 { + margin-top: 0px; + font-size: 1.5em; +} + +._content_14an4_62 h2 { + margin: 0px; + font-size: 1.1em; + line-height: 1.2em; + font-weight: 400; +} + +._guide_14an4_33 p { + margin: 0.4em 0; + font-size: var(--size-default); +} + +._show_14an4_83 { + margin-right: 0; +} + +._entry_14an4_87 { + margin-top: var(--space-default); +} + +._entryTitle_14an4_91 { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + cursor: default; +} + +._entryTitle_14an4_91 ._entryToggle_14an4_99 { + width: 16px; + line-height: 1.2em; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + font-weight: bold; +} + +._entryTitle_14an4_91 ._entryTitleText_14an4_109 { + flex: 1; +} + +._entryContent_14an4_113 { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + padding-left: 16px; +} + +._expanded_14an4_121 { + flex-basis: 0; +} + +._link_14an4_125 { + color: inherit; + text-decoration: underline; +} + +._link_14an4_125:focus { + outline-color: inherit; +} + +@media (max-width: 1348px) { + ._guideWrapper_14an4_135 { + width: calc( (((100% - var(--sidebar-width-large)) - var(--content-width)) / 2) + 18px + var(--space-default) ); + } +} + +@media screen and (max-width: 1601px) { + ._overlay_14an4_1._show_14an4_83 { + opacity: 1; + } + + ._guide_14an4_33 { + position: fixed; + margin-right: 0; + top: 0; + right: 0; + width: 100%; + max-width: 460px; + opacity: 0; + z-index: -10; + transform: translateX(100%); + transition-delay: 0.2s; + } + + ._show_14an4_83 { + opacity: 1; + z-index: 4002; + } + + ._guide_14an4_33._show_14an4_83 { + transform: translateX(0%); + } +} + +@media (max-width: 768px) { + ._guideWrapper_14an4_135 { + position: fixed; + top: 0; + right: 0; + width: calc(var(--space-half) + 18px); + } + + ._header_14an4_44, + ._content_14an4_62 { + padding-left: var(--space-half); + padding-right: var(--space-half); + } +} + +@media screen and (max-width: 640px) { + ._guide_14an4_33 h2 { + font-size: 1.05em; + } +} +._manageContainer_1n5md_1 { + flex-basis: 490px; + flex-shrink: 1; + margin-bottom: var(--header-height); + min-height: 390px; + max-height: 100%; +} + +._title_1n5md_9 { + font-size: var(--size-large); + font-weight: 400; +} + +._successCheck_1n5md_14 { + background-color: var(--color-success); + border: .5rem solid var(--color-success); + border-radius: 100px; +} + +._successMessage_1n5md_20 { + color: var(--color-secondary); +} + +._successMessage_1n5md_20 strong { + color: var(--color-default); +} +._spinnerContainer_rthjr_1 { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background-color: var(--background-secondary); + z-index: 2000; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + -webkit-transform-style: preserve-3d; + -webkit-backface-visibility: hidden; +} + +._spinner_rthjr_1 { + display: inline-block; + position: relative; + width: 64px; + height: 64px; +} + +._spinnerText_rthjr_24 { + margin: 0; + /* font-weight: bold; */ +} + +._spinner_rthjr_1 div { + position: absolute; + top: 27px; + width: 11px; + height: 11px; + border-radius: 50%; + background: var(--color-blue); + animation-timing-function: cubic-bezier(0, 1, 1, 0); +} + +._spinner_rthjr_1 div:nth-child(1) { + left: 6px; + animation: _spinner1_rthjr_1 0.6s infinite; +} + +._spinner_rthjr_1 div:nth-child(2) { + left: 6px; + animation: _spinner2_rthjr_1 0.6s infinite; +} + +._spinner_rthjr_1 div:nth-child(3) { + left: 26px; + animation: _spinner2_rthjr_1 0.6s infinite; +} + +._spinner_rthjr_1 div:nth-child(4) { + left: 45px; + animation: _spinner3_rthjr_1 0.6s infinite; +} + +._horizontallyCentered_rthjr_59 { + left: 50%; + position: absolute; + transform: translateX(-50%); +} + +@keyframes _spinner1_rthjr_1 { + 0% { transform: scale(0); } + 100% { transform: scale(1); } +} + +@keyframes _spinner3_rthjr_1 { + 0% { transform: scale(1); } + 100% { transform: scale(0); } +} + +@keyframes _spinner2_rthjr_1 { + 0% { transform: translate(0, 0); } + 100% { transform: translate(19px, 0); } +} + + +._overlay_rthjr_81 { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: var(--background-secondary); + animation: _fadein_rthjr_1 0.3s; + opacity: 0; +} + +@keyframes _fadein_rthjr_1 { + 0% { opacity: 1; } + 66% { opacity: 1; } + 100% { opacity: 0; } +} + +._togglersContainer_rthjr_98 { + position: fixed; + top: calc((var(--header-height) - 32px) / 2); + max-width: var(--content-width); + width: 100%; + padding: 0 var(--space-default); + z-index: 1; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +._guideToggler_rthjr_111 { + display: flex; + flex-direction: row; + align-items: center; + height: 32px; + color: var(--color-primary); + font-size: var(--size-default); + cursor: default; +} + +._guideToggler_rthjr_111 svg { + width: 18px; + height: 18px; + margin-right: calc(var(--space-quarter) / 2); +} + +._toggler_rthjr_98 { + width: 32px; + height: 32px; + margin-right: var(--spacing-default); + display: flex; + flex-direction: row; + align-items: center; +} + +._toggler_rthjr_98 img { + width: 20px; +} + +@media (min-width: 1200px) { + ._togglersContainer_rthjr_98 { + flex-direction: row-reverse; + } + + ._togglerContainer_rthjr_145 { + display: none; + } +} + +@media (max-width: 768px) { + ._togglersContainer_rthjr_98 { + padding: 0 var(--space-half); + } +} +._disclaimerContainer_5gxwf_1 { + align-items: center; + display: flex; + flex-basis: 100%; + flex-direction: column; + flex-grow: 0; + flex-shrink: 1; + justify-content: center; + margin: 0 auto; + overflow: auto; + padding: 0 var(--space-half) var(--header-height) var(--space-half); + width: 100%; +} + +._title_5gxwf_15 { + font-size: 2rem; + font-weight: 400; + text-align: center; +} + +._disclaimer_5gxwf_1 { + background-color: var(--background-secondary); + flex-basis: 100%; + font-family: var(--font-family); + flex-grow: 0; + flex-shrink: 1; + margin: var(--space-default) 0; + max-width: 660px; + overflow: auto; + padding: var(--space-quarter) 1em 1em 1em; +} + +._disclaimer_5gxwf_1::-webkit-scrollbar-track { + background-color: #fff; +} + +._disclaimer_5gxwf_1 ._title_5gxwf_15 { + font-size: .875rem; + font-weight: bold; + text-align: left; +} + +._disclaimer_5gxwf_1 p { + font-size: .875rem; + line-height: 1.5; +} + +._disclaimer_5gxwf_1 p + ._title_5gxwf_15 { + margin: 2.5rem 0 0 0; +} + +._table_5gxwf_52 { + overflow: auto; +} + +._table_5gxwf_52 table { + border-collapse: collapse; + font-size: .875rem; + text-align: left; +} + +._table_5gxwf_52 td, +._table_5gxwf_52 th { + padding: var(--spacing-half); + vertical-align: top; +} + +._table_5gxwf_52 td { + border-top: 1px solid var(--color-mediumgray); +} + +._table_5gxwf_52 td:not(:last-child), +._table_5gxwf_52 th:not(:last-child) { + padding-left: 0; +} + +._nowrap_5gxwf_77 { + white-space: nowrap; +} +._container_yg57j_1 { + display: flex; + flex-basis: 100%; + flex-grow: 0; + flex-shrink: 1; + flex-direction: column; + overflow: hidden; + position: relative; +} + + +._iframe_yg57j_12 { + max-width: 100%; + position: relative; + z-index: 3000; +} + +._header_yg57j_18 { + position: relative; + z-index: 2200; +} +._balance_17xkv_1, ._balanceSingleValue_17xkv_1 { + color: var(--color-secondary); + margin-left: auto; + text-transform: uppercase; +} + +._balanceSingleValue_17xkv_1 { + margin-right: var(--space-quarter); +} + +._dropdown_17xkv_11 { + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A"); + background-repeat: no-repeat; + font-weight: 400; + height: calc(var(--space-quarter) * 3); + padding: 0 calc(var(--space-quarter) + var(--space-eight)); +} + +._select_17xkv_20 { + margin-bottom: var(--space-half); +} + +._select_17xkv_20 .react-select__menu { + background-color: var(--background-secondary); +} + +._select_17xkv_20 .react-select__option { + background-color: var(--background-secondary); +} + +._select_17xkv_20 .react-select__option:hover { + background-color: var(--background-custom-select-hover); +} + +._select_17xkv_20 .react-select__option--is-selected, +._select_17xkv_20 .react-select__option--is-selected:hover { + background-color: var(--background-custom-select-selected); +} + +._select_17xkv_20 .react-select__option--is-disabled span { + color: var(--color-secondary); +} + +._select_17xkv_20 .react-select__option--is-disabled.react-select__option--is-selected:hover { + background-color: var(--background-custom-select-selected); +} + +._select_17xkv_20 .react-select__option--is-disabled:hover { + background-color: transparent; +} + +._select_17xkv_20 .react-select__option--is-selected ._balance_17xkv_1 { + color: var(--color-default); +} + +._select_17xkv_20 .react-select__control { + background-color: var(--background-secondary); + padding: var(--space-quarter) var(--space-eight); +} + +._select_17xkv_20 .react-select__single-value { + width: 100%; +} + +._selectLabelText_17xkv_66 { + margin-left: 6px; +} + +._singleValueContainer_17xkv_70 { + align-items: center; + display: flex; + left: var(--space-quarter); + position: absolute; + width: 100%; +} + +._valueContainer_17xkv_78 { + align-items: center; + color: var(--color-default); + display: flex; +} + +._select_17xkv_20 .react-select__option--is-selected ._selectLabelText_17xkv_66 { + color: var(--color-default); +} + +._valueContainer_17xkv_78 > img { + width: 20px; + height: 20px; +} +._button_1riw8_1 { + border-width: 0; + display: flex; + padding: 0; +} + +._button_1riw8_1 img { + width: 18px; + height: 18px; +} + +._button_1riw8_1 span { + width: 96px; + margin-left: var(--space-eight); +}.fib, .fi { + background-size: contain; + background-position: 50%; + background-repeat: no-repeat; +} + +.fi { + position: relative; + display: inline-block; + width: 1.333333em; + line-height: 1em; +} +.fi:before { + content: " "; +} +.fi.fis { + width: 1em; +} + +.fi-xx { + background-image: url(./xx.svg); +} +.fi-xx.fis { + background-image: url(./xx2.svg); +} + +.fi-ad { + background-image: url(./ad.svg); +} +.fi-ad.fis { + background-image: url(./ad2.svg); +} + +.fi-ae { + background-image: url(./ae.svg); +} +.fi-ae.fis { + background-image: url(./ae2.svg); +} + +.fi-af { + background-image: url(./af.svg); +} +.fi-af.fis { + background-image: url(./af2.svg); +} + +.fi-ag { + background-image: url(./ag.svg); +} +.fi-ag.fis { + background-image: url(./ag2.svg); +} + +.fi-ai { + background-image: url(./ai.svg); +} +.fi-ai.fis { + background-image: url(./ai2.svg); +} + +.fi-al { + background-image: url(./al.svg); +} +.fi-al.fis { + background-image: url(./al2.svg); +} + +.fi-am { + background-image: url(./am.svg); +} +.fi-am.fis { + background-image: url(./am2.svg); +} + +.fi-ao { + background-image: url(./ao.svg); +} +.fi-ao.fis { + background-image: url(./ao2.svg); +} + +.fi-aq { + background-image: url(./aq.svg); +} +.fi-aq.fis { + background-image: url(./aq2.svg); +} + +.fi-ar { + background-image: url(./ar.svg); +} +.fi-ar.fis { + background-image: url(./ar2.svg); +} + +.fi-as { + background-image: url(./as.svg); +} +.fi-as.fis { + background-image: url(./as2.svg); +} + +.fi-at { + background-image: url(./at2.svg); +} +.fi-at.fis { + background-image: url(./at.svg); +} + +.fi-au { + background-image: url(./au.svg); +} +.fi-au.fis { + background-image: url(./au2.svg); +} + +.fi-aw { + background-image: url(./aw.svg); +} +.fi-aw.fis { + background-image: url(./aw2.svg); +} + +.fi-ax { + background-image: url(./ax2.svg); +} +.fi-ax.fis { + background-image: url(./ax.svg); +} + +.fi-az { + background-image: url(./az.svg); +} +.fi-az.fis { + background-image: url(./az2.svg); +} + +.fi-ba { + background-image: url(./ba2.svg); +} +.fi-ba.fis { + background-image: url(./ba.svg); +} + +.fi-bb { + background-image: url(./bb.svg); +} +.fi-bb.fis { + background-image: url(./bb2.svg); +} + +.fi-bd { + background-image: url(./bd2.svg); +} +.fi-bd.fis { + background-image: url(./bd.svg); +} + +.fi-be { + background-image: url(./be2.svg); +} +.fi-be.fis { + background-image: url(./be.svg); +} + +.fi-bf { + background-image: url(./bf2.svg); +} +.fi-bf.fis { + background-image: url(./bf.svg); +} + +.fi-bg { + background-image: url(./bg2.svg); +} +.fi-bg.fis { + background-image: url(./bg.svg); +} + +.fi-bh { + background-image: url(./bh.svg); +} +.fi-bh.fis { + background-image: url(./bh2.svg); +} + +.fi-bi { + background-image: url(./bi.svg); +} +.fi-bi.fis { + background-image: url(./bi2.svg); +} + +.fi-bj { + background-image: url(./bj.svg); +} +.fi-bj.fis { + background-image: url(./bj2.svg); +} + +.fi-bl { + background-image: url(./bl.svg); +} +.fi-bl.fis { + background-image: url(./bl2.svg); +} + +.fi-bm { + background-image: url(./bm.svg); +} +.fi-bm.fis { + background-image: url(./bm2.svg); +} + +.fi-bn { + background-image: url(./bn.svg); +} +.fi-bn.fis { + background-image: url(./bn2.svg); +} + +.fi-bo { + background-image: url(./bo.svg); +} +.fi-bo.fis { + background-image: url(./bo2.svg); +} + +.fi-bq { + background-image: url(./bq.svg); +} +.fi-bq.fis { + background-image: url(./bq2.svg); +} + +.fi-br { + background-image: url(./br.svg); +} +.fi-br.fis { + background-image: url(./br2.svg); +} + +.fi-bs { + background-image: url(./bs.svg); +} +.fi-bs.fis { + background-image: url(./bs2.svg); +} + +.fi-bt { + background-image: url(./bt.svg); +} +.fi-bt.fis { + background-image: url(./bt2.svg); +} + +.fi-bv { + background-image: url(./bv2.svg); +} +.fi-bv.fis { + background-image: url(./bv.svg); +} + +.fi-bw { + background-image: url(./bw.svg); +} +.fi-bw.fis { + background-image: url(./bw2.svg); +} + +.fi-by { + background-image: url(./by.svg); +} +.fi-by.fis { + background-image: url(./by2.svg); +} + +.fi-bz { + background-image: url(./bz.svg); +} +.fi-bz.fis { + background-image: url(./bz2.svg); +} + +.fi-ca { + background-image: url(./ca.svg); +} +.fi-ca.fis { + background-image: url(./ca2.svg); +} + +.fi-cc { + background-image: url(./cc.svg); +} +.fi-cc.fis { + background-image: url(./cc2.svg); +} + +.fi-cd { + background-image: url(./cd.svg); +} +.fi-cd.fis { + background-image: url(./cd2.svg); +} + +.fi-cf { + background-image: url(./cf2.svg); +} +.fi-cf.fis { + background-image: url(./cf.svg); +} + +.fi-cg { + background-image: url(./cg.svg); +} +.fi-cg.fis { + background-image: url(./cg2.svg); +} + +.fi-ch { + background-image: url(./ch.svg); +} +.fi-ch.fis { + background-image: url(./ch2.svg); +} + +.fi-ci { + background-image: url(./ci2.svg); +} +.fi-ci.fis { + background-image: url(./ci.svg); +} + +.fi-ck { + background-image: url(./ck.svg); +} +.fi-ck.fis { + background-image: url(./ck2.svg); +} + +.fi-cl { + background-image: url(./cl.svg); +} +.fi-cl.fis { + background-image: url(./cl2.svg); +} + +.fi-cm { + background-image: url(./cm.svg); +} +.fi-cm.fis { + background-image: url(./cm2.svg); +} + +.fi-cn { + background-image: url(./cn.svg); +} +.fi-cn.fis { + background-image: url(./cn2.svg); +} + +.fi-co { + background-image: url(./co.svg); +} +.fi-co.fis { + background-image: url(./co2.svg); +} + +.fi-cr { + background-image: url(./cr.svg); +} +.fi-cr.fis { + background-image: url(./cr2.svg); +} + +.fi-cu { + background-image: url(./cu.svg); +} +.fi-cu.fis { + background-image: url(./cu2.svg); +} + +.fi-cv { + background-image: url(./cv.svg); +} +.fi-cv.fis { + background-image: url(./cv2.svg); +} + +.fi-cw { + background-image: url(./cw.svg); +} +.fi-cw.fis { + background-image: url(./cw2.svg); +} + +.fi-cx { + background-image: url(./cx.svg); +} +.fi-cx.fis { + background-image: url(./cx2.svg); +} + +.fi-cy { + background-image: url(./cy.svg); +} +.fi-cy.fis { + background-image: url(./cy2.svg); +} + +.fi-cz { + background-image: url(./cz.svg); +} +.fi-cz.fis { + background-image: url(./cz2.svg); +} + +.fi-de { + background-image: url(./de.svg); +} +.fi-de.fis { + background-image: url(./de2.svg); +} + +.fi-dj { + background-image: url(./dj.svg); +} +.fi-dj.fis { + background-image: url(./dj2.svg); +} + +.fi-dk { + background-image: url(./dk.svg); +} +.fi-dk.fis { + background-image: url(./dk2.svg); +} + +.fi-dm { + background-image: url(./dm.svg); +} +.fi-dm.fis { + background-image: url(./dm2.svg); +} + +.fi-do { + background-image: url(./do.svg); +} +.fi-do.fis { + background-image: url(./do2.svg); +} + +.fi-dz { + background-image: url(./dz2.svg); +} +.fi-dz.fis { + background-image: url(./dz.svg); +} + +.fi-ec { + background-image: url(./ec.svg); +} +.fi-ec.fis { + background-image: url(./ec2.svg); +} + +.fi-ee { + background-image: url(./ee.svg); +} +.fi-ee.fis { + background-image: url(./ee2.svg); +} + +.fi-eg { + background-image: url(./eg.svg); +} +.fi-eg.fis { + background-image: url(./eg2.svg); +} + +.fi-eh { + background-image: url(./eh.svg); +} +.fi-eh.fis { + background-image: url(./eh2.svg); +} + +.fi-er { + background-image: url(./er.svg); +} +.fi-er.fis { + background-image: url(./er2.svg); +} + +.fi-es { + background-image: url(./es.svg); +} +.fi-es.fis { + background-image: url(./es2.svg); +} + +.fi-et { + background-image: url(./et.svg); +} +.fi-et.fis { + background-image: url(./et2.svg); +} + +.fi-fi { + background-image: url(./fi.svg); +} +.fi-fi.fis { + background-image: url(./fi2.svg); +} + +.fi-fj { + background-image: url(./fj.svg); +} +.fi-fj.fis { + background-image: url(./fj2.svg); +} + +.fi-fk { + background-image: url(./fk.svg); +} +.fi-fk.fis { + background-image: url(./fk2.svg); +} + +.fi-fm { + background-image: url(./fm.svg); +} +.fi-fm.fis { + background-image: url(./fm2.svg); +} + +.fi-fo { + background-image: url(./fo.svg); +} +.fi-fo.fis { + background-image: url(./fo2.svg); +} + +.fi-fr { + background-image: url(./fr.svg); +} +.fi-fr.fis { + background-image: url(./fr2.svg); +} + +.fi-ga { + background-image: url(./ga2.svg); +} +.fi-ga.fis { + background-image: url(./ga.svg); +} + +.fi-gb { + background-image: url(./gb.svg); +} +.fi-gb.fis { + background-image: url(./gb2.svg); +} + +.fi-gd { + background-image: url(./gd2.svg); +} +.fi-gd.fis { + background-image: url(./gd.svg); +} + +.fi-ge { + background-image: url(./ge.svg); +} +.fi-ge.fis { + background-image: url(./ge2.svg); +} + +.fi-gf { + background-image: url(./gf2.svg); +} +.fi-gf.fis { + background-image: url(./gf.svg); +} + +.fi-gg { + background-image: url(./gg.svg); +} +.fi-gg.fis { + background-image: url(./gg2.svg); +} + +.fi-gh { + background-image: url(./gh.svg); +} +.fi-gh.fis { + background-image: url(./gh2.svg); +} + +.fi-gi { + background-image: url(./gi2.svg); +} +.fi-gi.fis { + background-image: url(./gi.svg); +} + +.fi-gl { + background-image: url(./gl.svg); +} +.fi-gl.fis { + background-image: url(./gl2.svg); +} + +.fi-gm { + background-image: url(./gm2.svg); +} +.fi-gm.fis { + background-image: url(./gm.svg); +} + +.fi-gn { + background-image: url(./gn2.svg); +} +.fi-gn.fis { + background-image: url(./gn.svg); +} + +.fi-gp { + background-image: url(./gp2.svg); +} +.fi-gp.fis { + background-image: url(./gp.svg); +} + +.fi-gq { + background-image: url(./gq.svg); +} +.fi-gq.fis { + background-image: url(./gq2.svg); +} + +.fi-gr { + background-image: url(./gr2.svg); +} +.fi-gr.fis { + background-image: url(./gr.svg); +} + +.fi-gs { + background-image: url(./gs2.svg); +} +.fi-gs.fis { + background-image: url(./gs.svg); +} + +.fi-gt { + background-image: url(./gt.svg); +} +.fi-gt.fis { + background-image: url(./gt2.svg); +} + +.fi-gu { + background-image: url(./gu.svg); +} +.fi-gu.fis { + background-image: url(./gu2.svg); +} + +.fi-gw { + background-image: url(./gw.svg); +} +.fi-gw.fis { + background-image: url(./gw2.svg); +} + +.fi-gy { + background-image: url(./gy.svg); +} +.fi-gy.fis { + background-image: url(./gy2.svg); +} + +.fi-hk { + background-image: url(./hk.svg); +} +.fi-hk.fis { + background-image: url(./hk2.svg); +} + +.fi-hm { + background-image: url(./hm.svg); +} +.fi-hm.fis { + background-image: url(./hm2.svg); +} + +.fi-hn { + background-image: url(./hn.svg); +} +.fi-hn.fis { + background-image: url(./hn2.svg); +} + +.fi-hr { + background-image: url(./hr.svg); +} +.fi-hr.fis { + background-image: url(./hr2.svg); +} + +.fi-ht { + background-image: url(./ht2.svg); +} +.fi-ht.fis { + background-image: url(./ht.svg); +} + +.fi-hu { + background-image: url(./hu.svg); +} +.fi-hu.fis { + background-image: url(./hu2.svg); +} + +.fi-id { + background-image: url(./id2.svg); +} +.fi-id.fis { + background-image: url(./id.svg); +} + +.fi-ie { + background-image: url(./ie.svg); +} +.fi-ie.fis { + background-image: url(./ie2.svg); +} + +.fi-il { + background-image: url(./il2.svg); +} +.fi-il.fis { + background-image: url(./il.svg); +} + +.fi-im { + background-image: url(./im.svg); +} +.fi-im.fis { + background-image: url(./im2.svg); +} + +.fi-in { + background-image: url(./in.svg); +} +.fi-in.fis { + background-image: url(./in2.svg); +} + +.fi-io { + background-image: url(./io.svg); +} +.fi-io.fis { + background-image: url(./io2.svg); +} + +.fi-iq { + background-image: url(./iq2.svg); +} +.fi-iq.fis { + background-image: url(./iq.svg); +} + +.fi-ir { + background-image: url(./ir.svg); +} +.fi-ir.fis { + background-image: url(./ir2.svg); +} + +.fi-is { + background-image: url(./is.svg); +} +.fi-is.fis { + background-image: url(./is2.svg); +} + +.fi-it { + background-image: url(./it.svg); +} +.fi-it.fis { + background-image: url(./it2.svg); +} + +.fi-je { + background-image: url(./je.svg); +} +.fi-je.fis { + background-image: url(./je2.svg); +} + +.fi-jm { + background-image: url(./jm.svg); +} +.fi-jm.fis { + background-image: url(./jm2.svg); +} + +.fi-jo { + background-image: url(./jo.svg); +} +.fi-jo.fis { + background-image: url(./jo2.svg); +} + +.fi-jp { + background-image: url(./jp.svg); +} +.fi-jp.fis { + background-image: url(./jp2.svg); +} + +.fi-ke { + background-image: url(./ke.svg); +} +.fi-ke.fis { + background-image: url(./ke2.svg); +} + +.fi-kg { + background-image: url(./kg.svg); +} +.fi-kg.fis { + background-image: url(./kg2.svg); +} + +.fi-kh { + background-image: url(./kh.svg); +} +.fi-kh.fis { + background-image: url(./kh2.svg); +} + +.fi-ki { + background-image: url(./ki.svg); +} +.fi-ki.fis { + background-image: url(./ki2.svg); +} + +.fi-km { + background-image: url(./km.svg); +} +.fi-km.fis { + background-image: url(./km2.svg); +} + +.fi-kn { + background-image: url(./kn.svg); +} +.fi-kn.fis { + background-image: url(./kn2.svg); +} + +.fi-kp { + background-image: url(./kp.svg); +} +.fi-kp.fis { + background-image: url(./kp2.svg); +} + +.fi-kr { + background-image: url(./kr.svg); +} +.fi-kr.fis { + background-image: url(./kr2.svg); +} + +.fi-kw { + background-image: url(./kw2.svg); +} +.fi-kw.fis { + background-image: url(./kw.svg); +} + +.fi-ky { + background-image: url(./ky.svg); +} +.fi-ky.fis { + background-image: url(./ky2.svg); +} + +.fi-kz { + background-image: url(./kz.svg); +} +.fi-kz.fis { + background-image: url(./kz2.svg); +} + +.fi-la { + background-image: url(./la.svg); +} +.fi-la.fis { + background-image: url(./la2.svg); +} + +.fi-lb { + background-image: url(./lb.svg); +} +.fi-lb.fis { + background-image: url(./lb2.svg); +} + +.fi-lc { + background-image: url(./lc.svg); +} +.fi-lc.fis { + background-image: url(./lc2.svg); +} + +.fi-li { + background-image: url(./li.svg); +} +.fi-li.fis { + background-image: url(./li2.svg); +} + +.fi-lk { + background-image: url(./lk.svg); +} +.fi-lk.fis { + background-image: url(./lk2.svg); +} + +.fi-lr { + background-image: url(./lr.svg); +} +.fi-lr.fis { + background-image: url(./lr2.svg); +} + +.fi-ls { + background-image: url(./ls.svg); +} +.fi-ls.fis { + background-image: url(./ls2.svg); +} + +.fi-lt { + background-image: url(./lt2.svg); +} +.fi-lt.fis { + background-image: url(./lt.svg); +} + +.fi-lu { + background-image: url(./lu.svg); +} +.fi-lu.fis { + background-image: url(./lu2.svg); +} + +.fi-lv { + background-image: url(./lv.svg); +} +.fi-lv.fis { + background-image: url(./lv2.svg); +} + +.fi-ly { + background-image: url(./ly.svg); +} +.fi-ly.fis { + background-image: url(./ly2.svg); +} + +.fi-ma { + background-image: url(./ma.svg); +} +.fi-ma.fis { + background-image: url(./ma2.svg); +} + +.fi-mc { + background-image: url(./mc.svg); +} +.fi-mc.fis { + background-image: url(./mc2.svg); +} + +.fi-md { + background-image: url(./md2.svg); +} +.fi-md.fis { + background-image: url(./md.svg); +} + +.fi-me { + background-image: url(./me.svg); +} +.fi-me.fis { + background-image: url(./me2.svg); +} + +.fi-mf { + background-image: url(./mf.svg); +} +.fi-mf.fis { + background-image: url(./mf2.svg); +} + +.fi-mg { + background-image: url(./mg.svg); +} +.fi-mg.fis { + background-image: url(./mg2.svg); +} + +.fi-mh { + background-image: url(./mh.svg); +} +.fi-mh.fis { + background-image: url(./mh2.svg); +} + +.fi-mk { + background-image: url(./mk.svg); +} +.fi-mk.fis { + background-image: url(./mk2.svg); +} + +.fi-ml { + background-image: url(./ml.svg); +} +.fi-ml.fis { + background-image: url(./ml2.svg); +} + +.fi-mm { + background-image: url(./mm2.svg); +} +.fi-mm.fis { + background-image: url(./mm.svg); +} + +.fi-mn { + background-image: url(./mn.svg); +} +.fi-mn.fis { + background-image: url(./mn2.svg); +} + +.fi-mo { + background-image: url(./mo.svg); +} +.fi-mo.fis { + background-image: url(./mo2.svg); +} + +.fi-mp { + background-image: url(./mp.svg); +} +.fi-mp.fis { + background-image: url(./mp2.svg); +} + +.fi-mq { + background-image: url(./mq.svg); +} +.fi-mq.fis { + background-image: url(./mq2.svg); +} + +.fi-mr { + background-image: url(./mr.svg); +} +.fi-mr.fis { + background-image: url(./mr2.svg); +} + +.fi-ms { + background-image: url(./ms.svg); +} +.fi-ms.fis { + background-image: url(./ms2.svg); +} + +.fi-mt { + background-image: url(./mt.svg); +} +.fi-mt.fis { + background-image: url(./mt2.svg); +} + +.fi-mu { + background-image: url(./mu2.svg); +} +.fi-mu.fis { + background-image: url(./mu.svg); +} + +.fi-mv { + background-image: url(./mv.svg); +} +.fi-mv.fis { + background-image: url(./mv2.svg); +} + +.fi-mw { + background-image: url(./mw2.svg); +} +.fi-mw.fis { + background-image: url(./mw.svg); +} + +.fi-mx { + background-image: url(./mx.svg); +} +.fi-mx.fis { + background-image: url(./mx2.svg); +} + +.fi-my { + background-image: url(./my.svg); +} +.fi-my.fis { + background-image: url(./my2.svg); +} + +.fi-mz { + background-image: url(./mz.svg); +} +.fi-mz.fis { + background-image: url(./mz2.svg); +} + +.fi-na { + background-image: url(./na.svg); +} +.fi-na.fis { + background-image: url(./na2.svg); +} + +.fi-nc { + background-image: url(./nc.svg); +} +.fi-nc.fis { + background-image: url(./nc2.svg); +} + +.fi-ne { + background-image: url(./ne.svg); +} +.fi-ne.fis { + background-image: url(./ne2.svg); +} + +.fi-nf { + background-image: url(./nf2.svg); +} +.fi-nf.fis { + background-image: url(./nf.svg); +} + +.fi-ng { + background-image: url(./ng.svg); +} +.fi-ng.fis { + background-image: url(./ng2.svg); +} + +.fi-ni { + background-image: url(./ni.svg); +} +.fi-ni.fis { + background-image: url(./ni2.svg); +} + +.fi-nl { + background-image: url(./nl.svg); +} +.fi-nl.fis { + background-image: url(./nl2.svg); +} + +.fi-no { + background-image: url(./no.svg); +} +.fi-no.fis { + background-image: url(./no2.svg); +} + +.fi-np { + background-image: url(./np.svg); +} +.fi-np.fis { + background-image: url(./np2.svg); +} + +.fi-nr { + background-image: url(./nr.svg); +} +.fi-nr.fis { + background-image: url(./nr2.svg); +} + +.fi-nu { + background-image: url(./nu2.svg); +} +.fi-nu.fis { + background-image: url(./nu.svg); +} + +.fi-nz { + background-image: url(./nz.svg); +} +.fi-nz.fis { + background-image: url(./nz2.svg); +} + +.fi-om { + background-image: url(./om.svg); +} +.fi-om.fis { + background-image: url(./om2.svg); +} + +.fi-pa { + background-image: url(./pa.svg); +} +.fi-pa.fis { + background-image: url(./pa2.svg); +} + +.fi-pe { + background-image: url(./pe.svg); +} +.fi-pe.fis { + background-image: url(./pe2.svg); +} + +.fi-pf { + background-image: url(./pf2.svg); +} +.fi-pf.fis { + background-image: url(./pf.svg); +} + +.fi-pg { + background-image: url(./pg.svg); +} +.fi-pg.fis { + background-image: url(./pg2.svg); +} + +.fi-ph { + background-image: url(./ph.svg); +} +.fi-ph.fis { + background-image: url(./ph2.svg); +} + +.fi-pk { + background-image: url(./pk.svg); +} +.fi-pk.fis { + background-image: url(./pk2.svg); +} + +.fi-pl { + background-image: url(./pl2.svg); +} +.fi-pl.fis { + background-image: url(./pl.svg); +} + +.fi-pm { + background-image: url(./pm.svg); +} +.fi-pm.fis { + background-image: url(./pm2.svg); +} + +.fi-pn { + background-image: url(./pn.svg); +} +.fi-pn.fis { + background-image: url(./pn2.svg); +} + +.fi-pr { + background-image: url(./pr.svg); +} +.fi-pr.fis { + background-image: url(./pr2.svg); +} + +.fi-ps { + background-image: url(./ps.svg); +} +.fi-ps.fis { + background-image: url(./ps2.svg); +} + +.fi-pt { + background-image: url(./pt.svg); +} +.fi-pt.fis { + background-image: url(./pt2.svg); +} + +.fi-pw { + background-image: url(./pw.svg); +} +.fi-pw.fis { + background-image: url(./pw2.svg); +} + +.fi-py { + background-image: url(./py.svg); +} +.fi-py.fis { + background-image: url(./py2.svg); +} + +.fi-qa { + background-image: url(./qa.svg); +} +.fi-qa.fis { + background-image: url(./qa2.svg); +} + +.fi-re { + background-image: url(./re.svg); +} +.fi-re.fis { + background-image: url(./re2.svg); +} + +.fi-ro { + background-image: url(./ro2.svg); +} +.fi-ro.fis { + background-image: url(./ro.svg); +} + +.fi-rs { + background-image: url(./rs.svg); +} +.fi-rs.fis { + background-image: url(./rs2.svg); +} + +.fi-ru { + background-image: url(./ru.svg); +} +.fi-ru.fis { + background-image: url(./ru2.svg); +} + +.fi-rw { + background-image: url(./rw2.svg); +} +.fi-rw.fis { + background-image: url(./rw.svg); +} + +.fi-sa { + background-image: url(./sa.svg); +} +.fi-sa.fis { + background-image: url(./sa2.svg); +} + +.fi-sb { + background-image: url(./sb.svg); +} +.fi-sb.fis { + background-image: url(./sb2.svg); +} + +.fi-sc { + background-image: url(./sc.svg); +} +.fi-sc.fis { + background-image: url(./sc2.svg); +} + +.fi-sd { + background-image: url(./sd.svg); +} +.fi-sd.fis { + background-image: url(./sd2.svg); +} + +.fi-se { + background-image: url(./se.svg); +} +.fi-se.fis { + background-image: url(./se2.svg); +} + +.fi-sg { + background-image: url(./sg.svg); +} +.fi-sg.fis { + background-image: url(./sg2.svg); +} + +.fi-sh { + background-image: url(./sh.svg); +} +.fi-sh.fis { + background-image: url(./sh2.svg); +} + +.fi-si { + background-image: url(./si2.svg); +} +.fi-si.fis { + background-image: url(./si.svg); +} + +.fi-sj { + background-image: url(./sj.svg); +} +.fi-sj.fis { + background-image: url(./sj2.svg); +} + +.fi-sk { + background-image: url(./sk.svg); +} +.fi-sk.fis { + background-image: url(./sk2.svg); +} + +.fi-sl { + background-image: url(./sl2.svg); +} +.fi-sl.fis { + background-image: url(./sl.svg); +} + +.fi-sm { + background-image: url(./sm.svg); +} +.fi-sm.fis { + background-image: url(./sm2.svg); +} + +.fi-sn { + background-image: url(./sn.svg); +} +.fi-sn.fis { + background-image: url(./sn2.svg); +} + +.fi-so { + background-image: url(./so.svg); +} +.fi-so.fis { + background-image: url(./so2.svg); +} + +.fi-sr { + background-image: url(./sr.svg); +} +.fi-sr.fis { + background-image: url(./sr2.svg); +} + +.fi-ss { + background-image: url(./ss.svg); +} +.fi-ss.fis { + background-image: url(./ss2.svg); +} + +.fi-st { + background-image: url(./st.svg); +} +.fi-st.fis { + background-image: url(./st2.svg); +} + +.fi-sv { + background-image: url(./sv.svg); +} +.fi-sv.fis { + background-image: url(./sv2.svg); +} + +.fi-sx { + background-image: url(./sx.svg); +} +.fi-sx.fis { + background-image: url(./sx2.svg); +} + +.fi-sy { + background-image: url(./sy.svg); +} +.fi-sy.fis { + background-image: url(./sy2.svg); +} + +.fi-sz { + background-image: url(./sz2.svg); +} +.fi-sz.fis { + background-image: url(./sz.svg); +} + +.fi-tc { + background-image: url(./tc.svg); +} +.fi-tc.fis { + background-image: url(./tc2.svg); +} + +.fi-td { + background-image: url(./td2.svg); +} +.fi-td.fis { + background-image: url(./td.svg); +} + +.fi-tf { + background-image: url(./tf.svg); +} +.fi-tf.fis { + background-image: url(./tf2.svg); +} + +.fi-tg { + background-image: url(./tg2.svg); +} +.fi-tg.fis { + background-image: url(./tg.svg); +} + +.fi-th { + background-image: url(./th.svg); +} +.fi-th.fis { + background-image: url(./th2.svg); +} + +.fi-tj { + background-image: url(./tj.svg); +} +.fi-tj.fis { + background-image: url(./tj2.svg); +} + +.fi-tk { + background-image: url(./tk.svg); +} +.fi-tk.fis { + background-image: url(./tk2.svg); +} + +.fi-tl { + background-image: url(./tl.svg); +} +.fi-tl.fis { + background-image: url(./tl2.svg); +} + +.fi-tm { + background-image: url(./tm.svg); +} +.fi-tm.fis { + background-image: url(./tm2.svg); +} + +.fi-tn { + background-image: url(./tn.svg); +} +.fi-tn.fis { + background-image: url(./tn2.svg); +} + +.fi-to { + background-image: url(./to.svg); +} +.fi-to.fis { + background-image: url(./to2.svg); +} + +.fi-tr { + background-image: url(./tr.svg); +} +.fi-tr.fis { + background-image: url(./tr2.svg); +} + +.fi-tt { + background-image: url(./tt2.svg); +} +.fi-tt.fis { + background-image: url(./tt.svg); +} + +.fi-tv { + background-image: url(./tv.svg); +} +.fi-tv.fis { + background-image: url(./tv2.svg); +} + +.fi-tw { + background-image: url(./tw.svg); +} +.fi-tw.fis { + background-image: url(./tw2.svg); +} + +.fi-tz { + background-image: url(./tz.svg); +} +.fi-tz.fis { + background-image: url(./tz2.svg); +} + +.fi-ua { + background-image: url(./ua.svg); +} +.fi-ua.fis { + background-image: url(./ua2.svg); +} + +.fi-ug { + background-image: url(./ug.svg); +} +.fi-ug.fis { + background-image: url(./ug2.svg); +} + +.fi-um { + background-image: url(./um.svg); +} +.fi-um.fis { + background-image: url(./um2.svg); +} + +.fi-us { + background-image: url(./us.svg); +} +.fi-us.fis { + background-image: url(./us2.svg); +} + +.fi-uy { + background-image: url(./uy.svg); +} +.fi-uy.fis { + background-image: url(./uy2.svg); +} + +.fi-uz { + background-image: url(./uz.svg); +} +.fi-uz.fis { + background-image: url(./uz2.svg); +} + +.fi-va { + background-image: url(./va.svg); +} +.fi-va.fis { + background-image: url(./va2.svg); +} + +.fi-vc { + background-image: url(./vc2.svg); +} +.fi-vc.fis { + background-image: url(./vc.svg); +} + +.fi-ve { + background-image: url(./ve.svg); +} +.fi-ve.fis { + background-image: url(./ve2.svg); +} + +.fi-vg { + background-image: url(./vg.svg); +} +.fi-vg.fis { + background-image: url(./vg2.svg); +} + +.fi-vi { + background-image: url(./vi2.svg); +} +.fi-vi.fis { + background-image: url(./vi.svg); +} + +.fi-vn { + background-image: url(./vn.svg); +} +.fi-vn.fis { + background-image: url(./vn2.svg); +} + +.fi-vu { + background-image: url(./vu.svg); +} +.fi-vu.fis { + background-image: url(./vu2.svg); +} + +.fi-wf { + background-image: url(./wf.svg); +} +.fi-wf.fis { + background-image: url(./wf2.svg); +} + +.fi-ws { + background-image: url(./ws.svg); +} +.fi-ws.fis { + background-image: url(./ws2.svg); +} + +.fi-ye { + background-image: url(./ye2.svg); +} +.fi-ye.fis { + background-image: url(./ye.svg); +} + +.fi-yt { + background-image: url(./yt.svg); +} +.fi-yt.fis { + background-image: url(./yt2.svg); +} + +.fi-za { + background-image: url(./za2.svg); +} +.fi-za.fis { + background-image: url(./za.svg); +} + +.fi-zm { + background-image: url(./zm.svg); +} +.fi-zm.fis { + background-image: url(./zm2.svg); +} + +.fi-zw { + background-image: url(./zw.svg); +} +.fi-zw.fis { + background-image: url(./zw2.svg); +} + +.fi-arab { + background-image: url(./arab.svg); +} +.fi-arab.fis { + background-image: url(./arab2.svg); +} + +.fi-cefta { + background-image: url(./cefta2.svg); +} +.fi-cefta.fis { + background-image: url(./cefta.svg); +} + +.fi-cp { + background-image: url(./cp.svg); +} +.fi-cp.fis { + background-image: url(./cp2.svg); +} + +.fi-dg { + background-image: url(./dg2.svg); +} +.fi-dg.fis { + background-image: url(./dg.svg); +} + +.fi-eac { + background-image: url(./eac.svg); +} +.fi-eac.fis { + background-image: url(./eac2.svg); +} + +.fi-es-ct { + background-image: url(./es-ct2.svg); +} +.fi-es-ct.fis { + background-image: url(./es-ct.svg); +} + +.fi-es-ga { + background-image: url(./es-ga.svg); +} +.fi-es-ga.fis { + background-image: url(./es-ga2.svg); +} + +.fi-es-pv { + background-image: url(./es-pv2.svg); +} +.fi-es-pv.fis { + background-image: url(./es-pv.svg); +} + +.fi-eu { + background-image: url(./eu.svg); +} +.fi-eu.fis { + background-image: url(./eu2.svg); +} + +.fi-gb-eng { + background-image: url(./gb-eng.svg); +} +.fi-gb-eng.fis { + background-image: url(./gb-eng2.svg); +} + +.fi-gb-nir { + background-image: url(./gb-nir.svg); +} +.fi-gb-nir.fis { + background-image: url(./gb-nir2.svg); +} + +.fi-gb-sct { + background-image: url(./gb-sct.svg); +} +.fi-gb-sct.fis { + background-image: url(./gb-sct2.svg); +} + +.fi-gb-wls { + background-image: url(./gb-wls.svg); +} +.fi-gb-wls.fis { + background-image: url(./gb-wls2.svg); +} + +.fi-ic { + background-image: url(./ic.svg); +} +.fi-ic.fis { + background-image: url(./ic2.svg); +} + +.fi-pc { + background-image: url(./pc.svg); +} +.fi-pc.fis { + background-image: url(./pc2.svg); +} + +.fi-sh-ac { + background-image: url(./sh-ac2.svg); +} +.fi-sh-ac.fis { + background-image: url(./sh-ac.svg); +} + +.fi-sh-hl { + background-image: url(./sh-hl.svg); +} +.fi-sh-hl.fis { + background-image: url(./sh-hl2.svg); +} + +.fi-sh-ta { + background-image: url(./sh-ta.svg); +} +.fi-sh-ta.fis { + background-image: url(./sh-ta2.svg); +} + +.fi-un { + background-image: url(./un.svg); +} +.fi-un.fis { + background-image: url(./un2.svg); +} + +.fi-xk { + background-image: url(./xk.svg); +} +.fi-xk.fis { + background-image: url(./xk2.svg); +} +._button_diw5d_1 { + background: none; + border: none; + cursor: pointer; + padding: 0; + position: absolute; + right: calc(var(--space-default) * -1); + top: 50%; + transform: translateY(-50%); +} +/** + * Copyright 2022 Shift Crypto AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +._container_1ksto_17, ._paymentMethodContainer_1ksto_17 { + display: flex; +} + +._exchangeName_1ksto_21 { + width: 30%; +} + +._infoButton_1ksto_25 { + background: none; + border: none; + cursor: pointer; + padding: 0; + position: absolute; + right: calc(var(--space-default) * -1); + top: 50%; + transform: translateY(-50%); + +} + +._outerContainer_1ksto_37 { + position: relative; +} + +._paymentMethodsContainer_1ksto_41 { + display: flex; + flex-direction: column; + width: 70%; +} + +._paymentMethodName_1ksto_47 { + color: var(--color-default); + display: inline-block; + font-weight: 400; + line-height: 22px; + margin: 0; +} +._paymentMethodName_1ksto_47 img { + margin-right: var(--space-quarter); +} + +._paymentMethodContainer_1ksto_17:not(:first-child) { + margin-top: var(--space-eight); +} + +._paymentMethodContainer_1ksto_17 > span { + flex-basis: 124px; + flex-grow: 1; +} + +._radio_1ksto_67 { + --size-default: 14px; + background-color: var(--background-secondary); + border: 1px solid var(--background-quaternary); + display: block; + padding: 8px; +} + +._radio_1ksto_67:hover, ._radio_1ksto_67 *:hover { + cursor: pointer; +} + +._radio_1ksto_67 input { + display: none; +} + +._radio_1ksto_67 input + label { + display: inline-flex; + flex-direction: column; + font-size: var(--size-default); + line-height: 1.5; + margin: 0; + padding-left: calc(var(--space-half) + var(--space-quarter)); + position: relative; +} + +._radio_1ksto_67 input + label::before, +._radio_1ksto_67 input + label::after { + background: var(--background-secondary); + content: ''; + display: inline-block; + width: 12px; + height: 12px; + position: absolute; + top: 4px; + left: 0; + transition: all 100ms ease; +} + +._radio_1ksto_67 input + label::before { + border: 1px solid rgb(220, 220, 220); + border-radius: 1em; +} + +._radio_1ksto_67 input + label::after { + background: var(--color-info); + border-radius: 1em; + width: 10px; + height: 10px; + position: absolute; + top: 6px; + left: 2px; + opacity: 0; + transform: scale(0); +} + +._radioLabel_1ksto_123 { + width: 100%; +} + +._text_1ksto_127 { + color: var(--color-default); + margin: 0; +} + +/* checked */ + +._radio_1ksto_67[aria-checked="true"] { + background-color: var(--background-focus); +} + +._radio_1ksto_67:focus { + position: relative; + z-index: 2; +} + +._radio_1ksto_67 input:checked + label::before { + background-color: var(--background-secondary); +} + +._radio_1ksto_67 input:checked + label::after { + opacity: 1; + transform: scale(1); +} + +/* focus */ + +._radio_1ksto_67 input[type="radio"]:focus + label::before { + box-shadow: 0px 0px 2px 2px var(--color-info); + outline: none; + outline-offset: 0; +} + +._radio_1ksto_67 input[type="radio"]:checked:focus + label::before { + box-shadow: 0px 0px 2px 2px var(--color-info); +} + +/* disabled */ + +._radio_1ksto_67 input:disabled + label::before { + background: rgb(248, 248, 248); + border-color: rgb(220, 220, 220); + cursor: not-allowed; +} + +._radio_1ksto_67[aria-disabled="true"] { + background-color: #FFF; +} + +._radio_1ksto_67[aria-disabled="true"], ._radio_1ksto_67[aria-disabled="true"] * { + cursor: not-allowed; +} + +span[role="radio"]:focus{ + outline-color: var(--color-blue); +}._container_h94uh_1 p, ._container_h94uh_1 ul{ + margin: 0; +}/** + * Copyright 2022 Shift Crypto AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +._buttonBack_62uya_17 { + margin-right: auto; +} + +._buttonsContainer_62uya_21 { + display: flex; + margin-top: var(--space-half); + justify-content: center; +} + +._container_62uya_27 { + margin-top: calc(var(--space-default) * 1.5); +} + +._exchangeContainer_62uya_31 { + display: flex; + flex-direction: column; + min-height: 300px; +} + +._exchangeContainer_62uya_31.content { + flex-grow: 0; + flex-shrink: 0; + margin: auto; + padding-right: 40px; +} + +._header_62uya_44 { + position: relative; + z-index: 2200; +} + +._selectContainer_62uya_49 { + position: relative; + margin-bottom: var(--space-half); +} + +._selectContainer_62uya_49 > div { + position: relative; +} + +._selectContainer_62uya_49 > div > div { + margin: 0; +} + +._label_62uya_62 { + color: var(--color-gray-alt); + line-height: 22px; + margin: 0; + margin-bottom: var(--space-eight); +} + +._noExchangeText_62uya_69 { + color: var(--color-gray-alt); + line-height: 22px; + margin: 0; + margin-top: calc((var(--space-eight) + var(--space-half))); + margin-left: calc((var(--space-eight) + var(--space-quarter))); +} + +._radioButtonsContainer_62uya_77 { + min-height: 180px; +} + +._title_62uya_81 { + font-size: 2rem; + font-weight: 400; + margin-top: 0; + margin-bottom: var(--space-default); + text-align: center; +} +._dropdown_9chnx_1 { + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A"); + background-repeat: no-repeat; + font-weight: 400; + height: calc(var(--space-quarter) * 3); + padding: 0 calc(var(--space-half) + var(--space-eight)); +} + +._flag_9chnx_10 { + font-size: 20px; +} + +._globe_9chnx_14 { + margin-top: 3px; + width: 26px; + height: 22px; +} + +._optionsContainer_9chnx_20 { + align-items: center; + display: flex; +} + +._select_9chnx_25 .react-select__input-container { + color: var(--color-default); +} + +._select_9chnx_25 .react-select__single-value { + color: var(--color-default); +} + +._select_9chnx_25 .react-select__menu { + background-color: var(--background-secondary); +} + +._select_9chnx_25 .react-select__option { + background-color: var(--background-secondary); +} + +._select_9chnx_25 .react-select__option:hover { + background-color: var(--background-custom-select-hover); +} + +._select_9chnx_25 .react-select__option--is-selected, +._select_9chnx_25 .react-select__option--is-selected:hover { + background-color: var(--background-custom-select-selected); +} + +._select_9chnx_25 .react-select__control { + background-color: var(--background-secondary); + padding: var(--space-quarter) var(--space-eight); +} + +._select_9chnx_25 .react-select__input-container { + padding-left: var(--space-default); +} + +._selectLabelText_9chnx_59 { + color: var(--color-default); + margin-left: 6px; +} + +._singleValueContainer_9chnx_64 { + align-items: center; + display: flex; + left: var(--space-quarter); + position: absolute; +} +._overlay_12k4v_1 { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + position: fixed; + bottom: 0; + left: 0; + height: 100%; + width: 100%; + background-color: var(--bg-transparent-dark); + z-index: 4010; + opacity: 0; +} + +._overlay_12k4v_1._activeOverlay_12k4v_16 { + opacity: 1; +} + +._modal_12k4v_20 { + background-color: var(--background-secondary); + width: 100%; + max-width: 420px; + border-radius: 2px; + box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3); + text-align: left; + max-height: 100vh; + overflow: auto; + opacity: 0; +} + +._modal_12k4v_20._activeModal_12k4v_32 { + opacity: 1; +} + +._active_12k4v_16 {} + +._modal_12k4v_20._small_12k4v_38 { + max-width: 340px; + width: 100%; +} + +._modal_12k4v_20._medium_12k4v_43 { + /* long enough to fit a bc1... address in the receive screen on desktop */ + max-width: 520px; + width: 100%; +} + +._modal_12k4v_20._large_12k4v_49 { + max-width: 800px; + width: 100%; +} + +._header_12k4v_54 { + height: var(--item-height); + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 0 var(--space-half); + border-bottom: solid 1px var(--color-lightgray); +} + +._header_12k4v_54._centered_12k4v_64 { + justify-content: center; +} + +._header_12k4v_54 ._title_12k4v_68 { + margin: 0; + font-size: var(--size-subheader); + font-weight: 400; +} + +._closeButton_12k4v_74 { + background: none; + border: none; + padding: 0; + width: auto !important; +} + +._closeButton_12k4v_74:focus { + outline: none; +} + +._closeButton_12k4v_74:disabled { + color: var(--color-secondary); +} + +._header_12k4v_54 ._closeButton_12k4v_74, +._header_12k4v_54 ._closeButton_12k4v_74 img { + width: 18px; + height: 18px; +} + +._contentContainer_12k4v_95 { + font-size: var(--size-default); + font-weight: 400; + padding: var(--space-half); +} + +._contentContainer_12k4v_95._slim_12k4v_101 { + padding: 0; +} + +._contentContainer_12k4v_95._padded_12k4v_105 { + padding: var(--space-default); +} + +._content_12k4v_95 p { + word-break: break-word; +} + +._actions_12k4v_113 button, +._actions_12k4v_113 a, +._small_12k4v_38 ._actions_12k4v_113 button, +._small_12k4v_38 ._actions_12k4v_113 a { + width: 100%; +} + +._actions_12k4v_113 > *:not(:last-child), +._small_12k4v_38 ._actions_12k4v_113 > *:not(:last-child) { + margin-bottom: var(--space-quarter); +} + +._actions_12k4v_113 { + margin-top: var(--space-quarter); +} + + +/* WAIT DIALOG */ +._confirmationLabel_12k4v_131 { + position: relative; + line-height: 1.3; + font-size: var(--size-default); + font-weight: 400; + margin-top: var(--space-half); + padding-left: 24px; +} + +._confirmationLabelNumber_12k4v_140 { + display: inline-block; + position: absolute; + left: 0; +} + +._disabledLabel_12k4v_146, +._disabledLabel_12k4v_146 span { + color: var(--color-mediumgray) !important; +} + +._noStep_12k4v_151 { + padding-left: 0; +} + +._confirmationInstructions_12k4v_155 { + margin: 0; + padding: var(--space-half) 0 var(--space-quarter) 0; +} + +._confirmationInstructions_12k4v_155 > div { + width: 50%; +} + +._confirmationInstructions_12k4v_155 p { + line-height: 1; + margin-top: var(--space-quarter); +} + +._confirmationInstructions_12k4v_155._confirm_12k4v_131 { + text-align: center; + font-size: var(--size-subheader); + padding: var(--space-half) calc(var(--space-half) * 1.5); +} + +._image_12k4v_175 { + height: 120px; + margin-right: var(--space-half); +} + +._modalContent_12k4v_180 p { + font-size: var(--size-default); + font-weight: 400; +} + +._modalContent_12k4v_180 > *:first-child { + margin-top: 0; +} + +._detail_12k4v_189 { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + min-height: var(--item-height); + padding: var(--space-half); +} + +._detail_12k4v_189:not(:first-child) { + border-top: solid 1px var(--color-lightgray); +} + +._detail_12k4v_189 label { + white-space: nowrap; + margin-right: var(--space-half) !important; +} + +._detail_12k4v_189 label, +._detail_12k4v_189 p { + margin: 0; + line-height: 1; +} + +._detail_12k4v_189._description_12k4v_213 > span { + text-align: right; +} + +._buttons_12k4v_217 { + padding: var(--space-quarter); +} + +._buttons_12k4v_217 button:first-child { + margin-right: 10px; +} + +._buttons_12k4v_217 button { + width: 50%; +} + +._dialogButtons_12k4v_229 { + display: flex; + flex-direction: row-reverse; + justify-content: space-between; + margin-top: var(--space-default); +} +._dialogButtons_12k4v_229 > *:only-child { + width: 100%; +} + +@media (max-width: 768px) { + ._modal_12k4v_20 { + padding: 0; + } + + ._contentContainer_12k4v_95._padded_12k4v_105 { + padding: var(--space-half); + } +}._button_1djzh_1 { + align-items: center; + background-color: var(--background-secondary); + border: none; + border-radius: 50%; + cursor: pointer; + display: flex; + flex-direction: row; + height: 18px; + justify-content: center; + margin-top: var(--spacing-half); + min-width: 18px !important; + padding: 0; + position: absolute; + right: var(--spacing-default); + top: 10px; + transition: background-color ease 0.2s; + width: 18px; + will-change: background-color; +} + +._button_1djzh_1 img { + width: 18px; +} + +._button_1djzh_1:focus { + outline: none; +} + +._button_1djzh_1:disabled { + cursor: not-allowed; +} + +._success_1djzh_34 { + background-color: var(--color-success) !important; +} + +._container_1djzh_38 { + position: relative; +} + +._inputField_1djzh_42 { + border: 1px solid var(--background-quaternary); + border-radius: 2px; + flex: 1; + font-size: var(--size-default); + font-weight: 400; + height: 52px; + margin-bottom: 0; + min-width: 200px !important; + padding: var(--space-half) calc(var(--space-default) * 1.2 + 5px) var(--space-half) calc(var(--space-half) * .5); + resize: none; + width: 100%; +} + +@media screen and (min-width: 640px) { + ._inputField_1djzh_42 { + text-align: center; + } +} + +._inputField_1djzh_42:focus { + outline: solid 1px var(--color-blue); +} + +@media screen and (max-width: 640px) { + ._button_1djzh_1 { + margin-left: var(--space-quarter); + } +} + +._flexibleHeight_1djzh_72 { + height: auto; +} + +._alignLeft_1djzh_76 { + text-align: left; +} + +._alignRight_1djzh_80 { + text-align: right; +} + +._borderLess_1djzh_84, +._borderLess_1djzh_84:focus { + border: none; + border-radius: 0; + outline: none; +} +._empty_gzy3c_1 { + width: 256px; + height: 256px; + color: var(--color-secondary); +}._title_nnme6_1 { + font-size: var(--header-default-font-size); + font-weight: 400; +} + +._nextButton_nnme6_6 { + background: transparent; + border: none; + color: var(--color-primary); + cursor: pointer; + font-size: inherit; + padding: 2px; + text-align: left; + margin: 0 0 0 -2px; +} + +._details_nnme6_17 { + font-size: var(--size-default); + margin-bottom: var(--space-default); +} + +._qrCode_nnme6_22 { + min-height: 260px; + text-align: center; +} + +._qrCode_nnme6_22 img { + height: auto; + max-width: 100%; +} + +._address_nnme6_32 { +} + +._buttons_nnme6_35 { + clear: both; + display: flex; + justify-content: space-between; + min-height: 3.5rem; +} + +._verifyButton_nnme6_42 { + order: 2; +} + +._entry_nnme6_46 { + align-items: baseline; + display: flex; + justify-content: space-between; + margin-bottom: var(--space-half); +} + +@media screen and (min-width: 640px) { + + ._xPubInfo_nnme6_55 { + max-width: calc(100% - 218px); + } + + ._details_nnme6_17 { + display: flex; + flex-direction: column; + /* QRcode is 256px with 2 x 38px white border = 180px */ + min-height: 180px; + } + + ._entry_nnme6_46:first-child { + margin-top: 0; + } + + ._qrCode_nnme6_22 { + float: right; + position: relative; + /* QRCode image has 38px white border */ + top: -38px; + right: calc(-1 * var(--space-default)); + } + +} + +@media (max-width: 640px) { + + ._infoContent_nnme6_82 { + width: 100%; + } + + ._largeEntry_nnme6_86 { + align-items: stretch; + flex-direction: column; + } + + ._largeEntry_nnme6_86 strong { + display: block; + margin-bottom: var(--space-quarter); + } + + ._addressField_nnme6_96 input { + font-size: var(--size-small); + } + + ._qrCode_nnme6_22 { + margin-left: calc(-1 * var(--space-default)); + margin-right: calc(-1 * var(--space-default)); + } + +} +._labels_1m4jx_1 { + align-items: center; + display: flex; + justify-content: space-between; + margin: var(--spacing-default) 0; +} + +._label_1m4jx_1 { + color: var(--color-secondary); + flex-grow: 1; + font-size: var(--size-default); + font-weight: 400; + margin: 0; + padding: 0 var(--space-quarter); +} + +._qrCodeContainer_1m4jx_17 { + margin-bottom: var(--space-default); + min-height: 260px; +} + +._arrowLeft_1m4jx_22, +._arrowRight_1m4jx_23 { + width: 16px; + position: relative; + top: 3px; +} + +._arrowLeft_1m4jx_22 { + margin-right: 3px; +} + +._arrowRight_1m4jx_23 { + margin-left: 3px; +} + +._previous_1m4jx_37, +._next_1m4jx_38 { + appearance: none; + background: none; + border: 0; + color: var(--color-blue); + font-size: var(--size-button); + line-height: 1; + padding: 0; + text-decoration: none; +} + +._hide_1m4jx_49 { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-secondary); +} + +._changeType_1m4jx_58 { + appearance: none; + background: none; + border: none; + color: var(--color-secondary); + cursor: pointer; + display: inline-block; + text-align: center; + text-decoration: underline; + padding: var(--space-quarter); +} +._container_1ooxc_1 { + margin: 0 auto; + position: relative; + padding: calc(var(--space-default) * 1.5); + width: 100%; +} +._container_1ooxc_1._withCloseBtn_1ooxc_7 { + padding-right: 60px; +} + +.padded ._container_1ooxc_1 { + max-width: var(--content-width); +} + +._status_1ooxc_15 { + font-size: var(--size-subheader); + max-width: 800px; + text-align: left; +} + +._success_1ooxc_21 { + background-color: var(--color-success); +} + +._warning_1ooxc_25 { + background-color: var(--color-warning); +} + +._info_1ooxc_29 { + background-color: var(--color-info); +} + +._success_1ooxc_21, +._warning_1ooxc_25, +._info_1ooxc_29, +._success_1ooxc_21 label, +._warning_1ooxc_25 label, +._info_1ooxc_29 label { + color: var(--color-alt); +} + +._close-success_1ooxc_42 { + background: var(--color-darkgreen); +} + +._close-warning_1ooxc_46 { + background: var(--color-swissred); +} + +._close-info_1ooxc_50 { + background: var(--color-darkblue); +} + +._close_1ooxc_42 { + border: none; + line-height: .5; + padding: var(--space-half); + position: absolute; + top: 0; + right: 0; +} + +._close_1ooxc_42 svg { + width: 18px; + height: 18px; +} + +._withCloseBtn_1ooxc_7 ._status_1ooxc_15::before { + content: ""; + float: right; + height: 18px; + padding-bottom: 2px; + padding-left: var(--space-default); + width: 18px; +} + +@media (max-width: 1199px) { + ._container_1ooxc_1 { + padding: calc(var(--space-half) * 1.5); + } +} +._space_tpxrt_1 { + margin-left: 0.33ch; +} +._rates_19qqe_1 { + cursor: default; + line-height: 1; + margin: 0; + white-space: nowrap; +} + +._unit_19qqe_8 { + font-weight: 400; +} + +._unit_19qqe_8, +._unitAction_19qqe_13 { + color: var(--color-secondary); + font-size: var(--size-default); + font-variant: normal; + position: relative; +} + +._fiatRow_19qqe_20 { + +} + +._availableFiatAmount_19qqe_24 { + padding-right: var(--space-quarter) !important; + text-align: right; +} + +._availableFiatUnitNoAction_19qqe_29, +._availableFiatUnit_19qqe_29 { + color: var(--color-secondary); + cursor: default; + position: relative; +} + +._unitAction_19qqe_13::after, +._availableFiatUnit_19qqe_29::after { + border-bottom: dotted 1px var(--color-softblack); + content: ""; + position: absolute; + bottom: 0; + left: 2px; + right: 2px; +} + +._notAvailable_19qqe_46 { + color: var(--color-default); +} + +@media (max-width: 880px) { + ._fiatRow_19qqe_20 { + bottom: 0; + } + + ._availableFiatAmount_19qqe_24, + ._availableFiatUnit_19qqe_29 { + line-height: 24px; + } +} + +@media (max-width: 640px) { + ._availableFiatUnit_19qqe_29::after { + border-bottom: none; + } +} +._balanceTable_m2hui_1 { + align-items: flex-end; + border-collapse: collapse; + border-spacing: 0; + display: flex; + flex-direction: row; + position: relative; +} + +._balanceTable_m2hui_1 tr { + display: inline-block; + vertical-align: bottom; +} + +._balanceTable_m2hui_1 td { + font-size: var(--size-large); + font-weight: 400; + line-height: 1.2; + padding: 0; + vertical-align: baseline; +} + +._balanceTable_m2hui_1 td:last-child { + font-size: var(--size-default); +} + +._balanceTable_m2hui_1 ._availableAmount_m2hui_27 { + padding-right: var(--space-quarter); + text-align: right; +} + +._balanceTable_m2hui_1 ._availableUnit_m2hui_32 { + color: var(--color-secondary); + padding-right: var(--space-half); +} + +._pendingBalance_m2hui_37 { + color: var(--color-secondary); + font-size: var(--size-small); + line-height: 1; + margin: 0; + padding-top: var(--space-half); +} + +@media (max-width: 768px) { + + ._balanceTable_m2hui_1 { + display: inline-block; + margin: 0 auto; + } + + ._balanceTable_m2hui_1 td { + font-size: var(--size-large-mobile); + line-height: 1.5; + } + + ._pendingBalance_m2hui_37 { + padding-top: var(--space-quarter); + } +} + +@media (max-width: 560px) { + ._balanceTable_m2hui_1 td { + font-size: var(--size-subheader); + } +} +._row_1qpuo_1 { + display: flex; + flex-direction: column; +} + +._rowCustomFee_1qpuo_6 { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +._column_1qpuo_12 { + flex-basis: 50%; + flex-grow: 1; + flex-shrink: 0; +} +._rowCustomFee_1qpuo_6 ._column_1qpuo_12:first-child { + flex-basis: 50%; +} +._rowCustomFee_1qpuo_6 ._column_1qpuo_12:nth-child(2) { + flex-basis: 50%; +} + +@media (min-width: 640px) { + ._row_1qpuo_1 { + display: flex; + flex-direction: row; + flex-wrap: wrap; + } + ._column_1qpuo_12:first-child { + flex-basis: 50%; + } + ._column_1qpuo_12:nth-child(2) { + flex-basis: 50%; + } +} + +._rowCustomFee_1qpuo_6 select._priority_1qpuo_38 { + border-right: none; + padding-right: 0; +} +._rowCustomFee_1qpuo_6 ._fee_1qpuo_42 input { + border-bottom-left-radius: 0; + border-left: none; + border-top-left-radius: 0; + padding-left: 0; + border-color: var(--background-quaternary) !important; +} +@media (min-width: 640px) { + ._fee_1qpuo_42 input { + border-bottom-left-radius: 0; + border-left: none; + border-top-left-radius: 0; + padding-left: 0; + } +} + +select:disabled._priority_1qpuo_38 { + border-color: var(--background) !important; +} + +select._priority_1qpuo_38 { + border-color: var(--background-quaternary) !important; +} + +@media (min-width: 640px) { + ._fee_1qpuo_42 input:disabled { + border-color: var(--background) !important; + } + ._fee_1qpuo_42 input { + border-color: var(--background-quaternary) !important; + } +} + +@media (max-width: 639px) { + ._row_1qpuo_1 ._fee_1qpuo_42 * { + display: block !important; + text-align: left !important; + } + ._row_1qpuo_1 ._fee_1qpuo_42 input { + border: none; + color: var(--color-secondary) !important; + font-size: var(--size-small); + font-weight: 400; + height: auto; + margin-top: 0; + padding: 0; + } +} + +._feeCustom_1qpuo_91 input { + padding-right: 58px; +} + +._feeDescription_1qpuo_95, +._feeProposed_1qpuo_96 { + color: var(--color-secondary); + flex: 0 0 100%; + font-size: var(--size-small); + font-weight: 400; + margin-top: 0; +} + +._feeProposed_1qpuo_96 { + margin: 0; +} + +._feeDescription_1qpuo_95 + ._feeProposed_1qpuo_96 { + margin: var(--space-quarter) 0 0 0; +} + +._customFeeUnit_1qpuo_112 { + bottom: 0; + color: var(--color-secondary); + font-size: var(--size-default); + line-height: 50px; + padding-right: var(--space-half); + position: absolute; + right: 0; + width: auto; +} +._utxosList_8ra1q_1 { + list-style: none; + padding: 0 0 var(--space-half) 0; +} + +._utxosList_8ra1q_1 label { + user-select: text; + width: 100%; +} + +._utxo_8ra1q_1 { + margin-top: var(--space-half); + padding: 0 0 var(--space-eight) 0; + border-bottom: solid 1px var(--color-lightgray); +} + +._utxoContent_8ra1q_17 { + align-items: flex-start; + color: var(--color-default); + display: flex; + flex-wrap: nowrap; + font-size: var(--size-subheader); +} + +._note_8ra1q_25 { + color: var(--color-default); + font-size: var(--size-subheader); + line-height: 1.5; + margin-top: -7px; + margin-bottom: var(--space-quarter); +} + +._utxoData_8ra1q_33 { + flex-basis: auto; + flex-grow: 1; + flex-shrink: 1; + overflow-x: hidden; + overflow-y: auto; +} + +._utxoExplorer_8ra1q_41 { + margin-top: calc(var(--space-quarter) * -1); + padding: var(--space-quarter); +} + +._utxoExplorer_8ra1q_41 img { + width: 18px; + height: 18px; +} + +._amounts_8ra1q_51 { + padding-bottom: var(--space-quarter); +} + +._amount_8ra1q_51 { + margin-right: var(--space-quarter); +} + +._label_8ra1q_59, +._unit_8ra1q_60 { + color: var(--color-secondary); +} + +._label_8ra1q_59 { + display: inline-block; + padding-right: 4px; +} + +._unit_8ra1q_60 { + font-size: var(--size-default); +} + +._address_8ra1q_73, +._transaction_8ra1q_74 { + display: flex; + font-size: var(--size-default); + line-height: 1.4; + white-space: nowrap; +} + +._shrink_8ra1q_81 { + overflow: hidden; + text-overflow: ellipsis; +} +._confirmItem_1e5e5_1 p { + margin-top: var(--space-quarter); + word-break: break-all; +} + +._confirmationValue_1e5e5_6 { + font-size: var(--size-default); + font-weight: 400; + line-height: 1; + overflow: hidden; + text-overflow: ellipsis; + direction: rtl; +} + +._total_1e5e5_15 p { + font-size: var(--size-subheader) !important; + margin-bottom: var(--space-quarter); +} +._spinnerAnimationContainer_18sha_1 { + align-items: center; + display: flex; + height: 0; + justify-content: center; + position: relative; + top: calc(300px / 2) /*300px is the height of video element in ScanQRDialog*/ +} + +._qrVideo_18sha_10 { + width: 100%; + margin-bottom: var(--spacing-default); +} +._qrVideo_18sha_10 + .scan-region-highlight svg { + stroke: var(--color-darkyellow) !important; + stroke-width: 3 !important; +}._inputWithIcon_drrz7_1 { + position: relative; +} + +._inputWithIcon_drrz7_1 input { + padding-right: calc(var(--spacing-default) * 2 + 18px); +} + +._action_drrz7_9 { + color: var(--color-blue); + font-size: var(--size-small); + font-weight: 400; + line-height: 1; + cursor: pointer; + user-select: none; +} + +._qrButton_drrz7_18 { + align-items: center; + display: flex; + border: none; + background-color: var(--background-secondary); + height: 36px; + width: 36px; + justify-content: center; + padding: 0; + position: absolute; + top: calc(50% - var(--space-quarter)); + right: calc(var(--spacing-default) - var(--space-quarter)); + cursor: pointer; +} + +._qrButton_drrz7_18 img { + width: 18px; + height: 18px; +} +._maxAmount_1t5n0_1 label { + display: block !important; + margin-right: 0 !important; +} + +._maxAmount_1t5n0_1 label::before { + top: -2px !important; +} + +._maxAmount_1t5n0_1 label::after { + margin-top: -3px !important; +} +._labelDescription_5etm5_1 { + color: var(--color-secondary); + font-size: var(--size-small); + font-weight: 400; + margin-top: 0; +} +._container_8f83b_1 { + margin-top: calc(var(--space-default) * 1.5); +} +._skeleton_13p4i_1 { + animation: _skeleton-loading_13p4i_1 1.4s ease infinite; + background: linear-gradient(90deg, rgba(190, 190, 190, .2) 25%, rgba(129, 129, 129, .24) 37%, rgba(190, 190, 190, .2) 63%); + background-size: 400% 100%; + display: inline-block; + max-width: 100%; + overflow: clip; +} +._skeleton_13p4i_1::before { + /* Add an invisible underscore _ character to inherit the parents font-size and force the correct height */ + color: transparent; + content: "_"; + display: block; + line-height: 1; + min-width: 1em; +} + +@keyframes _skeleton-loading_13p4i_1 { + 0% { background-position: 100% 50%; } + to { background-position: 0 50%; } +} +._chart_1bo3n_1 { + box-sizing: border-box; + margin-bottom: var(--spacing-large); + position: relative; +} + +._invisible_1bo3n_7 { + visibility: hidden; +} + +._chartUpdatingMessage_1bo3n_11 { + align-items: center; + color: var(--color-tertiary); + display: flex; + flex-direction: column; + justify-content: center; + padding: 0 var(--space-half); + text-align: center; +} + +._chart_1bo3n_1 header { + display: flex; + flex-wrap: wrap; + margin-bottom: var(--spacing-half); + min-height: 68px; +} + +._summary_1bo3n_28 { + margin: 0 auto; + display: flex; + flex-direction: column; + align-items: flex-start; +} + +._filters_1bo3n_35 { + align-items: baseline; + display: flex; + flex-wrap: wrap; + flex-grow: 1; + justify-content: flex-end; + margin: var(--spacing-half) 0 0 0; +} + +@media (max-width: 640px){ + + ._chart_1bo3n_1{ + margin-bottom: var(--spacing-default); + } + + ._summary_1bo3n_28{ + align-items: center; + } + + ._filters_1bo3n_35{ + justify-content: center; + margin-top: var(--spacing-default); + } +} + + +._filters_1bo3n_35 button { + appearance: none; + background: var(--background-secondary); + border: 2px solid var(--background-secondary); + border-radius: 2rem; + color: var(--color-default); + font-size: var(--size-default); + line-height: 1.75; + margin-bottom: var(--spacing-half); + margin-left: var(--spacing-half); + padding: 0 calc(var(--spacing-default) * .75); +} + +._filters_1bo3n_35 button:hover:not([disabled]) { + cursor: pointer; +} + +._filters_1bo3n_35 button:hover:is([disabled]) { + cursor: not-allowed; +} + +._filters_1bo3n_35 button:focus { + border: 2px solid var(--color-blue); + outline: none; +} + +._filters_1bo3n_35 button._filterActive_1bo3n_87 { + background: var(--color-blue); + border-color: var(--color-blue); + color: var(--color-alt); +} + +._filters_1bo3n_35 button[disabled] { + background: var(--background-quaternary); + border-color: var(--background-quaternary); + color: var(--color-alt); +} +.dark-mode ._filters_1bo3n_35 button[disabled] { + background: var(--background-secondary); + border-color: var(--background-secondary); + color: var(--color-disabled); +} + +._arrow_1bo3n_104 svg { + margin-right: .25rem; + vertical-align: text-bottom; +} + +._up_1bo3n_109 { + color: var(--color-green); +} + +._down_1bo3n_113 { + color: var(--color-softred); +} + +._totalValue_1bo3n_117 { + font-size: 2rem; +} + +._totalUnit_1bo3n_121 { + color: var(--color-secondary); + display: inline-block; + font-size: 1.4rem; + padding: 0 .25rem; +} + +._diffValue_1bo3n_128 { + font-size: 1.2rem; +} + +._diffUnit_1bo3n_132 { + font-size: 1rem; + padding: 0 .25rem; +} + +._chartCanvas_1bo3n_137 { + position: relative; +} + +@media (max-width: 640px) { + ._chartCanvas_1bo3n_137 { + max-width: 100%; + overflow: hidden; + } +} + + +._tooltip_1bo3n_149 { + background: var(--background-secondary); + border: 1px solid var(--background); + border-radius: 3px; + font-size: var(--size-small); + margin-top: -25px; + min-width: 140px; + padding: .75rem .6rem; + pointer-events: none; + position: absolute; + text-align: center; + transition: left .03s ease-out, top .03s ease-out; + z-index: 12; +} + +._toolTipValue_1bo3n_164 { + font-weight: normal; + font-size: 1rem; + margin: 0 0 .25rem 0; +} + +._toolTipUnit_1bo3n_170 { + color: var(--color-secondary); + font-size: var(--size-small); + padding: 0 .125rem; +} + +._toolTipTime_1bo3n_176 { + white-space: nowrap; +} +._spinnerContainer_1akm7_1 { + position: relative; + display: inline-block; +} + +._spinner_1akm7_1 { + color: var(--color-blue); +} + +._spinner_1akm7_1:after { + position: relative; + top: 2px; + animation: _changeContent_1akm7_1 .8s linear infinite; + display: block; + content: "⠋"; + font-size: 14px; + margin-left: 3px; +} + +@keyframes _changeContent_1akm7_1 { + 10% { content: "⠙"; } + 20% { content: "⠹"; } + 30% { content: "⠸"; } + 40% { content: "⠼"; } + 50% { content: "⠴"; } + 60% { content: "⠦"; } + 70% { content: "⠧"; } + 80% { content: "⠇"; } + 90% { content: "⠏"; } +}._balanceTable_1v4c8_1 { + margin: 0 0 var(--spacing-large) 0; +} +._coincode_1v4c8_4 { + height: 24px; + /* padding: 0px 0px 4px 10px; */ +} + +._coinheader_1v4c8_9 { + display: flex; + flex-direction: row; + align-items: center; +} + +._coinheader_1v4c8_9 > div:first-child { + height: 24px; + margin-right: calc(var(--space-half) / 2); +} + +._dataMissing_1v4c8_20 { + text-align: center; +} + +._openFileText_1v4c8_24 { + color: var(--color-primary); + cursor: pointer; + font-size: var(--size-small); +} + +._table_1v4c8_30 { + width: 100%; + border-collapse: collapse; + margin-bottom: var(--spacing-default); + border: solid 1px var(--background-quaternary); +} + +._table_1v4c8_30 tr td, +._table_1v4c8_30 tr th { + height: 52px; + padding: var(--space-half); + text-align: left; + font-weight: 400; +} + +._table_1v4c8_30 tr td._noAccount_1v4c8_45 { + text-align: center; +} + +._table_1v4c8_30 tr > td:not(:first-child), +._table_1v4c8_30 tr > th:not(:first-child) { + text-align: right; +} + +._table_1v4c8_30 thead th { + border-bottom: solid 1px var(--background-quaternary); +} + +._table_1v4c8_30 thead th, +._table_1v4c8_30 tfoot th { + background-color: var(--background-secondary); + font-size: var(--size-default); + font-weight: bold; +} + +._table_1v4c8_30 thead th:first-child, +._table_1v4c8_30 tfoot th:first-child { + padding-left: calc(24px + var(--space-default)); +} + +._table_1v4c8_30 tr td, +._table_1v4c8_30 tr td { + font-size: var(--size-default) !important; + line-height: 1.5714; +} + +._table_1v4c8_30 tbody td { + background-color: var(--background-secondary); +} + +._clickable_1v4c8_80 { + cursor: pointer; +} + +._summaryTableBalance_1v4c8_84 { + white-space: nowrap; +} + +._table_1v4c8_30 tfoot th, +._table_1v4c8_30 tfoot td { + background-color: var(--background-secondary); + padding-bottom: calc(var(--space-quarter) + var(--space-half)); +} + +._coinName_1v4c8_94 { + display: flex; +} + +._coinName_1v4c8_94 img { + flex-shrink: 0; + margin-right: var(--spacing-default); + vertical-align: middle; +} + +._coinUnit_1v4c8_104 { + color: var(--color-secondary); +} + +._syncText_1v4c8_108 { + font-variant: tabular-nums; +} + +._showOnTableView_1v4c8_112 { + display: block; +} + +._showInCollapsedView_1v4c8_116 { + display: none; +} + +@media (max-width: 640px) { + + ._showOnTableView_1v4c8_112 { + display: none; + } + ._showInCollapsedView_1v4c8_116 { + display: block; + } + + ._table_1v4c8_30 tr td, + ._table_1v4c8_30 tr th { + padding: var(--spacing-default); + } + + ._table_1v4c8_30 thead { + display: none; + } + + ._table_1v4c8_30, + ._table_1v4c8_30 tbody, + ._table_1v4c8_30 tbody tr, + ._table_1v4c8_30 tfoot { + display: block; + } + + ._table_1v4c8_30 tfoot tr { + background-color: var(--background-secondary); + display: flex; + justify-content: space-between; + } + + ._table_1v4c8_30 tfoot th:first-child { + padding-left: var(--space-half); + } + + ._table_1v4c8_30 tbody td { + display: flex; + justify-content: space-between; + height: auto; + padding-bottom: 0; + } + + ._table_1v4c8_30 tbody td::before { + content: attr(data-label); + white-space: nowrap; + } + + ._subTotal_1v4c8_167 td::before { + font-weight: bold; + } + + ._table_1v4c8_30 tbody td:last-child { + border-bottom: solid 1px var(--color-mediumgray); + padding-bottom: var(--spacing-default); + } + + ._coinName_1v4c8_94 { + position: relative; + } + + ._coinName_1v4c8_94 img { + left: -2rem; + position: absolute; + top: -3px; + } +} +._container_1mptn_1 { + display: flex; + justify-content: center; +} +._container_1mptn_1 > button:first-child { + margin-right: var(--space-half); +} +._main_1mptn_8 { + padding: calc(var(--space-default) * 1.5) 0; +} + +._main_1mptn_8 > * { + margin-right: 0 !important; + text-align: center; +} + +._walletConnect_1mptn_17 { + margin-left: var(--space-half); +} + +._walletConnect_1mptn_17 span { + margin-left: var(--space-eight); +} +._container_17oq2_1 { + align-items: center; + background-position: center bottom; + background-size: cover; + display: flex; + flex-grow: 1; + flex-shrink: 1; + flex-basis: auto; + flex-direction: column; + justify-content: center; + margin: 0 auto; + max-height: 100vh; + overflow: auto; + padding: 0 var(--space-half); +} + +._scrollable_17oq2_17 { + overflow: auto; + /*padding-bottom: var(--spacing-default);*/ +} + +._agreements_17oq2_22 { + margin-bottom: var(--spacing-default); +} + +._agreementsLabel_17oq2_26 { + margin: var(--spacing-half) 0; +} + +._title_17oq2_30 { + margin-top: 0; + margin-bottom: var(--spacing-large); + font-weight: 400; +} + +._summary_17oq2_36 { + margin: var(--spacing-large) auto; + max-width: 450px; +} + +._summary_17oq2_36 li { + margin-bottom: var(--spacing-default); +} + +._heading_17oq2_45 { + margin-top: 1px; +} + +._content_17oq2_49 { + display: flex; + flex-basis: auto; + flex-direction: column; + flex-grow: 1; + flex-shrink: 1; + max-width: var(--content-width); + width: 100%; + padding: var(--spacing-large) var(--spacing-default) 0 var(--spacing-default); +} + +._verticalButtons_17oq2_60 { + display: flex; + flex-direction: column; + max-width: 300px; + width: 100%; + margin: 0 auto; +} + +._verticalButtons_17oq2_60 button:first-child { + margin-bottom: var(--spacing-default); +} + +._block_17oq2_72 { + flex: 1; +} + +._block_17oq2_72 p:first-child, +._block_17oq2_72 h2:first-child { + margin-top: 0; +} + +._block_17oq2_72 p:last-child { + margin-bottom: var(--spacing-large); +} + +._list_17oq2_85 { + padding-left: 18px; +} + +._list_17oq2_85 li:not(:first-child) { + margin-top: var(--spacing-half); +} + +._buttons_17oq2_93 { + margin-bottom: 0; + margin-top: var(--spacing-large); +} + +._stepNumber_17oq2_98 { + min-width: 20px !important; + margin-right: 20px; + text-align: center; + color: var(--color-secondary); + font-size: var(--size-extra-large); + line-height: var(--size-extra-large); + font-weight: 400; +} + +._badge_17oq2_108 { + max-height: 40px; + height: 40px; +} + +._waitingLogo_17oq2_113 { + margin-bottom: var(--space-default); +} + +._waitingContent_17oq2_117 { + max-width: 540px; + width: 100%; + background-color: var(--background-secondary); + padding: var(--space-default); + margin: 0 auto; + text-align: center; +} + +._waitingText_17oq2_126 { + margin-top: 0; + margin-bottom: var(--space-half); + text-align: center; + font-weight: 400; + font-size: var(--size-subheader); +} + +._waitingDescription_17oq2_134 { + text-align: center; + margin-bottom: 0; +} + +@media screen and (max-width: 640px) { + ._qrcodeContainer_17oq2_140 { + width: 50%; + } + + ._qrcodeContainer_17oq2_140 img { + width: 100%; + height: auto; + } +} +._container_l7fdu_1 { + width: 100%; + min-width: 230px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + height: var(--item-height); + text-decoration: none; + text-align:left; + border: none; + color: var(--color-blue); + background-color: var(--background-secondary); + font-size: var(--size-default); + font-weight: 400; + padding: 0 var(--space-half); + cursor: pointer; +} + +._container_l7fdu_1 svg, +._container_l7fdu_1 img { + width: 18px; + height: 18px; + color: var(--color-secondary); +} + +._danger_l7fdu_27 { + color: var(--color-softred); +} + +._children_l7fdu_31 { + min-width: 120px; +} + +._optionalText_l7fdu_35 { + margin-left: auto; + margin-right: var(--space-quarter); + font-size: var(--size-small); + color: var(--color-secondary); + white-space: nowrap; + max-width: 300px; + text-overflow: ellipsis; + overflow: hidden; +} + +._secondaryText_l7fdu_46 { + color: var(--color-secondary); + font-size: var(--size-small); + margin-top: 4px; + overflow: hidden; + text-overflow: ellipsis; +} + +._primaryText_l7fdu_54 { + display: block; +} + +._icon_l7fdu_58 img { + margin-left: 8px; + margin-bottom: -4px; +} + +._disabled_l7fdu_63 { + opacity: 0.5; + cursor: default; +} + +._item_l7fdu_68 { + color: var(--color-secondary); + cursor: default; +} + +._container_l7fdu_1:focus { + outline: solid 1px var(--color-blue); +} +._stepContext_g2o2c_1 { + margin: var(--space-default) 0; +} + +._backupsList_g2o2c_5 { + background: var(--background-secondary); + border: 1px solid var(--background-secondary); + display: flex; + flex-direction: column; + text-align: left; + flex: 1; +} + +._listContainer_g2o2c_14 { + display: flex; + flex-direction: column; + max-height: 45vh; + overflow-x: hidden; + overflow-y: scroll; + position: relative; + width: 100%; +} + +._item_g2o2c_24 { + width: 100%; + padding: var(--space-quarter) var(--space-half); +} + +._item_g2o2c_24:not(:first-child) { + border-top: solid 1px var(--background); +} + +._item_g2o2c_24 label { + margin-bottom: 0 !important; +} + +._agreements_g2o2c_37 { + margin-bottom: 1rem; +} + +._emptyText_g2o2c_41 { + text-align: center; + color: var(--color-secondary); + padding: var(--spacing-large) 0; +} + +._backupItem_g2o2c_47 + label { + color: var(--color-default); + word-break: break-all; +} + +._backupID_g2o2c_52 { + word-break: break-all; + margin-bottom: var(--space-quarter); + font-size: var(--size-small); + color: var(--color-secondary); +} + +._backupButtons_g2o2c_59 { + display: flex; + flex-wrap: wrap; + flex-direction: row-reverse; + margin-top: var(--space-default); +} + +@media (min-width: 769px) { + ._backupButtons_g2o2c_59 > *:not(:first-child) { + margin-right: var(--space-half); + } +} + +@media (max-width: 768px) { + ._backupButtons_g2o2c_59 { + align-items: center; + flex-direction: column; + margin-top: var(--space-default); + } + + ._backupButtons_g2o2c_59 > *:not(:first-child) { + margin-top: var(--space-half); + } +} +._container_6tizs_1 { + height: var(--item-height-xlarge); + width: 100%; + min-width: 230px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + text-decoration: none; + text-align:left; + border: none; + background-color: var(--background-secondary); + font-size: var(--size-default); + font-weight: 400; + padding: 16px 24px; + color: var(--color-dark); + margin-bottom: var(--size-default); +} + + +._primaryText_6tizs_21 { + color: var(--color-default); + font-size: 16px; + margin: 0; +} + +._isButton_6tizs_27:hover { + cursor: pointer; +} + + +._rightContentContainer_6tizs_32 { + display: flex; + align-items: center; + flex-shrink: 0; +} + +._displayedValue_6tizs_38 { + color: var(--color-secondary); + font-size: 14px; + margin: 0; + padding-left: var(--space-half); + overflow: hidden; + text-overflow: ellipsis; +} + +._displayedValue_6tizs_38._withMargin_6tizs_47 { + margin-right: var(--space-quarter); +} + +._secondaryText_6tizs_51 { + color: var(--color-secondary); + font-size: 14px; + margin: 0; + margin-top: var(--space-quarter); + overflow: hidden; + text-overflow: ellipsis; +} + +@media (max-width: 768px) { + ._container_6tizs_1 { + height: auto; + margin-bottom: 5px; + min-width: 100%; + } + + ._secondaryText_6tizs_51 { + display: none; + } +} + +@media (max-width: 560px) { + + ._container_6tizs_1._collapse_6tizs_74 { + align-items: start; + flex-direction: column; + } + + ._container_6tizs_1._collapse_6tizs_74 ._displayedValue_6tizs_38._withMargin_6tizs_47 { + margin-right: 0; + } + + ._container_6tizs_1._collapse_6tizs_74 ._rightContentContainer_6tizs_32 { + width: 100% + } + + ._hideDisplayedValueOnSmall_6tizs_87 { + display: none; + } + +} +._container_1rta5_1 { + display: flex; + margin-bottom: var(--space-default); + word-break: keep-all; +} + +._container_1rta5_1 a { + margin-right: var(--space-default); + font-size: var(--size-subheader); + text-decoration: none; +} + +._container_1rta5_1 a._active_1rta5_13 { + padding-bottom: var(--space-quarter); + border-bottom: 2px solid var(--color-blue); +} + +@media (max-width: 768px) { + ._container_1rta5_1, + ._container_1rta5_1 a, + ._container_1rta5_1 a._active_1rta5_13 { + all: unset; + } +} + +._settingNameContainer_usdew_1 { + display: flex; +} + +._settingName_usdew_1 { + color: var(--color-swissred); + font-size: 16px; + margin: 0; + margin-left: var(--space-quarter); +}._section_18i3w_1 { + margin-bottom: var(--space-default) +} + +._section_18i3w_1 h3 { + margin-bottom: var(--space-half) +} + +._skeletonWrapper_18i3w_9 { + margin-bottom: var(--size-default); +} + + +@media (max-width: 768px) { + ._skeletonWrapper_18i3w_9 { + margin-bottom: 2px; + } +}._container_flzib_1 { + align-items: center; + display: none; + position: relative; +} + +._backButton_flzib_7 { + background-color: transparent; + border: none; + color: var(--color-default); + display: flex; + align-items: center; + font-size: var(--size-title); + padding: var(--space-quarter); + padding-left: 0; + text-decoration: none; +} + +._backButton_flzib_7:focus { + outline: none; +} + +._backButton_flzib_7:hover { + cursor: pointer; +} + +._backButton_flzib_7 img { + margin-right: var(--space-eight); +} + +._headerText_flzib_31 { + font-size: var(--size-title); + font-weight: 400; + margin: 0 auto; + position: absolute; + left: 50%; + transform: translateX(-50%); +} + +._withGuide_flzib_40 ._headerText_flzib_31 { + left: calc(50% + 37px); +} + +@media (max-width: 768px) { + ._container_flzib_1 { + display: flex; + } +}._container_18axn_1 { + align-items: stretch; + background-position: center bottom; + background-size: cover; + display: flex; + flex-grow: 1; + flex-shrink: 1; + flex-basis: auto; + flex-direction: column; + justify-content: center; + margin: 0 auto; + max-height: 100vh; + overflow: auto; + max-width: var(--content-width-small); + width: 100%; +} +._container_14uup_1 { + display: inline-block; + flex-shrink: 0; + margin: 0; + min-height: var(--item-height-xsmall); + position: relative; + width: 60px; +} + +._container_14uup_1 input { + height: 0; + opacity: 0; + width: 0; +} + +._container_14uup_1 input[disabled] + ._slider_14uup_16 { + cursor: default; + background-color: var(--color-disabled); +} + +._slider_14uup_16 { + background-color: var(--background-tertiary); + border-radius: 2px; + bottom: 0; + cursor: pointer; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: .2s; +} + +._slider_14uup_16:before { + background-color: white; + border-radius: 2px; + bottom: 4px; + content: ""; + height: 16px; + left: 4px; + position: absolute; + width: 26px; + transition: .2s; +} + +input:checked + ._slider_14uup_16 { + background-color: var(--color-blue); +} + +input:checked + ._slider_14uup_16:before { + transform: translateX(26px); +} +._toast_4ztjp_1 { + position: fixed; + display: block; + bottom: calc(var(--item-height-large) + var(--space-half)); + right: 50%; + transform: translate(50%, 120%); + max-width: calc(100% - (var(--guide-width) + var(--sidebar-width) + var(--spacing-large))); + min-width: 180px; + min-height: 20px; + border-radius: 2px; + padding: var(--space-half); + box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2); + transition: transform ease-out 0.2s; + z-index: 1; +} + +._active_4ztjp_17 { + transform: translate(50%, 0%); +} + +._active_4ztjp_17._shifted_4ztjp_21 { + right: calc(var(--spacing-default) + 350px); +} + +._info_4ztjp_25 { + background-color: var(--color-darkblue); +} + +._success_4ztjp_29 { + background-color: var(--color-success); +} + +._warning_4ztjp_33 { + background-color: var(--color-softred); +} + +._toast_4ztjp_1 p { + margin: 0; + color: var(--color-alt); +} + +@media (max-width: 768px) { + ._toast_4ztjp_1 { + position: initial; + transition: none; + transform: none; + } +}._label_g3ts4_1 { + white-space: nowrap; +} + +._labelText_g3ts4_5 { + display: inline-block; + font-size: 14px; + line-height: 1; + margin-right: 8px; + vertical-align: sub; +} + +._addAccountBtn_17bcq_2 { + margin-bottom: var(--spacing-default); +} + +._walletHeader_17bcq_6 { + align-items: end; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-bottom: var(--space-eight); +} + +._walletTitle_17bcq_14 { + font-size: 20px; + font-weight: 400; + margin: 0 0 var(--space-quarter) 0; +} + +._walletTitle_17bcq_14 small { + color: var(--color-secondary); + font-size: var(--size-default); +} + +._setting_17bcq_25 { + align-items: center; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; + min-height: var(--item-height); + padding: var(--space-quarter) 0; +} + +._setting_17bcq_25:not(:last-child) { + border-bottom: solid 1px var(--background); +} + +._coinLogo_17bcq_39 { + position: relative; + z-index: 2; +} + +._acccountLink_17bcq_44 { + align-items: center; + display: flex; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; +} + +._editBtn_17bcq_52 { + min-width: 0; + padding: 0 0 0 var(--space-quarter); +} + +._editBtn_17bcq_52 img { + margin-right: var(--space-quarter); + max-width: 18px; + height: auto; + vertical-align: text-bottom; +} + +._toggleLabel_17bcq_64 { + align-items: center; + display: flex; + justify-content: space-between; +} + +._toggleLabelText_17bcq_70 { + color: var(--color-secondary); +} + +._toggleLabelText_17bcq_70 img { + color: var(--color-secondary); + margin-right: var(--space-quarter); + max-width: 18px; + vertical-align: bottom; +} + +._toggle_17bcq_64 { + flex-basis: 60px; + flex-shrink: 0; + margin-left: var(--spacing-half); +} + +._accountActive_17bcq_87 { + cursor: pointer; +} + +._tokenSection_17bcq_91 { + align-items: flex-start; + display: flex; + flex-basis: 100%; + flex-direction: column; + flex-wrap: wrap; + padding: 0 0 0 4px; +} + +._tokenContainer_17bcq_100 { + max-height: 0vh; + overflow: hidden; + transition: max-height .27s ease; + width: 100%; +} + +._tokenContainerOpen_17bcq_107 { + /* + a numeric value that is higher than the height of the token list, + so the animation works nicely. + could be also be a fixed high value, e.g. 3000rem + i.e. + */ + max-height: 200vh; + padding: 10px 0 0 0; +} + +._token_17bcq_91 { + align-items: center; + display: flex; + flex-direction: row; + justify-content: space-between; + min-height: var(--item-height); + padding: 10px 0; + position: relative; + width: 100%; +} + +._token_17bcq_91::before { + background-color: #ddd; + content: ""; + height: 22px; + left: 10px; + position: absolute; + top: -13px; + right: 8px; + width: 3px; +} + +._token_17bcq_91:first-child::before { + height: 16px; + top: -7px; +} + +._token_17bcq_91 img:first-child { + margin-right: 0; +} + +._tokenIcon_17bcq_149 { + max-height: 24px; + max-width: 24px; +} + +._tokenName_17bcq_154 { + flex: 1; + display: inline-block; + padding-left: 20px; +} + +._tokenInactive_17bcq_160 { + color: var(--color-tertiary); + transition: color 0.2s ease; +} + +._expandBtn_17bcq_165 { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A"); + background-position: 100% center; + background-repeat: no-repeat; + height: 40px; + padding: 0 var(--space-default); +} + +._expandBtnOpen_17bcq_173 { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' aria-labelledby='chevron down' color='%235e94bf'%3E%3Cdefs/%3E%3Cpolyline points='6 16 12 10 18 16'/%3E%3C/svg%3E%0A"); +} + +._expandBtn_17bcq_165, +._expandBtn_17bcq_165:focus, +._expandBtn_17bcq_165:hover { + border-color: transparent !important; + margin-left: 10px; + outline: none; +} + + +._watchOnlyContainer_17bcq_186 { + align-items: center; + display: flex; + justify-content: space-between; + margin-top: var(--space-half); +} + +._watchOnlyNote_17bcq_193 { + margin: 0; + margin-top: var(--space-half); +} + +._watchOnlyAccountHidden_17bcq_198 { + background-color: var(--color-success); + margin-top: var(--space-half); + padding: var(--space-half); +} + +._watchOnlyAccountHidden_17bcq_198 p { + color: var(--color-alt); + margin: 0; +}._title_ahh86_1 { + margin: 0; + font-size: var(--size-subheader); + font-weight: 400; +} + +._resetLink_ahh86_7 { + color: var(--color-softred) !important; +} + +._serversContainer_ahh86_11 { + margin-top: var(--space-default); +} + +._servers_ahh86_11 { + background-color: var(--background-secondary); + list-style: none; + padding: var(--space-quarter) var(--space-half); + margin: 0; + word-break: break-word; +} + +._servers_ahh86_11 li ._server_ahh86_11 { + display: flex; + width: 100%; + align-items: center; + font-weight: 400; + font-size: var(--size-default); + min-height: 52px; +} + +._serverLabel_ahh86_32 { + padding: var(--space-quarter) 0; + word-break: break-word; +} + +._servers_ahh86_11 li ._server_ahh86_11 > div:last-child { + margin-left: auto; +} + +._servers_ahh86_11 li ._server_ahh86_11 > div:last-child button { + border: none; + border-radius: 2px; + font-size: var(--size-small); + padding: var(--space-quarter) var(--space-half); + word-break: normal; +} + +._servers_ahh86_11 ._server_ahh86_11 > div button[disabled] { + background-color: var(--color-disabled); + color: var(--color-secondary); +} + +._servers_ahh86_11 ._server_ahh86_11 > div button:focus { + outline: none; +} + +._servers_ahh86_11 ._server_ahh86_11 > div button:not(:last-child) { + margin-right: var(--space-quarter); +} + +@media (max-width: 768px) { + ._servers_ahh86_11 { + padding: 0 var(--space-quarter); + } + + ._serverLabel_ahh86_32 { + padding-right: var(--space-quarter); + } + + ._servers_ahh86_11 ._server_ahh86_11 > div button { + margin: var(--space-quarter) 0; + } + + ._servers_ahh86_11 li ._server_ahh86_11 > div:last-child button { + display: block; + padding: var(--space-quarter); + width: 100%; + } +} + +._primary_ahh86_82 { + background-color: var(--color-blue); + color: var(--color-alt); + transition: background-color 0.2s ease-in-out; + will-change: background-color; +} + +._primary_ahh86_82:hover { + background-color: var(--color-lightblue); +} + +._warning_ahh86_93 { + background-color: var(--color-softred); + color: var(--color-alt); + transition: background-color 0.2s ease-in-out; + will-change: background-color; +} + +._warning_ahh86_93:hover { + background-color: var(--color-lightred); +} + +._textarea_ahh86_104 { + width: 100%; + border-radius: 2px; + border-color: var(--background-quaternary); + padding: var(--space-half) var(--space-half); + margin-bottom: var(--space-quarter); +} + +._block_ahh86_112 { + margin-bottom: var(--space-half); +} + +._addServer_ahh86_116 { + margin-top: var(--space-half); + margin-bottom: var(--space-default); + background-color: var(--background-secondary); + padding: var(--space-half); +} + +._addServer_ahh86_116 p { + font-size: var(--size-default); + font-weight: 400; + margin-top: var(--space-half); + margin-bottom: var(--space-quarter); +} + +._addServer_ahh86_116 > div:first-child p { + margin-top: var(--spacing-default); +} + +@media (max-width: 768px) { + ._addServer_ahh86_116 { + padding: var(--space-half) var(--space-quarter); + } +} + +._badge_ahh86_140 { + color: var(--color-secondary); + border-radius: 2px; + margin-right: var(--space-quarter); + width: 16px; + text-align: center; +} + +._badge_ahh86_140::after { + content: '.'; +} + +._miniSpinnerContainer_ahh86_152 { + position: relative; + margin-right: 4px; + display: inline-block; +} + +._miniSpinner_ahh86_152 { + color: var(--color-blue); +} + +._miniSpinner_ahh86_152:after { + position: relative; + animation: _changeContent_ahh86_1 .8s linear infinite; + display: block; + content: "⠋"; +} + +@keyframes _changeContent_ahh86_1 { + 10% { content: "⠙"; } + 20% { content: "⠹"; } + 30% { content: "⠸"; } + 40% { content: "⠼"; } + 50% { content: "⠴"; } + 60% { content: "⠦"; } + 70% { content: "⠧"; } + 80% { content: "⠇"; } + 90% { content: "⠏"; } +} +._syncContainer_nrzbt_1 { + position: relative; + width: 100%; + top: -18px; + margin-bottom: -18px; +} + +._progressBar_nrzbt_8 { + width: 100%; + height: 1px; + background-color: var(--background); +} + +._progressValue_nrzbt_14 { + height: 100%; + background-color: var(--color-blue); + transition: width 1s ease; + will-change: width; +} + +._syncMessage_nrzbt_21 { + height: 16px; + width: 100%; + max-width: var(--content-width); + font-size: var(--size-small); + color: var(--color-secondary); + text-align: right; + margin: 0 auto; + margin-bottom: 1px; + padding: 0 var(--spacing-large); +} + +._syncText_nrzbt_33 { + display: inline-block; + height: 100%; + font-variant: tabular-nums; +} + +._spinnerContainer_nrzbt_39 { + position: relative; + display: inline-block; +} + +._spinner_nrzbt_39 { + color: var(--color-blue); +} + +._spinner_nrzbt_39:after { + position: relative; + top: 2px; + animation: _changeContent_nrzbt_1 .8s linear infinite; + display: block; + content: "⠋"; + font-size: 14px; + margin-left: 3px; +} + +@keyframes _changeContent_nrzbt_1 { + 10% { content: "⠙"; } + 20% { content: "⠹"; } + 30% { content: "⠸"; } + 40% { content: "⠼"; } + 50% { content: "⠴"; } + 60% { content: "⠦"; } + 70% { content: "⠧"; } + 80% { content: "⠇"; } + 90% { content: "⠏"; } +} + +@media (max-width: 900px) { + ._syncMessage_nrzbt_21 { + padding: 0 var(--spacing-default); + } +} + +@media (max-width: 640px) { + ._syncMessage_nrzbt_21 { + padding: 0 var(--spacing-half); + } +} +._container_13974_1 { + transform: rotate(-90deg); + background-color: transparent !important; +} + +._background_13974_6, +._foreground_13974_7 { + fill: none; +} + +._background_13974_6 { + stroke: var(--color-mediumgray); +} + +._foreground_13974_7 { + +} + +._complete_13974_19 { + stroke: var(--color-success); +} + +._pending_13974_23, +._generic_13974_24 { + stroke: var(--color-primary); +} + +._error_13974_28 { + stroke: var(--color-danger); +} +._txArrowType_m24u9_1 { + width: 18px; + height: 18px; +} + +._txArrowTypeIn_m24u9_6 { + stroke: var(--color-success) !important; +} + +._txArrowTypeOut_m24u9_10 { + stroke: var(--color-danger) !important; +} + +._txArrowTypeSelf_m24u9_14 { + stroke: var(--color-secondary) !important; +} + +._container_1j01g_1 { + margin: calc(var(--space-default) * 1.5) 0; +} + +._header_1j01g_5 { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: var(--space-default); +} + +._header_1j01g_5 label { + font-size: var(--size-default); +} + +._columns_1j01g_17 { + align-items: center; + background-color: var(--background-secondary); + display: flex; + flex-direction: row; + justify-content: flex-start; + margin-bottom: 1px; + width: 100%; +} + +._headers_1j01g_27 { + font-weight: bold; + height: 48px; +} + +._columns_1j01g_17 > *, +._columnGroup_1j01g_33 > * { + display: flex; + flex-direction: row; + align-items: center; + font-size: var(--size-default); + padding: 0 var(--space-quarter); +} + +._columnGroup_1j01g_33 { + width: 100%; + padding: 0; +} + +._type_1j01g_46 { + min-width: 54px; + width: 54px; + justify-content: center; +} + +._date_1j01g_52 { + min-width: 98px; + width: 98px; +} + +._activity_1j01g_57 { + min-width: 334px; + width: 334px; + text-align: left; +} + +._status_1j01g_63 { + min-width: 106px; + width: 106px; +} + +._fiat_1j01g_68 { + min-width: 134px; + width: 134px; + justify-content: flex-end; +} + +._currency_1j01g_74 { + min-width: 230px; + width: 230px; + justify-content: flex-end; +} + +._action_1j01g_80 { + min-width: 60px; + width: 60px; + justify-content: center; + align-items: center; +} + +._empty_1j01g_87 { + background-color: var(--background-secondary); + height: 52px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; +} + +._empty_1j01g_87 p { + font-size: var(--size-default); + font-weight: 400; + color: var(--color-secondary); +} + +@media (min-width: 1081px) and (max-width: 1199px), (min-width: 1323px) { + ._hideOnMedium_1j01g_103 { + display: none; + } + + ._activity_1j01g_57 { + padding: var(--space-quarter) 0; + } +} + +@media (max-width: 1080px), (min-width: 1200px) and (max-width: 1322px) { + ._showOnMedium_1j01g_113 { + display: none; + } + + ._columns_1j01g_17 { + flex-direction: column; + justify-content: center; + } + + ._columnGroup_1j01g_33:last-child { + margin-top: var(--space-quarter); + } + + ._type_1j01g_46 { + min-width: 36px; + width: 36px; + justify-content: flex-start; + } + + ._date_1j01g_52 { + min-width: 126px; + width: 126px; + } + + ._activity_1j01g_57 { + flex: 1; + } + + ._fiat_1j01g_68, + ._currency_1j01g_74 { + justify-content: flex-start; + min-width: 0; + width: auto; + text-align: right; + } + + ._action_1j01g_80 { + justify-content: flex-end; + min-width: 36px; + width: 36px; + } + + ._status_1j01g_63 { + justify-content: flex-start; + width: auto; + margin-left: 36px; + margin-right: auto; + } +} + +@media (max-width: 768px) { + + ._container_1j01g_1 { + margin: var(--space-default) 0; + } + + + ._fiat_1j01g_68, + ._currency_1j01g_74 { + min-width: 0; + width: auto; + } + + ._fiat_1j01g_68 { + flex-grow: 1; + flex-shrink: 0; + justify-content: flex-end; + } + + ._currency_1j01g_74 { + flex-grow: 0; + flex-shrink: 1; + } + +} + +@media (max-width: 666px) { + ._columns_1j01g_17 > *, + ._columnGroup_1j01g_33 > * { + padding: 0 var(--space-eight); + } + + ._type_1j01g_46 { + min-width: 26px; + width: 26px; + } + + ._activity_1j01g_57 { + min-width: 0; + width: auto; + } + + ._date_1j01g_52 { + min-width: 80px; + width: 80px; + } + + ._status_1j01g_63 { + margin-left: 2px; + min-width: 14px; + padding-right: 0; + } +} +._container_1tutj_1 { + margin: 0 0 1px 0; +} + +._row_1tutj_5 { + background-color: var(--background-secondary) !important; + min-height: 52px; +} + +._row_1tutj_5 * { + font-size: var(--size-default); + font-weight: 400; +} + +._date_1tutj_15 { + +} + +._address_1tutj_19 { + text-overflow: ellipsis; + overflow: hidden; +} + +._address_1tutj_19 ._badge_1tutj_24 { + margin-left: 5px; + color: var(--color-secondary); +} + +._statusIndicator_1tutj_29 { + width: 9px; + height: 9px; + border-radius: 50%; + background-color: var(--background); + margin-right: var(--space-quarter); +} + +._statusIndicatorComplete_1tutj_37 { + background-color: var(--color-success); +} + +._statusIndicatorPending_1tutj_41 { + background-color: var(--color-yellow); +} + +._statusIndicatorFailed_1tutj_45 { + background-color: var(--color-danger); +} + +._status_1tutj_29 { + +} + +._fiat_1tutj_53 { + font-variant: tabular-nums; +} + +._amount_1tutj_57 { + font-variant: tabular-nums; + max-width: 100%; +} + +._amountOverflow_1tutj_62 { + overflow: hidden; + position: relative; + text-overflow: ellipsis; +} + +/* invisible element that creates the exact space for the used unit */ +._amountOverflow_1tutj_62::after { + content: attr(data-unit); + color: transparent; +} + +._send_1tutj_74 { + color: var(--color-softred) !important; +} + +._receive_1tutj_78 { + color: var(--color-success); +} + +._currency_1tutj_82 { + font-variant: tabular-nums; +} + +._currencyUnit_1tutj_86 { + color: var(--color-secondary); + font-variant: normal; +} + +._amountOverflow_1tutj_62 ._currencyUnit_1tutj_86 { + position: absolute; + right: 0; + top: 0; +} + +._action_1tutj_97 { + align-items: center; + background: none; + border: none; + display: flex; + flex-direction: column; + justify-content: center; + padding: 0; + -webkit-appearance: none; +} + +._label_1tutj_108 { + white-space: nowrap; +} + +._label_1tutj_108, +._columnLabel_1tutj_113, +._inlineLabel_1tutj_114 { + color: var(--color-secondary); + font-size: var(--size-default); +} + +._label_1tutj_108, +._columnLabel_1tutj_113 { + margin-right: var(--space-quarter); +} + +._columnLabel_1tutj_113 { + display: none; +} + +._inlineValue_1tutj_128 { + margin-left: var(--space-quarter); +} + +._fee_1tutj_132 { + min-width: 140px; +} + +._transactionId_1tutj_136 { + overflow: hidden; + text-overflow: ellipsis; +} + +._detail_1tutj_141, +._detailInput_1tutj_142 { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + min-height: var(--item-height); + padding: var(--space-half); +} + +._detailInput_1tutj_142 { + padding: 0 0 0 var(--space-half); +} + +._detailInput_1tutj_142 label { + margin-bottom: 0; +} + +._textOnlyInput_1tutj_159 { + margin: 0; +} + +._textOnlyInput_1tutj_159 input { + border: none; +} + +._editButton_1tutj_167 { + background: none; + border: none; + height: 20px; + margin-right: var(--space-half); + padding: 0; + -webkit-appearance: none; + width: 20px; +} + +._editButton_1tutj_167:focus { + outline: none; +} + +._editButton_1tutj_167 img { + opacity: 0.4; + vertical-align: text-bottom; + outline: none; +} + +._editButton_1tutj_167:hover img { + opacity: 0.55; +} + + +._detail_1tutj_141:not(:first-child) { + border-top: solid 1px var(--background); +} + +._detail_1tutj_141 label { + white-space: nowrap; + margin-right: var(--space-half) !important; +} + +._detail_1tutj_141 label, +._detail_1tutj_141 p { + margin: 0; + line-height: 1; +} + +._detail_1tutj_141._addresses_1tutj_207 { + align-items: baseline; + padding-bottom: 0; + padding-right: 0; + padding-top: 0; +} + +._addresses_1tutj_207 label { + padding: var(--space-half) 0; +} + +._detailAddresses_1tutj_218 { + flex-grow: 1; +} + +._detailAddress_1tutj_218 + ._detailAddress_1tutj_218 { + margin-top: calc(var(--space-quarter) * -1); +} + +@media (max-width: 1080px), (min-width: 1200px) and (max-width: 1322px) { + ._container_1tutj_1 { + margin: 0 0 var(--space-quarter) 0; + } + + ._container_1tutj_1._first_1tutj_231 { + + } + + ._row_1tutj_5 { + height: auto; + padding: var(--space-half); + } + + ._columnLabel_1tutj_113 { + display: inline; + } + + ._action_1tutj_97 { + align-items: flex-end; + } +} + +@media (max-width: 926px) { + ._inlineLabel_1tutj_114 { + display: block; + margin-bottom: var(--space-quarter); + } + + ._inlineValue_1tutj_128 { + margin-left: 0; + text-align: center; + } +} + +@media (max-width: 666px) { + ._columnLabel_1tutj_113 { + display: none; + } + + ._row_1tutj_5 { + padding: var(--space-half) var(--space-quarter); + } + + ._inlineLabel_1tutj_114 { + white-space: nowrap; + } + + ._fee_1tutj_132 { + min-width: 0; + } +} + +@media (max-width: 560px) { + + ._status_1tutj_29 { + display: none; + } + +}._container_8wadt_1 { + max-width: 100%; + width: 100%; + min-height: 100%; + padding: 0; + margin: 0 auto; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +._header_8wadt_12 { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + flex: none; + margin: 0 auto; + padding: var(--spacing-large) var(--spacing-large) 0 var(--spacing-large); + width: 800px; +} + +._actionsContainer_8wadt_23 { + display: flex; + transform: translateY(-36%); + margin-top: var(--space-quarter); +} + +._buy_8wadt_29, +._receive_8wadt_30, +._walletConnect_8wadt_31, +._send_8wadt_32 { + background-color: var(--color-blue); + border-radius: 2px; + color: var(--color-alt); + display: inline-block; + font-size: var(--size-default); + height: calc(var(--item-height) / 1.5); + line-height: calc(var(--item-height) / 1.5); + margin-left: var(--space-quarter); + min-width: calc(var(--item-height) * 2); + padding: 0 var(--space-half); + text-align: center; + text-decoration: none; + transition: background-color ease-out 0.2s; + width: auto; + will-change: background-color; +} + +._withWalletConnect_8wadt_50._actionsContainer_8wadt_23 { + flex-wrap: wrap; + justify-content: flex-end; +} + + +._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31 { + display: flex; +} + +._buy_8wadt_29:hover, +._receive_8wadt_30:hover, +._send_8wadt_32:not(._disabled_8wadt_62):hover { + background-color: var(--color-lightblue); +} + +._send_8wadt_32._disabled_8wadt_62 { + cursor: default; + opacity: 0.4; +} + +._accountIcon_8wadt_71 { + width: 18px; + height: 18px; + margin-right: calc(var(--space-quarter) / 2); +} + +@media (max-width: 768px) { + ._actionsContainer_8wadt_23 { + flex: 0 0 91%; + justify-content: space-between; + margin-bottom: var(--space-default); + max-width: 91%; + transform: none; + width: 91%; + margin-left: auto; + margin-right: auto; + flex-wrap: wrap; + } + + + ._withWalletConnect_8wadt_50._actionsContainer_8wadt_23 { + justify-content: center; + } + + ._withWalletConnect_8wadt_50 ._buy_8wadt_29, + ._withWalletConnect_8wadt_50 ._receive_8wadt_30, + ._withWalletConnect_8wadt_50 ._send_8wadt_32 { + max-width: 25%; + } + + ._withWalletConnect_8wadt_50 ._walletConnect_8wadt_31 { + align-items: center; + display: flex; + justify-content: center; + max-width: 15%; + } + + ._actionsContainer_8wadt_23 a { + flex: 1 0 30%; + margin-right: 0; + max-width: 30%; + min-width: unset; + + } + + ._send_8wadt_32, + ._receive_8wadt_30, + ._buy_8wadt_29 { + font-size: var(--size-small); + width: auto; + } +} +._dropdown_1uw27_1 { + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23777' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-labelledby='chevron down' color='%23777'%3E%3Cdefs/%3E%3Cpolyline points='6 10 12 16 18 10'/%3E%3C/svg%3E%0A"); + background-repeat: no-repeat; + font-weight: 400; + height: calc(var(--space-quarter) * 3); + padding: 0 calc(var(--space-quarter) + var(--space-eight)); +} + +._select_1uw27_10 .react-select__control { + background-color: var(--background-secondary); + border: 2px solid var(--color-custom-select-border); + border-radius: 0; + padding: 0 var(--space-eight); +} + +._select_1uw27_10 { + width: 280px; + background-color: var(--background-secondary); + color: var(--color-default); +} + +._select_1uw27_10 .react-select__option.react-select__option--is-focused:not(:hover) { + outline: solid 1px var(--color-blue); +} + +._select_1uw27_10 .react-select__option.react-select__option--is-selected, +._select_1uw27_10 .react-select__option:hover { + background-color: var(--background-custom-select-selected); +} + +._select_1uw27_10 .react-select__menu { + background-color: var(--background-secondary); +} + +._select_1uw27_10 .react-select__option { + background-color: var(--background-secondary); + font-size: var(--size-default); + color: var(--color-default); + padding: var(--space-half) var(--space-quarter); + cursor: pointer; +} + +._select_1uw27_10 .react-select__menu-list { + padding: 1px; +} + +._select_1uw27_10 .react-select__control:hover { + cursor: pointer; +} + +._select_1uw27_10 .react-select__single-value, +._select_1uw27_10 .react-select__input-container { + font-size: var(--size-default); + color: var(--color-default); +} + + +._select_1uw27_10 .react-select__multi-value { + padding: 0; + margin: 0; + background: transparent; +} + +._select_1uw27_10 .react-select__multi-value__label { + padding: 0; + color: var(--color-default); + font-size: var(--size-default); +} + +@media (max-width: 560px) { + ._select_1uw27_10 { + margin-top: var(--space-quarter); + width: 100%; + } +}._select_1j2fm_1 .react-select__input-container { + position: absolute; + top: -2px; + left: 6px; +} + +._select_1j2fm_1 .react-select__option { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +/*displays only first 3 currencies, the rest gets hidden*/ +._select_1j2fm_1 .react-select__multi-value:nth-child(n + 4) { + display: none; +} + + +/* +displays ', ' as a pseudo component for all currency component +except the last displayed component (the 3rd currency component). + +The reason for :nth-last-child(2) instead of just :last-child is because there's an extra +component created by react-select after the actual last currency component. + +So, we're targetting the second to last component here, +which is the last selected currency in the DOM. +*/ +._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:not(:nth-last-child(2))::after { + content: ','; + padding-right: 2px; +} + +/* +displays '...' as a pseudo component of the 3rd currency and only when there's more than 3 selected. +:nth-last-child(2) is used for the same reason as above +*/ +._select_1j2fm_1:not(._hideMultiSelect_1j2fm_30) .react-select__multi-value:nth-child(3):not(:nth-last-child(2))::after { + content: '\002026'; +} + +._select_1j2fm_1._hideMultiSelect_1j2fm_30 .react-select__multi-value { + display: none; +} + +._select_1j2fm_1 .react-select__value-container--is-multi { + height: var(--item-height-xsmall); +} + +._defaultCurrency_1j2fm_51:hover { + cursor: not-allowed; +} + +._defaultLabel_1j2fm_55 { + font-size: var(--size-small); + margin: 0; + text-transform: capitalize; +} +._inlineMessage_gi9x3_1 { + position: relative; + padding: var(--spacing-default) 42px var(--spacing-default) var(--spacing-default); + border-radius: 3px; +} + +._inlineMessage_gi9x3_1._success_gi9x3_7 { + background-color: var(--color-success); + color: var(--color-alt); +} + +._inlineMessage_gi9x3_1._left_gi9x3_12 { + text-align: left; +} + +._close_gi9x3_16 { + position: absolute; + top: var(--spacing-default); + right: var(--spacing-default); + line-height: 1; + cursor: pointer; +} + + +._settingItem_6ge6v_3 { + margin-top: var(--space-half); +} + +@media (max-width: 768px) { + ._settingItem_6ge6v_3 { + margin-top: 2px; + } +}._headerContainer_wug0g_1 { + display: flex; + flex-direction: column; + align-items: center; +} + +._headerContainer_wug0g_1 p, +._headerContainer_wug0g_1 h1 { + margin: 0; +} + +._headerContainer_wug0g_1 h1 { + margin-top: var(--space-half); + font-size: var(--size-large); + font-weight: 400; +} + +._headerContainer_wug0g_1 img { + width: 64px; + height: 64px; +} + +._headerContainer_wug0g_1 p { + color: var(--color-secondary); + margin-top: var(--space-quarter); +} + +._accountName_wug0g_28 { + font-size: 20px; +} + +._receiveAddress_wug0g_32 { + font-size: 16px; +} + +@media (max-width: 768px) { + ._headerContainer_wug0g_1 h1 { + margin-top: var(--space-eight); + font-size: var(--size-subheader); + } + ._headerContainer_wug0g_1 p + { + font-size: var(--size-small); + } + ._headerContainer_wug0g_1 img { + width: 36px; + height: 36px; + } + ._headerContainer_wug0g_1 p._receiveAddress_wug0g_32 { + margin-top: var(--space-eight); + } +}._formContainer_1wrji_1 { + display: flex; + flex-direction: column; +} + +._formButtonsContainer_1wrji_6 { + display: flex; + justify-content: space-between; +} + +._inputWithIcon_1wrji_11 { + position: relative; +} + +._inputWithIcon_1wrji_11 input { + padding-right: calc(var(--spacing-default) * 2 + 18px); +} + +@media (max-width: 768px) { + ._formButtonsContainer_1wrji_6 { + flex-direction: column-reverse; + margin-top: calc(var(--space-half) + var(--space-quarter)); + } + ._formButtonsContainer_1wrji_6 button + button { + margin-bottom: var(--space-half); /* elements are reversed due to flex-direction: column-reverse; so we have to use margin-bottom instead of top */ + } + + ._mobileQRScanner_1wrji_28 { + display: flex; + flex-direction: column; + margin-bottom: calc(var(--space-half) + var(--space-eight)); + } + + ._mobileQRScanner_1wrji_28 video { + max-width: 320px; + height: 320px; + margin: 0 auto; + object-fit: cover; + } + + ._mobileQRScanner_1wrji_28 ._scanQRLabel_1wrji_41 { + margin-bottom: var(--space-quarter); + margin-left: auto; + margin-right: auto; + text-align: center; + } +}._buttonsContainer_yg3s8_1 { + margin-top: var(--space-default); + display: flex; + justify-content: space-between; +} + +._container_yg3s8_7 { + display: flex; + flex-direction: column; +} + +._container_yg3s8_7 p._connectionRequest_yg3s8_12 { + margin-bottom: 24px; +} + +._container_yg3s8_7 p._receiveAddress_yg3s8_16 { + color: var(--color-secondary); + margin-top: 24px; +} + +._pairingDetailContainer_yg3s8_21 { + display: flex; + align-items: center; + justify-content: space-between; +} + +._pairingDetailContainer_yg3s8_21 img { + width: 64px; + height: 64px; +} + +._pairingDetailContainer_yg3s8_21 p._metadata_yg3s8_32 { + color: var(--color-default); + margin-bottom: var(--space-eight); +} + +@media (max-width: 768px) { + ._buttonsContainer_yg3s8_1 { + flex-direction: column-reverse; + } + + ._buttonsContainer_yg3s8_1 > *:not(:last-child) { + margin-top: var(--space-quarter); /* would be margin-bottom but the container has reversed flex order */ + } + + ._buttonsContainer_yg3s8_1 button { + height: calc(var(--space-quarter) + var(--space-default)) + } + + ._container_yg3s8_7 p._connectionRequest_yg3s8_12 { + text-align: center; + } + + ._pairingDetailContainer_yg3s8_21 { + align-items: flex-start; + flex-direction: column-reverse; + } + + ._pairingDetailContainer_yg3s8_21 img { + margin-left: auto; + margin-right: auto; + margin-bottom: var(--space-default); + } +}._container_1h5wj_1 { + align-items: center; + display: flex; + flex-direction: column; +} + +._successIcon_1h5wj_7 { + width: 180px; + height: 180px; +} + +._container_1h5wj_1 p._successText_1h5wj_12 { + margin: calc(var(--space-quarter) + var(--space-half)) 0; + text-align: center; +} + +@media (max-width: 768px) { + ._container_1h5wj_1 p._successText_1h5wj_12 { + margin-bottom: var(--space-large); + margin-top: calc(var(--space-quarter) + var(--space-default)); + } + ._container_1h5wj_1 button { + height: calc(var(--space-quarter) + var(--space-default)); + width: 100%; + } +}._contentContainer_1iwqe_1 { + display: flex; + margin-top: var(--space-default); + margin-left: auto; + margin-right: auto; + max-width: 800px; + min-height: 320px; +} + +._contentContainer_1iwqe_1 > div { + width: 100%; +} + +._contentContainer_1iwqe_1 p { + color: var(--color-secondary); + font-size: 16px; + margin: 0; +} + + +@media (max-width: 768px) { + ._contentContainer_1iwqe_1 p { + font-size: var(--size-default); + } +}._container_1jggi_1 { + background-color: var(--background-session-card); + display: flex; + margin-top: calc(var(--space-quarter) + var(--space-half)); + padding: calc(var(--space-half) + var(--space-quarter)); + width: 100%; +} + +._container_1jggi_1 p { + color: var(--color-default); + font-size: 16px; + line-height: 1.9; + margin-bottom: 0; +} + +._textDataContainer_1jggi_16 { + display: flex; + flex-direction: column; +} + +._receiveAddress_1jggi_21 { + color: var(--color-secondary); + margin: 0; +} + +._accountName_1jggi_26 { + font-weight: bold; + margin: 0; + padding-right: 16px; + width: 240px; +} + +._dAppMetadataAndIconContainer_1jggi_33 { + align-items: center; + display: flex; +} + +._dAppMetadataAndIconContainer_1jggi_33 p { + margin-top: 0; +} + +._dAppMetadataAndIconContainer_1jggi_33 img { + width: var(--item-height); + height: var(--item-height); + margin-left: calc(var(--space-quarter) + var(--space-half)); +} + +._dAppNameAndUrlContainer_1jggi_48 { + display: flex; + flex-direction: column; + width: 240px; +} + +._dAppMetadataAndIconContainer_1jggi_33 p._dappUrl_1jggi_54 { + margin-top: var(--space-quarter); +} + +._accountNameAndWalletContainer_1jggi_58 { + display: flex; + margin-bottom: calc(var(--space-quarter) + var(--space-half)); +} + +._buttonAndIconContainer_1jggi_63 { + align-items: flex-end; + display: flex; + margin-left: auto; +} + +._buttonDisconnect_1jggi_69 { + height: unset; + padding: calc(var(--space-eight) + var(--space-quarter)) calc(var(--space-default) + var(--space-default)); +} + +@media (max-width: 768px) { + ._container_1jggi_1 { + margin-top: var(--space-half); + padding: calc(var(--space-quarter) * 2); + } + + ._container_1jggi_1 p { + font-size: var(--size-default); + } + + ._textDataContainer_1jggi_16 { + width: 50%; + } + + ._dAppNameAndUrlContainer_1jggi_48, + ._accountName_1jggi_26 { + width: 100%; + } + + ._accountNameAndWalletContainer_1jggi_58 { + margin-bottom: var(--space-quarter); + } + + ._buttonAndIconContainer_1jggi_63 { + flex-direction: column; + justify-content: flex-end; + } + + ._buttonDisconnect_1jggi_69 { + font-size: var(--size-default); + height: var(--item-height-small); + padding: var(--space-eight) calc(var(--space-quarter) + var(--space-half)); + } + + ._buttonAndIconContainer_1jggi_63 img { + height: var(--item-height-small); + width: var(--item-height-small); + margin-top: var(--space-default); + margin-bottom: var(--space-default); + } +} +._buttonNewConnection_13so1_1 { + height: calc(var(--space-default) + var(--space-quarter)); +} + +._headerContainer_13so1_5 { + display: flex; + justify-content: space-between; + align-items: flex-end; + margin-bottom: calc(var(--space-half) + var(--space-quarter)); +} + +._headerContainer_13so1_5 p { + margin: 0; +} + +._headerContainer_13so1_5 p._receiveAddress_13so1_16 { + color: var(--color-secondary); + margin-top: var(--space-quarter); + font-size: 16px; +} + +._noConnectedSessions_13so1_22 { + color: var(--color-secondary); + font-size: 16px; + margin: 0; + margin-top: var(--space-large); + text-align: center; +} + +._separator_13so1_30 { + background: var(--color-disabled); + border: none; + height: 2px; + margin: 0; +} + +._sessionCardsContainer_13so1_37 { + display: flex; + flex-direction: column; +} + +._allSessionsHeading_13so1_42 { + color: var(--color-secondary); + font-size: 16px; + margin: 0; + margin-top: var(--space-half); +} + + +@media (max-width: 768px) { + ._buttonNewConnection_13so1_1 { + height: var(--space-default); + padding: 0 16px; + } + + ._headerContainer_13so1_5 p { + font-size: 16px; + } + + ._headerContainer_13so1_5 p._receiveAddress_13so1_16, + ._noConnectedSessions_13so1_22, + ._allSessionsHeading_13so1_42 + { + font-size: var(--size-default); + } + + ._allSessionsHeading_13so1_42 { + margin-top: var(--space-quarter); + } +}._passwordGesturesWrapper_mvckk_1 { + height: auto; + margin: var(--space-default) auto 0 auto; + position: relative; + width: 100%; +} + +._passwordGestures_mvckk_1 { + background-color: white; + display: block; + height: 75%; + margin: 0 auto; + max-width: 600px; + object-fit: cover; + width: 100%; +} + +/* show a white background before the gif is loaded */ +._passwordGestures_mvckk_1[src=""]::after { + background-color: white; + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +._toggle_1lt1t_1 { + align-items: center; + display: flex; + flex-direction: row; +} + +._toggleLabel_1lt1t_7 { + flex-grow: 1; + line-height: 1.4; + margin-bottom: 0; + padding-right: var(--space-half); +} + +._textIcon_1lt1t_14 { + height: 1.2em; + margin-right: 0.5em; + vertical-align: text-bottom; +} +/* TODO: ideally fontsize of those labels would just use the default from View component */ +._wizardCheckbox_1shxj_2 label { + font-size: var(--size-wizard-text) !important; + line-height: 1.4; +} + +._wizardCheckbox_1shxj_2 label::before { + top: 2px !important; +} + +._wizardCheckbox_1shxj_2 label::after { + top: 6px !important; +} +/* TODO: ideally fontsize of those labels would just use the default from View component */ +._wizardLabel_11dvu_2 label { + font-size: var(--size-wizard-text) !important; +} +._logo_rqpye_1 { + display: block; + filter: grayscale(100%); + margin: var(--space-half) auto; + max-height: 32px; + max-width: 100%; + opacity: .61; +} +._prominent_rqpye_9 { + max-height: 48px; +} +@media (min-width: 1200px) { + ._logo_rqpye_1 { + margin-top: var(--space-default); + max-height: 42px; + } + ._prominent_rqpye_9 { + max-height: 72px; + } +} + +._hostname_rqpye_22 { + color: var(--color-secondary); +} +@media (min-width: 769px) { + ._hostname_rqpye_22 { + margin: 0; + } +} + +._capitalized_rqpye_31::first-letter { + text-transform: capitalize; +} +._banner_yebbr_1 { + background-color: var(--color-blue); + color: var(--color-alt); + font-weight: 400; + font-size: var(--size-subheader); + padding: var(--space-half); + text-align: center; +} + +._smallIcon_yebbr_10 { + margin: auto 0; + width: 30px; +} + +._successText_yebbr_15 { + color: var(--color-secondary); + font-weight: 400; + font-size: var(--size-subheader); + margin-bottom: var(--space-quarter); +} +@media (max-width: 768px) { + ._successText_yebbr_15 { + font-size: var(--size-default); + margin-top: 0; + } +} + +._proceed_yebbr_28 { + margin-bottom: var(--space-half); + margin-top: 0; +} + +._message_yebbr_33 { + background-color: var(--background-secondary); + border-color: var(--background-quaternary); + border-radius: 2px; + border-style: solid; + border-width: 1px; + font-family: var(--font-family); + font-size: var(--size-default); + font-weight: 400; + min-height: 52px; + padding: var(--space-quarter) var(--space-half); + text-align: left; + width: 100%; + white-space: pre-line; +} +@media (min-width: 1200px) { + ._message_yebbr_33 { + --size-default: 18px; + } +} +._link_4u2en_1 { + color: var(--color-alt); +} + +._link_4u2en_1:focus { + outline-color: inherit; +} +._bitboxContainer_1nxo8_1 { + margin-top: calc(var(--space-default) + var(--space-quarter)); + margin-bottom: calc(var(--space-default) + var(--space-quarter)); +} + +._bitboxContainer_1nxo8_1 > div img { + width: 198px; + height: 115px; + margin-right: var(--space-default); +} + +._bitboxContainer_1nxo8_1 > div svg { + width: 20px; + height: 20px; +} + + +._bitboxContainer_1nxo8_1._failed_1nxo8_18 { + align-items: center; + display: flex; + flex-direction: column; +} + +._bitboxImage_1nxo8_24 { + width: 198px; + height: 115px; +} + +._cancelIcon_1nxo8_29 { + margin-right: 16px; + width: 48px; + width: 48px; +} + +._text_1nxo8_35 { + font-size: 16px; +} + +@media (max-width: 768px) { + ._text_1nxo8_35 { + font-size: var(--size-default); + } +} +._link_13in7_1 { + color: inherit; +} +._auth_xdrxz_1 { + position: absolute; + width: 100%; + height: 100%; + z-index: 9999; +} +._accountName_gsa52_1 { + font-size: 16px; + margin: 0 var(--space-half) 0 0; +} + +._accountNameAndAddress_gsa52_6 { + display: flex; +} + +._address_gsa52_10 { + color: var(--color-secondary); + font-size: 16px; + margin: 0; +} + +._animationAndTextContainer_gsa52_16 { + align-items: center; + display: flex; + flex-direction: column; + margin: auto; +} + +._animationAndTextContainer_gsa52_16 p { + font-size: var(--header-default-font-size); + margin-top: var(--space-quarter); +} + +._chainContainer_gsa52_28 { + align-items: center; + display: flex; +} + +._chainContainer_gsa52_28 ._itemText_gsa52_33 { + margin-right: calc(var(--space-quarter) + var(--space-eight)); +} + +._chainContainer_gsa52_28 img { + height: 20px; + width: 20px; +} + +._dappIcon_gsa52_42 { + height: 96px; + width: 96px; +} + + +._item_gsa52_33 { + display: flex; + flex-direction: column; +} + +._item_gsa52_33 + ._item_gsa52_33 { + margin-top: var(--space-half); +} + +._itemText_gsa52_33 { + font-size: 16px; + margin: 0; +} + +._label_gsa52_62 { + color: var(--color-secondary); + font-size: var(--size-default); + margin: 0 0 var(--space-quarter) 0; +} + +._listContainer_gsa52_68 { + display: flex; + flex-direction: column; + list-style: none; + margin: 0; + padding: 0; + width: 100%; +} + +._outerContainer_gsa52_77 { + display: flex; + flex-direction: column; + min-height: 460px; + padding: 0 var(--space-half); +} + +._successIcon_gsa52_84 { + height: 240px; + width: 240px; +} + +._textarea_gsa52_89 { + border-color: var(--background-quaternary); + border-radius: var(--space-eight); + font-family: var(--font-family); + padding: var(--space-quarter); + width: 100%; +} + +._titleContainer_gsa52_97 { + align-items: center; + display: flex; + margin-bottom: var(--space-half); +} + +._titleContainer_gsa52_97 h3 { + font-size: var(--header-default-font-size); + font-weight: 400; + margin: 0 0 0 var(--space-eight); + padding: 0 var(--space-quarter); +}:root { + /* colors */ + --color-darkgreen: #4f9879; + --color-green: #7aba7a; + --color-lightgreen: rgba(79, 152, 121, .33); /* #aecfc1; */ + --color-palegreen: rgba(79, 152, 121, .2); /* #dceae4; */ + --color-softred: #EC644B; + --color-lightred: #F28E72; + --color-swissred: #E30613; + --color-white: #FFFFFF; + --color-lightgray: #F5F5F5; + --color-mediumgray: #E5E5E5; + --color-gray-alt: #999999; + --color-gray: #777777; + --color-softblack: #333333; + --color-dark: #1D1D1B; + --color-yellow: #fef160; + --color-darkyellow: rgb(243, 234, 0, .66); /* #F3EA00 */ + --color-lightyellow: rgba(255, 252, 177, .15); /* #FFFCB1 */ + --color-darkblue: #4f7998; + --color-blue: #5E94BF; + --color-lightblue: #73A5CD; + --color-light-skyblue: #ECF7FF; + --color-electric-blue: #2684FF; + --color-powder-blue: #DEEBFF; + --color-pale-ice-blue: #E6F7FF; + --color-blue-alt: #91BFCF; + --color-orange: #F5A04C; + --color-olive: #908B00; + --color-lightorange: #F9AC60; + + /* status colors */ + --color-success: var(--color-green); + --color-info: var(--color-blue); + --color-warning: var(--color-softred); + --color-error: var(--color-swissred); + --color-danger: var(--color-error); + + /* font sizes */ + --size-extra-large: 2.2rem; + --size-large: 2rem; + --size-large-mobile: 1.4rem; + --size-subheader: 18px; + --size-medium: var(--size-default); + --size-default: 14px; + --size-small: 12px; + --size-xsmall: 11px; + --size-label: var(--size-small); + --size-button: var(--size-default); + --size-title: 32px; + + /* wizard */ + --size-wizard-text: 16px; + + /* spacing */ + --spacing-large: 2rem; + --spacing-default: 1rem; + --spacing-half: .5rem; + + --space-large: 64px; + --space-default: 32px; + --space-half: 16px; + --space-quarter: 8px; + --space-eight: 4px; + + --item-height-xsmall: 24px; + --item-height-small: 36px; + --item-height: 52px; + --item-height-large: 72px; + --item-height-xlarge: 84px; + + /* typography */ + --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Ubuntu", "Roboto", "Oxygen", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + + /* sidebar */ + --sidebar-width-large: 250px; + --sidebar-margin: 32px; + --sidebar-item-height: 52px; + --sidebar-icon-margin: 14px; + --sidebar-icon-size: 24px; + --sidebar-header-size: 12px; + --sidebar-header-line-height: 16px; + + /* header */ + --header-height: 70px; + --header-default-font-size: 24px; + + /* content */ + --content-width: 1080px; + --content-width-small: 550px; + --content-width-larger: 740px; + + /* guide */ + --guide-width: 350px; +} + +:root, +.light-mode { + + /* status colors*/ + --color-disabled: var(--color-mediumgray); + + /* font colors */ + /* all fonts should use these colors and not from the main colors directly */ + --color-default: var(--color-dark); + --color-primary: var(--color-blue); + --color-secondary: var(--color-gray); + --color-light: var(--color-mediumgray); + --color-alt: var(--color-white); + --color-tertiary: var(--color-gray-alt); + --color-custom-select-border: var(--color-lightgray); + + /* background colors */ + /* all backgrounds should use these colors and not from the main colors directly */ + --background: var(--color-lightgray); + --background-blue: var(--color-blue); + --bg-transparent-dark: rgba(0, 0, 0, 0.4); + --background-secondary: var(--color-white); + --background-dark: var(--color-softblack); + --background-focus: var(--color-light-skyblue); + --background-tertiary: var(--color-gray-alt); + --background-quaternary: var(--color-mediumgray); + --background-custom-select-hover: var(--color-powder-blue); + --background-custom-select-selected: var(--color-pale-ice-blue); + --background-session-card: var(--color-white); +} + +@media (prefers-color-scheme: dark) { + :root { + /* status colors*/ + --color-disabled: var(--color-gray); + + /* font colors */ + --color-default: var(--color-lightgray); + --color-primary: var(--color-blue); + --color-secondary: var(--color-gray-alt); + --color-light: var(--color-mediumgray); + --color-alt: var(--color-white); + --color-tertiary: var(--color-gray-alt); + --color-custom-select-border: var(--color-gray); + + /* background colors */ + --background: var(--color-dark); + --bg-transparent-dark: rgba(0, 0, 0, 0.4); + --background-secondary: var(--color-softblack); + --background-dark: var(--color-softblack); + --background-focus: var(--color-softblack); + --background-tertiary: var(--color-gray); + --background-quaternary: var(--color-dark); + --background-custom-select-hover: var(--color-dark); + --background-custom-select-selected: var(--color-dark); + --background-session-card: var(--color-softblack); + } +} + +@media (prefers-color-scheme: light) { + .dark-mode { + /* status colors*/ + --color-disabled: var(--color-gray); + + /* font colors */ + --color-default: var(--color-lightgray); + --color-primary: var(--color-blue); + --color-secondary: var(--color-gray-alt); + --color-light: var(--color-mediumgray); + --color-alt: var(--color-white); + --color-tertiary: var(--color-gray-alt); + --color-custom-select-border: var(--color-gray); + + /* background colors */ + --background: var(--color-dark); + --bg-transparent-dark: rgba(0, 0, 0, 0.4); + --background-secondary: var(--color-softblack); + --background-dark: var(--color-softblack); + --background-focus: var(--color-softblack); + --background-tertiary: var(--color-gray); + --background-quaternary: var(--color-dark); + --background-custom-select-hover: var(--color-dark); + --background-custom-select-selected: var(--color-dark); + --background-session-card: var(--color-softblack); + } +} + +@media (max-width: 1199px) { + :root { + --size-title: 18px; + } +} + +@media (max-width: 768px) { + :root { + --header-default-font-size: 20px; + --size-subheader: 16px; + --size-title: 16px; + + --size-wizard-text: 14px; + } +} + +html, +body { + background-color: var(--background); + color: var(--color-default); + font-family: var(--font-family); + font-weight: 400; + height: 100%; + line-height: 1.3; + margin: 0; + overflow: hidden; + padding: 0; + width: 100%; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-app-region: drag; +} + +/* +::selection:not(textarea):not(input) { + background-color: transparent; +} +*/ + +* { + box-sizing: border-box; +} + +hr { + background: none; + border-color: var(--background-quaternary) transparent; + border-style: solid; + border-width: 1px 0 0 0; + margin: var(--spacing-large) 0; +} + +h1, h2, h3, h4, h5 { + line-height: 1.25; +} + +::-webkit-scrollbar-track { + background-color: #F5F5F5; +} + +::-webkit-scrollbar { + width: 4px; + background-color: #F5F5F5; +} + +::-webkit-scrollbar-thumb { + background-color: var(--color-gray); + /* border: 2px solid #555555; */ +} + +p { + font-weight: 400; + font-size: var(--size-default); +} + +a { + color: var(--color-blue); + cursor: pointer; +} + +/* definition list */ + +dl div { + display: inline-block; + margin-right: var(--spacing-large); +} + +dl dt { + margin-right: var(--spacing-half); + text-indent: 0; +} + +dl dd { + margin: 0; + font-weight: bold; + overflow: hidden; + text-overflow: ellipsis; +} + +img, +button { + user-select: none; +} + +svg { + stroke-width: 1.6 !important; +} + +pre { + background-color: var(--background-secondary); + display: block; + font-family: monospace; + font-size: 20px; + margin: 0 0 var(--space-default) 0; + padding: var(--space-default); + text-align: center; +} + +progress { + display: block; + width: 100%; +} + +.flex { display: flex !important; } + +.flex-row { flex-direction: row; } + +.flex-column { flex-direction: column; } + +.flex-center { justify-content: center; } + +.flex-start { justify-content: flex-start; } + +.flex-around { justify-content: space-around; } + +.flex-between { justify-content: space-between; } + +.flex-end { justify-content: flex-end; } + +.flex-items-center { align-items: center; } + +.flex-items-baseline { align-items: baseline; } + +.flex-items-start { align-items: flex-start; } + +.flex-items-end { align-items: flex-end; } + +.flex-items-stretch { align-items: stretch; } + +.flex-wrap { flex-wrap: wrap; } + +.flex-nowrap { flex-wrap: nowrap; } + +.flex-1 { flex: 1; } + +.flex-grow { flex-grow: 1; } + +.flex-none { flex: none !important; } + +.flex > * { min-width: 0; } + +@media (max-width: 768px) { + .flex-column-mobile { flex-direction: column; } + .flex-reverse-mobile { flex-direction: column-reverse; } + .flex-self-start-mobile { align-self: flex-start; } +} + +.text-center { text-align: center; } + +.text-right { text-align: right; } + +.text-small { font-size: var(--size-small); } + +.text-medium { font-size: var(--size-default); } + +.text-medium > label { + font-size: var(--size-default); + text-transform: none; +} + +.text-blue { color: var(--color-blue); } + +.text-red { color: var(--color-danger); } + +.text-green { color: var(--color-success); } + +.text-gray { color: var(--color-secondary); } + +.show-on-small { + display: none; +} + +.text-ellipsis { + overflow-x: hidden; + text-overflow: ellipsis; +} + +.text-break { + word-break: break-all; +} + +.first { + margin-top: 0 !important; +} + +.spaced > *:not(:last-child) { + margin-right: var(--space-default); +} + +.app { + display: flex; + flex: 1 1 auto; + min-height: 100vh; +} + +.appContent { + height: 100vh; +} + +@media (max-width: 900px) { + .appContent { + position: absolute; + width: 100%; + } +} + +@media (max-width: 768px) { + .spaced > *:not(:last-child) { + margin-right: var(--space-quarter); + } +} + +.contentWithGuide { + display: flex; + flex-grow: 1; + flex-direction: row; + overflow: hidden; +} + +.container { + display: flex; + flex: 1 1 auto; + flex-direction: column; + position: relative; + width: 100%; +} + +.innerContainer { + display: flex; + flex-direction: column; + height: 100%; +} + +.scrollableContainer { + overflow: auto; +} + +.scrollContainer { + overflow-x: auto; + overflow-y: scroll; +} + +.subTitle { + font-size: var(--size-subheader); + font-weight: 400; + line-height: 1; + margin: 0 0 calc(var(--space-half) * 1.5) 0; +} + +.title { + font-size: var(--size-title); + font-weight: 400; + line-height: 1; + margin: 0 0 var(--space-half) 0; +} + +@media (min-width: 1200px) { + .title { + margin: 0 0 var(--space-default) 0; + } +} + +.content { + flex: 1; + margin: 0 auto; + max-width: var(--content-width); + padding: 0 var(--space-default); + width: 100%; +} + +.content.narrow { + max-width: var(--content-width-small); +} + +.content.larger { + max-width: var(--content-width-larger); +} + +.content.padded { + padding-top: var(--space-default); +} + +@media (max-width: 768px) { + .content { + padding: 0 var(--space-half); + } +} + +.tabs { + width: 100%; + max-width: var(--content-width); + margin: 0 auto; +} + +.tabs .tab { + width: 50%; + height: 52px; + border: solid 1px var(--color-gray); + transition: all .2s ease-out; +} + +.tabs .tab.active { + border: solid 1px var(--color-blue); +} + +.tabs .tab a { + width: 100%; + height: 100%; + padding: var(--space-quarter); + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + text-align: center; + text-decoration: none; + font-size: var(--size-default); + color: var(--color-secondary); + transition: all .2s ease-out; +} + +.tabs .tab.active a { + color: var(--color-blue); + background-color: var(--background-secondary); +} + +@media (max-width: 768px) { + .tabs .tab a { + font-size: var(--size-small); + } +} + +.row:not(:first-child) { + margin-top: var(--space-quarter); +} + +.row:not(:first-child).extra { + margin-top: var(--space-half); +} + +.isVerticallyCentered { + display: flex; + flex-direction: column; + justify-content: center; +} + +.box { + background-color: var(--background-secondary); + padding: var(--space-half); +} + +.box > *:first-child { + margin-top: 0; +} + +.box.large { + padding: var(--space-default); +} + +.box.larger { + padding: var(--space-large); +} + +.box.slim { + padding: 0; +} + +.box.slim.divide > *:not(:first-child) { + border-top: solid 1px var(--background); +} + +.box .buttons { + margin-top: var(--space-default); + width: 100%; +} + +.box .buttons.ignore { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} + +.box .buttons.ignore.reverse { + flex-direction: row-reverse; +} + +.box .buttons.ignore > *:not(:first-child) { + margin-left: var(--space-half); + margin-right: 0; +} + +.box .buttons.ignore.reverse > *:not(:first-child) { + margin-right: var(--space-half); + margin-left: 0; +} + +.box .buttons:not(.ignore) > *:not(:first-child) { + margin-top: var(--space-quarter); +} + +.box .buttons:not(.ignore) button, +.box .buttons:not(.ignore) button, +.box .buttons:not(.ignore) a { + width: 100%; +} + +/* UTILITIES */ + +.m-none { margin: 0 !important; } + +.m-top-none { margin-top: 0 !important;} + +.m-top-quarter { margin-top: var(--space-quarter) !important; } + +.m-top-half { margin-top: var(--space-half) !important; } + +.m-top-default { margin-top: var(--space-default) !important; } + +.m-top-default-extra { margin-top: calc(var(--space-default) * 1.5) !important; } + +.m-top-large { margin-top: var(--space-large) !important; } + +.m-right-tiny { margin-right: calc(var(--space-quarter) / 2) !important; } + +.m-right-quarter { margin-right: var(--space-quarter) !important; } + +.m-right-half { margin-right: var(--space-half) !important; } + +.m-right-default { margin-right: var(--space-default) !important; } + +.m-bottom-none { margin-bottom: 0 !important; } + +.m-bottom-quarter { margin-bottom: var(--space-quarter) !important; } + +.m-bottom-half { margin-bottom: var(--space-half) !important; } + +.m-bottom-default { margin-bottom: var(--space-default) !important; } + +.m-bottom-large { margin-bottom: calc(var(--space-half) * 1.5) !important; } + +.m-bottom-xlarge { margin-bottom: calc(var(--space-half) * 3) !important; } + +.m-bottom-xxlarge { margin-bottom: calc(var(--space-half) * 6) !important; } + +.m-left-quarter { margin-left: var(--space-quarter) !important; } + +.m-left-half { margin-left: var(--space-half) !important; } + +.m-left-default { margin-left: var(--space-default) !important; } + +.width-1-1 { + width: 100% !important; +} + +.noPadding { + padding: 0 !important; +} + +.p-none { padding: 0 !important; } + +.p-top-none { padding-top: 0 !important;} + +.p-top-quarter { padding-top: var(--space-quarter) !important; } + +.p-top-half { padding-top: var(--space-half) !important; } + +.p-top-default { padding-top: var(--space-default) !important; } + +.p-top-default-extra { padding-top: calc(var(--space-default) * 1.5) !important; } + +.p-top-large { padding-top: var(--space-large) !important; } + +.p-right-none { padding-right: 0 !important; } + +.p-right-quarter { padding-right: var(--space-quarter) !important; } + +.p-right-half { padding-right: var(--space-half) !important; } + +.p-right-default { padding-right: var(--space-default) !important; } + +.p-bottom-none { padding-bottom: 0 !important; } + +.p-bottom-quarter { padding-bottom: var(--space-quarter) !important; } + +.p-bottom-half { padding-bottom: var(--space-half) !important; } + +.p-bottom-default { padding-bottom: var(--space-default) !important; } + +.p-bottom-large { padding-bottom: calc(var(--space-half) * 1.5) !important; } + +.p-left-none { padding-left: 0 !important; } + +.p-left-quarter { padding-left: var(--space-quarter) !important; } + +.p-left-half { padding-left: var(--space-half) !important; } + +.p-left-default { padding-left: var(--space-default) !important; } + +.wrapped { + margin-top: calc(var(--spacing-half) * -1); +} + +.wrapped > * { + margin-top: var(--spacing-half); +} + +.items { + flex-shrink: 0; + position: relative; + margin: calc(var(--space-quarter) * -1); +} + +.items.marginBottom { + margin-bottom: var(--space-half); +} + +.buttons-end { + text-align: right; +} + +.items > * { + display: inline-block; + margin: var(--space-quarter); +} + +.stacked { + position: relative; +} + +.stacked img { + transition: opacity 0.2s ease; +} + +.stacked img:last-child { + opacity: 0; + position: absolute; + top: 0; + left: 50%; + transform: translateX(-50%); +} + +.transparent { + display: none; +} + +@media (max-width: 768px) { + .row:not(:first-child) { + margin-top: var(--space-quarter); + } + + .box.large { + padding: var(--space-half); + } + + .box.larger { + padding: var(--space-default); + } + + .m-top-quarter-on-small { + margin-top: var(--space-quarter); + } + + .full-width-on-small { + width: 100%; + } + + .hide-on-small { + display: none; + } + + .show-on-small { + display: initial; + } +} + +.light-mode .show-in-darkmode, +.dark-mode .show-in-lightmode { + display: none; +} + +.columnsContainer { + width: 100%; +} + +.columnsContainer.half { + +} + +.columnsContainer > * { + +} + +.columnsContainer.half > * { + +} + +.columns { + display: block; + margin-right: calc(var(--space-default) * -1); +} + +.columnsContainer.half .columns { + margin-right: calc(var(--space-half) * -1); +} + +.columns > * { + margin-right: var(--space-default); + margin-bottom: var(--space-default); + display: inline-block; + vertical-align: top; +} + +.columnsContainer.half .columns > * { + margin-right: var(--space-half); + margin-bottom: var(--space-half); +} + +.columns.quarter > * { + margin-bottom: var(--space-quarter) !important; +} + +.columnsContainer .columns .column { + width: calc(100% - var(--space-default)); +} + +.columnsContainer.half .columns .column { + width: calc(100% - var(--space-half)); +} + +.columnsContainer .columns .column.column-1-2 { + width: calc((100% - (var(--space-default) * 2)) / 2); +} + +.columnsContainer.half .columns .column.column-1-2 { + width: calc((100% - (var(--space-half) * 2)) / 2); +} + +.columnsContainer .columns .column.column-1-3 { + width: calc((100% - (var(--space-default) * 3)) / 3); +} + +.columnsContainer.half .columns .column.column-1-3 { + width: calc((100% - (var(--space-half) * 3)) / 3); +} + +.columns .column.column-2-3 { + width: calc((100% - (var(--space-half) * 3)) / 1.5); +} + +.column > *:first-child { + margin-top: 0; +} + +.column > *:last-child { + margin-bottom: 0; +} + +@media (max-width: 768px) { + .columnsContainer { + margin-right: calc(var(--space-half) * -1); + } + + .columnsContainer > * { + margin-right: var(--space-half); + } + + .columns { + margin-right: calc(var(--space-half) * -1); + } + + .columns > * { + margin-right: var(--space-half); + margin-bottom: calc(var(--space-half) * 1.5); + } + + .columnsContainer.half .columns > * { + margin-bottom: var(--space-quarter); + } + + .columns .column { + width: calc(100% - (var(--space-half))) !important; + } + + .columns .column-1-2 { + width: calc((100% - (var(--space-half) * 2)) / 2); + } + + .columns .column.column-1-3 { + width: calc((100% - (var(--space-half) * 3)) / 3); + } +} + +button, +input[type="checkbox"], +input[type="radio"] { + user-select: none; +} + +input[type="number"], +input[type="password"], +input[type="text"], +textarea { + color: var(--color-default); + background: var(--background-secondary); +} + +label, +dt { + color: var(--color-secondary); + display: block; + font-size: var(--size-default); + font-weight: 400; + line-height: 1; + margin-bottom: var(--space-quarter); +} + +.labelXLarge { + font-size: var(--size-subheader); + margin-bottom: calc(var(--space-half) * 1.5); + color: var(--color-default); +} + +input:invalid, +input:invalid:focus { + border-color: var(--color-error); +} + +input::-webkit-credentials-auto-fill-button { + visibility: hidden; + display: none !important; + pointer-events: none; + position: absolute; + right: 0; +} + +a[tabindex="0"]:focus, +button:focus, +input:focus, +select:focus, +input[type="checkbox"]:focus + label::before { + outline-color: var(--color-blue); + outline-offset: -2px; + outline-style: auto; + outline-width: 4px; +} + +@media (max-width: 768px) { + .labelXLarge { + margin-bottom: var(--space-half); + } +} + +.checked-circle { + stroke-dasharray: 166; + stroke-dashoffset: 166; + stroke-width: 1; + stroke-miterlimit: 10; + stroke: #7aba7a; + fill: none; + animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; +} + +.checked { + border-radius: 50%; + stroke: #fff; + stroke-miterlimit: 10; + stroke-width: 1 !important; /* reset because stroke-width is defined with 1.6 in base.css */ + box-shadow: inset 0px 0px 0px #7aba7a; + animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both; +} + +.checked-check { + transform-origin: 50% 50%; + stroke-dasharray: 48; + stroke-dashoffset: 48; + animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; + stroke: #7aba7a; +} + +@keyframes stroke { + 100% { + stroke-dashoffset: 0; + } +} + +@keyframes scale { + 0%, 100% { + transform: none; + } + 50% { + transform: scale3d(1.02, 1.02, 1); + } +} + +.caretDown { + animation: fadeinout 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite; + stroke-width: 1 !important; /* reset because stroke-width is defined with 1.6 in base.css */ + max-width: 26px; +} + +.dark-mode .caretDown { + fill: white; +} + +@keyframes fadeinout { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.1; } +} + diff --git a/frontends/web/build/assets/index.es.js b/frontends/web/build/assets/index.es.js index 24498c8b4d..e296771c24 100644 --- a/frontends/web/build/assets/index.es.js +++ b/frontends/web/build/assets/index.es.js @@ -1 +1,6164 @@ -import{g as Yi,a as lo,E as Nt,b as G,I as fo,M as Wi,O as Ji,P as jr,R as dr,S as go,c as ut,N as J,T as Xi,V as Qi,Z as po,$ as Ar,a0 as yo,K as mo,a1 as bo,a2 as si,a3 as vo,a4 as wo,a5 as _o,a6 as ni,a7 as Eo,L as Fr,a8 as Cr,U as Bt,a9 as sr,aa as Gt,ab as xo,ac as Io,ad as oi,ae as So,af as To,w as Nr,ag as Ro,ah as Oo,_ as Lo,p as nr,ai as Po,aj as ai,d as Ao,y as _r,m as ci,H as Er,k as Fo,n as Co,C as No,ak as Do,al as Mo,am as zo,D as Uo,an as $o,ao as jo}from"./index.js";var Kr={exports:{}},Ct=typeof Reflect=="object"?Reflect:null,hi=Ct&&typeof Ct.apply=="function"?Ct.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)},or;Ct&&typeof Ct.ownKeys=="function"?or=Ct.ownKeys:Object.getOwnPropertySymbols?or=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:or=function(e){return Object.getOwnPropertyNames(e)};function Ko(r){console&&console.warn&&console.warn(r)}var Zi=Number.isNaN||function(e){return e!==e};function X(){X.init.call(this)}Kr.exports=X;Kr.exports.once=Go;X.EventEmitter=X;X.prototype._events=void 0;X.prototype._eventsCount=0;X.prototype._maxListeners=void 0;var ui=10;function gr(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(X,"defaultMaxListeners",{enumerable:!0,get:function(){return ui},set:function(r){if(typeof r!="number"||r<0||Zi(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");ui=r}});X.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};X.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Zi(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function es(r){return r._maxListeners===void 0?X.defaultMaxListeners:r._maxListeners}X.prototype.getMaxListeners=function(){return es(this)};X.prototype.emit=function(e){for(var t=[],i=1;i0&&(c=t[0]),c instanceof Error)throw c;var l=new Error("Unhandled error."+(c?" ("+c.message+")":""));throw l.context=c,l}var p=a[e];if(p===void 0)return!1;if(typeof p=="function")hi(p,this,t);else for(var h=p.length,g=ns(p,h),i=0;i0&&c.length>n&&!c.warned){c.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+c.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=r,l.type=e,l.count=c.length,Ko(l)}return r}X.prototype.addListener=function(e,t){return ts(this,e,t,!1)};X.prototype.on=X.prototype.addListener;X.prototype.prependListener=function(e,t){return ts(this,e,t,!0)};function Bo(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function rs(r,e,t){var i={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},n=Bo.bind(i);return n.listener=t,i.wrapFn=n,n}X.prototype.once=function(e,t){return gr(t),this.on(e,rs(this,e,t)),this};X.prototype.prependOnceListener=function(e,t){return gr(t),this.prependListener(e,rs(this,e,t)),this};X.prototype.removeListener=function(e,t){var i,n,a,c,l;if(gr(t),n=this._events,n===void 0)return this;if(i=n[e],i===void 0)return this;if(i===t||i.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if(typeof i!="function"){for(a=-1,c=i.length-1;c>=0;c--)if(i[c]===t||i[c].listener===t){l=i[c].listener,a=c;break}if(a<0)return this;a===0?i.shift():Ho(i,a),i.length===1&&(n[e]=i[0]),n.removeListener!==void 0&&this.emit("removeListener",e,l||t)}return this};X.prototype.off=X.prototype.removeListener;X.prototype.removeAllListeners=function(e){var t,i,n;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[e]),this;if(arguments.length===0){var a=Object.keys(i),c;for(n=0;n=0;n--)this.removeListener(e,t[n]);return this};function is(r,e,t){var i=r._events;if(i===void 0)return[];var n=i[e];return n===void 0?[]:typeof n=="function"?t?[n.listener||n]:[n]:t?ko(n):ns(n,n.length)}X.prototype.listeners=function(e){return is(this,e,!0)};X.prototype.rawListeners=function(e){return is(this,e,!1)};X.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):ss.call(r,e)};X.prototype.listenerCount=ss;function ss(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}X.prototype.eventNames=function(){return this._eventsCount>0?or(this._events):[]};function ns(r,e){for(var t=new Array(e),i=0;i{const r=new Map;return{name:na,options:{},hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function aa(r={}){const e={mounts:{"":r.driver||oa()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=h=>{for(const g of e.mountpoints)if(h.startsWith(g))return{base:g,relativeKey:h.slice(g.length),driver:e.mounts[g]};return{base:"",relativeKey:h,driver:e.mounts[""]}},i=(h,g)=>e.mountpoints.filter(w=>w.startsWith(h)||g&&h.startsWith(w)).map(w=>({relativeBase:h.length>w.length?h.slice(w.length):void 0,mountpoint:w,driver:e.mounts[w]})),n=(h,g)=>{if(e.watching){g=Je(g);for(const w of e.watchListeners)w(h,g)}},a=async()=>{if(!e.watching){e.watching=!0;for(const h in e.mounts)e.unwatch[h]=await li(e.mounts[h],n,h)}},c=async()=>{if(e.watching){for(const h in e.unwatch)await e.unwatch[h]();e.unwatch={},e.watching=!1}},l=(h,g,w)=>{const I=new Map,R=x=>{let O=I.get(x.base);return O||(O={driver:x.driver,base:x.base,items:[]},I.set(x.base,O)),O};for(const x of h){const O=typeof x=="string",$=Je(O?x:x.key),B=O?void 0:x.value,U=O||!x.options?g:{...g,...x.options},Q=t($);R(Q).items.push({key:$,value:B,relativeKey:Q.relativeKey,options:U})}return Promise.all([...I.values()].map(x=>w(x))).then(x=>x.flat())},p={hasItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.hasItem,w,g)},getItem(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return Ue(I.getItem,w,g).then(R=>rr(R))},getItems(h,g){return l(h,g,w=>w.driver.getItems?Ue(w.driver.getItems,w.items.map(I=>({key:I.relativeKey,options:I.options})),g).then(I=>I.map(R=>({key:sa(w.base,R.key),value:rr(R.value)}))):Promise.all(w.items.map(I=>Ue(w.driver.getItem,I.relativeKey,I.options).then(R=>({key:I.key,value:rr(R)})))))},getItemRaw(h,g={}){h=Je(h);const{relativeKey:w,driver:I}=t(h);return I.getItemRaw?Ue(I.getItemRaw,w,g):Ue(I.getItem,w,g).then(R=>ia(R))},async setItem(h,g,w={}){if(g===void 0)return p.removeItem(h);h=Je(h);const{relativeKey:I,driver:R}=t(h);R.setItem&&(await Ue(R.setItem,I,ar(g),w),R.watch||n("update",h))},async setItems(h,g){await l(h,g,async w=>{w.driver.setItems&&await Ue(w.driver.setItems,w.items.map(I=>({key:I.relativeKey,value:ar(I.value),options:I.options})),g),w.driver.setItem&&await Promise.all(w.items.map(I=>Ue(w.driver.setItem,I.relativeKey,ar(I.value),I.options)))})},async setItemRaw(h,g,w={}){if(g===void 0)return p.removeItem(h,w);h=Je(h);const{relativeKey:I,driver:R}=t(h);if(R.setItemRaw)await Ue(R.setItemRaw,I,g,w);else if(R.setItem)await Ue(R.setItem,I,ra(g),w);else return;R.watch||n("update",h)},async removeItem(h,g={}){typeof g=="boolean"&&(g={removeMeta:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h);I.removeItem&&(await Ue(I.removeItem,w,g),(g.removeMeta||g.removeMata)&&await Ue(I.removeItem,w+"$",g),I.watch||n("remove",h))},async getMeta(h,g={}){typeof g=="boolean"&&(g={nativeOnly:g}),h=Je(h);const{relativeKey:w,driver:I}=t(h),R=Object.create(null);if(I.getMeta&&Object.assign(R,await Ue(I.getMeta,w,g)),!g.nativeOnly){const x=await Ue(I.getItem,w+"$",g).then(O=>rr(O));x&&typeof x=="object"&&(typeof x.atime=="string"&&(x.atime=new Date(x.atime)),typeof x.mtime=="string"&&(x.mtime=new Date(x.mtime)),Object.assign(R,x))}return R},setMeta(h,g,w={}){return this.setItem(h+"$",g,w)},removeMeta(h,g={}){return this.removeItem(h+"$",g)},async getKeys(h,g={}){h=ir(h);const w=i(h,!0);let I=[];const R=[];for(const x of w){const $=(await Ue(x.driver.getKeys,x.relativeBase,g)).map(B=>x.mountpoint+Je(B)).filter(B=>!I.some(U=>B.startsWith(U)));R.push(...$),I=[x.mountpoint,...I.filter(B=>!B.startsWith(x.mountpoint))]}return h?R.filter(x=>x.startsWith(h)&&!x.endsWith("$")):R.filter(x=>!x.endsWith("$"))},async clear(h,g={}){h=ir(h),await Promise.all(i(h,!1).map(async w=>{if(w.driver.clear)return Ue(w.driver.clear,w.relativeBase,g);if(w.driver.removeItem){const I=await w.driver.getKeys(w.relativeBase||"",g);return Promise.all(I.map(R=>w.driver.removeItem(R,g)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(h=>fi(h)))},async watch(h){return await a(),e.watchListeners.push(h),async()=>{e.watchListeners=e.watchListeners.filter(g=>g!==h),e.watchListeners.length===0&&await c()}},async unwatch(){e.watchListeners=[],await c()},mount(h,g){if(h=ir(h),h&&e.mounts[h])throw new Error(`already mounted at ${h}`);return h&&(e.mountpoints.push(h),e.mountpoints.sort((w,I)=>I.length-w.length)),e.mounts[h]=g,e.watching&&Promise.resolve(li(g,n,h)).then(w=>{e.unwatch[h]=w}).catch(console.error),p},async unmount(h,g=!0){h=ir(h),!(!h||!e.mounts[h])&&(e.watching&&h in e.unwatch&&(e.unwatch[h](),delete e.unwatch[h]),g&&await fi(e.mounts[h]),e.mountpoints=e.mountpoints.filter(w=>w!==h),delete e.mounts[h])},getMount(h=""){h=Je(h)+":";const g=t(h);return{driver:g.driver,base:g.base}},getMounts(h="",g={}){return h=Je(h),i(h,g.parents).map(I=>({driver:I.driver,base:I.mountpoint}))}};return p}function li(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function fi(r){typeof r.dispose=="function"&&await Ue(r.dispose)}function Ot(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function cs(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=Ot(t);return(n,a)=>i.then(c=>a(c.transaction(e,n).objectStore(e)))}let xr;function Vt(){return xr||(xr=cs("keyval-store","keyval")),xr}function di(r,e=Vt()){return e("readonly",t=>Ot(t.get(r)))}function ca(r,e,t=Vt()){return t("readwrite",i=>(i.put(e,r),Ot(i.transaction)))}function ha(r,e=Vt()){return e("readwrite",t=>(t.delete(r),Ot(t.transaction)))}function ua(r=Vt()){return r("readwrite",e=>(e.clear(),Ot(e.transaction)))}function la(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},Ot(r.transaction)}function fa(r=Vt()){return r("readonly",e=>{if(e.getAllKeys)return Ot(e.getAllKeys());const t=[];return la(e,i=>t.push(i.key)).then(()=>t)})}const da=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),ga=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function pr(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return ga(r)}catch{return r}}function qt(r){return typeof r=="string"?r:da(r)||""}const pa="idb-keyval";var ya=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=cs(r.dbName,r.storeName)),{name:pa,options:r,async hasItem(n){return!(typeof await di(t(n),i)>"u")},async getItem(n){return await di(t(n),i)??null},setItem(n,a){return ca(t(n),a,i)},removeItem(n){return ha(t(n),i)},getKeys(){return fa(i)},clear(){return ua(i)}}};const ma="WALLET_CONNECT_V2_INDEXED_DB",ba="keyvaluestorage";class va{constructor(){this.indexedDb=aa({driver:ya({dbName:ma,storeName:ba})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,qt(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var Ir=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cr={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,i){this[t]=String(i)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(i){t[i]=void 0,delete t[i]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof Ir<"u"&&Ir.localStorage?cr.exports=Ir.localStorage:typeof window<"u"&&window.localStorage?cr.exports=window.localStorage:cr.exports=new e})();function wa(r){var e;return[r[0],pr((e=r[1])!=null?e:"")]}class _a{constructor(){this.localStorage=cr.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(wa)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return pr(t)}async setItem(e,t){this.localStorage.setItem(e,qt(t))}async removeItem(e){this.localStorage.removeItem(e)}}const Ea="wc_storage_version",gi=1,xa=async(r,e,t)=>{const i=Ea,n=await e.getItem(i);if(n&&n>=gi){t(e);return}const a=await r.getKeys();if(!a.length){t(e);return}const c=[];for(;a.length;){const l=a.shift();if(!l)continue;const p=l.toLowerCase();if(p.includes("wc@")||p.includes("walletconnect")||p.includes("wc_")||p.includes("wallet_connect")){const h=await r.getItem(l);await e.setItem(l,h),c.push(l)}}await e.setItem(i,gi),t(e),Ia(r,c)},Ia=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let Sa=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new _a;this.storage=e;try{const t=new va;xa(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};var Dt={},$t={},Sr={},jt={};let Lt=class{};const Ta=Object.freeze(Object.defineProperty({__proto__:null,IEvents:Lt},Symbol.toStringTag,{value:"Module"})),Ra=lo(Ta);var pi;function Oa(){if(pi)return jt;pi=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.IHeartBeat=void 0;const r=Ra;class e extends r.IEvents{constructor(i){super()}}return jt.IHeartBeat=e,jt}var yi;function hs(){return yi||(yi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(Oa(),r)}(Sr)),Sr}var Tr={},Tt={},mi;function La(){if(mi)return Tt;mi=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.HEARTBEAT_EVENTS=Tt.HEARTBEAT_INTERVAL=void 0;const r=G;return Tt.HEARTBEAT_INTERVAL=r.FIVE_SECONDS,Tt.HEARTBEAT_EVENTS={pulse:"heartbeat_pulse"},Tt}var bi;function us(){return bi||(bi=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Nt.__exportStar(La(),r)}(Tr)),Tr}var vi;function Pa(){if(vi)return $t;vi=1,Object.defineProperty($t,"__esModule",{value:!0}),$t.HeartBeat=void 0;const r=Nt,e=lt,t=G,i=hs(),n=us();class a extends i.IHeartBeat{constructor(l){super(l),this.events=new e.EventEmitter,this.interval=n.HEARTBEAT_INTERVAL,this.interval=(l==null?void 0:l.interval)||n.HEARTBEAT_INTERVAL}static init(l){return r.__awaiter(this,void 0,void 0,function*(){const p=new a(l);return yield p.init(),p})}init(){return r.__awaiter(this,void 0,void 0,function*(){yield this.initialize()})}stop(){clearInterval(this.intervalRef)}on(l,p){this.events.on(l,p)}once(l,p){this.events.once(l,p)}off(l,p){this.events.off(l,p)}removeListener(l,p){this.events.removeListener(l,p)}initialize(){return r.__awaiter(this,void 0,void 0,function*(){this.intervalRef=setInterval(()=>this.pulse(),t.toMiliseconds(this.interval))})}pulse(){this.events.emit(n.HEARTBEAT_EVENTS.pulse)}}return $t.HeartBeat=a,$t}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(Pa(),r),e.__exportStar(hs(),r),e.__exportStar(us(),r)})(Dt);var Y={},Rr,wi;function Aa(){if(wi)return Rr;wi=1;function r(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}Rr=e;function e(t,i,n){var a=n&&n.stringify||r,c=1;if(typeof t=="object"&&t!==null){var l=i.length+c;if(l===1)return t;var p=new Array(l);p[0]=a(t);for(var h=1;h-1?R:0,t.charCodeAt(O+1)){case 100:case 102:if(I>=g||i[I]==null)break;R=g||i[I]==null)break;R=g||i[I]===void 0)break;R",R=O+2,O++;break}w+=a(i[I]),R=O+2,O++;break;case 115:if(I>=g)break;R-1&&(K=!1);const k=["error","fatal","warn","info","debug","trace"];typeof P=="function"&&(P.error=P.fatal=P.warn=P.info=P.debug=P.trace=P),v.enabled===!1&&(v.level="silent");const le=v.level||"info",y=Object.create(P);y.log||(y.log=$),Object.defineProperty(y,"levelVal",{get:Z}),Object.defineProperty(y,"level",{get:ae,set:C});const _={transmit:S,serialize:D,asObject:v.browser.asObject,levels:k,timestamp:R(v)};y.levels=n.levels,y.level=le,y.setMaxListeners=y.getMaxListeners=y.emit=y.addListener=y.on=y.prependListener=y.once=y.prependOnceListener=y.removeListener=y.removeAllListeners=y.listeners=y.listenerCount=y.eventNames=y.write=y.flush=$,y.serializers=j,y._serialize=D,y._stdErrSerialize=K,y.child=L,S&&(y._logEvent=w());function Z(){return this.level==="silent"?1/0:this.levels.values[this.level]}function ae(){return this._level}function C(T){if(T!=="silent"&&!this.levels.values[T])throw Error("unknown level "+T);this._level=T,a(_,y,"error","log"),a(_,y,"fatal","error"),a(_,y,"warn","error"),a(_,y,"info","log"),a(_,y,"debug","log"),a(_,y,"trace","log")}function L(T,F){if(!T)throw new Error("missing bindings for child Pino");F=F||{},D&&T.serializers&&(F.serializers=T.serializers);const me=F.serializers;if(D&&me){var ie=Object.assign({},j,me),mt=v.browser.serialize===!0?Object.keys(ie):D;delete T.serializers,p([T],mt,ie,this._stdErrSerialize)}function H(Ge){this._childLevel=(Ge._childLevel|0)+1,this.error=h(Ge,T,"error"),this.fatal=h(Ge,T,"fatal"),this.warn=h(Ge,T,"warn"),this.info=h(Ge,T,"info"),this.debug=h(Ge,T,"debug"),this.trace=h(Ge,T,"trace"),ie&&(this.serializers=ie,this._serialize=mt),S&&(this._logEvent=w([].concat(Ge._logEvent.bindings,T)))}return H.prototype=this,new H(this)}return y}n.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},n.stdSerializers=t,n.stdTimeFunctions=Object.assign({},{nullTime:B,epochTime:U,unixTime:Q,isoTime:oe});function a(v,S,P,j){const D=Object.getPrototypeOf(S);S[P]=S.levelVal>S.levels.values[P]?$:D[P]?D[P]:e[P]||e[j]||$,c(v,S,P)}function c(v,S,P){!v.transmit&&S[P]===$||(S[P]=function(j){return function(){const K=v.timestamp(),k=new Array(arguments.length),le=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var y=0;y-1&&K in P&&(v[D][K]=P[K](v[D][K]))}function h(v,S,P){return function(){const j=new Array(1+arguments.length);j[0]=S;for(var D=1;D"u"?h=t(l,p):h=l.bindings().context||"",h}qe.getLoggerContext=n;function a(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=n(l,h);return g.trim()?`${g}/${p}`:p}qe.formatChildLoggerContext=a;function c(l,p,h=r.PINO_CUSTOM_CONTEXT_KEY){const g=a(l,p,h),w=l.child({context:g});return i(w,g,h)}return qe.generateChildLogger=c,qe}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.pino=void 0;const e=Nt,t=e.__importDefault(Fa());Object.defineProperty(r,"pino",{enumerable:!0,get:function(){return t.default}}),e.__exportStar(ls(),r),e.__exportStar(Ca(),r)})(Y);class Na extends Lt{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}let Da=class extends Lt{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},Ma=class{constructor(e,t){this.logger=e,this.core=t}};class za extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}let Ua=class extends Lt{constructor(e){super()}};class $a{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}}class ja extends Lt{constructor(e,t){super(),this.relayer=e,this.logger=t}}class Ka extends Lt{constructor(e,t){super(),this.core=e,this.logger=t}}class Ba{constructor(e,t){this.projectId=e,this.logger=t}}let Tu=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},Ou=class{constructor(e){this.client=e}};var Br={},fs={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=fo,t=Wi;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var i=function(){function l(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return l.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},l.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},l.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},l.prototype.update=function(p,h){if(h===void 0&&(h=p.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var g=0;if(this._bytesHashed+=h,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=p[g++],h--;this._bufferLength===this.blockSize&&(a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(h>=this.blockSize&&(g=a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,p,g,h),h%=this.blockSize);h>0;)this._buffer[this._bufferLength++]=p[g++],h--;return this},l.prototype.finish=function(p){if(!this._finished){var h=this._bytesHashed,g=this._bufferLength,w=h/536870912|0,I=h<<3,R=h%128<112?128:256;this._buffer[g]=128;for(var x=g+1;x0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},l.prototype.restoreState=function(p){return this._stateHi.set(p.stateHi),this._stateLo.set(p.stateLo),this._bufferLength=p.bufferLength,p.buffer&&this._buffer.set(p.buffer),this._bytesHashed=p.bytesHashed,this._finished=!1,this},l.prototype.cleanSavedState=function(p){t.wipe(p.stateHi),t.wipe(p.stateLo),p.buffer&&t.wipe(p.buffer),p.bufferLength=0,p.bytesHashed=0},l}();r.SHA512=i;var n=new Int32Array([1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function a(l,p,h,g,w,I,R){for(var x=h[0],O=h[1],$=h[2],B=h[3],U=h[4],Q=h[5],oe=h[6],V=h[7],v=g[0],S=g[1],P=g[2],j=g[3],D=g[4],K=g[5],k=g[6],le=g[7],y,_,Z,ae,C,L,T,F;R>=128;){for(var me=0;me<16;me++){var ie=8*me+I;l[me]=e.readUint32BE(w,ie),p[me]=e.readUint32BE(w,ie+4)}for(var me=0;me<80;me++){var mt=x,H=O,Ge=$,b=B,m=U,d=Q,s=oe,u=V,N=v,M=S,W=P,ee=j,q=D,te=K,$e=k,Se=le;if(y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(U>>>14|D<<32-14)^(U>>>18|D<<32-18)^(D>>>41-32|U<<32-(41-32)),_=(D>>>14|U<<32-14)^(D>>>18|U<<32-18)^(U>>>41-32|D<<32-(41-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=U&Q^~U&oe,_=D&K^~D&k,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=n[me*2],_=n[me*2+1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=l[me%16],_=p[me%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,Z=T&65535|F<<16,ae=C&65535|L<<16,y=Z,_=ae,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=(x>>>28|v<<32-28)^(v>>>34-32|x<<32-(34-32))^(v>>>39-32|x<<32-(39-32)),_=(v>>>28|x<<32-28)^(x>>>34-32|v<<32-(34-32))^(x>>>39-32|v<<32-(39-32)),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,y=x&O^x&$^O&$,_=v&S^v&P^S&P,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,u=T&65535|F<<16,Se=C&65535|L<<16,y=b,_=ee,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=Z,_=ae,C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,b=T&65535|F<<16,ee=C&65535|L<<16,O=mt,$=H,B=Ge,U=b,Q=m,oe=d,V=s,x=u,S=N,P=M,j=W,D=ee,K=q,k=te,le=$e,v=Se,me%16===15)for(var ie=0;ie<16;ie++)y=l[ie],_=p[ie],C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=l[(ie+9)%16],_=p[(ie+9)%16],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+1)%16],ae=p[(ie+1)%16],y=(Z>>>1|ae<<32-1)^(Z>>>8|ae<<32-8)^Z>>>7,_=(ae>>>1|Z<<32-1)^(ae>>>8|Z<<32-8)^(ae>>>7|Z<<32-7),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,Z=l[(ie+14)%16],ae=p[(ie+14)%16],y=(Z>>>19|ae<<32-19)^(ae>>>61-32|Z<<32-(61-32))^Z>>>6,_=(ae>>>19|Z<<32-19)^(Z>>>61-32|ae<<32-(61-32))^(ae>>>6|Z<<32-6),C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,l[ie]=T&65535|F<<16,p[ie]=C&65535|L<<16}y=x,_=v,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[0],_=g[0],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[0]=x=T&65535|F<<16,g[0]=v=C&65535|L<<16,y=O,_=S,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[1],_=g[1],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[1]=O=T&65535|F<<16,g[1]=S=C&65535|L<<16,y=$,_=P,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[2],_=g[2],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[2]=$=T&65535|F<<16,g[2]=P=C&65535|L<<16,y=B,_=j,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[3],_=g[3],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[3]=B=T&65535|F<<16,g[3]=j=C&65535|L<<16,y=U,_=D,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[4],_=g[4],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[4]=U=T&65535|F<<16,g[4]=D=C&65535|L<<16,y=Q,_=K,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[5],_=g[5],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[5]=Q=T&65535|F<<16,g[5]=K=C&65535|L<<16,y=oe,_=k,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[6],_=g[6],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[6]=oe=T&65535|F<<16,g[6]=k=C&65535|L<<16,y=V,_=le,C=_&65535,L=_>>>16,T=y&65535,F=y>>>16,y=h[7],_=g[7],C+=_&65535,L+=_>>>16,T+=y&65535,F+=y>>>16,L+=C>>>16,T+=L>>>16,F+=T>>>16,h[7]=V=T&65535|F<<16,g[7]=le=C&65535|L<<16,I+=128,R-=128}return I}function c(l){var p=new i;p.update(l);var h=p.digest();return p.clean(),h}r.hash=c})(fs);(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=Ji,t=fs,i=Wi;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function n(b){const m=new Float64Array(16);if(b)for(let d=0;d>16&1),d[M-1]&=65535;d[15]=s[15]-32767-(d[14]>>16&1);const N=d[15]>>16&1;d[14]&=65535,O(s,d,1-N)}for(let u=0;u<16;u++)b[2*u]=s[u]&255,b[2*u+1]=s[u]>>8}function B(b,m){let d=0;for(let s=0;s<32;s++)d|=b[s]^m[s];return(1&d-1>>>8)-1}function U(b,m){const d=new Uint8Array(32),s=new Uint8Array(32);return $(d,b),$(s,m),B(d,s)}function Q(b){const m=new Uint8Array(32);return $(m,b),m[0]&1}function oe(b,m){for(let d=0;d<16;d++)b[d]=m[2*d]+(m[2*d+1]<<8);b[15]&=32767}function V(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]+d[s]}function v(b,m,d){for(let s=0;s<16;s++)b[s]=m[s]-d[s]}function S(b,m,d){let s,u,N=0,M=0,W=0,ee=0,q=0,te=0,$e=0,Se=0,je=0,Oe=0,Te=0,be=0,ye=0,fe=0,he=0,re=0,ve=0,Le=0,se=0,He=0,Ve=0,Xe=0,Qe=0,We=0,nt=0,ct=0,bt=0,Ze=0,Et=0,Mt=0,Wt=0,we=d[0],de=d[1],_e=d[2],Ee=d[3],xe=d[4],ge=d[5],Pe=d[6],Ae=d[7],Fe=d[8],Ce=d[9],Ne=d[10],Re=d[11],Ie=d[12],ce=d[13],De=d[14],Me=d[15];s=m[0],N+=s*we,M+=s*de,W+=s*_e,ee+=s*Ee,q+=s*xe,te+=s*ge,$e+=s*Pe,Se+=s*Ae,je+=s*Fe,Oe+=s*Ce,Te+=s*Ne,be+=s*Re,ye+=s*Ie,fe+=s*ce,he+=s*De,re+=s*Me,s=m[1],M+=s*we,W+=s*de,ee+=s*_e,q+=s*Ee,te+=s*xe,$e+=s*ge,Se+=s*Pe,je+=s*Ae,Oe+=s*Fe,Te+=s*Ce,be+=s*Ne,ye+=s*Re,fe+=s*Ie,he+=s*ce,re+=s*De,ve+=s*Me,s=m[2],W+=s*we,ee+=s*de,q+=s*_e,te+=s*Ee,$e+=s*xe,Se+=s*ge,je+=s*Pe,Oe+=s*Ae,Te+=s*Fe,be+=s*Ce,ye+=s*Ne,fe+=s*Re,he+=s*Ie,re+=s*ce,ve+=s*De,Le+=s*Me,s=m[3],ee+=s*we,q+=s*de,te+=s*_e,$e+=s*Ee,Se+=s*xe,je+=s*ge,Oe+=s*Pe,Te+=s*Ae,be+=s*Fe,ye+=s*Ce,fe+=s*Ne,he+=s*Re,re+=s*Ie,ve+=s*ce,Le+=s*De,se+=s*Me,s=m[4],q+=s*we,te+=s*de,$e+=s*_e,Se+=s*Ee,je+=s*xe,Oe+=s*ge,Te+=s*Pe,be+=s*Ae,ye+=s*Fe,fe+=s*Ce,he+=s*Ne,re+=s*Re,ve+=s*Ie,Le+=s*ce,se+=s*De,He+=s*Me,s=m[5],te+=s*we,$e+=s*de,Se+=s*_e,je+=s*Ee,Oe+=s*xe,Te+=s*ge,be+=s*Pe,ye+=s*Ae,fe+=s*Fe,he+=s*Ce,re+=s*Ne,ve+=s*Re,Le+=s*Ie,se+=s*ce,He+=s*De,Ve+=s*Me,s=m[6],$e+=s*we,Se+=s*de,je+=s*_e,Oe+=s*Ee,Te+=s*xe,be+=s*ge,ye+=s*Pe,fe+=s*Ae,he+=s*Fe,re+=s*Ce,ve+=s*Ne,Le+=s*Re,se+=s*Ie,He+=s*ce,Ve+=s*De,Xe+=s*Me,s=m[7],Se+=s*we,je+=s*de,Oe+=s*_e,Te+=s*Ee,be+=s*xe,ye+=s*ge,fe+=s*Pe,he+=s*Ae,re+=s*Fe,ve+=s*Ce,Le+=s*Ne,se+=s*Re,He+=s*Ie,Ve+=s*ce,Xe+=s*De,Qe+=s*Me,s=m[8],je+=s*we,Oe+=s*de,Te+=s*_e,be+=s*Ee,ye+=s*xe,fe+=s*ge,he+=s*Pe,re+=s*Ae,ve+=s*Fe,Le+=s*Ce,se+=s*Ne,He+=s*Re,Ve+=s*Ie,Xe+=s*ce,Qe+=s*De,We+=s*Me,s=m[9],Oe+=s*we,Te+=s*de,be+=s*_e,ye+=s*Ee,fe+=s*xe,he+=s*ge,re+=s*Pe,ve+=s*Ae,Le+=s*Fe,se+=s*Ce,He+=s*Ne,Ve+=s*Re,Xe+=s*Ie,Qe+=s*ce,We+=s*De,nt+=s*Me,s=m[10],Te+=s*we,be+=s*de,ye+=s*_e,fe+=s*Ee,he+=s*xe,re+=s*ge,ve+=s*Pe,Le+=s*Ae,se+=s*Fe,He+=s*Ce,Ve+=s*Ne,Xe+=s*Re,Qe+=s*Ie,We+=s*ce,nt+=s*De,ct+=s*Me,s=m[11],be+=s*we,ye+=s*de,fe+=s*_e,he+=s*Ee,re+=s*xe,ve+=s*ge,Le+=s*Pe,se+=s*Ae,He+=s*Fe,Ve+=s*Ce,Xe+=s*Ne,Qe+=s*Re,We+=s*Ie,nt+=s*ce,ct+=s*De,bt+=s*Me,s=m[12],ye+=s*we,fe+=s*de,he+=s*_e,re+=s*Ee,ve+=s*xe,Le+=s*ge,se+=s*Pe,He+=s*Ae,Ve+=s*Fe,Xe+=s*Ce,Qe+=s*Ne,We+=s*Re,nt+=s*Ie,ct+=s*ce,bt+=s*De,Ze+=s*Me,s=m[13],fe+=s*we,he+=s*de,re+=s*_e,ve+=s*Ee,Le+=s*xe,se+=s*ge,He+=s*Pe,Ve+=s*Ae,Xe+=s*Fe,Qe+=s*Ce,We+=s*Ne,nt+=s*Re,ct+=s*Ie,bt+=s*ce,Ze+=s*De,Et+=s*Me,s=m[14],he+=s*we,re+=s*de,ve+=s*_e,Le+=s*Ee,se+=s*xe,He+=s*ge,Ve+=s*Pe,Xe+=s*Ae,Qe+=s*Fe,We+=s*Ce,nt+=s*Ne,ct+=s*Re,bt+=s*Ie,Ze+=s*ce,Et+=s*De,Mt+=s*Me,s=m[15],re+=s*we,ve+=s*de,Le+=s*_e,se+=s*Ee,He+=s*xe,Ve+=s*ge,Xe+=s*Pe,Qe+=s*Ae,We+=s*Fe,nt+=s*Ce,ct+=s*Ne,bt+=s*Re,Ze+=s*Ie,Et+=s*ce,Mt+=s*De,Wt+=s*Me,N+=38*ve,M+=38*Le,W+=38*se,ee+=38*He,q+=38*Ve,te+=38*Xe,$e+=38*Qe,Se+=38*We,je+=38*nt,Oe+=38*ct,Te+=38*bt,be+=38*Ze,ye+=38*Et,fe+=38*Mt,he+=38*Wt,u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),u=1,s=N+u+65535,u=Math.floor(s/65536),N=s-u*65536,s=M+u+65535,u=Math.floor(s/65536),M=s-u*65536,s=W+u+65535,u=Math.floor(s/65536),W=s-u*65536,s=ee+u+65535,u=Math.floor(s/65536),ee=s-u*65536,s=q+u+65535,u=Math.floor(s/65536),q=s-u*65536,s=te+u+65535,u=Math.floor(s/65536),te=s-u*65536,s=$e+u+65535,u=Math.floor(s/65536),$e=s-u*65536,s=Se+u+65535,u=Math.floor(s/65536),Se=s-u*65536,s=je+u+65535,u=Math.floor(s/65536),je=s-u*65536,s=Oe+u+65535,u=Math.floor(s/65536),Oe=s-u*65536,s=Te+u+65535,u=Math.floor(s/65536),Te=s-u*65536,s=be+u+65535,u=Math.floor(s/65536),be=s-u*65536,s=ye+u+65535,u=Math.floor(s/65536),ye=s-u*65536,s=fe+u+65535,u=Math.floor(s/65536),fe=s-u*65536,s=he+u+65535,u=Math.floor(s/65536),he=s-u*65536,s=re+u+65535,u=Math.floor(s/65536),re=s-u*65536,N+=u-1+37*(u-1),b[0]=N,b[1]=M,b[2]=W,b[3]=ee,b[4]=q,b[5]=te,b[6]=$e,b[7]=Se,b[8]=je,b[9]=Oe,b[10]=Te,b[11]=be,b[12]=ye,b[13]=fe,b[14]=he,b[15]=re}function P(b,m){S(b,m,m)}function j(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=253;s>=0;s--)P(d,d),s!==2&&s!==4&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function D(b,m){const d=n();let s;for(s=0;s<16;s++)d[s]=m[s];for(s=250;s>=0;s--)P(d,d),s!==1&&S(d,d,m);for(s=0;s<16;s++)b[s]=d[s]}function K(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n(),q=n(),te=n();v(d,b[1],b[0]),v(te,m[1],m[0]),S(d,d,te),V(s,b[0],b[1]),V(te,m[0],m[1]),S(s,s,te),S(u,b[3],m[3]),S(u,u,h),S(N,b[2],m[2]),V(N,N,N),v(M,s,d),v(W,N,u),V(ee,N,u),V(q,s,d),S(b[0],M,W),S(b[1],q,ee),S(b[2],ee,W),S(b[3],M,q)}function k(b,m,d){for(let s=0;s<4;s++)O(b[s],m[s],d)}function le(b,m){const d=n(),s=n(),u=n();j(u,m[2]),S(d,m[0],u),S(s,m[1],u),$(b,s),b[31]^=Q(d)<<7}function y(b,m,d){R(b[0],c),R(b[1],l),R(b[2],l),R(b[3],c);for(let s=255;s>=0;--s){const u=d[s/8|0]>>(s&7)&1;k(b,m,u),K(m,b),K(b,b),k(b,m,u)}}function _(b,m){const d=[n(),n(),n(),n()];R(d[0],g),R(d[1],w),R(d[2],l),S(d[3],g,w),y(b,d,m)}function Z(b){if(b.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const m=(0,t.hash)(b);m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(32),s=[n(),n(),n(),n()];_(s,m),le(d,s);const u=new Uint8Array(64);return u.set(b),u.set(d,32),{publicKey:d,secretKey:u}}r.generateKeyPairFromSeed=Z;function ae(b){const m=(0,e.randomBytes)(32,b),d=Z(m);return(0,i.wipe)(m),d}r.generateKeyPair=ae;function C(b){if(b.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(b.subarray(32))}r.extractPublicKeyFromSecretKey=C;const L=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function T(b,m){let d,s,u,N;for(s=63;s>=32;--s){for(d=0,u=s-32,N=s-12;u>4)*L[u],d=m[u]>>8,m[u]&=255;for(u=0;u<32;u++)m[u]-=d*L[u];for(s=0;s<32;s++)m[s+1]+=m[s]>>8,b[s]=m[s]&255}function F(b){const m=new Float64Array(64);for(let d=0;d<64;d++)m[d]=b[d];for(let d=0;d<64;d++)b[d]=0;T(b,m)}function me(b,m){const d=new Float64Array(64),s=[n(),n(),n(),n()],u=(0,t.hash)(b.subarray(0,32));u[0]&=248,u[31]&=127,u[31]|=64;const N=new Uint8Array(64);N.set(u.subarray(32),32);const M=new t.SHA512;M.update(N.subarray(32)),M.update(m);const W=M.digest();M.clean(),F(W),_(s,W),le(N,s),M.reset(),M.update(N.subarray(0,32)),M.update(b.subarray(32)),M.update(m);const ee=M.digest();F(ee);for(let q=0;q<32;q++)d[q]=W[q];for(let q=0;q<32;q++)for(let te=0;te<32;te++)d[q+te]+=ee[q]*u[te];return T(N.subarray(32),d),N}r.sign=me;function ie(b,m){const d=n(),s=n(),u=n(),N=n(),M=n(),W=n(),ee=n();return R(b[2],l),oe(b[1],m),P(u,b[1]),S(N,u,p),v(u,u,b[2]),V(N,b[2],N),P(M,N),P(W,M),S(ee,W,M),S(d,ee,u),S(d,d,N),D(d,d),S(d,d,u),S(d,d,N),S(d,d,N),S(b[0],d,N),P(s,b[0]),S(s,s,N),U(s,u)&&S(b[0],b[0],I),P(s,b[0]),S(s,s,N),U(s,u)?-1:(Q(b[0])===m[31]>>7&&v(b[0],c,b[0]),S(b[3],b[0],b[1]),0)}function mt(b,m,d){const s=new Uint8Array(32),u=[n(),n(),n(),n()],N=[n(),n(),n(),n()];if(d.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(ie(N,b))return!1;const M=new t.SHA512;M.update(d.subarray(0,32)),M.update(b),M.update(m);const W=M.digest();return F(W),y(u,N,W),_(N,d.subarray(32)),K(u,N),le(s,u),!B(d,s)}r.verify=mt;function H(b){let m=[n(),n(),n(),n()];if(ie(m,b))throw new Error("Ed25519: invalid public key");let d=n(),s=n(),u=m[1];V(d,l,u),v(s,l,u),j(s,s),S(d,d,s);let N=new Uint8Array(32);return $(N,d),N}r.convertPublicKeyToX25519=H;function Ge(b){const m=(0,t.hash)(b.subarray(0,32));m[0]&=248,m[31]&=127,m[31]|=64;const d=new Uint8Array(m.subarray(0,32));return(0,i.wipe)(m),d}r.convertSecretKeyToX25519=Ge})(Br);const Ha="EdDSA",ka="JWT",ds=".",gs="base64url",Ga="utf8",Va="utf8",qa=":",Ya="did",Wa="key",Ii="base58btc",Ja="z",Xa="K36",Qa=32;function ur(r){return dr(jr(qt(r),Ga),gs)}function ps(r){const e=jr(Xa,Ii),t=Ja+dr(go([e,r]),Ii);return[Ya,Wa,t].join(qa)}function Za(r){return dr(r,gs)}function ec(r){return jr([ur(r.header),ur(r.payload)].join(ds),Va)}function tc(r){return[ur(r.header),ur(r.payload),Za(r.signature)].join(ds)}function Si(r=Ji.randomBytes(Qa)){return Br.generateKeyPairFromSeed(r)}async function rc(r,e,t,i,n=G.fromMiliseconds(Date.now())){const a={alg:Ha,typ:ka},c=ps(i.publicKey),l=n+t,p={iss:c,sub:r,aud:e,iat:n,exp:l},h=ec({header:a,payload:p}),g=Br.sign(i.secretKey,h);return tc({header:a,payload:p,signature:g})}const ic="PARSE_ERROR",sc="INVALID_REQUEST",nc="METHOD_NOT_FOUND",oc="INVALID_PARAMS",ys="INTERNAL_ERROR",Hr="SERVER_ERROR",ac=[-32700,-32600,-32601,-32602,-32603],kt={[ic]:{code:-32700,message:"Parse error"},[sc]:{code:-32600,message:"Invalid Request"},[nc]:{code:-32601,message:"Method not found"},[oc]:{code:-32602,message:"Invalid params"},[ys]:{code:-32603,message:"Internal error"},[Hr]:{code:-32e3,message:"Server error"}},ms=Hr;function cc(r){return ac.includes(r)}function Ti(r){return Object.keys(kt).includes(r)?kt[r]:kt[ms]}function hc(r){const e=Object.values(kt).find(t=>t.code===r);return e||kt[ms]}function uc(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var bs={},gt={},Ri;function lc(){if(Ri)return gt;Ri=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.isBrowserCryptoAvailable=gt.getSubtleCrypto=gt.getBrowerCrypto=void 0;function r(){return(ut===null||ut===void 0?void 0:ut.crypto)||(ut===null||ut===void 0?void 0:ut.msCrypto)||{}}gt.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}gt.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return gt.isBrowserCryptoAvailable=t,gt}var pt={},Oi;function fc(){if(Oi)return pt;Oi=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.isBrowser=pt.isNode=pt.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}pt.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}pt.isNode=e;function t(){return!r()&&!e()}return pt.isBrowser=t,pt}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Nt;e.__exportStar(lc(),r),e.__exportStar(fc(),r)})(bs);function vs(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function ws(r=6){return BigInt(vs(r))}function kr(r,e,t){return{id:t||vs(),jsonrpc:"2.0",method:r,params:e}}function _s(r,e){return{id:r,jsonrpc:"2.0",result:e}}function Es(r,e,t){return{id:r,jsonrpc:"2.0",error:dc(e,t)}}function dc(r,e){return typeof r>"u"?Ti(ys):(typeof r=="string"&&(r=Object.assign(Object.assign({},Ti(Hr)),{message:r})),typeof e<"u"&&(r.data=e),cc(r.code)&&(r=hc(r.code)),r)}class gc{}class pc extends gc{constructor(){super()}}class yc extends pc{constructor(e){super()}}const mc="^wss?:";function bc(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function vc(r,e){const t=bc(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function Li(r){return vc(r,mc)}function wc(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function xs(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Is(r){return xs(r)&&"method"in r}function Gr(r){return xs(r)&&(Ss(r)||yr(r))}function Ss(r){return"result"in r}function yr(r){return"error"in r}class _c extends yc{constructor(e){super(e),this.events=new lt.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict(kr(e.method,e.params||[],e.id||ws().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(a){n(a)}this.events.on(`${e.id}`,a=>{yr(a)?n(a.error):i(a.result)});try{await this.connection.send(e,t)}catch(a){n(a)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Gr(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const Ec=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),xc=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",Pi=r=>r.split("?")[0],Ai=10,Ic=Ec();class Sc{constructor(e){if(this.url=e,this.events=new lt.EventEmitter,this.registering=!1,!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(qt(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!Li(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,n)=>{this.events.once("register_error",a=>{this.resetMaxListeners(),n(a)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return n(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,i)=>{const n=new URLSearchParams(e).get("origin"),a=bs.isReactNative()?{headers:{origin:n}}:{rejectUnauthorized:!wc(e)},c=new Ic(e,[],a);xc()?c.onerror=l=>{const p=l;i(this.emitError(p.error))}:c.on("error",l=>{i(this.emitError(l))}),c.onopen=()=>{this.onOpen(c),t(c)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?pr(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=Es(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return uc(e,Pi(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>Ai&&this.events.setMaxListeners(Ai)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${Pi(this.url)}`));return this.events.emit("register_error",t),t}}var lr={exports:{}};lr.exports;(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,a=2,c=9007199254740991,l="[object Arguments]",p="[object Array]",h="[object AsyncFunction]",g="[object Boolean]",w="[object Date]",I="[object Error]",R="[object Function]",x="[object GeneratorFunction]",O="[object Map]",$="[object Number]",B="[object Null]",U="[object Object]",Q="[object Promise]",oe="[object Proxy]",V="[object RegExp]",v="[object Set]",S="[object String]",P="[object Symbol]",j="[object Undefined]",D="[object WeakMap]",K="[object ArrayBuffer]",k="[object DataView]",le="[object Float32Array]",y="[object Float64Array]",_="[object Int8Array]",Z="[object Int16Array]",ae="[object Int32Array]",C="[object Uint8Array]",L="[object Uint8ClampedArray]",T="[object Uint16Array]",F="[object Uint32Array]",me=/[\\^$.*+?()[\]{}|]/g,ie=/^\[object .+?Constructor\]$/,mt=/^(?:0|[1-9]\d*)$/,H={};H[le]=H[y]=H[_]=H[Z]=H[ae]=H[C]=H[L]=H[T]=H[F]=!0,H[l]=H[p]=H[K]=H[g]=H[k]=H[w]=H[I]=H[R]=H[O]=H[$]=H[U]=H[V]=H[v]=H[S]=H[D]=!1;var Ge=typeof ut=="object"&&ut&&ut.Object===Object&&ut,b=typeof self=="object"&&self&&self.Object===Object&&self,m=Ge||b||Function("return this")(),d=e&&!e.nodeType&&e,s=d&&!0&&r&&!r.nodeType&&r,u=s&&s.exports===d,N=u&&Ge.process,M=function(){try{return N&&N.binding&&N.binding("util")}catch{}}(),W=M&&M.isTypedArray;function ee(o,f){for(var E=-1,A=o==null?0:o.length,ne=0,z=[];++E-1}function An(o,f){var E=this.__data__,A=Xt(E,o);return A<0?(++this.size,E.push([o,f])):E[A][1]=f,this}ft.prototype.clear=Rn,ft.prototype.delete=On,ft.prototype.get=Ln,ft.prototype.has=Pn,ft.prototype.set=An;function xt(o){var f=-1,E=o==null?0:o.length;for(this.clear();++fze))return!1;var ue=z.get(o);if(ue&&z.get(f))return ue==f;var et=-1,ot=!0,ke=E&a?new Jt:void 0;for(z.set(o,f),z.set(f,o);++et-1&&o%1==0&&o-1&&o%1==0&&o<=c}function ti(o){var f=typeof o;return o!=null&&(f=="object"||f=="function")}function Ut(o){return o!=null&&typeof o=="object"}var ri=W?Se(W):Yn;function co(o){return oo(o)?kn(o):Wn(o)}function ho(){return[]}function uo(){return!1}r.exports=ao})(lr,lr.exports);var Tc=lr.exports;const Rc=Yi(Tc);function Oc(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i>>0,oe=new Uint8Array(Q);B!==U;){for(var V=x[B],v=0,S=Q-1;(V!==0||v<$)&&S!==-1;S--,v++)V+=256*oe[S]>>>0,oe[S]=V%l>>>0,V=V/l>>>0;if(V!==0)throw new Error("Non-zero carry");$=v,B++}for(var P=Q-$;P!==Q&&oe[P]===0;)P++;for(var j=p.repeat(O);P>>0,Q=new Uint8Array(U);x[O];){var oe=t[x.charCodeAt(O)];if(oe===255)return;for(var V=0,v=U-1;(oe!==0||V>>0,Q[v]=oe%256>>>0,oe=oe/256>>>0;if(oe!==0)throw new Error("Non-zero carry");B=V,O++}if(x[O]!==" "){for(var S=U-B;S!==U&&Q[S]===0;)S++;for(var P=new Uint8Array($+(U-S)),j=$;S!==U;)P[j++]=Q[S++];return P}}}function R(x){var O=I(x);if(O)return O;throw new Error(`Non-${e} character`)}return{encode:w,decodeUnsafe:I,decode:R}}var Lc=Oc,Pc=Lc;const Ts=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},Ac=r=>new TextEncoder().encode(r),Fc=r=>new TextDecoder().decode(r);class Cc{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Nc{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rs(this,e)}}class Dc{constructor(e){this.decoders=e}or(e){return Rs(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Rs=(r,e)=>new Dc({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class Mc{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new Cc(e,t,i),this.decoder=new Nc(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const mr=({name:r,prefix:e,encode:t,decode:i})=>new Mc(r,e,t,i),Yt=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=Pc(t,e);return mr({prefix:r,name:e,encode:i,decode:a=>Ts(n(a))})},zc=(r,e,t,i)=>{const n={};for(let g=0;g=8&&(l-=8,c[h++]=255&p>>l)}if(l>=t||255&p<<8-l)throw new SyntaxError("Unexpected end of data");return c},Uc=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<t;)c-=t,a+=e[n&l>>c];if(c&&(a+=e[n&l<mr({prefix:e,name:r,encode(n){return Uc(n,i,t)},decode(n){return zc(n,i,t,r)}}),$c=mr({prefix:"\0",name:"identity",encode:r=>Fc(r),decode:r=>Ac(r)});var jc=Object.freeze({__proto__:null,identity:$c});const Kc=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Bc=Object.freeze({__proto__:null,base2:Kc});const Hc=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var kc=Object.freeze({__proto__:null,base8:Hc});const Gc=Yt({prefix:"9",name:"base10",alphabet:"0123456789"});var Vc=Object.freeze({__proto__:null,base10:Gc});const qc=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Yc=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wc=Object.freeze({__proto__:null,base16:qc,base16upper:Yc});const Jc=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xc=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qc=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zc=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eh=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),th=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rh=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ih=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sh=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nh=Object.freeze({__proto__:null,base32:Jc,base32upper:Xc,base32pad:Qc,base32padupper:Zc,base32hex:eh,base32hexupper:th,base32hexpad:rh,base32hexpadupper:ih,base32z:sh});const oh=Yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ah=Yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ch=Object.freeze({__proto__:null,base36:oh,base36upper:ah});const hh=Yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),uh=Yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lh=Object.freeze({__proto__:null,base58btc:hh,base58flickr:uh});const fh=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),dh=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gh=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ph=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var yh=Object.freeze({__proto__:null,base64:fh,base64pad:dh,base64url:gh,base64urlpad:ph});const Os=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),mh=Os.reduce((r,e,t)=>(r[t]=e,r),[]),bh=Os.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vh(r){return r.reduce((e,t)=>(e+=mh[t],e),"")}function wh(r){const e=[];for(const t of r){const i=bh[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const _h=mr({prefix:"🚀",name:"base256emoji",encode:vh,decode:wh});var Eh=Object.freeze({__proto__:null,base256emoji:_h}),xh=Ls,Fi=128,Ih=127,Sh=~Ih,Th=Math.pow(2,31);function Ls(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Th;)e[t++]=r&255|Fi,r/=128;for(;r&Sh;)e[t++]=r&255|Fi,r>>>=7;return e[t]=r|0,Ls.bytes=t-i+1,e}var Rh=Mr,Oh=128,Ci=127;function Mr(r,i){var t=0,i=i||0,n=0,a=i,c,l=r.length;do{if(a>=l)throw Mr.bytes=0,new RangeError("Could not decode varint");c=r[a++],t+=n<28?(c&Ci)<=Oh);return Mr.bytes=a-i,t}var Lh=Math.pow(2,7),Ph=Math.pow(2,14),Ah=Math.pow(2,21),Fh=Math.pow(2,28),Ch=Math.pow(2,35),Nh=Math.pow(2,42),Dh=Math.pow(2,49),Mh=Math.pow(2,56),zh=Math.pow(2,63),Uh=function(r){return r(Ps.encode(r,e,t),e),Di=r=>Ps.encodingLength(r),zr=(r,e)=>{const t=e.byteLength,i=Di(r),n=i+Di(t),a=new Uint8Array(n+t);return Ni(r,a,0),Ni(t,a,i),a.set(e,n),new jh(r,t,e,a)};class jh{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const As=({name:r,code:e,encode:t})=>new Kh(r,e,t);class Kh{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?zr(this.code,t):t.then(i=>zr(this.code,i))}else throw Error("Unknown type, must be binary type")}}const Fs=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Bh=As({name:"sha2-256",code:18,encode:Fs("SHA-256")}),Hh=As({name:"sha2-512",code:19,encode:Fs("SHA-512")});var kh=Object.freeze({__proto__:null,sha256:Bh,sha512:Hh});const Cs=0,Gh="identity",Ns=Ts,Vh=r=>zr(Cs,Ns(r)),qh={code:Cs,name:Gh,encode:Ns,digest:Vh};var Yh=Object.freeze({__proto__:null,identity:qh});new TextEncoder,new TextDecoder;const Mi={...jc,...Bc,...kc,...Vc,...Wc,...nh,...ch,...lh,...yh,...Eh};({...kh,...Yh});function Ds(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Wh(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Ds(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Ms(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const zi=Ms("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Lr=Ms("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=Wh(r.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,n)=>{this.isInitialized(),this.keychain.set(i,n),await this.persist()},this.get=i=>{this.isInitialized();const n=this.keychain.get(i);if(typeof n>"u"){const{message:a}=J("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(a)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class pn{constructor(e,t,i){this.core=e,this.logger=t,this.name=js,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=n=>(this.isInitialized(),this.keychain.has(n)),this.getClientId=async()=>{this.isInitialized();const n=await this.getClientSeed(),a=Si(n);return ps(a.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=po();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const a=await this.getClientSeed(),c=Si(a),l=Ar();return await rc(l,n,Ks,c)},this.generateSharedKey=(n,a,c)=>{this.isInitialized();const l=this.getPrivateKey(n),p=yo(l,a);return this.setSymKey(p,c)},this.setSymKey=async(n,a)=>{this.isInitialized();const c=a||mo(n);return await this.keychain.set(c,n),c},this.deleteKeyPair=async n=>{this.isInitialized(),await this.keychain.del(n)},this.deleteSymKey=async n=>{this.isInitialized(),await this.keychain.del(n)},this.encode=async(n,a,c)=>{this.isInitialized();const l=bo(c),p=qt(a);if(si(l)){const I=l.senderPublicKey,R=l.receiverPublicKey;n=await this.generateSharedKey(I,R)}const h=this.getSymKey(n),{type:g,senderPublicKey:w}=l;return vo({type:g,symKey:h,message:p,senderPublicKey:w})},this.decode=async(n,a,c)=>{this.isInitialized();const l=wo(a,c);if(si(l)){const p=l.receiverPublicKey,h=l.senderPublicKey;n=await this.generateSharedKey(p,h)}try{const p=this.getSymKey(n),h=_o({symKey:p,encoded:a});return pr(h)}catch(p){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(p)}},this.getPayloadType=n=>{const a=ni(n);return Eo(a.type)},this.getPayloadSenderPublicKey=n=>{const a=ni(n);return a.senderPublicKey?dr(a.senderPublicKey,jo):void 0},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.keychain=i||new gn(this.core,this.logger)}get context(){return Y.getLoggerContext(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(Ur)}catch{e=Ar(),await this.keychain.set(Ur,e)}return Xh(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class yn extends Ma{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=ks,this.version=Gs,this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,n)=>{this.isInitialized();const a=Fr(n);let c=this.messages.get(i);return typeof c>"u"&&(c={}),typeof c[a]<"u"||(c[a]=n,this.messages.set(i,c),await this.persist()),a},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const a=this.get(i),c=Fr(n);return typeof a[c]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Y.generateChildLogger(e,this.name),this.core=t}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Xi(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Qi(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class ru extends za{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new lt.EventEmitter,this.name=qs,this.queue=new Map,this.publishTimeout=G.toMiliseconds(G.TEN_SECONDS),this.needsTransportRestart=!1,this.publish=async(i,n,a)=>{var c;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}});try{const l=(a==null?void 0:a.ttl)||Vs,p=Cr(a),h=(a==null?void 0:a.prompt)||!1,g=(a==null?void 0:a.tag)||0,w=(a==null?void 0:a.id)||ws().toString(),I={topic:i,message:n,opts:{ttl:l,relay:p,prompt:h,tag:g,id:w}},R=setTimeout(()=>this.queue.set(w,I),this.publishTimeout);try{await await Gt(this.rpcPublish(i,n,l,p,h,g,w),this.publishTimeout,"Failed to publish payload, please try again."),this.removeRequestFromQueue(w),this.relayer.events.emit(Ye.publish,I)}catch(x){if(this.logger.debug("Publishing Payload stalled"),this.needsTransportRestart=!0,(c=a==null?void 0:a.internal)!=null&&c.throwOnFailedPublish)throw this.removeRequestFromQueue(w),x;return}finally{clearTimeout(R)}this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}})}catch(l){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(l),l}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.registerEventListeners()}get context(){return Y.getLoggerContext(this.logger)}rpcPublish(e,t,i,n,a,c,l){var p,h,g,w;const I={method:sr(n.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:a,tag:c},id:l};return Nr((p=I.params)==null?void 0:p.prompt)&&((h=I.params)==null||delete h.prompt),Nr((g=I.params)==null?void 0:g.tag)&&((w=I.params)==null||delete w.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I}),this.relayer.request(I)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:n}=e;await this.publish(t,i,n)})}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Ye.connection_stalled);return}this.checkQueue()}),this.relayer.on(Ye.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class iu{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const n=i.filter(a=>a!==t);if(!n.length){this.map.delete(e);return}this.map.set(e,n)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var su=Object.defineProperty,nu=Object.defineProperties,ou=Object.getOwnPropertyDescriptors,Ui=Object.getOwnPropertySymbols,au=Object.prototype.hasOwnProperty,cu=Object.prototype.propertyIsEnumerable,$i=(r,e,t)=>e in r?su(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Kt=(r,e)=>{for(var t in e||(e={}))au.call(e,t)&&$i(r,t,e[t]);if(Ui)for(var t of Ui(e))cu.call(e,t)&&$i(r,t,e[t]);return r},Pr=(r,e)=>nu(r,ou(e));class mn extends ja{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new iu,this.events=new lt.EventEmitter,this.name=sn,this.version=nn,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=yt,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const a=Cr(n),c={topic:i,relay:a};this.pending.set(i,c);const l=await this.rpcSubscribe(i,a);return this.onSubscribe(l,c),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}}),l}catch(a){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(a),a}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof(n==null?void 0:n.id)<"u"?await this.unsubscribeById(i,n.id,n):await this.unsubscribeByTopic(i,n)},this.isSubscribed=async i=>this.topics.includes(i)?!0:await new Promise((n,a)=>{const c=new G.Watch;c.start(this.pendingSubscriptionWatchLabel);const l=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),n(!0)),c.elapsed(this.pendingSubscriptionWatchLabel)>=on&&(clearInterval(l),c.stop(this.pendingSubscriptionWatchLabel),a(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=Y.generateChildLogger(t,this.name),this.clientId=""}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const n=Cr(i);await this.rpcUnsubscribe(e,t,n);const a=Bt("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,a),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,t){const i={method:sr(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}return Fr(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:sr(t.protocol).batchSubscribe,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{return await await Gt(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit(Ye.connection_stalled)}}rpcUnsubscribe(e,t,i){const n={method:sr(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,t){this.setSubscription(e,Pr(Kt({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,Kt({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.subscriptions.has(e)||(this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t))}addSubscription(e,t){this.subscriptions.set(e,Kt({},t)),this.topicMap.set(t.topic,e),this.events.emit(st.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(st.deleted,Pr(Kt({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(st.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);xo(t)&&this.onBatchSubscribe(t.map((i,n)=>Pr(Kt({},e[n]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(Ye.connect,async()=>{await this.onConnect()}),this.relayer.on(Ye.disconnect,()=>{this.onDisconnect()}),this.events.on(st.created,async e=>{const t=st.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(st.deleted,async e=>{const t=st.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var hu=Object.defineProperty,ji=Object.getOwnPropertySymbols,uu=Object.prototype.hasOwnProperty,lu=Object.prototype.propertyIsEnumerable,Ki=(r,e,t)=>e in r?hu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fu=(r,e)=>{for(var t in e||(e={}))uu.call(e,t)&&Ki(r,t,e[t]);if(ji)for(var t of ji(e))lu.call(e,t)&&Ki(r,t,e[t]);return r};class bn extends Ua{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new lt.EventEmitter,this.name=Js,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.hasExperiencedNetworkDisruption=!1,this.request=async t=>{this.logger.debug("Publishing Request Payload");try{return await this.toEstablishConnection(),await this.provider.request(t)}catch(i){throw this.logger.debug("Failed to Publish Request"),this.logger.error(i),i}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(Ye.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(Ye.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(ht.payload,this.onPayloadHandler),this.provider.on(ht.connect,this.onConnectHandler),this.provider.on(ht.disconnect,this.onDisconnectHandler),this.provider.on(ht.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Y.generateChildLogger(e.logger,this.name):Y.pino(Y.getDefaultLoggerOptions({level:e.logger||Ws})),this.messages=new yn(this.logger,e.core),this.subscriber=new mn(this,this.logger),this.publisher=new ru(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.projectId=e.projectId,this.bundleId=Io(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${$r}...`),await this.restartTransport($r)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},en)}get context(){return Y.getLoggerContext(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let n=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"";if(n)return n;let a;const c=l=>{l.topic===e&&(this.subscriber.off(st.created,c),a())};return await Promise.all([new Promise(l=>{a=l,this.subscriber.on(st.created,c)}),new Promise(async l=>{n=await this.subscriber.subscribe(e,t),l()})]),n}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportClose(){this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await Gt(this.provider.disconnect(),1e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(st.resubscribed,()=>{t()})}),new Promise(async(t,i)=>{try{await Gt(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(n){i(n);return}t()})])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.provider.events.emit(ht.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await oi())throw new Error("No internet connection detected. Please restart your network and try again.")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _c(new Sc(So({sdkVersion:Zs,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.debug(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Is(e)){if(!e.method.endsWith(Xs))return;const t=e.params,{topic:i,message:n,publishedAt:a}=t.data,c={topic:i,message:n,publishedAt:a};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(fu({type:"event",event:t.id},c)),this.events.emit(t.id,c),await this.acknowledgePayload(e),await this.onMessageEvent(c)}else Gr(e)&&this.events.emit(Ye.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Ye.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=_s(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(ht.payload,this.onPayloadHandler),this.provider.off(ht.connect,this.onConnectHandler),this.provider.off(ht.disconnect,this.onDisconnectHandler),this.provider.off(ht.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(Ye.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await oi();To(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(i=>this.logger.error(i))))})}onProviderDisconnect(){this.events.emit(Ye.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info("attemptToReconnect called. Connecting..."),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},G.toMiliseconds(Qs)))}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var du=Object.defineProperty,Bi=Object.getOwnPropertySymbols,gu=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,Hi=(r,e,t)=>e in r?du(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ki=(r,e)=>{for(var t in e||(e={}))gu.call(e,t)&&Hi(r,t,e[t]);if(Bi)for(var t of Bi(e))pu.call(e,t)&&Hi(r,t,e[t]);return r};class vn extends $a{constructor(e,t,i,n=yt,a=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=tn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(c=>{this.getKey&&c!==null&&!Nr(c)?this.map.set(this.getKey(c),c):Ro(c)?this.map.set(c.id,c):Oo(c)&&this.map.set(c.topic,c)}),this.cached=[],this.initialized=!0)},this.set=async(c,l)=>{this.isInitialized(),this.map.has(c)?await this.update(c,l):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:c,value:l}),this.map.set(c,l),await this.persist())},this.get=c=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:c}),this.getData(c)),this.getAll=c=>(this.isInitialized(),c?this.values.filter(l=>Object.keys(c).every(p=>Rc(l[p],c[p]))):this.values),this.update=async(c,l)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:c,update:l});const p=ki(ki({},this.getData(c)),l);this.map.set(c,p),await this.persist()},this.delete=async(c,l)=>{this.isInitialized(),this.map.has(c)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:c,reason:l}),this.map.delete(c),await this.persist())},this.logger=Y.generateChildLogger(t,this.name),this.storagePrefix=n,this.getKey=a}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class wn{constructor(e,t){this.core=e,this.logger=t,this.name=an,this.version=cn,this.events=new qo,this.initialized=!1,this.storagePrefix=yt,this.ignoredPayloadTypes=[Lo],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=Ar(),n=await this.core.crypto.setSymKey(i),a=nr(G.FIVE_MINUTES),c={protocol:Ys},l={topic:n,expiry:a,relay:c,active:!1},p=Po({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:c});return await this.pairings.set(n,l),await this.core.relayer.subscribe(n),this.core.expirer.set(n,a),{topic:n,uri:p}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:n,symKey:a,relay:c}=ai(i.uri);let l;if(this.pairings.keys.includes(n)&&(l=this.pairings.get(n),l.active))throw new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);const p=nr(G.FIVE_MINUTES),h={topic:n,relay:c,expiry:p,active:!1};return await this.pairings.set(n,h),this.core.expirer.set(n,p),i.activatePairing&&await this.activate({topic:n}),this.events.emit(Ht.create,h),this.core.crypto.keychain.has(n)||(await this.core.crypto.setSymKey(a,n),await this.core.relayer.subscribe(n,{relay:c})),h},this.activate=async({topic:i})=>{this.isInitialized();const n=nr(G.THIRTY_DAYS);await this.pairings.update(i,{active:!0,expiry:n}),this.core.expirer.set(i,n)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:n}=i;if(this.pairings.keys.includes(n)){const a=await this.sendRequest(n,"wc_pairingPing",{}),{done:c,resolve:l,reject:p}=Ao();this.events.once(_r("pairing_ping",a),({error:h})=>{h?p(h):l()}),await c()}},this.updateExpiry=async({topic:i,expiry:n})=>{this.isInitialized(),await this.pairings.update(i,{expiry:n})},this.updateMetadata=async({topic:i,metadata:n})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:n})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:n}=i;this.pairings.keys.includes(n)&&(await this.sendRequest(n,"wc_pairingDelete",Bt("USER_DISCONNECTED")),await this.deletePairing(n))},this.sendRequest=async(i,n,a)=>{const c=kr(n,a),l=await this.core.crypto.encode(i,c),p=At[n].req;return this.core.history.set(i,c),this.core.relayer.publish(i,l,p),c.id},this.sendResult=async(i,n,a)=>{const c=_s(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method].res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.sendError=async(i,n,a)=>{const c=Es(i,a),l=await this.core.crypto.encode(n,c),p=await this.core.history.get(n,i),h=At[p.request.method]?At[p.request.method].res:At.unregistered_method.res;await this.core.relayer.publish(n,l,h),await this.core.history.resolve(c)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,Bt("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),n?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(n=>ci(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:a}=i;switch(a.method){case"wc_pairingPing":return this.onPairingPingRequest(n,a);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,a);default:return this.onUnknownRpcMethodRequest(n,a)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:a}=i,c=(await this.core.history.get(n,a.id)).request.method;switch(c){case"wc_pairingPing":return this.onPairingPingResponse(n,a);default:return this.onUnknownRpcMethodResponse(c)}},this.onPairingPingRequest=async(i,n)=>{const{id:a}=n;try{this.isValidPing({topic:i}),await this.sendResult(a,i,!0),this.events.emit(Ht.ping,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onPairingPingResponse=(i,n)=>{const{id:a}=n;setTimeout(()=>{Ss(n)?this.events.emit(_r("pairing_ping",a),{}):yr(n)&&this.events.emit(_r("pairing_ping",a),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:a}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(Ht.delete,{id:a,topic:i})}catch(c){await this.sendError(a,i,c),this.logger.error(c)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:a,method:c}=n;try{if(this.registeredMethods.includes(c))return;const l=Bt("WC_METHOD_UNSUPPORTED",c);await this.sendError(a,i,l),this.logger.error(l)}catch(l){await this.sendError(a,i,l),this.logger.error(l)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(Bt("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=i=>{var n;if(!Er(i)){const{message:c}=J("MISSING_OR_INVALID",`pair() params: ${i}`);throw new Error(c)}if(!Fo(i.uri)){const{message:c}=J("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw new Error(c)}const a=ai(i.uri);if(!((n=a==null?void 0:a.relay)!=null&&n.protocol)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(c)}if(!(a!=null&&a.symKey)){const{message:c}=J("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(c)}},this.isValidPing=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!Er(i)){const{message:a}=J("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!Co(i,!1)){const{message:n}=J("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=J("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(ci(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=J("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Y.generateChildLogger(t,this.name),this.pairings=new vn(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Y.getLoggerContext(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Ye.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const n=await this.core.crypto.decode(t,i);try{Is(n)?(this.core.history.set(t,n),this.onRelayEventRequest({topic:t,payload:n})):Gr(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id))}catch(a){this.logger.error(a)}})}registerExpirerEvents(){this.core.expirer.on(it.expired,async e=>{const{topic:t}=No(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Ht.expire,{topic:t}))})}}class _n extends Da{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new lt.EventEmitter,this.name=hn,this.version=un,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,n,a)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:a}),this.records.has(n.id))return;const c={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:a,expiry:nr(G.THIRTY_DAYS)};this.records.set(c.id,c),this.events.emit(at.created,c)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const n=await this.getRecord(i.id);typeof n.response>"u"&&(n.response=yr(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.events.emit(at.updated,n))},this.get=async(i,n)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:n}),await this.getRecord(n)),this.delete=(i,n)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:n}),this.values.forEach(a=>{if(a.topic===i){if(typeof n<"u"&&a.id!==n)return;this.records.delete(a.id),this.events.emit(at.deleted,a)}})},this.exists=async(i,n)=>(this.isInitialized(),this.records.has(n)?(await this.getRecord(n)).topic===i:!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:kr(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(at.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(at.created,e=>{const t=at.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.updated,e=>{const t=at.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(at.deleted,e=>{const t=at.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{G.toMiliseconds(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class En extends Ka{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new lt.EventEmitter,this.name=ln,this.version=fn,this.cached=[],this.initialized=!1,this.storagePrefix=yt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const n=this.formatTarget(i);return typeof this.getExpiration(n)<"u"}catch{return!1}},this.set=(i,n)=>{this.isInitialized();const a=this.formatTarget(i),c={target:a,expiry:n};this.expirations.set(a,c),this.checkExpiry(a,c),this.events.emit(it.created,{target:a,expiration:c})},this.get=i=>{this.isInitialized();const n=this.formatTarget(i);return this.getExpiration(n)},this.del=i=>{if(this.isInitialized(),this.has(i)){const n=this.formatTarget(i),a=this.getExpiration(n);this.expirations.delete(n),this.events.emit(it.deleted,{target:n,expiration:a})}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Y.generateChildLogger(t,this.name)}get context(){return Y.getLoggerContext(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Do(e);if(typeof e=="number")return Mo(e);const{message:t}=J("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(it.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=J("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=J("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;G.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(it.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Dt.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(it.created,e=>{const t=it.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.expired,e=>{const t=it.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(it.deleted,e=>{const t=it.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=J("NOT_INITIALIZED",this.name);throw new Error(e)}}}class xn extends Ba{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=hr,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||zo()||!Uo())return;const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);this.verifyUrl!==n&&this.removeIframe(),this.verifyUrl=n;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a)}if(!this.initialized){this.removeIframe(),this.verifyUrl=fr;try{await this.createIframe()}catch(a){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(a),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return"";const n=this.getVerifyUrl(i==null?void 0:i.verifyUrl);let a;try{a=await this.fetchAttestation(i.attestationId,n)}catch(c){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${n}`),this.logger.info(c),a=await this.fetchAttestation(i.attestationId,fr)}return a},this.fetchAttestation=async(i,n)=>{this.logger.info(`resolving attestation: ${i} from url: ${n}`);const a=this.startAbortTimer(G.ONE_SECOND*2),c=await fetch(`${n}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(a),c.status===200?await c.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var n;try{if(!this.iframe)return;(n=this.iframe.contentWindow)==null||n.postMessage(i,"*"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const n=a=>{a.data==="verify_ready"&&(this.initialized=!0,this.processQueue(),window.removeEventListener("message",n),i())};await Promise.race([new Promise(a=>{if(document.getElementById(hr))return a();window.addEventListener("message",n);const c=document.createElement("iframe");c.id=hr,c.src=`${this.verifyUrl}/${this.projectId}`,c.style.display="none",document.body.append(c),this.iframe=c,i=a}),new Promise((a,c)=>setTimeout(()=>{window.removeEventListener("message",n),c("verify iframe load timeout")},G.toMiliseconds(G.FIVE_SECONDS)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let n=i||Ft;return dn.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${Ft}`),n=Ft),n},this.logger=Y.generateChildLogger(t,this.name),this.verifyUrl=Ft,this.abortController=new AbortController,this.isDevEnv=$o()&&{}.IS_VITEST}get context(){return Y.getLoggerContext(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),G.toMiliseconds(e))}}var yu=Object.defineProperty,Gi=Object.getOwnPropertySymbols,mu=Object.prototype.hasOwnProperty,bu=Object.prototype.propertyIsEnumerable,Vi=(r,e,t)=>e in r?yu(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))mu.call(e,t)&&Vi(r,t,e[t]);if(Gi)for(var t of Gi(e))bu.call(e,t)&&Vi(r,t,e[t]);return r};class vr extends Na{constructor(e){super(e),this.protocol=Vr,this.version=zs,this.name=br,this.events=new lt.EventEmitter,this.initialized=!1,this.on=(i,n)=>this.events.on(i,n),this.once=(i,n)=>this.events.once(i,n),this.off=(i,n)=>this.events.off(i,n),this.removeListener=(i,n)=>this.events.removeListener(i,n),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||qr,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Y.pino(Y.getDefaultLoggerOptions({level:(e==null?void 0:e.logger)||Us.logger}));this.logger=Y.generateChildLogger(t,this.name),this.heartbeat=new Dt.HeartBeat,this.crypto=new pn(this,this.logger,e==null?void 0:e.keychain),this.history=new _n(this,this.logger),this.expirer=new En(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Sa(qi(qi({},$s),e==null?void 0:e.storageOptions)),this.relayer=new bn({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new wn(this,this.logger),this.verify=new xn(this.projectId||"",this.logger)}static async init(e){const t=new vr(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(rn,i),t}get context(){return Y.getLoggerContext(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const vu=vr,Pu=Object.freeze(Object.defineProperty({__proto__:null,CORE_CONTEXT:br,CORE_DEFAULT:Us,CORE_PROTOCOL:Vr,CORE_STORAGE_OPTIONS:$s,CORE_STORAGE_PREFIX:yt,CORE_VERSION:zs,CRYPTO_CLIENT_SEED:Ur,CRYPTO_CONTEXT:js,CRYPTO_JWT_TTL:Ks,Core:vu,Crypto:pn,EXPIRER_CONTEXT:ln,EXPIRER_DEFAULT_TTL:tu,EXPIRER_EVENTS:it,EXPIRER_STORAGE_VERSION:fn,Expirer:En,HISTORY_CONTEXT:hn,HISTORY_EVENTS:at,HISTORY_STORAGE_VERSION:un,JsonRpcHistory:_n,KEYCHAIN_CONTEXT:Bs,KEYCHAIN_STORAGE_VERSION:Hs,KeyChain:gn,MESSAGES_CONTEXT:ks,MESSAGES_STORAGE_VERSION:Gs,MessageTracker:yn,PAIRING_CONTEXT:an,PAIRING_DEFAULT_TTL:eu,PAIRING_EVENTS:Ht,PAIRING_RPC_OPTS:At,PAIRING_STORAGE_VERSION:cn,PENDING_SUB_RESOLUTION_TIMEOUT:on,PUBLISHER_CONTEXT:qs,PUBLISHER_DEFAULT_TTL:Vs,Pairing:wn,RELAYER_CONTEXT:Js,RELAYER_DEFAULT_LOGGER:Ws,RELAYER_DEFAULT_PROTOCOL:Ys,RELAYER_DEFAULT_RELAY_URL:qr,RELAYER_EVENTS:Ye,RELAYER_FAILOVER_RELAY_URL:$r,RELAYER_PROVIDER_EVENTS:ht,RELAYER_RECONNECT_TIMEOUT:Qs,RELAYER_SDK_VERSION:Zs,RELAYER_STORAGE_OPTIONS:Qh,RELAYER_SUBSCRIBER_SUFFIX:Xs,RELAYER_TRANSPORT_CUTOFF:en,Relayer:bn,STORE_STORAGE_VERSION:tn,SUBSCRIBER_CONTEXT:sn,SUBSCRIBER_DEFAULT_TTL:Zh,SUBSCRIBER_EVENTS:st,SUBSCRIBER_STORAGE_VERSION:nn,Store:vn,Subscriber:mn,TRUSTED_VERIFY_URLS:dn,VERIFY_CONTEXT:hr,VERIFY_FALLBACK_SERVER:fr,VERIFY_SERVER:Ft,Verify:xn,WALLETCONNECT_CLIENT_ID:rn,default:vr},Symbol.toStringTag,{value:"Module"}));export{Ft as $,Ye as D,vn as M,vu as N,Ou as S,Ht as V,qo as Y,yr as a,Is as b,Y as c,Gr as d,lt as e,Es as f,kr as g,_s as h,Ss as i,Tu as j,Ys as k,Pu as l,vs as p,it as v}; +import { g as getDefaultExportFromCjs, a as getAugmentedNamespace, E as require$$0$1, b as cjs$3, I as binary, M as wipe, O as random, P as fromString, R as toString, S as concat, c as commonjsGlobal, N as N$1, T as rt$1, V as ot$1, Z as kn, $ as Vn, a0 as Mn, K as Kn, a1 as Te, a2 as qn, a3 as xn, a4 as Hn, a5 as Fn, a6 as ee$1, a7 as $$1, L as Ln, a8 as vt$1, U, a9 as Et$1, aa as ut$1, ab as k$1, ac as Jn, ad as er$1, ae as Xn, af as nr$1, w as w$2, ag as Vt$1, ah as Mt$1, _ as _$1, p as pt$1, ai as It$1, aj as wt$1, d as at$1, y as yt$1, m as mt$1, H as Ht, k as kt$1, n as h$3, C as ft$1, ak as lt$1, al as dt$1, am as C, D as D$2, an as te$1, ao as p$1 } from "./index.js"; +var events = { exports: {} }; +var R$1 = typeof Reflect === "object" ? Reflect : null; +var ReflectApply = R$1 && typeof R$1.apply === "function" ? R$1.apply : function ReflectApply2(target, receiver, args) { + return Function.prototype.apply.call(target, receiver, args); +}; +var ReflectOwnKeys; +if (R$1 && typeof R$1.ownKeys === "function") { + ReflectOwnKeys = R$1.ownKeys; +} else if (Object.getOwnPropertySymbols) { + ReflectOwnKeys = function ReflectOwnKeys2(target) { + return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target)); + }; +} else { + ReflectOwnKeys = function ReflectOwnKeys2(target) { + return Object.getOwnPropertyNames(target); + }; +} +function ProcessEmitWarning(warning) { + if (console && console.warn) + console.warn(warning); +} +var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) { + return value !== value; +}; +function EventEmitter() { + EventEmitter.init.call(this); +} +events.exports = EventEmitter; +events.exports.once = once2; +EventEmitter.EventEmitter = EventEmitter; +EventEmitter.prototype._events = void 0; +EventEmitter.prototype._eventsCount = 0; +EventEmitter.prototype._maxListeners = void 0; +var defaultMaxListeners = 10; +function checkListener(listener) { + if (typeof listener !== "function") { + throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); + } +} +Object.defineProperty(EventEmitter, "defaultMaxListeners", { + enumerable: true, + get: function() { + return defaultMaxListeners; + }, + set: function(arg) { + if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) { + throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + "."); + } + defaultMaxListeners = arg; + } +}); +EventEmitter.init = function() { + if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) { + this._events = /* @__PURE__ */ Object.create(null); + this._eventsCount = 0; + } + this._maxListeners = this._maxListeners || void 0; +}; +EventEmitter.prototype.setMaxListeners = function setMaxListeners(n2) { + if (typeof n2 !== "number" || n2 < 0 || NumberIsNaN(n2)) { + throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n2 + "."); + } + this._maxListeners = n2; + return this; +}; +function _getMaxListeners(that) { + if (that._maxListeners === void 0) + return EventEmitter.defaultMaxListeners; + return that._maxListeners; +} +EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + return _getMaxListeners(this); +}; +EventEmitter.prototype.emit = function emit(type) { + var args = []; + for (var i = 1; i < arguments.length; i++) + args.push(arguments[i]); + var doError = type === "error"; + var events2 = this._events; + if (events2 !== void 0) + doError = doError && events2.error === void 0; + else if (!doError) + return false; + if (doError) { + var er2; + if (args.length > 0) + er2 = args[0]; + if (er2 instanceof Error) { + throw er2; + } + var err = new Error("Unhandled error." + (er2 ? " (" + er2.message + ")" : "")); + err.context = er2; + throw err; + } + var handler = events2[type]; + if (handler === void 0) + return false; + if (typeof handler === "function") { + ReflectApply(handler, this, args); + } else { + var len = handler.length; + var listeners2 = arrayClone(handler, len); + for (var i = 0; i < len; ++i) + ReflectApply(listeners2[i], this, args); + } + return true; +}; +function _addListener(target, type, listener, prepend) { + var m; + var events2; + var existing; + checkListener(listener); + events2 = target._events; + if (events2 === void 0) { + events2 = target._events = /* @__PURE__ */ Object.create(null); + target._eventsCount = 0; + } else { + if (events2.newListener !== void 0) { + target.emit( + "newListener", + type, + listener.listener ? listener.listener : listener + ); + events2 = target._events; + } + existing = events2[type]; + } + if (existing === void 0) { + existing = events2[type] = listener; + ++target._eventsCount; + } else { + if (typeof existing === "function") { + existing = events2[type] = prepend ? [listener, existing] : [existing, listener]; + } else if (prepend) { + existing.unshift(listener); + } else { + existing.push(listener); + } + m = _getMaxListeners(target); + if (m > 0 && existing.length > m && !existing.warned) { + existing.warned = true; + var w2 = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit"); + w2.name = "MaxListenersExceededWarning"; + w2.emitter = target; + w2.type = type; + w2.count = existing.length; + ProcessEmitWarning(w2); + } + } + return target; +} +EventEmitter.prototype.addListener = function addListener(type, listener) { + return _addListener(this, type, listener, false); +}; +EventEmitter.prototype.on = EventEmitter.prototype.addListener; +EventEmitter.prototype.prependListener = function prependListener(type, listener) { + return _addListener(this, type, listener, true); +}; +function onceWrapper() { + if (!this.fired) { + this.target.removeListener(this.type, this.wrapFn); + this.fired = true; + if (arguments.length === 0) + return this.listener.call(this.target); + return this.listener.apply(this.target, arguments); + } +} +function _onceWrap(target, type, listener) { + var state = { fired: false, wrapFn: void 0, target, type, listener }; + var wrapped = onceWrapper.bind(state); + wrapped.listener = listener; + state.wrapFn = wrapped; + return wrapped; +} +EventEmitter.prototype.once = function once(type, listener) { + checkListener(listener); + this.on(type, _onceWrap(this, type, listener)); + return this; +}; +EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) { + checkListener(listener); + this.prependListener(type, _onceWrap(this, type, listener)); + return this; +}; +EventEmitter.prototype.removeListener = function removeListener(type, listener) { + var list, events2, position, i, originalListener; + checkListener(listener); + events2 = this._events; + if (events2 === void 0) + return this; + list = events2[type]; + if (list === void 0) + return this; + if (list === listener || list.listener === listener) { + if (--this._eventsCount === 0) + this._events = /* @__PURE__ */ Object.create(null); + else { + delete events2[type]; + if (events2.removeListener) + this.emit("removeListener", type, list.listener || listener); + } + } else if (typeof list !== "function") { + position = -1; + for (i = list.length - 1; i >= 0; i--) { + if (list[i] === listener || list[i].listener === listener) { + originalListener = list[i].listener; + position = i; + break; + } + } + if (position < 0) + return this; + if (position === 0) + list.shift(); + else { + spliceOne(list, position); + } + if (list.length === 1) + events2[type] = list[0]; + if (events2.removeListener !== void 0) + this.emit("removeListener", type, originalListener || listener); + } + return this; +}; +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) { + var listeners2, events2, i; + events2 = this._events; + if (events2 === void 0) + return this; + if (events2.removeListener === void 0) { + if (arguments.length === 0) { + this._events = /* @__PURE__ */ Object.create(null); + this._eventsCount = 0; + } else if (events2[type] !== void 0) { + if (--this._eventsCount === 0) + this._events = /* @__PURE__ */ Object.create(null); + else + delete events2[type]; + } + return this; + } + if (arguments.length === 0) { + var keys2 = Object.keys(events2); + var key; + for (i = 0; i < keys2.length; ++i) { + key = keys2[i]; + if (key === "removeListener") + continue; + this.removeAllListeners(key); + } + this.removeAllListeners("removeListener"); + this._events = /* @__PURE__ */ Object.create(null); + this._eventsCount = 0; + return this; + } + listeners2 = events2[type]; + if (typeof listeners2 === "function") { + this.removeListener(type, listeners2); + } else if (listeners2 !== void 0) { + for (i = listeners2.length - 1; i >= 0; i--) { + this.removeListener(type, listeners2[i]); + } + } + return this; +}; +function _listeners(target, type, unwrap) { + var events2 = target._events; + if (events2 === void 0) + return []; + var evlistener = events2[type]; + if (evlistener === void 0) + return []; + if (typeof evlistener === "function") + return unwrap ? [evlistener.listener || evlistener] : [evlistener]; + return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); +} +EventEmitter.prototype.listeners = function listeners(type) { + return _listeners(this, type, true); +}; +EventEmitter.prototype.rawListeners = function rawListeners(type) { + return _listeners(this, type, false); +}; +EventEmitter.listenerCount = function(emitter, type) { + if (typeof emitter.listenerCount === "function") { + return emitter.listenerCount(type); + } else { + return listenerCount.call(emitter, type); + } +}; +EventEmitter.prototype.listenerCount = listenerCount; +function listenerCount(type) { + var events2 = this._events; + if (events2 !== void 0) { + var evlistener = events2[type]; + if (typeof evlistener === "function") { + return 1; + } else if (evlistener !== void 0) { + return evlistener.length; + } + } + return 0; +} +EventEmitter.prototype.eventNames = function eventNames() { + return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; +}; +function arrayClone(arr, n2) { + var copy = new Array(n2); + for (var i = 0; i < n2; ++i) + copy[i] = arr[i]; + return copy; +} +function spliceOne(list, index) { + for (; index + 1 < list.length; index++) + list[index] = list[index + 1]; + list.pop(); +} +function unwrapListeners(arr) { + var ret = new Array(arr.length); + for (var i = 0; i < ret.length; ++i) { + ret[i] = arr[i].listener || arr[i]; + } + return ret; +} +function once2(emitter, name) { + return new Promise(function(resolve, reject) { + function errorListener(err) { + emitter.removeListener(name, resolver); + reject(err); + } + function resolver() { + if (typeof emitter.removeListener === "function") { + emitter.removeListener("error", errorListener); + } + resolve([].slice.call(arguments)); + } + eventTargetAgnosticAddListener(emitter, name, resolver, { once: true }); + if (name !== "error") { + addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true }); + } + }); +} +function addErrorHandlerIfEventEmitter(emitter, handler, flags) { + if (typeof emitter.on === "function") { + eventTargetAgnosticAddListener(emitter, "error", handler, flags); + } +} +function eventTargetAgnosticAddListener(emitter, name, listener, flags) { + if (typeof emitter.on === "function") { + if (flags.once) { + emitter.once(name, listener); + } else { + emitter.on(name, listener); + } + } else if (typeof emitter.addEventListener === "function") { + emitter.addEventListener(name, function wrapListener(arg) { + if (flags.once) { + emitter.removeEventListener(name, wrapListener); + } + listener(arg); + }); + } else { + throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter); + } +} +var eventsExports = events.exports; +const Ye$1 = /* @__PURE__ */ getDefaultExportFromCjs(eventsExports); +const suspectProtoRx = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/; +const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/; +const JsonSigRx = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/; +function jsonParseTransform(key, value) { + if (key === "__proto__" || key === "constructor" && value && typeof value === "object" && "prototype" in value) { + warnKeyDropped(key); + return; + } + return value; +} +function warnKeyDropped(key) { + console.warn(`[destr] Dropping "${key}" key to prevent prototype pollution.`); +} +function destr(value, options = {}) { + if (typeof value !== "string") { + return value; + } + const _value = value.trim(); + if ( + // eslint-disable-next-line unicorn/prefer-at + value[0] === '"' && value.at(-1) === '"' && !value.includes("\\") + ) { + return _value.slice(1, -1); + } + if (_value.length <= 9) { + const _lval = _value.toLowerCase(); + if (_lval === "true") { + return true; + } + if (_lval === "false") { + return false; + } + if (_lval === "undefined") { + return void 0; + } + if (_lval === "null") { + return null; + } + if (_lval === "nan") { + return Number.NaN; + } + if (_lval === "infinity") { + return Number.POSITIVE_INFINITY; + } + if (_lval === "-infinity") { + return Number.NEGATIVE_INFINITY; + } + } + if (!JsonSigRx.test(value)) { + if (options.strict) { + throw new SyntaxError("[destr] Invalid JSON"); + } + return value; + } + try { + if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) { + if (options.strict) { + throw new Error("[destr] Possible prototype pollution"); + } + return JSON.parse(value, jsonParseTransform); + } + return JSON.parse(value); + } catch (error) { + if (options.strict) { + throw error; + } + return value; + } +} +function wrapToPromise(value) { + if (!value || typeof value.then !== "function") { + return Promise.resolve(value); + } + return value; +} +function asyncCall(function_, ...arguments_) { + try { + return wrapToPromise(function_(...arguments_)); + } catch (error) { + return Promise.reject(error); + } +} +function isPrimitive(value) { + const type = typeof value; + return value === null || type !== "object" && type !== "function"; +} +function isPureObject(value) { + const proto = Object.getPrototypeOf(value); + return !proto || proto.isPrototypeOf(Object); +} +function stringify(value) { + if (isPrimitive(value)) { + return String(value); + } + if (isPureObject(value) || Array.isArray(value)) { + return JSON.stringify(value); + } + if (typeof value.toJSON === "function") { + return stringify(value.toJSON()); + } + throw new Error("[unstorage] Cannot stringify value!"); +} +function checkBufferSupport() { + if (typeof Buffer === void 0) { + throw new TypeError("[unstorage] Buffer is not supported!"); + } +} +const BASE64_PREFIX = "base64:"; +function serializeRaw(value) { + if (typeof value === "string") { + return value; + } + checkBufferSupport(); + const base64 = Buffer.from(value).toString("base64"); + return BASE64_PREFIX + base64; +} +function deserializeRaw(value) { + if (typeof value !== "string") { + return value; + } + if (!value.startsWith(BASE64_PREFIX)) { + return value; + } + checkBufferSupport(); + return Buffer.from(value.slice(BASE64_PREFIX.length), "base64"); +} +function normalizeKey(key) { + if (!key) { + return ""; + } + return key.split("?")[0].replace(/[/\\]/g, ":").replace(/:+/g, ":").replace(/^:|:$/g, ""); +} +function joinKeys(...keys2) { + return normalizeKey(keys2.join(":")); +} +function normalizeBaseKey(base) { + base = normalizeKey(base); + return base ? base + ":" : ""; +} +function defineDriver(factory) { + return factory; +} +const DRIVER_NAME = "memory"; +const memory = defineDriver(() => { + const data = /* @__PURE__ */ new Map(); + return { + name: DRIVER_NAME, + options: {}, + hasItem(key) { + return data.has(key); + }, + getItem(key) { + return data.get(key) ?? null; + }, + getItemRaw(key) { + return data.get(key) ?? null; + }, + setItem(key, value) { + data.set(key, value); + }, + setItemRaw(key, value) { + data.set(key, value); + }, + removeItem(key) { + data.delete(key); + }, + getKeys() { + return Array.from(data.keys()); + }, + clear() { + data.clear(); + }, + dispose() { + data.clear(); + } + }; +}); +function createStorage(options = {}) { + const context = { + mounts: { "": options.driver || memory() }, + mountpoints: [""], + watching: false, + watchListeners: [], + unwatch: {} + }; + const getMount = (key) => { + for (const base of context.mountpoints) { + if (key.startsWith(base)) { + return { + base, + relativeKey: key.slice(base.length), + driver: context.mounts[base] + }; + } + } + return { + base: "", + relativeKey: key, + driver: context.mounts[""] + }; + }; + const getMounts = (base, includeParent) => { + return context.mountpoints.filter( + (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint) + ).map((mountpoint) => ({ + relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0, + mountpoint, + driver: context.mounts[mountpoint] + })); + }; + const onChange = (event, key) => { + if (!context.watching) { + return; + } + key = normalizeKey(key); + for (const listener of context.watchListeners) { + listener(event, key); + } + }; + const startWatch = async () => { + if (context.watching) { + return; + } + context.watching = true; + for (const mountpoint in context.mounts) { + context.unwatch[mountpoint] = await watch( + context.mounts[mountpoint], + onChange, + mountpoint + ); + } + }; + const stopWatch = async () => { + if (!context.watching) { + return; + } + for (const mountpoint in context.unwatch) { + await context.unwatch[mountpoint](); + } + context.unwatch = {}; + context.watching = false; + }; + const runBatch = (items, commonOptions, cb) => { + const batches = /* @__PURE__ */ new Map(); + const getBatch = (mount) => { + let batch = batches.get(mount.base); + if (!batch) { + batch = { + driver: mount.driver, + base: mount.base, + items: [] + }; + batches.set(mount.base, batch); + } + return batch; + }; + for (const item of items) { + const isStringItem = typeof item === "string"; + const key = normalizeKey(isStringItem ? item : item.key); + const value = isStringItem ? void 0 : item.value; + const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options }; + const mount = getMount(key); + getBatch(mount).items.push({ + key, + value, + relativeKey: mount.relativeKey, + options: options2 + }); + } + return Promise.all([...batches.values()].map((batch) => cb(batch))).then( + (r) => r.flat() + ); + }; + const storage = { + // Item + hasItem(key, opts = {}) { + key = normalizeKey(key); + const { relativeKey, driver } = getMount(key); + return asyncCall(driver.hasItem, relativeKey, opts); + }, + getItem(key, opts = {}) { + key = normalizeKey(key); + const { relativeKey, driver } = getMount(key); + return asyncCall(driver.getItem, relativeKey, opts).then( + (value) => destr(value) + ); + }, + getItems(items, commonOptions) { + return runBatch(items, commonOptions, (batch) => { + if (batch.driver.getItems) { + return asyncCall( + batch.driver.getItems, + batch.items.map((item) => ({ + key: item.relativeKey, + options: item.options + })), + commonOptions + ).then( + (r) => r.map((item) => ({ + key: joinKeys(batch.base, item.key), + value: destr(item.value) + })) + ); + } + return Promise.all( + batch.items.map((item) => { + return asyncCall( + batch.driver.getItem, + item.relativeKey, + item.options + ).then((value) => ({ + key: item.key, + value: destr(value) + })); + }) + ); + }); + }, + getItemRaw(key, opts = {}) { + key = normalizeKey(key); + const { relativeKey, driver } = getMount(key); + if (driver.getItemRaw) { + return asyncCall(driver.getItemRaw, relativeKey, opts); + } + return asyncCall(driver.getItem, relativeKey, opts).then( + (value) => deserializeRaw(value) + ); + }, + async setItem(key, value, opts = {}) { + if (value === void 0) { + return storage.removeItem(key); + } + key = normalizeKey(key); + const { relativeKey, driver } = getMount(key); + if (!driver.setItem) { + return; + } + await asyncCall(driver.setItem, relativeKey, stringify(value), opts); + if (!driver.watch) { + onChange("update", key); + } + }, + async setItems(items, commonOptions) { + await runBatch(items, commonOptions, async (batch) => { + if (batch.driver.setItems) { + await asyncCall( + batch.driver.setItems, + batch.items.map((item) => ({ + key: item.relativeKey, + value: stringify(item.value), + options: item.options + })), + commonOptions + ); + } + if (!batch.driver.setItem) { + return; + } + await Promise.all( + batch.items.map((item) => { + return asyncCall( + batch.driver.setItem, + item.relativeKey, + stringify(item.value), + item.options + ); + }) + ); + }); + }, + async setItemRaw(key, value, opts = {}) { + if (value === void 0) { + return storage.removeItem(key, opts); + } + key = normalizeKey(key); + const { relativeKey, driver } = getMount(key); + if (driver.setItemRaw) { + await asyncCall(driver.setItemRaw, relativeKey, value, opts); + } else if (driver.setItem) { + await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts); + } else { + return; + } + if (!driver.watch) { + onChange("update", key); + } + }, + async removeItem(key, opts = {}) { + if (typeof opts === "boolean") { + opts = { removeMeta: opts }; + } + key = normalizeKey(key); + const { relativeKey, driver } = getMount(key); + if (!driver.removeItem) { + return; + } + await asyncCall(driver.removeItem, relativeKey, opts); + if (opts.removeMeta || opts.removeMata) { + await asyncCall(driver.removeItem, relativeKey + "$", opts); + } + if (!driver.watch) { + onChange("remove", key); + } + }, + // Meta + async getMeta(key, opts = {}) { + if (typeof opts === "boolean") { + opts = { nativeOnly: opts }; + } + key = normalizeKey(key); + const { relativeKey, driver } = getMount(key); + const meta = /* @__PURE__ */ Object.create(null); + if (driver.getMeta) { + Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts)); + } + if (!opts.nativeOnly) { + const value = await asyncCall( + driver.getItem, + relativeKey + "$", + opts + ).then((value_) => destr(value_)); + if (value && typeof value === "object") { + if (typeof value.atime === "string") { + value.atime = new Date(value.atime); + } + if (typeof value.mtime === "string") { + value.mtime = new Date(value.mtime); + } + Object.assign(meta, value); + } + } + return meta; + }, + setMeta(key, value, opts = {}) { + return this.setItem(key + "$", value, opts); + }, + removeMeta(key, opts = {}) { + return this.removeItem(key + "$", opts); + }, + // Keys + async getKeys(base, opts = {}) { + base = normalizeBaseKey(base); + const mounts = getMounts(base, true); + let maskedMounts = []; + const allKeys = []; + for (const mount of mounts) { + const rawKeys = await asyncCall( + mount.driver.getKeys, + mount.relativeBase, + opts + ); + const keys2 = rawKeys.map((key) => mount.mountpoint + normalizeKey(key)).filter((key) => !maskedMounts.some((p2) => key.startsWith(p2))); + allKeys.push(...keys2); + maskedMounts = [ + mount.mountpoint, + ...maskedMounts.filter((p2) => !p2.startsWith(mount.mountpoint)) + ]; + } + return base ? allKeys.filter((key) => key.startsWith(base) && !key.endsWith("$")) : allKeys.filter((key) => !key.endsWith("$")); + }, + // Utils + async clear(base, opts = {}) { + base = normalizeBaseKey(base); + await Promise.all( + getMounts(base, false).map(async (m) => { + if (m.driver.clear) { + return asyncCall(m.driver.clear, m.relativeBase, opts); + } + if (m.driver.removeItem) { + const keys2 = await m.driver.getKeys(m.relativeBase || "", opts); + return Promise.all( + keys2.map((key) => m.driver.removeItem(key, opts)) + ); + } + }) + ); + }, + async dispose() { + await Promise.all( + Object.values(context.mounts).map((driver) => dispose(driver)) + ); + }, + async watch(callback) { + await startWatch(); + context.watchListeners.push(callback); + return async () => { + context.watchListeners = context.watchListeners.filter( + (listener) => listener !== callback + ); + if (context.watchListeners.length === 0) { + await stopWatch(); + } + }; + }, + async unwatch() { + context.watchListeners = []; + await stopWatch(); + }, + // Mount + mount(base, driver) { + base = normalizeBaseKey(base); + if (base && context.mounts[base]) { + throw new Error(`already mounted at ${base}`); + } + if (base) { + context.mountpoints.push(base); + context.mountpoints.sort((a3, b3) => b3.length - a3.length); + } + context.mounts[base] = driver; + if (context.watching) { + Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => { + context.unwatch[base] = unwatcher; + }).catch(console.error); + } + return storage; + }, + async unmount(base, _dispose = true) { + base = normalizeBaseKey(base); + if (!base || !context.mounts[base]) { + return; + } + if (context.watching && base in context.unwatch) { + context.unwatch[base](); + delete context.unwatch[base]; + } + if (_dispose) { + await dispose(context.mounts[base]); + } + context.mountpoints = context.mountpoints.filter((key) => key !== base); + delete context.mounts[base]; + }, + getMount(key = "") { + key = normalizeKey(key) + ":"; + const m = getMount(key); + return { + driver: m.driver, + base: m.base + }; + }, + getMounts(base = "", opts = {}) { + base = normalizeKey(base); + const mounts = getMounts(base, opts.parents); + return mounts.map((m) => ({ + driver: m.driver, + base: m.mountpoint + })); + } + }; + return storage; +} +function watch(driver, onChange, base) { + return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => { + }; +} +async function dispose(driver) { + if (typeof driver.dispose === "function") { + await asyncCall(driver.dispose); + } +} +function promisifyRequest(request) { + return new Promise((resolve, reject) => { + request.oncomplete = request.onsuccess = () => resolve(request.result); + request.onabort = request.onerror = () => reject(request.error); + }); +} +function createStore(dbName, storeName) { + const request = indexedDB.open(dbName); + request.onupgradeneeded = () => request.result.createObjectStore(storeName); + const dbp = promisifyRequest(request); + return (txMode, callback) => dbp.then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName))); +} +let defaultGetStoreFunc; +function defaultGetStore() { + if (!defaultGetStoreFunc) { + defaultGetStoreFunc = createStore("keyval-store", "keyval"); + } + return defaultGetStoreFunc; +} +function get(key, customStore = defaultGetStore()) { + return customStore("readonly", (store) => promisifyRequest(store.get(key))); +} +function set(key, value, customStore = defaultGetStore()) { + return customStore("readwrite", (store) => { + store.put(value, key); + return promisifyRequest(store.transaction); + }); +} +function del(key, customStore = defaultGetStore()) { + return customStore("readwrite", (store) => { + store.delete(key); + return promisifyRequest(store.transaction); + }); +} +function clear(customStore = defaultGetStore()) { + return customStore("readwrite", (store) => { + store.clear(); + return promisifyRequest(store.transaction); + }); +} +function eachCursor(store, callback) { + store.openCursor().onsuccess = function() { + if (!this.result) + return; + callback(this.result); + this.result.continue(); + }; + return promisifyRequest(store.transaction); +} +function keys(customStore = defaultGetStore()) { + return customStore("readonly", (store) => { + if (store.getAllKeys) { + return promisifyRequest(store.getAllKeys()); + } + const items = []; + return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items); + }); +} +const JSONStringify = (data) => JSON.stringify(data, (_2, value) => typeof value === "bigint" ? value.toString() + "n" : value); +const JSONParse = (json) => { + const numbersBiggerThanMaxInt = /([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g; + const serializedData = json.replace(numbersBiggerThanMaxInt, '$1"$2n"$3'); + return JSON.parse(serializedData, (_2, value) => { + const isCustomFormatBigInt = typeof value === "string" && value.match(/^\d+n$/); + if (isCustomFormatBigInt) + return BigInt(value.substring(0, value.length - 1)); + return value; + }); +}; +function safeJsonParse(value) { + if (typeof value !== "string") { + throw new Error(`Cannot safe json parse value of type ${typeof value}`); + } + try { + return JSONParse(value); + } catch (_a) { + return value; + } +} +function safeJsonStringify(value) { + return typeof value === "string" ? value : JSONStringify(value) || ""; +} +const x = "idb-keyval"; +var z = (i = {}) => { + const t = i.base && i.base.length > 0 ? `${i.base}:` : "", e = (s) => t + s; + let n2; + return i.dbName && i.storeName && (n2 = createStore(i.dbName, i.storeName)), { name: x, options: i, async hasItem(s) { + return !(typeof await get(e(s), n2) > "u"); + }, async getItem(s) { + return await get(e(s), n2) ?? null; + }, setItem(s, a3) { + return set(e(s), a3, n2); + }, removeItem(s) { + return del(e(s), n2); + }, getKeys() { + return keys(n2); + }, clear() { + return clear(n2); + } }; +}; +const D$1 = "WALLET_CONNECT_V2_INDEXED_DB", E$1 = "keyvaluestorage"; +class _ { + constructor() { + this.indexedDb = createStorage({ driver: z({ dbName: D$1, storeName: E$1 }) }); + } + async getKeys() { + return this.indexedDb.getKeys(); + } + async getEntries() { + return (await this.indexedDb.getItems(await this.indexedDb.getKeys())).map((t) => [t.key, t.value]); + } + async getItem(t) { + const e = await this.indexedDb.getItem(t); + if (e !== null) + return e; + } + async setItem(t, e) { + await this.indexedDb.setItem(t, safeJsonStringify(e)); + } + async removeItem(t) { + await this.indexedDb.removeItem(t); + } +} +var l = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, c = { exports: {} }; +(function() { + let i; + function t() { + } + i = t, i.prototype.getItem = function(e) { + return this.hasOwnProperty(e) ? String(this[e]) : null; + }, i.prototype.setItem = function(e, n2) { + this[e] = String(n2); + }, i.prototype.removeItem = function(e) { + delete this[e]; + }, i.prototype.clear = function() { + const e = this; + Object.keys(e).forEach(function(n2) { + e[n2] = void 0, delete e[n2]; + }); + }, i.prototype.key = function(e) { + return e = e || 0, Object.keys(this)[e]; + }, i.prototype.__defineGetter__("length", function() { + return Object.keys(this).length; + }), typeof l < "u" && l.localStorage ? c.exports = l.localStorage : typeof window < "u" && window.localStorage ? c.exports = window.localStorage : c.exports = new t(); +})(); +function k(i) { + var t; + return [i[0], safeJsonParse((t = i[1]) != null ? t : "")]; +} +class K { + constructor() { + this.localStorage = c.exports; + } + async getKeys() { + return Object.keys(this.localStorage); + } + async getEntries() { + return Object.entries(this.localStorage).map(k); + } + async getItem(t) { + const e = this.localStorage.getItem(t); + if (e !== null) + return safeJsonParse(e); + } + async setItem(t, e) { + this.localStorage.setItem(t, safeJsonStringify(e)); + } + async removeItem(t) { + this.localStorage.removeItem(t); + } +} +const N = "wc_storage_version", y$1 = 1, O$1 = async (i, t, e) => { + const n2 = N, s = await t.getItem(n2); + if (s && s >= y$1) { + e(t); + return; + } + const a3 = await i.getKeys(); + if (!a3.length) { + e(t); + return; + } + const m = []; + for (; a3.length; ) { + const r = a3.shift(); + if (!r) + continue; + const o = r.toLowerCase(); + if (o.includes("wc@") || o.includes("walletconnect") || o.includes("wc_") || o.includes("wallet_connect")) { + const f2 = await i.getItem(r); + await t.setItem(r, f2), m.push(r); + } + } + await t.setItem(n2, y$1), e(t), j(i, m); +}, j = async (i, t) => { + t.length && t.forEach(async (e) => { + await i.removeItem(e); + }); +}; +let h$2 = class h { + constructor() { + this.initialized = false, this.setInitialized = (e) => { + this.storage = e, this.initialized = true; + }; + const t = new K(); + this.storage = t; + try { + const e = new _(); + O$1(t, e, this.setInitialized); + } catch { + this.initialized = true; + } + } + async getKeys() { + return await this.initialize(), this.storage.getKeys(); + } + async getEntries() { + return await this.initialize(), this.storage.getEntries(); + } + async getItem(t) { + return await this.initialize(), this.storage.getItem(t); + } + async setItem(t, e) { + return await this.initialize(), this.storage.setItem(t, e); + } + async removeItem(t) { + return await this.initialize(), this.storage.removeItem(t); + } + async initialize() { + this.initialized || await new Promise((t) => { + const e = setInterval(() => { + this.initialized && (clearInterval(e), t()); + }, 20); + }); + } +}; +var cjs$2 = {}; +var heartbeat$2 = {}; +var types = {}; +var heartbeat$1 = {}; +let IEvents$1 = class IEvents { +}; +const esm = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ + __proto__: null, + IEvents: IEvents$1 +}, Symbol.toStringTag, { value: "Module" })); +const require$$0 = /* @__PURE__ */ getAugmentedNamespace(esm); +var hasRequiredHeartbeat$2; +function requireHeartbeat$2() { + if (hasRequiredHeartbeat$2) + return heartbeat$1; + hasRequiredHeartbeat$2 = 1; + Object.defineProperty(heartbeat$1, "__esModule", { value: true }); + heartbeat$1.IHeartBeat = void 0; + const events_1 = require$$0; + class IHeartBeat extends events_1.IEvents { + constructor(opts) { + super(); + } + } + heartbeat$1.IHeartBeat = IHeartBeat; + return heartbeat$1; +} +var hasRequiredTypes; +function requireTypes() { + if (hasRequiredTypes) + return types; + hasRequiredTypes = 1; + (function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + const tslib_1 = require$$0$1; + tslib_1.__exportStar(requireHeartbeat$2(), exports); + })(types); + return types; +} +var constants$1 = {}; +var heartbeat = {}; +var hasRequiredHeartbeat$1; +function requireHeartbeat$1() { + if (hasRequiredHeartbeat$1) + return heartbeat; + hasRequiredHeartbeat$1 = 1; + Object.defineProperty(heartbeat, "__esModule", { value: true }); + heartbeat.HEARTBEAT_EVENTS = heartbeat.HEARTBEAT_INTERVAL = void 0; + const time_1 = cjs$3; + heartbeat.HEARTBEAT_INTERVAL = time_1.FIVE_SECONDS; + heartbeat.HEARTBEAT_EVENTS = { + pulse: "heartbeat_pulse" + }; + return heartbeat; +} +var hasRequiredConstants$1; +function requireConstants$1() { + if (hasRequiredConstants$1) + return constants$1; + hasRequiredConstants$1 = 1; + (function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + const tslib_1 = require$$0$1; + tslib_1.__exportStar(requireHeartbeat$1(), exports); + })(constants$1); + return constants$1; +} +var hasRequiredHeartbeat; +function requireHeartbeat() { + if (hasRequiredHeartbeat) + return heartbeat$2; + hasRequiredHeartbeat = 1; + Object.defineProperty(heartbeat$2, "__esModule", { value: true }); + heartbeat$2.HeartBeat = void 0; + const tslib_1 = require$$0$1; + const events_1 = eventsExports; + const time_1 = cjs$3; + const types_1 = requireTypes(); + const constants_1 = requireConstants$1(); + class HeartBeat extends types_1.IHeartBeat { + constructor(opts) { + super(opts); + this.events = new events_1.EventEmitter(); + this.interval = constants_1.HEARTBEAT_INTERVAL; + this.interval = (opts === null || opts === void 0 ? void 0 : opts.interval) || constants_1.HEARTBEAT_INTERVAL; + } + static init(opts) { + return tslib_1.__awaiter(this, void 0, void 0, function* () { + const heartbeat2 = new HeartBeat(opts); + yield heartbeat2.init(); + return heartbeat2; + }); + } + init() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { + yield this.initialize(); + }); + } + stop() { + clearInterval(this.intervalRef); + } + on(event, listener) { + this.events.on(event, listener); + } + once(event, listener) { + this.events.once(event, listener); + } + off(event, listener) { + this.events.off(event, listener); + } + removeListener(event, listener) { + this.events.removeListener(event, listener); + } + initialize() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { + this.intervalRef = setInterval(() => this.pulse(), time_1.toMiliseconds(this.interval)); + }); + } + pulse() { + this.events.emit(constants_1.HEARTBEAT_EVENTS.pulse); + } + } + heartbeat$2.HeartBeat = HeartBeat; + return heartbeat$2; +} +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + const tslib_1 = require$$0$1; + tslib_1.__exportStar(requireHeartbeat(), exports); + tslib_1.__exportStar(requireTypes(), exports); + tslib_1.__exportStar(requireConstants$1(), exports); +})(cjs$2); +var cjs$1 = {}; +var quickFormatUnescaped; +var hasRequiredQuickFormatUnescaped; +function requireQuickFormatUnescaped() { + if (hasRequiredQuickFormatUnescaped) + return quickFormatUnescaped; + hasRequiredQuickFormatUnescaped = 1; + function tryStringify(o) { + try { + return JSON.stringify(o); + } catch (e) { + return '"[Circular]"'; + } + } + quickFormatUnescaped = format; + function format(f2, args, opts) { + var ss2 = opts && opts.stringify || tryStringify; + var offset = 1; + if (typeof f2 === "object" && f2 !== null) { + var len = args.length + offset; + if (len === 1) + return f2; + var objects = new Array(len); + objects[0] = ss2(f2); + for (var index = 1; index < len; index++) { + objects[index] = ss2(args[index]); + } + return objects.join(" "); + } + if (typeof f2 !== "string") { + return f2; + } + var argLen = args.length; + if (argLen === 0) + return f2; + var str = ""; + var a3 = 1 - offset; + var lastPos = -1; + var flen = f2 && f2.length || 0; + for (var i = 0; i < flen; ) { + if (f2.charCodeAt(i) === 37 && i + 1 < flen) { + lastPos = lastPos > -1 ? lastPos : 0; + switch (f2.charCodeAt(i + 1)) { + case 100: + case 102: + if (a3 >= argLen) + break; + if (args[a3] == null) + break; + if (lastPos < i) + str += f2.slice(lastPos, i); + str += Number(args[a3]); + lastPos = i + 2; + i++; + break; + case 105: + if (a3 >= argLen) + break; + if (args[a3] == null) + break; + if (lastPos < i) + str += f2.slice(lastPos, i); + str += Math.floor(Number(args[a3])); + lastPos = i + 2; + i++; + break; + case 79: + case 111: + case 106: + if (a3 >= argLen) + break; + if (args[a3] === void 0) + break; + if (lastPos < i) + str += f2.slice(lastPos, i); + var type = typeof args[a3]; + if (type === "string") { + str += "'" + args[a3] + "'"; + lastPos = i + 2; + i++; + break; + } + if (type === "function") { + str += args[a3].name || ""; + lastPos = i + 2; + i++; + break; + } + str += ss2(args[a3]); + lastPos = i + 2; + i++; + break; + case 115: + if (a3 >= argLen) + break; + if (lastPos < i) + str += f2.slice(lastPos, i); + str += String(args[a3]); + lastPos = i + 2; + i++; + break; + case 37: + if (lastPos < i) + str += f2.slice(lastPos, i); + str += "%"; + lastPos = i + 2; + i++; + a3--; + break; + } + ++a3; + } + ++i; + } + if (lastPos === -1) + return f2; + else if (lastPos < flen) { + str += f2.slice(lastPos); + } + return str; + } + return quickFormatUnescaped; +} +var browser; +var hasRequiredBrowser; +function requireBrowser() { + if (hasRequiredBrowser) + return browser; + hasRequiredBrowser = 1; + const format = requireQuickFormatUnescaped(); + browser = pino; + const _console = pfGlobalThisOrFallback().console || {}; + const stdSerializers = { + mapHttpRequest: mock, + mapHttpResponse: mock, + wrapRequestSerializer: passthrough, + wrapResponseSerializer: passthrough, + wrapErrorSerializer: passthrough, + req: mock, + res: mock, + err: asErrValue + }; + function shouldSerialize(serialize, serializers) { + if (Array.isArray(serialize)) { + const hasToFilter = serialize.filter(function(k2) { + return k2 !== "!stdSerializers.err"; + }); + return hasToFilter; + } else if (serialize === true) { + return Object.keys(serializers); + } + return false; + } + function pino(opts) { + opts = opts || {}; + opts.browser = opts.browser || {}; + const transmit2 = opts.browser.transmit; + if (transmit2 && typeof transmit2.send !== "function") { + throw Error("pino: transmit option must have a send function"); + } + const proto = opts.browser.write || _console; + if (opts.browser.write) + opts.browser.asObject = true; + const serializers = opts.serializers || {}; + const serialize = shouldSerialize(opts.browser.serialize, serializers); + let stdErrSerialize = opts.browser.serialize; + if (Array.isArray(opts.browser.serialize) && opts.browser.serialize.indexOf("!stdSerializers.err") > -1) + stdErrSerialize = false; + const levels = ["error", "fatal", "warn", "info", "debug", "trace"]; + if (typeof proto === "function") { + proto.error = proto.fatal = proto.warn = proto.info = proto.debug = proto.trace = proto; + } + if (opts.enabled === false) + opts.level = "silent"; + const level = opts.level || "info"; + const logger = Object.create(proto); + if (!logger.log) + logger.log = noop; + Object.defineProperty(logger, "levelVal", { + get: getLevelVal + }); + Object.defineProperty(logger, "level", { + get: getLevel, + set: setLevel + }); + const setOpts = { + transmit: transmit2, + serialize, + asObject: opts.browser.asObject, + levels, + timestamp: getTimeFunction(opts) + }; + logger.levels = pino.levels; + logger.level = level; + logger.setMaxListeners = logger.getMaxListeners = logger.emit = logger.addListener = logger.on = logger.prependListener = logger.once = logger.prependOnceListener = logger.removeListener = logger.removeAllListeners = logger.listeners = logger.listenerCount = logger.eventNames = logger.write = logger.flush = noop; + logger.serializers = serializers; + logger._serialize = serialize; + logger._stdErrSerialize = stdErrSerialize; + logger.child = child; + if (transmit2) + logger._logEvent = createLogEventShape(); + function getLevelVal() { + return this.level === "silent" ? Infinity : this.levels.values[this.level]; + } + function getLevel() { + return this._level; + } + function setLevel(level2) { + if (level2 !== "silent" && !this.levels.values[level2]) { + throw Error("unknown level " + level2); + } + this._level = level2; + set2(setOpts, logger, "error", "log"); + set2(setOpts, logger, "fatal", "error"); + set2(setOpts, logger, "warn", "error"); + set2(setOpts, logger, "info", "log"); + set2(setOpts, logger, "debug", "log"); + set2(setOpts, logger, "trace", "log"); + } + function child(bindings, childOptions) { + if (!bindings) { + throw new Error("missing bindings for child Pino"); + } + childOptions = childOptions || {}; + if (serialize && bindings.serializers) { + childOptions.serializers = bindings.serializers; + } + const childOptionsSerializers = childOptions.serializers; + if (serialize && childOptionsSerializers) { + var childSerializers = Object.assign({}, serializers, childOptionsSerializers); + var childSerialize = opts.browser.serialize === true ? Object.keys(childSerializers) : serialize; + delete bindings.serializers; + applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize); + } + function Child(parent) { + this._childLevel = (parent._childLevel | 0) + 1; + this.error = bind(parent, bindings, "error"); + this.fatal = bind(parent, bindings, "fatal"); + this.warn = bind(parent, bindings, "warn"); + this.info = bind(parent, bindings, "info"); + this.debug = bind(parent, bindings, "debug"); + this.trace = bind(parent, bindings, "trace"); + if (childSerializers) { + this.serializers = childSerializers; + this._serialize = childSerialize; + } + if (transmit2) { + this._logEvent = createLogEventShape( + [].concat(parent._logEvent.bindings, bindings) + ); + } + } + Child.prototype = this; + return new Child(this); + } + return logger; + } + pino.levels = { + values: { + fatal: 60, + error: 50, + warn: 40, + info: 30, + debug: 20, + trace: 10 + }, + labels: { + 10: "trace", + 20: "debug", + 30: "info", + 40: "warn", + 50: "error", + 60: "fatal" + } + }; + pino.stdSerializers = stdSerializers; + pino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime }); + function set2(opts, logger, level, fallback) { + const proto = Object.getPrototypeOf(logger); + logger[level] = logger.levelVal > logger.levels.values[level] ? noop : proto[level] ? proto[level] : _console[level] || _console[fallback] || noop; + wrap(opts, logger, level); + } + function wrap(opts, logger, level) { + if (!opts.transmit && logger[level] === noop) + return; + logger[level] = function(write) { + return function LOG() { + const ts2 = opts.timestamp(); + const args = new Array(arguments.length); + const proto = Object.getPrototypeOf && Object.getPrototypeOf(this) === _console ? _console : this; + for (var i = 0; i < args.length; i++) + args[i] = arguments[i]; + if (opts.serialize && !opts.asObject) { + applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize); + } + if (opts.asObject) + write.call(proto, asObject(this, level, args, ts2)); + else + write.apply(proto, args); + if (opts.transmit) { + const transmitLevel = opts.transmit.level || logger.level; + const transmitValue = pino.levels.values[transmitLevel]; + const methodValue = pino.levels.values[level]; + if (methodValue < transmitValue) + return; + transmit(this, { + ts: ts2, + methodLevel: level, + methodValue, + transmitLevel, + transmitValue: pino.levels.values[opts.transmit.level || logger.level], + send: opts.transmit.send, + val: logger.levelVal + }, args); + } + }; + }(logger[level]); + } + function asObject(logger, level, args, ts2) { + if (logger._serialize) + applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize); + const argsCloned = args.slice(); + let msg = argsCloned[0]; + const o = {}; + if (ts2) { + o.time = ts2; + } + o.level = pino.levels.values[level]; + let lvl = (logger._childLevel | 0) + 1; + if (lvl < 1) + lvl = 1; + if (msg !== null && typeof msg === "object") { + while (lvl-- && typeof argsCloned[0] === "object") { + Object.assign(o, argsCloned.shift()); + } + msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : void 0; + } else if (typeof msg === "string") + msg = format(argsCloned.shift(), argsCloned); + if (msg !== void 0) + o.msg = msg; + return o; + } + function applySerializers(args, serialize, serializers, stdErrSerialize) { + for (const i in args) { + if (stdErrSerialize && args[i] instanceof Error) { + args[i] = pino.stdSerializers.err(args[i]); + } else if (typeof args[i] === "object" && !Array.isArray(args[i])) { + for (const k2 in args[i]) { + if (serialize && serialize.indexOf(k2) > -1 && k2 in serializers) { + args[i][k2] = serializers[k2](args[i][k2]); + } + } + } + } + } + function bind(parent, bindings, level) { + return function() { + const args = new Array(1 + arguments.length); + args[0] = bindings; + for (var i = 1; i < args.length; i++) { + args[i] = arguments[i - 1]; + } + return parent[level].apply(this, args); + }; + } + function transmit(logger, opts, args) { + const send = opts.send; + const ts2 = opts.ts; + const methodLevel = opts.methodLevel; + const methodValue = opts.methodValue; + const val = opts.val; + const bindings = logger._logEvent.bindings; + applySerializers( + args, + logger._serialize || Object.keys(logger.serializers), + logger.serializers, + logger._stdErrSerialize === void 0 ? true : logger._stdErrSerialize + ); + logger._logEvent.ts = ts2; + logger._logEvent.messages = args.filter(function(arg) { + return bindings.indexOf(arg) === -1; + }); + logger._logEvent.level.label = methodLevel; + logger._logEvent.level.value = methodValue; + send(methodLevel, logger._logEvent, val); + logger._logEvent = createLogEventShape(bindings); + } + function createLogEventShape(bindings) { + return { + ts: 0, + messages: [], + bindings: bindings || [], + level: { label: "", value: 0 } + }; + } + function asErrValue(err) { + const obj = { + type: err.constructor.name, + msg: err.message, + stack: err.stack + }; + for (const key in err) { + if (obj[key] === void 0) { + obj[key] = err[key]; + } + } + return obj; + } + function getTimeFunction(opts) { + if (typeof opts.timestamp === "function") { + return opts.timestamp; + } + if (opts.timestamp === false) { + return nullTime; + } + return epochTime; + } + function mock() { + return {}; + } + function passthrough(a3) { + return a3; + } + function noop() { + } + function nullTime() { + return false; + } + function epochTime() { + return Date.now(); + } + function unixTime() { + return Math.round(Date.now() / 1e3); + } + function isoTime() { + return new Date(Date.now()).toISOString(); + } + function pfGlobalThisOrFallback() { + function defd(o) { + return typeof o !== "undefined" && o; + } + try { + if (typeof globalThis !== "undefined") + return globalThis; + Object.defineProperty(Object.prototype, "globalThis", { + get: function() { + delete Object.prototype.globalThis; + return this.globalThis = this; + }, + configurable: true + }); + return globalThis; + } catch (e) { + return defd(self) || defd(window) || defd(this) || {}; + } + } + return browser; +} +var constants = {}; +var hasRequiredConstants; +function requireConstants() { + if (hasRequiredConstants) + return constants; + hasRequiredConstants = 1; + Object.defineProperty(constants, "__esModule", { value: true }); + constants.PINO_CUSTOM_CONTEXT_KEY = constants.PINO_LOGGER_DEFAULTS = void 0; + constants.PINO_LOGGER_DEFAULTS = { + level: "info" + }; + constants.PINO_CUSTOM_CONTEXT_KEY = "custom_context"; + return constants; +} +var utils = {}; +var hasRequiredUtils; +function requireUtils() { + if (hasRequiredUtils) + return utils; + hasRequiredUtils = 1; + Object.defineProperty(utils, "__esModule", { value: true }); + utils.generateChildLogger = utils.formatChildLoggerContext = utils.getLoggerContext = utils.setBrowserLoggerContext = utils.getBrowserLoggerContext = utils.getDefaultLoggerOptions = void 0; + const constants_1 = requireConstants(); + function getDefaultLoggerOptions(opts) { + return Object.assign(Object.assign({}, opts), { level: (opts === null || opts === void 0 ? void 0 : opts.level) || constants_1.PINO_LOGGER_DEFAULTS.level }); + } + utils.getDefaultLoggerOptions = getDefaultLoggerOptions; + function getBrowserLoggerContext(logger, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) { + return logger[customContextKey] || ""; + } + utils.getBrowserLoggerContext = getBrowserLoggerContext; + function setBrowserLoggerContext(logger, context, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) { + logger[customContextKey] = context; + return logger; + } + utils.setBrowserLoggerContext = setBrowserLoggerContext; + function getLoggerContext(logger, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) { + let context = ""; + if (typeof logger.bindings === "undefined") { + context = getBrowserLoggerContext(logger, customContextKey); + } else { + context = logger.bindings().context || ""; + } + return context; + } + utils.getLoggerContext = getLoggerContext; + function formatChildLoggerContext(logger, childContext, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) { + const parentContext = getLoggerContext(logger, customContextKey); + const context = parentContext.trim() ? `${parentContext}/${childContext}` : childContext; + return context; + } + utils.formatChildLoggerContext = formatChildLoggerContext; + function generateChildLogger(logger, childContext, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) { + const context = formatChildLoggerContext(logger, childContext, customContextKey); + const child = logger.child({ context }); + return setBrowserLoggerContext(child, context, customContextKey); + } + utils.generateChildLogger = generateChildLogger; + return utils; +} +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + exports.pino = void 0; + const tslib_1 = require$$0$1; + const pino_1 = tslib_1.__importDefault(requireBrowser()); + Object.defineProperty(exports, "pino", { enumerable: true, get: function() { + return pino_1.default; + } }); + tslib_1.__exportStar(requireConstants(), exports); + tslib_1.__exportStar(requireUtils(), exports); +})(cjs$1); +class n extends IEvents$1 { + constructor(s) { + super(), this.opts = s, this.protocol = "wc", this.version = 2; + } +} +let h$1 = class h2 extends IEvents$1 { + constructor(s, t) { + super(), this.core = s, this.logger = t, this.records = /* @__PURE__ */ new Map(); + } +}; +let a$1 = class a { + constructor(s, t) { + this.logger = s, this.core = t; + } +}; +class u extends IEvents$1 { + constructor(s, t) { + super(), this.relayer = s, this.logger = t; + } +} +let g$1 = class g extends IEvents$1 { + constructor(s) { + super(); + } +}; +class p { + constructor(s, t, o, w2) { + this.core = s, this.logger = t, this.name = o; + } +} +class d extends IEvents$1 { + constructor(s, t) { + super(), this.relayer = s, this.logger = t; + } +} +class E extends IEvents$1 { + constructor(s, t) { + super(), this.core = s, this.logger = t; + } +} +class y { + constructor(s, t) { + this.projectId = s, this.logger = t; + } +} +let b$1 = class b { + constructor(s) { + this.opts = s, this.protocol = "wc", this.version = 2; + } +}; +let S$1 = class S { + constructor(s) { + this.client = s; + } +}; +var ed25519 = {}; +var sha512 = {}; +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + var binary_1 = binary; + var wipe_1 = wipe; + exports.DIGEST_LENGTH = 64; + exports.BLOCK_SIZE = 128; + var SHA512 = ( + /** @class */ + function() { + function SHA5122() { + this.digestLength = exports.DIGEST_LENGTH; + this.blockSize = exports.BLOCK_SIZE; + this._stateHi = new Int32Array(8); + this._stateLo = new Int32Array(8); + this._tempHi = new Int32Array(16); + this._tempLo = new Int32Array(16); + this._buffer = new Uint8Array(256); + this._bufferLength = 0; + this._bytesHashed = 0; + this._finished = false; + this.reset(); + } + SHA5122.prototype._initState = function() { + this._stateHi[0] = 1779033703; + this._stateHi[1] = 3144134277; + this._stateHi[2] = 1013904242; + this._stateHi[3] = 2773480762; + this._stateHi[4] = 1359893119; + this._stateHi[5] = 2600822924; + this._stateHi[6] = 528734635; + this._stateHi[7] = 1541459225; + this._stateLo[0] = 4089235720; + this._stateLo[1] = 2227873595; + this._stateLo[2] = 4271175723; + this._stateLo[3] = 1595750129; + this._stateLo[4] = 2917565137; + this._stateLo[5] = 725511199; + this._stateLo[6] = 4215389547; + this._stateLo[7] = 327033209; + }; + SHA5122.prototype.reset = function() { + this._initState(); + this._bufferLength = 0; + this._bytesHashed = 0; + this._finished = false; + return this; + }; + SHA5122.prototype.clean = function() { + wipe_1.wipe(this._buffer); + wipe_1.wipe(this._tempHi); + wipe_1.wipe(this._tempLo); + this.reset(); + }; + SHA5122.prototype.update = function(data, dataLength) { + if (dataLength === void 0) { + dataLength = data.length; + } + if (this._finished) { + throw new Error("SHA512: can't update because hash was finished."); + } + var dataPos = 0; + this._bytesHashed += dataLength; + if (this._bufferLength > 0) { + while (this._bufferLength < exports.BLOCK_SIZE && dataLength > 0) { + this._buffer[this._bufferLength++] = data[dataPos++]; + dataLength--; + } + if (this._bufferLength === this.blockSize) { + hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, this.blockSize); + this._bufferLength = 0; + } + } + if (dataLength >= this.blockSize) { + dataPos = hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, data, dataPos, dataLength); + dataLength %= this.blockSize; + } + while (dataLength > 0) { + this._buffer[this._bufferLength++] = data[dataPos++]; + dataLength--; + } + return this; + }; + SHA5122.prototype.finish = function(out) { + if (!this._finished) { + var bytesHashed = this._bytesHashed; + var left = this._bufferLength; + var bitLenHi = bytesHashed / 536870912 | 0; + var bitLenLo = bytesHashed << 3; + var padLength = bytesHashed % 128 < 112 ? 128 : 256; + this._buffer[left] = 128; + for (var i = left + 1; i < padLength - 8; i++) { + this._buffer[i] = 0; + } + binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8); + binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4); + hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength); + this._finished = true; + } + for (var i = 0; i < this.digestLength / 8; i++) { + binary_1.writeUint32BE(this._stateHi[i], out, i * 8); + binary_1.writeUint32BE(this._stateLo[i], out, i * 8 + 4); + } + return this; + }; + SHA5122.prototype.digest = function() { + var out = new Uint8Array(this.digestLength); + this.finish(out); + return out; + }; + SHA5122.prototype.saveState = function() { + if (this._finished) { + throw new Error("SHA256: cannot save finished state"); + } + return { + stateHi: new Int32Array(this._stateHi), + stateLo: new Int32Array(this._stateLo), + buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : void 0, + bufferLength: this._bufferLength, + bytesHashed: this._bytesHashed + }; + }; + SHA5122.prototype.restoreState = function(savedState) { + this._stateHi.set(savedState.stateHi); + this._stateLo.set(savedState.stateLo); + this._bufferLength = savedState.bufferLength; + if (savedState.buffer) { + this._buffer.set(savedState.buffer); + } + this._bytesHashed = savedState.bytesHashed; + this._finished = false; + return this; + }; + SHA5122.prototype.cleanSavedState = function(savedState) { + wipe_1.wipe(savedState.stateHi); + wipe_1.wipe(savedState.stateLo); + if (savedState.buffer) { + wipe_1.wipe(savedState.buffer); + } + savedState.bufferLength = 0; + savedState.bytesHashed = 0; + }; + return SHA5122; + }() + ); + exports.SHA512 = SHA512; + var K2 = new Int32Array([ + 1116352408, + 3609767458, + 1899447441, + 602891725, + 3049323471, + 3964484399, + 3921009573, + 2173295548, + 961987163, + 4081628472, + 1508970993, + 3053834265, + 2453635748, + 2937671579, + 2870763221, + 3664609560, + 3624381080, + 2734883394, + 310598401, + 1164996542, + 607225278, + 1323610764, + 1426881987, + 3590304994, + 1925078388, + 4068182383, + 2162078206, + 991336113, + 2614888103, + 633803317, + 3248222580, + 3479774868, + 3835390401, + 2666613458, + 4022224774, + 944711139, + 264347078, + 2341262773, + 604807628, + 2007800933, + 770255983, + 1495990901, + 1249150122, + 1856431235, + 1555081692, + 3175218132, + 1996064986, + 2198950837, + 2554220882, + 3999719339, + 2821834349, + 766784016, + 2952996808, + 2566594879, + 3210313671, + 3203337956, + 3336571891, + 1034457026, + 3584528711, + 2466948901, + 113926993, + 3758326383, + 338241895, + 168717936, + 666307205, + 1188179964, + 773529912, + 1546045734, + 1294757372, + 1522805485, + 1396182291, + 2643833823, + 1695183700, + 2343527390, + 1986661051, + 1014477480, + 2177026350, + 1206759142, + 2456956037, + 344077627, + 2730485921, + 1290863460, + 2820302411, + 3158454273, + 3259730800, + 3505952657, + 3345764771, + 106217008, + 3516065817, + 3606008344, + 3600352804, + 1432725776, + 4094571909, + 1467031594, + 275423344, + 851169720, + 430227734, + 3100823752, + 506948616, + 1363258195, + 659060556, + 3750685593, + 883997877, + 3785050280, + 958139571, + 3318307427, + 1322822218, + 3812723403, + 1537002063, + 2003034995, + 1747873779, + 3602036899, + 1955562222, + 1575990012, + 2024104815, + 1125592928, + 2227730452, + 2716904306, + 2361852424, + 442776044, + 2428436474, + 593698344, + 2756734187, + 3733110249, + 3204031479, + 2999351573, + 3329325298, + 3815920427, + 3391569614, + 3928383900, + 3515267271, + 566280711, + 3940187606, + 3454069534, + 4118630271, + 4000239992, + 116418474, + 1914138554, + 174292421, + 2731055270, + 289380356, + 3203993006, + 460393269, + 320620315, + 685471733, + 587496836, + 852142971, + 1086792851, + 1017036298, + 365543100, + 1126000580, + 2618297676, + 1288033470, + 3409855158, + 1501505948, + 4234509866, + 1607167915, + 987167468, + 1816402316, + 1246189591 + ]); + function hashBlocks(wh, wl, hh, hl, m, pos, len) { + var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7]; + var h4, l2; + var th, tl; + var a3, b3, c2, d2; + while (len >= 128) { + for (var i = 0; i < 16; i++) { + var j2 = 8 * i + pos; + wh[i] = binary_1.readUint32BE(m, j2); + wl[i] = binary_1.readUint32BE(m, j2 + 4); + } + for (var i = 0; i < 80; i++) { + var bh0 = ah0; + var bh1 = ah1; + var bh2 = ah2; + var bh3 = ah3; + var bh4 = ah4; + var bh5 = ah5; + var bh6 = ah6; + var bh7 = ah7; + var bl0 = al0; + var bl1 = al1; + var bl2 = al2; + var bl3 = al3; + var bl4 = al4; + var bl5 = al5; + var bl6 = al6; + var bl7 = al7; + h4 = ah7; + l2 = al7; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = (ah4 >>> 14 | al4 << 32 - 14) ^ (ah4 >>> 18 | al4 << 32 - 18) ^ (al4 >>> 41 - 32 | ah4 << 32 - (41 - 32)); + l2 = (al4 >>> 14 | ah4 << 32 - 14) ^ (al4 >>> 18 | ah4 << 32 - 18) ^ (ah4 >>> 41 - 32 | al4 << 32 - (41 - 32)); + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + h4 = ah4 & ah5 ^ ~ah4 & ah6; + l2 = al4 & al5 ^ ~al4 & al6; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + h4 = K2[i * 2]; + l2 = K2[i * 2 + 1]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + h4 = wh[i % 16]; + l2 = wl[i % 16]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + th = c2 & 65535 | d2 << 16; + tl = a3 & 65535 | b3 << 16; + h4 = th; + l2 = tl; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = (ah0 >>> 28 | al0 << 32 - 28) ^ (al0 >>> 34 - 32 | ah0 << 32 - (34 - 32)) ^ (al0 >>> 39 - 32 | ah0 << 32 - (39 - 32)); + l2 = (al0 >>> 28 | ah0 << 32 - 28) ^ (ah0 >>> 34 - 32 | al0 << 32 - (34 - 32)) ^ (ah0 >>> 39 - 32 | al0 << 32 - (39 - 32)); + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + h4 = ah0 & ah1 ^ ah0 & ah2 ^ ah1 & ah2; + l2 = al0 & al1 ^ al0 & al2 ^ al1 & al2; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + bh7 = c2 & 65535 | d2 << 16; + bl7 = a3 & 65535 | b3 << 16; + h4 = bh3; + l2 = bl3; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = th; + l2 = tl; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + bh3 = c2 & 65535 | d2 << 16; + bl3 = a3 & 65535 | b3 << 16; + ah1 = bh0; + ah2 = bh1; + ah3 = bh2; + ah4 = bh3; + ah5 = bh4; + ah6 = bh5; + ah7 = bh6; + ah0 = bh7; + al1 = bl0; + al2 = bl1; + al3 = bl2; + al4 = bl3; + al5 = bl4; + al6 = bl5; + al7 = bl6; + al0 = bl7; + if (i % 16 === 15) { + for (var j2 = 0; j2 < 16; j2++) { + h4 = wh[j2]; + l2 = wl[j2]; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = wh[(j2 + 9) % 16]; + l2 = wl[(j2 + 9) % 16]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + th = wh[(j2 + 1) % 16]; + tl = wl[(j2 + 1) % 16]; + h4 = (th >>> 1 | tl << 32 - 1) ^ (th >>> 8 | tl << 32 - 8) ^ th >>> 7; + l2 = (tl >>> 1 | th << 32 - 1) ^ (tl >>> 8 | th << 32 - 8) ^ (tl >>> 7 | th << 32 - 7); + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + th = wh[(j2 + 14) % 16]; + tl = wl[(j2 + 14) % 16]; + h4 = (th >>> 19 | tl << 32 - 19) ^ (tl >>> 61 - 32 | th << 32 - (61 - 32)) ^ th >>> 6; + l2 = (tl >>> 19 | th << 32 - 19) ^ (th >>> 61 - 32 | tl << 32 - (61 - 32)) ^ (tl >>> 6 | th << 32 - 6); + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + wh[j2] = c2 & 65535 | d2 << 16; + wl[j2] = a3 & 65535 | b3 << 16; + } + } + } + h4 = ah0; + l2 = al0; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[0]; + l2 = hl[0]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[0] = ah0 = c2 & 65535 | d2 << 16; + hl[0] = al0 = a3 & 65535 | b3 << 16; + h4 = ah1; + l2 = al1; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[1]; + l2 = hl[1]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[1] = ah1 = c2 & 65535 | d2 << 16; + hl[1] = al1 = a3 & 65535 | b3 << 16; + h4 = ah2; + l2 = al2; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[2]; + l2 = hl[2]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[2] = ah2 = c2 & 65535 | d2 << 16; + hl[2] = al2 = a3 & 65535 | b3 << 16; + h4 = ah3; + l2 = al3; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[3]; + l2 = hl[3]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[3] = ah3 = c2 & 65535 | d2 << 16; + hl[3] = al3 = a3 & 65535 | b3 << 16; + h4 = ah4; + l2 = al4; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[4]; + l2 = hl[4]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[4] = ah4 = c2 & 65535 | d2 << 16; + hl[4] = al4 = a3 & 65535 | b3 << 16; + h4 = ah5; + l2 = al5; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[5]; + l2 = hl[5]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[5] = ah5 = c2 & 65535 | d2 << 16; + hl[5] = al5 = a3 & 65535 | b3 << 16; + h4 = ah6; + l2 = al6; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[6]; + l2 = hl[6]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[6] = ah6 = c2 & 65535 | d2 << 16; + hl[6] = al6 = a3 & 65535 | b3 << 16; + h4 = ah7; + l2 = al7; + a3 = l2 & 65535; + b3 = l2 >>> 16; + c2 = h4 & 65535; + d2 = h4 >>> 16; + h4 = hh[7]; + l2 = hl[7]; + a3 += l2 & 65535; + b3 += l2 >>> 16; + c2 += h4 & 65535; + d2 += h4 >>> 16; + b3 += a3 >>> 16; + c2 += b3 >>> 16; + d2 += c2 >>> 16; + hh[7] = ah7 = c2 & 65535 | d2 << 16; + hl[7] = al7 = a3 & 65535 | b3 << 16; + pos += 128; + len -= 128; + } + return pos; + } + function hash(data) { + var h4 = new SHA512(); + h4.update(data); + var digest = h4.digest(); + h4.clean(); + return digest; + } + exports.hash = hash; +})(sha512); +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + exports.convertSecretKeyToX25519 = exports.convertPublicKeyToX25519 = exports.verify = exports.sign = exports.extractPublicKeyFromSecretKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0; + const random_1 = random; + const sha512_1 = sha512; + const wipe_1 = wipe; + exports.SIGNATURE_LENGTH = 64; + exports.PUBLIC_KEY_LENGTH = 32; + exports.SECRET_KEY_LENGTH = 64; + exports.SEED_LENGTH = 32; + function gf(init) { + const r = new Float64Array(16); + if (init) { + for (let i = 0; i < init.length; i++) { + r[i] = init[i]; + } + } + return r; + } + const _9 = new Uint8Array(32); + _9[0] = 9; + const gf0 = gf(); + const gf1 = gf([1]); + const D2 = gf([ + 30883, + 4953, + 19914, + 30187, + 55467, + 16705, + 2637, + 112, + 59544, + 30585, + 16505, + 36039, + 65139, + 11119, + 27886, + 20995 + ]); + const D22 = gf([ + 61785, + 9906, + 39828, + 60374, + 45398, + 33411, + 5274, + 224, + 53552, + 61171, + 33010, + 6542, + 64743, + 22239, + 55772, + 9222 + ]); + const X2 = gf([ + 54554, + 36645, + 11616, + 51542, + 42930, + 38181, + 51040, + 26924, + 56412, + 64982, + 57905, + 49316, + 21502, + 52590, + 14035, + 8553 + ]); + const Y = gf([ + 26200, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214, + 26214 + ]); + const I = gf([ + 41136, + 18958, + 6951, + 50414, + 58488, + 44335, + 6150, + 12099, + 55207, + 15867, + 153, + 11085, + 57099, + 20417, + 9344, + 11139 + ]); + function set25519(r, a3) { + for (let i = 0; i < 16; i++) { + r[i] = a3[i] | 0; + } + } + function car25519(o) { + let c2 = 1; + for (let i = 0; i < 16; i++) { + let v2 = o[i] + c2 + 65535; + c2 = Math.floor(v2 / 65536); + o[i] = v2 - c2 * 65536; + } + o[0] += c2 - 1 + 37 * (c2 - 1); + } + function sel25519(p2, q2, b3) { + const c2 = ~(b3 - 1); + for (let i = 0; i < 16; i++) { + const t = c2 & (p2[i] ^ q2[i]); + p2[i] ^= t; + q2[i] ^= t; + } + } + function pack25519(o, n2) { + const m = gf(); + const t = gf(); + for (let i = 0; i < 16; i++) { + t[i] = n2[i]; + } + car25519(t); + car25519(t); + car25519(t); + for (let j2 = 0; j2 < 2; j2++) { + m[0] = t[0] - 65517; + for (let i = 1; i < 15; i++) { + m[i] = t[i] - 65535 - (m[i - 1] >> 16 & 1); + m[i - 1] &= 65535; + } + m[15] = t[15] - 32767 - (m[14] >> 16 & 1); + const b3 = m[15] >> 16 & 1; + m[14] &= 65535; + sel25519(t, m, 1 - b3); + } + for (let i = 0; i < 16; i++) { + o[2 * i] = t[i] & 255; + o[2 * i + 1] = t[i] >> 8; + } + } + function verify32(x2, y2) { + let d2 = 0; + for (let i = 0; i < 32; i++) { + d2 |= x2[i] ^ y2[i]; + } + return (1 & d2 - 1 >>> 8) - 1; + } + function neq25519(a3, b3) { + const c2 = new Uint8Array(32); + const d2 = new Uint8Array(32); + pack25519(c2, a3); + pack25519(d2, b3); + return verify32(c2, d2); + } + function par25519(a3) { + const d2 = new Uint8Array(32); + pack25519(d2, a3); + return d2[0] & 1; + } + function unpack25519(o, n2) { + for (let i = 0; i < 16; i++) { + o[i] = n2[2 * i] + (n2[2 * i + 1] << 8); + } + o[15] &= 32767; + } + function add(o, a3, b3) { + for (let i = 0; i < 16; i++) { + o[i] = a3[i] + b3[i]; + } + } + function sub(o, a3, b3) { + for (let i = 0; i < 16; i++) { + o[i] = a3[i] - b3[i]; + } + } + function mul(o, a3, b3) { + let v2, c2, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b3[0], b1 = b3[1], b22 = b3[2], b32 = b3[3], b4 = b3[4], b5 = b3[5], b6 = b3[6], b7 = b3[7], b8 = b3[8], b9 = b3[9], b10 = b3[10], b11 = b3[11], b12 = b3[12], b13 = b3[13], b14 = b3[14], b15 = b3[15]; + v2 = a3[0]; + t0 += v2 * b0; + t1 += v2 * b1; + t2 += v2 * b22; + t3 += v2 * b32; + t4 += v2 * b4; + t5 += v2 * b5; + t6 += v2 * b6; + t7 += v2 * b7; + t8 += v2 * b8; + t9 += v2 * b9; + t10 += v2 * b10; + t11 += v2 * b11; + t12 += v2 * b12; + t13 += v2 * b13; + t14 += v2 * b14; + t15 += v2 * b15; + v2 = a3[1]; + t1 += v2 * b0; + t2 += v2 * b1; + t3 += v2 * b22; + t4 += v2 * b32; + t5 += v2 * b4; + t6 += v2 * b5; + t7 += v2 * b6; + t8 += v2 * b7; + t9 += v2 * b8; + t10 += v2 * b9; + t11 += v2 * b10; + t12 += v2 * b11; + t13 += v2 * b12; + t14 += v2 * b13; + t15 += v2 * b14; + t16 += v2 * b15; + v2 = a3[2]; + t2 += v2 * b0; + t3 += v2 * b1; + t4 += v2 * b22; + t5 += v2 * b32; + t6 += v2 * b4; + t7 += v2 * b5; + t8 += v2 * b6; + t9 += v2 * b7; + t10 += v2 * b8; + t11 += v2 * b9; + t12 += v2 * b10; + t13 += v2 * b11; + t14 += v2 * b12; + t15 += v2 * b13; + t16 += v2 * b14; + t17 += v2 * b15; + v2 = a3[3]; + t3 += v2 * b0; + t4 += v2 * b1; + t5 += v2 * b22; + t6 += v2 * b32; + t7 += v2 * b4; + t8 += v2 * b5; + t9 += v2 * b6; + t10 += v2 * b7; + t11 += v2 * b8; + t12 += v2 * b9; + t13 += v2 * b10; + t14 += v2 * b11; + t15 += v2 * b12; + t16 += v2 * b13; + t17 += v2 * b14; + t18 += v2 * b15; + v2 = a3[4]; + t4 += v2 * b0; + t5 += v2 * b1; + t6 += v2 * b22; + t7 += v2 * b32; + t8 += v2 * b4; + t9 += v2 * b5; + t10 += v2 * b6; + t11 += v2 * b7; + t12 += v2 * b8; + t13 += v2 * b9; + t14 += v2 * b10; + t15 += v2 * b11; + t16 += v2 * b12; + t17 += v2 * b13; + t18 += v2 * b14; + t19 += v2 * b15; + v2 = a3[5]; + t5 += v2 * b0; + t6 += v2 * b1; + t7 += v2 * b22; + t8 += v2 * b32; + t9 += v2 * b4; + t10 += v2 * b5; + t11 += v2 * b6; + t12 += v2 * b7; + t13 += v2 * b8; + t14 += v2 * b9; + t15 += v2 * b10; + t16 += v2 * b11; + t17 += v2 * b12; + t18 += v2 * b13; + t19 += v2 * b14; + t20 += v2 * b15; + v2 = a3[6]; + t6 += v2 * b0; + t7 += v2 * b1; + t8 += v2 * b22; + t9 += v2 * b32; + t10 += v2 * b4; + t11 += v2 * b5; + t12 += v2 * b6; + t13 += v2 * b7; + t14 += v2 * b8; + t15 += v2 * b9; + t16 += v2 * b10; + t17 += v2 * b11; + t18 += v2 * b12; + t19 += v2 * b13; + t20 += v2 * b14; + t21 += v2 * b15; + v2 = a3[7]; + t7 += v2 * b0; + t8 += v2 * b1; + t9 += v2 * b22; + t10 += v2 * b32; + t11 += v2 * b4; + t12 += v2 * b5; + t13 += v2 * b6; + t14 += v2 * b7; + t15 += v2 * b8; + t16 += v2 * b9; + t17 += v2 * b10; + t18 += v2 * b11; + t19 += v2 * b12; + t20 += v2 * b13; + t21 += v2 * b14; + t22 += v2 * b15; + v2 = a3[8]; + t8 += v2 * b0; + t9 += v2 * b1; + t10 += v2 * b22; + t11 += v2 * b32; + t12 += v2 * b4; + t13 += v2 * b5; + t14 += v2 * b6; + t15 += v2 * b7; + t16 += v2 * b8; + t17 += v2 * b9; + t18 += v2 * b10; + t19 += v2 * b11; + t20 += v2 * b12; + t21 += v2 * b13; + t22 += v2 * b14; + t23 += v2 * b15; + v2 = a3[9]; + t9 += v2 * b0; + t10 += v2 * b1; + t11 += v2 * b22; + t12 += v2 * b32; + t13 += v2 * b4; + t14 += v2 * b5; + t15 += v2 * b6; + t16 += v2 * b7; + t17 += v2 * b8; + t18 += v2 * b9; + t19 += v2 * b10; + t20 += v2 * b11; + t21 += v2 * b12; + t22 += v2 * b13; + t23 += v2 * b14; + t24 += v2 * b15; + v2 = a3[10]; + t10 += v2 * b0; + t11 += v2 * b1; + t12 += v2 * b22; + t13 += v2 * b32; + t14 += v2 * b4; + t15 += v2 * b5; + t16 += v2 * b6; + t17 += v2 * b7; + t18 += v2 * b8; + t19 += v2 * b9; + t20 += v2 * b10; + t21 += v2 * b11; + t22 += v2 * b12; + t23 += v2 * b13; + t24 += v2 * b14; + t25 += v2 * b15; + v2 = a3[11]; + t11 += v2 * b0; + t12 += v2 * b1; + t13 += v2 * b22; + t14 += v2 * b32; + t15 += v2 * b4; + t16 += v2 * b5; + t17 += v2 * b6; + t18 += v2 * b7; + t19 += v2 * b8; + t20 += v2 * b9; + t21 += v2 * b10; + t22 += v2 * b11; + t23 += v2 * b12; + t24 += v2 * b13; + t25 += v2 * b14; + t26 += v2 * b15; + v2 = a3[12]; + t12 += v2 * b0; + t13 += v2 * b1; + t14 += v2 * b22; + t15 += v2 * b32; + t16 += v2 * b4; + t17 += v2 * b5; + t18 += v2 * b6; + t19 += v2 * b7; + t20 += v2 * b8; + t21 += v2 * b9; + t22 += v2 * b10; + t23 += v2 * b11; + t24 += v2 * b12; + t25 += v2 * b13; + t26 += v2 * b14; + t27 += v2 * b15; + v2 = a3[13]; + t13 += v2 * b0; + t14 += v2 * b1; + t15 += v2 * b22; + t16 += v2 * b32; + t17 += v2 * b4; + t18 += v2 * b5; + t19 += v2 * b6; + t20 += v2 * b7; + t21 += v2 * b8; + t22 += v2 * b9; + t23 += v2 * b10; + t24 += v2 * b11; + t25 += v2 * b12; + t26 += v2 * b13; + t27 += v2 * b14; + t28 += v2 * b15; + v2 = a3[14]; + t14 += v2 * b0; + t15 += v2 * b1; + t16 += v2 * b22; + t17 += v2 * b32; + t18 += v2 * b4; + t19 += v2 * b5; + t20 += v2 * b6; + t21 += v2 * b7; + t22 += v2 * b8; + t23 += v2 * b9; + t24 += v2 * b10; + t25 += v2 * b11; + t26 += v2 * b12; + t27 += v2 * b13; + t28 += v2 * b14; + t29 += v2 * b15; + v2 = a3[15]; + t15 += v2 * b0; + t16 += v2 * b1; + t17 += v2 * b22; + t18 += v2 * b32; + t19 += v2 * b4; + t20 += v2 * b5; + t21 += v2 * b6; + t22 += v2 * b7; + t23 += v2 * b8; + t24 += v2 * b9; + t25 += v2 * b10; + t26 += v2 * b11; + t27 += v2 * b12; + t28 += v2 * b13; + t29 += v2 * b14; + t30 += v2 * b15; + t0 += 38 * t16; + t1 += 38 * t17; + t2 += 38 * t18; + t3 += 38 * t19; + t4 += 38 * t20; + t5 += 38 * t21; + t6 += 38 * t22; + t7 += 38 * t23; + t8 += 38 * t24; + t9 += 38 * t25; + t10 += 38 * t26; + t11 += 38 * t27; + t12 += 38 * t28; + t13 += 38 * t29; + t14 += 38 * t30; + c2 = 1; + v2 = t0 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t0 = v2 - c2 * 65536; + v2 = t1 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t1 = v2 - c2 * 65536; + v2 = t2 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t2 = v2 - c2 * 65536; + v2 = t3 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t3 = v2 - c2 * 65536; + v2 = t4 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t4 = v2 - c2 * 65536; + v2 = t5 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t5 = v2 - c2 * 65536; + v2 = t6 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t6 = v2 - c2 * 65536; + v2 = t7 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t7 = v2 - c2 * 65536; + v2 = t8 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t8 = v2 - c2 * 65536; + v2 = t9 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t9 = v2 - c2 * 65536; + v2 = t10 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t10 = v2 - c2 * 65536; + v2 = t11 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t11 = v2 - c2 * 65536; + v2 = t12 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t12 = v2 - c2 * 65536; + v2 = t13 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t13 = v2 - c2 * 65536; + v2 = t14 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t14 = v2 - c2 * 65536; + v2 = t15 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t15 = v2 - c2 * 65536; + t0 += c2 - 1 + 37 * (c2 - 1); + c2 = 1; + v2 = t0 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t0 = v2 - c2 * 65536; + v2 = t1 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t1 = v2 - c2 * 65536; + v2 = t2 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t2 = v2 - c2 * 65536; + v2 = t3 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t3 = v2 - c2 * 65536; + v2 = t4 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t4 = v2 - c2 * 65536; + v2 = t5 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t5 = v2 - c2 * 65536; + v2 = t6 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t6 = v2 - c2 * 65536; + v2 = t7 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t7 = v2 - c2 * 65536; + v2 = t8 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t8 = v2 - c2 * 65536; + v2 = t9 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t9 = v2 - c2 * 65536; + v2 = t10 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t10 = v2 - c2 * 65536; + v2 = t11 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t11 = v2 - c2 * 65536; + v2 = t12 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t12 = v2 - c2 * 65536; + v2 = t13 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t13 = v2 - c2 * 65536; + v2 = t14 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t14 = v2 - c2 * 65536; + v2 = t15 + c2 + 65535; + c2 = Math.floor(v2 / 65536); + t15 = v2 - c2 * 65536; + t0 += c2 - 1 + 37 * (c2 - 1); + o[0] = t0; + o[1] = t1; + o[2] = t2; + o[3] = t3; + o[4] = t4; + o[5] = t5; + o[6] = t6; + o[7] = t7; + o[8] = t8; + o[9] = t9; + o[10] = t10; + o[11] = t11; + o[12] = t12; + o[13] = t13; + o[14] = t14; + o[15] = t15; + } + function square(o, a3) { + mul(o, a3, a3); + } + function inv25519(o, i) { + const c2 = gf(); + let a3; + for (a3 = 0; a3 < 16; a3++) { + c2[a3] = i[a3]; + } + for (a3 = 253; a3 >= 0; a3--) { + square(c2, c2); + if (a3 !== 2 && a3 !== 4) { + mul(c2, c2, i); + } + } + for (a3 = 0; a3 < 16; a3++) { + o[a3] = c2[a3]; + } + } + function pow2523(o, i) { + const c2 = gf(); + let a3; + for (a3 = 0; a3 < 16; a3++) { + c2[a3] = i[a3]; + } + for (a3 = 250; a3 >= 0; a3--) { + square(c2, c2); + if (a3 !== 1) { + mul(c2, c2, i); + } + } + for (a3 = 0; a3 < 16; a3++) { + o[a3] = c2[a3]; + } + } + function edadd(p2, q2) { + const a3 = gf(), b3 = gf(), c2 = gf(), d2 = gf(), e = gf(), f2 = gf(), g3 = gf(), h4 = gf(), t = gf(); + sub(a3, p2[1], p2[0]); + sub(t, q2[1], q2[0]); + mul(a3, a3, t); + add(b3, p2[0], p2[1]); + add(t, q2[0], q2[1]); + mul(b3, b3, t); + mul(c2, p2[3], q2[3]); + mul(c2, c2, D22); + mul(d2, p2[2], q2[2]); + add(d2, d2, d2); + sub(e, b3, a3); + sub(f2, d2, c2); + add(g3, d2, c2); + add(h4, b3, a3); + mul(p2[0], e, f2); + mul(p2[1], h4, g3); + mul(p2[2], g3, f2); + mul(p2[3], e, h4); + } + function cswap(p2, q2, b3) { + for (let i = 0; i < 4; i++) { + sel25519(p2[i], q2[i], b3); + } + } + function pack(r, p2) { + const tx = gf(), ty = gf(), zi = gf(); + inv25519(zi, p2[2]); + mul(tx, p2[0], zi); + mul(ty, p2[1], zi); + pack25519(r, ty); + r[31] ^= par25519(tx) << 7; + } + function scalarmult(p2, q2, s) { + set25519(p2[0], gf0); + set25519(p2[1], gf1); + set25519(p2[2], gf1); + set25519(p2[3], gf0); + for (let i = 255; i >= 0; --i) { + const b3 = s[i / 8 | 0] >> (i & 7) & 1; + cswap(p2, q2, b3); + edadd(q2, p2); + edadd(p2, p2); + cswap(p2, q2, b3); + } + } + function scalarbase(p2, s) { + const q2 = [gf(), gf(), gf(), gf()]; + set25519(q2[0], X2); + set25519(q2[1], Y); + set25519(q2[2], gf1); + mul(q2[3], X2, Y); + scalarmult(p2, q2, s); + } + function generateKeyPairFromSeed(seed) { + if (seed.length !== exports.SEED_LENGTH) { + throw new Error(`ed25519: seed must be ${exports.SEED_LENGTH} bytes`); + } + const d2 = (0, sha512_1.hash)(seed); + d2[0] &= 248; + d2[31] &= 127; + d2[31] |= 64; + const publicKey = new Uint8Array(32); + const p2 = [gf(), gf(), gf(), gf()]; + scalarbase(p2, d2); + pack(publicKey, p2); + const secretKey = new Uint8Array(64); + secretKey.set(seed); + secretKey.set(publicKey, 32); + return { + publicKey, + secretKey + }; + } + exports.generateKeyPairFromSeed = generateKeyPairFromSeed; + function generateKeyPair2(prng) { + const seed = (0, random_1.randomBytes)(32, prng); + const result = generateKeyPairFromSeed(seed); + (0, wipe_1.wipe)(seed); + return result; + } + exports.generateKeyPair = generateKeyPair2; + function extractPublicKeyFromSecretKey(secretKey) { + if (secretKey.length !== exports.SECRET_KEY_LENGTH) { + throw new Error(`ed25519: secret key must be ${exports.SECRET_KEY_LENGTH} bytes`); + } + return new Uint8Array(secretKey.subarray(32)); + } + exports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey; + const L = new Float64Array([ + 237, + 211, + 245, + 92, + 26, + 99, + 18, + 88, + 214, + 156, + 247, + 162, + 222, + 249, + 222, + 20, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 16 + ]); + function modL(r, x2) { + let carry; + let i; + let j2; + let k2; + for (i = 63; i >= 32; --i) { + carry = 0; + for (j2 = i - 32, k2 = i - 12; j2 < k2; ++j2) { + x2[j2] += carry - 16 * x2[i] * L[j2 - (i - 32)]; + carry = Math.floor((x2[j2] + 128) / 256); + x2[j2] -= carry * 256; + } + x2[j2] += carry; + x2[i] = 0; + } + carry = 0; + for (j2 = 0; j2 < 32; j2++) { + x2[j2] += carry - (x2[31] >> 4) * L[j2]; + carry = x2[j2] >> 8; + x2[j2] &= 255; + } + for (j2 = 0; j2 < 32; j2++) { + x2[j2] -= carry * L[j2]; + } + for (i = 0; i < 32; i++) { + x2[i + 1] += x2[i] >> 8; + r[i] = x2[i] & 255; + } + } + function reduce(r) { + const x2 = new Float64Array(64); + for (let i = 0; i < 64; i++) { + x2[i] = r[i]; + } + for (let i = 0; i < 64; i++) { + r[i] = 0; + } + modL(r, x2); + } + function sign(secretKey, message) { + const x2 = new Float64Array(64); + const p2 = [gf(), gf(), gf(), gf()]; + const d2 = (0, sha512_1.hash)(secretKey.subarray(0, 32)); + d2[0] &= 248; + d2[31] &= 127; + d2[31] |= 64; + const signature = new Uint8Array(64); + signature.set(d2.subarray(32), 32); + const hs2 = new sha512_1.SHA512(); + hs2.update(signature.subarray(32)); + hs2.update(message); + const r = hs2.digest(); + hs2.clean(); + reduce(r); + scalarbase(p2, r); + pack(signature, p2); + hs2.reset(); + hs2.update(signature.subarray(0, 32)); + hs2.update(secretKey.subarray(32)); + hs2.update(message); + const h4 = hs2.digest(); + reduce(h4); + for (let i = 0; i < 32; i++) { + x2[i] = r[i]; + } + for (let i = 0; i < 32; i++) { + for (let j2 = 0; j2 < 32; j2++) { + x2[i + j2] += h4[i] * d2[j2]; + } + } + modL(signature.subarray(32), x2); + return signature; + } + exports.sign = sign; + function unpackneg(r, p2) { + const t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf(); + set25519(r[2], gf1); + unpack25519(r[1], p2); + square(num, r[1]); + mul(den, num, D2); + sub(num, num, r[2]); + add(den, r[2], den); + square(den2, den); + square(den4, den2); + mul(den6, den4, den2); + mul(t, den6, num); + mul(t, t, den); + pow2523(t, t); + mul(t, t, num); + mul(t, t, den); + mul(t, t, den); + mul(r[0], t, den); + square(chk, r[0]); + mul(chk, chk, den); + if (neq25519(chk, num)) { + mul(r[0], r[0], I); + } + square(chk, r[0]); + mul(chk, chk, den); + if (neq25519(chk, num)) { + return -1; + } + if (par25519(r[0]) === p2[31] >> 7) { + sub(r[0], gf0, r[0]); + } + mul(r[3], r[0], r[1]); + return 0; + } + function verify(publicKey, message, signature) { + const t = new Uint8Array(32); + const p2 = [gf(), gf(), gf(), gf()]; + const q2 = [gf(), gf(), gf(), gf()]; + if (signature.length !== exports.SIGNATURE_LENGTH) { + throw new Error(`ed25519: signature must be ${exports.SIGNATURE_LENGTH} bytes`); + } + if (unpackneg(q2, publicKey)) { + return false; + } + const hs2 = new sha512_1.SHA512(); + hs2.update(signature.subarray(0, 32)); + hs2.update(publicKey); + hs2.update(message); + const h4 = hs2.digest(); + reduce(h4); + scalarmult(p2, q2, h4); + scalarbase(q2, signature.subarray(32)); + edadd(p2, q2); + pack(t, p2); + if (verify32(signature, t)) { + return false; + } + return true; + } + exports.verify = verify; + function convertPublicKeyToX25519(publicKey) { + let q2 = [gf(), gf(), gf(), gf()]; + if (unpackneg(q2, publicKey)) { + throw new Error("Ed25519: invalid public key"); + } + let a3 = gf(); + let b3 = gf(); + let y2 = q2[1]; + add(a3, gf1, y2); + sub(b3, gf1, y2); + inv25519(b3, b3); + mul(a3, a3, b3); + let z2 = new Uint8Array(32); + pack25519(z2, a3); + return z2; + } + exports.convertPublicKeyToX25519 = convertPublicKeyToX25519; + function convertSecretKeyToX25519(secretKey) { + const d2 = (0, sha512_1.hash)(secretKey.subarray(0, 32)); + d2[0] &= 248; + d2[31] &= 127; + d2[31] |= 64; + const o = new Uint8Array(d2.subarray(0, 32)); + (0, wipe_1.wipe)(d2); + return o; + } + exports.convertSecretKeyToX25519 = convertSecretKeyToX25519; +})(ed25519); +const JWT_IRIDIUM_ALG = "EdDSA"; +const JWT_IRIDIUM_TYP = "JWT"; +const JWT_DELIMITER = "."; +const JWT_ENCODING = "base64url"; +const JSON_ENCODING = "utf8"; +const DATA_ENCODING = "utf8"; +const DID_DELIMITER = ":"; +const DID_PREFIX = "did"; +const DID_METHOD = "key"; +const MULTICODEC_ED25519_ENCODING = "base58btc"; +const MULTICODEC_ED25519_BASE = "z"; +const MULTICODEC_ED25519_HEADER = "K36"; +const KEY_PAIR_SEED_LENGTH = 32; +function encodeJSON(val) { + return toString(fromString(safeJsonStringify(val), JSON_ENCODING), JWT_ENCODING); +} +function encodeIss(publicKey) { + const header = fromString(MULTICODEC_ED25519_HEADER, MULTICODEC_ED25519_ENCODING); + const multicodec = MULTICODEC_ED25519_BASE + toString(concat([header, publicKey]), MULTICODEC_ED25519_ENCODING); + return [DID_PREFIX, DID_METHOD, multicodec].join(DID_DELIMITER); +} +function encodeSig(bytes) { + return toString(bytes, JWT_ENCODING); +} +function encodeData(params) { + return fromString([encodeJSON(params.header), encodeJSON(params.payload)].join(JWT_DELIMITER), DATA_ENCODING); +} +function encodeJWT(params) { + return [ + encodeJSON(params.header), + encodeJSON(params.payload), + encodeSig(params.signature) + ].join(JWT_DELIMITER); +} +function generateKeyPair(seed = random.randomBytes(KEY_PAIR_SEED_LENGTH)) { + return ed25519.generateKeyPairFromSeed(seed); +} +async function signJWT(sub, aud, ttl, keyPair, iat = cjs$3.fromMiliseconds(Date.now())) { + const header = { alg: JWT_IRIDIUM_ALG, typ: JWT_IRIDIUM_TYP }; + const iss = encodeIss(keyPair.publicKey); + const exp = iat + ttl; + const payload = { iss, sub, aud, iat, exp }; + const data = encodeData({ header, payload }); + const signature = ed25519.sign(keyPair.secretKey, data); + return encodeJWT({ header, payload, signature }); +} +const PARSE_ERROR = "PARSE_ERROR"; +const INVALID_REQUEST = "INVALID_REQUEST"; +const METHOD_NOT_FOUND = "METHOD_NOT_FOUND"; +const INVALID_PARAMS = "INVALID_PARAMS"; +const INTERNAL_ERROR = "INTERNAL_ERROR"; +const SERVER_ERROR = "SERVER_ERROR"; +const RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603]; +const STANDARD_ERROR_MAP = { + [PARSE_ERROR]: { code: -32700, message: "Parse error" }, + [INVALID_REQUEST]: { code: -32600, message: "Invalid Request" }, + [METHOD_NOT_FOUND]: { code: -32601, message: "Method not found" }, + [INVALID_PARAMS]: { code: -32602, message: "Invalid params" }, + [INTERNAL_ERROR]: { code: -32603, message: "Internal error" }, + [SERVER_ERROR]: { code: -32e3, message: "Server error" } +}; +const DEFAULT_ERROR = SERVER_ERROR; +function isReservedErrorCode(code) { + return RESERVED_ERROR_CODES.includes(code); +} +function getError(type) { + if (!Object.keys(STANDARD_ERROR_MAP).includes(type)) { + return STANDARD_ERROR_MAP[DEFAULT_ERROR]; + } + return STANDARD_ERROR_MAP[type]; +} +function getErrorByCode(code) { + const match = Object.values(STANDARD_ERROR_MAP).find((e) => e.code === code); + if (!match) { + return STANDARD_ERROR_MAP[DEFAULT_ERROR]; + } + return match; +} +function parseConnectionError(e, url, type) { + return e.message.includes("getaddrinfo ENOTFOUND") || e.message.includes("connect ECONNREFUSED") ? new Error(`Unavailable ${type} RPC url at ${url}`) : e; +} +var cjs = {}; +var crypto$1 = {}; +var hasRequiredCrypto; +function requireCrypto() { + if (hasRequiredCrypto) + return crypto$1; + hasRequiredCrypto = 1; + Object.defineProperty(crypto$1, "__esModule", { value: true }); + crypto$1.isBrowserCryptoAvailable = crypto$1.getSubtleCrypto = crypto$1.getBrowerCrypto = void 0; + function getBrowerCrypto() { + return (commonjsGlobal === null || commonjsGlobal === void 0 ? void 0 : commonjsGlobal.crypto) || (commonjsGlobal === null || commonjsGlobal === void 0 ? void 0 : commonjsGlobal.msCrypto) || {}; + } + crypto$1.getBrowerCrypto = getBrowerCrypto; + function getSubtleCrypto() { + const browserCrypto = getBrowerCrypto(); + return browserCrypto.subtle || browserCrypto.webkitSubtle; + } + crypto$1.getSubtleCrypto = getSubtleCrypto; + function isBrowserCryptoAvailable() { + return !!getBrowerCrypto() && !!getSubtleCrypto(); + } + crypto$1.isBrowserCryptoAvailable = isBrowserCryptoAvailable; + return crypto$1; +} +var env = {}; +var hasRequiredEnv; +function requireEnv() { + if (hasRequiredEnv) + return env; + hasRequiredEnv = 1; + Object.defineProperty(env, "__esModule", { value: true }); + env.isBrowser = env.isNode = env.isReactNative = void 0; + function isReactNative() { + return typeof document === "undefined" && typeof navigator !== "undefined" && navigator.product === "ReactNative"; + } + env.isReactNative = isReactNative; + function isNode() { + return typeof process !== "undefined" && typeof process.versions !== "undefined" && typeof process.versions.node !== "undefined"; + } + env.isNode = isNode; + function isBrowser() { + return !isReactNative() && !isNode(); + } + env.isBrowser = isBrowser; + return env; +} +(function(exports) { + Object.defineProperty(exports, "__esModule", { value: true }); + const tslib_1 = require$$0$1; + tslib_1.__exportStar(requireCrypto(), exports); + tslib_1.__exportStar(requireEnv(), exports); +})(cjs); +function payloadId(entropy = 3) { + const date = Date.now() * Math.pow(10, entropy); + const extra = Math.floor(Math.random() * Math.pow(10, entropy)); + return date + extra; +} +function getBigIntRpcId(entropy = 6) { + return BigInt(payloadId(entropy)); +} +function formatJsonRpcRequest(method, params, id) { + return { + id: id || payloadId(), + jsonrpc: "2.0", + method, + params + }; +} +function formatJsonRpcResult(id, result) { + return { + id, + jsonrpc: "2.0", + result + }; +} +function formatJsonRpcError(id, error, data) { + return { + id, + jsonrpc: "2.0", + error: formatErrorMessage(error, data) + }; +} +function formatErrorMessage(error, data) { + if (typeof error === "undefined") { + return getError(INTERNAL_ERROR); + } + if (typeof error === "string") { + error = Object.assign(Object.assign({}, getError(SERVER_ERROR)), { message: error }); + } + if (typeof data !== "undefined") { + error.data = data; + } + if (isReservedErrorCode(error.code)) { + error = getErrorByCode(error.code); + } + return error; +} +class IEvents2 { +} +class IBaseJsonRpcProvider extends IEvents2 { + constructor() { + super(); + } +} +class IJsonRpcProvider extends IBaseJsonRpcProvider { + constructor(connection) { + super(); + } +} +const WS_REGEX = "^wss?:"; +function getUrlProtocol(url) { + const matches = url.match(new RegExp(/^\w+:/, "gi")); + if (!matches || !matches.length) + return; + return matches[0]; +} +function matchRegexProtocol(url, regex) { + const protocol = getUrlProtocol(url); + if (typeof protocol === "undefined") + return false; + return new RegExp(regex).test(protocol); +} +function isWsUrl(url) { + return matchRegexProtocol(url, WS_REGEX); +} +function isLocalhostUrl(url) { + return new RegExp("wss?://localhost(:d{2,5})?").test(url); +} +function isJsonRpcPayload(payload) { + return typeof payload === "object" && "id" in payload && "jsonrpc" in payload && payload.jsonrpc === "2.0"; +} +function isJsonRpcRequest(payload) { + return isJsonRpcPayload(payload) && "method" in payload; +} +function isJsonRpcResponse(payload) { + return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload)); +} +function isJsonRpcResult(payload) { + return "result" in payload; +} +function isJsonRpcError(payload) { + return "error" in payload; +} +class JsonRpcProvider extends IJsonRpcProvider { + constructor(connection) { + super(connection); + this.events = new eventsExports.EventEmitter(); + this.hasRegisteredEventListeners = false; + this.connection = this.setConnection(connection); + if (this.connection.connected) { + this.registerEventListeners(); + } + } + async connect(connection = this.connection) { + await this.open(connection); + } + async disconnect() { + await this.close(); + } + on(event, listener) { + this.events.on(event, listener); + } + once(event, listener) { + this.events.once(event, listener); + } + off(event, listener) { + this.events.off(event, listener); + } + removeListener(event, listener) { + this.events.removeListener(event, listener); + } + async request(request, context) { + return this.requestStrict(formatJsonRpcRequest(request.method, request.params || [], request.id || getBigIntRpcId().toString()), context); + } + async requestStrict(request, context) { + return new Promise(async (resolve, reject) => { + if (!this.connection.connected) { + try { + await this.open(); + } catch (e) { + reject(e); + } + } + this.events.on(`${request.id}`, (response) => { + if (isJsonRpcError(response)) { + reject(response.error); + } else { + resolve(response.result); + } + }); + try { + await this.connection.send(request, context); + } catch (e) { + reject(e); + } + }); + } + setConnection(connection = this.connection) { + return connection; + } + onPayload(payload) { + this.events.emit("payload", payload); + if (isJsonRpcResponse(payload)) { + this.events.emit(`${payload.id}`, payload); + } else { + this.events.emit("message", { + type: payload.method, + data: payload.params + }); + } + } + onClose(event) { + if (event && event.code === 3e3) { + this.events.emit("error", new Error(`WebSocket connection closed abnormally with code: ${event.code} ${event.reason ? `(${event.reason})` : ""}`)); + } + this.events.emit("disconnect"); + } + async open(connection = this.connection) { + if (this.connection === connection && this.connection.connected) + return; + if (this.connection.connected) + this.close(); + if (typeof connection === "string") { + await this.connection.open(connection); + connection = this.connection; + } + this.connection = this.setConnection(connection); + await this.connection.open(); + this.registerEventListeners(); + this.events.emit("connect"); + } + async close() { + await this.connection.close(); + } + registerEventListeners() { + if (this.hasRegisteredEventListeners) + return; + this.connection.on("payload", (payload) => this.onPayload(payload)); + this.connection.on("close", (event) => this.onClose(event)); + this.connection.on("error", (error) => this.events.emit("error", error)); + this.connection.on("register_error", (error) => this.onClose()); + this.hasRegisteredEventListeners = true; + } +} +const w$1 = () => typeof WebSocket < "u" ? WebSocket : typeof global < "u" && typeof global.WebSocket < "u" ? global.WebSocket : typeof window < "u" && typeof window.WebSocket < "u" ? window.WebSocket : typeof self < "u" && typeof self.WebSocket < "u" ? self.WebSocket : require("ws"), b2 = () => typeof WebSocket < "u" || typeof global < "u" && typeof global.WebSocket < "u" || typeof window < "u" && typeof window.WebSocket < "u" || typeof self < "u" && typeof self.WebSocket < "u", a2 = (c2) => c2.split("?")[0], h3 = 10, S2 = w$1(); +class f { + constructor(e) { + if (this.url = e, this.events = new eventsExports.EventEmitter(), this.registering = false, !isWsUrl(e)) + throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`); + this.url = e; + } + get connected() { + return typeof this.socket < "u"; + } + get connecting() { + return this.registering; + } + on(e, t) { + this.events.on(e, t); + } + once(e, t) { + this.events.once(e, t); + } + off(e, t) { + this.events.off(e, t); + } + removeListener(e, t) { + this.events.removeListener(e, t); + } + async open(e = this.url) { + await this.register(e); + } + async close() { + return new Promise((e, t) => { + if (typeof this.socket > "u") { + t(new Error("Connection already closed")); + return; + } + this.socket.onclose = (n2) => { + this.onClose(n2), e(); + }, this.socket.close(); + }); + } + async send(e) { + typeof this.socket > "u" && (this.socket = await this.register()); + try { + this.socket.send(safeJsonStringify(e)); + } catch (t) { + this.onError(e.id, t); + } + } + register(e = this.url) { + if (!isWsUrl(e)) + throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`); + if (this.registering) { + const t = this.events.getMaxListeners(); + return (this.events.listenerCount("register_error") >= t || this.events.listenerCount("open") >= t) && this.events.setMaxListeners(t + 1), new Promise((n2, o) => { + this.events.once("register_error", (s) => { + this.resetMaxListeners(), o(s); + }), this.events.once("open", () => { + if (this.resetMaxListeners(), typeof this.socket > "u") + return o(new Error("WebSocket connection is missing or invalid")); + n2(this.socket); + }); + }); + } + return this.url = e, this.registering = true, new Promise((t, n2) => { + const o = new URLSearchParams(e).get("origin"), s = cjs.isReactNative() ? { headers: { origin: o } } : { rejectUnauthorized: !isLocalhostUrl(e) }, i = new S2(e, [], s); + b2() ? i.onerror = (r) => { + const l2 = r; + n2(this.emitError(l2.error)); + } : i.on("error", (r) => { + n2(this.emitError(r)); + }), i.onopen = () => { + this.onOpen(i), t(i); + }; + }); + } + onOpen(e) { + e.onmessage = (t) => this.onPayload(t), e.onclose = (t) => this.onClose(t), this.socket = e, this.registering = false, this.events.emit("open"); + } + onClose(e) { + this.socket = void 0, this.registering = false, this.events.emit("close", e); + } + onPayload(e) { + if (typeof e.data > "u") + return; + const t = typeof e.data == "string" ? safeJsonParse(e.data) : e.data; + this.events.emit("payload", t); + } + onError(e, t) { + const n2 = this.parseError(t), o = n2.message || n2.toString(), s = formatJsonRpcError(e, o); + this.events.emit("payload", s); + } + parseError(e, t = this.url) { + return parseConnectionError(e, a2(t), "WS"); + } + resetMaxListeners() { + this.events.getMaxListeners() > h3 && this.events.setMaxListeners(h3); + } + emitError(e) { + const t = this.parseError(new Error((e == null ? void 0 : e.message) || `WebSocket connection failed for host: ${a2(this.url)}`)); + return this.events.emit("register_error", t), t; + } +} +var lodash_isequal = { exports: {} }; +lodash_isequal.exports; +(function(module, exports) { + var LARGE_ARRAY_SIZE = 200; + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; + var MAX_SAFE_INTEGER = 9007199254740991; + var argsTag = "[object Arguments]", arrayTag = "[object Array]", asyncTag = "[object AsyncFunction]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", nullTag = "[object Null]", objectTag = "[object Object]", promiseTag = "[object Promise]", proxyTag = "[object Proxy]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", undefinedTag = "[object Undefined]", weakMapTag = "[object WeakMap]"; + var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + var reIsHostCtor = /^\[object .+?Constructor\]$/; + var reIsUint = /^(?:0|[1-9]\d*)$/; + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + var freeGlobal = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal; + var freeSelf = typeof self == "object" && self && self.Object === Object && self; + var root = freeGlobal || freeSelf || Function("return this")(); + var freeExports = exports && !exports.nodeType && exports; + var freeModule = freeExports && true && module && !module.nodeType && module; + var moduleExports = freeModule && freeModule.exports === freeExports; + var freeProcess = moduleExports && freeGlobal.process; + var nodeUtil = function() { + try { + return freeProcess && freeProcess.binding && freeProcess.binding("util"); + } catch (e) { + } + }(); + var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + function arrayFilter(array, predicate) { + var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + function arrayPush(array, values) { + var index = -1, length = values.length, offset = array.length; + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + function arraySome(array, predicate) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + function baseTimes(n2, iteratee) { + var index = -1, result = Array(n2); + while (++index < n2) { + result[index] = iteratee(index); + } + return result; + } + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + function cacheHas(cache, key) { + return cache.has(key); + } + function getValue(object, key) { + return object == null ? void 0 : object[key]; + } + function mapToArray(map) { + var index = -1, result = Array(map.size); + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + function setToArray(set2) { + var index = -1, result = Array(set2.size); + set2.forEach(function(value) { + result[++index] = value; + }); + return result; + } + var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto = Object.prototype; + var coreJsData = root["__core-js_shared__"]; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var maskSrcKey = function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); + return uid ? "Symbol(src)_1." + uid : ""; + }(); + var nativeObjectToString = objectProto.toString; + var reIsNative = RegExp( + "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" + ); + var Buffer2 = moduleExports ? root.Buffer : void 0, Symbol2 = root.Symbol, Uint8Array2 = root.Uint8Array, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0; + var nativeGetSymbols = Object.getOwnPropertySymbols, nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0, nativeKeys = overArg(Object.keys, Object); + var DataView = getNative(root, "DataView"), Map2 = getNative(root, "Map"), Promise2 = getNative(root, "Promise"), Set2 = getNative(root, "Set"), WeakMap = getNative(root, "WeakMap"), nativeCreate = getNative(Object, "create"); + var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap); + var symbolProto = Symbol2 ? Symbol2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; + function Hash(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? void 0 : result; + } + return hasOwnProperty.call(data, key) ? data[key] : void 0; + } + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key); + } + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value; + return this; + } + Hash.prototype.clear = hashClear; + Hash.prototype["delete"] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + function ListCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + function listCacheDelete(key) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + function listCacheGet(key) { + var data = this.__data__, index = assocIndexOf(data, key); + return index < 0 ? void 0 : data[index][1]; + } + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + function listCacheSet(key, value) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + ListCache.prototype.clear = listCacheClear; + ListCache.prototype["delete"] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + function MapCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + function mapCacheClear() { + this.size = 0; + this.__data__ = { + "hash": new Hash(), + "map": new (Map2 || ListCache)(), + "string": new Hash() + }; + } + function mapCacheDelete(key) { + var result = getMapData(this, key)["delete"](key); + this.size -= result ? 1 : 0; + return result; + } + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + function mapCacheSet(key, value) { + var data = getMapData(this, key), size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype["delete"] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + function SetCache(values) { + var index = -1, length = values == null ? 0 : values.length; + this.__data__ = new MapCache(); + while (++index < length) { + this.add(values[index]); + } + } + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + function setCacheHas(value) { + return this.__data__.has(value); + } + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + function stackClear() { + this.__data__ = new ListCache(); + this.size = 0; + } + function stackDelete(key) { + var data = this.__data__, result = data["delete"](key); + this.size = data.size; + return result; + } + function stackGet(key) { + return this.__data__.get(key); + } + function stackHas(key) { + return this.__data__.has(key); + } + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + Stack.prototype.clear = stackClear; + Stack.prototype["delete"] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. + (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. + isIndex(key, length)))) { + result.push(key); + } + } + return result; + } + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + function baseGetTag(value) { + if (value == null) { + return value === void 0 ? undefinedTag : nullTag; + } + return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); + } + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack()); + return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__"); + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; + stack || (stack = new Stack()); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack()); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + function baseIsTypedArray(value) { + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != "constructor") { + result.push(key); + } + } + return result; + } + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0; + stack.set(array, other); + stack.set(other, array); + while (++index < arrLength) { + var arrValue = array[index], othValue = other[index]; + if (customizer) { + var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== void 0) { + if (compared) { + continue; + } + result = false; + break; + } + if (seen) { + if (!arraySome(other, function(othValue2, othIndex) { + if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + result = false; + break; + } + } + stack["delete"](array); + stack["delete"](other); + return result; + } + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { + return false; + } + object = object.buffer; + other = other.buffer; + case arrayBufferTag: + if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) { + return false; + } + return true; + case boolTag: + case dateTag: + case numberTag: + return eq(+object, +other); + case errorTag: + return object.name == other.name && object.message == other.message; + case regexpTag: + case stringTag: + return object == other + ""; + case mapTag: + var convert = mapToArray; + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + if (object.size != other.size && !isPartial) { + return false; + } + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack["delete"](object); + return result; + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], othValue = other[key]; + if (customizer) { + var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); + } + if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { + result = false; + break; + } + skipCtor || (skipCtor = key == "constructor"); + } + if (result && !skipCtor) { + var objCtor = object.constructor, othCtor = other.constructor; + if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { + result = false; + } + } + stack["delete"](object); + stack["delete"](other); + return result; + } + function getAllKeys(object) { + return baseGetAllKeys(object, keys2, getSymbols); + } + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; + } + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : void 0; + } + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; + try { + value[symToStringTag] = void 0; + var unmasked = true; + } catch (e) { + } + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + var getTag = baseGetTag; + if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) { + getTag = function(value) { + var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : ""; + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag; + case mapCtorString: + return mapTag; + case promiseCtorString: + return promiseTag; + case setCtorString: + return setTag; + case weakMapCtorString: + return weakMapTag; + } + } + return result; + }; + } + function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (typeof value == "number" || reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); + } + function isKeyable(value) { + var type = typeof value; + return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; + } + function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; + } + function isPrototype(value) { + var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; + return value === proto; + } + function objectToString(value) { + return nativeObjectToString.call(value); + } + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) { + } + try { + return func + ""; + } catch (e) { + } + } + return ""; + } + function eq(value, other) { + return value === other || value !== value && other !== other; + } + var isArguments = baseIsArguments(function() { + return arguments; + }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); + }; + var isArray = Array.isArray; + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + var isBuffer = nativeIsBuffer || stubFalse; + function isEqual(value, other) { + return baseIsEqual(value, other); + } + function isFunction(value) { + if (!isObject(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + function isObject(value) { + var type = typeof value; + return value != null && (type == "object" || type == "function"); + } + function isObjectLike(value) { + return value != null && typeof value == "object"; + } + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + function keys2(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + function stubArray() { + return []; + } + function stubFalse() { + return false; + } + module.exports = isEqual; +})(lodash_isequal, lodash_isequal.exports); +var lodash_isequalExports = lodash_isequal.exports; +const Bi = /* @__PURE__ */ getDefaultExportFromCjs(lodash_isequalExports); +function Vi(r, e) { + if (r.length >= 255) + throw new TypeError("Alphabet too long"); + for (var t = new Uint8Array(256), i = 0; i < t.length; i++) + t[i] = 255; + for (var s = 0; s < r.length; s++) { + var n2 = r.charAt(s), o = n2.charCodeAt(0); + if (t[o] !== 255) + throw new TypeError(n2 + " is ambiguous"); + t[o] = s; + } + var a3 = r.length, h4 = r.charAt(0), l2 = Math.log(a3) / Math.log(256), d2 = Math.log(256) / Math.log(a3); + function p2(u2) { + if (u2 instanceof Uint8Array || (ArrayBuffer.isView(u2) ? u2 = new Uint8Array(u2.buffer, u2.byteOffset, u2.byteLength) : Array.isArray(u2) && (u2 = Uint8Array.from(u2))), !(u2 instanceof Uint8Array)) + throw new TypeError("Expected Uint8Array"); + if (u2.length === 0) + return ""; + for (var m = 0, z2 = 0, I = 0, _2 = u2.length; I !== _2 && u2[I] === 0; ) + I++, m++; + for (var S3 = (_2 - I) * d2 + 1 >>> 0, b3 = new Uint8Array(S3); I !== _2; ) { + for (var T = u2[I], A = 0, C2 = S3 - 1; (T !== 0 || A < z2) && C2 !== -1; C2--, A++) + T += 256 * b3[C2] >>> 0, b3[C2] = T % a3 >>> 0, T = T / a3 >>> 0; + if (T !== 0) + throw new Error("Non-zero carry"); + z2 = A, I++; + } + for (var x2 = S3 - z2; x2 !== S3 && b3[x2] === 0; ) + x2++; + for (var j2 = h4.repeat(m); x2 < S3; ++x2) + j2 += r.charAt(b3[x2]); + return j2; + } + function y2(u2) { + if (typeof u2 != "string") + throw new TypeError("Expected String"); + if (u2.length === 0) + return new Uint8Array(); + var m = 0; + if (u2[m] !== " ") { + for (var z2 = 0, I = 0; u2[m] === h4; ) + z2++, m++; + for (var _2 = (u2.length - m) * l2 + 1 >>> 0, S3 = new Uint8Array(_2); u2[m]; ) { + var b3 = t[u2.charCodeAt(m)]; + if (b3 === 255) + return; + for (var T = 0, A = _2 - 1; (b3 !== 0 || T < I) && A !== -1; A--, T++) + b3 += a3 * S3[A] >>> 0, S3[A] = b3 % 256 >>> 0, b3 = b3 / 256 >>> 0; + if (b3 !== 0) + throw new Error("Non-zero carry"); + I = T, m++; + } + if (u2[m] !== " ") { + for (var C2 = _2 - I; C2 !== _2 && S3[C2] === 0; ) + C2++; + for (var x2 = new Uint8Array(z2 + (_2 - C2)), j2 = z2; C2 !== _2; ) + x2[j2++] = S3[C2++]; + return x2; + } + } + } + function M(u2) { + var m = y2(u2); + if (m) + return m; + throw new Error(`Non-${e} character`); + } + return { encode: p2, decodeUnsafe: y2, decode: M }; +} +var qi = Vi, ji = qi; +const Ne = (r) => { + if (r instanceof Uint8Array && r.constructor.name === "Uint8Array") + return r; + if (r instanceof ArrayBuffer) + return new Uint8Array(r); + if (ArrayBuffer.isView(r)) + return new Uint8Array(r.buffer, r.byteOffset, r.byteLength); + throw new Error("Unknown type, must be binary type"); +}, Gi = (r) => new TextEncoder().encode(r), Yi = (r) => new TextDecoder().decode(r); +class Hi { + constructor(e, t, i) { + this.name = e, this.prefix = t, this.baseEncode = i; + } + encode(e) { + if (e instanceof Uint8Array) + return `${this.prefix}${this.baseEncode(e)}`; + throw Error("Unknown type, must be binary type"); + } +} +class Ji { + constructor(e, t, i) { + if (this.name = e, this.prefix = t, t.codePointAt(0) === void 0) + throw new Error("Invalid prefix character"); + this.prefixCodePoint = t.codePointAt(0), this.baseDecode = i; + } + decode(e) { + if (typeof e == "string") { + if (e.codePointAt(0) !== this.prefixCodePoint) + throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`); + return this.baseDecode(e.slice(this.prefix.length)); + } else + throw Error("Can only multibase decode strings"); + } + or(e) { + return Ue(this, e); + } +} +class Wi { + constructor(e) { + this.decoders = e; + } + or(e) { + return Ue(this, e); + } + decode(e) { + const t = e[0], i = this.decoders[t]; + if (i) + return i.decode(e); + throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`); + } +} +const Ue = (r, e) => new Wi({ ...r.decoders || { [r.prefix]: r }, ...e.decoders || { [e.prefix]: e } }); +class Xi { + constructor(e, t, i, s) { + this.name = e, this.prefix = t, this.baseEncode = i, this.baseDecode = s, this.encoder = new Hi(e, t, i), this.decoder = new Ji(e, t, s); + } + encode(e) { + return this.encoder.encode(e); + } + decode(e) { + return this.decoder.decode(e); + } +} +const X = ({ name: r, prefix: e, encode: t, decode: i }) => new Xi(r, e, t, i), B = ({ prefix: r, name: e, alphabet: t }) => { + const { encode: i, decode: s } = ji(t, e); + return X({ prefix: r, name: e, encode: i, decode: (n2) => Ne(s(n2)) }); +}, Qi = (r, e, t, i) => { + const s = {}; + for (let d2 = 0; d2 < e.length; ++d2) + s[e[d2]] = d2; + let n2 = r.length; + for (; r[n2 - 1] === "="; ) + --n2; + const o = new Uint8Array(n2 * t / 8 | 0); + let a3 = 0, h4 = 0, l2 = 0; + for (let d2 = 0; d2 < n2; ++d2) { + const p2 = s[r[d2]]; + if (p2 === void 0) + throw new SyntaxError(`Non-${i} character`); + h4 = h4 << t | p2, a3 += t, a3 >= 8 && (a3 -= 8, o[l2++] = 255 & h4 >> a3); + } + if (a3 >= t || 255 & h4 << 8 - a3) + throw new SyntaxError("Unexpected end of data"); + return o; +}, Zi = (r, e, t) => { + const i = e[e.length - 1] === "=", s = (1 << t) - 1; + let n2 = "", o = 0, a3 = 0; + for (let h4 = 0; h4 < r.length; ++h4) + for (a3 = a3 << 8 | r[h4], o += 8; o > t; ) + o -= t, n2 += e[s & a3 >> o]; + if (o && (n2 += e[s & a3 << t - o]), i) + for (; n2.length * t & 7; ) + n2 += "="; + return n2; +}, g2 = ({ name: r, prefix: e, bitsPerChar: t, alphabet: i }) => X({ prefix: e, name: r, encode(s) { + return Zi(s, i, t); +}, decode(s) { + return Qi(s, i, t, r); +} }), es = X({ prefix: "\0", name: "identity", encode: (r) => Yi(r), decode: (r) => Gi(r) }); +var ts = Object.freeze({ __proto__: null, identity: es }); +const is = g2({ prefix: "0", name: "base2", alphabet: "01", bitsPerChar: 1 }); +var ss = Object.freeze({ __proto__: null, base2: is }); +const rs = g2({ prefix: "7", name: "base8", alphabet: "01234567", bitsPerChar: 3 }); +var ns = Object.freeze({ __proto__: null, base8: rs }); +const os = B({ prefix: "9", name: "base10", alphabet: "0123456789" }); +var as = Object.freeze({ __proto__: null, base10: os }); +const hs = g2({ prefix: "f", name: "base16", alphabet: "0123456789abcdef", bitsPerChar: 4 }), cs = g2({ prefix: "F", name: "base16upper", alphabet: "0123456789ABCDEF", bitsPerChar: 4 }); +var us = Object.freeze({ __proto__: null, base16: hs, base16upper: cs }); +const ls = g2({ prefix: "b", name: "base32", alphabet: "abcdefghijklmnopqrstuvwxyz234567", bitsPerChar: 5 }), ds = g2({ prefix: "B", name: "base32upper", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567", bitsPerChar: 5 }), gs = g2({ prefix: "c", name: "base32pad", alphabet: "abcdefghijklmnopqrstuvwxyz234567=", bitsPerChar: 5 }), ps = g2({ prefix: "C", name: "base32padupper", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=", bitsPerChar: 5 }), Ds = g2({ prefix: "v", name: "base32hex", alphabet: "0123456789abcdefghijklmnopqrstuv", bitsPerChar: 5 }), ys = g2({ prefix: "V", name: "base32hexupper", alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUV", bitsPerChar: 5 }), ms = g2({ prefix: "t", name: "base32hexpad", alphabet: "0123456789abcdefghijklmnopqrstuv=", bitsPerChar: 5 }), bs = g2({ prefix: "T", name: "base32hexpadupper", alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUV=", bitsPerChar: 5 }), fs = g2({ prefix: "h", name: "base32z", alphabet: "ybndrfg8ejkmcpqxot1uwisza345h769", bitsPerChar: 5 }); +var Es = Object.freeze({ __proto__: null, base32: ls, base32upper: ds, base32pad: gs, base32padupper: ps, base32hex: Ds, base32hexupper: ys, base32hexpad: ms, base32hexpadupper: bs, base32z: fs }); +const ws = B({ prefix: "k", name: "base36", alphabet: "0123456789abcdefghijklmnopqrstuvwxyz" }), vs = B({ prefix: "K", name: "base36upper", alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" }); +var Is = Object.freeze({ __proto__: null, base36: ws, base36upper: vs }); +const Cs = B({ name: "base58btc", prefix: "z", alphabet: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" }), Rs = B({ name: "base58flickr", prefix: "Z", alphabet: "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ" }); +var _s = Object.freeze({ __proto__: null, base58btc: Cs, base58flickr: Rs }); +const Ss = g2({ prefix: "m", name: "base64", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", bitsPerChar: 6 }), Ts = g2({ prefix: "M", name: "base64pad", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", bitsPerChar: 6 }), Ps = g2({ prefix: "u", name: "base64url", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", bitsPerChar: 6 }), xs = g2({ prefix: "U", name: "base64urlpad", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=", bitsPerChar: 6 }); +var Os = Object.freeze({ __proto__: null, base64: Ss, base64pad: Ts, base64url: Ps, base64urlpad: xs }); +const Le = Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"), As = Le.reduce((r, e, t) => (r[t] = e, r), []), zs = Le.reduce((r, e, t) => (r[e.codePointAt(0)] = t, r), []); +function Ns(r) { + return r.reduce((e, t) => (e += As[t], e), ""); +} +function Us(r) { + const e = []; + for (const t of r) { + const i = zs[t.codePointAt(0)]; + if (i === void 0) + throw new Error(`Non-base256emoji character: ${t}`); + e.push(i); + } + return new Uint8Array(e); +} +const Ls = X({ prefix: "🚀", name: "base256emoji", encode: Ns, decode: Us }); +var Fs = Object.freeze({ __proto__: null, base256emoji: Ls }), $s = $e, Fe = 128, Ms = 127, ks = ~Ms, Ks = Math.pow(2, 31); +function $e(r, e, t) { + e = e || [], t = t || 0; + for (var i = t; r >= Ks; ) + e[t++] = r & 255 | Fe, r /= 128; + for (; r & ks; ) + e[t++] = r & 255 | Fe, r >>>= 7; + return e[t] = r | 0, $e.bytes = t - i + 1, e; +} +var Bs = he, Vs = 128, Me = 127; +function he(r, i) { + var t = 0, i = i || 0, s = 0, n2 = i, o, a3 = r.length; + do { + if (n2 >= a3) + throw he.bytes = 0, new RangeError("Could not decode varint"); + o = r[n2++], t += s < 28 ? (o & Me) << s : (o & Me) * Math.pow(2, s), s += 7; + } while (o >= Vs); + return he.bytes = n2 - i, t; +} +var qs = Math.pow(2, 7), js = Math.pow(2, 14), Gs = Math.pow(2, 21), Ys = Math.pow(2, 28), Hs = Math.pow(2, 35), Js = Math.pow(2, 42), Ws = Math.pow(2, 49), Xs = Math.pow(2, 56), Qs = Math.pow(2, 63), Zs = function(r) { + return r < qs ? 1 : r < js ? 2 : r < Gs ? 3 : r < Ys ? 4 : r < Hs ? 5 : r < Js ? 6 : r < Ws ? 7 : r < Xs ? 8 : r < Qs ? 9 : 10; +}, er = { encode: $s, decode: Bs, encodingLength: Zs }, ke = er; +const Ke = (r, e, t = 0) => (ke.encode(r, e, t), e), Be = (r) => ke.encodingLength(r), ce = (r, e) => { + const t = e.byteLength, i = Be(r), s = i + Be(t), n2 = new Uint8Array(s + t); + return Ke(r, n2, 0), Ke(t, n2, i), n2.set(e, s), new tr(r, t, e, n2); +}; +class tr { + constructor(e, t, i, s) { + this.code = e, this.size = t, this.digest = i, this.bytes = s; + } +} +const Ve = ({ name: r, code: e, encode: t }) => new ir(r, e, t); +class ir { + constructor(e, t, i) { + this.name = e, this.code = t, this.encode = i; + } + digest(e) { + if (e instanceof Uint8Array) { + const t = this.encode(e); + return t instanceof Uint8Array ? ce(this.code, t) : t.then((i) => ce(this.code, i)); + } else + throw Error("Unknown type, must be binary type"); + } +} +const qe = (r) => async (e) => new Uint8Array(await crypto.subtle.digest(r, e)), sr = Ve({ name: "sha2-256", code: 18, encode: qe("SHA-256") }), rr = Ve({ name: "sha2-512", code: 19, encode: qe("SHA-512") }); +var nr = Object.freeze({ __proto__: null, sha256: sr, sha512: rr }); +const je = 0, or = "identity", Ge = Ne, ar = (r) => ce(je, Ge(r)), hr = { code: je, name: or, encode: Ge, digest: ar }; +var cr = Object.freeze({ __proto__: null, identity: hr }); +new TextEncoder(), new TextDecoder(); +const Ye = { ...ts, ...ss, ...ns, ...as, ...us, ...Es, ...Is, ..._s, ...Os, ...Fs }; +({ ...nr, ...cr }); +function He(r) { + return globalThis.Buffer != null ? new Uint8Array(r.buffer, r.byteOffset, r.byteLength) : r; +} +function ur(r = 0) { + return globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null ? He(globalThis.Buffer.allocUnsafe(r)) : new Uint8Array(r); +} +function Je(r, e, t, i) { + return { name: r, prefix: e, encoder: { name: r, prefix: e, encode: t }, decoder: { decode: i } }; +} +const We = Je("utf8", "u", (r) => "u" + new TextDecoder("utf8").decode(r), (r) => new TextEncoder().encode(r.substring(1))), ue = Je("ascii", "a", (r) => { + let e = "a"; + for (let t = 0; t < r.length; t++) + e += String.fromCharCode(r[t]); + return e; +}, (r) => { + r = r.substring(1); + const e = ur(r.length); + for (let t = 0; t < r.length; t++) + e[t] = r.charCodeAt(t); + return e; +}), lr = { utf8: We, "utf-8": We, hex: Ye.base16, latin1: ue, ascii: ue, binary: ue, ...Ye }; +function dr(r, e = "utf8") { + const t = lr[e]; + if (!t) + throw new Error(`Unsupported encoding "${e}"`); + return (e === "utf8" || e === "utf-8") && globalThis.Buffer != null && globalThis.Buffer.from != null ? He(globalThis.Buffer.from(r, "utf-8")) : t.decoder.decode(`${t.prefix}${r}`); +} +const le = "wc", Xe = 2, Q = "core", O = `${le}@2:${Q}:`, Qe = { name: Q, logger: "error" }, Ze = { database: ":memory:" }, et = "crypto", de = "client_ed25519_seed", tt = cjs$3.ONE_DAY, it = "keychain", st = "0.3", rt = "messages", nt = "0.3", ot = cjs$3.SIX_HOURS, at = "publisher", ht = "irn", ct = "error", ge = "wss://relay.walletconnect.com", pe = "wss://relay.walletconnect.org", ut = "relayer", D = { message: "relayer_message", message_ack: "relayer_message_ack", connect: "relayer_connect", disconnect: "relayer_disconnect", error: "relayer_error", connection_stalled: "relayer_connection_stalled", transport_closed: "relayer_transport_closed", publish: "relayer_publish" }, lt = "_subscription", P = { payload: "payload", connect: "connect", disconnect: "disconnect", error: "error" }, dt = cjs$3.ONE_SECOND, gr = { database: ":memory:" }, gt = "2.10.6", pt = 1e4, Dt = "0.3", yt = "WALLETCONNECT_CLIENT_ID", w = { created: "subscription_created", deleted: "subscription_deleted", expired: "subscription_expired", disabled: "subscription_disabled", sync: "subscription_sync", resubscribed: "subscription_resubscribed" }, pr = cjs$3.THIRTY_DAYS, mt = "subscription", bt = "0.3", ft = cjs$3.FIVE_SECONDS * 1e3, Et = "pairing", wt = "0.3", Dr = cjs$3.THIRTY_DAYS, F = { wc_pairingDelete: { req: { ttl: cjs$3.ONE_DAY, prompt: false, tag: 1e3 }, res: { ttl: cjs$3.ONE_DAY, prompt: false, tag: 1001 } }, wc_pairingPing: { req: { ttl: cjs$3.THIRTY_SECONDS, prompt: false, tag: 1002 }, res: { ttl: cjs$3.THIRTY_SECONDS, prompt: false, tag: 1003 } }, unregistered_method: { req: { ttl: cjs$3.ONE_DAY, prompt: false, tag: 0 }, res: { ttl: cjs$3.ONE_DAY, prompt: false, tag: 0 } } }, V = { create: "pairing_create", expire: "pairing_expire", delete: "pairing_delete", ping: "pairing_ping" }, R = { created: "history_created", updated: "history_updated", deleted: "history_deleted", sync: "history_sync" }, vt = "history", It = "0.3", Ct = "expirer", v = { created: "expirer_created", deleted: "expirer_deleted", expired: "expirer_expired", sync: "expirer_sync" }, Rt = "0.3", yr = cjs$3.ONE_DAY, Z = "verify-api", $ = "https://verify.walletconnect.com", ee = "https://verify.walletconnect.org", _t = [$, ee]; +class St { + constructor(e, t) { + this.core = e, this.logger = t, this.keychain = /* @__PURE__ */ new Map(), this.name = it, this.version = st, this.initialized = false, this.storagePrefix = O, this.init = async () => { + if (!this.initialized) { + const i = await this.getKeyChain(); + typeof i < "u" && (this.keychain = i), this.initialized = true; + } + }, this.has = (i) => (this.isInitialized(), this.keychain.has(i)), this.set = async (i, s) => { + this.isInitialized(), this.keychain.set(i, s), await this.persist(); + }, this.get = (i) => { + this.isInitialized(); + const s = this.keychain.get(i); + if (typeof s > "u") { + const { message: n2 } = N$1("NO_MATCHING_KEY", `${this.name}: ${i}`); + throw new Error(n2); + } + return s; + }, this.del = async (i) => { + this.isInitialized(), this.keychain.delete(i), await this.persist(); + }, this.core = e, this.logger = cjs$1.generateChildLogger(t, this.name); + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + get storageKey() { + return this.storagePrefix + this.version + this.core.customStoragePrefix + "//" + this.name; + } + async setKeyChain(e) { + await this.core.storage.setItem(this.storageKey, rt$1(e)); + } + async getKeyChain() { + const e = await this.core.storage.getItem(this.storageKey); + return typeof e < "u" ? ot$1(e) : void 0; + } + async persist() { + await this.setKeyChain(this.keychain); + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } +} +class Tt { + constructor(e, t, i) { + this.core = e, this.logger = t, this.name = et, this.initialized = false, this.init = async () => { + this.initialized || (await this.keychain.init(), this.initialized = true); + }, this.hasKeys = (s) => (this.isInitialized(), this.keychain.has(s)), this.getClientId = async () => { + this.isInitialized(); + const s = await this.getClientSeed(), n2 = generateKeyPair(s); + return encodeIss(n2.publicKey); + }, this.generateKeyPair = () => { + this.isInitialized(); + const s = kn(); + return this.setPrivateKey(s.publicKey, s.privateKey); + }, this.signJWT = async (s) => { + this.isInitialized(); + const n2 = await this.getClientSeed(), o = generateKeyPair(n2), a3 = Vn(), h4 = tt; + return await signJWT(a3, s, h4, o); + }, this.generateSharedKey = (s, n2, o) => { + this.isInitialized(); + const a3 = this.getPrivateKey(s), h4 = Mn(a3, n2); + return this.setSymKey(h4, o); + }, this.setSymKey = async (s, n2) => { + this.isInitialized(); + const o = n2 || Kn(s); + return await this.keychain.set(o, s), o; + }, this.deleteKeyPair = async (s) => { + this.isInitialized(), await this.keychain.del(s); + }, this.deleteSymKey = async (s) => { + this.isInitialized(), await this.keychain.del(s); + }, this.encode = async (s, n2, o) => { + this.isInitialized(); + const a3 = Te(o), h4 = safeJsonStringify(n2); + if (qn(a3)) { + const y2 = a3.senderPublicKey, M = a3.receiverPublicKey; + s = await this.generateSharedKey(y2, M); + } + const l2 = this.getSymKey(s), { type: d2, senderPublicKey: p2 } = a3; + return xn({ type: d2, symKey: l2, message: h4, senderPublicKey: p2 }); + }, this.decode = async (s, n2, o) => { + this.isInitialized(); + const a3 = Hn(n2, o); + if (qn(a3)) { + const h4 = a3.receiverPublicKey, l2 = a3.senderPublicKey; + s = await this.generateSharedKey(h4, l2); + } + try { + const h4 = this.getSymKey(s), l2 = Fn({ symKey: h4, encoded: n2 }); + return safeJsonParse(l2); + } catch (h4) { + this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`), this.logger.error(h4); + } + }, this.getPayloadType = (s) => { + const n2 = ee$1(s); + return $$1(n2.type); + }, this.getPayloadSenderPublicKey = (s) => { + const n2 = ee$1(s); + return n2.senderPublicKey ? toString(n2.senderPublicKey, p$1) : void 0; + }, this.core = e, this.logger = cjs$1.generateChildLogger(t, this.name), this.keychain = i || new St(this.core, this.logger); + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + async setPrivateKey(e, t) { + return await this.keychain.set(e, t), e; + } + getPrivateKey(e) { + return this.keychain.get(e); + } + async getClientSeed() { + let e = ""; + try { + e = this.keychain.get(de); + } catch { + e = Vn(), await this.keychain.set(de, e); + } + return dr(e, "base16"); + } + getSymKey(e) { + return this.keychain.get(e); + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } +} +class Pt extends a$1 { + constructor(e, t) { + super(e, t), this.logger = e, this.core = t, this.messages = /* @__PURE__ */ new Map(), this.name = rt, this.version = nt, this.initialized = false, this.storagePrefix = O, this.init = async () => { + if (!this.initialized) { + this.logger.trace("Initialized"); + try { + const i = await this.getRelayerMessages(); + typeof i < "u" && (this.messages = i), this.logger.debug(`Successfully Restored records for ${this.name}`), this.logger.trace({ type: "method", method: "restore", size: this.messages.size }); + } catch (i) { + this.logger.debug(`Failed to Restore records for ${this.name}`), this.logger.error(i); + } finally { + this.initialized = true; + } + } + }, this.set = async (i, s) => { + this.isInitialized(); + const n2 = Ln(s); + let o = this.messages.get(i); + return typeof o > "u" && (o = {}), typeof o[n2] < "u" || (o[n2] = s, this.messages.set(i, o), await this.persist()), n2; + }, this.get = (i) => { + this.isInitialized(); + let s = this.messages.get(i); + return typeof s > "u" && (s = {}), s; + }, this.has = (i, s) => { + this.isInitialized(); + const n2 = this.get(i), o = Ln(s); + return typeof n2[o] < "u"; + }, this.del = async (i) => { + this.isInitialized(), this.messages.delete(i), await this.persist(); + }, this.logger = cjs$1.generateChildLogger(e, this.name), this.core = t; + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + get storageKey() { + return this.storagePrefix + this.version + this.core.customStoragePrefix + "//" + this.name; + } + async setRelayerMessages(e) { + await this.core.storage.setItem(this.storageKey, rt$1(e)); + } + async getRelayerMessages() { + const e = await this.core.storage.getItem(this.storageKey); + return typeof e < "u" ? ot$1(e) : void 0; + } + async persist() { + await this.setRelayerMessages(this.messages); + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } +} +class mr extends u { + constructor(e, t) { + super(e, t), this.relayer = e, this.logger = t, this.events = new eventsExports.EventEmitter(), this.name = at, this.queue = /* @__PURE__ */ new Map(), this.publishTimeout = cjs$3.toMiliseconds(cjs$3.TEN_SECONDS), this.needsTransportRestart = false, this.publish = async (i, s, n2) => { + var o; + this.logger.debug("Publishing Payload"), this.logger.trace({ type: "method", method: "publish", params: { topic: i, message: s, opts: n2 } }); + try { + const a3 = (n2 == null ? void 0 : n2.ttl) || ot, h4 = vt$1(n2), l2 = (n2 == null ? void 0 : n2.prompt) || false, d2 = (n2 == null ? void 0 : n2.tag) || 0, p2 = (n2 == null ? void 0 : n2.id) || getBigIntRpcId().toString(), y2 = { topic: i, message: s, opts: { ttl: a3, relay: h4, prompt: l2, tag: d2, id: p2 } }, M = setTimeout(() => this.queue.set(p2, y2), this.publishTimeout); + try { + await await ut$1(this.rpcPublish(i, s, a3, h4, l2, d2, p2), this.publishTimeout, "Failed to publish payload, please try again."), this.removeRequestFromQueue(p2), this.relayer.events.emit(D.publish, y2); + } catch (u2) { + if (this.logger.debug("Publishing Payload stalled"), this.needsTransportRestart = true, (o = n2 == null ? void 0 : n2.internal) != null && o.throwOnFailedPublish) + throw this.removeRequestFromQueue(p2), u2; + return; + } finally { + clearTimeout(M); + } + this.logger.debug("Successfully Published Payload"), this.logger.trace({ type: "method", method: "publish", params: { topic: i, message: s, opts: n2 } }); + } catch (a3) { + throw this.logger.debug("Failed to Publish Payload"), this.logger.error(a3), a3; + } + }, this.on = (i, s) => { + this.events.on(i, s); + }, this.once = (i, s) => { + this.events.once(i, s); + }, this.off = (i, s) => { + this.events.off(i, s); + }, this.removeListener = (i, s) => { + this.events.removeListener(i, s); + }, this.relayer = e, this.logger = cjs$1.generateChildLogger(t, this.name), this.registerEventListeners(); + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + rpcPublish(e, t, i, s, n2, o, a3) { + var h4, l2, d2, p2; + const y2 = { method: Et$1(s.protocol).publish, params: { topic: e, message: t, ttl: i, prompt: n2, tag: o }, id: a3 }; + return w$2((h4 = y2.params) == null ? void 0 : h4.prompt) && ((l2 = y2.params) == null || delete l2.prompt), w$2((d2 = y2.params) == null ? void 0 : d2.tag) && ((p2 = y2.params) == null || delete p2.tag), this.logger.debug("Outgoing Relay Payload"), this.logger.trace({ type: "message", direction: "outgoing", request: y2 }), this.relayer.request(y2); + } + removeRequestFromQueue(e) { + this.queue.delete(e); + } + checkQueue() { + this.queue.forEach(async (e) => { + const { topic: t, message: i, opts: s } = e; + await this.publish(t, i, s); + }); + } + registerEventListeners() { + this.relayer.core.heartbeat.on(cjs$2.HEARTBEAT_EVENTS.pulse, () => { + if (this.needsTransportRestart) { + this.needsTransportRestart = false, this.relayer.events.emit(D.connection_stalled); + return; + } + this.checkQueue(); + }), this.relayer.on(D.message_ack, (e) => { + this.removeRequestFromQueue(e.id.toString()); + }); + } +} +class br { + constructor() { + this.map = /* @__PURE__ */ new Map(), this.set = (e, t) => { + const i = this.get(e); + this.exists(e, t) || this.map.set(e, [...i, t]); + }, this.get = (e) => this.map.get(e) || [], this.exists = (e, t) => this.get(e).includes(t), this.delete = (e, t) => { + if (typeof t > "u") { + this.map.delete(e); + return; + } + if (!this.map.has(e)) + return; + const i = this.get(e); + if (!this.exists(e, t)) + return; + const s = i.filter((n2) => n2 !== t); + if (!s.length) { + this.map.delete(e); + return; + } + this.map.set(e, s); + }, this.clear = () => { + this.map.clear(); + }; + } + get topics() { + return Array.from(this.map.keys()); + } +} +var fr = Object.defineProperty, Er = Object.defineProperties, wr = Object.getOwnPropertyDescriptors, xt = Object.getOwnPropertySymbols, vr = Object.prototype.hasOwnProperty, Ir = Object.prototype.propertyIsEnumerable, Ot = (r, e, t) => e in r ? fr(r, e, { enumerable: true, configurable: true, writable: true, value: t }) : r[e] = t, q = (r, e) => { + for (var t in e || (e = {})) + vr.call(e, t) && Ot(r, t, e[t]); + if (xt) + for (var t of xt(e)) + Ir.call(e, t) && Ot(r, t, e[t]); + return r; +}, De = (r, e) => Er(r, wr(e)); +class At extends d { + constructor(e, t) { + super(e, t), this.relayer = e, this.logger = t, this.subscriptions = /* @__PURE__ */ new Map(), this.topicMap = new br(), this.events = new eventsExports.EventEmitter(), this.name = mt, this.version = bt, this.pending = /* @__PURE__ */ new Map(), this.cached = [], this.initialized = false, this.pendingSubscriptionWatchLabel = "pending_sub_watch_label", this.pollingInterval = 20, this.storagePrefix = O, this.subscribeTimeout = 1e4, this.restartInProgress = false, this.batchSubscribeTopicsLimit = 500, this.init = async () => { + this.initialized || (this.logger.trace("Initialized"), this.registerEventListeners(), this.clientId = await this.relayer.core.crypto.getClientId()); + }, this.subscribe = async (i, s) => { + await this.restartToComplete(), this.isInitialized(), this.logger.debug("Subscribing Topic"), this.logger.trace({ type: "method", method: "subscribe", params: { topic: i, opts: s } }); + try { + const n2 = vt$1(s), o = { topic: i, relay: n2 }; + this.pending.set(i, o); + const a3 = await this.rpcSubscribe(i, n2); + return this.onSubscribe(a3, o), this.logger.debug("Successfully Subscribed Topic"), this.logger.trace({ type: "method", method: "subscribe", params: { topic: i, opts: s } }), a3; + } catch (n2) { + throw this.logger.debug("Failed to Subscribe Topic"), this.logger.error(n2), n2; + } + }, this.unsubscribe = async (i, s) => { + await this.restartToComplete(), this.isInitialized(), typeof (s == null ? void 0 : s.id) < "u" ? await this.unsubscribeById(i, s.id, s) : await this.unsubscribeByTopic(i, s); + }, this.isSubscribed = async (i) => this.topics.includes(i) ? true : await new Promise((s, n2) => { + const o = new cjs$3.Watch(); + o.start(this.pendingSubscriptionWatchLabel); + const a3 = setInterval(() => { + !this.pending.has(i) && this.topics.includes(i) && (clearInterval(a3), o.stop(this.pendingSubscriptionWatchLabel), s(true)), o.elapsed(this.pendingSubscriptionWatchLabel) >= ft && (clearInterval(a3), o.stop(this.pendingSubscriptionWatchLabel), n2(new Error("Subscription resolution timeout"))); + }, this.pollingInterval); + }).catch(() => false), this.on = (i, s) => { + this.events.on(i, s); + }, this.once = (i, s) => { + this.events.once(i, s); + }, this.off = (i, s) => { + this.events.off(i, s); + }, this.removeListener = (i, s) => { + this.events.removeListener(i, s); + }, this.restart = async () => { + this.restartInProgress = true, await this.restore(), await this.reset(), this.restartInProgress = false; + }, this.relayer = e, this.logger = cjs$1.generateChildLogger(t, this.name), this.clientId = ""; + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + get storageKey() { + return this.storagePrefix + this.version + this.relayer.core.customStoragePrefix + "//" + this.name; + } + get length() { + return this.subscriptions.size; + } + get ids() { + return Array.from(this.subscriptions.keys()); + } + get values() { + return Array.from(this.subscriptions.values()); + } + get topics() { + return this.topicMap.topics; + } + hasSubscription(e, t) { + let i = false; + try { + i = this.getSubscription(e).topic === t; + } catch { + } + return i; + } + onEnable() { + this.cached = [], this.initialized = true; + } + onDisable() { + this.cached = this.values, this.subscriptions.clear(), this.topicMap.clear(); + } + async unsubscribeByTopic(e, t) { + const i = this.topicMap.get(e); + await Promise.all(i.map(async (s) => await this.unsubscribeById(e, s, t))); + } + async unsubscribeById(e, t, i) { + this.logger.debug("Unsubscribing Topic"), this.logger.trace({ type: "method", method: "unsubscribe", params: { topic: e, id: t, opts: i } }); + try { + const s = vt$1(i); + await this.rpcUnsubscribe(e, t, s); + const n2 = U("USER_DISCONNECTED", `${this.name}, ${e}`); + await this.onUnsubscribe(e, t, n2), this.logger.debug("Successfully Unsubscribed Topic"), this.logger.trace({ type: "method", method: "unsubscribe", params: { topic: e, id: t, opts: i } }); + } catch (s) { + throw this.logger.debug("Failed to Unsubscribe Topic"), this.logger.error(s), s; + } + } + async rpcSubscribe(e, t) { + const i = { method: Et$1(t.protocol).subscribe, params: { topic: e } }; + this.logger.debug("Outgoing Relay Payload"), this.logger.trace({ type: "payload", direction: "outgoing", request: i }); + try { + await await ut$1(this.relayer.request(i), this.subscribeTimeout); + } catch { + this.logger.debug("Outgoing Relay Subscribe Payload stalled"), this.relayer.events.emit(D.connection_stalled); + } + return Ln(e + this.clientId); + } + async rpcBatchSubscribe(e) { + if (!e.length) + return; + const t = e[0].relay, i = { method: Et$1(t.protocol).batchSubscribe, params: { topics: e.map((s) => s.topic) } }; + this.logger.debug("Outgoing Relay Payload"), this.logger.trace({ type: "payload", direction: "outgoing", request: i }); + try { + return await await ut$1(this.relayer.request(i), this.subscribeTimeout); + } catch { + this.logger.debug("Outgoing Relay Payload stalled"), this.relayer.events.emit(D.connection_stalled); + } + } + rpcUnsubscribe(e, t, i) { + const s = { method: Et$1(i.protocol).unsubscribe, params: { topic: e, id: t } }; + return this.logger.debug("Outgoing Relay Payload"), this.logger.trace({ type: "payload", direction: "outgoing", request: s }), this.relayer.request(s); + } + onSubscribe(e, t) { + this.setSubscription(e, De(q({}, t), { id: e })), this.pending.delete(t.topic); + } + onBatchSubscribe(e) { + e.length && e.forEach((t) => { + this.setSubscription(t.id, q({}, t)), this.pending.delete(t.topic); + }); + } + async onUnsubscribe(e, t, i) { + this.events.removeAllListeners(t), this.hasSubscription(t, e) && this.deleteSubscription(t, i), await this.relayer.messages.del(e); + } + async setRelayerSubscriptions(e) { + await this.relayer.core.storage.setItem(this.storageKey, e); + } + async getRelayerSubscriptions() { + return await this.relayer.core.storage.getItem(this.storageKey); + } + setSubscription(e, t) { + this.subscriptions.has(e) || (this.logger.debug("Setting subscription"), this.logger.trace({ type: "method", method: "setSubscription", id: e, subscription: t }), this.addSubscription(e, t)); + } + addSubscription(e, t) { + this.subscriptions.set(e, q({}, t)), this.topicMap.set(t.topic, e), this.events.emit(w.created, t); + } + getSubscription(e) { + this.logger.debug("Getting subscription"), this.logger.trace({ type: "method", method: "getSubscription", id: e }); + const t = this.subscriptions.get(e); + if (!t) { + const { message: i } = N$1("NO_MATCHING_KEY", `${this.name}: ${e}`); + throw new Error(i); + } + return t; + } + deleteSubscription(e, t) { + this.logger.debug("Deleting subscription"), this.logger.trace({ type: "method", method: "deleteSubscription", id: e, reason: t }); + const i = this.getSubscription(e); + this.subscriptions.delete(e), this.topicMap.delete(i.topic, e), this.events.emit(w.deleted, De(q({}, i), { reason: t })); + } + async persist() { + await this.setRelayerSubscriptions(this.values), this.events.emit(w.sync); + } + async reset() { + if (this.cached.length) { + const e = Math.ceil(this.cached.length / this.batchSubscribeTopicsLimit); + for (let t = 0; t < e; t++) { + const i = this.cached.splice(0, this.batchSubscribeTopicsLimit); + await this.batchSubscribe(i); + } + } + this.events.emit(w.resubscribed); + } + async restore() { + try { + const e = await this.getRelayerSubscriptions(); + if (typeof e > "u" || !e.length) + return; + if (this.subscriptions.size) { + const { message: t } = N$1("RESTORE_WILL_OVERRIDE", this.name); + throw this.logger.error(t), this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`), new Error(t); + } + this.cached = e, this.logger.debug(`Successfully Restored subscriptions for ${this.name}`), this.logger.trace({ type: "method", method: "restore", subscriptions: this.values }); + } catch (e) { + this.logger.debug(`Failed to Restore subscriptions for ${this.name}`), this.logger.error(e); + } + } + async batchSubscribe(e) { + if (!e.length) + return; + const t = await this.rpcBatchSubscribe(e); + k$1(t) && this.onBatchSubscribe(t.map((i, s) => De(q({}, e[s]), { id: i }))); + } + async onConnect() { + this.restartInProgress || (await this.restart(), this.onEnable()); + } + onDisconnect() { + this.onDisable(); + } + async checkPending() { + if (!this.initialized || this.relayer.transportExplicitlyClosed) + return; + const e = []; + this.pending.forEach((t) => { + e.push(t); + }), await this.batchSubscribe(e); + } + registerEventListeners() { + this.relayer.core.heartbeat.on(cjs$2.HEARTBEAT_EVENTS.pulse, async () => { + await this.checkPending(); + }), this.relayer.on(D.connect, async () => { + await this.onConnect(); + }), this.relayer.on(D.disconnect, () => { + this.onDisconnect(); + }), this.events.on(w.created, async (e) => { + const t = w.created; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, data: e }), await this.persist(); + }), this.events.on(w.deleted, async (e) => { + const t = w.deleted; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, data: e }), await this.persist(); + }); + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } + async restartToComplete() { + this.restartInProgress && await new Promise((e) => { + const t = setInterval(() => { + this.restartInProgress || (clearInterval(t), e()); + }, this.pollingInterval); + }); + } +} +var Cr = Object.defineProperty, zt = Object.getOwnPropertySymbols, Rr = Object.prototype.hasOwnProperty, _r = Object.prototype.propertyIsEnumerable, Nt = (r, e, t) => e in r ? Cr(r, e, { enumerable: true, configurable: true, writable: true, value: t }) : r[e] = t, Sr = (r, e) => { + for (var t in e || (e = {})) + Rr.call(e, t) && Nt(r, t, e[t]); + if (zt) + for (var t of zt(e)) + _r.call(e, t) && Nt(r, t, e[t]); + return r; +}; +class Ut extends g$1 { + constructor(e) { + super(e), this.protocol = "wc", this.version = 2, this.events = new eventsExports.EventEmitter(), this.name = ut, this.transportExplicitlyClosed = false, this.initialized = false, this.connectionAttemptInProgress = false, this.connectionStatusPollingInterval = 20, this.staleConnectionErrors = ["socket hang up", "socket stalled"], this.hasExperiencedNetworkDisruption = false, this.request = async (t) => { + this.logger.debug("Publishing Request Payload"); + try { + return await this.toEstablishConnection(), await this.provider.request(t); + } catch (i) { + throw this.logger.debug("Failed to Publish Request"), this.logger.error(i), i; + } + }, this.onPayloadHandler = (t) => { + this.onProviderPayload(t); + }, this.onConnectHandler = () => { + this.events.emit(D.connect); + }, this.onDisconnectHandler = () => { + this.onProviderDisconnect(); + }, this.onProviderErrorHandler = (t) => { + this.logger.error(t), this.events.emit(D.error, t), this.logger.info("Fatal socket error received, closing transport"), this.transportClose(); + }, this.registerProviderListeners = () => { + this.provider.on(P.payload, this.onPayloadHandler), this.provider.on(P.connect, this.onConnectHandler), this.provider.on(P.disconnect, this.onDisconnectHandler), this.provider.on(P.error, this.onProviderErrorHandler); + }, this.core = e.core, this.logger = typeof e.logger < "u" && typeof e.logger != "string" ? cjs$1.generateChildLogger(e.logger, this.name) : cjs$1.pino(cjs$1.getDefaultLoggerOptions({ level: e.logger || ct })), this.messages = new Pt(this.logger, e.core), this.subscriber = new At(this, this.logger), this.publisher = new mr(this, this.logger), this.relayUrl = (e == null ? void 0 : e.relayUrl) || ge, this.projectId = e.projectId, this.bundleId = Jn(), this.provider = {}; + } + async init() { + this.logger.trace("Initialized"), this.registerEventListeners(), await this.createProvider(), await Promise.all([this.messages.init(), this.subscriber.init()]); + try { + await this.transportOpen(); + } catch { + this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${pe}...`), await this.restartTransport(pe); + } + this.initialized = true, setTimeout(async () => { + this.subscriber.topics.length === 0 && (this.logger.info("No topics subscribed to after init, closing transport"), await this.transportClose(), this.transportExplicitlyClosed = false); + }, pt); + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + get connected() { + return this.provider.connection.connected; + } + get connecting() { + return this.provider.connection.connecting; + } + async publish(e, t, i) { + this.isInitialized(), await this.publisher.publish(e, t, i), await this.recordMessageEvent({ topic: e, message: t, publishedAt: Date.now() }); + } + async subscribe(e, t) { + var i; + this.isInitialized(); + let s = ((i = this.subscriber.topicMap.get(e)) == null ? void 0 : i[0]) || ""; + if (s) + return s; + let n2; + const o = (a3) => { + a3.topic === e && (this.subscriber.off(w.created, o), n2()); + }; + return await Promise.all([new Promise((a3) => { + n2 = a3, this.subscriber.on(w.created, o); + }), new Promise(async (a3) => { + s = await this.subscriber.subscribe(e, t), a3(); + })]), s; + } + async unsubscribe(e, t) { + this.isInitialized(), await this.subscriber.unsubscribe(e, t); + } + on(e, t) { + this.events.on(e, t); + } + once(e, t) { + this.events.once(e, t); + } + off(e, t) { + this.events.off(e, t); + } + removeListener(e, t) { + this.events.removeListener(e, t); + } + async transportClose() { + this.transportExplicitlyClosed = true, this.hasExperiencedNetworkDisruption && this.connected ? await ut$1(this.provider.disconnect(), 1e3, "provider.disconnect()").catch(() => this.onProviderDisconnect()) : this.connected && await this.provider.disconnect(); + } + async transportOpen(e) { + if (this.transportExplicitlyClosed = false, await this.confirmOnlineStateOrThrow(), !this.connectionAttemptInProgress) { + e && e !== this.relayUrl && (this.relayUrl = e, await this.transportClose(), await this.createProvider()), this.connectionAttemptInProgress = true; + try { + await Promise.all([new Promise((t) => { + if (!this.initialized) + return t(); + this.subscriber.once(w.resubscribed, () => { + t(); + }); + }), new Promise(async (t, i) => { + try { + await ut$1(this.provider.connect(), 1e4, `Socket stalled when trying to connect to ${this.relayUrl}`); + } catch (s) { + i(s); + return; + } + t(); + })]); + } catch (t) { + this.logger.error(t); + const i = t; + if (!this.isConnectionStalled(i.message)) + throw t; + this.provider.events.emit(P.disconnect); + } finally { + this.connectionAttemptInProgress = false, this.hasExperiencedNetworkDisruption = false; + } + } + } + async restartTransport(e) { + await this.confirmOnlineStateOrThrow(), !this.connectionAttemptInProgress && (this.relayUrl = e || this.relayUrl, await this.transportClose(), await this.createProvider(), await this.transportOpen()); + } + async confirmOnlineStateOrThrow() { + if (!await er$1()) + throw new Error("No internet connection detected. Please restart your network and try again."); + } + isConnectionStalled(e) { + return this.staleConnectionErrors.some((t) => e.includes(t)); + } + async createProvider() { + this.provider.connection && this.unregisterProviderListeners(); + const e = await this.core.crypto.signJWT(this.relayUrl); + this.provider = new JsonRpcProvider(new f(Xn({ sdkVersion: gt, protocol: this.protocol, version: this.version, relayUrl: this.relayUrl, projectId: this.projectId, auth: e, useOnCloseEvent: true, bundleId: this.bundleId }))), this.registerProviderListeners(); + } + async recordMessageEvent(e) { + const { topic: t, message: i } = e; + await this.messages.set(t, i); + } + async shouldIgnoreMessageEvent(e) { + const { topic: t, message: i } = e; + if (!i || i.length === 0) + return this.logger.debug(`Ignoring invalid/empty message: ${i}`), true; + if (!await this.subscriber.isSubscribed(t)) + return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`), true; + const s = this.messages.has(t, i); + return s && this.logger.debug(`Ignoring duplicate message: ${i}`), s; + } + async onProviderPayload(e) { + if (this.logger.debug("Incoming Relay Payload"), this.logger.trace({ type: "payload", direction: "incoming", payload: e }), isJsonRpcRequest(e)) { + if (!e.method.endsWith(lt)) + return; + const t = e.params, { topic: i, message: s, publishedAt: n2 } = t.data, o = { topic: i, message: s, publishedAt: n2 }; + this.logger.debug("Emitting Relayer Payload"), this.logger.trace(Sr({ type: "event", event: t.id }, o)), this.events.emit(t.id, o), await this.acknowledgePayload(e), await this.onMessageEvent(o); + } else + isJsonRpcResponse(e) && this.events.emit(D.message_ack, e); + } + async onMessageEvent(e) { + await this.shouldIgnoreMessageEvent(e) || (this.events.emit(D.message, e), await this.recordMessageEvent(e)); + } + async acknowledgePayload(e) { + const t = formatJsonRpcResult(e.id, true); + await this.provider.connection.send(t); + } + unregisterProviderListeners() { + this.provider.off(P.payload, this.onPayloadHandler), this.provider.off(P.connect, this.onConnectHandler), this.provider.off(P.disconnect, this.onDisconnectHandler), this.provider.off(P.error, this.onProviderErrorHandler); + } + async registerEventListeners() { + this.events.on(D.connection_stalled, () => { + this.restartTransport().catch((t) => this.logger.error(t)); + }); + let e = await er$1(); + nr$1(async (t) => { + this.initialized && e !== t && (e = t, t ? await this.restartTransport().catch((i) => this.logger.error(i)) : (this.hasExperiencedNetworkDisruption = true, await this.transportClose().catch((i) => this.logger.error(i)))); + }); + } + onProviderDisconnect() { + this.events.emit(D.disconnect), this.attemptToReconnect(); + } + attemptToReconnect() { + this.transportExplicitlyClosed || (this.logger.info("attemptToReconnect called. Connecting..."), setTimeout(async () => { + await this.restartTransport().catch((e) => this.logger.error(e)); + }, cjs$3.toMiliseconds(dt))); + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } + async toEstablishConnection() { + if (await this.confirmOnlineStateOrThrow(), !this.connected) { + if (this.connectionAttemptInProgress) + return await new Promise((e) => { + const t = setInterval(() => { + this.connected && (clearInterval(t), e()); + }, this.connectionStatusPollingInterval); + }); + await this.restartTransport(); + } + } +} +var Tr = Object.defineProperty, Lt = Object.getOwnPropertySymbols, Pr = Object.prototype.hasOwnProperty, xr = Object.prototype.propertyIsEnumerable, Ft = (r, e, t) => e in r ? Tr(r, e, { enumerable: true, configurable: true, writable: true, value: t }) : r[e] = t, $t = (r, e) => { + for (var t in e || (e = {})) + Pr.call(e, t) && Ft(r, t, e[t]); + if (Lt) + for (var t of Lt(e)) + xr.call(e, t) && Ft(r, t, e[t]); + return r; +}; +class Mt extends p { + constructor(e, t, i, s = O, n2 = void 0) { + super(e, t, i, s), this.core = e, this.logger = t, this.name = i, this.map = /* @__PURE__ */ new Map(), this.version = Dt, this.cached = [], this.initialized = false, this.storagePrefix = O, this.init = async () => { + this.initialized || (this.logger.trace("Initialized"), await this.restore(), this.cached.forEach((o) => { + this.getKey && o !== null && !w$2(o) ? this.map.set(this.getKey(o), o) : Vt$1(o) ? this.map.set(o.id, o) : Mt$1(o) && this.map.set(o.topic, o); + }), this.cached = [], this.initialized = true); + }, this.set = async (o, a3) => { + this.isInitialized(), this.map.has(o) ? await this.update(o, a3) : (this.logger.debug("Setting value"), this.logger.trace({ type: "method", method: "set", key: o, value: a3 }), this.map.set(o, a3), await this.persist()); + }, this.get = (o) => (this.isInitialized(), this.logger.debug("Getting value"), this.logger.trace({ type: "method", method: "get", key: o }), this.getData(o)), this.getAll = (o) => (this.isInitialized(), o ? this.values.filter((a3) => Object.keys(o).every((h4) => Bi(a3[h4], o[h4]))) : this.values), this.update = async (o, a3) => { + this.isInitialized(), this.logger.debug("Updating value"), this.logger.trace({ type: "method", method: "update", key: o, update: a3 }); + const h4 = $t($t({}, this.getData(o)), a3); + this.map.set(o, h4), await this.persist(); + }, this.delete = async (o, a3) => { + this.isInitialized(), this.map.has(o) && (this.logger.debug("Deleting value"), this.logger.trace({ type: "method", method: "delete", key: o, reason: a3 }), this.map.delete(o), await this.persist()); + }, this.logger = cjs$1.generateChildLogger(t, this.name), this.storagePrefix = s, this.getKey = n2; + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + get storageKey() { + return this.storagePrefix + this.version + this.core.customStoragePrefix + "//" + this.name; + } + get length() { + return this.map.size; + } + get keys() { + return Array.from(this.map.keys()); + } + get values() { + return Array.from(this.map.values()); + } + async setDataStore(e) { + await this.core.storage.setItem(this.storageKey, e); + } + async getDataStore() { + return await this.core.storage.getItem(this.storageKey); + } + getData(e) { + const t = this.map.get(e); + if (!t) { + const { message: i } = N$1("NO_MATCHING_KEY", `${this.name}: ${e}`); + throw this.logger.error(i), new Error(i); + } + return t; + } + async persist() { + await this.setDataStore(this.values); + } + async restore() { + try { + const e = await this.getDataStore(); + if (typeof e > "u" || !e.length) + return; + if (this.map.size) { + const { message: t } = N$1("RESTORE_WILL_OVERRIDE", this.name); + throw this.logger.error(t), new Error(t); + } + this.cached = e, this.logger.debug(`Successfully Restored value for ${this.name}`), this.logger.trace({ type: "method", method: "restore", value: this.values }); + } catch (e) { + this.logger.debug(`Failed to Restore value for ${this.name}`), this.logger.error(e); + } + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } +} +class kt { + constructor(e, t) { + this.core = e, this.logger = t, this.name = Et, this.version = wt, this.events = new Ye$1(), this.initialized = false, this.storagePrefix = O, this.ignoredPayloadTypes = [_$1], this.registeredMethods = [], this.init = async () => { + this.initialized || (await this.pairings.init(), await this.cleanup(), this.registerRelayerEvents(), this.registerExpirerEvents(), this.initialized = true, this.logger.trace("Initialized")); + }, this.register = ({ methods: i }) => { + this.isInitialized(), this.registeredMethods = [.../* @__PURE__ */ new Set([...this.registeredMethods, ...i])]; + }, this.create = async () => { + this.isInitialized(); + const i = Vn(), s = await this.core.crypto.setSymKey(i), n2 = pt$1(cjs$3.FIVE_MINUTES), o = { protocol: ht }, a3 = { topic: s, expiry: n2, relay: o, active: false }, h4 = It$1({ protocol: this.core.protocol, version: this.core.version, topic: s, symKey: i, relay: o }); + return await this.pairings.set(s, a3), await this.core.relayer.subscribe(s), this.core.expirer.set(s, n2), { topic: s, uri: h4 }; + }, this.pair = async (i) => { + this.isInitialized(), this.isValidPair(i); + const { topic: s, symKey: n2, relay: o } = wt$1(i.uri); + let a3; + if (this.pairings.keys.includes(s) && (a3 = this.pairings.get(s), a3.active)) + throw new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`); + const h4 = pt$1(cjs$3.FIVE_MINUTES), l2 = { topic: s, relay: o, expiry: h4, active: false }; + return await this.pairings.set(s, l2), this.core.expirer.set(s, h4), i.activatePairing && await this.activate({ topic: s }), this.events.emit(V.create, l2), this.core.crypto.keychain.has(s) || (await this.core.crypto.setSymKey(n2, s), await this.core.relayer.subscribe(s, { relay: o })), l2; + }, this.activate = async ({ topic: i }) => { + this.isInitialized(); + const s = pt$1(cjs$3.THIRTY_DAYS); + await this.pairings.update(i, { active: true, expiry: s }), this.core.expirer.set(i, s); + }, this.ping = async (i) => { + this.isInitialized(), await this.isValidPing(i); + const { topic: s } = i; + if (this.pairings.keys.includes(s)) { + const n2 = await this.sendRequest(s, "wc_pairingPing", {}), { done: o, resolve: a3, reject: h4 } = at$1(); + this.events.once(yt$1("pairing_ping", n2), ({ error: l2 }) => { + l2 ? h4(l2) : a3(); + }), await o(); + } + }, this.updateExpiry = async ({ topic: i, expiry: s }) => { + this.isInitialized(), await this.pairings.update(i, { expiry: s }); + }, this.updateMetadata = async ({ topic: i, metadata: s }) => { + this.isInitialized(), await this.pairings.update(i, { peerMetadata: s }); + }, this.getPairings = () => (this.isInitialized(), this.pairings.values), this.disconnect = async (i) => { + this.isInitialized(), await this.isValidDisconnect(i); + const { topic: s } = i; + this.pairings.keys.includes(s) && (await this.sendRequest(s, "wc_pairingDelete", U("USER_DISCONNECTED")), await this.deletePairing(s)); + }, this.sendRequest = async (i, s, n2) => { + const o = formatJsonRpcRequest(s, n2), a3 = await this.core.crypto.encode(i, o), h4 = F[s].req; + return this.core.history.set(i, o), this.core.relayer.publish(i, a3, h4), o.id; + }, this.sendResult = async (i, s, n2) => { + const o = formatJsonRpcResult(i, n2), a3 = await this.core.crypto.encode(s, o), h4 = await this.core.history.get(s, i), l2 = F[h4.request.method].res; + await this.core.relayer.publish(s, a3, l2), await this.core.history.resolve(o); + }, this.sendError = async (i, s, n2) => { + const o = formatJsonRpcError(i, n2), a3 = await this.core.crypto.encode(s, o), h4 = await this.core.history.get(s, i), l2 = F[h4.request.method] ? F[h4.request.method].res : F.unregistered_method.res; + await this.core.relayer.publish(s, a3, l2), await this.core.history.resolve(o); + }, this.deletePairing = async (i, s) => { + await this.core.relayer.unsubscribe(i), await Promise.all([this.pairings.delete(i, U("USER_DISCONNECTED")), this.core.crypto.deleteSymKey(i), s ? Promise.resolve() : this.core.expirer.del(i)]); + }, this.cleanup = async () => { + const i = this.pairings.getAll().filter((s) => mt$1(s.expiry)); + await Promise.all(i.map((s) => this.deletePairing(s.topic))); + }, this.onRelayEventRequest = (i) => { + const { topic: s, payload: n2 } = i; + switch (n2.method) { + case "wc_pairingPing": + return this.onPairingPingRequest(s, n2); + case "wc_pairingDelete": + return this.onPairingDeleteRequest(s, n2); + default: + return this.onUnknownRpcMethodRequest(s, n2); + } + }, this.onRelayEventResponse = async (i) => { + const { topic: s, payload: n2 } = i, o = (await this.core.history.get(s, n2.id)).request.method; + switch (o) { + case "wc_pairingPing": + return this.onPairingPingResponse(s, n2); + default: + return this.onUnknownRpcMethodResponse(o); + } + }, this.onPairingPingRequest = async (i, s) => { + const { id: n2 } = s; + try { + this.isValidPing({ topic: i }), await this.sendResult(n2, i, true), this.events.emit(V.ping, { id: n2, topic: i }); + } catch (o) { + await this.sendError(n2, i, o), this.logger.error(o); + } + }, this.onPairingPingResponse = (i, s) => { + const { id: n2 } = s; + setTimeout(() => { + isJsonRpcResult(s) ? this.events.emit(yt$1("pairing_ping", n2), {}) : isJsonRpcError(s) && this.events.emit(yt$1("pairing_ping", n2), { error: s.error }); + }, 500); + }, this.onPairingDeleteRequest = async (i, s) => { + const { id: n2 } = s; + try { + this.isValidDisconnect({ topic: i }), await this.deletePairing(i), this.events.emit(V.delete, { id: n2, topic: i }); + } catch (o) { + await this.sendError(n2, i, o), this.logger.error(o); + } + }, this.onUnknownRpcMethodRequest = async (i, s) => { + const { id: n2, method: o } = s; + try { + if (this.registeredMethods.includes(o)) + return; + const a3 = U("WC_METHOD_UNSUPPORTED", o); + await this.sendError(n2, i, a3), this.logger.error(a3); + } catch (a3) { + await this.sendError(n2, i, a3), this.logger.error(a3); + } + }, this.onUnknownRpcMethodResponse = (i) => { + this.registeredMethods.includes(i) || this.logger.error(U("WC_METHOD_UNSUPPORTED", i)); + }, this.isValidPair = (i) => { + var s; + if (!Ht(i)) { + const { message: o } = N$1("MISSING_OR_INVALID", `pair() params: ${i}`); + throw new Error(o); + } + if (!kt$1(i.uri)) { + const { message: o } = N$1("MISSING_OR_INVALID", `pair() uri: ${i.uri}`); + throw new Error(o); + } + const n2 = wt$1(i.uri); + if (!((s = n2 == null ? void 0 : n2.relay) != null && s.protocol)) { + const { message: o } = N$1("MISSING_OR_INVALID", "pair() uri#relay-protocol"); + throw new Error(o); + } + if (!(n2 != null && n2.symKey)) { + const { message: o } = N$1("MISSING_OR_INVALID", "pair() uri#symKey"); + throw new Error(o); + } + }, this.isValidPing = async (i) => { + if (!Ht(i)) { + const { message: n2 } = N$1("MISSING_OR_INVALID", `ping() params: ${i}`); + throw new Error(n2); + } + const { topic: s } = i; + await this.isValidPairingTopic(s); + }, this.isValidDisconnect = async (i) => { + if (!Ht(i)) { + const { message: n2 } = N$1("MISSING_OR_INVALID", `disconnect() params: ${i}`); + throw new Error(n2); + } + const { topic: s } = i; + await this.isValidPairingTopic(s); + }, this.isValidPairingTopic = async (i) => { + if (!h$3(i, false)) { + const { message: s } = N$1("MISSING_OR_INVALID", `pairing topic should be a string: ${i}`); + throw new Error(s); + } + if (!this.pairings.keys.includes(i)) { + const { message: s } = N$1("NO_MATCHING_KEY", `pairing topic doesn't exist: ${i}`); + throw new Error(s); + } + if (mt$1(this.pairings.get(i).expiry)) { + await this.deletePairing(i); + const { message: s } = N$1("EXPIRED", `pairing topic: ${i}`); + throw new Error(s); + } + }, this.core = e, this.logger = cjs$1.generateChildLogger(t, this.name), this.pairings = new Mt(this.core, this.logger, this.name, this.storagePrefix); + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } + registerRelayerEvents() { + this.core.relayer.on(D.message, async (e) => { + const { topic: t, message: i } = e; + if (!this.pairings.keys.includes(t) || this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i))) + return; + const s = await this.core.crypto.decode(t, i); + try { + isJsonRpcRequest(s) ? (this.core.history.set(t, s), this.onRelayEventRequest({ topic: t, payload: s })) : isJsonRpcResponse(s) && (await this.core.history.resolve(s), await this.onRelayEventResponse({ topic: t, payload: s }), this.core.history.delete(t, s.id)); + } catch (n2) { + this.logger.error(n2); + } + }); + } + registerExpirerEvents() { + this.core.expirer.on(v.expired, async (e) => { + const { topic: t } = ft$1(e.target); + t && this.pairings.keys.includes(t) && (await this.deletePairing(t, true), this.events.emit(V.expire, { topic: t })); + }); + } +} +class Kt extends h$1 { + constructor(e, t) { + super(e, t), this.core = e, this.logger = t, this.records = /* @__PURE__ */ new Map(), this.events = new eventsExports.EventEmitter(), this.name = vt, this.version = It, this.cached = [], this.initialized = false, this.storagePrefix = O, this.init = async () => { + this.initialized || (this.logger.trace("Initialized"), await this.restore(), this.cached.forEach((i) => this.records.set(i.id, i)), this.cached = [], this.registerEventListeners(), this.initialized = true); + }, this.set = (i, s, n2) => { + if (this.isInitialized(), this.logger.debug("Setting JSON-RPC request history record"), this.logger.trace({ type: "method", method: "set", topic: i, request: s, chainId: n2 }), this.records.has(s.id)) + return; + const o = { id: s.id, topic: i, request: { method: s.method, params: s.params || null }, chainId: n2, expiry: pt$1(cjs$3.THIRTY_DAYS) }; + this.records.set(o.id, o), this.events.emit(R.created, o); + }, this.resolve = async (i) => { + if (this.isInitialized(), this.logger.debug("Updating JSON-RPC response history record"), this.logger.trace({ type: "method", method: "update", response: i }), !this.records.has(i.id)) + return; + const s = await this.getRecord(i.id); + typeof s.response > "u" && (s.response = isJsonRpcError(i) ? { error: i.error } : { result: i.result }, this.records.set(s.id, s), this.events.emit(R.updated, s)); + }, this.get = async (i, s) => (this.isInitialized(), this.logger.debug("Getting record"), this.logger.trace({ type: "method", method: "get", topic: i, id: s }), await this.getRecord(s)), this.delete = (i, s) => { + this.isInitialized(), this.logger.debug("Deleting record"), this.logger.trace({ type: "method", method: "delete", id: s }), this.values.forEach((n2) => { + if (n2.topic === i) { + if (typeof s < "u" && n2.id !== s) + return; + this.records.delete(n2.id), this.events.emit(R.deleted, n2); + } + }); + }, this.exists = async (i, s) => (this.isInitialized(), this.records.has(s) ? (await this.getRecord(s)).topic === i : false), this.on = (i, s) => { + this.events.on(i, s); + }, this.once = (i, s) => { + this.events.once(i, s); + }, this.off = (i, s) => { + this.events.off(i, s); + }, this.removeListener = (i, s) => { + this.events.removeListener(i, s); + }, this.logger = cjs$1.generateChildLogger(t, this.name); + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + get storageKey() { + return this.storagePrefix + this.version + this.core.customStoragePrefix + "//" + this.name; + } + get size() { + return this.records.size; + } + get keys() { + return Array.from(this.records.keys()); + } + get values() { + return Array.from(this.records.values()); + } + get pending() { + const e = []; + return this.values.forEach((t) => { + if (typeof t.response < "u") + return; + const i = { topic: t.topic, request: formatJsonRpcRequest(t.request.method, t.request.params, t.id), chainId: t.chainId }; + return e.push(i); + }), e; + } + async setJsonRpcRecords(e) { + await this.core.storage.setItem(this.storageKey, e); + } + async getJsonRpcRecords() { + return await this.core.storage.getItem(this.storageKey); + } + getRecord(e) { + this.isInitialized(); + const t = this.records.get(e); + if (!t) { + const { message: i } = N$1("NO_MATCHING_KEY", `${this.name}: ${e}`); + throw new Error(i); + } + return t; + } + async persist() { + await this.setJsonRpcRecords(this.values), this.events.emit(R.sync); + } + async restore() { + try { + const e = await this.getJsonRpcRecords(); + if (typeof e > "u" || !e.length) + return; + if (this.records.size) { + const { message: t } = N$1("RESTORE_WILL_OVERRIDE", this.name); + throw this.logger.error(t), new Error(t); + } + this.cached = e, this.logger.debug(`Successfully Restored records for ${this.name}`), this.logger.trace({ type: "method", method: "restore", records: this.values }); + } catch (e) { + this.logger.debug(`Failed to Restore records for ${this.name}`), this.logger.error(e); + } + } + registerEventListeners() { + this.events.on(R.created, (e) => { + const t = R.created; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, record: e }), this.persist(); + }), this.events.on(R.updated, (e) => { + const t = R.updated; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, record: e }), this.persist(); + }), this.events.on(R.deleted, (e) => { + const t = R.deleted; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, record: e }), this.persist(); + }), this.core.heartbeat.on(cjs$2.HEARTBEAT_EVENTS.pulse, () => { + this.cleanup(); + }); + } + cleanup() { + try { + this.records.forEach((e) => { + cjs$3.toMiliseconds(e.expiry || 0) - Date.now() <= 0 && (this.logger.info(`Deleting expired history log: ${e.id}`), this.delete(e.topic, e.id)); + }); + } catch (e) { + this.logger.warn(e); + } + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } +} +class Bt extends E { + constructor(e, t) { + super(e, t), this.core = e, this.logger = t, this.expirations = /* @__PURE__ */ new Map(), this.events = new eventsExports.EventEmitter(), this.name = Ct, this.version = Rt, this.cached = [], this.initialized = false, this.storagePrefix = O, this.init = async () => { + this.initialized || (this.logger.trace("Initialized"), await this.restore(), this.cached.forEach((i) => this.expirations.set(i.target, i)), this.cached = [], this.registerEventListeners(), this.initialized = true); + }, this.has = (i) => { + try { + const s = this.formatTarget(i); + return typeof this.getExpiration(s) < "u"; + } catch { + return false; + } + }, this.set = (i, s) => { + this.isInitialized(); + const n2 = this.formatTarget(i), o = { target: n2, expiry: s }; + this.expirations.set(n2, o), this.checkExpiry(n2, o), this.events.emit(v.created, { target: n2, expiration: o }); + }, this.get = (i) => { + this.isInitialized(); + const s = this.formatTarget(i); + return this.getExpiration(s); + }, this.del = (i) => { + if (this.isInitialized(), this.has(i)) { + const s = this.formatTarget(i), n2 = this.getExpiration(s); + this.expirations.delete(s), this.events.emit(v.deleted, { target: s, expiration: n2 }); + } + }, this.on = (i, s) => { + this.events.on(i, s); + }, this.once = (i, s) => { + this.events.once(i, s); + }, this.off = (i, s) => { + this.events.off(i, s); + }, this.removeListener = (i, s) => { + this.events.removeListener(i, s); + }, this.logger = cjs$1.generateChildLogger(t, this.name); + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + get storageKey() { + return this.storagePrefix + this.version + this.core.customStoragePrefix + "//" + this.name; + } + get length() { + return this.expirations.size; + } + get keys() { + return Array.from(this.expirations.keys()); + } + get values() { + return Array.from(this.expirations.values()); + } + formatTarget(e) { + if (typeof e == "string") + return lt$1(e); + if (typeof e == "number") + return dt$1(e); + const { message: t } = N$1("UNKNOWN_TYPE", `Target type: ${typeof e}`); + throw new Error(t); + } + async setExpirations(e) { + await this.core.storage.setItem(this.storageKey, e); + } + async getExpirations() { + return await this.core.storage.getItem(this.storageKey); + } + async persist() { + await this.setExpirations(this.values), this.events.emit(v.sync); + } + async restore() { + try { + const e = await this.getExpirations(); + if (typeof e > "u" || !e.length) + return; + if (this.expirations.size) { + const { message: t } = N$1("RESTORE_WILL_OVERRIDE", this.name); + throw this.logger.error(t), new Error(t); + } + this.cached = e, this.logger.debug(`Successfully Restored expirations for ${this.name}`), this.logger.trace({ type: "method", method: "restore", expirations: this.values }); + } catch (e) { + this.logger.debug(`Failed to Restore expirations for ${this.name}`), this.logger.error(e); + } + } + getExpiration(e) { + const t = this.expirations.get(e); + if (!t) { + const { message: i } = N$1("NO_MATCHING_KEY", `${this.name}: ${e}`); + throw this.logger.error(i), new Error(i); + } + return t; + } + checkExpiry(e, t) { + const { expiry: i } = t; + cjs$3.toMiliseconds(i) - Date.now() <= 0 && this.expire(e, t); + } + expire(e, t) { + this.expirations.delete(e), this.events.emit(v.expired, { target: e, expiration: t }); + } + checkExpirations() { + this.core.relayer.connected && this.expirations.forEach((e, t) => this.checkExpiry(t, e)); + } + registerEventListeners() { + this.core.heartbeat.on(cjs$2.HEARTBEAT_EVENTS.pulse, () => this.checkExpirations()), this.events.on(v.created, (e) => { + const t = v.created; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, data: e }), this.persist(); + }), this.events.on(v.expired, (e) => { + const t = v.expired; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, data: e }), this.persist(); + }), this.events.on(v.deleted, (e) => { + const t = v.deleted; + this.logger.info(`Emitting ${t}`), this.logger.debug({ type: "event", event: t, data: e }), this.persist(); + }); + } + isInitialized() { + if (!this.initialized) { + const { message: e } = N$1("NOT_INITIALIZED", this.name); + throw new Error(e); + } + } +} +class Vt extends y { + constructor(e, t) { + super(e, t), this.projectId = e, this.logger = t, this.name = Z, this.initialized = false, this.queue = [], this.verifyDisabled = false, this.init = async (i) => { + if (this.verifyDisabled || C() || !D$2()) + return; + const s = this.getVerifyUrl(i == null ? void 0 : i.verifyUrl); + this.verifyUrl !== s && this.removeIframe(), this.verifyUrl = s; + try { + await this.createIframe(); + } catch (n2) { + this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`), this.logger.info(n2); + } + if (!this.initialized) { + this.removeIframe(), this.verifyUrl = ee; + try { + await this.createIframe(); + } catch (n2) { + this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`), this.logger.info(n2), this.verifyDisabled = true; + } + } + }, this.register = async (i) => { + this.initialized ? this.sendPost(i.attestationId) : (this.addToQueue(i.attestationId), await this.init()); + }, this.resolve = async (i) => { + if (this.isDevEnv) + return ""; + const s = this.getVerifyUrl(i == null ? void 0 : i.verifyUrl); + let n2; + try { + n2 = await this.fetchAttestation(i.attestationId, s); + } catch (o) { + this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${s}`), this.logger.info(o), n2 = await this.fetchAttestation(i.attestationId, ee); + } + return n2; + }, this.fetchAttestation = async (i, s) => { + this.logger.info(`resolving attestation: ${i} from url: ${s}`); + const n2 = this.startAbortTimer(cjs$3.ONE_SECOND * 2), o = await fetch(`${s}/attestation/${i}`, { signal: this.abortController.signal }); + return clearTimeout(n2), o.status === 200 ? await o.json() : void 0; + }, this.addToQueue = (i) => { + this.queue.push(i); + }, this.processQueue = () => { + this.queue.length !== 0 && (this.queue.forEach((i) => this.sendPost(i)), this.queue = []); + }, this.sendPost = (i) => { + var s; + try { + if (!this.iframe) + return; + (s = this.iframe.contentWindow) == null || s.postMessage(i, "*"), this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`); + } catch { + } + }, this.createIframe = async () => { + let i; + const s = (n2) => { + n2.data === "verify_ready" && (this.initialized = true, this.processQueue(), window.removeEventListener("message", s), i()); + }; + await Promise.race([new Promise((n2) => { + if (document.getElementById(Z)) + return n2(); + window.addEventListener("message", s); + const o = document.createElement("iframe"); + o.id = Z, o.src = `${this.verifyUrl}/${this.projectId}`, o.style.display = "none", document.body.append(o), this.iframe = o, i = n2; + }), new Promise((n2, o) => setTimeout(() => { + window.removeEventListener("message", s), o("verify iframe load timeout"); + }, cjs$3.toMiliseconds(cjs$3.FIVE_SECONDS)))]); + }, this.removeIframe = () => { + this.iframe && (this.iframe.remove(), this.iframe = void 0, this.initialized = false); + }, this.getVerifyUrl = (i) => { + let s = i || $; + return _t.includes(s) || (this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${$}`), s = $), s; + }, this.logger = cjs$1.generateChildLogger(t, this.name), this.verifyUrl = $, this.abortController = new AbortController(), this.isDevEnv = te$1() && {}.IS_VITEST; + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + startAbortTimer(e) { + return this.abortController = new AbortController(), setTimeout(() => this.abortController.abort(), cjs$3.toMiliseconds(e)); + } +} +var Or = Object.defineProperty, qt = Object.getOwnPropertySymbols, Ar = Object.prototype.hasOwnProperty, zr = Object.prototype.propertyIsEnumerable, jt = (r, e, t) => e in r ? Or(r, e, { enumerable: true, configurable: true, writable: true, value: t }) : r[e] = t, Gt = (r, e) => { + for (var t in e || (e = {})) + Ar.call(e, t) && jt(r, t, e[t]); + if (qt) + for (var t of qt(e)) + zr.call(e, t) && jt(r, t, e[t]); + return r; +}; +class te extends n { + constructor(e) { + super(e), this.protocol = le, this.version = Xe, this.name = Q, this.events = new eventsExports.EventEmitter(), this.initialized = false, this.on = (i, s) => this.events.on(i, s), this.once = (i, s) => this.events.once(i, s), this.off = (i, s) => this.events.off(i, s), this.removeListener = (i, s) => this.events.removeListener(i, s), this.projectId = e == null ? void 0 : e.projectId, this.relayUrl = (e == null ? void 0 : e.relayUrl) || ge, this.customStoragePrefix = e != null && e.customStoragePrefix ? `:${e.customStoragePrefix}` : ""; + const t = typeof (e == null ? void 0 : e.logger) < "u" && typeof (e == null ? void 0 : e.logger) != "string" ? e.logger : cjs$1.pino(cjs$1.getDefaultLoggerOptions({ level: (e == null ? void 0 : e.logger) || Qe.logger })); + this.logger = cjs$1.generateChildLogger(t, this.name), this.heartbeat = new cjs$2.HeartBeat(), this.crypto = new Tt(this, this.logger, e == null ? void 0 : e.keychain), this.history = new Kt(this, this.logger), this.expirer = new Bt(this, this.logger), this.storage = e != null && e.storage ? e.storage : new h$2(Gt(Gt({}, Ze), e == null ? void 0 : e.storageOptions)), this.relayer = new Ut({ core: this, logger: this.logger, relayUrl: this.relayUrl, projectId: this.projectId }), this.pairing = new kt(this, this.logger), this.verify = new Vt(this.projectId || "", this.logger); + } + static async init(e) { + const t = new te(e); + await t.initialize(); + const i = await t.crypto.getClientId(); + return await t.storage.setItem(yt, i), t; + } + get context() { + return cjs$1.getLoggerContext(this.logger); + } + async start() { + this.initialized || await this.initialize(); + } + async initialize() { + this.logger.trace("Initialized"); + try { + await this.crypto.init(), await this.history.init(), await this.expirer.init(), await this.relayer.init(), await this.heartbeat.init(), await this.pairing.init(), this.initialized = true, this.logger.info("Core Initialization Success"); + } catch (e) { + throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`, e), this.logger.error(e.message), e; + } + } +} +const Nr = te; +const index_es = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ + __proto__: null, + CORE_CONTEXT: Q, + CORE_DEFAULT: Qe, + CORE_PROTOCOL: le, + CORE_STORAGE_OPTIONS: Ze, + CORE_STORAGE_PREFIX: O, + CORE_VERSION: Xe, + CRYPTO_CLIENT_SEED: de, + CRYPTO_CONTEXT: et, + CRYPTO_JWT_TTL: tt, + Core: Nr, + Crypto: Tt, + EXPIRER_CONTEXT: Ct, + EXPIRER_DEFAULT_TTL: yr, + EXPIRER_EVENTS: v, + EXPIRER_STORAGE_VERSION: Rt, + Expirer: Bt, + HISTORY_CONTEXT: vt, + HISTORY_EVENTS: R, + HISTORY_STORAGE_VERSION: It, + JsonRpcHistory: Kt, + KEYCHAIN_CONTEXT: it, + KEYCHAIN_STORAGE_VERSION: st, + KeyChain: St, + MESSAGES_CONTEXT: rt, + MESSAGES_STORAGE_VERSION: nt, + MessageTracker: Pt, + PAIRING_CONTEXT: Et, + PAIRING_DEFAULT_TTL: Dr, + PAIRING_EVENTS: V, + PAIRING_RPC_OPTS: F, + PAIRING_STORAGE_VERSION: wt, + PENDING_SUB_RESOLUTION_TIMEOUT: ft, + PUBLISHER_CONTEXT: at, + PUBLISHER_DEFAULT_TTL: ot, + Pairing: kt, + RELAYER_CONTEXT: ut, + RELAYER_DEFAULT_LOGGER: ct, + RELAYER_DEFAULT_PROTOCOL: ht, + RELAYER_DEFAULT_RELAY_URL: ge, + RELAYER_EVENTS: D, + RELAYER_FAILOVER_RELAY_URL: pe, + RELAYER_PROVIDER_EVENTS: P, + RELAYER_RECONNECT_TIMEOUT: dt, + RELAYER_SDK_VERSION: gt, + RELAYER_STORAGE_OPTIONS: gr, + RELAYER_SUBSCRIBER_SUFFIX: lt, + RELAYER_TRANSPORT_CUTOFF: pt, + Relayer: Ut, + STORE_STORAGE_VERSION: Dt, + SUBSCRIBER_CONTEXT: mt, + SUBSCRIBER_DEFAULT_TTL: pr, + SUBSCRIBER_EVENTS: w, + SUBSCRIBER_STORAGE_VERSION: bt, + Store: Mt, + Subscriber: At, + TRUSTED_VERIFY_URLS: _t, + VERIFY_CONTEXT: Z, + VERIFY_FALLBACK_SERVER: ee, + VERIFY_SERVER: $, + Verify: Vt, + WALLETCONNECT_CLIENT_ID: yt, + default: te +}, Symbol.toStringTag, { value: "Module" })); +export { + $, + D, + Mt as M, + Nr as N, + S$1 as S, + V, + Ye$1 as Y, + isJsonRpcError as a, + isJsonRpcRequest as b, + cjs$1 as c, + isJsonRpcResponse as d, + eventsExports as e, + formatJsonRpcError as f, + formatJsonRpcRequest as g, + formatJsonRpcResult as h, + isJsonRpcResult as i, + b$1 as j, + ht as k, + index_es as l, + payloadId as p, + v +}; diff --git a/frontends/web/build/assets/index.es2.js b/frontends/web/build/assets/index.es2.js index 1c4113fd41..5bd9974d2f 100644 --- a/frontends/web/build/assets/index.es2.js +++ b/frontends/web/build/assets/index.es2.js @@ -1,13 +1,9431 @@ -import{e as xn,c as _t,N as _n,M as Gt,f as Mn,i as bt,a as xt,D as di,b as Sn,d as An,V as En,g as br,h as In,j as Is,S as Rs,Y as Ns,k as Fs,$ as Ps,v as qs,p as Os}from"./index.es.js";import{c as Rn,g as Pr,r as Cs,a as Ts,K as Oi,D as Nn,N as B,b as W,k as $s,X as Fn,s as Ls,_ as Pn,Q as Ds,d as ir,y as Le,p as Bt,B as Xr,j as Us,U as zt,e as ks,h as Bs,f as zs,L as Yr,m as jt,t as gr,H as We,w as nr,x as Vs,i as Ks,u as Qr,l as Ci,n as sr,q as js,o as Gs,v as Hs,z as Ti,A as Js,Y as Ws,G as Xs,W as Ys,J as Qs,C as Zs,F as eo}from"./index.js";var qn={exports:{}};/** +import { e as eventsExports, c as cjs, N as Nr$1, M as Mt$1, f as formatJsonRpcError, i as isJsonRpcResult, a as isJsonRpcError, D as D$2, b as isJsonRpcRequest, d as isJsonRpcResponse, V as V$2, g as formatJsonRpcRequest, h as formatJsonRpcResult, j as b$2, S as S$2, Y as Ye, k as ht$1, $ as $$1, v, p as payloadId } from "./index.es.js"; +import { c as commonjsGlobal, g as getDefaultExportFromCjs, r as require$$0$1, a as getAugmentedNamespace, K as Kn, D as D$1, N, b as cjs$1, k as kt$1, X as Xt$1, s as sha256, _ as _$1, Q as Qn, d as at$1, y as yt$1, p as pt$1, B as B$1, j as jt$1, U as U$3, e as gt$1, h as ht$2, f as Dt$1, L as Ln, m as mt$1, t as tr$1, H as Ht$1, w as w$1, x as xt$1, i as Lt$1, u as un, l as dn, n as h, q as qt$1, o as ln, v as Kt$1, z as zt$1, A as Bt$1, Y as Yt$1, G as Gt$1, W as Wt$1, J as Jt$1, C as ft$1, F as Ft$1 } from "./index.js"; +var sha3$1 = { exports: {} }; +/** * [js-sha3]{@link https://github.com/emn178/js-sha3} * * @version 0.8.0 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2015-2018 * @license MIT - */(function(i){(function(){var t="input is invalid type",e="finalize already called",r=typeof window=="object",n=r?window:{};n.JS_SHA3_NO_WINDOW&&(r=!1);var s=!r&&typeof self=="object",u=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;u?n=Rn:s&&(n=self);var c=!n.JS_SHA3_NO_COMMON_JS&&!0&&i.exports,d=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",m="0123456789abcdef".split(""),b=[31,7936,2031616,520093696],x=[4,1024,262144,67108864],A=[1,256,65536,16777216],I=[6,1536,393216,100663296],S=[0,8,16,24],F=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],$=[224,256,384,512],T=[128,256],K=["hex","buffer","arrayBuffer","array","digest"],H={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(h){return Object.prototype.toString.call(h)==="[object Array]"}),d&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(h){return typeof h=="object"&&h.buffer&&h.buffer.constructor===ArrayBuffer});for(var z=function(h,E,R){return function(N){return new a(h,E,h).update(N)[R]()}},V=function(h,E,R){return function(N,P){return new a(h,E,P).update(N)[R]()}},j=function(h,E,R){return function(N,P,L,O){return o["cshake"+h].update(N,P,L,O)[R]()}},J=function(h,E,R){return function(N,P,L,O){return o["kmac"+h].update(N,P,L,O)[R]()}},Y=function(h,E,R,N){for(var P=0;P>5,this.byteCount=this.blockCount<<2,this.outputBlocks=R>>5,this.extraBytes=(R&31)>>3;for(var N=0;N<50;++N)this.s[N]=0}a.prototype.update=function(h){if(this.finalized)throw new Error(e);var E,R=typeof h;if(R!=="string"){if(R==="object"){if(h===null)throw new Error(t);if(d&&h.constructor===ArrayBuffer)h=new Uint8Array(h);else if(!Array.isArray(h)&&(!d||!ArrayBuffer.isView(h)))throw new Error(t)}else throw new Error(t);E=!0}for(var N=this.blocks,P=this.byteCount,L=h.length,O=this.blockCount,q=0,qe=this.s,C,U;q>2]|=h[q]<>2]|=U<>2]|=(192|U>>6)<>2]|=(128|U&63)<=57344?(N[C>>2]|=(224|U>>12)<>2]|=(128|U>>6&63)<>2]|=(128|U&63)<>2]|=(240|U>>18)<>2]|=(128|U>>12&63)<>2]|=(128|U>>6&63)<>2]|=(128|U&63)<=P){for(this.start=C-P,this.block=N[O],C=0;C>8,R=h&255;R>0;)P.unshift(R),h=h>>8,R=h&255,++N;return E?P.push(N):P.unshift(N),this.update(P),P.length},a.prototype.encodeString=function(h){var E,R=typeof h;if(R!=="string"){if(R==="object"){if(h===null)throw new Error(t);if(d&&h.constructor===ArrayBuffer)h=new Uint8Array(h);else if(!Array.isArray(h)&&(!d||!ArrayBuffer.isView(h)))throw new Error(t)}else throw new Error(t);E=!0}var N=0,P=h.length;if(E)N=P;else for(var L=0;L=57344?N+=3:(O=65536+((O&1023)<<10|h.charCodeAt(++L)&1023),N+=4)}return N+=this.encode(N*8),this.update(h),N},a.prototype.bytepad=function(h,E){for(var R=this.encode(E),N=0;N>2]|=this.padding[E&3],this.lastByteIndex===this.byteCount)for(h[0]=h[R],E=1;E>4&15]+m[q&15]+m[q>>12&15]+m[q>>8&15]+m[q>>20&15]+m[q>>16&15]+m[q>>28&15]+m[q>>24&15];L%h===0&&(D(E),P=0)}return N&&(q=E[P],O+=m[q>>4&15]+m[q&15],N>1&&(O+=m[q>>12&15]+m[q>>8&15]),N>2&&(O+=m[q>>20&15]+m[q>>16&15])),O},a.prototype.arrayBuffer=function(){this.finalize();var h=this.blockCount,E=this.s,R=this.outputBlocks,N=this.extraBytes,P=0,L=0,O=this.outputBits>>3,q;N?q=new ArrayBuffer(R+1<<2):q=new ArrayBuffer(O);for(var qe=new Uint32Array(q);L>8&255,O[q+2]=qe>>16&255,O[q+3]=qe>>24&255;L%h===0&&D(E)}return N&&(q=L<<2,qe=E[P],O[q]=qe&255,N>1&&(O[q+1]=qe>>8&255),N>2&&(O[q+2]=qe>>16&255)),O};function g(h,E,R){a.call(this,h,E,R)}g.prototype=new a,g.prototype.finalize=function(){return this.encode(this.outputBits,!0),a.prototype.finalize.call(this)};var D=function(h){var E,R,N,P,L,O,q,qe,C,U,At,Z,ee,Et,te,re,It,ie,ne,Rt,se,oe,Nt,ae,fe,Ft,he,ue,Pt,ce,le,qt,de,pe,Ot,ve,ge,Ct,me,ye,Tt,we,be,$t,xe,_e,Lt,Me,Se,Dt,Ae,Ee,Ut,Ie,Re,kt,Ne,Fe,pt,vt,gt,mt,yt;for(N=0;N<48;N+=2)P=h[0]^h[10]^h[20]^h[30]^h[40],L=h[1]^h[11]^h[21]^h[31]^h[41],O=h[2]^h[12]^h[22]^h[32]^h[42],q=h[3]^h[13]^h[23]^h[33]^h[43],qe=h[4]^h[14]^h[24]^h[34]^h[44],C=h[5]^h[15]^h[25]^h[35]^h[45],U=h[6]^h[16]^h[26]^h[36]^h[46],At=h[7]^h[17]^h[27]^h[37]^h[47],Z=h[8]^h[18]^h[28]^h[38]^h[48],ee=h[9]^h[19]^h[29]^h[39]^h[49],E=Z^(O<<1|q>>>31),R=ee^(q<<1|O>>>31),h[0]^=E,h[1]^=R,h[10]^=E,h[11]^=R,h[20]^=E,h[21]^=R,h[30]^=E,h[31]^=R,h[40]^=E,h[41]^=R,E=P^(qe<<1|C>>>31),R=L^(C<<1|qe>>>31),h[2]^=E,h[3]^=R,h[12]^=E,h[13]^=R,h[22]^=E,h[23]^=R,h[32]^=E,h[33]^=R,h[42]^=E,h[43]^=R,E=O^(U<<1|At>>>31),R=q^(At<<1|U>>>31),h[4]^=E,h[5]^=R,h[14]^=E,h[15]^=R,h[24]^=E,h[25]^=R,h[34]^=E,h[35]^=R,h[44]^=E,h[45]^=R,E=qe^(Z<<1|ee>>>31),R=C^(ee<<1|Z>>>31),h[6]^=E,h[7]^=R,h[16]^=E,h[17]^=R,h[26]^=E,h[27]^=R,h[36]^=E,h[37]^=R,h[46]^=E,h[47]^=R,E=U^(P<<1|L>>>31),R=At^(L<<1|P>>>31),h[8]^=E,h[9]^=R,h[18]^=E,h[19]^=R,h[28]^=E,h[29]^=R,h[38]^=E,h[39]^=R,h[48]^=E,h[49]^=R,Et=h[0],te=h[1],_e=h[11]<<4|h[10]>>>28,Lt=h[10]<<4|h[11]>>>28,ue=h[20]<<3|h[21]>>>29,Pt=h[21]<<3|h[20]>>>29,vt=h[31]<<9|h[30]>>>23,gt=h[30]<<9|h[31]>>>23,we=h[40]<<18|h[41]>>>14,be=h[41]<<18|h[40]>>>14,pe=h[2]<<1|h[3]>>>31,Ot=h[3]<<1|h[2]>>>31,re=h[13]<<12|h[12]>>>20,It=h[12]<<12|h[13]>>>20,Me=h[22]<<10|h[23]>>>22,Se=h[23]<<10|h[22]>>>22,ce=h[33]<<13|h[32]>>>19,le=h[32]<<13|h[33]>>>19,mt=h[42]<<2|h[43]>>>30,yt=h[43]<<2|h[42]>>>30,Ie=h[5]<<30|h[4]>>>2,Re=h[4]<<30|h[5]>>>2,ve=h[14]<<6|h[15]>>>26,ge=h[15]<<6|h[14]>>>26,ie=h[25]<<11|h[24]>>>21,ne=h[24]<<11|h[25]>>>21,Dt=h[34]<<15|h[35]>>>17,Ae=h[35]<<15|h[34]>>>17,qt=h[45]<<29|h[44]>>>3,de=h[44]<<29|h[45]>>>3,ae=h[6]<<28|h[7]>>>4,fe=h[7]<<28|h[6]>>>4,kt=h[17]<<23|h[16]>>>9,Ne=h[16]<<23|h[17]>>>9,Ct=h[26]<<25|h[27]>>>7,me=h[27]<<25|h[26]>>>7,Rt=h[36]<<21|h[37]>>>11,se=h[37]<<21|h[36]>>>11,Ee=h[47]<<24|h[46]>>>8,Ut=h[46]<<24|h[47]>>>8,$t=h[8]<<27|h[9]>>>5,xe=h[9]<<27|h[8]>>>5,Ft=h[18]<<20|h[19]>>>12,he=h[19]<<20|h[18]>>>12,Fe=h[29]<<7|h[28]>>>25,pt=h[28]<<7|h[29]>>>25,ye=h[38]<<8|h[39]>>>24,Tt=h[39]<<8|h[38]>>>24,oe=h[48]<<14|h[49]>>>18,Nt=h[49]<<14|h[48]>>>18,h[0]=Et^~re&ie,h[1]=te^~It&ne,h[10]=ae^~Ft&ue,h[11]=fe^~he&Pt,h[20]=pe^~ve&Ct,h[21]=Ot^~ge&me,h[30]=$t^~_e&Me,h[31]=xe^~Lt&Se,h[40]=Ie^~kt&Fe,h[41]=Re^~Ne&pt,h[2]=re^~ie&Rt,h[3]=It^~ne&se,h[12]=Ft^~ue&ce,h[13]=he^~Pt&le,h[22]=ve^~Ct&ye,h[23]=ge^~me&Tt,h[32]=_e^~Me&Dt,h[33]=Lt^~Se&Ae,h[42]=kt^~Fe&vt,h[43]=Ne^~pt>,h[4]=ie^~Rt&oe,h[5]=ne^~se&Nt,h[14]=ue^~ce&qt,h[15]=Pt^~le&de,h[24]=Ct^~ye&we,h[25]=me^~Tt&be,h[34]=Me^~Dt&Ee,h[35]=Se^~Ae&Ut,h[44]=Fe^~vt&mt,h[45]=pt^~gt&yt,h[6]=Rt^~oe&Et,h[7]=se^~Nt&te,h[16]=ce^~qt&ae,h[17]=le^~de&fe,h[26]=ye^~we&pe,h[27]=Tt^~be&Ot,h[36]=Dt^~Ee&$t,h[37]=Ae^~Ut&xe,h[46]=vt^~mt&Ie,h[47]=gt^~yt&Re,h[8]=oe^~Et&re,h[9]=Nt^~te&It,h[18]=qt^~ae&Ft,h[19]=de^~fe&he,h[28]=we^~pe&ve,h[29]=be^~Ot&ge,h[38]=Ee^~$t&_e,h[39]=Ut^~xe&Lt,h[48]=mt^~Ie&kt,h[49]=yt^~Re&Ne,h[0]^=F[N],h[1]^=F[N+1]};if(c)i.exports=o;else for(l=0;l{try{if("test".normalize(t)!=="test")throw new Error("bad normalize")}catch{i.push(t)}}),i.length)throw new Error("missing "+i.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(i){return i.message}return null}const Ui=no();var pi;(function(i){i.DEBUG="DEBUG",i.INFO="INFO",i.WARNING="WARNING",i.ERROR="ERROR",i.OFF="OFF"})(pi||(pi={}));var Ye;(function(i){i.UNKNOWN_ERROR="UNKNOWN_ERROR",i.NOT_IMPLEMENTED="NOT_IMPLEMENTED",i.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",i.NETWORK_ERROR="NETWORK_ERROR",i.SERVER_ERROR="SERVER_ERROR",i.TIMEOUT="TIMEOUT",i.BUFFER_OVERRUN="BUFFER_OVERRUN",i.NUMERIC_FAULT="NUMERIC_FAULT",i.MISSING_NEW="MISSING_NEW",i.INVALID_ARGUMENT="INVALID_ARGUMENT",i.MISSING_ARGUMENT="MISSING_ARGUMENT",i.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",i.CALL_EXCEPTION="CALL_EXCEPTION",i.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",i.NONCE_EXPIRED="NONCE_EXPIRED",i.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",i.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",i.TRANSACTION_REPLACED="TRANSACTION_REPLACED",i.ACTION_REJECTED="ACTION_REJECTED"})(Ye||(Ye={}));const ki="0123456789abcdef";class Pe{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const r=t.toLowerCase();xr[r]==null&&this.throwArgumentError("invalid log level name","logLevel",t),!(Di>xr[r])&&console.log.apply(console,e)}debug(...t){this._log(Pe.levels.DEBUG,t)}info(...t){this._log(Pe.levels.INFO,t)}warn(...t){this._log(Pe.levels.WARNING,t)}makeError(t,e,r){if(Li)return this.makeError("censored error",e,{});e||(e=Pe.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach(d=>{const m=r[d];try{if(m instanceof Uint8Array){let b="";for(let x=0;x>4],b+=ki[m[x]&15];n.push(d+"=Uint8Array(0x"+b+")")}else n.push(d+"="+JSON.stringify(m))}catch{n.push(d+"="+JSON.stringify(r[d].toString()))}}),n.push(`code=${e}`),n.push(`version=${this.version}`);const s=t;let u="";switch(e){case Ye.NUMERIC_FAULT:{u="NUMERIC_FAULT";const d=t;switch(d){case"overflow":case"underflow":case"division-by-zero":u+="-"+d;break;case"negative-power":case"negative-width":u+="-unsupported";break;case"unbound-bitwise-result":u+="-unbound-result";break}break}case Ye.CALL_EXCEPTION:case Ye.INSUFFICIENT_FUNDS:case Ye.MISSING_NEW:case Ye.NONCE_EXPIRED:case Ye.REPLACEMENT_UNDERPRICED:case Ye.TRANSACTION_REPLACED:case Ye.UNPREDICTABLE_GAS_LIMIT:u=e;break}u&&(t+=" [ See: https://links.ethers.org/v5-errors-"+u+" ]"),n.length&&(t+=" ("+n.join(", ")+")");const c=new Error(t);return c.reason=s,c.code=e,Object.keys(r).forEach(function(d){c[d]=r[d]}),c}throwError(t,e,r){throw this.makeError(t,e,r)}throwArgumentError(t,e,r){return this.throwError(t,Pe.errors.INVALID_ARGUMENT,{argument:e,value:r})}assert(t,e,r,n){t||this.throwError(e,r,n)}assertArgument(t,e,r,n){t||this.throwArgumentError(e,r,n)}checkNormalize(t){Ui&&this.throwError("platform missing String.prototype.normalize",Pe.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Ui})}checkSafeUint53(t,e){typeof t=="number"&&(e==null&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,Pe.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,Pe.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,r){r?r=": "+r:r="",te&&this.throwError("too many arguments"+r,Pe.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){(t===Object||t==null)&&this.throwError("missing new",Pe.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",Pe.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):(t===Object||t==null)&&this.throwError("missing new",Pe.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return Zr||(Zr=new Pe(io)),Zr}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",Pe.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),$i){if(!t)return;this.globalLogger().throwError("error censorship permanent",Pe.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Li=!!t,$i=!!e}static setLogLevel(t){const e=xr[t.toLowerCase()];if(e==null){Pe.globalLogger().warn("invalid log level - "+t);return}Di=e}static from(t){return new Pe(t)}}Pe.errors=Ye;Pe.levels=pi;const so="bytes/5.7.0",Oe=new Pe(so);function On(i){return!!i.toHexString}function Ht(i){return i.slice||(i.slice=function(){const t=Array.prototype.slice.call(arguments);return Ht(new Uint8Array(Array.prototype.slice.apply(i,t)))}),i}function oo(i){return tt(i)&&!(i.length%2)||_i(i)}function Bi(i){return typeof i=="number"&&i==i&&i%1===0}function _i(i){if(i==null)return!1;if(i.constructor===Uint8Array)return!0;if(typeof i=="string"||!Bi(i.length)||i.length<0)return!1;for(let t=0;t=256)return!1}return!0}function Ce(i,t){if(t||(t={}),typeof i=="number"){Oe.checkSafeUint53(i,"invalid arrayify value");const e=[];for(;i;)e.unshift(i&255),i=parseInt(String(i/256));return e.length===0&&e.push(0),Ht(new Uint8Array(e))}if(t.allowMissingPrefix&&typeof i=="string"&&i.substring(0,2)!=="0x"&&(i="0x"+i),On(i)&&(i=i.toHexString()),tt(i)){let e=i.substring(2);e.length%2&&(t.hexPad==="left"?e="0"+e:t.hexPad==="right"?e+="0":Oe.throwArgumentError("hex data is odd-length","value",i));const r=[];for(let n=0;nCe(n)),e=t.reduce((n,s)=>n+s.length,0),r=new Uint8Array(e);return t.reduce((n,s)=>(r.set(s,n),n+s.length),0),Ht(r)}function fo(i,t){i=Ce(i),i.length>t&&Oe.throwArgumentError("value out of range","value",arguments[0]);const e=new Uint8Array(t);return e.set(i,t-i.length),Ht(e)}function tt(i,t){return!(typeof i!="string"||!i.match(/^0x[0-9A-Fa-f]*$/)||t&&i.length!==2+2*t)}const ei="0123456789abcdef";function ze(i,t){if(t||(t={}),typeof i=="number"){Oe.checkSafeUint53(i,"invalid hexlify value");let e="";for(;i;)e=ei[i&15]+e,i=Math.floor(i/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if(typeof i=="bigint")return i=i.toString(16),i.length%2?"0x0"+i:"0x"+i;if(t.allowMissingPrefix&&typeof i=="string"&&i.substring(0,2)!=="0x"&&(i="0x"+i),On(i))return i.toHexString();if(tt(i))return i.length%2&&(t.hexPad==="left"?i="0x0"+i.substring(2):t.hexPad==="right"?i+="0":Oe.throwArgumentError("hex data is odd-length","value",i)),i.toLowerCase();if(_i(i)){let e="0x";for(let r=0;r>4]+ei[n&15]}return e}return Oe.throwArgumentError("invalid hexlify value","value",i)}function ho(i){if(typeof i!="string")i=ze(i);else if(!tt(i)||i.length%2)return null;return(i.length-2)/2}function zi(i,t,e){return typeof i!="string"?i=ze(i):(!tt(i)||i.length%2)&&Oe.throwArgumentError("invalid hexData","value",i),t=2+2*t,e!=null?"0x"+i.substring(t,2+2*e):"0x"+i.substring(t)}function Jt(i,t){for(typeof i!="string"?i=ze(i):tt(i)||Oe.throwArgumentError("invalid hex string","value",i),i.length>2*t+2&&Oe.throwArgumentError("value out of range","value",arguments[1]);i.length<2*t+2;)i="0x0"+i.substring(2);return i}function Cn(i){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(oo(i)){let e=Ce(i);e.length===64?(t.v=27+(e[32]>>7),e[32]&=127,t.r=ze(e.slice(0,32)),t.s=ze(e.slice(32,64))):e.length===65?(t.r=ze(e.slice(0,32)),t.s=ze(e.slice(32,64)),t.v=e[64]):Oe.throwArgumentError("invalid signature string","signature",i),t.v<27&&(t.v===0||t.v===1?t.v+=27:Oe.throwArgumentError("signature invalid v byte","signature",i)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(e[32]|=128),t._vs=ze(e.slice(32,64))}else{if(t.r=i.r,t.s=i.s,t.v=i.v,t.recoveryParam=i.recoveryParam,t._vs=i._vs,t._vs!=null){const n=fo(Ce(t._vs),32);t._vs=ze(n);const s=n[0]>=128?1:0;t.recoveryParam==null?t.recoveryParam=s:t.recoveryParam!==s&&Oe.throwArgumentError("signature recoveryParam mismatch _vs","signature",i),n[0]&=127;const u=ze(n);t.s==null?t.s=u:t.s!==u&&Oe.throwArgumentError("signature v mismatch _vs","signature",i)}if(t.recoveryParam==null)t.v==null?Oe.throwArgumentError("signature missing v and recoveryParam","signature",i):t.v===0||t.v===1?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(t.v==null)t.v=27+t.recoveryParam;else{const n=t.v===0||t.v===1?t.v:1-t.v%2;t.recoveryParam!==n&&Oe.throwArgumentError("signature recoveryParam mismatch v","signature",i)}t.r==null||!tt(t.r)?Oe.throwArgumentError("signature missing or invalid r","signature",i):t.r=Jt(t.r,32),t.s==null||!tt(t.s)?Oe.throwArgumentError("signature missing or invalid s","signature",i):t.s=Jt(t.s,32);const e=Ce(t.s);e[0]>=128&&Oe.throwArgumentError("signature s out of range","signature",i),t.recoveryParam&&(e[0]|=128);const r=ze(e);t._vs&&(tt(t._vs)||Oe.throwArgumentError("signature invalid _vs","signature",i),t._vs=Jt(t._vs,32)),t._vs==null?t._vs=r:t._vs!==r&&Oe.throwArgumentError("signature _vs mismatch v and s","signature",i)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function Mi(i){return"0x"+ro.keccak_256(Ce(i))}var Si={exports:{}};Si.exports;(function(i){(function(t,e){function r(w,o){if(!w)throw new Error(o||"Assertion failed")}function n(w,o){w.super_=o;var f=function(){};f.prototype=o.prototype,w.prototype=new f,w.prototype.constructor=w}function s(w,o,f){if(s.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,w!==null&&((o==="le"||o==="be")&&(f=o,o=10),this._init(w||0,o||10,f||"be"))}typeof t=="object"?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;var u;try{typeof window<"u"&&typeof window.Buffer<"u"?u=window.Buffer:u=Cs.Buffer}catch{}s.isBN=function(o){return o instanceof s?!0:o!==null&&typeof o=="object"&&o.constructor.wordSize===s.wordSize&&Array.isArray(o.words)},s.max=function(o,f){return o.cmp(f)>0?o:f},s.min=function(o,f){return o.cmp(f)<0?o:f},s.prototype._init=function(o,f,l){if(typeof o=="number")return this._initNumber(o,f,l);if(typeof o=="object")return this._initArray(o,f,l);f==="hex"&&(f=16),r(f===(f|0)&&f>=2&&f<=36),o=o.toString().replace(/\s+/g,"");var v=0;o[0]==="-"&&(v++,this.negative=1),v=0;v-=3)_=o[v]|o[v-1]<<8|o[v-2]<<16,this.words[y]|=_<>>26-M&67108863,M+=24,M>=26&&(M-=26,y++);else if(l==="le")for(v=0,y=0;v>>26-M&67108863,M+=24,M>=26&&(M-=26,y++);return this._strip()};function c(w,o){var f=w.charCodeAt(o);if(f>=48&&f<=57)return f-48;if(f>=65&&f<=70)return f-55;if(f>=97&&f<=102)return f-87;r(!1,"Invalid character in "+w)}function d(w,o,f){var l=c(w,f);return f-1>=o&&(l|=c(w,f-1)<<4),l}s.prototype._parseHex=function(o,f,l){this.length=Math.ceil((o.length-f)/6),this.words=new Array(this.length);for(var v=0;v=f;v-=2)M=d(o,f,v)<=18?(y-=18,_+=1,this.words[_]|=M>>>26):y+=8;else{var p=o.length-f;for(v=p%2===0?f+1:f;v=18?(y-=18,_+=1,this.words[_]|=M>>>26):y+=8}this._strip()};function m(w,o,f,l){for(var v=0,y=0,_=Math.min(w.length,f),M=o;M<_;M++){var p=w.charCodeAt(M)-48;v*=l,p>=49?y=p-49+10:p>=17?y=p-17+10:y=p,r(p>=0&&y1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=x}catch{s.prototype.inspect=x}else s.prototype.inspect=x;function x(){return(this.red?""}var A=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],S=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(o,f){o=o||10,f=f|0||1;var l;if(o===16||o==="hex"){l="";for(var v=0,y=0,_=0;_>>24-v&16777215,v+=2,v>=26&&(v-=26,_--),y!==0||_!==this.length-1?l=A[6-p.length]+p+l:l=p+l}for(y!==0&&(l=y.toString(16)+l);l.length%f!==0;)l="0"+l;return this.negative!==0&&(l="-"+l),l}if(o===(o|0)&&o>=2&&o<=36){var a=I[o],g=S[o];l="";var D=this.clone();for(D.negative=0;!D.isZero();){var h=D.modrn(g).toString(o);D=D.idivn(g),D.isZero()?l=h+l:l=A[a-h.length]+h+l}for(this.isZero()&&(l="0"+l);l.length%f!==0;)l="0"+l;return this.negative!==0&&(l="-"+l),l}r(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var o=this.words[0];return this.length===2?o+=this.words[1]*67108864:this.length===3&&this.words[2]===1?o+=4503599627370496+this.words[1]*67108864:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-o:o},s.prototype.toJSON=function(){return this.toString(16,2)},u&&(s.prototype.toBuffer=function(o,f){return this.toArrayLike(u,o,f)}),s.prototype.toArray=function(o,f){return this.toArrayLike(Array,o,f)};var F=function(o,f){return o.allocUnsafe?o.allocUnsafe(f):new o(f)};s.prototype.toArrayLike=function(o,f,l){this._strip();var v=this.byteLength(),y=l||Math.max(1,v);r(v<=y,"byte array longer than desired length"),r(y>0,"Requested array length <= 0");var _=F(o,y),M=f==="le"?"LE":"BE";return this["_toArrayLike"+M](_,v),_},s.prototype._toArrayLikeLE=function(o,f){for(var l=0,v=0,y=0,_=0;y>8&255),l>16&255),_===6?(l>24&255),v=0,_=0):(v=M>>>24,_+=2)}if(l=0&&(o[l--]=M>>8&255),l>=0&&(o[l--]=M>>16&255),_===6?(l>=0&&(o[l--]=M>>24&255),v=0,_=0):(v=M>>>24,_+=2)}if(l>=0)for(o[l--]=v;l>=0;)o[l--]=0},Math.clz32?s.prototype._countBits=function(o){return 32-Math.clz32(o)}:s.prototype._countBits=function(o){var f=o,l=0;return f>=4096&&(l+=13,f>>>=13),f>=64&&(l+=7,f>>>=7),f>=8&&(l+=4,f>>>=4),f>=2&&(l+=2,f>>>=2),l+f},s.prototype._zeroBits=function(o){if(o===0)return 26;var f=o,l=0;return f&8191||(l+=13,f>>>=13),f&127||(l+=7,f>>>=7),f&15||(l+=4,f>>>=4),f&3||(l+=2,f>>>=2),f&1||l++,l},s.prototype.bitLength=function(){var o=this.words[this.length-1],f=this._countBits(o);return(this.length-1)*26+f};function $(w){for(var o=new Array(w.bitLength()),f=0;f>>v&1}return o}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var o=0,f=0;fo.length?this.clone().ior(o):o.clone().ior(this)},s.prototype.uor=function(o){return this.length>o.length?this.clone().iuor(o):o.clone().iuor(this)},s.prototype.iuand=function(o){var f;this.length>o.length?f=o:f=this;for(var l=0;lo.length?this.clone().iand(o):o.clone().iand(this)},s.prototype.uand=function(o){return this.length>o.length?this.clone().iuand(o):o.clone().iuand(this)},s.prototype.iuxor=function(o){var f,l;this.length>o.length?(f=this,l=o):(f=o,l=this);for(var v=0;vo.length?this.clone().ixor(o):o.clone().ixor(this)},s.prototype.uxor=function(o){return this.length>o.length?this.clone().iuxor(o):o.clone().iuxor(this)},s.prototype.inotn=function(o){r(typeof o=="number"&&o>=0);var f=Math.ceil(o/26)|0,l=o%26;this._expand(f),l>0&&f--;for(var v=0;v0&&(this.words[v]=~this.words[v]&67108863>>26-l),this._strip()},s.prototype.notn=function(o){return this.clone().inotn(o)},s.prototype.setn=function(o,f){r(typeof o=="number"&&o>=0);var l=o/26|0,v=o%26;return this._expand(l+1),f?this.words[l]=this.words[l]|1<o.length?(l=this,v=o):(l=o,v=this);for(var y=0,_=0;_>>26;for(;y!==0&&_>>26;if(this.length=l.length,y!==0)this.words[this.length]=y,this.length++;else if(l!==this)for(;_o.length?this.clone().iadd(o):o.clone().iadd(this)},s.prototype.isub=function(o){if(o.negative!==0){o.negative=0;var f=this.iadd(o);return o.negative=1,f._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(o),this.negative=1,this._normSign();var l=this.cmp(o);if(l===0)return this.negative=0,this.length=1,this.words[0]=0,this;var v,y;l>0?(v=this,y=o):(v=o,y=this);for(var _=0,M=0;M>26,this.words[M]=f&67108863;for(;_!==0&&M>26,this.words[M]=f&67108863;if(_===0&&M>>26,D=p&67108863,h=Math.min(a,o.length-1),E=Math.max(0,a-w.length+1);E<=h;E++){var R=a-E|0;v=w.words[R]|0,y=o.words[E]|0,_=v*y+D,g+=_/67108864|0,D=_&67108863}f.words[a]=D|0,p=g|0}return p!==0?f.words[a]=p|0:f.length--,f._strip()}var K=function(o,f,l){var v=o.words,y=f.words,_=l.words,M=0,p,a,g,D=v[0]|0,h=D&8191,E=D>>>13,R=v[1]|0,N=R&8191,P=R>>>13,L=v[2]|0,O=L&8191,q=L>>>13,qe=v[3]|0,C=qe&8191,U=qe>>>13,At=v[4]|0,Z=At&8191,ee=At>>>13,Et=v[5]|0,te=Et&8191,re=Et>>>13,It=v[6]|0,ie=It&8191,ne=It>>>13,Rt=v[7]|0,se=Rt&8191,oe=Rt>>>13,Nt=v[8]|0,ae=Nt&8191,fe=Nt>>>13,Ft=v[9]|0,he=Ft&8191,ue=Ft>>>13,Pt=y[0]|0,ce=Pt&8191,le=Pt>>>13,qt=y[1]|0,de=qt&8191,pe=qt>>>13,Ot=y[2]|0,ve=Ot&8191,ge=Ot>>>13,Ct=y[3]|0,me=Ct&8191,ye=Ct>>>13,Tt=y[4]|0,we=Tt&8191,be=Tt>>>13,$t=y[5]|0,xe=$t&8191,_e=$t>>>13,Lt=y[6]|0,Me=Lt&8191,Se=Lt>>>13,Dt=y[7]|0,Ae=Dt&8191,Ee=Dt>>>13,Ut=y[8]|0,Ie=Ut&8191,Re=Ut>>>13,kt=y[9]|0,Ne=kt&8191,Fe=kt>>>13;l.negative=o.negative^f.negative,l.length=19,p=Math.imul(h,ce),a=Math.imul(h,le),a=a+Math.imul(E,ce)|0,g=Math.imul(E,le);var pt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,p=Math.imul(N,ce),a=Math.imul(N,le),a=a+Math.imul(P,ce)|0,g=Math.imul(P,le),p=p+Math.imul(h,de)|0,a=a+Math.imul(h,pe)|0,a=a+Math.imul(E,de)|0,g=g+Math.imul(E,pe)|0;var vt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,p=Math.imul(O,ce),a=Math.imul(O,le),a=a+Math.imul(q,ce)|0,g=Math.imul(q,le),p=p+Math.imul(N,de)|0,a=a+Math.imul(N,pe)|0,a=a+Math.imul(P,de)|0,g=g+Math.imul(P,pe)|0,p=p+Math.imul(h,ve)|0,a=a+Math.imul(h,ge)|0,a=a+Math.imul(E,ve)|0,g=g+Math.imul(E,ge)|0;var gt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(gt>>>26)|0,gt&=67108863,p=Math.imul(C,ce),a=Math.imul(C,le),a=a+Math.imul(U,ce)|0,g=Math.imul(U,le),p=p+Math.imul(O,de)|0,a=a+Math.imul(O,pe)|0,a=a+Math.imul(q,de)|0,g=g+Math.imul(q,pe)|0,p=p+Math.imul(N,ve)|0,a=a+Math.imul(N,ge)|0,a=a+Math.imul(P,ve)|0,g=g+Math.imul(P,ge)|0,p=p+Math.imul(h,me)|0,a=a+Math.imul(h,ye)|0,a=a+Math.imul(E,me)|0,g=g+Math.imul(E,ye)|0;var mt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,p=Math.imul(Z,ce),a=Math.imul(Z,le),a=a+Math.imul(ee,ce)|0,g=Math.imul(ee,le),p=p+Math.imul(C,de)|0,a=a+Math.imul(C,pe)|0,a=a+Math.imul(U,de)|0,g=g+Math.imul(U,pe)|0,p=p+Math.imul(O,ve)|0,a=a+Math.imul(O,ge)|0,a=a+Math.imul(q,ve)|0,g=g+Math.imul(q,ge)|0,p=p+Math.imul(N,me)|0,a=a+Math.imul(N,ye)|0,a=a+Math.imul(P,me)|0,g=g+Math.imul(P,ye)|0,p=p+Math.imul(h,we)|0,a=a+Math.imul(h,be)|0,a=a+Math.imul(E,we)|0,g=g+Math.imul(E,be)|0;var yt=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,p=Math.imul(te,ce),a=Math.imul(te,le),a=a+Math.imul(re,ce)|0,g=Math.imul(re,le),p=p+Math.imul(Z,de)|0,a=a+Math.imul(Z,pe)|0,a=a+Math.imul(ee,de)|0,g=g+Math.imul(ee,pe)|0,p=p+Math.imul(C,ve)|0,a=a+Math.imul(C,ge)|0,a=a+Math.imul(U,ve)|0,g=g+Math.imul(U,ge)|0,p=p+Math.imul(O,me)|0,a=a+Math.imul(O,ye)|0,a=a+Math.imul(q,me)|0,g=g+Math.imul(q,ye)|0,p=p+Math.imul(N,we)|0,a=a+Math.imul(N,be)|0,a=a+Math.imul(P,we)|0,g=g+Math.imul(P,be)|0,p=p+Math.imul(h,xe)|0,a=a+Math.imul(h,_e)|0,a=a+Math.imul(E,xe)|0,g=g+Math.imul(E,_e)|0;var $r=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+($r>>>26)|0,$r&=67108863,p=Math.imul(ie,ce),a=Math.imul(ie,le),a=a+Math.imul(ne,ce)|0,g=Math.imul(ne,le),p=p+Math.imul(te,de)|0,a=a+Math.imul(te,pe)|0,a=a+Math.imul(re,de)|0,g=g+Math.imul(re,pe)|0,p=p+Math.imul(Z,ve)|0,a=a+Math.imul(Z,ge)|0,a=a+Math.imul(ee,ve)|0,g=g+Math.imul(ee,ge)|0,p=p+Math.imul(C,me)|0,a=a+Math.imul(C,ye)|0,a=a+Math.imul(U,me)|0,g=g+Math.imul(U,ye)|0,p=p+Math.imul(O,we)|0,a=a+Math.imul(O,be)|0,a=a+Math.imul(q,we)|0,g=g+Math.imul(q,be)|0,p=p+Math.imul(N,xe)|0,a=a+Math.imul(N,_e)|0,a=a+Math.imul(P,xe)|0,g=g+Math.imul(P,_e)|0,p=p+Math.imul(h,Me)|0,a=a+Math.imul(h,Se)|0,a=a+Math.imul(E,Me)|0,g=g+Math.imul(E,Se)|0;var Lr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,p=Math.imul(se,ce),a=Math.imul(se,le),a=a+Math.imul(oe,ce)|0,g=Math.imul(oe,le),p=p+Math.imul(ie,de)|0,a=a+Math.imul(ie,pe)|0,a=a+Math.imul(ne,de)|0,g=g+Math.imul(ne,pe)|0,p=p+Math.imul(te,ve)|0,a=a+Math.imul(te,ge)|0,a=a+Math.imul(re,ve)|0,g=g+Math.imul(re,ge)|0,p=p+Math.imul(Z,me)|0,a=a+Math.imul(Z,ye)|0,a=a+Math.imul(ee,me)|0,g=g+Math.imul(ee,ye)|0,p=p+Math.imul(C,we)|0,a=a+Math.imul(C,be)|0,a=a+Math.imul(U,we)|0,g=g+Math.imul(U,be)|0,p=p+Math.imul(O,xe)|0,a=a+Math.imul(O,_e)|0,a=a+Math.imul(q,xe)|0,g=g+Math.imul(q,_e)|0,p=p+Math.imul(N,Me)|0,a=a+Math.imul(N,Se)|0,a=a+Math.imul(P,Me)|0,g=g+Math.imul(P,Se)|0,p=p+Math.imul(h,Ae)|0,a=a+Math.imul(h,Ee)|0,a=a+Math.imul(E,Ae)|0,g=g+Math.imul(E,Ee)|0;var Dr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,p=Math.imul(ae,ce),a=Math.imul(ae,le),a=a+Math.imul(fe,ce)|0,g=Math.imul(fe,le),p=p+Math.imul(se,de)|0,a=a+Math.imul(se,pe)|0,a=a+Math.imul(oe,de)|0,g=g+Math.imul(oe,pe)|0,p=p+Math.imul(ie,ve)|0,a=a+Math.imul(ie,ge)|0,a=a+Math.imul(ne,ve)|0,g=g+Math.imul(ne,ge)|0,p=p+Math.imul(te,me)|0,a=a+Math.imul(te,ye)|0,a=a+Math.imul(re,me)|0,g=g+Math.imul(re,ye)|0,p=p+Math.imul(Z,we)|0,a=a+Math.imul(Z,be)|0,a=a+Math.imul(ee,we)|0,g=g+Math.imul(ee,be)|0,p=p+Math.imul(C,xe)|0,a=a+Math.imul(C,_e)|0,a=a+Math.imul(U,xe)|0,g=g+Math.imul(U,_e)|0,p=p+Math.imul(O,Me)|0,a=a+Math.imul(O,Se)|0,a=a+Math.imul(q,Me)|0,g=g+Math.imul(q,Se)|0,p=p+Math.imul(N,Ae)|0,a=a+Math.imul(N,Ee)|0,a=a+Math.imul(P,Ae)|0,g=g+Math.imul(P,Ee)|0,p=p+Math.imul(h,Ie)|0,a=a+Math.imul(h,Re)|0,a=a+Math.imul(E,Ie)|0,g=g+Math.imul(E,Re)|0;var Ur=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Ur>>>26)|0,Ur&=67108863,p=Math.imul(he,ce),a=Math.imul(he,le),a=a+Math.imul(ue,ce)|0,g=Math.imul(ue,le),p=p+Math.imul(ae,de)|0,a=a+Math.imul(ae,pe)|0,a=a+Math.imul(fe,de)|0,g=g+Math.imul(fe,pe)|0,p=p+Math.imul(se,ve)|0,a=a+Math.imul(se,ge)|0,a=a+Math.imul(oe,ve)|0,g=g+Math.imul(oe,ge)|0,p=p+Math.imul(ie,me)|0,a=a+Math.imul(ie,ye)|0,a=a+Math.imul(ne,me)|0,g=g+Math.imul(ne,ye)|0,p=p+Math.imul(te,we)|0,a=a+Math.imul(te,be)|0,a=a+Math.imul(re,we)|0,g=g+Math.imul(re,be)|0,p=p+Math.imul(Z,xe)|0,a=a+Math.imul(Z,_e)|0,a=a+Math.imul(ee,xe)|0,g=g+Math.imul(ee,_e)|0,p=p+Math.imul(C,Me)|0,a=a+Math.imul(C,Se)|0,a=a+Math.imul(U,Me)|0,g=g+Math.imul(U,Se)|0,p=p+Math.imul(O,Ae)|0,a=a+Math.imul(O,Ee)|0,a=a+Math.imul(q,Ae)|0,g=g+Math.imul(q,Ee)|0,p=p+Math.imul(N,Ie)|0,a=a+Math.imul(N,Re)|0,a=a+Math.imul(P,Ie)|0,g=g+Math.imul(P,Re)|0,p=p+Math.imul(h,Ne)|0,a=a+Math.imul(h,Fe)|0,a=a+Math.imul(E,Ne)|0,g=g+Math.imul(E,Fe)|0;var kr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(kr>>>26)|0,kr&=67108863,p=Math.imul(he,de),a=Math.imul(he,pe),a=a+Math.imul(ue,de)|0,g=Math.imul(ue,pe),p=p+Math.imul(ae,ve)|0,a=a+Math.imul(ae,ge)|0,a=a+Math.imul(fe,ve)|0,g=g+Math.imul(fe,ge)|0,p=p+Math.imul(se,me)|0,a=a+Math.imul(se,ye)|0,a=a+Math.imul(oe,me)|0,g=g+Math.imul(oe,ye)|0,p=p+Math.imul(ie,we)|0,a=a+Math.imul(ie,be)|0,a=a+Math.imul(ne,we)|0,g=g+Math.imul(ne,be)|0,p=p+Math.imul(te,xe)|0,a=a+Math.imul(te,_e)|0,a=a+Math.imul(re,xe)|0,g=g+Math.imul(re,_e)|0,p=p+Math.imul(Z,Me)|0,a=a+Math.imul(Z,Se)|0,a=a+Math.imul(ee,Me)|0,g=g+Math.imul(ee,Se)|0,p=p+Math.imul(C,Ae)|0,a=a+Math.imul(C,Ee)|0,a=a+Math.imul(U,Ae)|0,g=g+Math.imul(U,Ee)|0,p=p+Math.imul(O,Ie)|0,a=a+Math.imul(O,Re)|0,a=a+Math.imul(q,Ie)|0,g=g+Math.imul(q,Re)|0,p=p+Math.imul(N,Ne)|0,a=a+Math.imul(N,Fe)|0,a=a+Math.imul(P,Ne)|0,g=g+Math.imul(P,Fe)|0;var Br=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Br>>>26)|0,Br&=67108863,p=Math.imul(he,ve),a=Math.imul(he,ge),a=a+Math.imul(ue,ve)|0,g=Math.imul(ue,ge),p=p+Math.imul(ae,me)|0,a=a+Math.imul(ae,ye)|0,a=a+Math.imul(fe,me)|0,g=g+Math.imul(fe,ye)|0,p=p+Math.imul(se,we)|0,a=a+Math.imul(se,be)|0,a=a+Math.imul(oe,we)|0,g=g+Math.imul(oe,be)|0,p=p+Math.imul(ie,xe)|0,a=a+Math.imul(ie,_e)|0,a=a+Math.imul(ne,xe)|0,g=g+Math.imul(ne,_e)|0,p=p+Math.imul(te,Me)|0,a=a+Math.imul(te,Se)|0,a=a+Math.imul(re,Me)|0,g=g+Math.imul(re,Se)|0,p=p+Math.imul(Z,Ae)|0,a=a+Math.imul(Z,Ee)|0,a=a+Math.imul(ee,Ae)|0,g=g+Math.imul(ee,Ee)|0,p=p+Math.imul(C,Ie)|0,a=a+Math.imul(C,Re)|0,a=a+Math.imul(U,Ie)|0,g=g+Math.imul(U,Re)|0,p=p+Math.imul(O,Ne)|0,a=a+Math.imul(O,Fe)|0,a=a+Math.imul(q,Ne)|0,g=g+Math.imul(q,Fe)|0;var zr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(zr>>>26)|0,zr&=67108863,p=Math.imul(he,me),a=Math.imul(he,ye),a=a+Math.imul(ue,me)|0,g=Math.imul(ue,ye),p=p+Math.imul(ae,we)|0,a=a+Math.imul(ae,be)|0,a=a+Math.imul(fe,we)|0,g=g+Math.imul(fe,be)|0,p=p+Math.imul(se,xe)|0,a=a+Math.imul(se,_e)|0,a=a+Math.imul(oe,xe)|0,g=g+Math.imul(oe,_e)|0,p=p+Math.imul(ie,Me)|0,a=a+Math.imul(ie,Se)|0,a=a+Math.imul(ne,Me)|0,g=g+Math.imul(ne,Se)|0,p=p+Math.imul(te,Ae)|0,a=a+Math.imul(te,Ee)|0,a=a+Math.imul(re,Ae)|0,g=g+Math.imul(re,Ee)|0,p=p+Math.imul(Z,Ie)|0,a=a+Math.imul(Z,Re)|0,a=a+Math.imul(ee,Ie)|0,g=g+Math.imul(ee,Re)|0,p=p+Math.imul(C,Ne)|0,a=a+Math.imul(C,Fe)|0,a=a+Math.imul(U,Ne)|0,g=g+Math.imul(U,Fe)|0;var Vr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,p=Math.imul(he,we),a=Math.imul(he,be),a=a+Math.imul(ue,we)|0,g=Math.imul(ue,be),p=p+Math.imul(ae,xe)|0,a=a+Math.imul(ae,_e)|0,a=a+Math.imul(fe,xe)|0,g=g+Math.imul(fe,_e)|0,p=p+Math.imul(se,Me)|0,a=a+Math.imul(se,Se)|0,a=a+Math.imul(oe,Me)|0,g=g+Math.imul(oe,Se)|0,p=p+Math.imul(ie,Ae)|0,a=a+Math.imul(ie,Ee)|0,a=a+Math.imul(ne,Ae)|0,g=g+Math.imul(ne,Ee)|0,p=p+Math.imul(te,Ie)|0,a=a+Math.imul(te,Re)|0,a=a+Math.imul(re,Ie)|0,g=g+Math.imul(re,Re)|0,p=p+Math.imul(Z,Ne)|0,a=a+Math.imul(Z,Fe)|0,a=a+Math.imul(ee,Ne)|0,g=g+Math.imul(ee,Fe)|0;var Kr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Kr>>>26)|0,Kr&=67108863,p=Math.imul(he,xe),a=Math.imul(he,_e),a=a+Math.imul(ue,xe)|0,g=Math.imul(ue,_e),p=p+Math.imul(ae,Me)|0,a=a+Math.imul(ae,Se)|0,a=a+Math.imul(fe,Me)|0,g=g+Math.imul(fe,Se)|0,p=p+Math.imul(se,Ae)|0,a=a+Math.imul(se,Ee)|0,a=a+Math.imul(oe,Ae)|0,g=g+Math.imul(oe,Ee)|0,p=p+Math.imul(ie,Ie)|0,a=a+Math.imul(ie,Re)|0,a=a+Math.imul(ne,Ie)|0,g=g+Math.imul(ne,Re)|0,p=p+Math.imul(te,Ne)|0,a=a+Math.imul(te,Fe)|0,a=a+Math.imul(re,Ne)|0,g=g+Math.imul(re,Fe)|0;var jr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(jr>>>26)|0,jr&=67108863,p=Math.imul(he,Me),a=Math.imul(he,Se),a=a+Math.imul(ue,Me)|0,g=Math.imul(ue,Se),p=p+Math.imul(ae,Ae)|0,a=a+Math.imul(ae,Ee)|0,a=a+Math.imul(fe,Ae)|0,g=g+Math.imul(fe,Ee)|0,p=p+Math.imul(se,Ie)|0,a=a+Math.imul(se,Re)|0,a=a+Math.imul(oe,Ie)|0,g=g+Math.imul(oe,Re)|0,p=p+Math.imul(ie,Ne)|0,a=a+Math.imul(ie,Fe)|0,a=a+Math.imul(ne,Ne)|0,g=g+Math.imul(ne,Fe)|0;var Gr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Gr>>>26)|0,Gr&=67108863,p=Math.imul(he,Ae),a=Math.imul(he,Ee),a=a+Math.imul(ue,Ae)|0,g=Math.imul(ue,Ee),p=p+Math.imul(ae,Ie)|0,a=a+Math.imul(ae,Re)|0,a=a+Math.imul(fe,Ie)|0,g=g+Math.imul(fe,Re)|0,p=p+Math.imul(se,Ne)|0,a=a+Math.imul(se,Fe)|0,a=a+Math.imul(oe,Ne)|0,g=g+Math.imul(oe,Fe)|0;var Hr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Hr>>>26)|0,Hr&=67108863,p=Math.imul(he,Ie),a=Math.imul(he,Re),a=a+Math.imul(ue,Ie)|0,g=Math.imul(ue,Re),p=p+Math.imul(ae,Ne)|0,a=a+Math.imul(ae,Fe)|0,a=a+Math.imul(fe,Ne)|0,g=g+Math.imul(fe,Fe)|0;var Jr=(M+p|0)+((a&8191)<<13)|0;M=(g+(a>>>13)|0)+(Jr>>>26)|0,Jr&=67108863,p=Math.imul(he,Ne),a=Math.imul(he,Fe),a=a+Math.imul(ue,Ne)|0,g=Math.imul(ue,Fe);var Wr=(M+p|0)+((a&8191)<<13)|0;return M=(g+(a>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,_[0]=pt,_[1]=vt,_[2]=gt,_[3]=mt,_[4]=yt,_[5]=$r,_[6]=Lr,_[7]=Dr,_[8]=Ur,_[9]=kr,_[10]=Br,_[11]=zr,_[12]=Vr,_[13]=Kr,_[14]=jr,_[15]=Gr,_[16]=Hr,_[17]=Jr,_[18]=Wr,M!==0&&(_[19]=M,l.length++),l};Math.imul||(K=T);function H(w,o,f){f.negative=o.negative^w.negative,f.length=w.length+o.length;for(var l=0,v=0,y=0;y>>26)|0,v+=_>>>26,_&=67108863}f.words[y]=M,l=_,_=v}return l!==0?f.words[y]=l:f.length--,f._strip()}function z(w,o,f){return H(w,o,f)}s.prototype.mulTo=function(o,f){var l,v=this.length+o.length;return this.length===10&&o.length===10?l=K(this,o,f):v<63?l=T(this,o,f):v<1024?l=H(this,o,f):l=z(this,o,f),l},s.prototype.mul=function(o){var f=new s(null);return f.words=new Array(this.length+o.length),this.mulTo(o,f)},s.prototype.mulf=function(o){var f=new s(null);return f.words=new Array(this.length+o.length),z(this,o,f)},s.prototype.imul=function(o){return this.clone().mulTo(o,this)},s.prototype.imuln=function(o){var f=o<0;f&&(o=-o),r(typeof o=="number"),r(o<67108864);for(var l=0,v=0;v>=26,l+=y/67108864|0,l+=_>>>26,this.words[v]=_&67108863}return l!==0&&(this.words[v]=l,this.length++),f?this.ineg():this},s.prototype.muln=function(o){return this.clone().imuln(o)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(o){var f=$(o);if(f.length===0)return new s(1);for(var l=this,v=0;v=0);var f=o%26,l=(o-f)/26,v=67108863>>>26-f<<26-f,y;if(f!==0){var _=0;for(y=0;y>>26-f}_&&(this.words[y]=_,this.length++)}if(l!==0){for(y=this.length-1;y>=0;y--)this.words[y+l]=this.words[y];for(y=0;y=0);var v;f?v=(f-f%26)/26:v=0;var y=o%26,_=Math.min((o-y)/26,this.length),M=67108863^67108863>>>y<_)for(this.length-=_,a=0;a=0&&(g!==0||a>=v);a--){var D=this.words[a]|0;this.words[a]=g<<26-y|D>>>y,g=D&M}return p&&g!==0&&(p.words[p.length++]=g),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(o,f,l){return r(this.negative===0),this.iushrn(o,f,l)},s.prototype.shln=function(o){return this.clone().ishln(o)},s.prototype.ushln=function(o){return this.clone().iushln(o)},s.prototype.shrn=function(o){return this.clone().ishrn(o)},s.prototype.ushrn=function(o){return this.clone().iushrn(o)},s.prototype.testn=function(o){r(typeof o=="number"&&o>=0);var f=o%26,l=(o-f)/26,v=1<=0);var f=o%26,l=(o-f)/26;if(r(this.negative===0,"imaskn works only with positive numbers"),this.length<=l)return this;if(f!==0&&l++,this.length=Math.min(l,this.length),f!==0){var v=67108863^67108863>>>f<=67108864;f++)this.words[f]-=67108864,f===this.length-1?this.words[f+1]=1:this.words[f+1]++;return this.length=Math.max(this.length,f+1),this},s.prototype.isubn=function(o){if(r(typeof o=="number"),r(o<67108864),o<0)return this.iaddn(-o);if(this.negative!==0)return this.negative=0,this.iaddn(o),this.negative=1,this;if(this.words[0]-=o,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var f=0;f>26)-(p/67108864|0),this.words[y+l]=_&67108863}for(;y>26,this.words[y+l]=_&67108863;if(M===0)return this._strip();for(r(M===-1),M=0,y=0;y>26,this.words[y]=_&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(o,f){var l=this.length-o.length,v=this.clone(),y=o,_=y.words[y.length-1]|0,M=this._countBits(_);l=26-M,l!==0&&(y=y.ushln(l),v.iushln(l),_=y.words[y.length-1]|0);var p=v.length-y.length,a;if(f!=="mod"){a=new s(null),a.length=p+1,a.words=new Array(a.length);for(var g=0;g=0;h--){var E=(v.words[y.length+h]|0)*67108864+(v.words[y.length+h-1]|0);for(E=Math.min(E/_|0,67108863),v._ishlnsubmul(y,E,h);v.negative!==0;)E--,v.negative=0,v._ishlnsubmul(y,1,h),v.isZero()||(v.negative^=1);a&&(a.words[h]=E)}return a&&a._strip(),v._strip(),f!=="div"&&l!==0&&v.iushrn(l),{div:a||null,mod:v}},s.prototype.divmod=function(o,f,l){if(r(!o.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var v,y,_;return this.negative!==0&&o.negative===0?(_=this.neg().divmod(o,f),f!=="mod"&&(v=_.div.neg()),f!=="div"&&(y=_.mod.neg(),l&&y.negative!==0&&y.iadd(o)),{div:v,mod:y}):this.negative===0&&o.negative!==0?(_=this.divmod(o.neg(),f),f!=="mod"&&(v=_.div.neg()),{div:v,mod:_.mod}):this.negative&o.negative?(_=this.neg().divmod(o.neg(),f),f!=="div"&&(y=_.mod.neg(),l&&y.negative!==0&&y.isub(o)),{div:_.div,mod:y}):o.length>this.length||this.cmp(o)<0?{div:new s(0),mod:this}:o.length===1?f==="div"?{div:this.divn(o.words[0]),mod:null}:f==="mod"?{div:null,mod:new s(this.modrn(o.words[0]))}:{div:this.divn(o.words[0]),mod:new s(this.modrn(o.words[0]))}:this._wordDiv(o,f)},s.prototype.div=function(o){return this.divmod(o,"div",!1).div},s.prototype.mod=function(o){return this.divmod(o,"mod",!1).mod},s.prototype.umod=function(o){return this.divmod(o,"mod",!0).mod},s.prototype.divRound=function(o){var f=this.divmod(o);if(f.mod.isZero())return f.div;var l=f.div.negative!==0?f.mod.isub(o):f.mod,v=o.ushrn(1),y=o.andln(1),_=l.cmp(v);return _<0||y===1&&_===0?f.div:f.div.negative!==0?f.div.isubn(1):f.div.iaddn(1)},s.prototype.modrn=function(o){var f=o<0;f&&(o=-o),r(o<=67108863);for(var l=(1<<26)%o,v=0,y=this.length-1;y>=0;y--)v=(l*v+(this.words[y]|0))%o;return f?-v:v},s.prototype.modn=function(o){return this.modrn(o)},s.prototype.idivn=function(o){var f=o<0;f&&(o=-o),r(o<=67108863);for(var l=0,v=this.length-1;v>=0;v--){var y=(this.words[v]|0)+l*67108864;this.words[v]=y/o|0,l=y%o}return this._strip(),f?this.ineg():this},s.prototype.divn=function(o){return this.clone().idivn(o)},s.prototype.egcd=function(o){r(o.negative===0),r(!o.isZero());var f=this,l=o.clone();f.negative!==0?f=f.umod(o):f=f.clone();for(var v=new s(1),y=new s(0),_=new s(0),M=new s(1),p=0;f.isEven()&&l.isEven();)f.iushrn(1),l.iushrn(1),++p;for(var a=l.clone(),g=f.clone();!f.isZero();){for(var D=0,h=1;!(f.words[0]&h)&&D<26;++D,h<<=1);if(D>0)for(f.iushrn(D);D-- >0;)(v.isOdd()||y.isOdd())&&(v.iadd(a),y.isub(g)),v.iushrn(1),y.iushrn(1);for(var E=0,R=1;!(l.words[0]&R)&&E<26;++E,R<<=1);if(E>0)for(l.iushrn(E);E-- >0;)(_.isOdd()||M.isOdd())&&(_.iadd(a),M.isub(g)),_.iushrn(1),M.iushrn(1);f.cmp(l)>=0?(f.isub(l),v.isub(_),y.isub(M)):(l.isub(f),_.isub(v),M.isub(y))}return{a:_,b:M,gcd:l.iushln(p)}},s.prototype._invmp=function(o){r(o.negative===0),r(!o.isZero());var f=this,l=o.clone();f.negative!==0?f=f.umod(o):f=f.clone();for(var v=new s(1),y=new s(0),_=l.clone();f.cmpn(1)>0&&l.cmpn(1)>0;){for(var M=0,p=1;!(f.words[0]&p)&&M<26;++M,p<<=1);if(M>0)for(f.iushrn(M);M-- >0;)v.isOdd()&&v.iadd(_),v.iushrn(1);for(var a=0,g=1;!(l.words[0]&g)&&a<26;++a,g<<=1);if(a>0)for(l.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(_),y.iushrn(1);f.cmp(l)>=0?(f.isub(l),v.isub(y)):(l.isub(f),y.isub(v))}var D;return f.cmpn(1)===0?D=v:D=y,D.cmpn(0)<0&&D.iadd(o),D},s.prototype.gcd=function(o){if(this.isZero())return o.abs();if(o.isZero())return this.abs();var f=this.clone(),l=o.clone();f.negative=0,l.negative=0;for(var v=0;f.isEven()&&l.isEven();v++)f.iushrn(1),l.iushrn(1);do{for(;f.isEven();)f.iushrn(1);for(;l.isEven();)l.iushrn(1);var y=f.cmp(l);if(y<0){var _=f;f=l,l=_}else if(y===0||l.cmpn(1)===0)break;f.isub(l)}while(!0);return l.iushln(v)},s.prototype.invm=function(o){return this.egcd(o).a.umod(o)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(o){return this.words[0]&o},s.prototype.bincn=function(o){r(typeof o=="number");var f=o%26,l=(o-f)/26,v=1<>>26,M&=67108863,this.words[_]=M}return y!==0&&(this.words[_]=y,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(o){var f=o<0;if(this.negative!==0&&!f)return-1;if(this.negative===0&&f)return 1;this._strip();var l;if(this.length>1)l=1;else{f&&(o=-o),r(o<=67108863,"Number is too big");var v=this.words[0]|0;l=v===o?0:vo.length)return 1;if(this.length=0;l--){var v=this.words[l]|0,y=o.words[l]|0;if(v!==y){vy&&(f=1);break}}return f},s.prototype.gtn=function(o){return this.cmpn(o)===1},s.prototype.gt=function(o){return this.cmp(o)===1},s.prototype.gten=function(o){return this.cmpn(o)>=0},s.prototype.gte=function(o){return this.cmp(o)>=0},s.prototype.ltn=function(o){return this.cmpn(o)===-1},s.prototype.lt=function(o){return this.cmp(o)===-1},s.prototype.lten=function(o){return this.cmpn(o)<=0},s.prototype.lte=function(o){return this.cmp(o)<=0},s.prototype.eqn=function(o){return this.cmpn(o)===0},s.prototype.eq=function(o){return this.cmp(o)===0},s.red=function(o){return new Q(o)},s.prototype.toRed=function(o){return r(!this.red,"Already a number in reduction context"),r(this.negative===0,"red works only with positives"),o.convertTo(this)._forceRed(o)},s.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(o){return this.red=o,this},s.prototype.forceRed=function(o){return r(!this.red,"Already a number in reduction context"),this._forceRed(o)},s.prototype.redAdd=function(o){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,o)},s.prototype.redIAdd=function(o){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,o)},s.prototype.redSub=function(o){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,o)},s.prototype.redISub=function(o){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,o)},s.prototype.redShl=function(o){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,o)},s.prototype.redMul=function(o){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.mul(this,o)},s.prototype.redIMul=function(o){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.imul(this,o)},s.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(o){return r(this.red&&!o.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,o)};var V={k256:null,p224:null,p192:null,p25519:null};function j(w,o){this.name=w,this.p=new s(o,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}j.prototype._tmp=function(){var o=new s(null);return o.words=new Array(Math.ceil(this.n/13)),o},j.prototype.ireduce=function(o){var f=o,l;do this.split(f,this.tmp),f=this.imulK(f),f=f.iadd(this.tmp),l=f.bitLength();while(l>this.n);var v=l0?f.isub(this.p):f.strip!==void 0?f.strip():f._strip(),f},j.prototype.split=function(o,f){o.iushrn(this.n,0,f)},j.prototype.imulK=function(o){return o.imul(this.k)};function J(){j.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(J,j),J.prototype.split=function(o,f){for(var l=4194303,v=Math.min(o.length,9),y=0;y>>22,_=M}_>>>=22,o.words[y-10]=_,_===0&&o.length>10?o.length-=10:o.length-=9},J.prototype.imulK=function(o){o.words[o.length]=0,o.words[o.length+1]=0,o.length+=2;for(var f=0,l=0;l>>=26,o.words[l]=y,f=v}return f!==0&&(o.words[o.length++]=f),o},s._prime=function(o){if(V[o])return V[o];var f;if(o==="k256")f=new J;else if(o==="p224")f=new Y;else if(o==="p192")f=new Te;else if(o==="p25519")f=new dt;else throw new Error("Unknown prime "+o);return V[o]=f,f};function Q(w){if(typeof w=="string"){var o=s._prime(w);this.m=o.p,this.prime=o}else r(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}Q.prototype._verify1=function(o){r(o.negative===0,"red works only with positives"),r(o.red,"red works only with red numbers")},Q.prototype._verify2=function(o,f){r((o.negative|f.negative)===0,"red works only with positives"),r(o.red&&o.red===f.red,"red works only with red numbers")},Q.prototype.imod=function(o){return this.prime?this.prime.ireduce(o)._forceRed(this):(b(o,o.umod(this.m)._forceRed(this)),o)},Q.prototype.neg=function(o){return o.isZero()?o.clone():this.m.sub(o)._forceRed(this)},Q.prototype.add=function(o,f){this._verify2(o,f);var l=o.add(f);return l.cmp(this.m)>=0&&l.isub(this.m),l._forceRed(this)},Q.prototype.iadd=function(o,f){this._verify2(o,f);var l=o.iadd(f);return l.cmp(this.m)>=0&&l.isub(this.m),l},Q.prototype.sub=function(o,f){this._verify2(o,f);var l=o.sub(f);return l.cmpn(0)<0&&l.iadd(this.m),l._forceRed(this)},Q.prototype.isub=function(o,f){this._verify2(o,f);var l=o.isub(f);return l.cmpn(0)<0&&l.iadd(this.m),l},Q.prototype.shl=function(o,f){return this._verify1(o),this.imod(o.ushln(f))},Q.prototype.imul=function(o,f){return this._verify2(o,f),this.imod(o.imul(f))},Q.prototype.mul=function(o,f){return this._verify2(o,f),this.imod(o.mul(f))},Q.prototype.isqr=function(o){return this.imul(o,o.clone())},Q.prototype.sqr=function(o){return this.mul(o,o)},Q.prototype.sqrt=function(o){if(o.isZero())return o.clone();var f=this.m.andln(3);if(r(f%2===1),f===3){var l=this.m.add(new s(1)).iushrn(2);return this.pow(o,l)}for(var v=this.m.subn(1),y=0;!v.isZero()&&v.andln(1)===0;)y++,v.iushrn(1);r(!v.isZero());var _=new s(1).toRed(this),M=_.redNeg(),p=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);this.pow(a,p).cmp(M)!==0;)a.redIAdd(M);for(var g=this.pow(a,v),D=this.pow(o,v.addn(1).iushrn(1)),h=this.pow(o,v),E=y;h.cmp(_)!==0;){for(var R=h,N=0;R.cmp(_)!==0;N++)R=R.redSqr();r(N=0;y--){for(var g=f.words[y],D=a-1;D>=0;D--){var h=g>>D&1;if(_!==v[0]&&(_=this.sqr(_)),h===0&&M===0){p=0;continue}M<<=1,M|=h,p++,!(p!==l&&(y!==0||D!==0))&&(_=this.mul(_,v[M]),p=0,M=0)}a=26}return _},Q.prototype.convertTo=function(o){var f=o.umod(this.m);return f===o?f.clone():f},Q.prototype.convertFrom=function(o){var f=o.clone();return f.red=null,f},s.mont=function(o){return new je(o)};function je(w){Q.call(this,w),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(je,Q),je.prototype.convertTo=function(o){return this.imod(o.ushln(this.shift))},je.prototype.convertFrom=function(o){var f=this.imod(o.mul(this.rinv));return f.red=null,f},je.prototype.imul=function(o,f){if(o.isZero()||f.isZero())return o.words[0]=0,o.length=1,o;var l=o.imul(f),v=l.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=l.isub(v).iushrn(this.shift),_=y;return y.cmp(this.m)>=0?_=y.isub(this.m):y.cmpn(0)<0&&(_=y.iadd(this.m)),_._forceRed(this)},je.prototype.mul=function(o,f){if(o.isZero()||f.isZero())return new s(0)._forceRed(this);var l=o.mul(f),v=l.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=l.isub(v).iushrn(this.shift),_=y;return y.cmp(this.m)>=0?_=y.isub(this.m):y.cmpn(0)<0&&(_=y.iadd(this.m)),_._forceRed(this)},je.prototype.invm=function(o){var f=this.imod(o._invmp(this.m).mul(this.r2));return f._forceRed(this)}})(i,Rn)})(Si);var uo=Si.exports;const k=Pr(uo);var co=k.BN;function lo(i){return new co(i,36).toString(16)}const po="strings/5.7.0",vo=new Pe(po);var Ir;(function(i){i.current="",i.NFC="NFC",i.NFD="NFD",i.NFKC="NFKC",i.NFKD="NFKD"})(Ir||(Ir={}));var Vi;(function(i){i.UNEXPECTED_CONTINUE="unexpected continuation byte",i.BAD_PREFIX="bad codepoint prefix",i.OVERRUN="string overrun",i.MISSING_CONTINUE="missing continuation byte",i.OUT_OF_RANGE="out of UTF-8 range",i.UTF16_SURROGATE="UTF-16 surrogate",i.OVERLONG="overlong representation"})(Vi||(Vi={}));function ti(i,t=Ir.current){t!=Ir.current&&(vo.checkNormalize(),i=i.normalize(t));let e=[];for(let r=0;r>6|192),e.push(n&63|128);else if((n&64512)==55296){r++;const s=i.charCodeAt(r);if(r>=i.length||(s&64512)!==56320)throw new Error("invalid utf-8 string");const u=65536+((n&1023)<<10)+(s&1023);e.push(u>>18|240),e.push(u>>12&63|128),e.push(u>>6&63|128),e.push(u&63|128)}else e.push(n>>12|224),e.push(n>>6&63|128),e.push(n&63|128)}return Ce(e)}const go=`Ethereum Signed Message: -`;function Tn(i){return typeof i=="string"&&(i=ti(i)),Mi(ao([ti(go),ti(String(i.length)),i]))}const mo="address/5.7.0",lr=new Pe(mo);function Ki(i){tt(i,20)||lr.throwArgumentError("invalid address","address",i),i=i.toLowerCase();const t=i.substring(2).split(""),e=new Uint8Array(40);for(let n=0;n<40;n++)e[n]=t[n].charCodeAt(0);const r=Ce(Mi(e));for(let n=0;n<40;n+=2)r[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(r[n>>1]&15)>=8&&(t[n+1]=t[n+1].toUpperCase());return"0x"+t.join("")}const yo=9007199254740991;function wo(i){return Math.log10?Math.log10(i):Math.log(i)/Math.LN10}const Ai={};for(let i=0;i<10;i++)Ai[String(i)]=String(i);for(let i=0;i<26;i++)Ai[String.fromCharCode(65+i)]=String(10+i);const ji=Math.floor(wo(yo));function bo(i){i=i.toUpperCase(),i=i.substring(4)+i.substring(0,2)+"00";let t=i.split("").map(r=>Ai[r]).join("");for(;t.length>=ji;){let r=t.substring(0,ji);t=parseInt(r,10)%97+t.substring(r.length)}let e=String(98-parseInt(t,10)%97);for(;e.length<2;)e="0"+e;return e}function xo(i){let t=null;if(typeof i!="string"&&lr.throwArgumentError("invalid address","address",i),i.match(/^(0x)?[0-9a-fA-F]{40}$/))i.substring(0,2)!=="0x"&&(i="0x"+i),t=Ki(i),i.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==i&&lr.throwArgumentError("bad address checksum","address",i);else if(i.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(i.substring(2,4)!==bo(i)&&lr.throwArgumentError("bad icap checksum","address",i),t=lo(i.substring(4));t.length<40;)t="0"+t;t=Ki("0x"+t)}else lr.throwArgumentError("invalid address","address",i);return t}globalThis&&globalThis.__awaiter;function or(i,t,e){Object.defineProperty(i,t,{enumerable:!0,value:e,writable:!1})}var $n={},G={},pr=Ln;function Ln(i,t){if(!i)throw new Error(t||"Assertion failed")}Ln.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)};var vi={exports:{}};typeof Object.create=="function"?vi.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:vi.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}};var _o=vi.exports,Mo=pr,So=_o;G.inherits=So;function Ao(i,t){return(i.charCodeAt(t)&64512)!==55296||t<0||t+1>=i.length?!1:(i.charCodeAt(t+1)&64512)===56320}function Eo(i,t){if(Array.isArray(i))return i.slice();if(!i)return[];var e=[];if(typeof i=="string")if(t){if(t==="hex")for(i=i.replace(/[^a-z0-9]+/ig,""),i.length%2!==0&&(i="0"+i),n=0;n>6|192,e[r++]=s&63|128):Ao(i,n)?(s=65536+((s&1023)<<10)+(i.charCodeAt(++n)&1023),e[r++]=s>>18|240,e[r++]=s>>12&63|128,e[r++]=s>>6&63|128,e[r++]=s&63|128):(e[r++]=s>>12|224,e[r++]=s>>6&63|128,e[r++]=s&63|128)}else for(n=0;n>>24|i>>>8&65280|i<<8&16711680|(i&255)<<24;return t>>>0}G.htonl=Dn;function Ro(i,t){for(var e="",r=0;r>>0}return s}G.join32=No;function Fo(i,t){for(var e=new Array(i.length*4),r=0,n=0;r>>24,e[n+1]=s>>>16&255,e[n+2]=s>>>8&255,e[n+3]=s&255):(e[n+3]=s>>>24,e[n+2]=s>>>16&255,e[n+1]=s>>>8&255,e[n]=s&255)}return e}G.split32=Fo;function Po(i,t){return i>>>t|i<<32-t}G.rotr32=Po;function qo(i,t){return i<>>32-t}G.rotl32=qo;function Oo(i,t){return i+t>>>0}G.sum32=Oo;function Co(i,t,e){return i+t+e>>>0}G.sum32_3=Co;function To(i,t,e,r){return i+t+e+r>>>0}G.sum32_4=To;function $o(i,t,e,r,n){return i+t+e+r+n>>>0}G.sum32_5=$o;function Lo(i,t,e,r){var n=i[t],s=i[t+1],u=r+s>>>0,c=(u>>0,i[t+1]=u}G.sum64=Lo;function Do(i,t,e,r){var n=t+r>>>0,s=(n>>0}G.sum64_hi=Do;function Uo(i,t,e,r){var n=t+r;return n>>>0}G.sum64_lo=Uo;function ko(i,t,e,r,n,s,u,c){var d=0,m=t;m=m+r>>>0,d+=m>>0,d+=m>>0,d+=m>>0}G.sum64_4_hi=ko;function Bo(i,t,e,r,n,s,u,c){var d=t+r+s+c;return d>>>0}G.sum64_4_lo=Bo;function zo(i,t,e,r,n,s,u,c,d,m){var b=0,x=t;x=x+r>>>0,b+=x>>0,b+=x>>0,b+=x>>0,b+=x>>0}G.sum64_5_hi=zo;function Vo(i,t,e,r,n,s,u,c,d,m){var b=t+r+s+c+m;return b>>>0}G.sum64_5_lo=Vo;function Ko(i,t,e){var r=t<<32-e|i>>>e;return r>>>0}G.rotr64_hi=Ko;function jo(i,t,e){var r=i<<32-e|t>>>e;return r>>>0}G.rotr64_lo=jo;function Go(i,t,e){return i>>>e}G.shr64_hi=Go;function Ho(i,t,e){var r=i<<32-e|t>>>e;return r>>>0}G.shr64_lo=Ho;var Zt={},Gi=G,Jo=pr;function qr(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}Zt.BlockHash=qr;qr.prototype.update=function(t,e){if(t=Gi.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){t=this.pending;var r=t.length%this._delta8;this.pending=t.slice(t.length-r,t.length),this.pending.length===0&&(this.pending=null),t=Gi.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[s++]=t>>>16&255,n[s++]=t>>>8&255,n[s++]=t&255}else for(n[s++]=t&255,n[s++]=t>>>8&255,n[s++]=t>>>16&255,n[s++]=t>>>24&255,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,u=8;u>>3}ft.g0_256=Zo;function ea(i){return rt(i,17)^rt(i,19)^i>>>10}ft.g1_256=ea;var Xt=G,ta=Zt,ra=ft,ri=Xt.rotl32,ar=Xt.sum32,ia=Xt.sum32_5,na=ra.ft_1,Kn=ta.BlockHash,sa=[1518500249,1859775393,2400959708,3395469782];function st(){if(!(this instanceof st))return new st;Kn.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Xt.inherits(st,Kn);var oa=st;st.blockSize=512;st.outSize=160;st.hmacStrength=80;st.padLength=64;st.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=new this.Hash().update(t).digest()),Ha(t.length<=this.blockSize);for(var e=t.length;e>8,A=b&255;x?d.push(x,A):d.push(A)}return d}e.toArray=r;function n(u){return u.length===1?"0"+u:u}e.zero2=n;function s(u){for(var c="",d=0;d(A>>1)-1?F=(A>>1)-$:F=$,I.isubn(F)):F=0,x[S]=F,I.iushrn(1)}return x}e.getNAF=r;function n(d,m){var b=[[],[]];d=d.clone(),m=m.clone();for(var x=0,A=0,I;d.cmpn(-x)>0||m.cmpn(-A)>0;){var S=d.andln(3)+x&3,F=m.andln(3)+A&3;S===3&&(S=-1),F===3&&(F=-1);var $;S&1?(I=d.andln(7)+x&7,(I===3||I===5)&&F===2?$=-S:$=S):$=0,b[0].push($);var T;F&1?(I=m.andln(7)+A&7,(I===3||I===5)&&S===2?T=-F:T=F):T=0,b[1].push(T),2*x===$+1&&(x=1-x),2*A===T+1&&(A=1-A),d.iushrn(1),m.iushrn(1)}return b}e.getJSF=n;function s(d,m,b){var x="_"+m;d.prototype[m]=function(){return this[x]!==void 0?this[x]:this[x]=b.call(this)}}e.cachedProperty=s;function u(d){return typeof d=="string"?e.toArray(d,"hex"):d}e.parseBytes=u;function c(d){return new k(d,"hex","le")}e.intFromLE=c}),Rr=Ke.getNAF,Xa=Ke.getJSF,Nr=Ke.assert;function St(i,t){this.type=i,this.p=new k(t.p,16),this.red=t.prime?k.red(t.prime):k.mont(this.p),this.zero=new k(0).toRed(this.red),this.one=new k(1).toRed(this.red),this.two=new k(2).toRed(this.red),this.n=t.n&&new k(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var e=this.n&&this.p.div(this.n);!e||e.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Kt=St;St.prototype.point=function(){throw new Error("Not implemented")};St.prototype.validate=function(){throw new Error("Not implemented")};St.prototype._fixedNafMul=function(t,e){Nr(t.precomputed);var r=t._getDoubles(),n=Rr(e,1,this._bitLength),s=(1<=c;m--)d=(d<<1)+n[m];u.push(d)}for(var b=this.jpoint(null,null,null),x=this.jpoint(null,null,null),A=s;A>0;A--){for(c=0;c=0;d--){for(var m=0;d>=0&&u[d]===0;d--)m++;if(d>=0&&m++,c=c.dblp(m),d<0)break;var b=u[d];Nr(b!==0),t.type==="affine"?b>0?c=c.mixedAdd(s[b-1>>1]):c=c.mixedAdd(s[-b-1>>1].neg()):b>0?c=c.add(s[b-1>>1]):c=c.add(s[-b-1>>1].neg())}return t.type==="affine"?c.toP():c};St.prototype._wnafMulAdd=function(t,e,r,n,s){var u=this._wnafT1,c=this._wnafT2,d=this._wnafT3,m=0,b,x,A;for(b=0;b=1;b-=2){var S=b-1,F=b;if(u[S]!==1||u[F]!==1){d[S]=Rr(r[S],u[S],this._bitLength),d[F]=Rr(r[F],u[F],this._bitLength),m=Math.max(d[S].length,m),m=Math.max(d[F].length,m);continue}var $=[e[S],null,null,e[F]];e[S].y.cmp(e[F].y)===0?($[1]=e[S].add(e[F]),$[2]=e[S].toJ().mixedAdd(e[F].neg())):e[S].y.cmp(e[F].y.redNeg())===0?($[1]=e[S].toJ().mixedAdd(e[F]),$[2]=e[S].add(e[F].neg())):($[1]=e[S].toJ().mixedAdd(e[F]),$[2]=e[S].toJ().mixedAdd(e[F].neg()));var T=[-3,-1,-5,-7,0,7,5,1,3],K=Xa(r[S],r[F]);for(m=Math.max(K[0].length,m),d[S]=new Array(m),d[F]=new Array(m),x=0;x=0;b--){for(var J=0;b>=0;){var Y=!0;for(x=0;x=0&&J++,V=V.dblp(J),b<0)break;for(x=0;x0?A=c[x][Te-1>>1]:Te<0&&(A=c[x][-Te-1>>1].neg()),A.type==="affine"?V=V.mixedAdd(A):V=V.add(A))}}for(b=0;b=Math.ceil((t.bitLength()+1)/e.step):!1};He.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,s=0;s=0&&(I=m,S=b),x.negative&&(x=x.neg(),A=A.neg()),I.negative&&(I=I.neg(),S=S.neg()),[{a:x,b:A},{a:I,b:S}]};Je.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],s=n.b.mul(t).divRound(this.n),u=r.b.neg().mul(t).divRound(this.n),c=s.mul(r.a),d=u.mul(n.a),m=s.mul(r.b),b=u.mul(n.b),x=t.sub(c).sub(d),A=m.add(b).neg();return{k1:x,k2:A}};Je.prototype.pointFromX=function(t,e){t=new k(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(n.redSqr().redSub(r).cmp(this.zero)!==0)throw new Error("invalid point");var s=n.fromRed().isOdd();return(e&&!s||!e&&s)&&(n=n.redNeg()),this.point(t,n)};Je.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),s=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return r.redSqr().redISub(s).cmpn(0)===0};Je.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,s=this._endoWnafT2,u=0;u":""};$e.prototype.isInfinity=function(){return this.inf};$e.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(this.x.cmp(t.x)===0)return this.curve.point(null,null);var e=this.y.redSub(t.y);e.cmpn(0)!==0&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)};$e.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(t.cmpn(0)===0)return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),s=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),u=s.redSqr().redISub(this.x.redAdd(this.x)),c=s.redMul(this.x.redSub(u)).redISub(this.y);return this.curve.point(u,c)};$e.prototype.getX=function(){return this.x.fromRed()};$e.prototype.getY=function(){return this.y.fromRed()};$e.prototype.mul=function(t){return t=new k(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)};$e.prototype.mulAdd=function(t,e,r){var n=[this,e],s=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)};$e.prototype.jmulAdd=function(t,e,r){var n=[this,e],s=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)};$e.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||this.x.cmp(t.x)===0&&this.y.cmp(t.y)===0)};$e.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(s){return s.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e};$e.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t};function De(i,t,e,r){Kt.BasePoint.call(this,i,"jacobian"),t===null&&e===null&&r===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new k(0)):(this.x=new k(t,16),this.y=new k(e,16),this.z=new k(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Ii(De,Kt.BasePoint);Je.prototype.jpoint=function(t,e,r){return new De(this,t,e,r)};De.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)};De.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};De.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),s=t.x.redMul(r),u=this.y.redMul(e.redMul(t.z)),c=t.y.redMul(r.redMul(this.z)),d=n.redSub(s),m=u.redSub(c);if(d.cmpn(0)===0)return m.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var b=d.redSqr(),x=b.redMul(d),A=n.redMul(b),I=m.redSqr().redIAdd(x).redISub(A).redISub(A),S=m.redMul(A.redISub(I)).redISub(u.redMul(x)),F=this.z.redMul(t.z).redMul(d);return this.curve.jpoint(I,S,F)};De.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),s=this.y,u=t.y.redMul(e).redMul(this.z),c=r.redSub(n),d=s.redSub(u);if(c.cmpn(0)===0)return d.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var m=c.redSqr(),b=m.redMul(c),x=r.redMul(m),A=d.redSqr().redIAdd(b).redISub(x).redISub(x),I=d.redMul(x.redISub(A)).redISub(s.redMul(b)),S=this.z.redMul(c);return this.curve.jpoint(A,I,S)};De.prototype.dblp=function(t){if(t===0)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(s),this.x.cmp(r)===0)return!0}};De.prototype.inspect=function(){return this.isInfinity()?"":""};De.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var _r=rr(function(i,t){var e=t;e.base=Kt,e.short=Qa,e.mont=null,e.edwards=null}),Mr=rr(function(i,t){var e=t,r=Ke.assert;function n(c){c.type==="short"?this.curve=new _r.short(c):c.type==="edwards"?this.curve=new _r.edwards(c):this.curve=new _r.mont(c),this.g=this.curve.g,this.n=this.curve.n,this.hash=c.hash,r(this.g.validate(),"Invalid curve"),r(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=n;function s(c,d){Object.defineProperty(e,c,{configurable:!0,enumerable:!0,get:function(){var m=new n(d);return Object.defineProperty(e,c,{configurable:!0,enumerable:!0,value:m}),m}})}s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:ut.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:ut.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:ut.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:ut.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:ut.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ut.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ut.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var u;try{u=null.crash()}catch{u=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:ut.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",u]})});function Mt(i){if(!(this instanceof Mt))return new Mt(i);this.hash=i.hash,this.predResist=!!i.predResist,this.outLen=this.hash.outSize,this.minEntropy=i.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=Qe.toArray(i.entropy,i.entropyEnc||"hex"),e=Qe.toArray(i.nonce,i.nonceEnc||"hex"),r=Qe.toArray(i.pers,i.persEnc||"hex");Ei(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,e,r)}var rs=Mt;Mt.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1};Mt.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof e!="string"&&(n=r,r=e,e=null),r&&(r=Qe.toArray(r,n||"hex"),this._update(r));for(var s=[];s.length"};var Za=Ke.assert;function Or(i,t){if(i instanceof Or)return i;this._importDER(i,t)||(Za(i.r&&i.s,"Signature without r or s"),this.r=new k(i.r,16),this.s=new k(i.s,16),i.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=i.recoveryParam)}var Cr=Or;function ef(){this.place=0}function si(i,t){var e=i[t.place++];if(!(e&128))return e;var r=e&15;if(r===0||r>4)return!1;for(var n=0,s=0,u=t.place;s>>=0;return n<=127?!1:(t.place=u,n)}function Xi(i){for(var t=0,e=i.length-1;!i[t]&&!(i[t+1]&128)&&t>>3);for(i.push(e|128);--e;)i.push(t>>>(e<<3)&255);i.push(t)}Or.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(e[0]&128&&(e=[0].concat(e)),r[0]&128&&(r=[0].concat(r)),e=Xi(e),r=Xi(r);!r[0]&&!(r[1]&128);)r=r.slice(1);var n=[2];oi(n,e.length),n=n.concat(e),n.push(2),oi(n,r.length);var s=n.concat(r),u=[48];return oi(u,s.length),u=u.concat(s),Ke.encode(u,t)};var tf=function(){throw new Error("unsupported")},is=Ke.assert;function Ge(i){if(!(this instanceof Ge))return new Ge(i);typeof i=="string"&&(is(Object.prototype.hasOwnProperty.call(Mr,i),"Unknown curve "+i),i=Mr[i]),i instanceof Mr.PresetCurve&&(i={curve:i}),this.curve=i.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=i.curve.g,this.g.precompute(i.curve.n.bitLength()+1),this.hash=i.hash||i.curve.hash}var rf=Ge;Ge.prototype.keyPair=function(t){return new Ri(this,t)};Ge.prototype.keyFromPrivate=function(t,e){return Ri.fromPrivate(this,t,e)};Ge.prototype.keyFromPublic=function(t,e){return Ri.fromPublic(this,t,e)};Ge.prototype.genKeyPair=function(t){t||(t={});for(var e=new rs({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||tf(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new k(2));;){var s=new k(e.generate(r));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}};Ge.prototype._truncateToN=function(t,e){var r=t.byteLength()*8-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t};Ge.prototype.sign=function(t,e,r,n){typeof r=="object"&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new k(t,16));for(var s=this.n.byteLength(),u=e.getPrivate().toArray("be",s),c=t.toArray("be",s),d=new rs({hash:this.hash,entropy:u,nonce:c,pers:n.pers,persEnc:n.persEnc||"utf8"}),m=this.n.sub(new k(1)),b=0;;b++){var x=n.k?n.k(b):new k(d.generate(this.n.byteLength()));if(x=this._truncateToN(x,!0),!(x.cmpn(1)<=0||x.cmp(m)>=0)){var A=this.g.mul(x);if(!A.isInfinity()){var I=A.getX(),S=I.umod(this.n);if(S.cmpn(0)!==0){var F=x.invm(this.n).mul(S.mul(e.getPrivate()).iadd(t));if(F=F.umod(this.n),F.cmpn(0)!==0){var $=(A.getY().isOdd()?1:0)|(I.cmp(S)!==0?2:0);return n.canonical&&F.cmp(this.nh)>0&&(F=this.n.sub(F),$^=1),new Cr({r:S,s:F,recoveryParam:$})}}}}}};Ge.prototype.verify=function(t,e,r,n){t=this._truncateToN(new k(t,16)),r=this.keyFromPublic(r,n),e=new Cr(e,"hex");var s=e.r,u=e.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0||u.cmpn(1)<0||u.cmp(this.n)>=0)return!1;var c=u.invm(this.n),d=c.mul(t).umod(this.n),m=c.mul(s).umod(this.n),b;return this.curve._maxwellTrick?(b=this.g.jmulAdd(d,r.getPublic(),m),b.isInfinity()?!1:b.eqXToP(s)):(b=this.g.mulAdd(d,r.getPublic(),m),b.isInfinity()?!1:b.getX().umod(this.n).cmp(s)===0)};Ge.prototype.recoverPubKey=function(i,t,e,r){is((3&e)===e,"The recovery param is more than two bits"),t=new Cr(t,r);var n=this.n,s=new k(i),u=t.r,c=t.s,d=e&1,m=e>>1;if(u.cmp(this.curve.p.umod(this.curve.n))>=0&&m)throw new Error("Unable to find sencond key candinate");m?u=this.curve.pointFromX(u.add(this.curve.n),d):u=this.curve.pointFromX(u,d);var b=t.r.invm(n),x=n.sub(s).mul(b).umod(n),A=c.mul(b).umod(n);return this.g.mulAdd(x,u,A)};Ge.prototype.getKeyRecoveryParam=function(i,t,e,r){if(t=new Cr(t,r),t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(i,t,n)}catch{continue}if(s.eq(e))return n}throw new Error("Unable to find valid recovery factor")};var nf=rr(function(i,t){var e=t;e.version="6.5.4",e.utils=Ke,e.rand=function(){throw new Error("unsupported")},e.curve=_r,e.curves=Mr,e.ec=rf,e.eddsa=null}),sf=nf.ec;const of="signing-key/5.7.0",wi=new Pe(of);let ai=null;function et(){return ai||(ai=new sf("secp256k1")),ai}class af{constructor(t){or(this,"curve","secp256k1"),or(this,"privateKey",ze(t)),ho(this.privateKey)!==32&&wi.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const e=et().keyFromPrivate(Ce(this.privateKey));or(this,"publicKey","0x"+e.getPublic(!1,"hex")),or(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),or(this,"_isSigningKey",!0)}_addPoint(t){const e=et().keyFromPublic(Ce(this.publicKey)),r=et().keyFromPublic(Ce(t));return"0x"+e.pub.add(r.pub).encodeCompressed("hex")}signDigest(t){const e=et().keyFromPrivate(Ce(this.privateKey)),r=Ce(t);r.length!==32&&wi.throwArgumentError("bad digest length","digest",t);const n=e.sign(r,{canonical:!0});return Cn({recoveryParam:n.recoveryParam,r:Jt("0x"+n.r.toString(16),32),s:Jt("0x"+n.s.toString(16),32)})}computeSharedSecret(t){const e=et().keyFromPrivate(Ce(this.privateKey)),r=et().keyFromPublic(Ce(ns(t)));return Jt("0x"+e.derive(r.getPublic()).toString(16),32)}static isSigningKey(t){return!!(t&&t._isSigningKey)}}function ff(i,t){const e=Cn(t),r={r:Ce(e.r),s:Ce(e.s)};return"0x"+et().recoverPubKey(Ce(i),r,e.recoveryParam).encode("hex",!1)}function ns(i,t){const e=Ce(i);if(e.length===32){const r=new af(e);return t?"0x"+et().keyFromPrivate(e).getPublic(!0,"hex"):r.publicKey}else{if(e.length===33)return t?ze(e):"0x"+et().keyFromPublic(e).getPublic(!1,"hex");if(e.length===65)return t?"0x"+et().keyFromPublic(e).getPublic(!0,"hex"):ze(e)}return wi.throwArgumentError("invalid public or private key","key","[REDACTED]")}var Yi;(function(i){i[i.legacy=0]="legacy",i[i.eip2930=1]="eip2930",i[i.eip1559=2]="eip1559"})(Yi||(Yi={}));function hf(i){const t=ns(i);return xo(zi(Mi(zi(t,1)),12))}function uf(i,t){return hf(ff(Ce(i),t))}function cf(i,t){return t=t||{},new Promise(function(e,r){var n=new XMLHttpRequest,s=[],u=[],c={},d=function(){return{ok:(n.status/100|0)==2,statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:d,headers:{keys:function(){return s},entries:function(){return u},get:function(b){return c[b.toLowerCase()]},has:function(b){return b.toLowerCase()in c}}}};for(var m in n.open(t.method||"get",i,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(b,x,A){s.push(x=x.toLowerCase()),u.push([x,A]),c[x]=c[x]?c[x]+","+A:A}),e(d())},n.onerror=r,n.withCredentials=t.credentials=="include",t.headers)n.setRequestHeader(m,t.headers[m]);n.send(t.body||null)})}const lf=Object.freeze(Object.defineProperty({__proto__:null,default:cf},Symbol.toStringTag,{value:"Module"})),Qi=Ts(lf);var df=self.fetch||(self.fetch=Qi.default||Qi);const pf=Pr(df);let vf=class{constructor(t){this.client=t}},gf=class{constructor(t){this.opts=t}};const mf="https://rpc.walletconnect.com/v1",yr={wc_authRequest:{req:{ttl:W.ONE_DAY,prompt:!0,tag:3e3},res:{ttl:W.ONE_DAY,prompt:!1,tag:3001}}},fi={min:W.FIVE_MINUTES,max:W.SEVEN_DAYS},ss="wc",yf=1,wf="auth",Zi="authClient",Sr=`${ss}@1:${wf}:`,dr=`${Sr}:PUB_KEY`;function Ni(i){return i==null?void 0:i.split(":")}function bf(i){const t=i&&Ni(i);if(t)return t[3]}function xf(i){const t=i&&Ni(i);if(t)return t[2]+":"+t[3]}function en(i){const t=i&&Ni(i);if(t)return t.pop()}async function _f(i,t,e,r,n){switch(e.t){case"eip191":return Mf(i,t,e.s);case"eip1271":return await Sf(i,t,e.s,r,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${e.t}`)}}function Mf(i,t,e){return uf(Tn(t),e).toLowerCase()===i.toLowerCase()}async function Sf(i,t,e,r,n){try{const s="0x1626ba7e",u="0000000000000000000000000000000000000000000000000000000000000040",c="0000000000000000000000000000000000000000000000000000000000000041",d=e.substring(2),m=Tn(t).substring(2),b=s+m+u+c+d,x=await pf(`${mf}/?chainId=${r}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:Af(),jsonrpc:"2.0",method:"eth_call",params:[{to:i,data:b},"latest"]})}),{result:A}=await x.json();return A?A.slice(0,s.length).toLowerCase()===s.toLowerCase():!1}catch(s){return console.error("isValidEip1271Signature: ",s),!1}}function Af(){return Date.now()+Math.floor(Math.random()*1e3)}function os(i){return i.getAll().filter(t=>"requester"in t)}function as(i,t){return os(i).find(e=>e.id===t)}function Ef(i){const t=$s(i.aud),e=new RegExp(`${i.domain}`).test(i.aud),r=!!i.nonce,n=i.type?i.type==="eip4361":!0,s=i.expiry;if(s&&!Fn(s,fi)){const{message:u}=B("MISSING_OR_INVALID",`request() expiry: ${s}. Expiry must be a number (in seconds) between ${fi.min} and ${fi.max}`);throw new Error(u)}return!!(t&&e&&r&&n)}function If(i,t){return!!as(t,i.id)}function Rf(i=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(i):new Uint8Array(i)}function Nf(i,t){if(i.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r>>0,z=new Uint8Array(H);T!==K;){for(var V=S[T],j=0,J=H-1;(V!==0||j<$)&&J!==-1;J--,j++)V+=256*z[J]>>>0,z[J]=V%c>>>0,V=V/c>>>0;if(V!==0)throw new Error("Non-zero carry");$=j,T++}for(var Y=H-$;Y!==H&&z[Y]===0;)Y++;for(var Te=d.repeat(F);Y>>0,H=new Uint8Array(K);S[F];){var z=e[S.charCodeAt(F)];if(z===255)return;for(var V=0,j=K-1;(z!==0||V>>0,H[j]=z%256>>>0,z=z/256>>>0;if(z!==0)throw new Error("Non-zero carry");T=V,F++}if(S[F]!==" "){for(var J=K-T;J!==K&&H[J]===0;)J++;for(var Y=new Uint8Array($+(K-J)),Te=$;J!==K;)Y[Te++]=H[J++];return Y}}}function I(S){var F=A(S);if(F)return F;throw new Error(`Non-${t} character`)}return{encode:x,decodeUnsafe:A,decode:I}}var Ff=Nf,Pf=Ff;const fs=i=>{if(i instanceof Uint8Array&&i.constructor.name==="Uint8Array")return i;if(i instanceof ArrayBuffer)return new Uint8Array(i);if(ArrayBuffer.isView(i))return new Uint8Array(i.buffer,i.byteOffset,i.byteLength);throw new Error("Unknown type, must be binary type")},qf=i=>new TextEncoder().encode(i),Of=i=>new TextDecoder().decode(i);class Cf{constructor(t,e,r){this.name=t,this.prefix=e,this.baseEncode=r}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}}class Tf{constructor(t,e,r){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=r}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return hs(this,t)}}class $f{constructor(t){this.decoders=t}or(t){return hs(this,t)}decode(t){const e=t[0],r=this.decoders[e];if(r)return r.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const hs=(i,t)=>new $f({...i.decoders||{[i.prefix]:i},...t.decoders||{[t.prefix]:t}});class Lf{constructor(t,e,r,n){this.name=t,this.prefix=e,this.baseEncode=r,this.baseDecode=n,this.encoder=new Cf(t,e,r),this.decoder=new Tf(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}}const Tr=({name:i,prefix:t,encode:e,decode:r})=>new Lf(i,t,e,r),vr=({prefix:i,name:t,alphabet:e})=>{const{encode:r,decode:n}=Pf(e,t);return Tr({prefix:i,name:t,encode:r,decode:s=>fs(n(s))})},Df=(i,t,e,r)=>{const n={};for(let b=0;b=8&&(c-=8,u[m++]=255&d>>c)}if(c>=e||255&d<<8-c)throw new SyntaxError("Unexpected end of data");return u},Uf=(i,t,e)=>{const r=t[t.length-1]==="=",n=(1<e;)u-=e,s+=t[n&c>>u];if(u&&(s+=t[n&c<Tr({prefix:t,name:i,encode(n){return Uf(n,r,e)},decode(n){return Df(n,r,e,i)}}),kf=Tr({prefix:"\0",name:"identity",encode:i=>Of(i),decode:i=>qf(i)});var Bf=Object.freeze({__proto__:null,identity:kf});const zf=Ue({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vf=Object.freeze({__proto__:null,base2:zf});const Kf=Ue({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var jf=Object.freeze({__proto__:null,base8:Kf});const Gf=vr({prefix:"9",name:"base10",alphabet:"0123456789"});var Hf=Object.freeze({__proto__:null,base10:Gf});const Jf=Ue({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Wf=Ue({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xf=Object.freeze({__proto__:null,base16:Jf,base16upper:Wf});const Yf=Ue({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qf=Ue({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Zf=Ue({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),eh=Ue({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),th=Ue({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),rh=Ue({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ih=Ue({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nh=Ue({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sh=Ue({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var oh=Object.freeze({__proto__:null,base32:Yf,base32upper:Qf,base32pad:Zf,base32padupper:eh,base32hex:th,base32hexupper:rh,base32hexpad:ih,base32hexpadupper:nh,base32z:sh});const ah=vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fh=vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var hh=Object.freeze({__proto__:null,base36:ah,base36upper:fh});const uh=vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ch=vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lh=Object.freeze({__proto__:null,base58btc:uh,base58flickr:ch});const dh=Ue({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ph=Ue({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),vh=Ue({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),gh=Ue({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var mh=Object.freeze({__proto__:null,base64:dh,base64pad:ph,base64url:vh,base64urlpad:gh});const us=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),yh=us.reduce((i,t,e)=>(i[e]=t,i),[]),wh=us.reduce((i,t,e)=>(i[t.codePointAt(0)]=e,i),[]);function bh(i){return i.reduce((t,e)=>(t+=yh[e],t),"")}function xh(i){const t=[];for(const e of i){const r=wh[e.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(r)}return new Uint8Array(t)}const _h=Tr({prefix:"🚀",name:"base256emoji",encode:bh,decode:xh});var Mh=Object.freeze({__proto__:null,base256emoji:_h}),Sh=cs,tn=128,Ah=127,Eh=~Ah,Ih=Math.pow(2,31);function cs(i,t,e){t=t||[],e=e||0;for(var r=e;i>=Ih;)t[e++]=i&255|tn,i/=128;for(;i&Eh;)t[e++]=i&255|tn,i>>>=7;return t[e]=i|0,cs.bytes=e-r+1,t}var Rh=bi,Nh=128,rn=127;function bi(i,r){var e=0,r=r||0,n=0,s=r,u,c=i.length;do{if(s>=c)throw bi.bytes=0,new RangeError("Could not decode varint");u=i[s++],e+=n<28?(u&rn)<=Nh);return bi.bytes=s-r,e}var Fh=Math.pow(2,7),Ph=Math.pow(2,14),qh=Math.pow(2,21),Oh=Math.pow(2,28),Ch=Math.pow(2,35),Th=Math.pow(2,42),$h=Math.pow(2,49),Lh=Math.pow(2,56),Dh=Math.pow(2,63),Uh=function(i){return i(ls.encode(i,t,e),t),sn=i=>ls.encodingLength(i),xi=(i,t)=>{const e=t.byteLength,r=sn(i),n=r+sn(e),s=new Uint8Array(n+e);return nn(i,s,0),nn(e,s,r),s.set(t,n),new Bh(i,e,t,s)};class Bh{constructor(t,e,r,n){this.code=t,this.size=e,this.digest=r,this.bytes=n}}const ds=({name:i,code:t,encode:e})=>new zh(i,t,e);class zh{constructor(t,e,r){this.name=t,this.code=e,this.encode=r}digest(t){if(t instanceof Uint8Array){const e=this.encode(t);return e instanceof Uint8Array?xi(this.code,e):e.then(r=>xi(this.code,r))}else throw Error("Unknown type, must be binary type")}}const ps=i=>async t=>new Uint8Array(await crypto.subtle.digest(i,t)),Vh=ds({name:"sha2-256",code:18,encode:ps("SHA-256")}),Kh=ds({name:"sha2-512",code:19,encode:ps("SHA-512")});var jh=Object.freeze({__proto__:null,sha256:Vh,sha512:Kh});const vs=0,Gh="identity",gs=fs,Hh=i=>xi(vs,gs(i)),Jh={code:vs,name:Gh,encode:gs,digest:Hh};var Wh=Object.freeze({__proto__:null,identity:Jh});new TextEncoder,new TextDecoder;const on={...Bf,...Vf,...jf,...Hf,...Xf,...oh,...hh,...lh,...mh,...Mh};({...jh,...Wh});function ms(i,t,e,r){return{name:i,prefix:t,encoder:{name:i,prefix:t,encode:e},decoder:{decode:r}}}const an=ms("utf8","u",i=>"u"+new TextDecoder("utf8").decode(i),i=>new TextEncoder().encode(i.substring(1))),hi=ms("ascii","a",i=>{let t="a";for(let e=0;e{i=i.substring(1);const t=Rf(i.length);for(let e=0;et in i?eu(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,hr=(i,t)=>{for(var e in t||(t={}))iu.call(t,e)&&un(i,e,t[e]);if(hn)for(var e of hn(t))nu.call(t,e)&&un(i,e,t[e]);return i},ui=(i,t)=>tu(i,ru(t));class su extends vf{constructor(t){super(t),this.initialized=!1,this.name="authEngine",this.init=()=>{this.initialized||(this.registerRelayerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(yr)}),this.initialized=!0)},this.request=async(e,r)=>{if(this.isInitialized(),!Ef(e))throw new Error("Invalid request");if(r!=null&&r.topic)return await this.requestOnKnownPairing(r.topic,e);const{chainId:n,statement:s,aud:u,domain:c,nonce:d,type:m,exp:b,nbf:x}=e,{topic:A,uri:I}=await this.client.core.pairing.create();this.client.logger.info({message:"Generated new pairing",pairing:{topic:A,uri:I}});const S=await this.client.core.crypto.generateKeyPair(),F=Oi(S);await this.client.authKeys.set(dr,{responseTopic:F,publicKey:S}),await this.client.pairingTopics.set(F,{topic:F,pairingTopic:A}),await this.client.core.relayer.subscribe(F),this.client.logger.info(`sending request to new pairing topic: ${A}`);const $=await this.sendRequest(A,"wc_authRequest",{payloadParams:{type:m??"eip4361",chainId:n,statement:s,aud:u,domain:c,version:"1",nonce:d,iat:new Date().toISOString(),exp:b,nbf:x},requester:{publicKey:S,metadata:this.client.metadata}},{},e.expiry);return this.client.logger.info(`sent request to new pairing topic: ${A}`),{uri:I,id:$}},this.respond=async(e,r)=>{if(this.isInitialized(),!If(e,this.client.requests))throw new Error("Invalid response");const n=as(this.client.requests,e.id);if(!n)throw new Error(`Could not find pending auth request with id ${e.id}`);const s=n.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),c=Oi(s),d={type:Pn,receiverPublicKey:s,senderPublicKey:u};if("error"in e){await this.sendError(n.id,c,e,d);return}const m={h:{t:"eip4361"},p:ui(hr({},n.cacaoPayload),{iss:r}),s:e.signature};await this.sendResult(n.id,c,m,d),await this.client.core.pairing.activate({topic:n.pairingTopic}),await this.client.requests.update(n.id,hr({},m))},this.getPendingRequests=()=>os(this.client.requests),this.formatMessage=(e,r)=>{this.client.logger.debug(`formatMessage, cacao is: ${JSON.stringify(e)}`);const n=`${e.domain} wants you to sign in with your Ethereum account:`,s=en(r),u=e.statement,c=`URI: ${e.aud}`,d=`Version: ${e.version}`,m=`Chain ID: ${bf(r)}`,b=`Nonce: ${e.nonce}`,x=`Issued At: ${e.iat}`,A=e.exp?`Expiry: ${e.exp}`:void 0,I=e.resources&&e.resources.length>0?`Resources: -${e.resources.map(S=>`- ${S}`).join(` -`)}`:void 0;return[n,s,"",u,"",c,d,m,b,x,A,I].filter(S=>S!=null).join(` -`)},this.setExpiry=async(e,r)=>{this.client.core.pairing.pairings.keys.includes(e)&&await this.client.core.pairing.updateExpiry({topic:e,expiry:r}),this.client.core.expirer.set(e,r)},this.sendRequest=async(e,r,n,s,u)=>{const c=br(r,n),d=await this.client.core.crypto.encode(e,c,s),m=yr[r].req;if(u&&(m.ttl=u),this.client.core.history.set(e,c),Nn()){const b=fn(JSON.stringify(c));this.client.core.verify.register({attestationId:b})}return await this.client.core.relayer.publish(e,d,ui(hr({},m),{internal:{throwOnFailedPublish:!0}})),c.id},this.sendResult=async(e,r,n,s)=>{const u=In(e,n),c=await this.client.core.crypto.encode(r,u,s),d=await this.client.core.history.get(r,e),m=yr[d.request.method].res;return await this.client.core.relayer.publish(r,c,ui(hr({},m),{internal:{throwOnFailedPublish:!0}})),await this.client.core.history.resolve(u),u.id},this.sendError=async(e,r,n,s)=>{const u=Mn(e,n.error),c=await this.client.core.crypto.encode(r,u,s),d=await this.client.core.history.get(r,e),m=yr[d.request.method].res;return await this.client.core.relayer.publish(r,c,m),await this.client.core.history.resolve(u),u.id},this.requestOnKnownPairing=async(e,r)=>{const n=this.client.core.pairing.pairings.getAll({active:!0}).find(I=>I.topic===e);if(!n)throw new Error(`Could not find pairing for provided topic ${e}`);const{publicKey:s}=this.client.authKeys.get(dr),{chainId:u,statement:c,aud:d,domain:m,nonce:b,type:x}=r,A=await this.sendRequest(n.topic,"wc_authRequest",{payloadParams:{type:x??"eip4361",chainId:u,statement:c,aud:d,domain:m,version:"1",nonce:b,iat:new Date().toISOString()},requester:{publicKey:s,metadata:this.client.metadata}},{},r.expiry);return this.client.logger.info(`sent request to known pairing topic: ${n.topic}`),{id:A}},this.onPairingCreated=e=>{const r=this.getPendingRequests();if(r){const n=Object.values(r).find(s=>s.pairingTopic===e.topic);n&&this.handleAuthRequest(n)}},this.onRelayEventRequest=e=>{const{topic:r,payload:n}=e,s=n.method;switch(s){case"wc_authRequest":return this.onAuthRequest(r,n);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async e=>{const{topic:r,payload:n}=e,s=(await this.client.core.history.get(r,n.id)).request.method;switch(s){case"wc_authRequest":return this.onAuthResponse(r,n);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onAuthRequest=async(e,r)=>{const{requester:n,payloadParams:s}=r.params;this.client.logger.info({type:"onAuthRequest",topic:e,payload:r});const u=fn(JSON.stringify(r)),c=await this.getVerifyContext(u,this.client.metadata),d={requester:n,pairingTopic:e,id:r.id,cacaoPayload:s,verifyContext:c};await this.client.requests.set(r.id,d),this.handleAuthRequest(d)},this.handleAuthRequest=async e=>{const{id:r,pairingTopic:n,requester:s,cacaoPayload:u,verifyContext:c}=e;try{this.client.emit("auth_request",{id:r,topic:n,params:{requester:s,cacaoPayload:u},verifyContext:c})}catch(d){await this.sendError(e.id,e.pairingTopic,d),this.client.logger.error(d)}},this.onAuthResponse=async(e,r)=>{const{id:n}=r;if(this.client.logger.info({type:"onAuthResponse",topic:e,response:r}),bt(r)){const{pairingTopic:s}=this.client.pairingTopics.get(e);await this.client.core.pairing.activate({topic:s});const{s:u,p:c}=r.result;await this.client.requests.set(n,hr({id:n,pairingTopic:s},r.result));const d=this.formatMessage(c,c.iss);this.client.logger.debug(`reconstructed message: -`,JSON.stringify(d)),this.client.logger.debug("payload.iss:",c.iss),this.client.logger.debug("signature:",u);const m=en(c.iss),b=xf(c.iss);if(!m)throw new Error("Could not derive address from `payload.iss`");if(!b)throw new Error("Could not derive chainId from `payload.iss`");this.client.logger.debug("walletAddress extracted from `payload.iss`:",m),await _f(m,d,u,b,this.client.projectId)?this.client.emit("auth_response",{id:n,topic:e,params:r}):this.client.emit("auth_response",{id:n,topic:e,params:{message:"Invalid signature",code:-1}})}else xt(r)&&this.client.emit("auth_response",{id:n,topic:e,params:r})},this.getVerifyContext=async(e,r)=>{const n={verified:{verifyUrl:r.verifyUrl||"",validation:"UNKNOWN",origin:r.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:e,verifyUrl:r.verifyUrl});s&&(n.verified.origin=s.origin,n.verified.isScam=s.isScam,n.verified.validation=origin===new URL(r.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.error(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(n)}`),n}}isInitialized(){if(!this.initialized){const{message:t}=B("NOT_INITIALIZED",this.name);throw new Error(t)}}registerRelayerEvents(){this.client.core.relayer.on(di.message,async t=>{const{topic:e,message:r}=t,{responseTopic:n,publicKey:s}=this.client.authKeys.keys.includes(dr)?this.client.authKeys.get(dr):{responseTopic:void 0,publicKey:void 0};if(n&&e!==n){this.client.logger.debug("[Auth] Ignoring message from unknown topic",e);return}const u=await this.client.core.crypto.decode(e,r,{receiverPublicKey:s});Sn(u)?(this.client.core.history.set(e,u),this.onRelayEventRequest({topic:e,payload:u})):An(u)&&(await this.client.core.history.resolve(u),this.onRelayEventResponse({topic:e,payload:u}))})}registerPairingEvents(){this.client.core.pairing.events.on(En.create,t=>this.onPairingCreated(t))}}let ou=class ws extends gf{constructor(t){super(t),this.protocol=ss,this.version=yf,this.name=Zi,this.events=new xn.EventEmitter,this.emit=(r,n)=>this.events.emit(r,n),this.on=(r,n)=>this.events.on(r,n),this.once=(r,n)=>this.events.once(r,n),this.off=(r,n)=>this.events.off(r,n),this.removeListener=(r,n)=>this.events.removeListener(r,n),this.request=async(r,n)=>{try{return await this.engine.request(r,n)}catch(s){throw this.logger.error(s.message),s}},this.respond=async(r,n)=>{try{return await this.engine.respond(r,n)}catch(s){throw this.logger.error(s.message),s}},this.getPendingRequests=()=>{try{return this.engine.getPendingRequests()}catch(r){throw this.logger.error(r.message),r}},this.formatMessage=(r,n)=>{try{return this.engine.formatMessage(r,n)}catch(s){throw this.logger.error(s.message),s}};const e=typeof t.logger<"u"&&typeof t.logger!="string"?t.logger:_t.pino(_t.getDefaultLoggerOptions({level:t.logger||"error"}));this.name=(t==null?void 0:t.name)||Zi,this.metadata=t.metadata,this.projectId=t.projectId,this.core=t.core||new _n(t),this.logger=_t.generateChildLogger(e,this.name),this.authKeys=new Gt(this.core,this.logger,"authKeys",Sr,()=>dr),this.pairingTopics=new Gt(this.core,this.logger,"pairingTopics",Sr),this.requests=new Gt(this.core,this.logger,"requests",Sr,r=>r.id),this.engine=new su(this)}static async init(t){const e=new ws(t);return await e.initialize(),e}get context(){return _t.getLoggerContext(this.logger)}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.authKeys.init(),await this.requests.init(),await this.pairingTopics.init(),await this.engine.init(),this.logger.info("AuthClient Initialization Success"),this.logger.info({authClient:this})}catch(t){throw this.logger.info("AuthClient Initialization Failure"),this.logger.error(t.message),t}}};const au=ou,bs="wc",xs=2,_s="client",Fi=`${bs}@${xs}:${_s}:`,ci={name:_s,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},cn="WALLETCONNECT_DEEPLINK_CHOICE",fu="proposal",hu="Proposal expired",uu="session",wr=W.SEVEN_DAYS,cu="engine",ur={wc_sessionPropose:{req:{ttl:W.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:W.ONE_DAY,prompt:!1,tag:1104},res:{ttl:W.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:W.ONE_DAY,prompt:!1,tag:1106},res:{ttl:W.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:W.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:W.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:W.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:W.ONE_DAY,prompt:!1,tag:1112},res:{ttl:W.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:W.THIRTY_SECONDS,prompt:!1,tag:1114},res:{ttl:W.THIRTY_SECONDS,prompt:!1,tag:1115}}},li={min:W.FIVE_MINUTES,max:W.SEVEN_DAYS},ht={idle:"IDLE",active:"ACTIVE"},lu="request",du=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"];var pu=Object.defineProperty,vu=Object.defineProperties,gu=Object.getOwnPropertyDescriptors,ln=Object.getOwnPropertySymbols,mu=Object.prototype.hasOwnProperty,yu=Object.prototype.propertyIsEnumerable,dn=(i,t,e)=>t in i?pu(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,Be=(i,t)=>{for(var e in t||(t={}))mu.call(t,e)&&dn(i,e,t[e]);if(ln)for(var e of ln(t))yu.call(t,e)&&dn(i,e,t[e]);return i},cr=(i,t)=>vu(i,gu(t));class wu extends Rs{constructor(t){super(t),this.name=cu,this.events=new Ns,this.initialized=!1,this.ignoredPayloadTypes=[Pn],this.requestQueue={state:ht.idle,queue:[]},this.sessionRequestQueue={state:ht.idle,queue:[]},this.requestQueueDelay=W.ONE_SECOND,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(ur)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},W.toMiliseconds(this.requestQueueDelay)))},this.connect=async e=>{await this.isInitialized();const r=cr(Be({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(r);const{pairingTopic:n,requiredNamespaces:s,optionalNamespaces:u,sessionProperties:c,relays:d}=r;let m=n,b,x=!1;if(m&&(x=this.client.core.pairing.pairings.get(m).active),!m||!x){const{topic:H,uri:z}=await this.client.core.pairing.create();m=H,b=z}const A=await this.client.core.crypto.generateKeyPair(),I=Be({requiredNamespaces:s,optionalNamespaces:u,relays:d??[{protocol:Fs}],proposer:{publicKey:A,metadata:this.client.metadata}},c&&{sessionProperties:c}),{reject:S,resolve:F,done:$}=ir(W.FIVE_MINUTES,hu);if(this.events.once(Le("session_connect"),async({error:H,session:z})=>{if(H)S(H);else if(z){z.self.publicKey=A;const V=cr(Be({},z),{requiredNamespaces:z.requiredNamespaces,optionalNamespaces:z.optionalNamespaces});await this.client.session.set(z.topic,V),await this.setExpiry(z.topic,z.expiry),m&&await this.client.core.pairing.updateMetadata({topic:m,metadata:z.peer.metadata}),F(V)}}),!m){const{message:H}=B("NO_MATCHING_KEY",`connect() pairing topic: ${m}`);throw new Error(H)}const T=await this.sendRequest({topic:m,method:"wc_sessionPropose",params:I}),K=Bt(W.FIVE_MINUTES);return await this.setProposal(T,Be({id:T,expiry:K},I)),{uri:b,approval:$}},this.pair=async e=>(await this.isInitialized(),await this.client.core.pairing.pair(e)),this.approve=async e=>{await this.isInitialized(),await this.isValidApprove(e);const{id:r,relayProtocol:n,namespaces:s,sessionProperties:u}=e,c=this.client.proposal.get(r);let{pairingTopic:d,proposer:m,requiredNamespaces:b,optionalNamespaces:x}=c;d=d||"",Xr(b)||(b=Us(s,"approve()"));const A=await this.client.core.crypto.generateKeyPair(),I=m.publicKey,S=await this.client.core.crypto.generateSharedKey(A,I);d&&r&&(await this.client.core.pairing.updateMetadata({topic:d,metadata:m.metadata}),await this.sendResult({id:r,topic:d,result:{relay:{protocol:n??"irn"},responderPublicKey:A}}),await this.client.proposal.delete(r,zt("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:d}));const F=Be({relay:{protocol:n??"irn"},namespaces:s,requiredNamespaces:b,optionalNamespaces:x,pairingTopic:d,controller:{publicKey:A,metadata:this.client.metadata},expiry:Bt(wr)},u&&{sessionProperties:u});await this.client.core.relayer.subscribe(S),await this.sendRequest({topic:S,method:"wc_sessionSettle",params:F,throwOnFailedPublish:!0});const $=cr(Be({},F),{topic:S,pairingTopic:d,acknowledged:!1,self:F.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:A});return await this.client.session.set(S,$),await this.setExpiry(S,Bt(wr)),{topic:S,acknowledged:()=>new Promise(T=>setTimeout(()=>T(this.client.session.get(S)),500))}},this.reject=async e=>{await this.isInitialized(),await this.isValidReject(e);const{id:r,reason:n}=e,{pairingTopic:s}=this.client.proposal.get(r);s&&(await this.sendError(r,s,n),await this.client.proposal.delete(r,zt("USER_DISCONNECTED")))},this.update=async e=>{await this.isInitialized(),await this.isValidUpdate(e);const{topic:r,namespaces:n}=e,s=await this.sendRequest({topic:r,method:"wc_sessionUpdate",params:{namespaces:n}}),{done:u,resolve:c,reject:d}=ir();return this.events.once(Le("session_update",s),({error:m})=>{m?d(m):c()}),await this.client.session.update(r,{namespaces:n}),{acknowledged:u}},this.extend=async e=>{await this.isInitialized(),await this.isValidExtend(e);const{topic:r}=e,n=await this.sendRequest({topic:r,method:"wc_sessionExtend",params:{}}),{done:s,resolve:u,reject:c}=ir();return this.events.once(Le("session_extend",n),({error:d})=>{d?c(d):u()}),await this.setExpiry(r,Bt(wr)),{acknowledged:s}},this.request=async e=>{await this.isInitialized(),await this.isValidRequest(e);const{chainId:r,request:n,topic:s,expiry:u}=e,c=Os(),{done:d,resolve:m,reject:b}=ir(u,"Request expired. Please try again.");return this.events.once(Le("session_request",c),({error:x,result:A})=>{x?b(x):m(A)}),await Promise.all([new Promise(async x=>{await this.sendRequest({clientRpcId:c,topic:s,method:"wc_sessionRequest",params:{request:n,chainId:r},expiry:u,throwOnFailedPublish:!0}).catch(A=>b(A)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:r,id:c}),x()}),new Promise(async x=>{const A=await ks(this.client.core.storage,cn);Bs({id:c,topic:s,wcDeepLink:A}),x()}),d()]).then(x=>x[2])},this.respond=async e=>{await this.isInitialized(),await this.isValidRespond(e);const{topic:r,response:n}=e,{id:s}=n;bt(n)?await this.sendResult({id:s,topic:r,result:n.result,throwOnFailedPublish:!0}):xt(n)&&await this.sendError(s,r,n.error),this.cleanupAfterResponse(e)},this.ping=async e=>{await this.isInitialized(),await this.isValidPing(e);const{topic:r}=e;if(this.client.session.keys.includes(r)){const n=await this.sendRequest({topic:r,method:"wc_sessionPing",params:{}}),{done:s,resolve:u,reject:c}=ir();this.events.once(Le("session_ping",n),({error:d})=>{d?c(d):u()}),await s()}else this.client.core.pairing.pairings.keys.includes(r)&&await this.client.core.pairing.ping({topic:r})},this.emit=async e=>{await this.isInitialized(),await this.isValidEmit(e);const{topic:r,event:n,chainId:s}=e;await this.sendRequest({topic:r,method:"wc_sessionEvent",params:{event:n,chainId:s}})},this.disconnect=async e=>{await this.isInitialized(),await this.isValidDisconnect(e);const{topic:r}=e;this.client.session.keys.includes(r)?(await this.sendRequest({topic:r,method:"wc_sessionDelete",params:zt("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession(r)):await this.client.core.pairing.disconnect({topic:r})},this.find=e=>(this.isInitialized(),this.client.session.getAll().filter(r=>zs(r,e))),this.getPendingSessionRequests=()=>(this.isInitialized(),this.client.pendingRequest.getAll()),this.cleanupDuplicatePairings=async e=>{if(e.pairingTopic)try{const r=this.client.core.pairing.pairings.get(e.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(s=>{var u,c;return((u=s.peerMetadata)==null?void 0:u.url)&&((c=s.peerMetadata)==null?void 0:c.url)===e.peer.metadata.url&&s.topic&&s.topic!==r.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(r){this.client.logger.error(r)}},this.deleteSession=async(e,r)=>{const{self:n}=this.client.session.get(e);await this.client.core.relayer.unsubscribe(e),this.client.session.delete(e,zt("USER_DISCONNECTED")),this.client.core.crypto.keychain.has(n.publicKey)&&await this.client.core.crypto.deleteKeyPair(n.publicKey),this.client.core.crypto.keychain.has(e)&&await this.client.core.crypto.deleteSymKey(e),r||this.client.core.expirer.del(e),this.client.core.storage.removeItem(cn).catch(s=>this.client.logger.warn(s))},this.deleteProposal=async(e,r)=>{await Promise.all([this.client.proposal.delete(e,zt("USER_DISCONNECTED")),r?Promise.resolve():this.client.core.expirer.del(e)])},this.deletePendingSessionRequest=async(e,r,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,r),n?Promise.resolve():this.client.core.expirer.del(e)]),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==e),n&&(this.sessionRequestQueue.state=ht.idle)},this.setExpiry=async(e,r)=>{this.client.session.keys.includes(e)&&await this.client.session.update(e,{expiry:r}),this.client.core.expirer.set(e,r)},this.setProposal=async(e,r)=>{await this.client.proposal.set(e,r),this.client.core.expirer.set(e,r.expiry)},this.setPendingSessionRequest=async e=>{const r=ur.wc_sessionRequest.req.ttl,{id:n,topic:s,params:u,verifyContext:c}=e;await this.client.pendingRequest.set(n,{id:n,topic:s,params:u,verifyContext:c}),r&&this.client.core.expirer.set(n,Bt(r))},this.sendRequest=async e=>{const{topic:r,method:n,params:s,expiry:u,relayRpcId:c,clientRpcId:d,throwOnFailedPublish:m}=e,b=br(n,s,d);if(Nn()&&du.includes(n)){const I=Yr(JSON.stringify(b));this.client.core.verify.register({attestationId:I})}const x=await this.client.core.crypto.encode(r,b),A=ur[n].req;return u&&(A.ttl=u),c&&(A.id=c),this.client.core.history.set(r,b),m?(A.internal=cr(Be({},A.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(r,x,A)):this.client.core.relayer.publish(r,x,A).catch(I=>this.client.logger.error(I)),b.id},this.sendResult=async e=>{const{id:r,topic:n,result:s,throwOnFailedPublish:u}=e,c=In(r,s),d=await this.client.core.crypto.encode(n,c),m=await this.client.core.history.get(n,r),b=ur[m.request.method].res;u?(b.internal=cr(Be({},b.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,d,b)):this.client.core.relayer.publish(n,d,b).catch(x=>this.client.logger.error(x)),await this.client.core.history.resolve(c)},this.sendError=async(e,r,n)=>{const s=Mn(e,n),u=await this.client.core.crypto.encode(r,s),c=await this.client.core.history.get(r,e),d=ur[c.request.method].res;this.client.core.relayer.publish(r,u,d),await this.client.core.history.resolve(s)},this.cleanup=async()=>{const e=[],r=[];this.client.session.getAll().forEach(n=>{jt(n.expiry)&&e.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{jt(n.expiry)&&r.push(n.id)}),await Promise.all([...e.map(n=>this.deleteSession(n)),...r.map(n=>this.deleteProposal(n))])},this.onRelayEventRequest=async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===ht.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=ht.active;const e=this.requestQueue.queue.shift();if(e)try{this.processRequest(e),await new Promise(r=>setTimeout(r,300))}catch(r){this.client.logger.warn(r)}}this.requestQueue.state=ht.idle},this.processRequest=e=>{const{topic:r,payload:n}=e,s=n.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeRequest(r,n);case"wc_sessionSettle":return this.onSessionSettleRequest(r,n);case"wc_sessionUpdate":return this.onSessionUpdateRequest(r,n);case"wc_sessionExtend":return this.onSessionExtendRequest(r,n);case"wc_sessionPing":return this.onSessionPingRequest(r,n);case"wc_sessionDelete":return this.onSessionDeleteRequest(r,n);case"wc_sessionRequest":return this.onSessionRequest(r,n);case"wc_sessionEvent":return this.onSessionEventRequest(r,n);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async e=>{const{topic:r,payload:n}=e,s=(await this.client.core.history.get(r,n.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(r,n);case"wc_sessionSettle":return this.onSessionSettleResponse(r,n);case"wc_sessionUpdate":return this.onSessionUpdateResponse(r,n);case"wc_sessionExtend":return this.onSessionExtendResponse(r,n);case"wc_sessionPing":return this.onSessionPingResponse(r,n);case"wc_sessionRequest":return this.onSessionRequestResponse(r,n);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onRelayEventUnknownPayload=e=>{const{topic:r}=e,{message:n}=B("MISSING_OR_INVALID",`Decoded payload on topic ${r} is not identifiable as a JSON-RPC request or a response.`);throw new Error(n)},this.onSessionProposeRequest=async(e,r)=>{const{params:n,id:s}=r;try{this.isValidConnect(Be({},r.params));const u=Bt(W.FIVE_MINUTES),c=Be({id:s,pairingTopic:e,expiry:u},n);await this.setProposal(s,c);const d=Yr(JSON.stringify(r)),m=await this.getVerifyContext(d,c.proposer.metadata);this.client.events.emit("session_proposal",{id:s,params:c,verifyContext:m})}catch(u){await this.sendError(s,e,u),this.client.logger.error(u)}},this.onSessionProposeResponse=async(e,r)=>{const{id:n}=r;if(bt(r)){const{result:s}=r;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});const u=this.client.proposal.get(n);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:u});const c=u.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const d=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:d});const m=await this.client.core.crypto.generateSharedKey(c,d);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:m});const b=await this.client.core.relayer.subscribe(m);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:b}),await this.client.core.pairing.activate({topic:e})}else xt(r)&&(await this.client.proposal.delete(n,zt("USER_DISCONNECTED")),this.events.emit(Le("session_connect"),{error:r.error}))},this.onSessionSettleRequest=async(e,r)=>{const{id:n,params:s}=r;try{this.isValidSessionSettleRequest(s);const{relay:u,controller:c,expiry:d,namespaces:m,requiredNamespaces:b,optionalNamespaces:x,sessionProperties:A,pairingTopic:I}=r.params,S=Be({topic:e,relay:u,expiry:d,namespaces:m,acknowledged:!0,pairingTopic:I,requiredNamespaces:b,optionalNamespaces:x,controller:c.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:c.publicKey,metadata:c.metadata}},A&&{sessionProperties:A});await this.sendResult({id:r.id,topic:e,result:!0}),this.events.emit(Le("session_connect"),{session:S}),this.cleanupDuplicatePairings(S)}catch(u){await this.sendError(n,e,u),this.client.logger.error(u)}},this.onSessionSettleResponse=async(e,r)=>{const{id:n}=r;bt(r)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(Le("session_approve",n),{})):xt(r)&&(await this.client.session.delete(e,zt("USER_DISCONNECTED")),this.events.emit(Le("session_approve",n),{error:r.error}))},this.onSessionUpdateRequest=async(e,r)=>{const{params:n,id:s}=r;try{const u=`${e}_session_update`,c=gr.get(u);if(c&&this.isRequestOutOfSync(c,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidUpdate(Be({topic:e},n)),await this.client.session.update(e,{namespaces:n.namespaces}),await this.sendResult({id:s,topic:e,result:!0}),this.client.events.emit("session_update",{id:s,topic:e,params:n}),gr.set(u,s)}catch(u){await this.sendError(s,e,u),this.client.logger.error(u)}},this.isRequestOutOfSync=(e,r)=>parseInt(r.toString().slice(0,-3))<=parseInt(e.toString().slice(0,-3)),this.onSessionUpdateResponse=(e,r)=>{const{id:n}=r;bt(r)?this.events.emit(Le("session_update",n),{}):xt(r)&&this.events.emit(Le("session_update",n),{error:r.error})},this.onSessionExtendRequest=async(e,r)=>{const{id:n}=r;try{this.isValidExtend({topic:e}),await this.setExpiry(e,Bt(wr)),await this.sendResult({id:n,topic:e,result:!0}),this.client.events.emit("session_extend",{id:n,topic:e})}catch(s){await this.sendError(n,e,s),this.client.logger.error(s)}},this.onSessionExtendResponse=(e,r)=>{const{id:n}=r;bt(r)?this.events.emit(Le("session_extend",n),{}):xt(r)&&this.events.emit(Le("session_extend",n),{error:r.error})},this.onSessionPingRequest=async(e,r)=>{const{id:n}=r;try{this.isValidPing({topic:e}),await this.sendResult({id:n,topic:e,result:!0}),this.client.events.emit("session_ping",{id:n,topic:e})}catch(s){await this.sendError(n,e,s),this.client.logger.error(s)}},this.onSessionPingResponse=(e,r)=>{const{id:n}=r;setTimeout(()=>{bt(r)?this.events.emit(Le("session_ping",n),{}):xt(r)&&this.events.emit(Le("session_ping",n),{error:r.error})},500)},this.onSessionDeleteRequest=async(e,r)=>{const{id:n}=r;try{this.isValidDisconnect({topic:e,reason:r.params}),await Promise.all([new Promise(s=>{this.client.core.relayer.once(di.publish,async()=>{s(await this.deleteSession(e))})}),this.sendResult({id:n,topic:e,result:!0})]),this.client.events.emit("session_delete",{id:n,topic:e})}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async(e,r)=>{const{id:n,params:s}=r;try{this.isValidRequest(Be({topic:e},s));const u=Yr(JSON.stringify(br("wc_sessionRequest",s,n))),c=this.client.session.get(e),d=await this.getVerifyContext(u,c.peer.metadata),m={id:n,topic:e,params:s,verifyContext:d};await this.setPendingSessionRequest(m),this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue()}catch(u){await this.sendError(n,e,u),this.client.logger.error(u)}},this.onSessionRequestResponse=(e,r)=>{const{id:n}=r;bt(r)?this.events.emit(Le("session_request",n),{result:r.result}):xt(r)&&this.events.emit(Le("session_request",n),{error:r.error})},this.onSessionEventRequest=async(e,r)=>{const{id:n,params:s}=r;try{const u=`${e}_session_event_${s.event.name}`,c=gr.get(u);if(c&&this.isRequestOutOfSync(c,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(Be({topic:e},s)),this.client.events.emit("session_event",{id:n,topic:e,params:s}),gr.set(u,n)}catch(u){await this.sendError(n,e,u),this.client.logger.error(u)}},this.addSessionRequestToSessionRequestQueue=e=>{this.sessionRequestQueue.queue.push(e)},this.cleanupAfterResponse=e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=ht.idle,this.processSessionRequestQueue()},W.toMiliseconds(this.requestQueueDelay))},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===ht.active){this.client.logger.info("session request queue is already active.");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=ht.active,this.client.events.emit("session_request",e)}catch(r){this.client.logger.error(r)}},this.onPairingCreated=e=>{if(e.active)return;const r=this.client.proposal.getAll().find(n=>n.pairingTopic===e.topic);r&&this.onSessionProposeRequest(e.topic,br("wc_sessionPropose",{requiredNamespaces:r.requiredNamespaces,optionalNamespaces:r.optionalNamespaces,relays:r.relays,proposer:r.proposer,sessionProperties:r.sessionProperties},r.id))},this.isValidConnect=async e=>{if(!We(e)){const{message:d}=B("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw new Error(d)}const{pairingTopic:r,requiredNamespaces:n,optionalNamespaces:s,sessionProperties:u,relays:c}=e;if(nr(r)||await this.isValidPairingTopic(r),!Vs(c,!0)){const{message:d}=B("MISSING_OR_INVALID",`connect() relays: ${c}`);throw new Error(d)}!nr(n)&&Xr(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!nr(s)&&Xr(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),nr(u)||this.validateSessionProps(u,"sessionProperties")},this.validateNamespaces=(e,r)=>{const n=Ks(e,"connect()",r);if(n)throw new Error(n.message)},this.isValidApprove=async e=>{if(!We(e))throw new Error(B("MISSING_OR_INVALID",`approve() params: ${e}`).message);const{id:r,namespaces:n,relayProtocol:s,sessionProperties:u}=e;await this.isValidProposalId(r);const c=this.client.proposal.get(r),d=Qr(n,"approve()");if(d)throw new Error(d.message);const m=Ci(c.requiredNamespaces,n,"approve()");if(m)throw new Error(m.message);if(!sr(s,!0)){const{message:b}=B("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(b)}nr(u)||this.validateSessionProps(u,"sessionProperties")},this.isValidReject=async e=>{if(!We(e)){const{message:s}=B("MISSING_OR_INVALID",`reject() params: ${e}`);throw new Error(s)}const{id:r,reason:n}=e;if(await this.isValidProposalId(r),!js(n)){const{message:s}=B("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidSessionSettleRequest=e=>{if(!We(e)){const{message:m}=B("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw new Error(m)}const{relay:r,controller:n,namespaces:s,expiry:u}=e;if(!Gs(r)){const{message:m}=B("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(m)}const c=Hs(n,"onSessionSettleRequest()");if(c)throw new Error(c.message);const d=Qr(s,"onSessionSettleRequest()");if(d)throw new Error(d.message);if(jt(u)){const{message:m}=B("EXPIRED","onSessionSettleRequest()");throw new Error(m)}},this.isValidUpdate=async e=>{if(!We(e)){const{message:d}=B("MISSING_OR_INVALID",`update() params: ${e}`);throw new Error(d)}const{topic:r,namespaces:n}=e;await this.isValidSessionTopic(r);const s=this.client.session.get(r),u=Qr(n,"update()");if(u)throw new Error(u.message);const c=Ci(s.requiredNamespaces,n,"update()");if(c)throw new Error(c.message)},this.isValidExtend=async e=>{if(!We(e)){const{message:n}=B("MISSING_OR_INVALID",`extend() params: ${e}`);throw new Error(n)}const{topic:r}=e;await this.isValidSessionTopic(r)},this.isValidRequest=async e=>{if(!We(e)){const{message:d}=B("MISSING_OR_INVALID",`request() params: ${e}`);throw new Error(d)}const{topic:r,request:n,chainId:s,expiry:u}=e;await this.isValidSessionTopic(r);const{namespaces:c}=this.client.session.get(r);if(!Ti(c,s)){const{message:d}=B("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(d)}if(!Js(n)){const{message:d}=B("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(d)}if(!Ws(c,s,n.method)){const{message:d}=B("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(d)}if(u&&!Fn(u,li)){const{message:d}=B("MISSING_OR_INVALID",`request() expiry: ${u}. Expiry must be a number (in seconds) between ${li.min} and ${li.max}`);throw new Error(d)}},this.isValidRespond=async e=>{if(!We(e)){const{message:s}=B("MISSING_OR_INVALID",`respond() params: ${e}`);throw new Error(s)}const{topic:r,response:n}=e;if(await this.isValidSessionTopic(r),!Xs(n)){const{message:s}=B("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidPing=async e=>{if(!We(e)){const{message:n}=B("MISSING_OR_INVALID",`ping() params: ${e}`);throw new Error(n)}const{topic:r}=e;await this.isValidSessionOrPairingTopic(r)},this.isValidEmit=async e=>{if(!We(e)){const{message:c}=B("MISSING_OR_INVALID",`emit() params: ${e}`);throw new Error(c)}const{topic:r,event:n,chainId:s}=e;await this.isValidSessionTopic(r);const{namespaces:u}=this.client.session.get(r);if(!Ti(u,s)){const{message:c}=B("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(c)}if(!Ys(n)){const{message:c}=B("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(c)}if(!Qs(u,s,n.name)){const{message:c}=B("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(c)}},this.isValidDisconnect=async e=>{if(!We(e)){const{message:n}=B("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw new Error(n)}const{topic:r}=e;await this.isValidSessionOrPairingTopic(r)},this.getVerifyContext=async(e,r)=>{const n={verified:{verifyUrl:r.verifyUrl||Ps,validation:"UNKNOWN",origin:r.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:e,verifyUrl:r.verifyUrl});s&&(n.verified.origin=s.origin,n.verified.isScam=s.isScam,n.verified.validation=s.origin===new URL(r.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.info(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(n)}`),n},this.validateSessionProps=(e,r)=>{Object.values(e).forEach(n=>{if(!sr(n,!1)){const{message:s}=B("MISSING_OR_INVALID",`${r} must be in Record format. Received: ${JSON.stringify(n)}`);throw new Error(s)}})}}async isInitialized(){if(!this.initialized){const{message:t}=B("NOT_INITIALIZED",this.name);throw new Error(t)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(di.message,async t=>{const{topic:e,message:r}=t;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(r)))return;const n=await this.client.core.crypto.decode(e,r);try{Sn(n)?(this.client.core.history.set(e,n),this.onRelayEventRequest({topic:e,payload:n})):An(n)?(await this.client.core.history.resolve(n),await this.onRelayEventResponse({topic:e,payload:n}),this.client.core.history.delete(e,n.id)):this.onRelayEventUnknownPayload({topic:e,payload:n})}catch(s){this.client.logger.error(s)}})}registerExpirerEvents(){this.client.core.expirer.on(qs.expired,async t=>{const{topic:e,id:r}=Zs(t.target);if(r&&this.client.pendingRequest.keys.includes(r))return await this.deletePendingSessionRequest(r,B("EXPIRED"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession(e,!0),this.client.events.emit("session_expire",{topic:e})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r}))})}registerPairingEvents(){this.client.core.pairing.events.on(En.create,t=>this.onPairingCreated(t))}isValidPairingTopic(t){if(!sr(t,!1)){const{message:e}=B("MISSING_OR_INVALID",`pairing topic should be a string: ${t}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(t)){const{message:e}=B("NO_MATCHING_KEY",`pairing topic doesn't exist: ${t}`);throw new Error(e)}if(jt(this.client.core.pairing.pairings.get(t).expiry)){const{message:e}=B("EXPIRED",`pairing topic: ${t}`);throw new Error(e)}}async isValidSessionTopic(t){if(!sr(t,!1)){const{message:e}=B("MISSING_OR_INVALID",`session topic should be a string: ${t}`);throw new Error(e)}if(!this.client.session.keys.includes(t)){const{message:e}=B("NO_MATCHING_KEY",`session topic doesn't exist: ${t}`);throw new Error(e)}if(jt(this.client.session.get(t).expiry)){await this.deleteSession(t);const{message:e}=B("EXPIRED",`session topic: ${t}`);throw new Error(e)}}async isValidSessionOrPairingTopic(t){if(this.client.session.keys.includes(t))await this.isValidSessionTopic(t);else if(this.client.core.pairing.pairings.keys.includes(t))this.isValidPairingTopic(t);else if(sr(t,!1)){const{message:e}=B("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${t}`);throw new Error(e)}else{const{message:e}=B("MISSING_OR_INVALID",`session or pairing topic should be a string: ${t}`);throw new Error(e)}}async isValidProposalId(t){if(!eo(t)){const{message:e}=B("MISSING_OR_INVALID",`proposal id should be a number: ${t}`);throw new Error(e)}if(!this.client.proposal.keys.includes(t)){const{message:e}=B("NO_MATCHING_KEY",`proposal id doesn't exist: ${t}`);throw new Error(e)}if(jt(this.client.proposal.get(t).expiry)){await this.deleteProposal(t);const{message:e}=B("EXPIRED",`proposal id: ${t}`);throw new Error(e)}}}class bu extends Gt{constructor(t,e){super(t,e,fu,Fi),this.core=t,this.logger=e}}class xu extends Gt{constructor(t,e){super(t,e,uu,Fi),this.core=t,this.logger=e}}class _u extends Gt{constructor(t,e){super(t,e,lu,Fi,r=>r.id),this.core=t,this.logger=e}}class Pi extends Is{constructor(t){super(t),this.protocol=bs,this.version=xs,this.name=ci.name,this.events=new xn.EventEmitter,this.on=(r,n)=>this.events.on(r,n),this.once=(r,n)=>this.events.once(r,n),this.off=(r,n)=>this.events.off(r,n),this.removeListener=(r,n)=>this.events.removeListener(r,n),this.removeAllListeners=r=>this.events.removeAllListeners(r),this.connect=async r=>{try{return await this.engine.connect(r)}catch(n){throw this.logger.error(n.message),n}},this.pair=async r=>{try{return await this.engine.pair(r)}catch(n){throw this.logger.error(n.message),n}},this.approve=async r=>{try{return await this.engine.approve(r)}catch(n){throw this.logger.error(n.message),n}},this.reject=async r=>{try{return await this.engine.reject(r)}catch(n){throw this.logger.error(n.message),n}},this.update=async r=>{try{return await this.engine.update(r)}catch(n){throw this.logger.error(n.message),n}},this.extend=async r=>{try{return await this.engine.extend(r)}catch(n){throw this.logger.error(n.message),n}},this.request=async r=>{try{return await this.engine.request(r)}catch(n){throw this.logger.error(n.message),n}},this.respond=async r=>{try{return await this.engine.respond(r)}catch(n){throw this.logger.error(n.message),n}},this.ping=async r=>{try{return await this.engine.ping(r)}catch(n){throw this.logger.error(n.message),n}},this.emit=async r=>{try{return await this.engine.emit(r)}catch(n){throw this.logger.error(n.message),n}},this.disconnect=async r=>{try{return await this.engine.disconnect(r)}catch(n){throw this.logger.error(n.message),n}},this.find=r=>{try{return this.engine.find(r)}catch(n){throw this.logger.error(n.message),n}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(r){throw this.logger.error(r.message),r}},this.name=(t==null?void 0:t.name)||ci.name,this.metadata=(t==null?void 0:t.metadata)||Ds();const e=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:_t.pino(_t.getDefaultLoggerOptions({level:(t==null?void 0:t.logger)||ci.logger}));this.core=(t==null?void 0:t.core)||new _n(t),this.logger=_t.generateChildLogger(e,this.name),this.session=new xu(this.core,this.logger),this.proposal=new bu(this.core,this.logger),this.pendingRequest=new _u(this.core,this.logger),this.engine=new wu(this)}static async init(t){const e=new Pi(t);return await e.initialize(),e}get context(){return _t.getLoggerContext(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(t){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(t.message),t}}}const Mu=Pi;var Fr={exports:{}},Wt=typeof Reflect=="object"?Reflect:null,pn=Wt&&typeof Wt.apply=="function"?Wt.apply:function(i,t,e){return Function.prototype.apply.call(i,t,e)},Ar;Wt&&typeof Wt.ownKeys=="function"?Ar=Wt.ownKeys:Object.getOwnPropertySymbols?Ar=function(i){return Object.getOwnPropertyNames(i).concat(Object.getOwnPropertySymbols(i))}:Ar=function(i){return Object.getOwnPropertyNames(i)};function Su(i){console&&console.warn&&console.warn(i)}var vn=Number.isNaN||function(i){return i!==i};function X(){X.init.call(this)}Fr.exports=X,Fr.exports.once=Ru,X.EventEmitter=X,X.prototype._events=void 0,X.prototype._eventsCount=0,X.prototype._maxListeners=void 0;var gn=10;function Er(i){if(typeof i!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof i)}Object.defineProperty(X,"defaultMaxListeners",{enumerable:!0,get:function(){return gn},set:function(i){if(typeof i!="number"||i<0||vn(i))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+i+".");gn=i}}),X.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},X.prototype.setMaxListeners=function(i){if(typeof i!="number"||i<0||vn(i))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+i+".");return this._maxListeners=i,this};function Ms(i){return i._maxListeners===void 0?X.defaultMaxListeners:i._maxListeners}X.prototype.getMaxListeners=function(){return Ms(this)},X.prototype.emit=function(i){for(var t=[],e=1;e0&&(s=t[0]),s instanceof Error)throw s;var u=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw u.context=s,u}var c=n[i];if(c===void 0)return!1;if(typeof c=="function")pn(c,this,t);else for(var d=c.length,m=Ss(c,d),e=0;e0&&u.length>n&&!u.warned){u.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+u.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=i,c.type=t,c.count=u.length,Su(c)}return i}X.prototype.addListener=function(i,t){return mn(this,i,t,!1)},X.prototype.on=X.prototype.addListener,X.prototype.prependListener=function(i,t){return mn(this,i,t,!0)};function Au(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function yn(i,t,e){var r={fired:!1,wrapFn:void 0,target:i,type:t,listener:e},n=Au.bind(r);return n.listener=e,r.wrapFn=n,n}X.prototype.once=function(i,t){return Er(t),this.on(i,yn(this,i,t)),this},X.prototype.prependOnceListener=function(i,t){return Er(t),this.prependListener(i,yn(this,i,t)),this},X.prototype.removeListener=function(i,t){var e,r,n,s,u;if(Er(t),r=this._events,r===void 0)return this;if(e=r[i],e===void 0)return this;if(e===t||e.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[i],r.removeListener&&this.emit("removeListener",i,e.listener||t));else if(typeof e!="function"){for(n=-1,s=e.length-1;s>=0;s--)if(e[s]===t||e[s].listener===t){u=e[s].listener,n=s;break}if(n<0)return this;n===0?e.shift():Eu(e,n),e.length===1&&(r[i]=e[0]),r.removeListener!==void 0&&this.emit("removeListener",i,u||t)}return this},X.prototype.off=X.prototype.removeListener,X.prototype.removeAllListeners=function(i){var t,e,r;if(e=this._events,e===void 0)return this;if(e.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):e[i]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete e[i]),this;if(arguments.length===0){var n=Object.keys(e),s;for(r=0;r=0;r--)this.removeListener(i,t[r]);return this};function wn(i,t,e){var r=i._events;if(r===void 0)return[];var n=r[t];return n===void 0?[]:typeof n=="function"?e?[n.listener||n]:[n]:e?Iu(n):Ss(n,n.length)}X.prototype.listeners=function(i){return wn(this,i,!0)},X.prototype.rawListeners=function(i){return wn(this,i,!1)},X.listenerCount=function(i,t){return typeof i.listenerCount=="function"?i.listenerCount(t):bn.call(i,t)},X.prototype.listenerCount=bn;function bn(i){var t=this._events;if(t!==void 0){var e=t[i];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}X.prototype.eventNames=function(){return this._eventsCount>0?Ar(this._events):[]};function Ss(i,t){for(var e=new Array(t),r=0;r{this.signClient=await Mu.init({core:this.client.core,metadata:this.client.metadata}),this.authClient=await au.init({core:this.client.core,projectId:"",metadata:this.client.metadata}),this.initializeEventListeners()},this.pair=async e=>{await this.client.core.pairing.pair(e)},this.approveSession=async e=>{const{topic:r,acknowledged:n}=await this.signClient.approve({id:e.id,namespaces:e.namespaces});return await n(),this.signClient.session.get(r)},this.rejectSession=async e=>await this.signClient.reject(e),this.updateSession=async e=>await(await this.signClient.update(e)).acknowledged(),this.extendSession=async e=>await(await this.signClient.extend(e)).acknowledged(),this.respondSessionRequest=async e=>await this.signClient.respond(e),this.disconnectSession=async e=>await this.signClient.disconnect(e),this.emitSessionEvent=async e=>await this.signClient.emit(e),this.getActiveSessions=()=>this.signClient.session.getAll().reduce((e,r)=>(e[r.topic]=r,e),{}),this.getPendingSessionProposals=()=>this.signClient.proposal.getAll(),this.getPendingSessionRequests=()=>this.signClient.getPendingSessionRequests(),this.respondAuthRequest=async(e,r)=>await this.authClient.respond(e,r),this.getPendingAuthRequests=()=>this.authClient.requests.getAll().filter(e=>"requester"in e),this.formatMessage=(e,r)=>this.authClient.formatMessage(e,r),this.onSessionRequest=e=>{this.client.events.emit("session_request",e)},this.onSessionProposal=e=>{this.client.events.emit("session_proposal",e)},this.onSessionDelete=e=>{this.client.events.emit("session_delete",e)},this.onAuthRequest=e=>{this.client.events.emit("auth_request",e)},this.initializeEventListeners=()=>{this.signClient.events.on("session_proposal",this.onSessionProposal),this.signClient.events.on("session_request",this.onSessionRequest),this.signClient.events.on("session_delete",this.onSessionDelete),this.authClient.on("auth_request",this.onAuthRequest)},this.signClient={},this.authClient={}}}class qi extends Pu{constructor(t){super(t),this.events=new Fr.exports,this.on=(e,r)=>this.events.on(e,r),this.once=(e,r)=>this.events.once(e,r),this.off=(e,r)=>this.events.off(e,r),this.removeListener=(e,r)=>this.events.removeListener(e,r),this.pair=async e=>{try{return await this.engine.pair(e)}catch(r){throw this.logger.error(r.message),r}},this.approveSession=async e=>{try{return await this.engine.approveSession(e)}catch(r){throw this.logger.error(r.message),r}},this.rejectSession=async e=>{try{return await this.engine.rejectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.updateSession=async e=>{try{return await this.engine.updateSession(e)}catch(r){throw this.logger.error(r.message),r}},this.extendSession=async e=>{try{return await this.engine.extendSession(e)}catch(r){throw this.logger.error(r.message),r}},this.respondSessionRequest=async e=>{try{return await this.engine.respondSessionRequest(e)}catch(r){throw this.logger.error(r.message),r}},this.disconnectSession=async e=>{try{return await this.engine.disconnectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.emitSessionEvent=async e=>{try{return await this.engine.emitSessionEvent(e)}catch(r){throw this.logger.error(r.message),r}},this.getActiveSessions=()=>{try{return this.engine.getActiveSessions()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionProposals=()=>{try{return this.engine.getPendingSessionProposals()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.respondAuthRequest=async(e,r)=>{try{return await this.engine.respondAuthRequest(e,r)}catch(n){throw this.logger.error(n.message),n}},this.getPendingAuthRequests=()=>{try{return this.engine.getPendingAuthRequests()}catch(e){throw this.logger.error(e.message),e}},this.formatMessage=(e,r)=>{try{return this.engine.formatMessage(e,r)}catch(n){throw this.logger.error(n.message),n}},this.metadata=t.metadata,this.name=t.name||Es,this.core=t.core,this.logger=this.core.logger,this.engine=new Ou(this)}static async init(t){const e=new qi(t);return await e.initialize(),e}async initialize(){this.logger.trace("Initialized");try{await this.engine.init(),this.logger.info("Web3Wallet Initialization Success")}catch(t){throw this.logger.info("Web3Wallet Initialization Failure"),this.logger.error(t.message),t}}}const Vu=qi;export{Es as CLIENT_CONTEXT,ku as CLIENT_STORAGE_OPTIONS,Uu as CLIENT_STORAGE_PREFIX,Pu as IWeb3Wallet,qu as IWeb3WalletEngine,zu as IWeb3WalletEvents,Fu as PROTOCOL,Du as PROTOCOL_VERSION,Bu as REQUEST_CONTEXT,Vu as Web3Wallet,qi as default}; + */ +(function(module) { + (function() { + var INPUT_ERROR = "input is invalid type"; + var FINALIZE_ERROR = "finalize already called"; + var WINDOW = typeof window === "object"; + var root = WINDOW ? window : {}; + if (root.JS_SHA3_NO_WINDOW) { + WINDOW = false; + } + var WEB_WORKER = !WINDOW && typeof self === "object"; + var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node; + if (NODE_JS) { + root = commonjsGlobal; + } else if (WEB_WORKER) { + root = self; + } + var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && true && module.exports; + var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== "undefined"; + var HEX_CHARS = "0123456789abcdef".split(""); + var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; + var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; + var KECCAK_PADDING = [1, 256, 65536, 16777216]; + var PADDING = [6, 1536, 393216, 100663296]; + var SHIFT = [0, 8, 16, 24]; + var RC = [ + 1, + 0, + 32898, + 0, + 32906, + 2147483648, + 2147516416, + 2147483648, + 32907, + 0, + 2147483649, + 0, + 2147516545, + 2147483648, + 32777, + 2147483648, + 138, + 0, + 136, + 0, + 2147516425, + 0, + 2147483658, + 0, + 2147516555, + 0, + 139, + 2147483648, + 32905, + 2147483648, + 32771, + 2147483648, + 32770, + 2147483648, + 128, + 2147483648, + 32778, + 0, + 2147483658, + 2147483648, + 2147516545, + 2147483648, + 32896, + 2147483648, + 2147483649, + 0, + 2147516424, + 2147483648 + ]; + var BITS = [224, 256, 384, 512]; + var SHAKE_BITS = [128, 256]; + var OUTPUT_TYPES = ["hex", "buffer", "arrayBuffer", "array", "digest"]; + var CSHAKE_BYTEPAD = { + "128": 168, + "256": 136 + }; + if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { + Array.isArray = function(obj) { + return Object.prototype.toString.call(obj) === "[object Array]"; + }; + } + if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { + ArrayBuffer.isView = function(obj) { + return typeof obj === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer; + }; + } + var createOutputMethod = function(bits2, padding, outputType) { + return function(message) { + return new Keccak(bits2, padding, bits2).update(message)[outputType](); + }; + }; + var createShakeOutputMethod = function(bits2, padding, outputType) { + return function(message, outputBits) { + return new Keccak(bits2, padding, outputBits).update(message)[outputType](); + }; + }; + var createCshakeOutputMethod = function(bits2, padding, outputType) { + return function(message, outputBits, n, s2) { + return methods["cshake" + bits2].update(message, outputBits, n, s2)[outputType](); + }; + }; + var createKmacOutputMethod = function(bits2, padding, outputType) { + return function(key2, message, outputBits, s2) { + return methods["kmac" + bits2].update(key2, message, outputBits, s2)[outputType](); + }; + }; + var createOutputMethods = function(method, createMethod2, bits2, padding) { + for (var i2 = 0; i2 < OUTPUT_TYPES.length; ++i2) { + var type = OUTPUT_TYPES[i2]; + method[type] = createMethod2(bits2, padding, type); + } + return method; + }; + var createMethod = function(bits2, padding) { + var method = createOutputMethod(bits2, padding, "hex"); + method.create = function() { + return new Keccak(bits2, padding, bits2); + }; + method.update = function(message) { + return method.create().update(message); + }; + return createOutputMethods(method, createOutputMethod, bits2, padding); + }; + var createShakeMethod = function(bits2, padding) { + var method = createShakeOutputMethod(bits2, padding, "hex"); + method.create = function(outputBits) { + return new Keccak(bits2, padding, outputBits); + }; + method.update = function(message, outputBits) { + return method.create(outputBits).update(message); + }; + return createOutputMethods(method, createShakeOutputMethod, bits2, padding); + }; + var createCshakeMethod = function(bits2, padding) { + var w2 = CSHAKE_BYTEPAD[bits2]; + var method = createCshakeOutputMethod(bits2, padding, "hex"); + method.create = function(outputBits, n, s2) { + if (!n && !s2) { + return methods["shake" + bits2].create(outputBits); + } else { + return new Keccak(bits2, padding, outputBits).bytepad([n, s2], w2); + } + }; + method.update = function(message, outputBits, n, s2) { + return method.create(outputBits, n, s2).update(message); + }; + return createOutputMethods(method, createCshakeOutputMethod, bits2, padding); + }; + var createKmacMethod = function(bits2, padding) { + var w2 = CSHAKE_BYTEPAD[bits2]; + var method = createKmacOutputMethod(bits2, padding, "hex"); + method.create = function(key2, outputBits, s2) { + return new Kmac(bits2, padding, outputBits).bytepad(["KMAC", s2], w2).bytepad([key2], w2); + }; + method.update = function(key2, message, outputBits, s2) { + return method.create(key2, outputBits, s2).update(message); + }; + return createOutputMethods(method, createKmacOutputMethod, bits2, padding); + }; + var algorithms = [ + { name: "keccak", padding: KECCAK_PADDING, bits: BITS, createMethod }, + { name: "sha3", padding: PADDING, bits: BITS, createMethod }, + { name: "shake", padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod }, + { name: "cshake", padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod }, + { name: "kmac", padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod } + ]; + var methods = {}, methodNames = []; + for (var i = 0; i < algorithms.length; ++i) { + var algorithm = algorithms[i]; + var bits = algorithm.bits; + for (var j2 = 0; j2 < bits.length; ++j2) { + var methodName = algorithm.name + "_" + bits[j2]; + methodNames.push(methodName); + methods[methodName] = algorithm.createMethod(bits[j2], algorithm.padding); + if (algorithm.name !== "sha3") { + var newMethodName = algorithm.name + bits[j2]; + methodNames.push(newMethodName); + methods[newMethodName] = methods[methodName]; + } + } + } + function Keccak(bits2, padding, outputBits) { + this.blocks = []; + this.s = []; + this.padding = padding; + this.outputBits = outputBits; + this.reset = true; + this.finalized = false; + this.block = 0; + this.start = 0; + this.blockCount = 1600 - (bits2 << 1) >> 5; + this.byteCount = this.blockCount << 2; + this.outputBlocks = outputBits >> 5; + this.extraBytes = (outputBits & 31) >> 3; + for (var i2 = 0; i2 < 50; ++i2) { + this.s[i2] = 0; + } + } + Keccak.prototype.update = function(message) { + if (this.finalized) { + throw new Error(FINALIZE_ERROR); + } + var notString, type = typeof message; + if (type !== "string") { + if (type === "object") { + if (message === null) { + throw new Error(INPUT_ERROR); + } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { + message = new Uint8Array(message); + } else if (!Array.isArray(message)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { + throw new Error(INPUT_ERROR); + } + } + } else { + throw new Error(INPUT_ERROR); + } + notString = true; + } + var blocks = this.blocks, byteCount = this.byteCount, length = message.length, blockCount = this.blockCount, index = 0, s2 = this.s, i2, code; + while (index < length) { + if (this.reset) { + this.reset = false; + blocks[0] = this.block; + for (i2 = 1; i2 < blockCount + 1; ++i2) { + blocks[i2] = 0; + } + } + if (notString) { + for (i2 = this.start; index < length && i2 < byteCount; ++index) { + blocks[i2 >> 2] |= message[index] << SHIFT[i2++ & 3]; + } + } else { + for (i2 = this.start; index < length && i2 < byteCount; ++index) { + code = message.charCodeAt(index); + if (code < 128) { + blocks[i2 >> 2] |= code << SHIFT[i2++ & 3]; + } else if (code < 2048) { + blocks[i2 >> 2] |= (192 | code >> 6) << SHIFT[i2++ & 3]; + blocks[i2 >> 2] |= (128 | code & 63) << SHIFT[i2++ & 3]; + } else if (code < 55296 || code >= 57344) { + blocks[i2 >> 2] |= (224 | code >> 12) << SHIFT[i2++ & 3]; + blocks[i2 >> 2] |= (128 | code >> 6 & 63) << SHIFT[i2++ & 3]; + blocks[i2 >> 2] |= (128 | code & 63) << SHIFT[i2++ & 3]; + } else { + code = 65536 + ((code & 1023) << 10 | message.charCodeAt(++index) & 1023); + blocks[i2 >> 2] |= (240 | code >> 18) << SHIFT[i2++ & 3]; + blocks[i2 >> 2] |= (128 | code >> 12 & 63) << SHIFT[i2++ & 3]; + blocks[i2 >> 2] |= (128 | code >> 6 & 63) << SHIFT[i2++ & 3]; + blocks[i2 >> 2] |= (128 | code & 63) << SHIFT[i2++ & 3]; + } + } + } + this.lastByteIndex = i2; + if (i2 >= byteCount) { + this.start = i2 - byteCount; + this.block = blocks[blockCount]; + for (i2 = 0; i2 < blockCount; ++i2) { + s2[i2] ^= blocks[i2]; + } + f2(s2); + this.reset = true; + } else { + this.start = i2; + } + } + return this; + }; + Keccak.prototype.encode = function(x2, right) { + var o2 = x2 & 255, n = 1; + var bytes = [o2]; + x2 = x2 >> 8; + o2 = x2 & 255; + while (o2 > 0) { + bytes.unshift(o2); + x2 = x2 >> 8; + o2 = x2 & 255; + ++n; + } + if (right) { + bytes.push(n); + } else { + bytes.unshift(n); + } + this.update(bytes); + return bytes.length; + }; + Keccak.prototype.encodeString = function(str) { + var notString, type = typeof str; + if (type !== "string") { + if (type === "object") { + if (str === null) { + throw new Error(INPUT_ERROR); + } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) { + str = new Uint8Array(str); + } else if (!Array.isArray(str)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) { + throw new Error(INPUT_ERROR); + } + } + } else { + throw new Error(INPUT_ERROR); + } + notString = true; + } + var bytes = 0, length = str.length; + if (notString) { + bytes = length; + } else { + for (var i2 = 0; i2 < str.length; ++i2) { + var code = str.charCodeAt(i2); + if (code < 128) { + bytes += 1; + } else if (code < 2048) { + bytes += 2; + } else if (code < 55296 || code >= 57344) { + bytes += 3; + } else { + code = 65536 + ((code & 1023) << 10 | str.charCodeAt(++i2) & 1023); + bytes += 4; + } + } + } + bytes += this.encode(bytes * 8); + this.update(str); + return bytes; + }; + Keccak.prototype.bytepad = function(strs, w2) { + var bytes = this.encode(w2); + for (var i2 = 0; i2 < strs.length; ++i2) { + bytes += this.encodeString(strs[i2]); + } + var paddingBytes = w2 - bytes % w2; + var zeros = []; + zeros.length = paddingBytes; + this.update(zeros); + return this; + }; + Keccak.prototype.finalize = function() { + if (this.finalized) { + return; + } + this.finalized = true; + var blocks = this.blocks, i2 = this.lastByteIndex, blockCount = this.blockCount, s2 = this.s; + blocks[i2 >> 2] |= this.padding[i2 & 3]; + if (this.lastByteIndex === this.byteCount) { + blocks[0] = blocks[blockCount]; + for (i2 = 1; i2 < blockCount + 1; ++i2) { + blocks[i2] = 0; + } + } + blocks[blockCount - 1] |= 2147483648; + for (i2 = 0; i2 < blockCount; ++i2) { + s2[i2] ^= blocks[i2]; + } + f2(s2); + }; + Keccak.prototype.toString = Keccak.prototype.hex = function() { + this.finalize(); + var blockCount = this.blockCount, s2 = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i2 = 0, j3 = 0; + var hex = "", block; + while (j3 < outputBlocks) { + for (i2 = 0; i2 < blockCount && j3 < outputBlocks; ++i2, ++j3) { + block = s2[i2]; + hex += HEX_CHARS[block >> 4 & 15] + HEX_CHARS[block & 15] + HEX_CHARS[block >> 12 & 15] + HEX_CHARS[block >> 8 & 15] + HEX_CHARS[block >> 20 & 15] + HEX_CHARS[block >> 16 & 15] + HEX_CHARS[block >> 28 & 15] + HEX_CHARS[block >> 24 & 15]; + } + if (j3 % blockCount === 0) { + f2(s2); + i2 = 0; + } + } + if (extraBytes) { + block = s2[i2]; + hex += HEX_CHARS[block >> 4 & 15] + HEX_CHARS[block & 15]; + if (extraBytes > 1) { + hex += HEX_CHARS[block >> 12 & 15] + HEX_CHARS[block >> 8 & 15]; + } + if (extraBytes > 2) { + hex += HEX_CHARS[block >> 20 & 15] + HEX_CHARS[block >> 16 & 15]; + } + } + return hex; + }; + Keccak.prototype.arrayBuffer = function() { + this.finalize(); + var blockCount = this.blockCount, s2 = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i2 = 0, j3 = 0; + var bytes = this.outputBits >> 3; + var buffer; + if (extraBytes) { + buffer = new ArrayBuffer(outputBlocks + 1 << 2); + } else { + buffer = new ArrayBuffer(bytes); + } + var array = new Uint32Array(buffer); + while (j3 < outputBlocks) { + for (i2 = 0; i2 < blockCount && j3 < outputBlocks; ++i2, ++j3) { + array[j3] = s2[i2]; + } + if (j3 % blockCount === 0) { + f2(s2); + } + } + if (extraBytes) { + array[i2] = s2[i2]; + buffer = buffer.slice(0, bytes); + } + return buffer; + }; + Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; + Keccak.prototype.digest = Keccak.prototype.array = function() { + this.finalize(); + var blockCount = this.blockCount, s2 = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i2 = 0, j3 = 0; + var array = [], offset, block; + while (j3 < outputBlocks) { + for (i2 = 0; i2 < blockCount && j3 < outputBlocks; ++i2, ++j3) { + offset = j3 << 2; + block = s2[i2]; + array[offset] = block & 255; + array[offset + 1] = block >> 8 & 255; + array[offset + 2] = block >> 16 & 255; + array[offset + 3] = block >> 24 & 255; + } + if (j3 % blockCount === 0) { + f2(s2); + } + } + if (extraBytes) { + offset = j3 << 2; + block = s2[i2]; + array[offset] = block & 255; + if (extraBytes > 1) { + array[offset + 1] = block >> 8 & 255; + } + if (extraBytes > 2) { + array[offset + 2] = block >> 16 & 255; + } + } + return array; + }; + function Kmac(bits2, padding, outputBits) { + Keccak.call(this, bits2, padding, outputBits); + } + Kmac.prototype = new Keccak(); + Kmac.prototype.finalize = function() { + this.encode(this.outputBits, true); + return Keccak.prototype.finalize.call(this); + }; + var f2 = function(s2) { + var h2, l2, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; + for (n = 0; n < 48; n += 2) { + c0 = s2[0] ^ s2[10] ^ s2[20] ^ s2[30] ^ s2[40]; + c1 = s2[1] ^ s2[11] ^ s2[21] ^ s2[31] ^ s2[41]; + c2 = s2[2] ^ s2[12] ^ s2[22] ^ s2[32] ^ s2[42]; + c3 = s2[3] ^ s2[13] ^ s2[23] ^ s2[33] ^ s2[43]; + c4 = s2[4] ^ s2[14] ^ s2[24] ^ s2[34] ^ s2[44]; + c5 = s2[5] ^ s2[15] ^ s2[25] ^ s2[35] ^ s2[45]; + c6 = s2[6] ^ s2[16] ^ s2[26] ^ s2[36] ^ s2[46]; + c7 = s2[7] ^ s2[17] ^ s2[27] ^ s2[37] ^ s2[47]; + c8 = s2[8] ^ s2[18] ^ s2[28] ^ s2[38] ^ s2[48]; + c9 = s2[9] ^ s2[19] ^ s2[29] ^ s2[39] ^ s2[49]; + h2 = c8 ^ (c2 << 1 | c3 >>> 31); + l2 = c9 ^ (c3 << 1 | c2 >>> 31); + s2[0] ^= h2; + s2[1] ^= l2; + s2[10] ^= h2; + s2[11] ^= l2; + s2[20] ^= h2; + s2[21] ^= l2; + s2[30] ^= h2; + s2[31] ^= l2; + s2[40] ^= h2; + s2[41] ^= l2; + h2 = c0 ^ (c4 << 1 | c5 >>> 31); + l2 = c1 ^ (c5 << 1 | c4 >>> 31); + s2[2] ^= h2; + s2[3] ^= l2; + s2[12] ^= h2; + s2[13] ^= l2; + s2[22] ^= h2; + s2[23] ^= l2; + s2[32] ^= h2; + s2[33] ^= l2; + s2[42] ^= h2; + s2[43] ^= l2; + h2 = c2 ^ (c6 << 1 | c7 >>> 31); + l2 = c3 ^ (c7 << 1 | c6 >>> 31); + s2[4] ^= h2; + s2[5] ^= l2; + s2[14] ^= h2; + s2[15] ^= l2; + s2[24] ^= h2; + s2[25] ^= l2; + s2[34] ^= h2; + s2[35] ^= l2; + s2[44] ^= h2; + s2[45] ^= l2; + h2 = c4 ^ (c8 << 1 | c9 >>> 31); + l2 = c5 ^ (c9 << 1 | c8 >>> 31); + s2[6] ^= h2; + s2[7] ^= l2; + s2[16] ^= h2; + s2[17] ^= l2; + s2[26] ^= h2; + s2[27] ^= l2; + s2[36] ^= h2; + s2[37] ^= l2; + s2[46] ^= h2; + s2[47] ^= l2; + h2 = c6 ^ (c0 << 1 | c1 >>> 31); + l2 = c7 ^ (c1 << 1 | c0 >>> 31); + s2[8] ^= h2; + s2[9] ^= l2; + s2[18] ^= h2; + s2[19] ^= l2; + s2[28] ^= h2; + s2[29] ^= l2; + s2[38] ^= h2; + s2[39] ^= l2; + s2[48] ^= h2; + s2[49] ^= l2; + b0 = s2[0]; + b1 = s2[1]; + b32 = s2[11] << 4 | s2[10] >>> 28; + b33 = s2[10] << 4 | s2[11] >>> 28; + b14 = s2[20] << 3 | s2[21] >>> 29; + b15 = s2[21] << 3 | s2[20] >>> 29; + b46 = s2[31] << 9 | s2[30] >>> 23; + b47 = s2[30] << 9 | s2[31] >>> 23; + b28 = s2[40] << 18 | s2[41] >>> 14; + b29 = s2[41] << 18 | s2[40] >>> 14; + b20 = s2[2] << 1 | s2[3] >>> 31; + b21 = s2[3] << 1 | s2[2] >>> 31; + b2 = s2[13] << 12 | s2[12] >>> 20; + b3 = s2[12] << 12 | s2[13] >>> 20; + b34 = s2[22] << 10 | s2[23] >>> 22; + b35 = s2[23] << 10 | s2[22] >>> 22; + b16 = s2[33] << 13 | s2[32] >>> 19; + b17 = s2[32] << 13 | s2[33] >>> 19; + b48 = s2[42] << 2 | s2[43] >>> 30; + b49 = s2[43] << 2 | s2[42] >>> 30; + b40 = s2[5] << 30 | s2[4] >>> 2; + b41 = s2[4] << 30 | s2[5] >>> 2; + b22 = s2[14] << 6 | s2[15] >>> 26; + b23 = s2[15] << 6 | s2[14] >>> 26; + b4 = s2[25] << 11 | s2[24] >>> 21; + b5 = s2[24] << 11 | s2[25] >>> 21; + b36 = s2[34] << 15 | s2[35] >>> 17; + b37 = s2[35] << 15 | s2[34] >>> 17; + b18 = s2[45] << 29 | s2[44] >>> 3; + b19 = s2[44] << 29 | s2[45] >>> 3; + b10 = s2[6] << 28 | s2[7] >>> 4; + b11 = s2[7] << 28 | s2[6] >>> 4; + b42 = s2[17] << 23 | s2[16] >>> 9; + b43 = s2[16] << 23 | s2[17] >>> 9; + b24 = s2[26] << 25 | s2[27] >>> 7; + b25 = s2[27] << 25 | s2[26] >>> 7; + b6 = s2[36] << 21 | s2[37] >>> 11; + b7 = s2[37] << 21 | s2[36] >>> 11; + b38 = s2[47] << 24 | s2[46] >>> 8; + b39 = s2[46] << 24 | s2[47] >>> 8; + b30 = s2[8] << 27 | s2[9] >>> 5; + b31 = s2[9] << 27 | s2[8] >>> 5; + b12 = s2[18] << 20 | s2[19] >>> 12; + b13 = s2[19] << 20 | s2[18] >>> 12; + b44 = s2[29] << 7 | s2[28] >>> 25; + b45 = s2[28] << 7 | s2[29] >>> 25; + b26 = s2[38] << 8 | s2[39] >>> 24; + b27 = s2[39] << 8 | s2[38] >>> 24; + b8 = s2[48] << 14 | s2[49] >>> 18; + b9 = s2[49] << 14 | s2[48] >>> 18; + s2[0] = b0 ^ ~b2 & b4; + s2[1] = b1 ^ ~b3 & b5; + s2[10] = b10 ^ ~b12 & b14; + s2[11] = b11 ^ ~b13 & b15; + s2[20] = b20 ^ ~b22 & b24; + s2[21] = b21 ^ ~b23 & b25; + s2[30] = b30 ^ ~b32 & b34; + s2[31] = b31 ^ ~b33 & b35; + s2[40] = b40 ^ ~b42 & b44; + s2[41] = b41 ^ ~b43 & b45; + s2[2] = b2 ^ ~b4 & b6; + s2[3] = b3 ^ ~b5 & b7; + s2[12] = b12 ^ ~b14 & b16; + s2[13] = b13 ^ ~b15 & b17; + s2[22] = b22 ^ ~b24 & b26; + s2[23] = b23 ^ ~b25 & b27; + s2[32] = b32 ^ ~b34 & b36; + s2[33] = b33 ^ ~b35 & b37; + s2[42] = b42 ^ ~b44 & b46; + s2[43] = b43 ^ ~b45 & b47; + s2[4] = b4 ^ ~b6 & b8; + s2[5] = b5 ^ ~b7 & b9; + s2[14] = b14 ^ ~b16 & b18; + s2[15] = b15 ^ ~b17 & b19; + s2[24] = b24 ^ ~b26 & b28; + s2[25] = b25 ^ ~b27 & b29; + s2[34] = b34 ^ ~b36 & b38; + s2[35] = b35 ^ ~b37 & b39; + s2[44] = b44 ^ ~b46 & b48; + s2[45] = b45 ^ ~b47 & b49; + s2[6] = b6 ^ ~b8 & b0; + s2[7] = b7 ^ ~b9 & b1; + s2[16] = b16 ^ ~b18 & b10; + s2[17] = b17 ^ ~b19 & b11; + s2[26] = b26 ^ ~b28 & b20; + s2[27] = b27 ^ ~b29 & b21; + s2[36] = b36 ^ ~b38 & b30; + s2[37] = b37 ^ ~b39 & b31; + s2[46] = b46 ^ ~b48 & b40; + s2[47] = b47 ^ ~b49 & b41; + s2[8] = b8 ^ ~b0 & b2; + s2[9] = b9 ^ ~b1 & b3; + s2[18] = b18 ^ ~b10 & b12; + s2[19] = b19 ^ ~b11 & b13; + s2[28] = b28 ^ ~b20 & b22; + s2[29] = b29 ^ ~b21 & b23; + s2[38] = b38 ^ ~b30 & b32; + s2[39] = b39 ^ ~b31 & b33; + s2[48] = b48 ^ ~b40 & b42; + s2[49] = b49 ^ ~b41 & b43; + s2[0] ^= RC[n]; + s2[1] ^= RC[n + 1]; + } + }; + if (COMMON_JS) { + module.exports = methods; + } else { + for (i = 0; i < methodNames.length; ++i) { + root[methodNames[i]] = methods[methodNames[i]]; + } + } + })(); +})(sha3$1); +var sha3Exports = sha3$1.exports; +const sha3 = /* @__PURE__ */ getDefaultExportFromCjs(sha3Exports); +const version$4 = "logger/5.7.0"; +let _permanentCensorErrors = false; +let _censorErrors = false; +const LogLevels = { debug: 1, "default": 2, info: 2, warning: 3, error: 4, off: 5 }; +let _logLevel = LogLevels["default"]; +let _globalLogger = null; +function _checkNormalize() { + try { + const missing = []; + ["NFD", "NFC", "NFKD", "NFKC"].forEach((form) => { + try { + if ("test".normalize(form) !== "test") { + throw new Error("bad normalize"); + } + ; + } catch (error) { + missing.push(form); + } + }); + if (missing.length) { + throw new Error("missing " + missing.join(", ")); + } + if (String.fromCharCode(233).normalize("NFD") !== String.fromCharCode(101, 769)) { + throw new Error("broken implementation"); + } + } catch (error) { + return error.message; + } + return null; +} +const _normalizeError = _checkNormalize(); +var LogLevel; +(function(LogLevel2) { + LogLevel2["DEBUG"] = "DEBUG"; + LogLevel2["INFO"] = "INFO"; + LogLevel2["WARNING"] = "WARNING"; + LogLevel2["ERROR"] = "ERROR"; + LogLevel2["OFF"] = "OFF"; +})(LogLevel || (LogLevel = {})); +var ErrorCode; +(function(ErrorCode2) { + ErrorCode2["UNKNOWN_ERROR"] = "UNKNOWN_ERROR"; + ErrorCode2["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED"; + ErrorCode2["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION"; + ErrorCode2["NETWORK_ERROR"] = "NETWORK_ERROR"; + ErrorCode2["SERVER_ERROR"] = "SERVER_ERROR"; + ErrorCode2["TIMEOUT"] = "TIMEOUT"; + ErrorCode2["BUFFER_OVERRUN"] = "BUFFER_OVERRUN"; + ErrorCode2["NUMERIC_FAULT"] = "NUMERIC_FAULT"; + ErrorCode2["MISSING_NEW"] = "MISSING_NEW"; + ErrorCode2["INVALID_ARGUMENT"] = "INVALID_ARGUMENT"; + ErrorCode2["MISSING_ARGUMENT"] = "MISSING_ARGUMENT"; + ErrorCode2["UNEXPECTED_ARGUMENT"] = "UNEXPECTED_ARGUMENT"; + ErrorCode2["CALL_EXCEPTION"] = "CALL_EXCEPTION"; + ErrorCode2["INSUFFICIENT_FUNDS"] = "INSUFFICIENT_FUNDS"; + ErrorCode2["NONCE_EXPIRED"] = "NONCE_EXPIRED"; + ErrorCode2["REPLACEMENT_UNDERPRICED"] = "REPLACEMENT_UNDERPRICED"; + ErrorCode2["UNPREDICTABLE_GAS_LIMIT"] = "UNPREDICTABLE_GAS_LIMIT"; + ErrorCode2["TRANSACTION_REPLACED"] = "TRANSACTION_REPLACED"; + ErrorCode2["ACTION_REJECTED"] = "ACTION_REJECTED"; +})(ErrorCode || (ErrorCode = {})); +const HEX = "0123456789abcdef"; +class Logger { + constructor(version2) { + Object.defineProperty(this, "version", { + enumerable: true, + value: version2, + writable: false + }); + } + _log(logLevel, args) { + const level = logLevel.toLowerCase(); + if (LogLevels[level] == null) { + this.throwArgumentError("invalid log level name", "logLevel", logLevel); + } + if (_logLevel > LogLevels[level]) { + return; + } + console.log.apply(console, args); + } + debug(...args) { + this._log(Logger.levels.DEBUG, args); + } + info(...args) { + this._log(Logger.levels.INFO, args); + } + warn(...args) { + this._log(Logger.levels.WARNING, args); + } + makeError(message, code, params) { + if (_censorErrors) { + return this.makeError("censored error", code, {}); + } + if (!code) { + code = Logger.errors.UNKNOWN_ERROR; + } + if (!params) { + params = {}; + } + const messageDetails = []; + Object.keys(params).forEach((key2) => { + const value = params[key2]; + try { + if (value instanceof Uint8Array) { + let hex = ""; + for (let i = 0; i < value.length; i++) { + hex += HEX[value[i] >> 4]; + hex += HEX[value[i] & 15]; + } + messageDetails.push(key2 + "=Uint8Array(0x" + hex + ")"); + } else { + messageDetails.push(key2 + "=" + JSON.stringify(value)); + } + } catch (error2) { + messageDetails.push(key2 + "=" + JSON.stringify(params[key2].toString())); + } + }); + messageDetails.push(`code=${code}`); + messageDetails.push(`version=${this.version}`); + const reason = message; + let url = ""; + switch (code) { + case ErrorCode.NUMERIC_FAULT: { + url = "NUMERIC_FAULT"; + const fault = message; + switch (fault) { + case "overflow": + case "underflow": + case "division-by-zero": + url += "-" + fault; + break; + case "negative-power": + case "negative-width": + url += "-unsupported"; + break; + case "unbound-bitwise-result": + url += "-unbound-result"; + break; + } + break; + } + case ErrorCode.CALL_EXCEPTION: + case ErrorCode.INSUFFICIENT_FUNDS: + case ErrorCode.MISSING_NEW: + case ErrorCode.NONCE_EXPIRED: + case ErrorCode.REPLACEMENT_UNDERPRICED: + case ErrorCode.TRANSACTION_REPLACED: + case ErrorCode.UNPREDICTABLE_GAS_LIMIT: + url = code; + break; + } + if (url) { + message += " [ See: https://links.ethers.org/v5-errors-" + url + " ]"; + } + if (messageDetails.length) { + message += " (" + messageDetails.join(", ") + ")"; + } + const error = new Error(message); + error.reason = reason; + error.code = code; + Object.keys(params).forEach(function(key2) { + error[key2] = params[key2]; + }); + return error; + } + throwError(message, code, params) { + throw this.makeError(message, code, params); + } + throwArgumentError(message, name, value) { + return this.throwError(message, Logger.errors.INVALID_ARGUMENT, { + argument: name, + value + }); + } + assert(condition, message, code, params) { + if (!!condition) { + return; + } + this.throwError(message, code, params); + } + assertArgument(condition, message, name, value) { + if (!!condition) { + return; + } + this.throwArgumentError(message, name, value); + } + checkNormalize(message) { + if (_normalizeError) { + this.throwError("platform missing String.prototype.normalize", Logger.errors.UNSUPPORTED_OPERATION, { + operation: "String.prototype.normalize", + form: _normalizeError + }); + } + } + checkSafeUint53(value, message) { + if (typeof value !== "number") { + return; + } + if (message == null) { + message = "value not safe"; + } + if (value < 0 || value >= 9007199254740991) { + this.throwError(message, Logger.errors.NUMERIC_FAULT, { + operation: "checkSafeInteger", + fault: "out-of-safe-range", + value + }); + } + if (value % 1) { + this.throwError(message, Logger.errors.NUMERIC_FAULT, { + operation: "checkSafeInteger", + fault: "non-integer", + value + }); + } + } + checkArgumentCount(count, expectedCount, message) { + if (message) { + message = ": " + message; + } else { + message = ""; + } + if (count < expectedCount) { + this.throwError("missing argument" + message, Logger.errors.MISSING_ARGUMENT, { + count, + expectedCount + }); + } + if (count > expectedCount) { + this.throwError("too many arguments" + message, Logger.errors.UNEXPECTED_ARGUMENT, { + count, + expectedCount + }); + } + } + checkNew(target, kind) { + if (target === Object || target == null) { + this.throwError("missing new", Logger.errors.MISSING_NEW, { name: kind.name }); + } + } + checkAbstract(target, kind) { + if (target === kind) { + this.throwError("cannot instantiate abstract class " + JSON.stringify(kind.name) + " directly; use a sub-class", Logger.errors.UNSUPPORTED_OPERATION, { name: target.name, operation: "new" }); + } else if (target === Object || target == null) { + this.throwError("missing new", Logger.errors.MISSING_NEW, { name: kind.name }); + } + } + static globalLogger() { + if (!_globalLogger) { + _globalLogger = new Logger(version$4); + } + return _globalLogger; + } + static setCensorship(censorship, permanent) { + if (!censorship && permanent) { + this.globalLogger().throwError("cannot permanently disable censorship", Logger.errors.UNSUPPORTED_OPERATION, { + operation: "setCensorship" + }); + } + if (_permanentCensorErrors) { + if (!censorship) { + return; + } + this.globalLogger().throwError("error censorship permanent", Logger.errors.UNSUPPORTED_OPERATION, { + operation: "setCensorship" + }); + } + _censorErrors = !!censorship; + _permanentCensorErrors = !!permanent; + } + static setLogLevel(logLevel) { + const level = LogLevels[logLevel.toLowerCase()]; + if (level == null) { + Logger.globalLogger().warn("invalid log level - " + logLevel); + return; + } + _logLevel = level; + } + static from(version2) { + return new Logger(version2); + } +} +Logger.errors = ErrorCode; +Logger.levels = LogLevel; +const version$3 = "bytes/5.7.0"; +const logger$3 = new Logger(version$3); +function isHexable(value) { + return !!value.toHexString; +} +function addSlice(array) { + if (array.slice) { + return array; + } + array.slice = function() { + const args = Array.prototype.slice.call(arguments); + return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args))); + }; + return array; +} +function isBytesLike(value) { + return isHexString(value) && !(value.length % 2) || isBytes(value); +} +function isInteger(value) { + return typeof value === "number" && value == value && value % 1 === 0; +} +function isBytes(value) { + if (value == null) { + return false; + } + if (value.constructor === Uint8Array) { + return true; + } + if (typeof value === "string") { + return false; + } + if (!isInteger(value.length) || value.length < 0) { + return false; + } + for (let i = 0; i < value.length; i++) { + const v2 = value[i]; + if (!isInteger(v2) || v2 < 0 || v2 >= 256) { + return false; + } + } + return true; +} +function arrayify(value, options) { + if (!options) { + options = {}; + } + if (typeof value === "number") { + logger$3.checkSafeUint53(value, "invalid arrayify value"); + const result = []; + while (value) { + result.unshift(value & 255); + value = parseInt(String(value / 256)); + } + if (result.length === 0) { + result.push(0); + } + return addSlice(new Uint8Array(result)); + } + if (options.allowMissingPrefix && typeof value === "string" && value.substring(0, 2) !== "0x") { + value = "0x" + value; + } + if (isHexable(value)) { + value = value.toHexString(); + } + if (isHexString(value)) { + let hex = value.substring(2); + if (hex.length % 2) { + if (options.hexPad === "left") { + hex = "0" + hex; + } else if (options.hexPad === "right") { + hex += "0"; + } else { + logger$3.throwArgumentError("hex data is odd-length", "value", value); + } + } + const result = []; + for (let i = 0; i < hex.length; i += 2) { + result.push(parseInt(hex.substring(i, i + 2), 16)); + } + return addSlice(new Uint8Array(result)); + } + if (isBytes(value)) { + return addSlice(new Uint8Array(value)); + } + return logger$3.throwArgumentError("invalid arrayify value", "value", value); +} +function concat(items) { + const objects = items.map((item) => arrayify(item)); + const length = objects.reduce((accum, item) => accum + item.length, 0); + const result = new Uint8Array(length); + objects.reduce((offset, object) => { + result.set(object, offset); + return offset + object.length; + }, 0); + return addSlice(result); +} +function zeroPad(value, length) { + value = arrayify(value); + if (value.length > length) { + logger$3.throwArgumentError("value out of range", "value", arguments[0]); + } + const result = new Uint8Array(length); + result.set(value, length - value.length); + return addSlice(result); +} +function isHexString(value, length) { + if (typeof value !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) { + return false; + } + if (length && value.length !== 2 + 2 * length) { + return false; + } + return true; +} +const HexCharacters = "0123456789abcdef"; +function hexlify(value, options) { + if (!options) { + options = {}; + } + if (typeof value === "number") { + logger$3.checkSafeUint53(value, "invalid hexlify value"); + let hex = ""; + while (value) { + hex = HexCharacters[value & 15] + hex; + value = Math.floor(value / 16); + } + if (hex.length) { + if (hex.length % 2) { + hex = "0" + hex; + } + return "0x" + hex; + } + return "0x00"; + } + if (typeof value === "bigint") { + value = value.toString(16); + if (value.length % 2) { + return "0x0" + value; + } + return "0x" + value; + } + if (options.allowMissingPrefix && typeof value === "string" && value.substring(0, 2) !== "0x") { + value = "0x" + value; + } + if (isHexable(value)) { + return value.toHexString(); + } + if (isHexString(value)) { + if (value.length % 2) { + if (options.hexPad === "left") { + value = "0x0" + value.substring(2); + } else if (options.hexPad === "right") { + value += "0"; + } else { + logger$3.throwArgumentError("hex data is odd-length", "value", value); + } + } + return value.toLowerCase(); + } + if (isBytes(value)) { + let result = "0x"; + for (let i = 0; i < value.length; i++) { + let v2 = value[i]; + result += HexCharacters[(v2 & 240) >> 4] + HexCharacters[v2 & 15]; + } + return result; + } + return logger$3.throwArgumentError("invalid hexlify value", "value", value); +} +function hexDataLength(data) { + if (typeof data !== "string") { + data = hexlify(data); + } else if (!isHexString(data) || data.length % 2) { + return null; + } + return (data.length - 2) / 2; +} +function hexDataSlice(data, offset, endOffset) { + if (typeof data !== "string") { + data = hexlify(data); + } else if (!isHexString(data) || data.length % 2) { + logger$3.throwArgumentError("invalid hexData", "value", data); + } + offset = 2 + 2 * offset; + if (endOffset != null) { + return "0x" + data.substring(offset, 2 + 2 * endOffset); + } + return "0x" + data.substring(offset); +} +function hexZeroPad(value, length) { + if (typeof value !== "string") { + value = hexlify(value); + } else if (!isHexString(value)) { + logger$3.throwArgumentError("invalid hex string", "value", value); + } + if (value.length > 2 * length + 2) { + logger$3.throwArgumentError("value out of range", "value", arguments[1]); + } + while (value.length < 2 * length + 2) { + value = "0x0" + value.substring(2); + } + return value; +} +function splitSignature(signature2) { + const result = { + r: "0x", + s: "0x", + _vs: "0x", + recoveryParam: 0, + v: 0, + yParityAndS: "0x", + compact: "0x" + }; + if (isBytesLike(signature2)) { + let bytes = arrayify(signature2); + if (bytes.length === 64) { + result.v = 27 + (bytes[32] >> 7); + bytes[32] &= 127; + result.r = hexlify(bytes.slice(0, 32)); + result.s = hexlify(bytes.slice(32, 64)); + } else if (bytes.length === 65) { + result.r = hexlify(bytes.slice(0, 32)); + result.s = hexlify(bytes.slice(32, 64)); + result.v = bytes[64]; + } else { + logger$3.throwArgumentError("invalid signature string", "signature", signature2); + } + if (result.v < 27) { + if (result.v === 0 || result.v === 1) { + result.v += 27; + } else { + logger$3.throwArgumentError("signature invalid v byte", "signature", signature2); + } + } + result.recoveryParam = 1 - result.v % 2; + if (result.recoveryParam) { + bytes[32] |= 128; + } + result._vs = hexlify(bytes.slice(32, 64)); + } else { + result.r = signature2.r; + result.s = signature2.s; + result.v = signature2.v; + result.recoveryParam = signature2.recoveryParam; + result._vs = signature2._vs; + if (result._vs != null) { + const vs2 = zeroPad(arrayify(result._vs), 32); + result._vs = hexlify(vs2); + const recoveryParam = vs2[0] >= 128 ? 1 : 0; + if (result.recoveryParam == null) { + result.recoveryParam = recoveryParam; + } else if (result.recoveryParam !== recoveryParam) { + logger$3.throwArgumentError("signature recoveryParam mismatch _vs", "signature", signature2); + } + vs2[0] &= 127; + const s2 = hexlify(vs2); + if (result.s == null) { + result.s = s2; + } else if (result.s !== s2) { + logger$3.throwArgumentError("signature v mismatch _vs", "signature", signature2); + } + } + if (result.recoveryParam == null) { + if (result.v == null) { + logger$3.throwArgumentError("signature missing v and recoveryParam", "signature", signature2); + } else if (result.v === 0 || result.v === 1) { + result.recoveryParam = result.v; + } else { + result.recoveryParam = 1 - result.v % 2; + } + } else { + if (result.v == null) { + result.v = 27 + result.recoveryParam; + } else { + const recId = result.v === 0 || result.v === 1 ? result.v : 1 - result.v % 2; + if (result.recoveryParam !== recId) { + logger$3.throwArgumentError("signature recoveryParam mismatch v", "signature", signature2); + } + } + } + if (result.r == null || !isHexString(result.r)) { + logger$3.throwArgumentError("signature missing or invalid r", "signature", signature2); + } else { + result.r = hexZeroPad(result.r, 32); + } + if (result.s == null || !isHexString(result.s)) { + logger$3.throwArgumentError("signature missing or invalid s", "signature", signature2); + } else { + result.s = hexZeroPad(result.s, 32); + } + const vs = arrayify(result.s); + if (vs[0] >= 128) { + logger$3.throwArgumentError("signature s out of range", "signature", signature2); + } + if (result.recoveryParam) { + vs[0] |= 128; + } + const _vs = hexlify(vs); + if (result._vs) { + if (!isHexString(result._vs)) { + logger$3.throwArgumentError("signature invalid _vs", "signature", signature2); + } + result._vs = hexZeroPad(result._vs, 32); + } + if (result._vs == null) { + result._vs = _vs; + } else if (result._vs !== _vs) { + logger$3.throwArgumentError("signature _vs mismatch v and s", "signature", signature2); + } + } + result.yParityAndS = result._vs; + result.compact = result.r + result.yParityAndS.substring(2); + return result; +} +function keccak256(data) { + return "0x" + sha3.keccak_256(arrayify(data)); +} +var bn = { exports: {} }; +bn.exports; +(function(module) { + (function(module2, exports) { + function assert2(val, msg) { + if (!val) + throw new Error(msg || "Assertion failed"); + } + function inherits2(ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + function BN2(number, base2, endian) { + if (BN2.isBN(number)) { + return number; + } + this.negative = 0; + this.words = null; + this.length = 0; + this.red = null; + if (number !== null) { + if (base2 === "le" || base2 === "be") { + endian = base2; + base2 = 10; + } + this._init(number || 0, base2 || 10, endian || "be"); + } + } + if (typeof module2 === "object") { + module2.exports = BN2; + } else { + exports.BN = BN2; + } + BN2.BN = BN2; + BN2.wordSize = 26; + var Buffer; + try { + if (typeof window !== "undefined" && typeof window.Buffer !== "undefined") { + Buffer = window.Buffer; + } else { + Buffer = require$$0$1.Buffer; + } + } catch (e) { + } + BN2.isBN = function isBN(num) { + if (num instanceof BN2) { + return true; + } + return num !== null && typeof num === "object" && num.constructor.wordSize === BN2.wordSize && Array.isArray(num.words); + }; + BN2.max = function max(left, right) { + if (left.cmp(right) > 0) + return left; + return right; + }; + BN2.min = function min(left, right) { + if (left.cmp(right) < 0) + return left; + return right; + }; + BN2.prototype._init = function init3(number, base2, endian) { + if (typeof number === "number") { + return this._initNumber(number, base2, endian); + } + if (typeof number === "object") { + return this._initArray(number, base2, endian); + } + if (base2 === "hex") { + base2 = 16; + } + assert2(base2 === (base2 | 0) && base2 >= 2 && base2 <= 36); + number = number.toString().replace(/\s+/g, ""); + var start = 0; + if (number[0] === "-") { + start++; + this.negative = 1; + } + if (start < number.length) { + if (base2 === 16) { + this._parseHex(number, start, endian); + } else { + this._parseBase(number, base2, start); + if (endian === "le") { + this._initArray(this.toArray(), base2, endian); + } + } + } + }; + BN2.prototype._initNumber = function _initNumber(number, base2, endian) { + if (number < 0) { + this.negative = 1; + number = -number; + } + if (number < 67108864) { + this.words = [number & 67108863]; + this.length = 1; + } else if (number < 4503599627370496) { + this.words = [ + number & 67108863, + number / 67108864 & 67108863 + ]; + this.length = 2; + } else { + assert2(number < 9007199254740992); + this.words = [ + number & 67108863, + number / 67108864 & 67108863, + 1 + ]; + this.length = 3; + } + if (endian !== "le") + return; + this._initArray(this.toArray(), base2, endian); + }; + BN2.prototype._initArray = function _initArray(number, base2, endian) { + assert2(typeof number.length === "number"); + if (number.length <= 0) { + this.words = [0]; + this.length = 1; + return this; + } + this.length = Math.ceil(number.length / 3); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + var j2, w2; + var off = 0; + if (endian === "be") { + for (i = number.length - 1, j2 = 0; i >= 0; i -= 3) { + w2 = number[i] | number[i - 1] << 8 | number[i - 2] << 16; + this.words[j2] |= w2 << off & 67108863; + this.words[j2 + 1] = w2 >>> 26 - off & 67108863; + off += 24; + if (off >= 26) { + off -= 26; + j2++; + } + } + } else if (endian === "le") { + for (i = 0, j2 = 0; i < number.length; i += 3) { + w2 = number[i] | number[i + 1] << 8 | number[i + 2] << 16; + this.words[j2] |= w2 << off & 67108863; + this.words[j2 + 1] = w2 >>> 26 - off & 67108863; + off += 24; + if (off >= 26) { + off -= 26; + j2++; + } + } + } + return this._strip(); + }; + function parseHex4Bits(string, index) { + var c = string.charCodeAt(index); + if (c >= 48 && c <= 57) { + return c - 48; + } else if (c >= 65 && c <= 70) { + return c - 55; + } else if (c >= 97 && c <= 102) { + return c - 87; + } else { + assert2(false, "Invalid character in " + string); + } + } + function parseHexByte(string, lowerBound, index) { + var r2 = parseHex4Bits(string, index); + if (index - 1 >= lowerBound) { + r2 |= parseHex4Bits(string, index - 1) << 4; + } + return r2; + } + BN2.prototype._parseHex = function _parseHex(number, start, endian) { + this.length = Math.ceil((number.length - start) / 6); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + var off = 0; + var j2 = 0; + var w2; + if (endian === "be") { + for (i = number.length - 1; i >= start; i -= 2) { + w2 = parseHexByte(number, start, i) << off; + this.words[j2] |= w2 & 67108863; + if (off >= 18) { + off -= 18; + j2 += 1; + this.words[j2] |= w2 >>> 26; + } else { + off += 8; + } + } + } else { + var parseLength = number.length - start; + for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { + w2 = parseHexByte(number, start, i) << off; + this.words[j2] |= w2 & 67108863; + if (off >= 18) { + off -= 18; + j2 += 1; + this.words[j2] |= w2 >>> 26; + } else { + off += 8; + } + } + } + this._strip(); + }; + function parseBase(str, start, end, mul3) { + var r2 = 0; + var b2 = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + r2 *= mul3; + if (c >= 49) { + b2 = c - 49 + 10; + } else if (c >= 17) { + b2 = c - 17 + 10; + } else { + b2 = c; + } + assert2(c >= 0 && b2 < mul3, "Invalid character"); + r2 += b2; + } + return r2; + } + BN2.prototype._parseBase = function _parseBase(number, base2, start) { + this.words = [0]; + this.length = 1; + for (var limbLen = 0, limbPow = 1; limbPow <= 67108863; limbPow *= base2) { + limbLen++; + } + limbLen--; + limbPow = limbPow / base2 | 0; + var total = number.length - start; + var mod = total % limbLen; + var end = Math.min(total, total - mod) + start; + var word = 0; + for (var i = start; i < end; i += limbLen) { + word = parseBase(number, i, i + limbLen, base2); + this.imuln(limbPow); + if (this.words[0] + word < 67108864) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + if (mod !== 0) { + var pow = 1; + word = parseBase(number, i, number.length, base2); + for (i = 0; i < mod; i++) { + pow *= base2; + } + this.imuln(pow); + if (this.words[0] + word < 67108864) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + this._strip(); + }; + BN2.prototype.copy = function copy(dest) { + dest.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + dest.words[i] = this.words[i]; + } + dest.length = this.length; + dest.negative = this.negative; + dest.red = this.red; + }; + function move(dest, src) { + dest.words = src.words; + dest.length = src.length; + dest.negative = src.negative; + dest.red = src.red; + } + BN2.prototype._move = function _move(dest) { + move(dest, this); + }; + BN2.prototype.clone = function clone() { + var r2 = new BN2(null); + this.copy(r2); + return r2; + }; + BN2.prototype._expand = function _expand(size) { + while (this.length < size) { + this.words[this.length++] = 0; + } + return this; + }; + BN2.prototype._strip = function strip() { + while (this.length > 1 && this.words[this.length - 1] === 0) { + this.length--; + } + return this._normSign(); + }; + BN2.prototype._normSign = function _normSign() { + if (this.length === 1 && this.words[0] === 0) { + this.negative = 0; + } + return this; + }; + if (typeof Symbol !== "undefined" && typeof Symbol.for === "function") { + try { + BN2.prototype[Symbol.for("nodejs.util.inspect.custom")] = inspect4; + } catch (e) { + BN2.prototype.inspect = inspect4; + } + } else { + BN2.prototype.inspect = inspect4; + } + function inspect4() { + return (this.red ? ""; + } + var zeros = [ + "", + "0", + "00", + "000", + "0000", + "00000", + "000000", + "0000000", + "00000000", + "000000000", + "0000000000", + "00000000000", + "000000000000", + "0000000000000", + "00000000000000", + "000000000000000", + "0000000000000000", + "00000000000000000", + "000000000000000000", + "0000000000000000000", + "00000000000000000000", + "000000000000000000000", + "0000000000000000000000", + "00000000000000000000000", + "000000000000000000000000", + "0000000000000000000000000" + ]; + var groupSizes = [ + 0, + 0, + 25, + 16, + 12, + 11, + 10, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5 + ]; + var groupBases = [ + 0, + 0, + 33554432, + 43046721, + 16777216, + 48828125, + 60466176, + 40353607, + 16777216, + 43046721, + 1e7, + 19487171, + 35831808, + 62748517, + 7529536, + 11390625, + 16777216, + 24137569, + 34012224, + 47045881, + 64e6, + 4084101, + 5153632, + 6436343, + 7962624, + 9765625, + 11881376, + 14348907, + 17210368, + 20511149, + 243e5, + 28629151, + 33554432, + 39135393, + 45435424, + 52521875, + 60466176 + ]; + BN2.prototype.toString = function toString(base2, padding) { + base2 = base2 || 10; + padding = padding | 0 || 1; + var out; + if (base2 === 16 || base2 === "hex") { + out = ""; + var off = 0; + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w2 = this.words[i]; + var word = ((w2 << off | carry) & 16777215).toString(16); + carry = w2 >>> 24 - off & 16777215; + off += 2; + if (off >= 26) { + off -= 26; + i--; + } + if (carry !== 0 || i !== this.length - 1) { + out = zeros[6 - word.length] + word + out; + } else { + out = word + out; + } + } + if (carry !== 0) { + out = carry.toString(16) + out; + } + while (out.length % padding !== 0) { + out = "0" + out; + } + if (this.negative !== 0) { + out = "-" + out; + } + return out; + } + if (base2 === (base2 | 0) && base2 >= 2 && base2 <= 36) { + var groupSize = groupSizes[base2]; + var groupBase = groupBases[base2]; + out = ""; + var c = this.clone(); + c.negative = 0; + while (!c.isZero()) { + var r2 = c.modrn(groupBase).toString(base2); + c = c.idivn(groupBase); + if (!c.isZero()) { + out = zeros[groupSize - r2.length] + r2 + out; + } else { + out = r2 + out; + } + } + if (this.isZero()) { + out = "0" + out; + } + while (out.length % padding !== 0) { + out = "0" + out; + } + if (this.negative !== 0) { + out = "-" + out; + } + return out; + } + assert2(false, "Base should be between 2 and 36"); + }; + BN2.prototype.toNumber = function toNumber() { + var ret = this.words[0]; + if (this.length === 2) { + ret += this.words[1] * 67108864; + } else if (this.length === 3 && this.words[2] === 1) { + ret += 4503599627370496 + this.words[1] * 67108864; + } else if (this.length > 2) { + assert2(false, "Number can only safely store up to 53 bits"); + } + return this.negative !== 0 ? -ret : ret; + }; + BN2.prototype.toJSON = function toJSON2() { + return this.toString(16, 2); + }; + if (Buffer) { + BN2.prototype.toBuffer = function toBuffer(endian, length) { + return this.toArrayLike(Buffer, endian, length); + }; + } + BN2.prototype.toArray = function toArray2(endian, length) { + return this.toArrayLike(Array, endian, length); + }; + var allocate = function allocate2(ArrayType, size) { + if (ArrayType.allocUnsafe) { + return ArrayType.allocUnsafe(size); + } + return new ArrayType(size); + }; + BN2.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) { + this._strip(); + var byteLength = this.byteLength(); + var reqLength = length || Math.max(1, byteLength); + assert2(byteLength <= reqLength, "byte array longer than desired length"); + assert2(reqLength > 0, "Requested array length <= 0"); + var res = allocate(ArrayType, reqLength); + var postfix = endian === "le" ? "LE" : "BE"; + this["_toArrayLike" + postfix](res, byteLength); + return res; + }; + BN2.prototype._toArrayLikeLE = function _toArrayLikeLE(res, byteLength) { + var position = 0; + var carry = 0; + for (var i = 0, shift = 0; i < this.length; i++) { + var word = this.words[i] << shift | carry; + res[position++] = word & 255; + if (position < res.length) { + res[position++] = word >> 8 & 255; + } + if (position < res.length) { + res[position++] = word >> 16 & 255; + } + if (shift === 6) { + if (position < res.length) { + res[position++] = word >> 24 & 255; + } + carry = 0; + shift = 0; + } else { + carry = word >>> 24; + shift += 2; + } + } + if (position < res.length) { + res[position++] = carry; + while (position < res.length) { + res[position++] = 0; + } + } + }; + BN2.prototype._toArrayLikeBE = function _toArrayLikeBE(res, byteLength) { + var position = res.length - 1; + var carry = 0; + for (var i = 0, shift = 0; i < this.length; i++) { + var word = this.words[i] << shift | carry; + res[position--] = word & 255; + if (position >= 0) { + res[position--] = word >> 8 & 255; + } + if (position >= 0) { + res[position--] = word >> 16 & 255; + } + if (shift === 6) { + if (position >= 0) { + res[position--] = word >> 24 & 255; + } + carry = 0; + shift = 0; + } else { + carry = word >>> 24; + shift += 2; + } + } + if (position >= 0) { + res[position--] = carry; + while (position >= 0) { + res[position--] = 0; + } + } + }; + if (Math.clz32) { + BN2.prototype._countBits = function _countBits(w2) { + return 32 - Math.clz32(w2); + }; + } else { + BN2.prototype._countBits = function _countBits(w2) { + var t = w2; + var r2 = 0; + if (t >= 4096) { + r2 += 13; + t >>>= 13; + } + if (t >= 64) { + r2 += 7; + t >>>= 7; + } + if (t >= 8) { + r2 += 4; + t >>>= 4; + } + if (t >= 2) { + r2 += 2; + t >>>= 2; + } + return r2 + t; + }; + } + BN2.prototype._zeroBits = function _zeroBits(w2) { + if (w2 === 0) + return 26; + var t = w2; + var r2 = 0; + if ((t & 8191) === 0) { + r2 += 13; + t >>>= 13; + } + if ((t & 127) === 0) { + r2 += 7; + t >>>= 7; + } + if ((t & 15) === 0) { + r2 += 4; + t >>>= 4; + } + if ((t & 3) === 0) { + r2 += 2; + t >>>= 2; + } + if ((t & 1) === 0) { + r2++; + } + return r2; + }; + BN2.prototype.bitLength = function bitLength() { + var w2 = this.words[this.length - 1]; + var hi = this._countBits(w2); + return (this.length - 1) * 26 + hi; + }; + function toBitArray(num) { + var w2 = new Array(num.bitLength()); + for (var bit = 0; bit < w2.length; bit++) { + var off = bit / 26 | 0; + var wbit = bit % 26; + w2[bit] = num.words[off] >>> wbit & 1; + } + return w2; + } + BN2.prototype.zeroBits = function zeroBits() { + if (this.isZero()) + return 0; + var r2 = 0; + for (var i = 0; i < this.length; i++) { + var b2 = this._zeroBits(this.words[i]); + r2 += b2; + if (b2 !== 26) + break; + } + return r2; + }; + BN2.prototype.byteLength = function byteLength() { + return Math.ceil(this.bitLength() / 8); + }; + BN2.prototype.toTwos = function toTwos(width) { + if (this.negative !== 0) { + return this.abs().inotn(width).iaddn(1); + } + return this.clone(); + }; + BN2.prototype.fromTwos = function fromTwos(width) { + if (this.testn(width - 1)) { + return this.notn(width).iaddn(1).ineg(); + } + return this.clone(); + }; + BN2.prototype.isNeg = function isNeg() { + return this.negative !== 0; + }; + BN2.prototype.neg = function neg3() { + return this.clone().ineg(); + }; + BN2.prototype.ineg = function ineg() { + if (!this.isZero()) { + this.negative ^= 1; + } + return this; + }; + BN2.prototype.iuor = function iuor(num) { + while (this.length < num.length) { + this.words[this.length++] = 0; + } + for (var i = 0; i < num.length; i++) { + this.words[i] = this.words[i] | num.words[i]; + } + return this._strip(); + }; + BN2.prototype.ior = function ior(num) { + assert2((this.negative | num.negative) === 0); + return this.iuor(num); + }; + BN2.prototype.or = function or2(num) { + if (this.length > num.length) + return this.clone().ior(num); + return num.clone().ior(this); + }; + BN2.prototype.uor = function uor(num) { + if (this.length > num.length) + return this.clone().iuor(num); + return num.clone().iuor(this); + }; + BN2.prototype.iuand = function iuand(num) { + var b2; + if (this.length > num.length) { + b2 = num; + } else { + b2 = this; + } + for (var i = 0; i < b2.length; i++) { + this.words[i] = this.words[i] & num.words[i]; + } + this.length = b2.length; + return this._strip(); + }; + BN2.prototype.iand = function iand(num) { + assert2((this.negative | num.negative) === 0); + return this.iuand(num); + }; + BN2.prototype.and = function and(num) { + if (this.length > num.length) + return this.clone().iand(num); + return num.clone().iand(this); + }; + BN2.prototype.uand = function uand(num) { + if (this.length > num.length) + return this.clone().iuand(num); + return num.clone().iuand(this); + }; + BN2.prototype.iuxor = function iuxor(num) { + var a; + var b2; + if (this.length > num.length) { + a = this; + b2 = num; + } else { + a = num; + b2 = this; + } + for (var i = 0; i < b2.length; i++) { + this.words[i] = a.words[i] ^ b2.words[i]; + } + if (this !== a) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + this.length = a.length; + return this._strip(); + }; + BN2.prototype.ixor = function ixor(num) { + assert2((this.negative | num.negative) === 0); + return this.iuxor(num); + }; + BN2.prototype.xor = function xor(num) { + if (this.length > num.length) + return this.clone().ixor(num); + return num.clone().ixor(this); + }; + BN2.prototype.uxor = function uxor(num) { + if (this.length > num.length) + return this.clone().iuxor(num); + return num.clone().iuxor(this); + }; + BN2.prototype.inotn = function inotn(width) { + assert2(typeof width === "number" && width >= 0); + var bytesNeeded = Math.ceil(width / 26) | 0; + var bitsLeft = width % 26; + this._expand(bytesNeeded); + if (bitsLeft > 0) { + bytesNeeded--; + } + for (var i = 0; i < bytesNeeded; i++) { + this.words[i] = ~this.words[i] & 67108863; + } + if (bitsLeft > 0) { + this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft; + } + return this._strip(); + }; + BN2.prototype.notn = function notn(width) { + return this.clone().inotn(width); + }; + BN2.prototype.setn = function setn(bit, val) { + assert2(typeof bit === "number" && bit >= 0); + var off = bit / 26 | 0; + var wbit = bit % 26; + this._expand(off + 1); + if (val) { + this.words[off] = this.words[off] | 1 << wbit; + } else { + this.words[off] = this.words[off] & ~(1 << wbit); + } + return this._strip(); + }; + BN2.prototype.iadd = function iadd(num) { + var r2; + if (this.negative !== 0 && num.negative === 0) { + this.negative = 0; + r2 = this.isub(num); + this.negative ^= 1; + return this._normSign(); + } else if (this.negative === 0 && num.negative !== 0) { + num.negative = 0; + r2 = this.isub(num); + num.negative = 1; + return r2._normSign(); + } + var a, b2; + if (this.length > num.length) { + a = this; + b2 = num; + } else { + a = num; + b2 = this; + } + var carry = 0; + for (var i = 0; i < b2.length; i++) { + r2 = (a.words[i] | 0) + (b2.words[i] | 0) + carry; + this.words[i] = r2 & 67108863; + carry = r2 >>> 26; + } + for (; carry !== 0 && i < a.length; i++) { + r2 = (a.words[i] | 0) + carry; + this.words[i] = r2 & 67108863; + carry = r2 >>> 26; + } + this.length = a.length; + if (carry !== 0) { + this.words[this.length] = carry; + this.length++; + } else if (a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + return this; + }; + BN2.prototype.add = function add3(num) { + var res; + if (num.negative !== 0 && this.negative === 0) { + num.negative = 0; + res = this.sub(num); + num.negative ^= 1; + return res; + } else if (num.negative === 0 && this.negative !== 0) { + this.negative = 0; + res = num.sub(this); + this.negative = 1; + return res; + } + if (this.length > num.length) + return this.clone().iadd(num); + return num.clone().iadd(this); + }; + BN2.prototype.isub = function isub(num) { + if (num.negative !== 0) { + num.negative = 0; + var r2 = this.iadd(num); + num.negative = 1; + return r2._normSign(); + } else if (this.negative !== 0) { + this.negative = 0; + this.iadd(num); + this.negative = 1; + return this._normSign(); + } + var cmp = this.cmp(num); + if (cmp === 0) { + this.negative = 0; + this.length = 1; + this.words[0] = 0; + return this; + } + var a, b2; + if (cmp > 0) { + a = this; + b2 = num; + } else { + a = num; + b2 = this; + } + var carry = 0; + for (var i = 0; i < b2.length; i++) { + r2 = (a.words[i] | 0) - (b2.words[i] | 0) + carry; + carry = r2 >> 26; + this.words[i] = r2 & 67108863; + } + for (; carry !== 0 && i < a.length; i++) { + r2 = (a.words[i] | 0) + carry; + carry = r2 >> 26; + this.words[i] = r2 & 67108863; + } + if (carry === 0 && i < a.length && a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + this.length = Math.max(this.length, i); + if (a !== this) { + this.negative = 1; + } + return this._strip(); + }; + BN2.prototype.sub = function sub(num) { + return this.clone().isub(num); + }; + function smallMulTo(self2, num, out) { + out.negative = num.negative ^ self2.negative; + var len = self2.length + num.length | 0; + out.length = len; + len = len - 1 | 0; + var a = self2.words[0] | 0; + var b2 = num.words[0] | 0; + var r2 = a * b2; + var lo = r2 & 67108863; + var carry = r2 / 67108864 | 0; + out.words[0] = lo; + for (var k2 = 1; k2 < len; k2++) { + var ncarry = carry >>> 26; + var rword = carry & 67108863; + var maxJ = Math.min(k2, num.length - 1); + for (var j2 = Math.max(0, k2 - self2.length + 1); j2 <= maxJ; j2++) { + var i = k2 - j2 | 0; + a = self2.words[i] | 0; + b2 = num.words[j2] | 0; + r2 = a * b2 + rword; + ncarry += r2 / 67108864 | 0; + rword = r2 & 67108863; + } + out.words[k2] = rword | 0; + carry = ncarry | 0; + } + if (carry !== 0) { + out.words[k2] = carry | 0; + } else { + out.length--; + } + return out._strip(); + } + var comb10MulTo = function comb10MulTo2(self2, num, out) { + var a = self2.words; + var b2 = num.words; + var o2 = out.words; + var c = 0; + var lo; + var mid; + var hi; + var a0 = a[0] | 0; + var al0 = a0 & 8191; + var ah0 = a0 >>> 13; + var a1 = a[1] | 0; + var al1 = a1 & 8191; + var ah1 = a1 >>> 13; + var a2 = a[2] | 0; + var al2 = a2 & 8191; + var ah2 = a2 >>> 13; + var a3 = a[3] | 0; + var al3 = a3 & 8191; + var ah3 = a3 >>> 13; + var a4 = a[4] | 0; + var al4 = a4 & 8191; + var ah4 = a4 >>> 13; + var a5 = a[5] | 0; + var al5 = a5 & 8191; + var ah5 = a5 >>> 13; + var a6 = a[6] | 0; + var al6 = a6 & 8191; + var ah6 = a6 >>> 13; + var a7 = a[7] | 0; + var al7 = a7 & 8191; + var ah7 = a7 >>> 13; + var a8 = a[8] | 0; + var al8 = a8 & 8191; + var ah8 = a8 >>> 13; + var a9 = a[9] | 0; + var al9 = a9 & 8191; + var ah9 = a9 >>> 13; + var b0 = b2[0] | 0; + var bl0 = b0 & 8191; + var bh0 = b0 >>> 13; + var b1 = b2[1] | 0; + var bl1 = b1 & 8191; + var bh1 = b1 >>> 13; + var b22 = b2[2] | 0; + var bl2 = b22 & 8191; + var bh2 = b22 >>> 13; + var b3 = b2[3] | 0; + var bl3 = b3 & 8191; + var bh3 = b3 >>> 13; + var b4 = b2[4] | 0; + var bl4 = b4 & 8191; + var bh4 = b4 >>> 13; + var b5 = b2[5] | 0; + var bl5 = b5 & 8191; + var bh5 = b5 >>> 13; + var b6 = b2[6] | 0; + var bl6 = b6 & 8191; + var bh6 = b6 >>> 13; + var b7 = b2[7] | 0; + var bl7 = b7 & 8191; + var bh7 = b7 >>> 13; + var b8 = b2[8] | 0; + var bl8 = b8 & 8191; + var bh8 = b8 >>> 13; + var b9 = b2[9] | 0; + var bl9 = b9 & 8191; + var bh9 = b9 >>> 13; + out.negative = self2.negative ^ num.negative; + out.length = 19; + lo = Math.imul(al0, bl0); + mid = Math.imul(al0, bh0); + mid = mid + Math.imul(ah0, bl0) | 0; + hi = Math.imul(ah0, bh0); + var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0; + w0 &= 67108863; + lo = Math.imul(al1, bl0); + mid = Math.imul(al1, bh0); + mid = mid + Math.imul(ah1, bl0) | 0; + hi = Math.imul(ah1, bh0); + lo = lo + Math.imul(al0, bl1) | 0; + mid = mid + Math.imul(al0, bh1) | 0; + mid = mid + Math.imul(ah0, bl1) | 0; + hi = hi + Math.imul(ah0, bh1) | 0; + var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0; + w1 &= 67108863; + lo = Math.imul(al2, bl0); + mid = Math.imul(al2, bh0); + mid = mid + Math.imul(ah2, bl0) | 0; + hi = Math.imul(ah2, bh0); + lo = lo + Math.imul(al1, bl1) | 0; + mid = mid + Math.imul(al1, bh1) | 0; + mid = mid + Math.imul(ah1, bl1) | 0; + hi = hi + Math.imul(ah1, bh1) | 0; + lo = lo + Math.imul(al0, bl2) | 0; + mid = mid + Math.imul(al0, bh2) | 0; + mid = mid + Math.imul(ah0, bl2) | 0; + hi = hi + Math.imul(ah0, bh2) | 0; + var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0; + w2 &= 67108863; + lo = Math.imul(al3, bl0); + mid = Math.imul(al3, bh0); + mid = mid + Math.imul(ah3, bl0) | 0; + hi = Math.imul(ah3, bh0); + lo = lo + Math.imul(al2, bl1) | 0; + mid = mid + Math.imul(al2, bh1) | 0; + mid = mid + Math.imul(ah2, bl1) | 0; + hi = hi + Math.imul(ah2, bh1) | 0; + lo = lo + Math.imul(al1, bl2) | 0; + mid = mid + Math.imul(al1, bh2) | 0; + mid = mid + Math.imul(ah1, bl2) | 0; + hi = hi + Math.imul(ah1, bh2) | 0; + lo = lo + Math.imul(al0, bl3) | 0; + mid = mid + Math.imul(al0, bh3) | 0; + mid = mid + Math.imul(ah0, bl3) | 0; + hi = hi + Math.imul(ah0, bh3) | 0; + var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0; + w3 &= 67108863; + lo = Math.imul(al4, bl0); + mid = Math.imul(al4, bh0); + mid = mid + Math.imul(ah4, bl0) | 0; + hi = Math.imul(ah4, bh0); + lo = lo + Math.imul(al3, bl1) | 0; + mid = mid + Math.imul(al3, bh1) | 0; + mid = mid + Math.imul(ah3, bl1) | 0; + hi = hi + Math.imul(ah3, bh1) | 0; + lo = lo + Math.imul(al2, bl2) | 0; + mid = mid + Math.imul(al2, bh2) | 0; + mid = mid + Math.imul(ah2, bl2) | 0; + hi = hi + Math.imul(ah2, bh2) | 0; + lo = lo + Math.imul(al1, bl3) | 0; + mid = mid + Math.imul(al1, bh3) | 0; + mid = mid + Math.imul(ah1, bl3) | 0; + hi = hi + Math.imul(ah1, bh3) | 0; + lo = lo + Math.imul(al0, bl4) | 0; + mid = mid + Math.imul(al0, bh4) | 0; + mid = mid + Math.imul(ah0, bl4) | 0; + hi = hi + Math.imul(ah0, bh4) | 0; + var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0; + w4 &= 67108863; + lo = Math.imul(al5, bl0); + mid = Math.imul(al5, bh0); + mid = mid + Math.imul(ah5, bl0) | 0; + hi = Math.imul(ah5, bh0); + lo = lo + Math.imul(al4, bl1) | 0; + mid = mid + Math.imul(al4, bh1) | 0; + mid = mid + Math.imul(ah4, bl1) | 0; + hi = hi + Math.imul(ah4, bh1) | 0; + lo = lo + Math.imul(al3, bl2) | 0; + mid = mid + Math.imul(al3, bh2) | 0; + mid = mid + Math.imul(ah3, bl2) | 0; + hi = hi + Math.imul(ah3, bh2) | 0; + lo = lo + Math.imul(al2, bl3) | 0; + mid = mid + Math.imul(al2, bh3) | 0; + mid = mid + Math.imul(ah2, bl3) | 0; + hi = hi + Math.imul(ah2, bh3) | 0; + lo = lo + Math.imul(al1, bl4) | 0; + mid = mid + Math.imul(al1, bh4) | 0; + mid = mid + Math.imul(ah1, bl4) | 0; + hi = hi + Math.imul(ah1, bh4) | 0; + lo = lo + Math.imul(al0, bl5) | 0; + mid = mid + Math.imul(al0, bh5) | 0; + mid = mid + Math.imul(ah0, bl5) | 0; + hi = hi + Math.imul(ah0, bh5) | 0; + var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0; + w5 &= 67108863; + lo = Math.imul(al6, bl0); + mid = Math.imul(al6, bh0); + mid = mid + Math.imul(ah6, bl0) | 0; + hi = Math.imul(ah6, bh0); + lo = lo + Math.imul(al5, bl1) | 0; + mid = mid + Math.imul(al5, bh1) | 0; + mid = mid + Math.imul(ah5, bl1) | 0; + hi = hi + Math.imul(ah5, bh1) | 0; + lo = lo + Math.imul(al4, bl2) | 0; + mid = mid + Math.imul(al4, bh2) | 0; + mid = mid + Math.imul(ah4, bl2) | 0; + hi = hi + Math.imul(ah4, bh2) | 0; + lo = lo + Math.imul(al3, bl3) | 0; + mid = mid + Math.imul(al3, bh3) | 0; + mid = mid + Math.imul(ah3, bl3) | 0; + hi = hi + Math.imul(ah3, bh3) | 0; + lo = lo + Math.imul(al2, bl4) | 0; + mid = mid + Math.imul(al2, bh4) | 0; + mid = mid + Math.imul(ah2, bl4) | 0; + hi = hi + Math.imul(ah2, bh4) | 0; + lo = lo + Math.imul(al1, bl5) | 0; + mid = mid + Math.imul(al1, bh5) | 0; + mid = mid + Math.imul(ah1, bl5) | 0; + hi = hi + Math.imul(ah1, bh5) | 0; + lo = lo + Math.imul(al0, bl6) | 0; + mid = mid + Math.imul(al0, bh6) | 0; + mid = mid + Math.imul(ah0, bl6) | 0; + hi = hi + Math.imul(ah0, bh6) | 0; + var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0; + w6 &= 67108863; + lo = Math.imul(al7, bl0); + mid = Math.imul(al7, bh0); + mid = mid + Math.imul(ah7, bl0) | 0; + hi = Math.imul(ah7, bh0); + lo = lo + Math.imul(al6, bl1) | 0; + mid = mid + Math.imul(al6, bh1) | 0; + mid = mid + Math.imul(ah6, bl1) | 0; + hi = hi + Math.imul(ah6, bh1) | 0; + lo = lo + Math.imul(al5, bl2) | 0; + mid = mid + Math.imul(al5, bh2) | 0; + mid = mid + Math.imul(ah5, bl2) | 0; + hi = hi + Math.imul(ah5, bh2) | 0; + lo = lo + Math.imul(al4, bl3) | 0; + mid = mid + Math.imul(al4, bh3) | 0; + mid = mid + Math.imul(ah4, bl3) | 0; + hi = hi + Math.imul(ah4, bh3) | 0; + lo = lo + Math.imul(al3, bl4) | 0; + mid = mid + Math.imul(al3, bh4) | 0; + mid = mid + Math.imul(ah3, bl4) | 0; + hi = hi + Math.imul(ah3, bh4) | 0; + lo = lo + Math.imul(al2, bl5) | 0; + mid = mid + Math.imul(al2, bh5) | 0; + mid = mid + Math.imul(ah2, bl5) | 0; + hi = hi + Math.imul(ah2, bh5) | 0; + lo = lo + Math.imul(al1, bl6) | 0; + mid = mid + Math.imul(al1, bh6) | 0; + mid = mid + Math.imul(ah1, bl6) | 0; + hi = hi + Math.imul(ah1, bh6) | 0; + lo = lo + Math.imul(al0, bl7) | 0; + mid = mid + Math.imul(al0, bh7) | 0; + mid = mid + Math.imul(ah0, bl7) | 0; + hi = hi + Math.imul(ah0, bh7) | 0; + var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0; + w7 &= 67108863; + lo = Math.imul(al8, bl0); + mid = Math.imul(al8, bh0); + mid = mid + Math.imul(ah8, bl0) | 0; + hi = Math.imul(ah8, bh0); + lo = lo + Math.imul(al7, bl1) | 0; + mid = mid + Math.imul(al7, bh1) | 0; + mid = mid + Math.imul(ah7, bl1) | 0; + hi = hi + Math.imul(ah7, bh1) | 0; + lo = lo + Math.imul(al6, bl2) | 0; + mid = mid + Math.imul(al6, bh2) | 0; + mid = mid + Math.imul(ah6, bl2) | 0; + hi = hi + Math.imul(ah6, bh2) | 0; + lo = lo + Math.imul(al5, bl3) | 0; + mid = mid + Math.imul(al5, bh3) | 0; + mid = mid + Math.imul(ah5, bl3) | 0; + hi = hi + Math.imul(ah5, bh3) | 0; + lo = lo + Math.imul(al4, bl4) | 0; + mid = mid + Math.imul(al4, bh4) | 0; + mid = mid + Math.imul(ah4, bl4) | 0; + hi = hi + Math.imul(ah4, bh4) | 0; + lo = lo + Math.imul(al3, bl5) | 0; + mid = mid + Math.imul(al3, bh5) | 0; + mid = mid + Math.imul(ah3, bl5) | 0; + hi = hi + Math.imul(ah3, bh5) | 0; + lo = lo + Math.imul(al2, bl6) | 0; + mid = mid + Math.imul(al2, bh6) | 0; + mid = mid + Math.imul(ah2, bl6) | 0; + hi = hi + Math.imul(ah2, bh6) | 0; + lo = lo + Math.imul(al1, bl7) | 0; + mid = mid + Math.imul(al1, bh7) | 0; + mid = mid + Math.imul(ah1, bl7) | 0; + hi = hi + Math.imul(ah1, bh7) | 0; + lo = lo + Math.imul(al0, bl8) | 0; + mid = mid + Math.imul(al0, bh8) | 0; + mid = mid + Math.imul(ah0, bl8) | 0; + hi = hi + Math.imul(ah0, bh8) | 0; + var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0; + w8 &= 67108863; + lo = Math.imul(al9, bl0); + mid = Math.imul(al9, bh0); + mid = mid + Math.imul(ah9, bl0) | 0; + hi = Math.imul(ah9, bh0); + lo = lo + Math.imul(al8, bl1) | 0; + mid = mid + Math.imul(al8, bh1) | 0; + mid = mid + Math.imul(ah8, bl1) | 0; + hi = hi + Math.imul(ah8, bh1) | 0; + lo = lo + Math.imul(al7, bl2) | 0; + mid = mid + Math.imul(al7, bh2) | 0; + mid = mid + Math.imul(ah7, bl2) | 0; + hi = hi + Math.imul(ah7, bh2) | 0; + lo = lo + Math.imul(al6, bl3) | 0; + mid = mid + Math.imul(al6, bh3) | 0; + mid = mid + Math.imul(ah6, bl3) | 0; + hi = hi + Math.imul(ah6, bh3) | 0; + lo = lo + Math.imul(al5, bl4) | 0; + mid = mid + Math.imul(al5, bh4) | 0; + mid = mid + Math.imul(ah5, bl4) | 0; + hi = hi + Math.imul(ah5, bh4) | 0; + lo = lo + Math.imul(al4, bl5) | 0; + mid = mid + Math.imul(al4, bh5) | 0; + mid = mid + Math.imul(ah4, bl5) | 0; + hi = hi + Math.imul(ah4, bh5) | 0; + lo = lo + Math.imul(al3, bl6) | 0; + mid = mid + Math.imul(al3, bh6) | 0; + mid = mid + Math.imul(ah3, bl6) | 0; + hi = hi + Math.imul(ah3, bh6) | 0; + lo = lo + Math.imul(al2, bl7) | 0; + mid = mid + Math.imul(al2, bh7) | 0; + mid = mid + Math.imul(ah2, bl7) | 0; + hi = hi + Math.imul(ah2, bh7) | 0; + lo = lo + Math.imul(al1, bl8) | 0; + mid = mid + Math.imul(al1, bh8) | 0; + mid = mid + Math.imul(ah1, bl8) | 0; + hi = hi + Math.imul(ah1, bh8) | 0; + lo = lo + Math.imul(al0, bl9) | 0; + mid = mid + Math.imul(al0, bh9) | 0; + mid = mid + Math.imul(ah0, bl9) | 0; + hi = hi + Math.imul(ah0, bh9) | 0; + var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0; + w9 &= 67108863; + lo = Math.imul(al9, bl1); + mid = Math.imul(al9, bh1); + mid = mid + Math.imul(ah9, bl1) | 0; + hi = Math.imul(ah9, bh1); + lo = lo + Math.imul(al8, bl2) | 0; + mid = mid + Math.imul(al8, bh2) | 0; + mid = mid + Math.imul(ah8, bl2) | 0; + hi = hi + Math.imul(ah8, bh2) | 0; + lo = lo + Math.imul(al7, bl3) | 0; + mid = mid + Math.imul(al7, bh3) | 0; + mid = mid + Math.imul(ah7, bl3) | 0; + hi = hi + Math.imul(ah7, bh3) | 0; + lo = lo + Math.imul(al6, bl4) | 0; + mid = mid + Math.imul(al6, bh4) | 0; + mid = mid + Math.imul(ah6, bl4) | 0; + hi = hi + Math.imul(ah6, bh4) | 0; + lo = lo + Math.imul(al5, bl5) | 0; + mid = mid + Math.imul(al5, bh5) | 0; + mid = mid + Math.imul(ah5, bl5) | 0; + hi = hi + Math.imul(ah5, bh5) | 0; + lo = lo + Math.imul(al4, bl6) | 0; + mid = mid + Math.imul(al4, bh6) | 0; + mid = mid + Math.imul(ah4, bl6) | 0; + hi = hi + Math.imul(ah4, bh6) | 0; + lo = lo + Math.imul(al3, bl7) | 0; + mid = mid + Math.imul(al3, bh7) | 0; + mid = mid + Math.imul(ah3, bl7) | 0; + hi = hi + Math.imul(ah3, bh7) | 0; + lo = lo + Math.imul(al2, bl8) | 0; + mid = mid + Math.imul(al2, bh8) | 0; + mid = mid + Math.imul(ah2, bl8) | 0; + hi = hi + Math.imul(ah2, bh8) | 0; + lo = lo + Math.imul(al1, bl9) | 0; + mid = mid + Math.imul(al1, bh9) | 0; + mid = mid + Math.imul(ah1, bl9) | 0; + hi = hi + Math.imul(ah1, bh9) | 0; + var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0; + w10 &= 67108863; + lo = Math.imul(al9, bl2); + mid = Math.imul(al9, bh2); + mid = mid + Math.imul(ah9, bl2) | 0; + hi = Math.imul(ah9, bh2); + lo = lo + Math.imul(al8, bl3) | 0; + mid = mid + Math.imul(al8, bh3) | 0; + mid = mid + Math.imul(ah8, bl3) | 0; + hi = hi + Math.imul(ah8, bh3) | 0; + lo = lo + Math.imul(al7, bl4) | 0; + mid = mid + Math.imul(al7, bh4) | 0; + mid = mid + Math.imul(ah7, bl4) | 0; + hi = hi + Math.imul(ah7, bh4) | 0; + lo = lo + Math.imul(al6, bl5) | 0; + mid = mid + Math.imul(al6, bh5) | 0; + mid = mid + Math.imul(ah6, bl5) | 0; + hi = hi + Math.imul(ah6, bh5) | 0; + lo = lo + Math.imul(al5, bl6) | 0; + mid = mid + Math.imul(al5, bh6) | 0; + mid = mid + Math.imul(ah5, bl6) | 0; + hi = hi + Math.imul(ah5, bh6) | 0; + lo = lo + Math.imul(al4, bl7) | 0; + mid = mid + Math.imul(al4, bh7) | 0; + mid = mid + Math.imul(ah4, bl7) | 0; + hi = hi + Math.imul(ah4, bh7) | 0; + lo = lo + Math.imul(al3, bl8) | 0; + mid = mid + Math.imul(al3, bh8) | 0; + mid = mid + Math.imul(ah3, bl8) | 0; + hi = hi + Math.imul(ah3, bh8) | 0; + lo = lo + Math.imul(al2, bl9) | 0; + mid = mid + Math.imul(al2, bh9) | 0; + mid = mid + Math.imul(ah2, bl9) | 0; + hi = hi + Math.imul(ah2, bh9) | 0; + var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0; + w11 &= 67108863; + lo = Math.imul(al9, bl3); + mid = Math.imul(al9, bh3); + mid = mid + Math.imul(ah9, bl3) | 0; + hi = Math.imul(ah9, bh3); + lo = lo + Math.imul(al8, bl4) | 0; + mid = mid + Math.imul(al8, bh4) | 0; + mid = mid + Math.imul(ah8, bl4) | 0; + hi = hi + Math.imul(ah8, bh4) | 0; + lo = lo + Math.imul(al7, bl5) | 0; + mid = mid + Math.imul(al7, bh5) | 0; + mid = mid + Math.imul(ah7, bl5) | 0; + hi = hi + Math.imul(ah7, bh5) | 0; + lo = lo + Math.imul(al6, bl6) | 0; + mid = mid + Math.imul(al6, bh6) | 0; + mid = mid + Math.imul(ah6, bl6) | 0; + hi = hi + Math.imul(ah6, bh6) | 0; + lo = lo + Math.imul(al5, bl7) | 0; + mid = mid + Math.imul(al5, bh7) | 0; + mid = mid + Math.imul(ah5, bl7) | 0; + hi = hi + Math.imul(ah5, bh7) | 0; + lo = lo + Math.imul(al4, bl8) | 0; + mid = mid + Math.imul(al4, bh8) | 0; + mid = mid + Math.imul(ah4, bl8) | 0; + hi = hi + Math.imul(ah4, bh8) | 0; + lo = lo + Math.imul(al3, bl9) | 0; + mid = mid + Math.imul(al3, bh9) | 0; + mid = mid + Math.imul(ah3, bl9) | 0; + hi = hi + Math.imul(ah3, bh9) | 0; + var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0; + w12 &= 67108863; + lo = Math.imul(al9, bl4); + mid = Math.imul(al9, bh4); + mid = mid + Math.imul(ah9, bl4) | 0; + hi = Math.imul(ah9, bh4); + lo = lo + Math.imul(al8, bl5) | 0; + mid = mid + Math.imul(al8, bh5) | 0; + mid = mid + Math.imul(ah8, bl5) | 0; + hi = hi + Math.imul(ah8, bh5) | 0; + lo = lo + Math.imul(al7, bl6) | 0; + mid = mid + Math.imul(al7, bh6) | 0; + mid = mid + Math.imul(ah7, bl6) | 0; + hi = hi + Math.imul(ah7, bh6) | 0; + lo = lo + Math.imul(al6, bl7) | 0; + mid = mid + Math.imul(al6, bh7) | 0; + mid = mid + Math.imul(ah6, bl7) | 0; + hi = hi + Math.imul(ah6, bh7) | 0; + lo = lo + Math.imul(al5, bl8) | 0; + mid = mid + Math.imul(al5, bh8) | 0; + mid = mid + Math.imul(ah5, bl8) | 0; + hi = hi + Math.imul(ah5, bh8) | 0; + lo = lo + Math.imul(al4, bl9) | 0; + mid = mid + Math.imul(al4, bh9) | 0; + mid = mid + Math.imul(ah4, bl9) | 0; + hi = hi + Math.imul(ah4, bh9) | 0; + var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0; + w13 &= 67108863; + lo = Math.imul(al9, bl5); + mid = Math.imul(al9, bh5); + mid = mid + Math.imul(ah9, bl5) | 0; + hi = Math.imul(ah9, bh5); + lo = lo + Math.imul(al8, bl6) | 0; + mid = mid + Math.imul(al8, bh6) | 0; + mid = mid + Math.imul(ah8, bl6) | 0; + hi = hi + Math.imul(ah8, bh6) | 0; + lo = lo + Math.imul(al7, bl7) | 0; + mid = mid + Math.imul(al7, bh7) | 0; + mid = mid + Math.imul(ah7, bl7) | 0; + hi = hi + Math.imul(ah7, bh7) | 0; + lo = lo + Math.imul(al6, bl8) | 0; + mid = mid + Math.imul(al6, bh8) | 0; + mid = mid + Math.imul(ah6, bl8) | 0; + hi = hi + Math.imul(ah6, bh8) | 0; + lo = lo + Math.imul(al5, bl9) | 0; + mid = mid + Math.imul(al5, bh9) | 0; + mid = mid + Math.imul(ah5, bl9) | 0; + hi = hi + Math.imul(ah5, bh9) | 0; + var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0; + w14 &= 67108863; + lo = Math.imul(al9, bl6); + mid = Math.imul(al9, bh6); + mid = mid + Math.imul(ah9, bl6) | 0; + hi = Math.imul(ah9, bh6); + lo = lo + Math.imul(al8, bl7) | 0; + mid = mid + Math.imul(al8, bh7) | 0; + mid = mid + Math.imul(ah8, bl7) | 0; + hi = hi + Math.imul(ah8, bh7) | 0; + lo = lo + Math.imul(al7, bl8) | 0; + mid = mid + Math.imul(al7, bh8) | 0; + mid = mid + Math.imul(ah7, bl8) | 0; + hi = hi + Math.imul(ah7, bh8) | 0; + lo = lo + Math.imul(al6, bl9) | 0; + mid = mid + Math.imul(al6, bh9) | 0; + mid = mid + Math.imul(ah6, bl9) | 0; + hi = hi + Math.imul(ah6, bh9) | 0; + var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0; + w15 &= 67108863; + lo = Math.imul(al9, bl7); + mid = Math.imul(al9, bh7); + mid = mid + Math.imul(ah9, bl7) | 0; + hi = Math.imul(ah9, bh7); + lo = lo + Math.imul(al8, bl8) | 0; + mid = mid + Math.imul(al8, bh8) | 0; + mid = mid + Math.imul(ah8, bl8) | 0; + hi = hi + Math.imul(ah8, bh8) | 0; + lo = lo + Math.imul(al7, bl9) | 0; + mid = mid + Math.imul(al7, bh9) | 0; + mid = mid + Math.imul(ah7, bl9) | 0; + hi = hi + Math.imul(ah7, bh9) | 0; + var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0; + w16 &= 67108863; + lo = Math.imul(al9, bl8); + mid = Math.imul(al9, bh8); + mid = mid + Math.imul(ah9, bl8) | 0; + hi = Math.imul(ah9, bh8); + lo = lo + Math.imul(al8, bl9) | 0; + mid = mid + Math.imul(al8, bh9) | 0; + mid = mid + Math.imul(ah8, bl9) | 0; + hi = hi + Math.imul(ah8, bh9) | 0; + var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0; + w17 &= 67108863; + lo = Math.imul(al9, bl9); + mid = Math.imul(al9, bh9); + mid = mid + Math.imul(ah9, bl9) | 0; + hi = Math.imul(ah9, bh9); + var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0; + c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0; + w18 &= 67108863; + o2[0] = w0; + o2[1] = w1; + o2[2] = w2; + o2[3] = w3; + o2[4] = w4; + o2[5] = w5; + o2[6] = w6; + o2[7] = w7; + o2[8] = w8; + o2[9] = w9; + o2[10] = w10; + o2[11] = w11; + o2[12] = w12; + o2[13] = w13; + o2[14] = w14; + o2[15] = w15; + o2[16] = w16; + o2[17] = w17; + o2[18] = w18; + if (c !== 0) { + o2[19] = c; + out.length++; + } + return out; + }; + if (!Math.imul) { + comb10MulTo = smallMulTo; + } + function bigMulTo(self2, num, out) { + out.negative = num.negative ^ self2.negative; + out.length = self2.length + num.length; + var carry = 0; + var hncarry = 0; + for (var k2 = 0; k2 < out.length - 1; k2++) { + var ncarry = hncarry; + hncarry = 0; + var rword = carry & 67108863; + var maxJ = Math.min(k2, num.length - 1); + for (var j2 = Math.max(0, k2 - self2.length + 1); j2 <= maxJ; j2++) { + var i = k2 - j2; + var a = self2.words[i] | 0; + var b2 = num.words[j2] | 0; + var r2 = a * b2; + var lo = r2 & 67108863; + ncarry = ncarry + (r2 / 67108864 | 0) | 0; + lo = lo + rword | 0; + rword = lo & 67108863; + ncarry = ncarry + (lo >>> 26) | 0; + hncarry += ncarry >>> 26; + ncarry &= 67108863; + } + out.words[k2] = rword; + carry = ncarry; + ncarry = hncarry; + } + if (carry !== 0) { + out.words[k2] = carry; + } else { + out.length--; + } + return out._strip(); + } + function jumboMulTo(self2, num, out) { + return bigMulTo(self2, num, out); + } + BN2.prototype.mulTo = function mulTo(num, out) { + var res; + var len = this.length + num.length; + if (this.length === 10 && num.length === 10) { + res = comb10MulTo(this, num, out); + } else if (len < 63) { + res = smallMulTo(this, num, out); + } else if (len < 1024) { + res = bigMulTo(this, num, out); + } else { + res = jumboMulTo(this, num, out); + } + return res; + }; + BN2.prototype.mul = function mul3(num) { + var out = new BN2(null); + out.words = new Array(this.length + num.length); + return this.mulTo(num, out); + }; + BN2.prototype.mulf = function mulf(num) { + var out = new BN2(null); + out.words = new Array(this.length + num.length); + return jumboMulTo(this, num, out); + }; + BN2.prototype.imul = function imul(num) { + return this.clone().mulTo(num, this); + }; + BN2.prototype.imuln = function imuln(num) { + var isNegNum = num < 0; + if (isNegNum) + num = -num; + assert2(typeof num === "number"); + assert2(num < 67108864); + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w2 = (this.words[i] | 0) * num; + var lo = (w2 & 67108863) + (carry & 67108863); + carry >>= 26; + carry += w2 / 67108864 | 0; + carry += lo >>> 26; + this.words[i] = lo & 67108863; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return isNegNum ? this.ineg() : this; + }; + BN2.prototype.muln = function muln(num) { + return this.clone().imuln(num); + }; + BN2.prototype.sqr = function sqr() { + return this.mul(this); + }; + BN2.prototype.isqr = function isqr() { + return this.imul(this.clone()); + }; + BN2.prototype.pow = function pow(num) { + var w2 = toBitArray(num); + if (w2.length === 0) + return new BN2(1); + var res = this; + for (var i = 0; i < w2.length; i++, res = res.sqr()) { + if (w2[i] !== 0) + break; + } + if (++i < w2.length) { + for (var q = res.sqr(); i < w2.length; i++, q = q.sqr()) { + if (w2[i] === 0) + continue; + res = res.mul(q); + } + } + return res; + }; + BN2.prototype.iushln = function iushln(bits) { + assert2(typeof bits === "number" && bits >= 0); + var r2 = bits % 26; + var s2 = (bits - r2) / 26; + var carryMask = 67108863 >>> 26 - r2 << 26 - r2; + var i; + if (r2 !== 0) { + var carry = 0; + for (i = 0; i < this.length; i++) { + var newCarry = this.words[i] & carryMask; + var c = (this.words[i] | 0) - newCarry << r2; + this.words[i] = c | carry; + carry = newCarry >>> 26 - r2; + } + if (carry) { + this.words[i] = carry; + this.length++; + } + } + if (s2 !== 0) { + for (i = this.length - 1; i >= 0; i--) { + this.words[i + s2] = this.words[i]; + } + for (i = 0; i < s2; i++) { + this.words[i] = 0; + } + this.length += s2; + } + return this._strip(); + }; + BN2.prototype.ishln = function ishln(bits) { + assert2(this.negative === 0); + return this.iushln(bits); + }; + BN2.prototype.iushrn = function iushrn(bits, hint, extended) { + assert2(typeof bits === "number" && bits >= 0); + var h2; + if (hint) { + h2 = (hint - hint % 26) / 26; + } else { + h2 = 0; + } + var r2 = bits % 26; + var s2 = Math.min((bits - r2) / 26, this.length); + var mask = 67108863 ^ 67108863 >>> r2 << r2; + var maskedWords = extended; + h2 -= s2; + h2 = Math.max(0, h2); + if (maskedWords) { + for (var i = 0; i < s2; i++) { + maskedWords.words[i] = this.words[i]; + } + maskedWords.length = s2; + } + if (s2 === 0) + ; + else if (this.length > s2) { + this.length -= s2; + for (i = 0; i < this.length; i++) { + this.words[i] = this.words[i + s2]; + } + } else { + this.words[0] = 0; + this.length = 1; + } + var carry = 0; + for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h2); i--) { + var word = this.words[i] | 0; + this.words[i] = carry << 26 - r2 | word >>> r2; + carry = word & mask; + } + if (maskedWords && carry !== 0) { + maskedWords.words[maskedWords.length++] = carry; + } + if (this.length === 0) { + this.words[0] = 0; + this.length = 1; + } + return this._strip(); + }; + BN2.prototype.ishrn = function ishrn(bits, hint, extended) { + assert2(this.negative === 0); + return this.iushrn(bits, hint, extended); + }; + BN2.prototype.shln = function shln(bits) { + return this.clone().ishln(bits); + }; + BN2.prototype.ushln = function ushln(bits) { + return this.clone().iushln(bits); + }; + BN2.prototype.shrn = function shrn(bits) { + return this.clone().ishrn(bits); + }; + BN2.prototype.ushrn = function ushrn(bits) { + return this.clone().iushrn(bits); + }; + BN2.prototype.testn = function testn(bit) { + assert2(typeof bit === "number" && bit >= 0); + var r2 = bit % 26; + var s2 = (bit - r2) / 26; + var q = 1 << r2; + if (this.length <= s2) + return false; + var w2 = this.words[s2]; + return !!(w2 & q); + }; + BN2.prototype.imaskn = function imaskn(bits) { + assert2(typeof bits === "number" && bits >= 0); + var r2 = bits % 26; + var s2 = (bits - r2) / 26; + assert2(this.negative === 0, "imaskn works only with positive numbers"); + if (this.length <= s2) { + return this; + } + if (r2 !== 0) { + s2++; + } + this.length = Math.min(s2, this.length); + if (r2 !== 0) { + var mask = 67108863 ^ 67108863 >>> r2 << r2; + this.words[this.length - 1] &= mask; + } + return this._strip(); + }; + BN2.prototype.maskn = function maskn(bits) { + return this.clone().imaskn(bits); + }; + BN2.prototype.iaddn = function iaddn(num) { + assert2(typeof num === "number"); + assert2(num < 67108864); + if (num < 0) + return this.isubn(-num); + if (this.negative !== 0) { + if (this.length === 1 && (this.words[0] | 0) <= num) { + this.words[0] = num - (this.words[0] | 0); + this.negative = 0; + return this; + } + this.negative = 0; + this.isubn(num); + this.negative = 1; + return this; + } + return this._iaddn(num); + }; + BN2.prototype._iaddn = function _iaddn(num) { + this.words[0] += num; + for (var i = 0; i < this.length && this.words[i] >= 67108864; i++) { + this.words[i] -= 67108864; + if (i === this.length - 1) { + this.words[i + 1] = 1; + } else { + this.words[i + 1]++; + } + } + this.length = Math.max(this.length, i + 1); + return this; + }; + BN2.prototype.isubn = function isubn(num) { + assert2(typeof num === "number"); + assert2(num < 67108864); + if (num < 0) + return this.iaddn(-num); + if (this.negative !== 0) { + this.negative = 0; + this.iaddn(num); + this.negative = 1; + return this; + } + this.words[0] -= num; + if (this.length === 1 && this.words[0] < 0) { + this.words[0] = -this.words[0]; + this.negative = 1; + } else { + for (var i = 0; i < this.length && this.words[i] < 0; i++) { + this.words[i] += 67108864; + this.words[i + 1] -= 1; + } + } + return this._strip(); + }; + BN2.prototype.addn = function addn(num) { + return this.clone().iaddn(num); + }; + BN2.prototype.subn = function subn(num) { + return this.clone().isubn(num); + }; + BN2.prototype.iabs = function iabs() { + this.negative = 0; + return this; + }; + BN2.prototype.abs = function abs() { + return this.clone().iabs(); + }; + BN2.prototype._ishlnsubmul = function _ishlnsubmul(num, mul3, shift) { + var len = num.length + shift; + var i; + this._expand(len); + var w2; + var carry = 0; + for (i = 0; i < num.length; i++) { + w2 = (this.words[i + shift] | 0) + carry; + var right = (num.words[i] | 0) * mul3; + w2 -= right & 67108863; + carry = (w2 >> 26) - (right / 67108864 | 0); + this.words[i + shift] = w2 & 67108863; + } + for (; i < this.length - shift; i++) { + w2 = (this.words[i + shift] | 0) + carry; + carry = w2 >> 26; + this.words[i + shift] = w2 & 67108863; + } + if (carry === 0) + return this._strip(); + assert2(carry === -1); + carry = 0; + for (i = 0; i < this.length; i++) { + w2 = -(this.words[i] | 0) + carry; + carry = w2 >> 26; + this.words[i] = w2 & 67108863; + } + this.negative = 1; + return this._strip(); + }; + BN2.prototype._wordDiv = function _wordDiv(num, mode) { + var shift = this.length - num.length; + var a = this.clone(); + var b2 = num; + var bhi = b2.words[b2.length - 1] | 0; + var bhiBits = this._countBits(bhi); + shift = 26 - bhiBits; + if (shift !== 0) { + b2 = b2.ushln(shift); + a.iushln(shift); + bhi = b2.words[b2.length - 1] | 0; + } + var m2 = a.length - b2.length; + var q; + if (mode !== "mod") { + q = new BN2(null); + q.length = m2 + 1; + q.words = new Array(q.length); + for (var i = 0; i < q.length; i++) { + q.words[i] = 0; + } + } + var diff = a.clone()._ishlnsubmul(b2, 1, m2); + if (diff.negative === 0) { + a = diff; + if (q) { + q.words[m2] = 1; + } + } + for (var j2 = m2 - 1; j2 >= 0; j2--) { + var qj = (a.words[b2.length + j2] | 0) * 67108864 + (a.words[b2.length + j2 - 1] | 0); + qj = Math.min(qj / bhi | 0, 67108863); + a._ishlnsubmul(b2, qj, j2); + while (a.negative !== 0) { + qj--; + a.negative = 0; + a._ishlnsubmul(b2, 1, j2); + if (!a.isZero()) { + a.negative ^= 1; + } + } + if (q) { + q.words[j2] = qj; + } + } + if (q) { + q._strip(); + } + a._strip(); + if (mode !== "div" && shift !== 0) { + a.iushrn(shift); + } + return { + div: q || null, + mod: a + }; + }; + BN2.prototype.divmod = function divmod(num, mode, positive) { + assert2(!num.isZero()); + if (this.isZero()) { + return { + div: new BN2(0), + mod: new BN2(0) + }; + } + var div, mod, res; + if (this.negative !== 0 && num.negative === 0) { + res = this.neg().divmod(num, mode); + if (mode !== "mod") { + div = res.div.neg(); + } + if (mode !== "div") { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.iadd(num); + } + } + return { + div, + mod + }; + } + if (this.negative === 0 && num.negative !== 0) { + res = this.divmod(num.neg(), mode); + if (mode !== "mod") { + div = res.div.neg(); + } + return { + div, + mod: res.mod + }; + } + if ((this.negative & num.negative) !== 0) { + res = this.neg().divmod(num.neg(), mode); + if (mode !== "div") { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.isub(num); + } + } + return { + div: res.div, + mod + }; + } + if (num.length > this.length || this.cmp(num) < 0) { + return { + div: new BN2(0), + mod: this + }; + } + if (num.length === 1) { + if (mode === "div") { + return { + div: this.divn(num.words[0]), + mod: null + }; + } + if (mode === "mod") { + return { + div: null, + mod: new BN2(this.modrn(num.words[0])) + }; + } + return { + div: this.divn(num.words[0]), + mod: new BN2(this.modrn(num.words[0])) + }; + } + return this._wordDiv(num, mode); + }; + BN2.prototype.div = function div(num) { + return this.divmod(num, "div", false).div; + }; + BN2.prototype.mod = function mod(num) { + return this.divmod(num, "mod", false).mod; + }; + BN2.prototype.umod = function umod(num) { + return this.divmod(num, "mod", true).mod; + }; + BN2.prototype.divRound = function divRound(num) { + var dm = this.divmod(num); + if (dm.mod.isZero()) + return dm.div; + var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; + var half = num.ushrn(1); + var r2 = num.andln(1); + var cmp = mod.cmp(half); + if (cmp < 0 || r2 === 1 && cmp === 0) + return dm.div; + return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); + }; + BN2.prototype.modrn = function modrn(num) { + var isNegNum = num < 0; + if (isNegNum) + num = -num; + assert2(num <= 67108863); + var p2 = (1 << 26) % num; + var acc = 0; + for (var i = this.length - 1; i >= 0; i--) { + acc = (p2 * acc + (this.words[i] | 0)) % num; + } + return isNegNum ? -acc : acc; + }; + BN2.prototype.modn = function modn(num) { + return this.modrn(num); + }; + BN2.prototype.idivn = function idivn(num) { + var isNegNum = num < 0; + if (isNegNum) + num = -num; + assert2(num <= 67108863); + var carry = 0; + for (var i = this.length - 1; i >= 0; i--) { + var w2 = (this.words[i] | 0) + carry * 67108864; + this.words[i] = w2 / num | 0; + carry = w2 % num; + } + this._strip(); + return isNegNum ? this.ineg() : this; + }; + BN2.prototype.divn = function divn(num) { + return this.clone().idivn(num); + }; + BN2.prototype.egcd = function egcd(p2) { + assert2(p2.negative === 0); + assert2(!p2.isZero()); + var x2 = this; + var y2 = p2.clone(); + if (x2.negative !== 0) { + x2 = x2.umod(p2); + } else { + x2 = x2.clone(); + } + var A2 = new BN2(1); + var B2 = new BN2(0); + var C2 = new BN2(0); + var D2 = new BN2(1); + var g2 = 0; + while (x2.isEven() && y2.isEven()) { + x2.iushrn(1); + y2.iushrn(1); + ++g2; + } + var yp = y2.clone(); + var xp = x2.clone(); + while (!x2.isZero()) { + for (var i = 0, im = 1; (x2.words[0] & im) === 0 && i < 26; ++i, im <<= 1) + ; + if (i > 0) { + x2.iushrn(i); + while (i-- > 0) { + if (A2.isOdd() || B2.isOdd()) { + A2.iadd(yp); + B2.isub(xp); + } + A2.iushrn(1); + B2.iushrn(1); + } + } + for (var j2 = 0, jm = 1; (y2.words[0] & jm) === 0 && j2 < 26; ++j2, jm <<= 1) + ; + if (j2 > 0) { + y2.iushrn(j2); + while (j2-- > 0) { + if (C2.isOdd() || D2.isOdd()) { + C2.iadd(yp); + D2.isub(xp); + } + C2.iushrn(1); + D2.iushrn(1); + } + } + if (x2.cmp(y2) >= 0) { + x2.isub(y2); + A2.isub(C2); + B2.isub(D2); + } else { + y2.isub(x2); + C2.isub(A2); + D2.isub(B2); + } + } + return { + a: C2, + b: D2, + gcd: y2.iushln(g2) + }; + }; + BN2.prototype._invmp = function _invmp(p2) { + assert2(p2.negative === 0); + assert2(!p2.isZero()); + var a = this; + var b2 = p2.clone(); + if (a.negative !== 0) { + a = a.umod(p2); + } else { + a = a.clone(); + } + var x1 = new BN2(1); + var x2 = new BN2(0); + var delta = b2.clone(); + while (a.cmpn(1) > 0 && b2.cmpn(1) > 0) { + for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1) + ; + if (i > 0) { + a.iushrn(i); + while (i-- > 0) { + if (x1.isOdd()) { + x1.iadd(delta); + } + x1.iushrn(1); + } + } + for (var j2 = 0, jm = 1; (b2.words[0] & jm) === 0 && j2 < 26; ++j2, jm <<= 1) + ; + if (j2 > 0) { + b2.iushrn(j2); + while (j2-- > 0) { + if (x2.isOdd()) { + x2.iadd(delta); + } + x2.iushrn(1); + } + } + if (a.cmp(b2) >= 0) { + a.isub(b2); + x1.isub(x2); + } else { + b2.isub(a); + x2.isub(x1); + } + } + var res; + if (a.cmpn(1) === 0) { + res = x1; + } else { + res = x2; + } + if (res.cmpn(0) < 0) { + res.iadd(p2); + } + return res; + }; + BN2.prototype.gcd = function gcd(num) { + if (this.isZero()) + return num.abs(); + if (num.isZero()) + return this.abs(); + var a = this.clone(); + var b2 = num.clone(); + a.negative = 0; + b2.negative = 0; + for (var shift = 0; a.isEven() && b2.isEven(); shift++) { + a.iushrn(1); + b2.iushrn(1); + } + do { + while (a.isEven()) { + a.iushrn(1); + } + while (b2.isEven()) { + b2.iushrn(1); + } + var r2 = a.cmp(b2); + if (r2 < 0) { + var t = a; + a = b2; + b2 = t; + } else if (r2 === 0 || b2.cmpn(1) === 0) { + break; + } + a.isub(b2); + } while (true); + return b2.iushln(shift); + }; + BN2.prototype.invm = function invm(num) { + return this.egcd(num).a.umod(num); + }; + BN2.prototype.isEven = function isEven() { + return (this.words[0] & 1) === 0; + }; + BN2.prototype.isOdd = function isOdd() { + return (this.words[0] & 1) === 1; + }; + BN2.prototype.andln = function andln(num) { + return this.words[0] & num; + }; + BN2.prototype.bincn = function bincn(bit) { + assert2(typeof bit === "number"); + var r2 = bit % 26; + var s2 = (bit - r2) / 26; + var q = 1 << r2; + if (this.length <= s2) { + this._expand(s2 + 1); + this.words[s2] |= q; + return this; + } + var carry = q; + for (var i = s2; carry !== 0 && i < this.length; i++) { + var w2 = this.words[i] | 0; + w2 += carry; + carry = w2 >>> 26; + w2 &= 67108863; + this.words[i] = w2; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return this; + }; + BN2.prototype.isZero = function isZero() { + return this.length === 1 && this.words[0] === 0; + }; + BN2.prototype.cmpn = function cmpn(num) { + var negative = num < 0; + if (this.negative !== 0 && !negative) + return -1; + if (this.negative === 0 && negative) + return 1; + this._strip(); + var res; + if (this.length > 1) { + res = 1; + } else { + if (negative) { + num = -num; + } + assert2(num <= 67108863, "Number is too big"); + var w2 = this.words[0] | 0; + res = w2 === num ? 0 : w2 < num ? -1 : 1; + } + if (this.negative !== 0) + return -res | 0; + return res; + }; + BN2.prototype.cmp = function cmp(num) { + if (this.negative !== 0 && num.negative === 0) + return -1; + if (this.negative === 0 && num.negative !== 0) + return 1; + var res = this.ucmp(num); + if (this.negative !== 0) + return -res | 0; + return res; + }; + BN2.prototype.ucmp = function ucmp(num) { + if (this.length > num.length) + return 1; + if (this.length < num.length) + return -1; + var res = 0; + for (var i = this.length - 1; i >= 0; i--) { + var a = this.words[i] | 0; + var b2 = num.words[i] | 0; + if (a === b2) + continue; + if (a < b2) { + res = -1; + } else if (a > b2) { + res = 1; + } + break; + } + return res; + }; + BN2.prototype.gtn = function gtn(num) { + return this.cmpn(num) === 1; + }; + BN2.prototype.gt = function gt2(num) { + return this.cmp(num) === 1; + }; + BN2.prototype.gten = function gten(num) { + return this.cmpn(num) >= 0; + }; + BN2.prototype.gte = function gte(num) { + return this.cmp(num) >= 0; + }; + BN2.prototype.ltn = function ltn(num) { + return this.cmpn(num) === -1; + }; + BN2.prototype.lt = function lt2(num) { + return this.cmp(num) === -1; + }; + BN2.prototype.lten = function lten(num) { + return this.cmpn(num) <= 0; + }; + BN2.prototype.lte = function lte(num) { + return this.cmp(num) <= 0; + }; + BN2.prototype.eqn = function eqn(num) { + return this.cmpn(num) === 0; + }; + BN2.prototype.eq = function eq4(num) { + return this.cmp(num) === 0; + }; + BN2.red = function red(num) { + return new Red(num); + }; + BN2.prototype.toRed = function toRed(ctx) { + assert2(!this.red, "Already a number in reduction context"); + assert2(this.negative === 0, "red works only with positives"); + return ctx.convertTo(this)._forceRed(ctx); + }; + BN2.prototype.fromRed = function fromRed() { + assert2(this.red, "fromRed works only with numbers in reduction context"); + return this.red.convertFrom(this); + }; + BN2.prototype._forceRed = function _forceRed(ctx) { + this.red = ctx; + return this; + }; + BN2.prototype.forceRed = function forceRed(ctx) { + assert2(!this.red, "Already a number in reduction context"); + return this._forceRed(ctx); + }; + BN2.prototype.redAdd = function redAdd(num) { + assert2(this.red, "redAdd works only with red numbers"); + return this.red.add(this, num); + }; + BN2.prototype.redIAdd = function redIAdd(num) { + assert2(this.red, "redIAdd works only with red numbers"); + return this.red.iadd(this, num); + }; + BN2.prototype.redSub = function redSub(num) { + assert2(this.red, "redSub works only with red numbers"); + return this.red.sub(this, num); + }; + BN2.prototype.redISub = function redISub(num) { + assert2(this.red, "redISub works only with red numbers"); + return this.red.isub(this, num); + }; + BN2.prototype.redShl = function redShl(num) { + assert2(this.red, "redShl works only with red numbers"); + return this.red.shl(this, num); + }; + BN2.prototype.redMul = function redMul(num) { + assert2(this.red, "redMul works only with red numbers"); + this.red._verify2(this, num); + return this.red.mul(this, num); + }; + BN2.prototype.redIMul = function redIMul(num) { + assert2(this.red, "redMul works only with red numbers"); + this.red._verify2(this, num); + return this.red.imul(this, num); + }; + BN2.prototype.redSqr = function redSqr() { + assert2(this.red, "redSqr works only with red numbers"); + this.red._verify1(this); + return this.red.sqr(this); + }; + BN2.prototype.redISqr = function redISqr() { + assert2(this.red, "redISqr works only with red numbers"); + this.red._verify1(this); + return this.red.isqr(this); + }; + BN2.prototype.redSqrt = function redSqrt() { + assert2(this.red, "redSqrt works only with red numbers"); + this.red._verify1(this); + return this.red.sqrt(this); + }; + BN2.prototype.redInvm = function redInvm() { + assert2(this.red, "redInvm works only with red numbers"); + this.red._verify1(this); + return this.red.invm(this); + }; + BN2.prototype.redNeg = function redNeg() { + assert2(this.red, "redNeg works only with red numbers"); + this.red._verify1(this); + return this.red.neg(this); + }; + BN2.prototype.redPow = function redPow(num) { + assert2(this.red && !num.red, "redPow(normalNum)"); + this.red._verify1(this); + return this.red.pow(this, num); + }; + var primes = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + function MPrime(name, p2) { + this.name = name; + this.p = new BN2(p2, 16); + this.n = this.p.bitLength(); + this.k = new BN2(1).iushln(this.n).isub(this.p); + this.tmp = this._tmp(); + } + MPrime.prototype._tmp = function _tmp() { + var tmp = new BN2(null); + tmp.words = new Array(Math.ceil(this.n / 13)); + return tmp; + }; + MPrime.prototype.ireduce = function ireduce(num) { + var r2 = num; + var rlen; + do { + this.split(r2, this.tmp); + r2 = this.imulK(r2); + r2 = r2.iadd(this.tmp); + rlen = r2.bitLength(); + } while (rlen > this.n); + var cmp = rlen < this.n ? -1 : r2.ucmp(this.p); + if (cmp === 0) { + r2.words[0] = 0; + r2.length = 1; + } else if (cmp > 0) { + r2.isub(this.p); + } else { + if (r2.strip !== void 0) { + r2.strip(); + } else { + r2._strip(); + } + } + return r2; + }; + MPrime.prototype.split = function split(input, out) { + input.iushrn(this.n, 0, out); + }; + MPrime.prototype.imulK = function imulK(num) { + return num.imul(this.k); + }; + function K256() { + MPrime.call( + this, + "k256", + "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f" + ); + } + inherits2(K256, MPrime); + K256.prototype.split = function split(input, output) { + var mask = 4194303; + var outLen = Math.min(input.length, 9); + for (var i = 0; i < outLen; i++) { + output.words[i] = input.words[i]; + } + output.length = outLen; + if (input.length <= 9) { + input.words[0] = 0; + input.length = 1; + return; + } + var prev = input.words[9]; + output.words[output.length++] = prev & mask; + for (i = 10; i < input.length; i++) { + var next = input.words[i] | 0; + input.words[i - 10] = (next & mask) << 4 | prev >>> 22; + prev = next; + } + prev >>>= 22; + input.words[i - 10] = prev; + if (prev === 0 && input.length > 10) { + input.length -= 10; + } else { + input.length -= 9; + } + }; + K256.prototype.imulK = function imulK(num) { + num.words[num.length] = 0; + num.words[num.length + 1] = 0; + num.length += 2; + var lo = 0; + for (var i = 0; i < num.length; i++) { + var w2 = num.words[i] | 0; + lo += w2 * 977; + num.words[i] = lo & 67108863; + lo = w2 * 64 + (lo / 67108864 | 0); + } + if (num.words[num.length - 1] === 0) { + num.length--; + if (num.words[num.length - 1] === 0) { + num.length--; + } + } + return num; + }; + function P224() { + MPrime.call( + this, + "p224", + "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001" + ); + } + inherits2(P224, MPrime); + function P192() { + MPrime.call( + this, + "p192", + "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff" + ); + } + inherits2(P192, MPrime); + function P25519() { + MPrime.call( + this, + "25519", + "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed" + ); + } + inherits2(P25519, MPrime); + P25519.prototype.imulK = function imulK(num) { + var carry = 0; + for (var i = 0; i < num.length; i++) { + var hi = (num.words[i] | 0) * 19 + carry; + var lo = hi & 67108863; + hi >>>= 26; + num.words[i] = lo; + carry = hi; + } + if (carry !== 0) { + num.words[num.length++] = carry; + } + return num; + }; + BN2._prime = function prime(name) { + if (primes[name]) + return primes[name]; + var prime2; + if (name === "k256") { + prime2 = new K256(); + } else if (name === "p224") { + prime2 = new P224(); + } else if (name === "p192") { + prime2 = new P192(); + } else if (name === "p25519") { + prime2 = new P25519(); + } else { + throw new Error("Unknown prime " + name); + } + primes[name] = prime2; + return prime2; + }; + function Red(m2) { + if (typeof m2 === "string") { + var prime = BN2._prime(m2); + this.m = prime.p; + this.prime = prime; + } else { + assert2(m2.gtn(1), "modulus must be greater than 1"); + this.m = m2; + this.prime = null; + } + } + Red.prototype._verify1 = function _verify1(a) { + assert2(a.negative === 0, "red works only with positives"); + assert2(a.red, "red works only with red numbers"); + }; + Red.prototype._verify2 = function _verify2(a, b2) { + assert2((a.negative | b2.negative) === 0, "red works only with positives"); + assert2( + a.red && a.red === b2.red, + "red works only with red numbers" + ); + }; + Red.prototype.imod = function imod(a) { + if (this.prime) + return this.prime.ireduce(a)._forceRed(this); + move(a, a.umod(this.m)._forceRed(this)); + return a; + }; + Red.prototype.neg = function neg3(a) { + if (a.isZero()) { + return a.clone(); + } + return this.m.sub(a)._forceRed(this); + }; + Red.prototype.add = function add3(a, b2) { + this._verify2(a, b2); + var res = a.add(b2); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res._forceRed(this); + }; + Red.prototype.iadd = function iadd(a, b2) { + this._verify2(a, b2); + var res = a.iadd(b2); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res; + }; + Red.prototype.sub = function sub(a, b2) { + this._verify2(a, b2); + var res = a.sub(b2); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res._forceRed(this); + }; + Red.prototype.isub = function isub(a, b2) { + this._verify2(a, b2); + var res = a.isub(b2); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res; + }; + Red.prototype.shl = function shl(a, num) { + this._verify1(a); + return this.imod(a.ushln(num)); + }; + Red.prototype.imul = function imul(a, b2) { + this._verify2(a, b2); + return this.imod(a.imul(b2)); + }; + Red.prototype.mul = function mul3(a, b2) { + this._verify2(a, b2); + return this.imod(a.mul(b2)); + }; + Red.prototype.isqr = function isqr(a) { + return this.imul(a, a.clone()); + }; + Red.prototype.sqr = function sqr(a) { + return this.mul(a, a); + }; + Red.prototype.sqrt = function sqrt(a) { + if (a.isZero()) + return a.clone(); + var mod3 = this.m.andln(3); + assert2(mod3 % 2 === 1); + if (mod3 === 3) { + var pow = this.m.add(new BN2(1)).iushrn(2); + return this.pow(a, pow); + } + var q = this.m.subn(1); + var s2 = 0; + while (!q.isZero() && q.andln(1) === 0) { + s2++; + q.iushrn(1); + } + assert2(!q.isZero()); + var one = new BN2(1).toRed(this); + var nOne = one.redNeg(); + var lpow = this.m.subn(1).iushrn(1); + var z2 = this.m.bitLength(); + z2 = new BN2(2 * z2 * z2).toRed(this); + while (this.pow(z2, lpow).cmp(nOne) !== 0) { + z2.redIAdd(nOne); + } + var c = this.pow(z2, q); + var r2 = this.pow(a, q.addn(1).iushrn(1)); + var t = this.pow(a, q); + var m2 = s2; + while (t.cmp(one) !== 0) { + var tmp = t; + for (var i = 0; tmp.cmp(one) !== 0; i++) { + tmp = tmp.redSqr(); + } + assert2(i < m2); + var b2 = this.pow(c, new BN2(1).iushln(m2 - i - 1)); + r2 = r2.redMul(b2); + c = b2.redSqr(); + t = t.redMul(c); + m2 = i; + } + return r2; + }; + Red.prototype.invm = function invm(a) { + var inv = a._invmp(this.m); + if (inv.negative !== 0) { + inv.negative = 0; + return this.imod(inv).redNeg(); + } else { + return this.imod(inv); + } + }; + Red.prototype.pow = function pow(a, num) { + if (num.isZero()) + return new BN2(1).toRed(this); + if (num.cmpn(1) === 0) + return a.clone(); + var windowSize = 4; + var wnd = new Array(1 << windowSize); + wnd[0] = new BN2(1).toRed(this); + wnd[1] = a; + for (var i = 2; i < wnd.length; i++) { + wnd[i] = this.mul(wnd[i - 1], a); + } + var res = wnd[0]; + var current = 0; + var currentLen = 0; + var start = num.bitLength() % 26; + if (start === 0) { + start = 26; + } + for (i = num.length - 1; i >= 0; i--) { + var word = num.words[i]; + for (var j2 = start - 1; j2 >= 0; j2--) { + var bit = word >> j2 & 1; + if (res !== wnd[0]) { + res = this.sqr(res); + } + if (bit === 0 && current === 0) { + currentLen = 0; + continue; + } + current <<= 1; + current |= bit; + currentLen++; + if (currentLen !== windowSize && (i !== 0 || j2 !== 0)) + continue; + res = this.mul(res, wnd[current]); + currentLen = 0; + current = 0; + } + start = 26; + } + return res; + }; + Red.prototype.convertTo = function convertTo(num) { + var r2 = num.umod(this.m); + return r2 === num ? r2.clone() : r2; + }; + Red.prototype.convertFrom = function convertFrom(num) { + var res = num.clone(); + res.red = null; + return res; + }; + BN2.mont = function mont(num) { + return new Mont(num); + }; + function Mont(m2) { + Red.call(this, m2); + this.shift = this.m.bitLength(); + if (this.shift % 26 !== 0) { + this.shift += 26 - this.shift % 26; + } + this.r = new BN2(1).iushln(this.shift); + this.r2 = this.imod(this.r.sqr()); + this.rinv = this.r._invmp(this.m); + this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); + this.minv = this.minv.umod(this.r); + this.minv = this.r.sub(this.minv); + } + inherits2(Mont, Red); + Mont.prototype.convertTo = function convertTo(num) { + return this.imod(num.ushln(this.shift)); + }; + Mont.prototype.convertFrom = function convertFrom(num) { + var r2 = this.imod(num.mul(this.rinv)); + r2.red = null; + return r2; + }; + Mont.prototype.imul = function imul(a, b2) { + if (a.isZero() || b2.isZero()) { + a.words[0] = 0; + a.length = 1; + return a; + } + var t = a.imul(b2); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u2 = t.isub(c).iushrn(this.shift); + var res = u2; + if (u2.cmp(this.m) >= 0) { + res = u2.isub(this.m); + } else if (u2.cmpn(0) < 0) { + res = u2.iadd(this.m); + } + return res._forceRed(this); + }; + Mont.prototype.mul = function mul3(a, b2) { + if (a.isZero() || b2.isZero()) + return new BN2(0)._forceRed(this); + var t = a.mul(b2); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u2 = t.isub(c).iushrn(this.shift); + var res = u2; + if (u2.cmp(this.m) >= 0) { + res = u2.isub(this.m); + } else if (u2.cmpn(0) < 0) { + res = u2.iadd(this.m); + } + return res._forceRed(this); + }; + Mont.prototype.invm = function invm(a) { + var res = this.imod(a._invmp(this.m).mul(this.r2)); + return res._forceRed(this); + }; + })(module, commonjsGlobal); +})(bn); +var bnExports = bn.exports; +const BN$1 = /* @__PURE__ */ getDefaultExportFromCjs(bnExports); +var BN = BN$1.BN; +function _base36To16(value) { + return new BN(value, 36).toString(16); +} +const version$2 = "strings/5.7.0"; +const logger$2 = new Logger(version$2); +var UnicodeNormalizationForm; +(function(UnicodeNormalizationForm2) { + UnicodeNormalizationForm2["current"] = ""; + UnicodeNormalizationForm2["NFC"] = "NFC"; + UnicodeNormalizationForm2["NFD"] = "NFD"; + UnicodeNormalizationForm2["NFKC"] = "NFKC"; + UnicodeNormalizationForm2["NFKD"] = "NFKD"; +})(UnicodeNormalizationForm || (UnicodeNormalizationForm = {})); +var Utf8ErrorReason; +(function(Utf8ErrorReason2) { + Utf8ErrorReason2["UNEXPECTED_CONTINUE"] = "unexpected continuation byte"; + Utf8ErrorReason2["BAD_PREFIX"] = "bad codepoint prefix"; + Utf8ErrorReason2["OVERRUN"] = "string overrun"; + Utf8ErrorReason2["MISSING_CONTINUE"] = "missing continuation byte"; + Utf8ErrorReason2["OUT_OF_RANGE"] = "out of UTF-8 range"; + Utf8ErrorReason2["UTF16_SURROGATE"] = "UTF-16 surrogate"; + Utf8ErrorReason2["OVERLONG"] = "overlong representation"; +})(Utf8ErrorReason || (Utf8ErrorReason = {})); +function toUtf8Bytes(str, form = UnicodeNormalizationForm.current) { + if (form != UnicodeNormalizationForm.current) { + logger$2.checkNormalize(); + str = str.normalize(form); + } + let result = []; + for (let i = 0; i < str.length; i++) { + const c = str.charCodeAt(i); + if (c < 128) { + result.push(c); + } else if (c < 2048) { + result.push(c >> 6 | 192); + result.push(c & 63 | 128); + } else if ((c & 64512) == 55296) { + i++; + const c2 = str.charCodeAt(i); + if (i >= str.length || (c2 & 64512) !== 56320) { + throw new Error("invalid utf-8 string"); + } + const pair = 65536 + ((c & 1023) << 10) + (c2 & 1023); + result.push(pair >> 18 | 240); + result.push(pair >> 12 & 63 | 128); + result.push(pair >> 6 & 63 | 128); + result.push(pair & 63 | 128); + } else { + result.push(c >> 12 | 224); + result.push(c >> 6 & 63 | 128); + result.push(c & 63 | 128); + } + } + return arrayify(result); +} +const messagePrefix = "Ethereum Signed Message:\n"; +function hashMessage(message) { + if (typeof message === "string") { + message = toUtf8Bytes(message); + } + return keccak256(concat([ + toUtf8Bytes(messagePrefix), + toUtf8Bytes(String(message.length)), + message + ])); +} +const version$1 = "address/5.7.0"; +const logger$1 = new Logger(version$1); +function getChecksumAddress(address) { + if (!isHexString(address, 20)) { + logger$1.throwArgumentError("invalid address", "address", address); + } + address = address.toLowerCase(); + const chars = address.substring(2).split(""); + const expanded = new Uint8Array(40); + for (let i = 0; i < 40; i++) { + expanded[i] = chars[i].charCodeAt(0); + } + const hashed = arrayify(keccak256(expanded)); + for (let i = 0; i < 40; i += 2) { + if (hashed[i >> 1] >> 4 >= 8) { + chars[i] = chars[i].toUpperCase(); + } + if ((hashed[i >> 1] & 15) >= 8) { + chars[i + 1] = chars[i + 1].toUpperCase(); + } + } + return "0x" + chars.join(""); +} +const MAX_SAFE_INTEGER = 9007199254740991; +function log10(x2) { + if (Math.log10) { + return Math.log10(x2); + } + return Math.log(x2) / Math.LN10; +} +const ibanLookup = {}; +for (let i = 0; i < 10; i++) { + ibanLookup[String(i)] = String(i); +} +for (let i = 0; i < 26; i++) { + ibanLookup[String.fromCharCode(65 + i)] = String(10 + i); +} +const safeDigits = Math.floor(log10(MAX_SAFE_INTEGER)); +function ibanChecksum(address) { + address = address.toUpperCase(); + address = address.substring(4) + address.substring(0, 2) + "00"; + let expanded = address.split("").map((c) => { + return ibanLookup[c]; + }).join(""); + while (expanded.length >= safeDigits) { + let block = expanded.substring(0, safeDigits); + expanded = parseInt(block, 10) % 97 + expanded.substring(block.length); + } + let checksum = String(98 - parseInt(expanded, 10) % 97); + while (checksum.length < 2) { + checksum = "0" + checksum; + } + return checksum; +} +function getAddress(address) { + let result = null; + if (typeof address !== "string") { + logger$1.throwArgumentError("invalid address", "address", address); + } + if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) { + if (address.substring(0, 2) !== "0x") { + address = "0x" + address; + } + result = getChecksumAddress(address); + if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) { + logger$1.throwArgumentError("bad address checksum", "address", address); + } + } else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) { + if (address.substring(2, 4) !== ibanChecksum(address)) { + logger$1.throwArgumentError("bad icap checksum", "address", address); + } + result = _base36To16(address.substring(4)); + while (result.length < 40) { + result = "0" + result; + } + result = getChecksumAddress("0x" + result); + } else { + logger$1.throwArgumentError("invalid address", "address", address); + } + return result; +} +globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) { + function adopt(value) { + return value instanceof P2 ? value : new P2(function(resolve) { + resolve(value); + }); + } + return new (P2 || (P2 = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +function defineReadOnly(object, name, value) { + Object.defineProperty(object, name, { + enumerable: true, + value, + writable: false + }); +} +var hash$1 = {}; +var utils$9 = {}; +var minimalisticAssert$1 = assert$b; +function assert$b(val, msg) { + if (!val) + throw new Error(msg || "Assertion failed"); +} +assert$b.equal = function assertEqual(l2, r2, msg) { + if (l2 != r2) + throw new Error(msg || "Assertion failed: " + l2 + " != " + r2); +}; +var inherits_browser$1 = { exports: {} }; +if (typeof Object.create === "function") { + inherits_browser$1.exports = function inherits2(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + } + }; +} else { + inherits_browser$1.exports = function inherits2(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + var TempCtor = function() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + }; +} +var inherits_browserExports = inherits_browser$1.exports; +var assert$a = minimalisticAssert$1; +var inherits = inherits_browserExports; +utils$9.inherits = inherits; +function isSurrogatePair(msg, i) { + if ((msg.charCodeAt(i) & 64512) !== 55296) { + return false; + } + if (i < 0 || i + 1 >= msg.length) { + return false; + } + return (msg.charCodeAt(i + 1) & 64512) === 56320; +} +function toArray(msg, enc) { + if (Array.isArray(msg)) + return msg.slice(); + if (!msg) + return []; + var res = []; + if (typeof msg === "string") { + if (!enc) { + var p2 = 0; + for (var i = 0; i < msg.length; i++) { + var c = msg.charCodeAt(i); + if (c < 128) { + res[p2++] = c; + } else if (c < 2048) { + res[p2++] = c >> 6 | 192; + res[p2++] = c & 63 | 128; + } else if (isSurrogatePair(msg, i)) { + c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023); + res[p2++] = c >> 18 | 240; + res[p2++] = c >> 12 & 63 | 128; + res[p2++] = c >> 6 & 63 | 128; + res[p2++] = c & 63 | 128; + } else { + res[p2++] = c >> 12 | 224; + res[p2++] = c >> 6 & 63 | 128; + res[p2++] = c & 63 | 128; + } + } + } else if (enc === "hex") { + msg = msg.replace(/[^a-z0-9]+/ig, ""); + if (msg.length % 2 !== 0) + msg = "0" + msg; + for (i = 0; i < msg.length; i += 2) + res.push(parseInt(msg[i] + msg[i + 1], 16)); + } + } else { + for (i = 0; i < msg.length; i++) + res[i] = msg[i] | 0; + } + return res; +} +utils$9.toArray = toArray; +function toHex(msg) { + var res = ""; + for (var i = 0; i < msg.length; i++) + res += zero2(msg[i].toString(16)); + return res; +} +utils$9.toHex = toHex; +function htonl(w2) { + var res = w2 >>> 24 | w2 >>> 8 & 65280 | w2 << 8 & 16711680 | (w2 & 255) << 24; + return res >>> 0; +} +utils$9.htonl = htonl; +function toHex32(msg, endian) { + var res = ""; + for (var i = 0; i < msg.length; i++) { + var w2 = msg[i]; + if (endian === "little") + w2 = htonl(w2); + res += zero8(w2.toString(16)); + } + return res; +} +utils$9.toHex32 = toHex32; +function zero2(word) { + if (word.length === 1) + return "0" + word; + else + return word; +} +utils$9.zero2 = zero2; +function zero8(word) { + if (word.length === 7) + return "0" + word; + else if (word.length === 6) + return "00" + word; + else if (word.length === 5) + return "000" + word; + else if (word.length === 4) + return "0000" + word; + else if (word.length === 3) + return "00000" + word; + else if (word.length === 2) + return "000000" + word; + else if (word.length === 1) + return "0000000" + word; + else + return word; +} +utils$9.zero8 = zero8; +function join32(msg, start, end, endian) { + var len = end - start; + assert$a(len % 4 === 0); + var res = new Array(len / 4); + for (var i = 0, k2 = start; i < res.length; i++, k2 += 4) { + var w2; + if (endian === "big") + w2 = msg[k2] << 24 | msg[k2 + 1] << 16 | msg[k2 + 2] << 8 | msg[k2 + 3]; + else + w2 = msg[k2 + 3] << 24 | msg[k2 + 2] << 16 | msg[k2 + 1] << 8 | msg[k2]; + res[i] = w2 >>> 0; + } + return res; +} +utils$9.join32 = join32; +function split32(msg, endian) { + var res = new Array(msg.length * 4); + for (var i = 0, k2 = 0; i < msg.length; i++, k2 += 4) { + var m2 = msg[i]; + if (endian === "big") { + res[k2] = m2 >>> 24; + res[k2 + 1] = m2 >>> 16 & 255; + res[k2 + 2] = m2 >>> 8 & 255; + res[k2 + 3] = m2 & 255; + } else { + res[k2 + 3] = m2 >>> 24; + res[k2 + 2] = m2 >>> 16 & 255; + res[k2 + 1] = m2 >>> 8 & 255; + res[k2] = m2 & 255; + } + } + return res; +} +utils$9.split32 = split32; +function rotr32$1(w2, b2) { + return w2 >>> b2 | w2 << 32 - b2; +} +utils$9.rotr32 = rotr32$1; +function rotl32$2(w2, b2) { + return w2 << b2 | w2 >>> 32 - b2; +} +utils$9.rotl32 = rotl32$2; +function sum32$3(a, b2) { + return a + b2 >>> 0; +} +utils$9.sum32 = sum32$3; +function sum32_3$1(a, b2, c) { + return a + b2 + c >>> 0; +} +utils$9.sum32_3 = sum32_3$1; +function sum32_4$2(a, b2, c, d2) { + return a + b2 + c + d2 >>> 0; +} +utils$9.sum32_4 = sum32_4$2; +function sum32_5$2(a, b2, c, d2, e) { + return a + b2 + c + d2 + e >>> 0; +} +utils$9.sum32_5 = sum32_5$2; +function sum64$1(buf, pos, ah, al) { + var bh = buf[pos]; + var bl = buf[pos + 1]; + var lo = al + bl >>> 0; + var hi = (lo < al ? 1 : 0) + ah + bh; + buf[pos] = hi >>> 0; + buf[pos + 1] = lo; +} +utils$9.sum64 = sum64$1; +function sum64_hi$1(ah, al, bh, bl) { + var lo = al + bl >>> 0; + var hi = (lo < al ? 1 : 0) + ah + bh; + return hi >>> 0; +} +utils$9.sum64_hi = sum64_hi$1; +function sum64_lo$1(ah, al, bh, bl) { + var lo = al + bl; + return lo >>> 0; +} +utils$9.sum64_lo = sum64_lo$1; +function sum64_4_hi$1(ah, al, bh, bl, ch, cl, dh, dl) { + var carry = 0; + var lo = al; + lo = lo + bl >>> 0; + carry += lo < al ? 1 : 0; + lo = lo + cl >>> 0; + carry += lo < cl ? 1 : 0; + lo = lo + dl >>> 0; + carry += lo < dl ? 1 : 0; + var hi = ah + bh + ch + dh + carry; + return hi >>> 0; +} +utils$9.sum64_4_hi = sum64_4_hi$1; +function sum64_4_lo$1(ah, al, bh, bl, ch, cl, dh, dl) { + var lo = al + bl + cl + dl; + return lo >>> 0; +} +utils$9.sum64_4_lo = sum64_4_lo$1; +function sum64_5_hi$1(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { + var carry = 0; + var lo = al; + lo = lo + bl >>> 0; + carry += lo < al ? 1 : 0; + lo = lo + cl >>> 0; + carry += lo < cl ? 1 : 0; + lo = lo + dl >>> 0; + carry += lo < dl ? 1 : 0; + lo = lo + el >>> 0; + carry += lo < el ? 1 : 0; + var hi = ah + bh + ch + dh + eh + carry; + return hi >>> 0; +} +utils$9.sum64_5_hi = sum64_5_hi$1; +function sum64_5_lo$1(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { + var lo = al + bl + cl + dl + el; + return lo >>> 0; +} +utils$9.sum64_5_lo = sum64_5_lo$1; +function rotr64_hi$1(ah, al, num) { + var r2 = al << 32 - num | ah >>> num; + return r2 >>> 0; +} +utils$9.rotr64_hi = rotr64_hi$1; +function rotr64_lo$1(ah, al, num) { + var r2 = ah << 32 - num | al >>> num; + return r2 >>> 0; +} +utils$9.rotr64_lo = rotr64_lo$1; +function shr64_hi$1(ah, al, num) { + return ah >>> num; +} +utils$9.shr64_hi = shr64_hi$1; +function shr64_lo$1(ah, al, num) { + var r2 = ah << 32 - num | al >>> num; + return r2 >>> 0; +} +utils$9.shr64_lo = shr64_lo$1; +var common$5 = {}; +var utils$8 = utils$9; +var assert$9 = minimalisticAssert$1; +function BlockHash$4() { + this.pending = null; + this.pendingTotal = 0; + this.blockSize = this.constructor.blockSize; + this.outSize = this.constructor.outSize; + this.hmacStrength = this.constructor.hmacStrength; + this.padLength = this.constructor.padLength / 8; + this.endian = "big"; + this._delta8 = this.blockSize / 8; + this._delta32 = this.blockSize / 32; +} +common$5.BlockHash = BlockHash$4; +BlockHash$4.prototype.update = function update(msg, enc) { + msg = utils$8.toArray(msg, enc); + if (!this.pending) + this.pending = msg; + else + this.pending = this.pending.concat(msg); + this.pendingTotal += msg.length; + if (this.pending.length >= this._delta8) { + msg = this.pending; + var r2 = msg.length % this._delta8; + this.pending = msg.slice(msg.length - r2, msg.length); + if (this.pending.length === 0) + this.pending = null; + msg = utils$8.join32(msg, 0, msg.length - r2, this.endian); + for (var i = 0; i < msg.length; i += this._delta32) + this._update(msg, i, i + this._delta32); + } + return this; +}; +BlockHash$4.prototype.digest = function digest(enc) { + this.update(this._pad()); + assert$9(this.pending === null); + return this._digest(enc); +}; +BlockHash$4.prototype._pad = function pad() { + var len = this.pendingTotal; + var bytes = this._delta8; + var k2 = bytes - (len + this.padLength) % bytes; + var res = new Array(k2 + this.padLength); + res[0] = 128; + for (var i = 1; i < k2; i++) + res[i] = 0; + len <<= 3; + if (this.endian === "big") { + for (var t = 8; t < this.padLength; t++) + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + res[i++] = len >>> 24 & 255; + res[i++] = len >>> 16 & 255; + res[i++] = len >>> 8 & 255; + res[i++] = len & 255; + } else { + res[i++] = len & 255; + res[i++] = len >>> 8 & 255; + res[i++] = len >>> 16 & 255; + res[i++] = len >>> 24 & 255; + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + res[i++] = 0; + for (t = 8; t < this.padLength; t++) + res[i++] = 0; + } + return res; +}; +var sha = {}; +var common$4 = {}; +var utils$7 = utils$9; +var rotr32 = utils$7.rotr32; +function ft_1$1(s2, x2, y2, z2) { + if (s2 === 0) + return ch32$1(x2, y2, z2); + if (s2 === 1 || s2 === 3) + return p32(x2, y2, z2); + if (s2 === 2) + return maj32$1(x2, y2, z2); +} +common$4.ft_1 = ft_1$1; +function ch32$1(x2, y2, z2) { + return x2 & y2 ^ ~x2 & z2; +} +common$4.ch32 = ch32$1; +function maj32$1(x2, y2, z2) { + return x2 & y2 ^ x2 & z2 ^ y2 & z2; +} +common$4.maj32 = maj32$1; +function p32(x2, y2, z2) { + return x2 ^ y2 ^ z2; +} +common$4.p32 = p32; +function s0_256$1(x2) { + return rotr32(x2, 2) ^ rotr32(x2, 13) ^ rotr32(x2, 22); +} +common$4.s0_256 = s0_256$1; +function s1_256$1(x2) { + return rotr32(x2, 6) ^ rotr32(x2, 11) ^ rotr32(x2, 25); +} +common$4.s1_256 = s1_256$1; +function g0_256$1(x2) { + return rotr32(x2, 7) ^ rotr32(x2, 18) ^ x2 >>> 3; +} +common$4.g0_256 = g0_256$1; +function g1_256$1(x2) { + return rotr32(x2, 17) ^ rotr32(x2, 19) ^ x2 >>> 10; +} +common$4.g1_256 = g1_256$1; +var utils$6 = utils$9; +var common$3 = common$5; +var shaCommon$1 = common$4; +var rotl32$1 = utils$6.rotl32; +var sum32$2 = utils$6.sum32; +var sum32_5$1 = utils$6.sum32_5; +var ft_1 = shaCommon$1.ft_1; +var BlockHash$3 = common$3.BlockHash; +var sha1_K = [ + 1518500249, + 1859775393, + 2400959708, + 3395469782 +]; +function SHA1() { + if (!(this instanceof SHA1)) + return new SHA1(); + BlockHash$3.call(this); + this.h = [ + 1732584193, + 4023233417, + 2562383102, + 271733878, + 3285377520 + ]; + this.W = new Array(80); +} +utils$6.inherits(SHA1, BlockHash$3); +var _1 = SHA1; +SHA1.blockSize = 512; +SHA1.outSize = 160; +SHA1.hmacStrength = 80; +SHA1.padLength = 64; +SHA1.prototype._update = function _update(msg, start) { + var W2 = this.W; + for (var i = 0; i < 16; i++) + W2[i] = msg[start + i]; + for (; i < W2.length; i++) + W2[i] = rotl32$1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16], 1); + var a = this.h[0]; + var b2 = this.h[1]; + var c = this.h[2]; + var d2 = this.h[3]; + var e = this.h[4]; + for (i = 0; i < W2.length; i++) { + var s2 = ~~(i / 20); + var t = sum32_5$1(rotl32$1(a, 5), ft_1(s2, b2, c, d2), e, W2[i], sha1_K[s2]); + e = d2; + d2 = c; + c = rotl32$1(b2, 30); + b2 = a; + a = t; + } + this.h[0] = sum32$2(this.h[0], a); + this.h[1] = sum32$2(this.h[1], b2); + this.h[2] = sum32$2(this.h[2], c); + this.h[3] = sum32$2(this.h[3], d2); + this.h[4] = sum32$2(this.h[4], e); +}; +SHA1.prototype._digest = function digest2(enc) { + if (enc === "hex") + return utils$6.toHex32(this.h, "big"); + else + return utils$6.split32(this.h, "big"); +}; +var utils$5 = utils$9; +var common$2 = common$5; +var shaCommon = common$4; +var assert$8 = minimalisticAssert$1; +var sum32$1 = utils$5.sum32; +var sum32_4$1 = utils$5.sum32_4; +var sum32_5 = utils$5.sum32_5; +var ch32 = shaCommon.ch32; +var maj32 = shaCommon.maj32; +var s0_256 = shaCommon.s0_256; +var s1_256 = shaCommon.s1_256; +var g0_256 = shaCommon.g0_256; +var g1_256 = shaCommon.g1_256; +var BlockHash$2 = common$2.BlockHash; +var sha256_K = [ + 1116352408, + 1899447441, + 3049323471, + 3921009573, + 961987163, + 1508970993, + 2453635748, + 2870763221, + 3624381080, + 310598401, + 607225278, + 1426881987, + 1925078388, + 2162078206, + 2614888103, + 3248222580, + 3835390401, + 4022224774, + 264347078, + 604807628, + 770255983, + 1249150122, + 1555081692, + 1996064986, + 2554220882, + 2821834349, + 2952996808, + 3210313671, + 3336571891, + 3584528711, + 113926993, + 338241895, + 666307205, + 773529912, + 1294757372, + 1396182291, + 1695183700, + 1986661051, + 2177026350, + 2456956037, + 2730485921, + 2820302411, + 3259730800, + 3345764771, + 3516065817, + 3600352804, + 4094571909, + 275423344, + 430227734, + 506948616, + 659060556, + 883997877, + 958139571, + 1322822218, + 1537002063, + 1747873779, + 1955562222, + 2024104815, + 2227730452, + 2361852424, + 2428436474, + 2756734187, + 3204031479, + 3329325298 +]; +function SHA256$1() { + if (!(this instanceof SHA256$1)) + return new SHA256$1(); + BlockHash$2.call(this); + this.h = [ + 1779033703, + 3144134277, + 1013904242, + 2773480762, + 1359893119, + 2600822924, + 528734635, + 1541459225 + ]; + this.k = sha256_K; + this.W = new Array(64); +} +utils$5.inherits(SHA256$1, BlockHash$2); +var _256 = SHA256$1; +SHA256$1.blockSize = 512; +SHA256$1.outSize = 256; +SHA256$1.hmacStrength = 192; +SHA256$1.padLength = 64; +SHA256$1.prototype._update = function _update2(msg, start) { + var W2 = this.W; + for (var i = 0; i < 16; i++) + W2[i] = msg[start + i]; + for (; i < W2.length; i++) + W2[i] = sum32_4$1(g1_256(W2[i - 2]), W2[i - 7], g0_256(W2[i - 15]), W2[i - 16]); + var a = this.h[0]; + var b2 = this.h[1]; + var c = this.h[2]; + var d2 = this.h[3]; + var e = this.h[4]; + var f2 = this.h[5]; + var g2 = this.h[6]; + var h2 = this.h[7]; + assert$8(this.k.length === W2.length); + for (i = 0; i < W2.length; i++) { + var T1 = sum32_5(h2, s1_256(e), ch32(e, f2, g2), this.k[i], W2[i]); + var T2 = sum32$1(s0_256(a), maj32(a, b2, c)); + h2 = g2; + g2 = f2; + f2 = e; + e = sum32$1(d2, T1); + d2 = c; + c = b2; + b2 = a; + a = sum32$1(T1, T2); + } + this.h[0] = sum32$1(this.h[0], a); + this.h[1] = sum32$1(this.h[1], b2); + this.h[2] = sum32$1(this.h[2], c); + this.h[3] = sum32$1(this.h[3], d2); + this.h[4] = sum32$1(this.h[4], e); + this.h[5] = sum32$1(this.h[5], f2); + this.h[6] = sum32$1(this.h[6], g2); + this.h[7] = sum32$1(this.h[7], h2); +}; +SHA256$1.prototype._digest = function digest3(enc) { + if (enc === "hex") + return utils$5.toHex32(this.h, "big"); + else + return utils$5.split32(this.h, "big"); +}; +var utils$4 = utils$9; +var SHA256 = _256; +function SHA224() { + if (!(this instanceof SHA224)) + return new SHA224(); + SHA256.call(this); + this.h = [ + 3238371032, + 914150663, + 812702999, + 4144912697, + 4290775857, + 1750603025, + 1694076839, + 3204075428 + ]; +} +utils$4.inherits(SHA224, SHA256); +var _224 = SHA224; +SHA224.blockSize = 512; +SHA224.outSize = 224; +SHA224.hmacStrength = 192; +SHA224.padLength = 64; +SHA224.prototype._digest = function digest4(enc) { + if (enc === "hex") + return utils$4.toHex32(this.h.slice(0, 7), "big"); + else + return utils$4.split32(this.h.slice(0, 7), "big"); +}; +var utils$3 = utils$9; +var common$1 = common$5; +var assert$7 = minimalisticAssert$1; +var rotr64_hi = utils$3.rotr64_hi; +var rotr64_lo = utils$3.rotr64_lo; +var shr64_hi = utils$3.shr64_hi; +var shr64_lo = utils$3.shr64_lo; +var sum64 = utils$3.sum64; +var sum64_hi = utils$3.sum64_hi; +var sum64_lo = utils$3.sum64_lo; +var sum64_4_hi = utils$3.sum64_4_hi; +var sum64_4_lo = utils$3.sum64_4_lo; +var sum64_5_hi = utils$3.sum64_5_hi; +var sum64_5_lo = utils$3.sum64_5_lo; +var BlockHash$1 = common$1.BlockHash; +var sha512_K = [ + 1116352408, + 3609767458, + 1899447441, + 602891725, + 3049323471, + 3964484399, + 3921009573, + 2173295548, + 961987163, + 4081628472, + 1508970993, + 3053834265, + 2453635748, + 2937671579, + 2870763221, + 3664609560, + 3624381080, + 2734883394, + 310598401, + 1164996542, + 607225278, + 1323610764, + 1426881987, + 3590304994, + 1925078388, + 4068182383, + 2162078206, + 991336113, + 2614888103, + 633803317, + 3248222580, + 3479774868, + 3835390401, + 2666613458, + 4022224774, + 944711139, + 264347078, + 2341262773, + 604807628, + 2007800933, + 770255983, + 1495990901, + 1249150122, + 1856431235, + 1555081692, + 3175218132, + 1996064986, + 2198950837, + 2554220882, + 3999719339, + 2821834349, + 766784016, + 2952996808, + 2566594879, + 3210313671, + 3203337956, + 3336571891, + 1034457026, + 3584528711, + 2466948901, + 113926993, + 3758326383, + 338241895, + 168717936, + 666307205, + 1188179964, + 773529912, + 1546045734, + 1294757372, + 1522805485, + 1396182291, + 2643833823, + 1695183700, + 2343527390, + 1986661051, + 1014477480, + 2177026350, + 1206759142, + 2456956037, + 344077627, + 2730485921, + 1290863460, + 2820302411, + 3158454273, + 3259730800, + 3505952657, + 3345764771, + 106217008, + 3516065817, + 3606008344, + 3600352804, + 1432725776, + 4094571909, + 1467031594, + 275423344, + 851169720, + 430227734, + 3100823752, + 506948616, + 1363258195, + 659060556, + 3750685593, + 883997877, + 3785050280, + 958139571, + 3318307427, + 1322822218, + 3812723403, + 1537002063, + 2003034995, + 1747873779, + 3602036899, + 1955562222, + 1575990012, + 2024104815, + 1125592928, + 2227730452, + 2716904306, + 2361852424, + 442776044, + 2428436474, + 593698344, + 2756734187, + 3733110249, + 3204031479, + 2999351573, + 3329325298, + 3815920427, + 3391569614, + 3928383900, + 3515267271, + 566280711, + 3940187606, + 3454069534, + 4118630271, + 4000239992, + 116418474, + 1914138554, + 174292421, + 2731055270, + 289380356, + 3203993006, + 460393269, + 320620315, + 685471733, + 587496836, + 852142971, + 1086792851, + 1017036298, + 365543100, + 1126000580, + 2618297676, + 1288033470, + 3409855158, + 1501505948, + 4234509866, + 1607167915, + 987167468, + 1816402316, + 1246189591 +]; +function SHA512$1() { + if (!(this instanceof SHA512$1)) + return new SHA512$1(); + BlockHash$1.call(this); + this.h = [ + 1779033703, + 4089235720, + 3144134277, + 2227873595, + 1013904242, + 4271175723, + 2773480762, + 1595750129, + 1359893119, + 2917565137, + 2600822924, + 725511199, + 528734635, + 4215389547, + 1541459225, + 327033209 + ]; + this.k = sha512_K; + this.W = new Array(160); +} +utils$3.inherits(SHA512$1, BlockHash$1); +var _512 = SHA512$1; +SHA512$1.blockSize = 1024; +SHA512$1.outSize = 512; +SHA512$1.hmacStrength = 192; +SHA512$1.padLength = 128; +SHA512$1.prototype._prepareBlock = function _prepareBlock(msg, start) { + var W2 = this.W; + for (var i = 0; i < 32; i++) + W2[i] = msg[start + i]; + for (; i < W2.length; i += 2) { + var c0_hi = g1_512_hi(W2[i - 4], W2[i - 3]); + var c0_lo = g1_512_lo(W2[i - 4], W2[i - 3]); + var c1_hi = W2[i - 14]; + var c1_lo = W2[i - 13]; + var c2_hi = g0_512_hi(W2[i - 30], W2[i - 29]); + var c2_lo = g0_512_lo(W2[i - 30], W2[i - 29]); + var c3_hi = W2[i - 32]; + var c3_lo = W2[i - 31]; + W2[i] = sum64_4_hi( + c0_hi, + c0_lo, + c1_hi, + c1_lo, + c2_hi, + c2_lo, + c3_hi, + c3_lo + ); + W2[i + 1] = sum64_4_lo( + c0_hi, + c0_lo, + c1_hi, + c1_lo, + c2_hi, + c2_lo, + c3_hi, + c3_lo + ); + } +}; +SHA512$1.prototype._update = function _update3(msg, start) { + this._prepareBlock(msg, start); + var W2 = this.W; + var ah = this.h[0]; + var al = this.h[1]; + var bh = this.h[2]; + var bl = this.h[3]; + var ch = this.h[4]; + var cl = this.h[5]; + var dh = this.h[6]; + var dl = this.h[7]; + var eh = this.h[8]; + var el = this.h[9]; + var fh = this.h[10]; + var fl = this.h[11]; + var gh = this.h[12]; + var gl = this.h[13]; + var hh = this.h[14]; + var hl = this.h[15]; + assert$7(this.k.length === W2.length); + for (var i = 0; i < W2.length; i += 2) { + var c0_hi = hh; + var c0_lo = hl; + var c1_hi = s1_512_hi(eh, el); + var c1_lo = s1_512_lo(eh, el); + var c2_hi = ch64_hi(eh, el, fh, fl, gh); + var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl); + var c3_hi = this.k[i]; + var c3_lo = this.k[i + 1]; + var c4_hi = W2[i]; + var c4_lo = W2[i + 1]; + var T1_hi = sum64_5_hi( + c0_hi, + c0_lo, + c1_hi, + c1_lo, + c2_hi, + c2_lo, + c3_hi, + c3_lo, + c4_hi, + c4_lo + ); + var T1_lo = sum64_5_lo( + c0_hi, + c0_lo, + c1_hi, + c1_lo, + c2_hi, + c2_lo, + c3_hi, + c3_lo, + c4_hi, + c4_lo + ); + c0_hi = s0_512_hi(ah, al); + c0_lo = s0_512_lo(ah, al); + c1_hi = maj64_hi(ah, al, bh, bl, ch); + c1_lo = maj64_lo(ah, al, bh, bl, ch, cl); + var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo); + var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo); + hh = gh; + hl = gl; + gh = fh; + gl = fl; + fh = eh; + fl = el; + eh = sum64_hi(dh, dl, T1_hi, T1_lo); + el = sum64_lo(dl, dl, T1_hi, T1_lo); + dh = ch; + dl = cl; + ch = bh; + cl = bl; + bh = ah; + bl = al; + ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo); + al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo); + } + sum64(this.h, 0, ah, al); + sum64(this.h, 2, bh, bl); + sum64(this.h, 4, ch, cl); + sum64(this.h, 6, dh, dl); + sum64(this.h, 8, eh, el); + sum64(this.h, 10, fh, fl); + sum64(this.h, 12, gh, gl); + sum64(this.h, 14, hh, hl); +}; +SHA512$1.prototype._digest = function digest5(enc) { + if (enc === "hex") + return utils$3.toHex32(this.h, "big"); + else + return utils$3.split32(this.h, "big"); +}; +function ch64_hi(xh, xl, yh, yl, zh) { + var r2 = xh & yh ^ ~xh & zh; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function ch64_lo(xh, xl, yh, yl, zh, zl) { + var r2 = xl & yl ^ ~xl & zl; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function maj64_hi(xh, xl, yh, yl, zh) { + var r2 = xh & yh ^ xh & zh ^ yh & zh; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function maj64_lo(xh, xl, yh, yl, zh, zl) { + var r2 = xl & yl ^ xl & zl ^ yl & zl; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function s0_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 28); + var c1_hi = rotr64_hi(xl, xh, 2); + var c2_hi = rotr64_hi(xl, xh, 7); + var r2 = c0_hi ^ c1_hi ^ c2_hi; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function s0_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 28); + var c1_lo = rotr64_lo(xl, xh, 2); + var c2_lo = rotr64_lo(xl, xh, 7); + var r2 = c0_lo ^ c1_lo ^ c2_lo; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function s1_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 14); + var c1_hi = rotr64_hi(xh, xl, 18); + var c2_hi = rotr64_hi(xl, xh, 9); + var r2 = c0_hi ^ c1_hi ^ c2_hi; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function s1_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 14); + var c1_lo = rotr64_lo(xh, xl, 18); + var c2_lo = rotr64_lo(xl, xh, 9); + var r2 = c0_lo ^ c1_lo ^ c2_lo; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function g0_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 1); + var c1_hi = rotr64_hi(xh, xl, 8); + var c2_hi = shr64_hi(xh, xl, 7); + var r2 = c0_hi ^ c1_hi ^ c2_hi; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function g0_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 1); + var c1_lo = rotr64_lo(xh, xl, 8); + var c2_lo = shr64_lo(xh, xl, 7); + var r2 = c0_lo ^ c1_lo ^ c2_lo; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function g1_512_hi(xh, xl) { + var c0_hi = rotr64_hi(xh, xl, 19); + var c1_hi = rotr64_hi(xl, xh, 29); + var c2_hi = shr64_hi(xh, xl, 6); + var r2 = c0_hi ^ c1_hi ^ c2_hi; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +function g1_512_lo(xh, xl) { + var c0_lo = rotr64_lo(xh, xl, 19); + var c1_lo = rotr64_lo(xl, xh, 29); + var c2_lo = shr64_lo(xh, xl, 6); + var r2 = c0_lo ^ c1_lo ^ c2_lo; + if (r2 < 0) + r2 += 4294967296; + return r2; +} +var utils$2 = utils$9; +var SHA512 = _512; +function SHA384() { + if (!(this instanceof SHA384)) + return new SHA384(); + SHA512.call(this); + this.h = [ + 3418070365, + 3238371032, + 1654270250, + 914150663, + 2438529370, + 812702999, + 355462360, + 4144912697, + 1731405415, + 4290775857, + 2394180231, + 1750603025, + 3675008525, + 1694076839, + 1203062813, + 3204075428 + ]; +} +utils$2.inherits(SHA384, SHA512); +var _384 = SHA384; +SHA384.blockSize = 1024; +SHA384.outSize = 384; +SHA384.hmacStrength = 192; +SHA384.padLength = 128; +SHA384.prototype._digest = function digest6(enc) { + if (enc === "hex") + return utils$2.toHex32(this.h.slice(0, 12), "big"); + else + return utils$2.split32(this.h.slice(0, 12), "big"); +}; +sha.sha1 = _1; +sha.sha224 = _224; +sha.sha256 = _256; +sha.sha384 = _384; +sha.sha512 = _512; +var ripemd = {}; +var utils$1 = utils$9; +var common = common$5; +var rotl32 = utils$1.rotl32; +var sum32 = utils$1.sum32; +var sum32_3 = utils$1.sum32_3; +var sum32_4 = utils$1.sum32_4; +var BlockHash = common.BlockHash; +function RIPEMD160() { + if (!(this instanceof RIPEMD160)) + return new RIPEMD160(); + BlockHash.call(this); + this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; + this.endian = "little"; +} +utils$1.inherits(RIPEMD160, BlockHash); +ripemd.ripemd160 = RIPEMD160; +RIPEMD160.blockSize = 512; +RIPEMD160.outSize = 160; +RIPEMD160.hmacStrength = 192; +RIPEMD160.padLength = 64; +RIPEMD160.prototype._update = function update2(msg, start) { + var A2 = this.h[0]; + var B2 = this.h[1]; + var C2 = this.h[2]; + var D2 = this.h[3]; + var E2 = this.h[4]; + var Ah = A2; + var Bh = B2; + var Ch = C2; + var Dh = D2; + var Eh = E2; + for (var j2 = 0; j2 < 80; j2++) { + var T2 = sum32( + rotl32( + sum32_4(A2, f$1(j2, B2, C2, D2), msg[r[j2] + start], K$2(j2)), + s[j2] + ), + E2 + ); + A2 = E2; + E2 = D2; + D2 = rotl32(C2, 10); + C2 = B2; + B2 = T2; + T2 = sum32( + rotl32( + sum32_4(Ah, f$1(79 - j2, Bh, Ch, Dh), msg[rh[j2] + start], Kh(j2)), + sh[j2] + ), + Eh + ); + Ah = Eh; + Eh = Dh; + Dh = rotl32(Ch, 10); + Ch = Bh; + Bh = T2; + } + T2 = sum32_3(this.h[1], C2, Dh); + this.h[1] = sum32_3(this.h[2], D2, Eh); + this.h[2] = sum32_3(this.h[3], E2, Ah); + this.h[3] = sum32_3(this.h[4], A2, Bh); + this.h[4] = sum32_3(this.h[0], B2, Ch); + this.h[0] = T2; +}; +RIPEMD160.prototype._digest = function digest7(enc) { + if (enc === "hex") + return utils$1.toHex32(this.h, "little"); + else + return utils$1.split32(this.h, "little"); +}; +function f$1(j2, x2, y2, z2) { + if (j2 <= 15) + return x2 ^ y2 ^ z2; + else if (j2 <= 31) + return x2 & y2 | ~x2 & z2; + else if (j2 <= 47) + return (x2 | ~y2) ^ z2; + else if (j2 <= 63) + return x2 & z2 | y2 & ~z2; + else + return x2 ^ (y2 | ~z2); +} +function K$2(j2) { + if (j2 <= 15) + return 0; + else if (j2 <= 31) + return 1518500249; + else if (j2 <= 47) + return 1859775393; + else if (j2 <= 63) + return 2400959708; + else + return 2840853838; +} +function Kh(j2) { + if (j2 <= 15) + return 1352829926; + else if (j2 <= 31) + return 1548603684; + else if (j2 <= 47) + return 1836072691; + else if (j2 <= 63) + return 2053994217; + else + return 0; +} +var r = [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 7, + 4, + 13, + 1, + 10, + 6, + 15, + 3, + 12, + 0, + 9, + 5, + 2, + 14, + 11, + 8, + 3, + 10, + 14, + 4, + 9, + 15, + 8, + 1, + 2, + 7, + 0, + 6, + 13, + 11, + 5, + 12, + 1, + 9, + 11, + 10, + 0, + 8, + 12, + 4, + 13, + 3, + 7, + 15, + 14, + 5, + 6, + 2, + 4, + 0, + 5, + 9, + 7, + 12, + 2, + 10, + 14, + 1, + 3, + 8, + 11, + 6, + 15, + 13 +]; +var rh = [ + 5, + 14, + 7, + 0, + 9, + 2, + 11, + 4, + 13, + 6, + 15, + 8, + 1, + 10, + 3, + 12, + 6, + 11, + 3, + 7, + 0, + 13, + 5, + 10, + 14, + 15, + 8, + 12, + 4, + 9, + 1, + 2, + 15, + 5, + 1, + 3, + 7, + 14, + 6, + 9, + 11, + 8, + 12, + 2, + 10, + 0, + 4, + 13, + 8, + 6, + 4, + 1, + 3, + 11, + 15, + 0, + 5, + 12, + 2, + 13, + 9, + 7, + 10, + 14, + 12, + 15, + 10, + 4, + 1, + 5, + 8, + 7, + 6, + 2, + 13, + 14, + 0, + 3, + 9, + 11 +]; +var s = [ + 11, + 14, + 15, + 12, + 5, + 8, + 7, + 9, + 11, + 13, + 14, + 15, + 6, + 7, + 9, + 8, + 7, + 6, + 8, + 13, + 11, + 9, + 7, + 15, + 7, + 12, + 15, + 9, + 11, + 7, + 13, + 12, + 11, + 13, + 6, + 7, + 14, + 9, + 13, + 15, + 14, + 8, + 13, + 6, + 5, + 12, + 7, + 5, + 11, + 12, + 14, + 15, + 14, + 15, + 9, + 8, + 9, + 14, + 5, + 6, + 8, + 6, + 5, + 12, + 9, + 15, + 5, + 11, + 6, + 8, + 13, + 12, + 5, + 12, + 13, + 14, + 11, + 8, + 5, + 6 +]; +var sh = [ + 8, + 9, + 9, + 11, + 13, + 15, + 15, + 5, + 7, + 7, + 8, + 11, + 14, + 14, + 12, + 6, + 9, + 13, + 15, + 7, + 12, + 8, + 9, + 11, + 7, + 7, + 12, + 7, + 6, + 15, + 13, + 11, + 9, + 7, + 15, + 11, + 8, + 6, + 6, + 14, + 12, + 13, + 5, + 14, + 13, + 13, + 7, + 5, + 15, + 5, + 8, + 11, + 14, + 14, + 6, + 14, + 6, + 9, + 12, + 9, + 12, + 5, + 15, + 8, + 8, + 5, + 12, + 9, + 12, + 5, + 14, + 6, + 8, + 13, + 6, + 5, + 15, + 13, + 11, + 11 +]; +var utils = utils$9; +var assert$6 = minimalisticAssert$1; +function Hmac(hash2, key2, enc) { + if (!(this instanceof Hmac)) + return new Hmac(hash2, key2, enc); + this.Hash = hash2; + this.blockSize = hash2.blockSize / 8; + this.outSize = hash2.outSize / 8; + this.inner = null; + this.outer = null; + this._init(utils.toArray(key2, enc)); +} +var hmac = Hmac; +Hmac.prototype._init = function init(key2) { + if (key2.length > this.blockSize) + key2 = new this.Hash().update(key2).digest(); + assert$6(key2.length <= this.blockSize); + for (var i = key2.length; i < this.blockSize; i++) + key2.push(0); + for (i = 0; i < key2.length; i++) + key2[i] ^= 54; + this.inner = new this.Hash().update(key2); + for (i = 0; i < key2.length; i++) + key2[i] ^= 106; + this.outer = new this.Hash().update(key2); +}; +Hmac.prototype.update = function update3(msg, enc) { + this.inner.update(msg, enc); + return this; +}; +Hmac.prototype.digest = function digest8(enc) { + this.outer.update(this.inner.digest()); + return this.outer.digest(enc); +}; +(function(exports) { + var hash2 = exports; + hash2.utils = utils$9; + hash2.common = common$5; + hash2.sha = sha; + hash2.ripemd = ripemd; + hash2.hmac = hmac; + hash2.sha1 = hash2.sha.sha1; + hash2.sha256 = hash2.sha.sha256; + hash2.sha224 = hash2.sha.sha224; + hash2.sha384 = hash2.sha.sha384; + hash2.sha512 = hash2.sha.sha512; + hash2.ripemd160 = hash2.ripemd.ripemd160; +})(hash$1); +const hash = /* @__PURE__ */ getDefaultExportFromCjs(hash$1); +function createCommonjsModule(fn, basedir, module) { + return module = { + path: basedir, + exports: {}, + require: function(path, base2) { + return commonjsRequire(path, base2 === void 0 || base2 === null ? module.path : base2); + } + }, fn(module, module.exports), module.exports; +} +function commonjsRequire() { + throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs"); +} +var minimalisticAssert = assert; +function assert(val, msg) { + if (!val) + throw new Error(msg || "Assertion failed"); +} +assert.equal = function assertEqual2(l2, r2, msg) { + if (l2 != r2) + throw new Error(msg || "Assertion failed: " + l2 + " != " + r2); +}; +var utils_1 = createCommonjsModule(function(module, exports) { + var utils2 = exports; + function toArray2(msg, enc) { + if (Array.isArray(msg)) + return msg.slice(); + if (!msg) + return []; + var res = []; + if (typeof msg !== "string") { + for (var i = 0; i < msg.length; i++) + res[i] = msg[i] | 0; + return res; + } + if (enc === "hex") { + msg = msg.replace(/[^a-z0-9]+/ig, ""); + if (msg.length % 2 !== 0) + msg = "0" + msg; + for (var i = 0; i < msg.length; i += 2) + res.push(parseInt(msg[i] + msg[i + 1], 16)); + } else { + for (var i = 0; i < msg.length; i++) { + var c = msg.charCodeAt(i); + var hi = c >> 8; + var lo = c & 255; + if (hi) + res.push(hi, lo); + else + res.push(lo); + } + } + return res; + } + utils2.toArray = toArray2; + function zero22(word) { + if (word.length === 1) + return "0" + word; + else + return word; + } + utils2.zero2 = zero22; + function toHex2(msg) { + var res = ""; + for (var i = 0; i < msg.length; i++) + res += zero22(msg[i].toString(16)); + return res; + } + utils2.toHex = toHex2; + utils2.encode = function encode2(arr, enc) { + if (enc === "hex") + return toHex2(arr); + else + return arr; + }; +}); +var utils_1$1 = createCommonjsModule(function(module, exports) { + var utils2 = exports; + utils2.assert = minimalisticAssert; + utils2.toArray = utils_1.toArray; + utils2.zero2 = utils_1.zero2; + utils2.toHex = utils_1.toHex; + utils2.encode = utils_1.encode; + function getNAF2(num, w2, bits) { + var naf = new Array(Math.max(num.bitLength(), bits) + 1); + naf.fill(0); + var ws = 1 << w2 + 1; + var k2 = num.clone(); + for (var i = 0; i < naf.length; i++) { + var z2; + var mod = k2.andln(ws - 1); + if (k2.isOdd()) { + if (mod > (ws >> 1) - 1) + z2 = (ws >> 1) - mod; + else + z2 = mod; + k2.isubn(z2); + } else { + z2 = 0; + } + naf[i] = z2; + k2.iushrn(1); + } + return naf; + } + utils2.getNAF = getNAF2; + function getJSF2(k1, k2) { + var jsf = [ + [], + [] + ]; + k1 = k1.clone(); + k2 = k2.clone(); + var d1 = 0; + var d2 = 0; + var m8; + while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) { + var m14 = k1.andln(3) + d1 & 3; + var m24 = k2.andln(3) + d2 & 3; + if (m14 === 3) + m14 = -1; + if (m24 === 3) + m24 = -1; + var u1; + if ((m14 & 1) === 0) { + u1 = 0; + } else { + m8 = k1.andln(7) + d1 & 7; + if ((m8 === 3 || m8 === 5) && m24 === 2) + u1 = -m14; + else + u1 = m14; + } + jsf[0].push(u1); + var u2; + if ((m24 & 1) === 0) { + u2 = 0; + } else { + m8 = k2.andln(7) + d2 & 7; + if ((m8 === 3 || m8 === 5) && m14 === 2) + u2 = -m24; + else + u2 = m24; + } + jsf[1].push(u2); + if (2 * d1 === u1 + 1) + d1 = 1 - d1; + if (2 * d2 === u2 + 1) + d2 = 1 - d2; + k1.iushrn(1); + k2.iushrn(1); + } + return jsf; + } + utils2.getJSF = getJSF2; + function cachedProperty(obj, name, computer) { + var key2 = "_" + name; + obj.prototype[name] = function cachedProperty2() { + return this[key2] !== void 0 ? this[key2] : this[key2] = computer.call(this); + }; + } + utils2.cachedProperty = cachedProperty; + function parseBytes(bytes) { + return typeof bytes === "string" ? utils2.toArray(bytes, "hex") : bytes; + } + utils2.parseBytes = parseBytes; + function intFromLE(bytes) { + return new BN$1(bytes, "hex", "le"); + } + utils2.intFromLE = intFromLE; +}); +var getNAF = utils_1$1.getNAF; +var getJSF = utils_1$1.getJSF; +var assert$1 = utils_1$1.assert; +function BaseCurve(type, conf) { + this.type = type; + this.p = new BN$1(conf.p, 16); + this.red = conf.prime ? BN$1.red(conf.prime) : BN$1.mont(this.p); + this.zero = new BN$1(0).toRed(this.red); + this.one = new BN$1(1).toRed(this.red); + this.two = new BN$1(2).toRed(this.red); + this.n = conf.n && new BN$1(conf.n, 16); + this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed); + this._wnafT1 = new Array(4); + this._wnafT2 = new Array(4); + this._wnafT3 = new Array(4); + this._wnafT4 = new Array(4); + this._bitLength = this.n ? this.n.bitLength() : 0; + var adjustCount = this.n && this.p.div(this.n); + if (!adjustCount || adjustCount.cmpn(100) > 0) { + this.redN = null; + } else { + this._maxwellTrick = true; + this.redN = this.n.toRed(this.red); + } +} +var base = BaseCurve; +BaseCurve.prototype.point = function point() { + throw new Error("Not implemented"); +}; +BaseCurve.prototype.validate = function validate() { + throw new Error("Not implemented"); +}; +BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p2, k2) { + assert$1(p2.precomputed); + var doubles = p2._getDoubles(); + var naf = getNAF(k2, 1, this._bitLength); + var I2 = (1 << doubles.step + 1) - (doubles.step % 2 === 0 ? 2 : 1); + I2 /= 3; + var repr = []; + var j2; + var nafW; + for (j2 = 0; j2 < naf.length; j2 += doubles.step) { + nafW = 0; + for (var l2 = j2 + doubles.step - 1; l2 >= j2; l2--) + nafW = (nafW << 1) + naf[l2]; + repr.push(nafW); + } + var a = this.jpoint(null, null, null); + var b2 = this.jpoint(null, null, null); + for (var i = I2; i > 0; i--) { + for (j2 = 0; j2 < repr.length; j2++) { + nafW = repr[j2]; + if (nafW === i) + b2 = b2.mixedAdd(doubles.points[j2]); + else if (nafW === -i) + b2 = b2.mixedAdd(doubles.points[j2].neg()); + } + a = a.add(b2); + } + return a.toP(); +}; +BaseCurve.prototype._wnafMul = function _wnafMul(p2, k2) { + var w2 = 4; + var nafPoints = p2._getNAFPoints(w2); + w2 = nafPoints.wnd; + var wnd = nafPoints.points; + var naf = getNAF(k2, w2, this._bitLength); + var acc = this.jpoint(null, null, null); + for (var i = naf.length - 1; i >= 0; i--) { + for (var l2 = 0; i >= 0 && naf[i] === 0; i--) + l2++; + if (i >= 0) + l2++; + acc = acc.dblp(l2); + if (i < 0) + break; + var z2 = naf[i]; + assert$1(z2 !== 0); + if (p2.type === "affine") { + if (z2 > 0) + acc = acc.mixedAdd(wnd[z2 - 1 >> 1]); + else + acc = acc.mixedAdd(wnd[-z2 - 1 >> 1].neg()); + } else { + if (z2 > 0) + acc = acc.add(wnd[z2 - 1 >> 1]); + else + acc = acc.add(wnd[-z2 - 1 >> 1].neg()); + } + } + return p2.type === "affine" ? acc.toP() : acc; +}; +BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW, points, coeffs, len, jacobianResult) { + var wndWidth = this._wnafT1; + var wnd = this._wnafT2; + var naf = this._wnafT3; + var max = 0; + var i; + var j2; + var p2; + for (i = 0; i < len; i++) { + p2 = points[i]; + var nafPoints = p2._getNAFPoints(defW); + wndWidth[i] = nafPoints.wnd; + wnd[i] = nafPoints.points; + } + for (i = len - 1; i >= 1; i -= 2) { + var a = i - 1; + var b2 = i; + if (wndWidth[a] !== 1 || wndWidth[b2] !== 1) { + naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength); + naf[b2] = getNAF(coeffs[b2], wndWidth[b2], this._bitLength); + max = Math.max(naf[a].length, max); + max = Math.max(naf[b2].length, max); + continue; + } + var comb = [ + points[a], + /* 1 */ + null, + /* 3 */ + null, + /* 5 */ + points[b2] + /* 7 */ + ]; + if (points[a].y.cmp(points[b2].y) === 0) { + comb[1] = points[a].add(points[b2]); + comb[2] = points[a].toJ().mixedAdd(points[b2].neg()); + } else if (points[a].y.cmp(points[b2].y.redNeg()) === 0) { + comb[1] = points[a].toJ().mixedAdd(points[b2]); + comb[2] = points[a].add(points[b2].neg()); + } else { + comb[1] = points[a].toJ().mixedAdd(points[b2]); + comb[2] = points[a].toJ().mixedAdd(points[b2].neg()); + } + var index = [ + -3, + /* -1 -1 */ + -1, + /* -1 0 */ + -5, + /* -1 1 */ + -7, + /* 0 -1 */ + 0, + /* 0 0 */ + 7, + /* 0 1 */ + 5, + /* 1 -1 */ + 1, + /* 1 0 */ + 3 + /* 1 1 */ + ]; + var jsf = getJSF(coeffs[a], coeffs[b2]); + max = Math.max(jsf[0].length, max); + naf[a] = new Array(max); + naf[b2] = new Array(max); + for (j2 = 0; j2 < max; j2++) { + var ja = jsf[0][j2] | 0; + var jb = jsf[1][j2] | 0; + naf[a][j2] = index[(ja + 1) * 3 + (jb + 1)]; + naf[b2][j2] = 0; + wnd[a] = comb; + } + } + var acc = this.jpoint(null, null, null); + var tmp = this._wnafT4; + for (i = max; i >= 0; i--) { + var k2 = 0; + while (i >= 0) { + var zero = true; + for (j2 = 0; j2 < len; j2++) { + tmp[j2] = naf[j2][i] | 0; + if (tmp[j2] !== 0) + zero = false; + } + if (!zero) + break; + k2++; + i--; + } + if (i >= 0) + k2++; + acc = acc.dblp(k2); + if (i < 0) + break; + for (j2 = 0; j2 < len; j2++) { + var z2 = tmp[j2]; + if (z2 === 0) + continue; + else if (z2 > 0) + p2 = wnd[j2][z2 - 1 >> 1]; + else if (z2 < 0) + p2 = wnd[j2][-z2 - 1 >> 1].neg(); + if (p2.type === "affine") + acc = acc.mixedAdd(p2); + else + acc = acc.add(p2); + } + } + for (i = 0; i < len; i++) + wnd[i] = null; + if (jacobianResult) + return acc; + else + return acc.toP(); +}; +function BasePoint(curve, type) { + this.curve = curve; + this.type = type; + this.precomputed = null; +} +BaseCurve.BasePoint = BasePoint; +BasePoint.prototype.eq = function eq() { + throw new Error("Not implemented"); +}; +BasePoint.prototype.validate = function validate2() { + return this.curve.validate(this); +}; +BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) { + bytes = utils_1$1.toArray(bytes, enc); + var len = this.p.byteLength(); + if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) { + if (bytes[0] === 6) + assert$1(bytes[bytes.length - 1] % 2 === 0); + else if (bytes[0] === 7) + assert$1(bytes[bytes.length - 1] % 2 === 1); + var res = this.point( + bytes.slice(1, 1 + len), + bytes.slice(1 + len, 1 + 2 * len) + ); + return res; + } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len) { + return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3); + } + throw new Error("Unknown point format"); +}; +BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) { + return this.encode(enc, true); +}; +BasePoint.prototype._encode = function _encode(compact) { + var len = this.curve.p.byteLength(); + var x2 = this.getX().toArray("be", len); + if (compact) + return [this.getY().isEven() ? 2 : 3].concat(x2); + return [4].concat(x2, this.getY().toArray("be", len)); +}; +BasePoint.prototype.encode = function encode(enc, compact) { + return utils_1$1.encode(this._encode(compact), enc); +}; +BasePoint.prototype.precompute = function precompute(power) { + if (this.precomputed) + return this; + var precomputed = { + doubles: null, + naf: null, + beta: null + }; + precomputed.naf = this._getNAFPoints(8); + precomputed.doubles = this._getDoubles(4, power); + precomputed.beta = this._getBeta(); + this.precomputed = precomputed; + return this; +}; +BasePoint.prototype._hasDoubles = function _hasDoubles(k2) { + if (!this.precomputed) + return false; + var doubles = this.precomputed.doubles; + if (!doubles) + return false; + return doubles.points.length >= Math.ceil((k2.bitLength() + 1) / doubles.step); +}; +BasePoint.prototype._getDoubles = function _getDoubles(step, power) { + if (this.precomputed && this.precomputed.doubles) + return this.precomputed.doubles; + var doubles = [this]; + var acc = this; + for (var i = 0; i < power; i += step) { + for (var j2 = 0; j2 < step; j2++) + acc = acc.dbl(); + doubles.push(acc); + } + return { + step, + points: doubles + }; +}; +BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) { + if (this.precomputed && this.precomputed.naf) + return this.precomputed.naf; + var res = [this]; + var max = (1 << wnd) - 1; + var dbl3 = max === 1 ? null : this.dbl(); + for (var i = 1; i < max; i++) + res[i] = res[i - 1].add(dbl3); + return { + wnd, + points: res + }; +}; +BasePoint.prototype._getBeta = function _getBeta() { + return null; +}; +BasePoint.prototype.dblp = function dblp(k2) { + var r2 = this; + for (var i = 0; i < k2; i++) + r2 = r2.dbl(); + return r2; +}; +var inherits_browser = createCommonjsModule(function(module) { + if (typeof Object.create === "function") { + module.exports = function inherits2(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + } + }; + } else { + module.exports = function inherits2(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + var TempCtor = function() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + }; + } +}); +var assert$2 = utils_1$1.assert; +function ShortCurve(conf) { + base.call(this, "short", conf); + this.a = new BN$1(conf.a, 16).toRed(this.red); + this.b = new BN$1(conf.b, 16).toRed(this.red); + this.tinv = this.two.redInvm(); + this.zeroA = this.a.fromRed().cmpn(0) === 0; + this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0; + this.endo = this._getEndomorphism(conf); + this._endoWnafT1 = new Array(4); + this._endoWnafT2 = new Array(4); +} +inherits_browser(ShortCurve, base); +var short_1 = ShortCurve; +ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { + if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) + return; + var beta; + var lambda; + if (conf.beta) { + beta = new BN$1(conf.beta, 16).toRed(this.red); + } else { + var betas = this._getEndoRoots(this.p); + beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1]; + beta = beta.toRed(this.red); + } + if (conf.lambda) { + lambda = new BN$1(conf.lambda, 16); + } else { + var lambdas = this._getEndoRoots(this.n); + if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) { + lambda = lambdas[0]; + } else { + lambda = lambdas[1]; + assert$2(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0); + } + } + var basis; + if (conf.basis) { + basis = conf.basis.map(function(vec) { + return { + a: new BN$1(vec.a, 16), + b: new BN$1(vec.b, 16) + }; + }); + } else { + basis = this._getEndoBasis(lambda); + } + return { + beta, + lambda, + basis + }; +}; +ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) { + var red = num === this.p ? this.red : BN$1.mont(num); + var tinv = new BN$1(2).toRed(red).redInvm(); + var ntinv = tinv.redNeg(); + var s2 = new BN$1(3).toRed(red).redNeg().redSqrt().redMul(tinv); + var l1 = ntinv.redAdd(s2).fromRed(); + var l2 = ntinv.redSub(s2).fromRed(); + return [l1, l2]; +}; +ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) { + var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)); + var u2 = lambda; + var v2 = this.n.clone(); + var x1 = new BN$1(1); + var y1 = new BN$1(0); + var x2 = new BN$1(0); + var y2 = new BN$1(1); + var a0; + var b0; + var a1; + var b1; + var a2; + var b2; + var prevR; + var i = 0; + var r2; + var x3; + while (u2.cmpn(0) !== 0) { + var q = v2.div(u2); + r2 = v2.sub(q.mul(u2)); + x3 = x2.sub(q.mul(x1)); + var y3 = y2.sub(q.mul(y1)); + if (!a1 && r2.cmp(aprxSqrt) < 0) { + a0 = prevR.neg(); + b0 = x1; + a1 = r2.neg(); + b1 = x3; + } else if (a1 && ++i === 2) { + break; + } + prevR = r2; + v2 = u2; + u2 = r2; + x2 = x1; + x1 = x3; + y2 = y1; + y1 = y3; + } + a2 = r2.neg(); + b2 = x3; + var len1 = a1.sqr().add(b1.sqr()); + var len2 = a2.sqr().add(b2.sqr()); + if (len2.cmp(len1) >= 0) { + a2 = a0; + b2 = b0; + } + if (a1.negative) { + a1 = a1.neg(); + b1 = b1.neg(); + } + if (a2.negative) { + a2 = a2.neg(); + b2 = b2.neg(); + } + return [ + { a: a1, b: b1 }, + { a: a2, b: b2 } + ]; +}; +ShortCurve.prototype._endoSplit = function _endoSplit(k2) { + var basis = this.endo.basis; + var v1 = basis[0]; + var v2 = basis[1]; + var c1 = v2.b.mul(k2).divRound(this.n); + var c2 = v1.b.neg().mul(k2).divRound(this.n); + var p1 = c1.mul(v1.a); + var p2 = c2.mul(v2.a); + var q1 = c1.mul(v1.b); + var q2 = c2.mul(v2.b); + var k1 = k2.sub(p1).sub(p2); + var k22 = q1.add(q2).neg(); + return { k1, k2: k22 }; +}; +ShortCurve.prototype.pointFromX = function pointFromX(x2, odd) { + x2 = new BN$1(x2, 16); + if (!x2.red) + x2 = x2.toRed(this.red); + var y2 = x2.redSqr().redMul(x2).redIAdd(x2.redMul(this.a)).redIAdd(this.b); + var y3 = y2.redSqrt(); + if (y3.redSqr().redSub(y2).cmp(this.zero) !== 0) + throw new Error("invalid point"); + var isOdd = y3.fromRed().isOdd(); + if (odd && !isOdd || !odd && isOdd) + y3 = y3.redNeg(); + return this.point(x2, y3); +}; +ShortCurve.prototype.validate = function validate3(point3) { + if (point3.inf) + return true; + var x2 = point3.x; + var y2 = point3.y; + var ax = this.a.redMul(x2); + var rhs = x2.redSqr().redMul(x2).redIAdd(ax).redIAdd(this.b); + return y2.redSqr().redISub(rhs).cmpn(0) === 0; +}; +ShortCurve.prototype._endoWnafMulAdd = function _endoWnafMulAdd(points, coeffs, jacobianResult) { + var npoints = this._endoWnafT1; + var ncoeffs = this._endoWnafT2; + for (var i = 0; i < points.length; i++) { + var split = this._endoSplit(coeffs[i]); + var p2 = points[i]; + var beta = p2._getBeta(); + if (split.k1.negative) { + split.k1.ineg(); + p2 = p2.neg(true); + } + if (split.k2.negative) { + split.k2.ineg(); + beta = beta.neg(true); + } + npoints[i * 2] = p2; + npoints[i * 2 + 1] = beta; + ncoeffs[i * 2] = split.k1; + ncoeffs[i * 2 + 1] = split.k2; + } + var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult); + for (var j2 = 0; j2 < i * 2; j2++) { + npoints[j2] = null; + ncoeffs[j2] = null; + } + return res; +}; +function Point(curve, x2, y2, isRed) { + base.BasePoint.call(this, curve, "affine"); + if (x2 === null && y2 === null) { + this.x = null; + this.y = null; + this.inf = true; + } else { + this.x = new BN$1(x2, 16); + this.y = new BN$1(y2, 16); + if (isRed) { + this.x.forceRed(this.curve.red); + this.y.forceRed(this.curve.red); + } + if (!this.x.red) + this.x = this.x.toRed(this.curve.red); + if (!this.y.red) + this.y = this.y.toRed(this.curve.red); + this.inf = false; + } +} +inherits_browser(Point, base.BasePoint); +ShortCurve.prototype.point = function point2(x2, y2, isRed) { + return new Point(this, x2, y2, isRed); +}; +ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) { + return Point.fromJSON(this, obj, red); +}; +Point.prototype._getBeta = function _getBeta2() { + if (!this.curve.endo) + return; + var pre = this.precomputed; + if (pre && pre.beta) + return pre.beta; + var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y); + if (pre) { + var curve = this.curve; + var endoMul = function(p2) { + return curve.point(p2.x.redMul(curve.endo.beta), p2.y); + }; + pre.beta = beta; + beta.precomputed = { + beta: null, + naf: pre.naf && { + wnd: pre.naf.wnd, + points: pre.naf.points.map(endoMul) + }, + doubles: pre.doubles && { + step: pre.doubles.step, + points: pre.doubles.points.map(endoMul) + } + }; + } + return beta; +}; +Point.prototype.toJSON = function toJSON() { + if (!this.precomputed) + return [this.x, this.y]; + return [this.x, this.y, this.precomputed && { + doubles: this.precomputed.doubles && { + step: this.precomputed.doubles.step, + points: this.precomputed.doubles.points.slice(1) + }, + naf: this.precomputed.naf && { + wnd: this.precomputed.naf.wnd, + points: this.precomputed.naf.points.slice(1) + } + }]; +}; +Point.fromJSON = function fromJSON(curve, obj, red) { + if (typeof obj === "string") + obj = JSON.parse(obj); + var res = curve.point(obj[0], obj[1], red); + if (!obj[2]) + return res; + function obj2point(obj2) { + return curve.point(obj2[0], obj2[1], red); + } + var pre = obj[2]; + res.precomputed = { + beta: null, + doubles: pre.doubles && { + step: pre.doubles.step, + points: [res].concat(pre.doubles.points.map(obj2point)) + }, + naf: pre.naf && { + wnd: pre.naf.wnd, + points: [res].concat(pre.naf.points.map(obj2point)) + } + }; + return res; +}; +Point.prototype.inspect = function inspect() { + if (this.isInfinity()) + return ""; + return ""; +}; +Point.prototype.isInfinity = function isInfinity() { + return this.inf; +}; +Point.prototype.add = function add(p2) { + if (this.inf) + return p2; + if (p2.inf) + return this; + if (this.eq(p2)) + return this.dbl(); + if (this.neg().eq(p2)) + return this.curve.point(null, null); + if (this.x.cmp(p2.x) === 0) + return this.curve.point(null, null); + var c = this.y.redSub(p2.y); + if (c.cmpn(0) !== 0) + c = c.redMul(this.x.redSub(p2.x).redInvm()); + var nx = c.redSqr().redISub(this.x).redISub(p2.x); + var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); + return this.curve.point(nx, ny); +}; +Point.prototype.dbl = function dbl() { + if (this.inf) + return this; + var ys1 = this.y.redAdd(this.y); + if (ys1.cmpn(0) === 0) + return this.curve.point(null, null); + var a = this.curve.a; + var x2 = this.x.redSqr(); + var dyinv = ys1.redInvm(); + var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv); + var nx = c.redSqr().redISub(this.x.redAdd(this.x)); + var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); + return this.curve.point(nx, ny); +}; +Point.prototype.getX = function getX() { + return this.x.fromRed(); +}; +Point.prototype.getY = function getY() { + return this.y.fromRed(); +}; +Point.prototype.mul = function mul(k2) { + k2 = new BN$1(k2, 16); + if (this.isInfinity()) + return this; + else if (this._hasDoubles(k2)) + return this.curve._fixedNafMul(this, k2); + else if (this.curve.endo) + return this.curve._endoWnafMulAdd([this], [k2]); + else + return this.curve._wnafMul(this, k2); +}; +Point.prototype.mulAdd = function mulAdd(k1, p2, k2) { + var points = [this, p2]; + var coeffs = [k1, k2]; + if (this.curve.endo) + return this.curve._endoWnafMulAdd(points, coeffs); + else + return this.curve._wnafMulAdd(1, points, coeffs, 2); +}; +Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) { + var points = [this, p2]; + var coeffs = [k1, k2]; + if (this.curve.endo) + return this.curve._endoWnafMulAdd(points, coeffs, true); + else + return this.curve._wnafMulAdd(1, points, coeffs, 2, true); +}; +Point.prototype.eq = function eq2(p2) { + return this === p2 || this.inf === p2.inf && (this.inf || this.x.cmp(p2.x) === 0 && this.y.cmp(p2.y) === 0); +}; +Point.prototype.neg = function neg(_precompute) { + if (this.inf) + return this; + var res = this.curve.point(this.x, this.y.redNeg()); + if (_precompute && this.precomputed) { + var pre = this.precomputed; + var negate = function(p2) { + return p2.neg(); + }; + res.precomputed = { + naf: pre.naf && { + wnd: pre.naf.wnd, + points: pre.naf.points.map(negate) + }, + doubles: pre.doubles && { + step: pre.doubles.step, + points: pre.doubles.points.map(negate) + } + }; + } + return res; +}; +Point.prototype.toJ = function toJ() { + if (this.inf) + return this.curve.jpoint(null, null, null); + var res = this.curve.jpoint(this.x, this.y, this.curve.one); + return res; +}; +function JPoint(curve, x2, y2, z2) { + base.BasePoint.call(this, curve, "jacobian"); + if (x2 === null && y2 === null && z2 === null) { + this.x = this.curve.one; + this.y = this.curve.one; + this.z = new BN$1(0); + } else { + this.x = new BN$1(x2, 16); + this.y = new BN$1(y2, 16); + this.z = new BN$1(z2, 16); + } + if (!this.x.red) + this.x = this.x.toRed(this.curve.red); + if (!this.y.red) + this.y = this.y.toRed(this.curve.red); + if (!this.z.red) + this.z = this.z.toRed(this.curve.red); + this.zOne = this.z === this.curve.one; +} +inherits_browser(JPoint, base.BasePoint); +ShortCurve.prototype.jpoint = function jpoint(x2, y2, z2) { + return new JPoint(this, x2, y2, z2); +}; +JPoint.prototype.toP = function toP() { + if (this.isInfinity()) + return this.curve.point(null, null); + var zinv = this.z.redInvm(); + var zinv2 = zinv.redSqr(); + var ax = this.x.redMul(zinv2); + var ay = this.y.redMul(zinv2).redMul(zinv); + return this.curve.point(ax, ay); +}; +JPoint.prototype.neg = function neg2() { + return this.curve.jpoint(this.x, this.y.redNeg(), this.z); +}; +JPoint.prototype.add = function add2(p2) { + if (this.isInfinity()) + return p2; + if (p2.isInfinity()) + return this; + var pz2 = p2.z.redSqr(); + var z2 = this.z.redSqr(); + var u1 = this.x.redMul(pz2); + var u2 = p2.x.redMul(z2); + var s1 = this.y.redMul(pz2.redMul(p2.z)); + var s2 = p2.y.redMul(z2.redMul(this.z)); + var h2 = u1.redSub(u2); + var r2 = s1.redSub(s2); + if (h2.cmpn(0) === 0) { + if (r2.cmpn(0) !== 0) + return this.curve.jpoint(null, null, null); + else + return this.dbl(); + } + var h22 = h2.redSqr(); + var h3 = h22.redMul(h2); + var v2 = u1.redMul(h22); + var nx = r2.redSqr().redIAdd(h3).redISub(v2).redISub(v2); + var ny = r2.redMul(v2.redISub(nx)).redISub(s1.redMul(h3)); + var nz = this.z.redMul(p2.z).redMul(h2); + return this.curve.jpoint(nx, ny, nz); +}; +JPoint.prototype.mixedAdd = function mixedAdd(p2) { + if (this.isInfinity()) + return p2.toJ(); + if (p2.isInfinity()) + return this; + var z2 = this.z.redSqr(); + var u1 = this.x; + var u2 = p2.x.redMul(z2); + var s1 = this.y; + var s2 = p2.y.redMul(z2).redMul(this.z); + var h2 = u1.redSub(u2); + var r2 = s1.redSub(s2); + if (h2.cmpn(0) === 0) { + if (r2.cmpn(0) !== 0) + return this.curve.jpoint(null, null, null); + else + return this.dbl(); + } + var h22 = h2.redSqr(); + var h3 = h22.redMul(h2); + var v2 = u1.redMul(h22); + var nx = r2.redSqr().redIAdd(h3).redISub(v2).redISub(v2); + var ny = r2.redMul(v2.redISub(nx)).redISub(s1.redMul(h3)); + var nz = this.z.redMul(h2); + return this.curve.jpoint(nx, ny, nz); +}; +JPoint.prototype.dblp = function dblp2(pow) { + if (pow === 0) + return this; + if (this.isInfinity()) + return this; + if (!pow) + return this.dbl(); + var i; + if (this.curve.zeroA || this.curve.threeA) { + var r2 = this; + for (i = 0; i < pow; i++) + r2 = r2.dbl(); + return r2; + } + var a = this.curve.a; + var tinv = this.curve.tinv; + var jx = this.x; + var jy = this.y; + var jz = this.z; + var jz4 = jz.redSqr().redSqr(); + var jyd = jy.redAdd(jy); + for (i = 0; i < pow; i++) { + var jx2 = jx.redSqr(); + var jyd2 = jyd.redSqr(); + var jyd4 = jyd2.redSqr(); + var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); + var t1 = jx.redMul(jyd2); + var nx = c.redSqr().redISub(t1.redAdd(t1)); + var t2 = t1.redISub(nx); + var dny = c.redMul(t2); + dny = dny.redIAdd(dny).redISub(jyd4); + var nz = jyd.redMul(jz); + if (i + 1 < pow) + jz4 = jz4.redMul(jyd4); + jx = nx; + jz = nz; + jyd = dny; + } + return this.curve.jpoint(jx, jyd.redMul(tinv), jz); +}; +JPoint.prototype.dbl = function dbl2() { + if (this.isInfinity()) + return this; + if (this.curve.zeroA) + return this._zeroDbl(); + else if (this.curve.threeA) + return this._threeDbl(); + else + return this._dbl(); +}; +JPoint.prototype._zeroDbl = function _zeroDbl() { + var nx; + var ny; + var nz; + if (this.zOne) { + var xx = this.x.redSqr(); + var yy = this.y.redSqr(); + var yyyy = yy.redSqr(); + var s2 = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); + s2 = s2.redIAdd(s2); + var m2 = xx.redAdd(xx).redIAdd(xx); + var t = m2.redSqr().redISub(s2).redISub(s2); + var yyyy8 = yyyy.redIAdd(yyyy); + yyyy8 = yyyy8.redIAdd(yyyy8); + yyyy8 = yyyy8.redIAdd(yyyy8); + nx = t; + ny = m2.redMul(s2.redISub(t)).redISub(yyyy8); + nz = this.y.redAdd(this.y); + } else { + var a = this.x.redSqr(); + var b2 = this.y.redSqr(); + var c = b2.redSqr(); + var d2 = this.x.redAdd(b2).redSqr().redISub(a).redISub(c); + d2 = d2.redIAdd(d2); + var e = a.redAdd(a).redIAdd(a); + var f2 = e.redSqr(); + var c8 = c.redIAdd(c); + c8 = c8.redIAdd(c8); + c8 = c8.redIAdd(c8); + nx = f2.redISub(d2).redISub(d2); + ny = e.redMul(d2.redISub(nx)).redISub(c8); + nz = this.y.redMul(this.z); + nz = nz.redIAdd(nz); + } + return this.curve.jpoint(nx, ny, nz); +}; +JPoint.prototype._threeDbl = function _threeDbl() { + var nx; + var ny; + var nz; + if (this.zOne) { + var xx = this.x.redSqr(); + var yy = this.y.redSqr(); + var yyyy = yy.redSqr(); + var s2 = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); + s2 = s2.redIAdd(s2); + var m2 = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a); + var t = m2.redSqr().redISub(s2).redISub(s2); + nx = t; + var yyyy8 = yyyy.redIAdd(yyyy); + yyyy8 = yyyy8.redIAdd(yyyy8); + yyyy8 = yyyy8.redIAdd(yyyy8); + ny = m2.redMul(s2.redISub(t)).redISub(yyyy8); + nz = this.y.redAdd(this.y); + } else { + var delta = this.z.redSqr(); + var gamma = this.y.redSqr(); + var beta = this.x.redMul(gamma); + var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta)); + alpha = alpha.redAdd(alpha).redIAdd(alpha); + var beta4 = beta.redIAdd(beta); + beta4 = beta4.redIAdd(beta4); + var beta8 = beta4.redAdd(beta4); + nx = alpha.redSqr().redISub(beta8); + nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta); + var ggamma8 = gamma.redSqr(); + ggamma8 = ggamma8.redIAdd(ggamma8); + ggamma8 = ggamma8.redIAdd(ggamma8); + ggamma8 = ggamma8.redIAdd(ggamma8); + ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8); + } + return this.curve.jpoint(nx, ny, nz); +}; +JPoint.prototype._dbl = function _dbl() { + var a = this.curve.a; + var jx = this.x; + var jy = this.y; + var jz = this.z; + var jz4 = jz.redSqr().redSqr(); + var jx2 = jx.redSqr(); + var jy2 = jy.redSqr(); + var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); + var jxd4 = jx.redAdd(jx); + jxd4 = jxd4.redIAdd(jxd4); + var t1 = jxd4.redMul(jy2); + var nx = c.redSqr().redISub(t1.redAdd(t1)); + var t2 = t1.redISub(nx); + var jyd8 = jy2.redSqr(); + jyd8 = jyd8.redIAdd(jyd8); + jyd8 = jyd8.redIAdd(jyd8); + jyd8 = jyd8.redIAdd(jyd8); + var ny = c.redMul(t2).redISub(jyd8); + var nz = jy.redAdd(jy).redMul(jz); + return this.curve.jpoint(nx, ny, nz); +}; +JPoint.prototype.trpl = function trpl() { + if (!this.curve.zeroA) + return this.dbl().add(this); + var xx = this.x.redSqr(); + var yy = this.y.redSqr(); + var zz = this.z.redSqr(); + var yyyy = yy.redSqr(); + var m2 = xx.redAdd(xx).redIAdd(xx); + var mm = m2.redSqr(); + var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); + e = e.redIAdd(e); + e = e.redAdd(e).redIAdd(e); + e = e.redISub(mm); + var ee2 = e.redSqr(); + var t = yyyy.redIAdd(yyyy); + t = t.redIAdd(t); + t = t.redIAdd(t); + t = t.redIAdd(t); + var u2 = m2.redIAdd(e).redSqr().redISub(mm).redISub(ee2).redISub(t); + var yyu4 = yy.redMul(u2); + yyu4 = yyu4.redIAdd(yyu4); + yyu4 = yyu4.redIAdd(yyu4); + var nx = this.x.redMul(ee2).redISub(yyu4); + nx = nx.redIAdd(nx); + nx = nx.redIAdd(nx); + var ny = this.y.redMul(u2.redMul(t.redISub(u2)).redISub(e.redMul(ee2))); + ny = ny.redIAdd(ny); + ny = ny.redIAdd(ny); + ny = ny.redIAdd(ny); + var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee2); + return this.curve.jpoint(nx, ny, nz); +}; +JPoint.prototype.mul = function mul2(k2, kbase) { + k2 = new BN$1(k2, kbase); + return this.curve._wnafMul(this, k2); +}; +JPoint.prototype.eq = function eq3(p2) { + if (p2.type === "affine") + return this.eq(p2.toJ()); + if (this === p2) + return true; + var z2 = this.z.redSqr(); + var pz2 = p2.z.redSqr(); + if (this.x.redMul(pz2).redISub(p2.x.redMul(z2)).cmpn(0) !== 0) + return false; + var z3 = z2.redMul(this.z); + var pz3 = pz2.redMul(p2.z); + return this.y.redMul(pz3).redISub(p2.y.redMul(z3)).cmpn(0) === 0; +}; +JPoint.prototype.eqXToP = function eqXToP(x2) { + var zs = this.z.redSqr(); + var rx = x2.toRed(this.curve.red).redMul(zs); + if (this.x.cmp(rx) === 0) + return true; + var xc = x2.clone(); + var t = this.curve.redN.redMul(zs); + for (; ; ) { + xc.iadd(this.curve.n); + if (xc.cmp(this.curve.p) >= 0) + return false; + rx.redIAdd(t); + if (this.x.cmp(rx) === 0) + return true; + } +}; +JPoint.prototype.inspect = function inspect2() { + if (this.isInfinity()) + return ""; + return ""; +}; +JPoint.prototype.isInfinity = function isInfinity2() { + return this.z.cmpn(0) === 0; +}; +var curve_1 = createCommonjsModule(function(module, exports) { + var curve = exports; + curve.base = base; + curve.short = short_1; + curve.mont = /*RicMoo:ethers:require(./mont)*/ + null; + curve.edwards = /*RicMoo:ethers:require(./edwards)*/ + null; +}); +var curves_1 = createCommonjsModule(function(module, exports) { + var curves = exports; + var assert2 = utils_1$1.assert; + function PresetCurve(options) { + if (options.type === "short") + this.curve = new curve_1.short(options); + else if (options.type === "edwards") + this.curve = new curve_1.edwards(options); + else + this.curve = new curve_1.mont(options); + this.g = this.curve.g; + this.n = this.curve.n; + this.hash = options.hash; + assert2(this.g.validate(), "Invalid curve"); + assert2(this.g.mul(this.n).isInfinity(), "Invalid curve, G*N != O"); + } + curves.PresetCurve = PresetCurve; + function defineCurve(name, options) { + Object.defineProperty(curves, name, { + configurable: true, + enumerable: true, + get: function() { + var curve = new PresetCurve(options); + Object.defineProperty(curves, name, { + configurable: true, + enumerable: true, + value: curve + }); + return curve; + } + }); + } + defineCurve("p192", { + type: "short", + prime: "p192", + p: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", + a: "ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc", + b: "64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1", + n: "ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831", + hash: hash.sha256, + gRed: false, + g: [ + "188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012", + "07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811" + ] + }); + defineCurve("p224", { + type: "short", + prime: "p224", + p: "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", + a: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe", + b: "b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4", + n: "ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d", + hash: hash.sha256, + gRed: false, + g: [ + "b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21", + "bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34" + ] + }); + defineCurve("p256", { + type: "short", + prime: null, + p: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff", + a: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc", + b: "5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b", + n: "ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551", + hash: hash.sha256, + gRed: false, + g: [ + "6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296", + "4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5" + ] + }); + defineCurve("p384", { + type: "short", + prime: null, + p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff", + a: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc", + b: "b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef", + n: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973", + hash: hash.sha384, + gRed: false, + g: [ + "aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7", + "3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f" + ] + }); + defineCurve("p521", { + type: "short", + prime: null, + p: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff", + a: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc", + b: "00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00", + n: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409", + hash: hash.sha512, + gRed: false, + g: [ + "000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66", + "00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650" + ] + }); + defineCurve("curve25519", { + type: "mont", + prime: "p25519", + p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", + a: "76d06", + b: "1", + n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", + hash: hash.sha256, + gRed: false, + g: [ + "9" + ] + }); + defineCurve("ed25519", { + type: "edwards", + prime: "p25519", + p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", + a: "-1", + c: "1", + // -121665 * (121666^(-1)) (mod P) + d: "52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3", + n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", + hash: hash.sha256, + gRed: false, + g: [ + "216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a", + // 4/5 + "6666666666666666666666666666666666666666666666666666666666666658" + ] + }); + var pre; + try { + pre = /*RicMoo:ethers:require(./precomputed/secp256k1)*/ + null.crash(); + } catch (e) { + pre = void 0; + } + defineCurve("secp256k1", { + type: "short", + prime: "k256", + p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", + a: "0", + b: "7", + n: "ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141", + h: "1", + hash: hash.sha256, + // Precomputed endomorphism + beta: "7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee", + lambda: "5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72", + basis: [ + { + a: "3086d221a7d46bcde86c90e49284eb15", + b: "-e4437ed6010e88286f547fa90abfe4c3" + }, + { + a: "114ca50f7a8e2f3f657c1108d9d44cfd8", + b: "3086d221a7d46bcde86c90e49284eb15" + } + ], + gRed: false, + g: [ + "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", + pre + ] + }); +}); +function HmacDRBG(options) { + if (!(this instanceof HmacDRBG)) + return new HmacDRBG(options); + this.hash = options.hash; + this.predResist = !!options.predResist; + this.outLen = this.hash.outSize; + this.minEntropy = options.minEntropy || this.hash.hmacStrength; + this._reseed = null; + this.reseedInterval = null; + this.K = null; + this.V = null; + var entropy = utils_1.toArray(options.entropy, options.entropyEnc || "hex"); + var nonce = utils_1.toArray(options.nonce, options.nonceEnc || "hex"); + var pers = utils_1.toArray(options.pers, options.persEnc || "hex"); + minimalisticAssert( + entropy.length >= this.minEntropy / 8, + "Not enough entropy. Minimum is: " + this.minEntropy + " bits" + ); + this._init(entropy, nonce, pers); +} +var hmacDrbg = HmacDRBG; +HmacDRBG.prototype._init = function init2(entropy, nonce, pers) { + var seed = entropy.concat(nonce).concat(pers); + this.K = new Array(this.outLen / 8); + this.V = new Array(this.outLen / 8); + for (var i = 0; i < this.V.length; i++) { + this.K[i] = 0; + this.V[i] = 1; + } + this._update(seed); + this._reseed = 1; + this.reseedInterval = 281474976710656; +}; +HmacDRBG.prototype._hmac = function hmac2() { + return new hash.hmac(this.hash, this.K); +}; +HmacDRBG.prototype._update = function update4(seed) { + var kmac = this._hmac().update(this.V).update([0]); + if (seed) + kmac = kmac.update(seed); + this.K = kmac.digest(); + this.V = this._hmac().update(this.V).digest(); + if (!seed) + return; + this.K = this._hmac().update(this.V).update([1]).update(seed).digest(); + this.V = this._hmac().update(this.V).digest(); +}; +HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add3, addEnc) { + if (typeof entropyEnc !== "string") { + addEnc = add3; + add3 = entropyEnc; + entropyEnc = null; + } + entropy = utils_1.toArray(entropy, entropyEnc); + add3 = utils_1.toArray(add3, addEnc); + minimalisticAssert( + entropy.length >= this.minEntropy / 8, + "Not enough entropy. Minimum is: " + this.minEntropy + " bits" + ); + this._update(entropy.concat(add3 || [])); + this._reseed = 1; +}; +HmacDRBG.prototype.generate = function generate(len, enc, add3, addEnc) { + if (this._reseed > this.reseedInterval) + throw new Error("Reseed is required"); + if (typeof enc !== "string") { + addEnc = add3; + add3 = enc; + enc = null; + } + if (add3) { + add3 = utils_1.toArray(add3, addEnc || "hex"); + this._update(add3); + } + var temp = []; + while (temp.length < len) { + this.V = this._hmac().update(this.V).digest(); + temp = temp.concat(this.V); + } + var res = temp.slice(0, len); + this._update(add3); + this._reseed++; + return utils_1.encode(res, enc); +}; +var assert$3 = utils_1$1.assert; +function KeyPair(ec2, options) { + this.ec = ec2; + this.priv = null; + this.pub = null; + if (options.priv) + this._importPrivate(options.priv, options.privEnc); + if (options.pub) + this._importPublic(options.pub, options.pubEnc); +} +var key = KeyPair; +KeyPair.fromPublic = function fromPublic(ec2, pub, enc) { + if (pub instanceof KeyPair) + return pub; + return new KeyPair(ec2, { + pub, + pubEnc: enc + }); +}; +KeyPair.fromPrivate = function fromPrivate(ec2, priv, enc) { + if (priv instanceof KeyPair) + return priv; + return new KeyPair(ec2, { + priv, + privEnc: enc + }); +}; +KeyPair.prototype.validate = function validate4() { + var pub = this.getPublic(); + if (pub.isInfinity()) + return { result: false, reason: "Invalid public key" }; + if (!pub.validate()) + return { result: false, reason: "Public key is not a point" }; + if (!pub.mul(this.ec.curve.n).isInfinity()) + return { result: false, reason: "Public key * N != O" }; + return { result: true, reason: null }; +}; +KeyPair.prototype.getPublic = function getPublic(compact, enc) { + if (typeof compact === "string") { + enc = compact; + compact = null; + } + if (!this.pub) + this.pub = this.ec.g.mul(this.priv); + if (!enc) + return this.pub; + return this.pub.encode(enc, compact); +}; +KeyPair.prototype.getPrivate = function getPrivate(enc) { + if (enc === "hex") + return this.priv.toString(16, 2); + else + return this.priv; +}; +KeyPair.prototype._importPrivate = function _importPrivate(key2, enc) { + this.priv = new BN$1(key2, enc || 16); + this.priv = this.priv.umod(this.ec.curve.n); +}; +KeyPair.prototype._importPublic = function _importPublic(key2, enc) { + if (key2.x || key2.y) { + if (this.ec.curve.type === "mont") { + assert$3(key2.x, "Need x coordinate"); + } else if (this.ec.curve.type === "short" || this.ec.curve.type === "edwards") { + assert$3(key2.x && key2.y, "Need both x and y coordinate"); + } + this.pub = this.ec.curve.point(key2.x, key2.y); + return; + } + this.pub = this.ec.curve.decodePoint(key2, enc); +}; +KeyPair.prototype.derive = function derive(pub) { + if (!pub.validate()) { + assert$3(pub.validate(), "public point not validated"); + } + return pub.mul(this.priv).getX(); +}; +KeyPair.prototype.sign = function sign(msg, enc, options) { + return this.ec.sign(msg, this, enc, options); +}; +KeyPair.prototype.verify = function verify(msg, signature2) { + return this.ec.verify(msg, signature2, this); +}; +KeyPair.prototype.inspect = function inspect3() { + return ""; +}; +var assert$4 = utils_1$1.assert; +function Signature(options, enc) { + if (options instanceof Signature) + return options; + if (this._importDER(options, enc)) + return; + assert$4(options.r && options.s, "Signature without r or s"); + this.r = new BN$1(options.r, 16); + this.s = new BN$1(options.s, 16); + if (options.recoveryParam === void 0) + this.recoveryParam = null; + else + this.recoveryParam = options.recoveryParam; +} +var signature = Signature; +function Position() { + this.place = 0; +} +function getLength(buf, p2) { + var initial = buf[p2.place++]; + if (!(initial & 128)) { + return initial; + } + var octetLen = initial & 15; + if (octetLen === 0 || octetLen > 4) { + return false; + } + var val = 0; + for (var i = 0, off = p2.place; i < octetLen; i++, off++) { + val <<= 8; + val |= buf[off]; + val >>>= 0; + } + if (val <= 127) { + return false; + } + p2.place = off; + return val; +} +function rmPadding(buf) { + var i = 0; + var len = buf.length - 1; + while (!buf[i] && !(buf[i + 1] & 128) && i < len) { + i++; + } + if (i === 0) { + return buf; + } + return buf.slice(i); +} +Signature.prototype._importDER = function _importDER(data, enc) { + data = utils_1$1.toArray(data, enc); + var p2 = new Position(); + if (data[p2.place++] !== 48) { + return false; + } + var len = getLength(data, p2); + if (len === false) { + return false; + } + if (len + p2.place !== data.length) { + return false; + } + if (data[p2.place++] !== 2) { + return false; + } + var rlen = getLength(data, p2); + if (rlen === false) { + return false; + } + var r2 = data.slice(p2.place, rlen + p2.place); + p2.place += rlen; + if (data[p2.place++] !== 2) { + return false; + } + var slen = getLength(data, p2); + if (slen === false) { + return false; + } + if (data.length !== slen + p2.place) { + return false; + } + var s2 = data.slice(p2.place, slen + p2.place); + if (r2[0] === 0) { + if (r2[1] & 128) { + r2 = r2.slice(1); + } else { + return false; + } + } + if (s2[0] === 0) { + if (s2[1] & 128) { + s2 = s2.slice(1); + } else { + return false; + } + } + this.r = new BN$1(r2); + this.s = new BN$1(s2); + this.recoveryParam = null; + return true; +}; +function constructLength(arr, len) { + if (len < 128) { + arr.push(len); + return; + } + var octets = 1 + (Math.log(len) / Math.LN2 >>> 3); + arr.push(octets | 128); + while (--octets) { + arr.push(len >>> (octets << 3) & 255); + } + arr.push(len); +} +Signature.prototype.toDER = function toDER(enc) { + var r2 = this.r.toArray(); + var s2 = this.s.toArray(); + if (r2[0] & 128) + r2 = [0].concat(r2); + if (s2[0] & 128) + s2 = [0].concat(s2); + r2 = rmPadding(r2); + s2 = rmPadding(s2); + while (!s2[0] && !(s2[1] & 128)) { + s2 = s2.slice(1); + } + var arr = [2]; + constructLength(arr, r2.length); + arr = arr.concat(r2); + arr.push(2); + constructLength(arr, s2.length); + var backHalf = arr.concat(s2); + var res = [48]; + constructLength(res, backHalf.length); + res = res.concat(backHalf); + return utils_1$1.encode(res, enc); +}; +var rand = ( + /*RicMoo:ethers:require(brorand)*/ + function() { + throw new Error("unsupported"); + } +); +var assert$5 = utils_1$1.assert; +function EC(options) { + if (!(this instanceof EC)) + return new EC(options); + if (typeof options === "string") { + assert$5( + Object.prototype.hasOwnProperty.call(curves_1, options), + "Unknown curve " + options + ); + options = curves_1[options]; + } + if (options instanceof curves_1.PresetCurve) + options = { curve: options }; + this.curve = options.curve.curve; + this.n = this.curve.n; + this.nh = this.n.ushrn(1); + this.g = this.curve.g; + this.g = options.curve.g; + this.g.precompute(options.curve.n.bitLength() + 1); + this.hash = options.hash || options.curve.hash; +} +var ec = EC; +EC.prototype.keyPair = function keyPair(options) { + return new key(this, options); +}; +EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) { + return key.fromPrivate(this, priv, enc); +}; +EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) { + return key.fromPublic(this, pub, enc); +}; +EC.prototype.genKeyPair = function genKeyPair(options) { + if (!options) + options = {}; + var drbg = new hmacDrbg({ + hash: this.hash, + pers: options.pers, + persEnc: options.persEnc || "utf8", + entropy: options.entropy || rand(this.hash.hmacStrength), + entropyEnc: options.entropy && options.entropyEnc || "utf8", + nonce: this.n.toArray() + }); + var bytes = this.n.byteLength(); + var ns2 = this.n.sub(new BN$1(2)); + for (; ; ) { + var priv = new BN$1(drbg.generate(bytes)); + if (priv.cmp(ns2) > 0) + continue; + priv.iaddn(1); + return this.keyFromPrivate(priv); + } +}; +EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) { + var delta = msg.byteLength() * 8 - this.n.bitLength(); + if (delta > 0) + msg = msg.ushrn(delta); + if (!truncOnly && msg.cmp(this.n) >= 0) + return msg.sub(this.n); + else + return msg; +}; +EC.prototype.sign = function sign2(msg, key2, enc, options) { + if (typeof enc === "object") { + options = enc; + enc = null; + } + if (!options) + options = {}; + key2 = this.keyFromPrivate(key2, enc); + msg = this._truncateToN(new BN$1(msg, 16)); + var bytes = this.n.byteLength(); + var bkey = key2.getPrivate().toArray("be", bytes); + var nonce = msg.toArray("be", bytes); + var drbg = new hmacDrbg({ + hash: this.hash, + entropy: bkey, + nonce, + pers: options.pers, + persEnc: options.persEnc || "utf8" + }); + var ns1 = this.n.sub(new BN$1(1)); + for (var iter = 0; ; iter++) { + var k2 = options.k ? options.k(iter) : new BN$1(drbg.generate(this.n.byteLength())); + k2 = this._truncateToN(k2, true); + if (k2.cmpn(1) <= 0 || k2.cmp(ns1) >= 0) + continue; + var kp = this.g.mul(k2); + if (kp.isInfinity()) + continue; + var kpX = kp.getX(); + var r2 = kpX.umod(this.n); + if (r2.cmpn(0) === 0) + continue; + var s2 = k2.invm(this.n).mul(r2.mul(key2.getPrivate()).iadd(msg)); + s2 = s2.umod(this.n); + if (s2.cmpn(0) === 0) + continue; + var recoveryParam = (kp.getY().isOdd() ? 1 : 0) | (kpX.cmp(r2) !== 0 ? 2 : 0); + if (options.canonical && s2.cmp(this.nh) > 0) { + s2 = this.n.sub(s2); + recoveryParam ^= 1; + } + return new signature({ r: r2, s: s2, recoveryParam }); + } +}; +EC.prototype.verify = function verify2(msg, signature$1, key2, enc) { + msg = this._truncateToN(new BN$1(msg, 16)); + key2 = this.keyFromPublic(key2, enc); + signature$1 = new signature(signature$1, "hex"); + var r2 = signature$1.r; + var s2 = signature$1.s; + if (r2.cmpn(1) < 0 || r2.cmp(this.n) >= 0) + return false; + if (s2.cmpn(1) < 0 || s2.cmp(this.n) >= 0) + return false; + var sinv = s2.invm(this.n); + var u1 = sinv.mul(msg).umod(this.n); + var u2 = sinv.mul(r2).umod(this.n); + var p2; + if (!this.curve._maxwellTrick) { + p2 = this.g.mulAdd(u1, key2.getPublic(), u2); + if (p2.isInfinity()) + return false; + return p2.getX().umod(this.n).cmp(r2) === 0; + } + p2 = this.g.jmulAdd(u1, key2.getPublic(), u2); + if (p2.isInfinity()) + return false; + return p2.eqXToP(r2); +}; +EC.prototype.recoverPubKey = function(msg, signature$1, j2, enc) { + assert$5((3 & j2) === j2, "The recovery param is more than two bits"); + signature$1 = new signature(signature$1, enc); + var n = this.n; + var e = new BN$1(msg); + var r2 = signature$1.r; + var s2 = signature$1.s; + var isYOdd = j2 & 1; + var isSecondKey = j2 >> 1; + if (r2.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey) + throw new Error("Unable to find sencond key candinate"); + if (isSecondKey) + r2 = this.curve.pointFromX(r2.add(this.curve.n), isYOdd); + else + r2 = this.curve.pointFromX(r2, isYOdd); + var rInv = signature$1.r.invm(n); + var s1 = n.sub(e).mul(rInv).umod(n); + var s22 = s2.mul(rInv).umod(n); + return this.g.mulAdd(s1, r2, s22); +}; +EC.prototype.getKeyRecoveryParam = function(e, signature$1, Q2, enc) { + signature$1 = new signature(signature$1, enc); + if (signature$1.recoveryParam !== null) + return signature$1.recoveryParam; + for (var i = 0; i < 4; i++) { + var Qprime; + try { + Qprime = this.recoverPubKey(e, signature$1, i); + } catch (e2) { + continue; + } + if (Qprime.eq(Q2)) + return i; + } + throw new Error("Unable to find valid recovery factor"); +}; +var elliptic_1 = createCommonjsModule(function(module, exports) { + var elliptic = exports; + elliptic.version = /*RicMoo:ethers*/ + { version: "6.5.4" }.version; + elliptic.utils = utils_1$1; + elliptic.rand = /*RicMoo:ethers:require(brorand)*/ + function() { + throw new Error("unsupported"); + }; + elliptic.curve = curve_1; + elliptic.curves = curves_1; + elliptic.ec = ec; + elliptic.eddsa = /*RicMoo:ethers:require(./elliptic/eddsa)*/ + null; +}); +var EC$1 = elliptic_1.ec; +const version = "signing-key/5.7.0"; +const logger = new Logger(version); +let _curve = null; +function getCurve() { + if (!_curve) { + _curve = new EC$1("secp256k1"); + } + return _curve; +} +class SigningKey { + constructor(privateKey) { + defineReadOnly(this, "curve", "secp256k1"); + defineReadOnly(this, "privateKey", hexlify(privateKey)); + if (hexDataLength(this.privateKey) !== 32) { + logger.throwArgumentError("invalid private key", "privateKey", "[[ REDACTED ]]"); + } + const keyPair2 = getCurve().keyFromPrivate(arrayify(this.privateKey)); + defineReadOnly(this, "publicKey", "0x" + keyPair2.getPublic(false, "hex")); + defineReadOnly(this, "compressedPublicKey", "0x" + keyPair2.getPublic(true, "hex")); + defineReadOnly(this, "_isSigningKey", true); + } + _addPoint(other) { + const p0 = getCurve().keyFromPublic(arrayify(this.publicKey)); + const p1 = getCurve().keyFromPublic(arrayify(other)); + return "0x" + p0.pub.add(p1.pub).encodeCompressed("hex"); + } + signDigest(digest9) { + const keyPair2 = getCurve().keyFromPrivate(arrayify(this.privateKey)); + const digestBytes = arrayify(digest9); + if (digestBytes.length !== 32) { + logger.throwArgumentError("bad digest length", "digest", digest9); + } + const signature2 = keyPair2.sign(digestBytes, { canonical: true }); + return splitSignature({ + recoveryParam: signature2.recoveryParam, + r: hexZeroPad("0x" + signature2.r.toString(16), 32), + s: hexZeroPad("0x" + signature2.s.toString(16), 32) + }); + } + computeSharedSecret(otherKey) { + const keyPair2 = getCurve().keyFromPrivate(arrayify(this.privateKey)); + const otherKeyPair = getCurve().keyFromPublic(arrayify(computePublicKey(otherKey))); + return hexZeroPad("0x" + keyPair2.derive(otherKeyPair.getPublic()).toString(16), 32); + } + static isSigningKey(value) { + return !!(value && value._isSigningKey); + } +} +function recoverPublicKey(digest9, signature2) { + const sig = splitSignature(signature2); + const rs = { r: arrayify(sig.r), s: arrayify(sig.s) }; + return "0x" + getCurve().recoverPubKey(arrayify(digest9), rs, sig.recoveryParam).encode("hex", false); +} +function computePublicKey(key2, compressed) { + const bytes = arrayify(key2); + if (bytes.length === 32) { + const signingKey = new SigningKey(bytes); + if (compressed) { + return "0x" + getCurve().keyFromPrivate(bytes).getPublic(true, "hex"); + } + return signingKey.publicKey; + } else if (bytes.length === 33) { + if (compressed) { + return hexlify(bytes); + } + return "0x" + getCurve().keyFromPublic(bytes).getPublic(false, "hex"); + } else if (bytes.length === 65) { + if (!compressed) { + return hexlify(bytes); + } + return "0x" + getCurve().keyFromPublic(bytes).getPublic(true, "hex"); + } + return logger.throwArgumentError("invalid public or private key", "key", "[REDACTED]"); +} +var TransactionTypes; +(function(TransactionTypes2) { + TransactionTypes2[TransactionTypes2["legacy"] = 0] = "legacy"; + TransactionTypes2[TransactionTypes2["eip2930"] = 1] = "eip2930"; + TransactionTypes2[TransactionTypes2["eip1559"] = 2] = "eip1559"; +})(TransactionTypes || (TransactionTypes = {})); +function computeAddress(key2) { + const publicKey = computePublicKey(key2); + return getAddress(hexDataSlice(keccak256(hexDataSlice(publicKey, 1)), 12)); +} +function recoverAddress(digest9, signature2) { + return computeAddress(recoverPublicKey(arrayify(digest9), signature2)); +} +function unfetch_module(e, n) { + return n = n || {}, new Promise(function(t, r2) { + var s2 = new XMLHttpRequest(), o2 = [], u2 = [], i = {}, a = function() { + return { ok: 2 == (s2.status / 100 | 0), statusText: s2.statusText, status: s2.status, url: s2.responseURL, text: function() { + return Promise.resolve(s2.responseText); + }, json: function() { + return Promise.resolve(s2.responseText).then(JSON.parse); + }, blob: function() { + return Promise.resolve(new Blob([s2.response])); + }, clone: a, headers: { keys: function() { + return o2; + }, entries: function() { + return u2; + }, get: function(e2) { + return i[e2.toLowerCase()]; + }, has: function(e2) { + return e2.toLowerCase() in i; + } } }; + }; + for (var l2 in s2.open(n.method || "get", e, true), s2.onload = function() { + s2.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function(e2, n2, t2) { + o2.push(n2 = n2.toLowerCase()), u2.push([n2, t2]), i[n2] = i[n2] ? i[n2] + "," + t2 : t2; + }), t(a()); + }, s2.onerror = r2, s2.withCredentials = "include" == n.credentials, n.headers) + s2.setRequestHeader(l2, n.headers[l2]); + s2.send(n.body || null); + }); +} +const unfetch_module$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ + __proto__: null, + default: unfetch_module +}, Symbol.toStringTag, { value: "Module" })); +const require$$0 = /* @__PURE__ */ getAugmentedNamespace(unfetch_module$1); +var browser = self.fetch || (self.fetch = require$$0.default || require$$0); +const ke = /* @__PURE__ */ getDefaultExportFromCjs(browser); +let G$2 = class G { + constructor(t) { + this.client = t; + } +}; +let H$1 = class H { + constructor(t) { + this.opts = t; + } +}; +const Y = "https://rpc.walletconnect.com/v1", R$1 = { wc_authRequest: { req: { ttl: cjs$1.ONE_DAY, prompt: true, tag: 3e3 }, res: { ttl: cjs$1.ONE_DAY, prompt: false, tag: 3001 } } }, U$2 = { min: cjs$1.FIVE_MINUTES, max: cjs$1.SEVEN_DAYS }, $ = "wc", Q$1 = 1, Z = "auth", B = "authClient", F$2 = `${$}@${1}:${Z}:`, x$1 = `${F$2}:PUB_KEY`; +function z$1(r2) { + return r2 == null ? void 0 : r2.split(":"); +} +function Ze(r2) { + const t = r2 && z$1(r2); + if (t) + return t[3]; +} +function We(r2) { + const t = r2 && z$1(r2); + if (t) + return t[2] + ":" + t[3]; +} +function W$2(r2) { + const t = r2 && z$1(r2); + if (t) + return t.pop(); +} +async function et(r2, t, e, i, n) { + switch (e.t) { + case "eip191": + return tt(r2, t, e.s); + case "eip1271": + return await rt(r2, t, e.s, i, n); + default: + throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${e.t}`); + } +} +function tt(r2, t, e) { + return recoverAddress(hashMessage(t), e).toLowerCase() === r2.toLowerCase(); +} +async function rt(r2, t, e, i, n) { + try { + const s2 = "0x1626ba7e", o2 = "0000000000000000000000000000000000000000000000000000000000000040", u2 = "0000000000000000000000000000000000000000000000000000000000000041", a = e.substring(2), c = hashMessage(t).substring(2), h2 = s2 + c + o2 + u2 + a, f2 = await ke(`${Y}/?chainId=${i}&projectId=${n}`, { method: "POST", body: JSON.stringify({ id: it(), jsonrpc: "2.0", method: "eth_call", params: [{ to: r2, data: h2 }, "latest"] }) }), { result: p2 } = await f2.json(); + return p2 ? p2.slice(0, s2.length).toLowerCase() === s2.toLowerCase() : false; + } catch (s2) { + return console.error("isValidEip1271Signature: ", s2), false; + } +} +function it() { + return Date.now() + Math.floor(Math.random() * 1e3); +} +function ee(r2) { + return r2.getAll().filter((t) => "requester" in t); +} +function te(r2, t) { + return ee(r2).find((e) => e.id === t); +} +function nt(r2) { + const t = kt$1(r2.aud), e = new RegExp(`${r2.domain}`).test(r2.aud), i = !!r2.nonce, n = r2.type ? r2.type === "eip4361" : true, s2 = r2.expiry; + if (s2 && !Xt$1(s2, U$2)) { + const { message: o2 } = N("MISSING_OR_INVALID", `request() expiry: ${s2}. Expiry must be a number (in seconds) between ${U$2.min} and ${U$2.max}`); + throw new Error(o2); + } + return !!(t && e && i && n); +} +function st(r2, t) { + return !!te(t, r2.id); +} +function ot(r2 = 0) { + return globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null ? globalThis.Buffer.allocUnsafe(r2) : new Uint8Array(r2); +} +function ut(r2, t) { + if (r2.length >= 255) + throw new TypeError("Alphabet too long"); + for (var e = new Uint8Array(256), i = 0; i < e.length; i++) + e[i] = 255; + for (var n = 0; n < r2.length; n++) { + var s2 = r2.charAt(n), o2 = s2.charCodeAt(0); + if (e[o2] !== 255) + throw new TypeError(s2 + " is ambiguous"); + e[o2] = n; + } + var u2 = r2.length, a = r2.charAt(0), c = Math.log(u2) / Math.log(256), h2 = Math.log(256) / Math.log(u2); + function f2(D2) { + if (D2 instanceof Uint8Array || (ArrayBuffer.isView(D2) ? D2 = new Uint8Array(D2.buffer, D2.byteOffset, D2.byteLength) : Array.isArray(D2) && (D2 = Uint8Array.from(D2))), !(D2 instanceof Uint8Array)) + throw new TypeError("Expected Uint8Array"); + if (D2.length === 0) + return ""; + for (var l2 = 0, m2 = 0, E2 = 0, y2 = D2.length; E2 !== y2 && D2[E2] === 0; ) + E2++, l2++; + for (var w2 = (y2 - E2) * h2 + 1 >>> 0, g2 = new Uint8Array(w2); E2 !== y2; ) { + for (var C2 = D2[E2], _2 = 0, b2 = w2 - 1; (C2 !== 0 || _2 < m2) && b2 !== -1; b2--, _2++) + C2 += 256 * g2[b2] >>> 0, g2[b2] = C2 % u2 >>> 0, C2 = C2 / u2 >>> 0; + if (C2 !== 0) + throw new Error("Non-zero carry"); + m2 = _2, E2++; + } + for (var v2 = w2 - m2; v2 !== w2 && g2[v2] === 0; ) + v2++; + for (var q = a.repeat(l2); v2 < w2; ++v2) + q += r2.charAt(g2[v2]); + return q; + } + function p2(D2) { + if (typeof D2 != "string") + throw new TypeError("Expected String"); + if (D2.length === 0) + return new Uint8Array(); + var l2 = 0; + if (D2[l2] !== " ") { + for (var m2 = 0, E2 = 0; D2[l2] === a; ) + m2++, l2++; + for (var y2 = (D2.length - l2) * c + 1 >>> 0, w2 = new Uint8Array(y2); D2[l2]; ) { + var g2 = e[D2.charCodeAt(l2)]; + if (g2 === 255) + return; + for (var C2 = 0, _2 = y2 - 1; (g2 !== 0 || C2 < E2) && _2 !== -1; _2--, C2++) + g2 += u2 * w2[_2] >>> 0, w2[_2] = g2 % 256 >>> 0, g2 = g2 / 256 >>> 0; + if (g2 !== 0) + throw new Error("Non-zero carry"); + E2 = C2, l2++; + } + if (D2[l2] !== " ") { + for (var b2 = y2 - E2; b2 !== y2 && w2[b2] === 0; ) + b2++; + for (var v2 = new Uint8Array(m2 + (y2 - b2)), q = m2; b2 !== y2; ) + v2[q++] = w2[b2++]; + return v2; + } + } + } + function A2(D2) { + var l2 = p2(D2); + if (l2) + return l2; + throw new Error(`Non-${t} character`); + } + return { encode: f2, decodeUnsafe: p2, decode: A2 }; +} +var at = ut, Dt = at; +const re = (r2) => { + if (r2 instanceof Uint8Array && r2.constructor.name === "Uint8Array") + return r2; + if (r2 instanceof ArrayBuffer) + return new Uint8Array(r2); + if (ArrayBuffer.isView(r2)) + return new Uint8Array(r2.buffer, r2.byteOffset, r2.byteLength); + throw new Error("Unknown type, must be binary type"); +}, ct = (r2) => new TextEncoder().encode(r2), ht = (r2) => new TextDecoder().decode(r2); +class lt { + constructor(t, e, i) { + this.name = t, this.prefix = e, this.baseEncode = i; + } + encode(t) { + if (t instanceof Uint8Array) + return `${this.prefix}${this.baseEncode(t)}`; + throw Error("Unknown type, must be binary type"); + } +} +class dt { + constructor(t, e, i) { + if (this.name = t, this.prefix = e, e.codePointAt(0) === void 0) + throw new Error("Invalid prefix character"); + this.prefixCodePoint = e.codePointAt(0), this.baseDecode = i; + } + decode(t) { + if (typeof t == "string") { + if (t.codePointAt(0) !== this.prefixCodePoint) + throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`); + return this.baseDecode(t.slice(this.prefix.length)); + } else + throw Error("Can only multibase decode strings"); + } + or(t) { + return ie(this, t); + } +} +class pt { + constructor(t) { + this.decoders = t; + } + or(t) { + return ie(this, t); + } + decode(t) { + const e = t[0], i = this.decoders[e]; + if (i) + return i.decode(t); + throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`); + } +} +const ie = (r2, t) => new pt({ ...r2.decoders || { [r2.prefix]: r2 }, ...t.decoders || { [t.prefix]: t } }); +class ft { + constructor(t, e, i, n) { + this.name = t, this.prefix = e, this.baseEncode = i, this.baseDecode = n, this.encoder = new lt(t, e, i), this.decoder = new dt(t, e, n); + } + encode(t) { + return this.encoder.encode(t); + } + decode(t) { + return this.decoder.decode(t); + } +} +const O$1 = ({ name: r2, prefix: t, encode: e, decode: i }) => new ft(r2, t, e, i), T$1 = ({ prefix: r2, name: t, alphabet: e }) => { + const { encode: i, decode: n } = Dt(e, t); + return O$1({ prefix: r2, name: t, encode: i, decode: (s2) => re(n(s2)) }); +}, gt = (r2, t, e, i) => { + const n = {}; + for (let h2 = 0; h2 < t.length; ++h2) + n[t[h2]] = h2; + let s2 = r2.length; + for (; r2[s2 - 1] === "="; ) + --s2; + const o2 = new Uint8Array(s2 * e / 8 | 0); + let u2 = 0, a = 0, c = 0; + for (let h2 = 0; h2 < s2; ++h2) { + const f2 = n[r2[h2]]; + if (f2 === void 0) + throw new SyntaxError(`Non-${i} character`); + a = a << e | f2, u2 += e, u2 >= 8 && (u2 -= 8, o2[c++] = 255 & a >> u2); + } + if (u2 >= e || 255 & a << 8 - u2) + throw new SyntaxError("Unexpected end of data"); + return o2; +}, Et = (r2, t, e) => { + const i = t[t.length - 1] === "=", n = (1 << e) - 1; + let s2 = "", o2 = 0, u2 = 0; + for (let a = 0; a < r2.length; ++a) + for (u2 = u2 << 8 | r2[a], o2 += 8; o2 > e; ) + o2 -= e, s2 += t[n & u2 >> o2]; + if (o2 && (s2 += t[n & u2 << e - o2]), i) + for (; s2.length * e & 7; ) + s2 += "="; + return s2; +}, d$1 = ({ name: r2, prefix: t, bitsPerChar: e, alphabet: i }) => O$1({ prefix: t, name: r2, encode(n) { + return Et(n, i, e); +}, decode(n) { + return gt(n, i, e, r2); +} }), bt = O$1({ prefix: "\0", name: "identity", encode: (r2) => ht(r2), decode: (r2) => ct(r2) }); +var yt = Object.freeze({ __proto__: null, identity: bt }); +const wt = d$1({ prefix: "0", name: "base2", alphabet: "01", bitsPerChar: 1 }); +var Ct = Object.freeze({ __proto__: null, base2: wt }); +const mt = d$1({ prefix: "7", name: "base8", alphabet: "01234567", bitsPerChar: 3 }); +var vt = Object.freeze({ __proto__: null, base8: mt }); +const At = T$1({ prefix: "9", name: "base10", alphabet: "0123456789" }); +var _t = Object.freeze({ __proto__: null, base10: At }); +const xt = d$1({ prefix: "f", name: "base16", alphabet: "0123456789abcdef", bitsPerChar: 4 }), Rt = d$1({ prefix: "F", name: "base16upper", alphabet: "0123456789ABCDEF", bitsPerChar: 4 }); +var Ft = Object.freeze({ __proto__: null, base16: xt, base16upper: Rt }); +const Tt = d$1({ prefix: "b", name: "base32", alphabet: "abcdefghijklmnopqrstuvwxyz234567", bitsPerChar: 5 }), It = d$1({ prefix: "B", name: "base32upper", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567", bitsPerChar: 5 }), qt = d$1({ prefix: "c", name: "base32pad", alphabet: "abcdefghijklmnopqrstuvwxyz234567=", bitsPerChar: 5 }), Ut = d$1({ prefix: "C", name: "base32padupper", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=", bitsPerChar: 5 }), Ot = d$1({ prefix: "v", name: "base32hex", alphabet: "0123456789abcdefghijklmnopqrstuv", bitsPerChar: 5 }), St = d$1({ prefix: "V", name: "base32hexupper", alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUV", bitsPerChar: 5 }), Pt = d$1({ prefix: "t", name: "base32hexpad", alphabet: "0123456789abcdefghijklmnopqrstuv=", bitsPerChar: 5 }), Nt = d$1({ prefix: "T", name: "base32hexpadupper", alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUV=", bitsPerChar: 5 }), $t = d$1({ prefix: "h", name: "base32z", alphabet: "ybndrfg8ejkmcpqxot1uwisza345h769", bitsPerChar: 5 }); +var Bt = Object.freeze({ __proto__: null, base32: Tt, base32upper: It, base32pad: qt, base32padupper: Ut, base32hex: Ot, base32hexupper: St, base32hexpad: Pt, base32hexpadupper: Nt, base32z: $t }); +const zt = T$1({ prefix: "k", name: "base36", alphabet: "0123456789abcdefghijklmnopqrstuvwxyz" }), jt = T$1({ prefix: "K", name: "base36upper", alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" }); +var Mt = Object.freeze({ __proto__: null, base36: zt, base36upper: jt }); +const Lt = T$1({ name: "base58btc", prefix: "z", alphabet: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" }), Kt = T$1({ name: "base58flickr", prefix: "Z", alphabet: "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ" }); +var Vt = Object.freeze({ __proto__: null, base58btc: Lt, base58flickr: Kt }); +const kt = d$1({ prefix: "m", name: "base64", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", bitsPerChar: 6 }), Jt = d$1({ prefix: "M", name: "base64pad", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", bitsPerChar: 6 }), Xt = d$1({ prefix: "u", name: "base64url", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", bitsPerChar: 6 }), Gt = d$1({ prefix: "U", name: "base64urlpad", alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=", bitsPerChar: 6 }); +var Ht = Object.freeze({ __proto__: null, base64: kt, base64pad: Jt, base64url: Xt, base64urlpad: Gt }); +const ne$1 = Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"), Yt = ne$1.reduce((r2, t, e) => (r2[e] = t, r2), []), Qt = ne$1.reduce((r2, t, e) => (r2[t.codePointAt(0)] = e, r2), []); +function Zt(r2) { + return r2.reduce((t, e) => (t += Yt[e], t), ""); +} +function Wt(r2) { + const t = []; + for (const e of r2) { + const i = Qt[e.codePointAt(0)]; + if (i === void 0) + throw new Error(`Non-base256emoji character: ${e}`); + t.push(i); + } + return new Uint8Array(t); +} +const er = O$1({ prefix: "🚀", name: "base256emoji", encode: Zt, decode: Wt }); +var tr = Object.freeze({ __proto__: null, base256emoji: er }), rr = oe$1, se = 128, ir = 127, nr = ~ir, sr = Math.pow(2, 31); +function oe$1(r2, t, e) { + t = t || [], e = e || 0; + for (var i = e; r2 >= sr; ) + t[e++] = r2 & 255 | se, r2 /= 128; + for (; r2 & nr; ) + t[e++] = r2 & 255 | se, r2 >>>= 7; + return t[e] = r2 | 0, oe$1.bytes = e - i + 1, t; +} +var or = j$1, ur = 128, ue = 127; +function j$1(r2, i) { + var e = 0, i = i || 0, n = 0, s2 = i, o2, u2 = r2.length; + do { + if (s2 >= u2) + throw j$1.bytes = 0, new RangeError("Could not decode varint"); + o2 = r2[s2++], e += n < 28 ? (o2 & ue) << n : (o2 & ue) * Math.pow(2, n), n += 7; + } while (o2 >= ur); + return j$1.bytes = s2 - i, e; +} +var ar = Math.pow(2, 7), Dr = Math.pow(2, 14), cr = Math.pow(2, 21), hr = Math.pow(2, 28), lr = Math.pow(2, 35), dr = Math.pow(2, 42), pr = Math.pow(2, 49), fr = Math.pow(2, 56), gr = Math.pow(2, 63), Er = function(r2) { + return r2 < ar ? 1 : r2 < Dr ? 2 : r2 < cr ? 3 : r2 < hr ? 4 : r2 < lr ? 5 : r2 < dr ? 6 : r2 < pr ? 7 : r2 < fr ? 8 : r2 < gr ? 9 : 10; +}, br = { encode: rr, decode: or, encodingLength: Er }, ae$1 = br; +const De = (r2, t, e = 0) => (ae$1.encode(r2, t, e), t), ce$1 = (r2) => ae$1.encodingLength(r2), M$2 = (r2, t) => { + const e = t.byteLength, i = ce$1(r2), n = i + ce$1(e), s2 = new Uint8Array(n + e); + return De(r2, s2, 0), De(e, s2, i), s2.set(t, n), new yr(r2, e, t, s2); +}; +class yr { + constructor(t, e, i, n) { + this.code = t, this.size = e, this.digest = i, this.bytes = n; + } +} +const he$1 = ({ name: r2, code: t, encode: e }) => new wr(r2, t, e); +class wr { + constructor(t, e, i) { + this.name = t, this.code = e, this.encode = i; + } + digest(t) { + if (t instanceof Uint8Array) { + const e = this.encode(t); + return e instanceof Uint8Array ? M$2(this.code, e) : e.then((i) => M$2(this.code, i)); + } else + throw Error("Unknown type, must be binary type"); + } +} +const le$1 = (r2) => async (t) => new Uint8Array(await crypto.subtle.digest(r2, t)), Cr = he$1({ name: "sha2-256", code: 18, encode: le$1("SHA-256") }), mr = he$1({ name: "sha2-512", code: 19, encode: le$1("SHA-512") }); +var vr = Object.freeze({ __proto__: null, sha256: Cr, sha512: mr }); +const de$1 = 0, Ar = "identity", pe$1 = re, _r = (r2) => M$2(de$1, pe$1(r2)), xr = { code: de$1, name: Ar, encode: pe$1, digest: _r }; +var Rr = Object.freeze({ __proto__: null, identity: xr }); +new TextEncoder(), new TextDecoder(); +const fe = { ...yt, ...Ct, ...vt, ..._t, ...Ft, ...Bt, ...Mt, ...Vt, ...Ht, ...tr }; +({ ...vr, ...Rr }); +function ge(r2, t, e, i) { + return { name: r2, prefix: t, encoder: { name: r2, prefix: t, encode: e }, decoder: { decode: i } }; +} +const Ee = ge("utf8", "u", (r2) => "u" + new TextDecoder("utf8").decode(r2), (r2) => new TextEncoder().encode(r2.substring(1))), L$1 = ge("ascii", "a", (r2) => { + let t = "a"; + for (let e = 0; e < r2.length; e++) + t += String.fromCharCode(r2[e]); + return t; +}, (r2) => { + r2 = r2.substring(1); + const t = ot(r2.length); + for (let e = 0; e < r2.length; e++) + t[e] = r2.charCodeAt(e); + return t; +}), be = { utf8: Ee, "utf-8": Ee, hex: fe.base16, latin1: L$1, ascii: L$1, binary: L$1, ...fe }; +function Fr(r2, t = "utf8") { + const e = be[t]; + if (!e) + throw new Error(`Unsupported encoding "${t}"`); + return (t === "utf8" || t === "utf-8") && globalThis.Buffer != null && globalThis.Buffer.from != null ? globalThis.Buffer.from(r2, "utf8") : e.decoder.decode(`${e.prefix}${r2}`); +} +function Tr(r2, t = "utf8") { + const e = be[t]; + if (!e) + throw new Error(`Unsupported encoding "${t}"`); + return (t === "utf8" || t === "utf-8") && globalThis.Buffer != null && globalThis.Buffer.from != null ? globalThis.Buffer.from(r2.buffer, r2.byteOffset, r2.byteLength).toString("utf8") : e.encoder.encode(r2).substring(1); +} +const ye = "base16", we = "utf8"; +function K$1(r2) { + const t = sha256.hash(Fr(r2, we)); + return Tr(t, ye); +} +var Or = Object.defineProperty, Sr = Object.defineProperties, Pr = Object.getOwnPropertyDescriptors, Ce = Object.getOwnPropertySymbols, Nr = Object.prototype.hasOwnProperty, $r = Object.prototype.propertyIsEnumerable, me = (r2, t, e) => t in r2 ? Or(r2, t, { enumerable: true, configurable: true, writable: true, value: e }) : r2[t] = e, I$2 = (r2, t) => { + for (var e in t || (t = {})) + Nr.call(t, e) && me(r2, e, t[e]); + if (Ce) + for (var e of Ce(t)) + $r.call(t, e) && me(r2, e, t[e]); + return r2; +}, V$1 = (r2, t) => Sr(r2, Pr(t)); +class Br extends G$2 { + constructor(t) { + super(t), this.initialized = false, this.name = "authEngine", this.init = () => { + this.initialized || (this.registerRelayerEvents(), this.registerPairingEvents(), this.client.core.pairing.register({ methods: Object.keys(R$1) }), this.initialized = true); + }, this.request = async (e, i) => { + if (this.isInitialized(), !nt(e)) + throw new Error("Invalid request"); + if (i != null && i.topic) + return await this.requestOnKnownPairing(i.topic, e); + const { chainId: n, statement: s2, aud: o2, domain: u2, nonce: a, type: c, exp: h2, nbf: f2 } = e, { topic: p2, uri: A2 } = await this.client.core.pairing.create(); + this.client.logger.info({ message: "Generated new pairing", pairing: { topic: p2, uri: A2 } }); + const D2 = await this.client.core.crypto.generateKeyPair(), l2 = Kn(D2); + await this.client.authKeys.set(x$1, { responseTopic: l2, publicKey: D2 }), await this.client.pairingTopics.set(l2, { topic: l2, pairingTopic: p2 }), await this.client.core.relayer.subscribe(l2), this.client.logger.info(`sending request to new pairing topic: ${p2}`); + const m2 = await this.sendRequest(p2, "wc_authRequest", { payloadParams: { type: c ?? "eip4361", chainId: n, statement: s2, aud: o2, domain: u2, version: "1", nonce: a, iat: (/* @__PURE__ */ new Date()).toISOString(), exp: h2, nbf: f2 }, requester: { publicKey: D2, metadata: this.client.metadata } }, {}, e.expiry); + return this.client.logger.info(`sent request to new pairing topic: ${p2}`), { uri: A2, id: m2 }; + }, this.respond = async (e, i) => { + if (this.isInitialized(), !st(e, this.client.requests)) + throw new Error("Invalid response"); + const n = te(this.client.requests, e.id); + if (!n) + throw new Error(`Could not find pending auth request with id ${e.id}`); + const s2 = n.requester.publicKey, o2 = await this.client.core.crypto.generateKeyPair(), u2 = Kn(s2), a = { type: _$1, receiverPublicKey: s2, senderPublicKey: o2 }; + if ("error" in e) { + await this.sendError(n.id, u2, e, a); + return; + } + const c = { h: { t: "eip4361" }, p: V$1(I$2({}, n.cacaoPayload), { iss: i }), s: e.signature }; + await this.sendResult(n.id, u2, c, a), await this.client.core.pairing.activate({ topic: n.pairingTopic }), await this.client.requests.update(n.id, I$2({}, c)); + }, this.getPendingRequests = () => ee(this.client.requests), this.formatMessage = (e, i) => { + this.client.logger.debug(`formatMessage, cacao is: ${JSON.stringify(e)}`); + const n = `${e.domain} wants you to sign in with your Ethereum account:`, s2 = W$2(i), o2 = e.statement, u2 = `URI: ${e.aud}`, a = `Version: ${e.version}`, c = `Chain ID: ${Ze(i)}`, h2 = `Nonce: ${e.nonce}`, f2 = `Issued At: ${e.iat}`, p2 = e.exp ? `Expiry: ${e.exp}` : void 0, A2 = e.resources && e.resources.length > 0 ? `Resources: +${e.resources.map((D2) => `- ${D2}`).join(` +`)}` : void 0; + return [n, s2, "", o2, "", u2, a, c, h2, f2, p2, A2].filter((D2) => D2 != null).join(` +`); + }, this.setExpiry = async (e, i) => { + this.client.core.pairing.pairings.keys.includes(e) && await this.client.core.pairing.updateExpiry({ topic: e, expiry: i }), this.client.core.expirer.set(e, i); + }, this.sendRequest = async (e, i, n, s2, o2) => { + const u2 = formatJsonRpcRequest(i, n), a = await this.client.core.crypto.encode(e, u2, s2), c = R$1[i].req; + if (o2 && (c.ttl = o2), this.client.core.history.set(e, u2), D$1()) { + const h2 = K$1(JSON.stringify(u2)); + this.client.core.verify.register({ attestationId: h2 }); + } + return await this.client.core.relayer.publish(e, a, V$1(I$2({}, c), { internal: { throwOnFailedPublish: true } })), u2.id; + }, this.sendResult = async (e, i, n, s2) => { + const o2 = formatJsonRpcResult(e, n), u2 = await this.client.core.crypto.encode(i, o2, s2), a = await this.client.core.history.get(i, e), c = R$1[a.request.method].res; + return await this.client.core.relayer.publish(i, u2, V$1(I$2({}, c), { internal: { throwOnFailedPublish: true } })), await this.client.core.history.resolve(o2), o2.id; + }, this.sendError = async (e, i, n, s2) => { + const o2 = formatJsonRpcError(e, n.error), u2 = await this.client.core.crypto.encode(i, o2, s2), a = await this.client.core.history.get(i, e), c = R$1[a.request.method].res; + return await this.client.core.relayer.publish(i, u2, c), await this.client.core.history.resolve(o2), o2.id; + }, this.requestOnKnownPairing = async (e, i) => { + const n = this.client.core.pairing.pairings.getAll({ active: true }).find((A2) => A2.topic === e); + if (!n) + throw new Error(`Could not find pairing for provided topic ${e}`); + const { publicKey: s2 } = this.client.authKeys.get(x$1), { chainId: o2, statement: u2, aud: a, domain: c, nonce: h2, type: f2 } = i, p2 = await this.sendRequest(n.topic, "wc_authRequest", { payloadParams: { type: f2 ?? "eip4361", chainId: o2, statement: u2, aud: a, domain: c, version: "1", nonce: h2, iat: (/* @__PURE__ */ new Date()).toISOString() }, requester: { publicKey: s2, metadata: this.client.metadata } }, {}, i.expiry); + return this.client.logger.info(`sent request to known pairing topic: ${n.topic}`), { id: p2 }; + }, this.onPairingCreated = (e) => { + const i = this.getPendingRequests(); + if (i) { + const n = Object.values(i).find((s2) => s2.pairingTopic === e.topic); + n && this.handleAuthRequest(n); + } + }, this.onRelayEventRequest = (e) => { + const { topic: i, payload: n } = e, s2 = n.method; + switch (s2) { + case "wc_authRequest": + return this.onAuthRequest(i, n); + default: + return this.client.logger.info(`Unsupported request method ${s2}`); + } + }, this.onRelayEventResponse = async (e) => { + const { topic: i, payload: n } = e, s2 = (await this.client.core.history.get(i, n.id)).request.method; + switch (s2) { + case "wc_authRequest": + return this.onAuthResponse(i, n); + default: + return this.client.logger.info(`Unsupported response method ${s2}`); + } + }, this.onAuthRequest = async (e, i) => { + const { requester: n, payloadParams: s2 } = i.params; + this.client.logger.info({ type: "onAuthRequest", topic: e, payload: i }); + const o2 = K$1(JSON.stringify(i)), u2 = await this.getVerifyContext(o2, this.client.metadata), a = { requester: n, pairingTopic: e, id: i.id, cacaoPayload: s2, verifyContext: u2 }; + await this.client.requests.set(i.id, a), this.handleAuthRequest(a); + }, this.handleAuthRequest = async (e) => { + const { id: i, pairingTopic: n, requester: s2, cacaoPayload: o2, verifyContext: u2 } = e; + try { + this.client.emit("auth_request", { id: i, topic: n, params: { requester: s2, cacaoPayload: o2 }, verifyContext: u2 }); + } catch (a) { + await this.sendError(e.id, e.pairingTopic, a), this.client.logger.error(a); + } + }, this.onAuthResponse = async (e, i) => { + const { id: n } = i; + if (this.client.logger.info({ type: "onAuthResponse", topic: e, response: i }), isJsonRpcResult(i)) { + const { pairingTopic: s2 } = this.client.pairingTopics.get(e); + await this.client.core.pairing.activate({ topic: s2 }); + const { s: o2, p: u2 } = i.result; + await this.client.requests.set(n, I$2({ id: n, pairingTopic: s2 }, i.result)); + const a = this.formatMessage(u2, u2.iss); + this.client.logger.debug(`reconstructed message: +`, JSON.stringify(a)), this.client.logger.debug("payload.iss:", u2.iss), this.client.logger.debug("signature:", o2); + const c = W$2(u2.iss), h2 = We(u2.iss); + if (!c) + throw new Error("Could not derive address from `payload.iss`"); + if (!h2) + throw new Error("Could not derive chainId from `payload.iss`"); + this.client.logger.debug("walletAddress extracted from `payload.iss`:", c), await et(c, a, o2, h2, this.client.projectId) ? this.client.emit("auth_response", { id: n, topic: e, params: i }) : this.client.emit("auth_response", { id: n, topic: e, params: { message: "Invalid signature", code: -1 } }); + } else + isJsonRpcError(i) && this.client.emit("auth_response", { id: n, topic: e, params: i }); + }, this.getVerifyContext = async (e, i) => { + const n = { verified: { verifyUrl: i.verifyUrl || "", validation: "UNKNOWN", origin: i.url || "" } }; + try { + const s2 = await this.client.core.verify.resolve({ attestationId: e, verifyUrl: i.verifyUrl }); + s2 && (n.verified.origin = s2.origin, n.verified.isScam = s2.isScam, n.verified.validation = origin === new URL(i.url).origin ? "VALID" : "INVALID"); + } catch (s2) { + this.client.logger.error(s2); + } + return this.client.logger.info(`Verify context: ${JSON.stringify(n)}`), n; + }; + } + isInitialized() { + if (!this.initialized) { + const { message: t } = N("NOT_INITIALIZED", this.name); + throw new Error(t); + } + } + registerRelayerEvents() { + this.client.core.relayer.on(D$2.message, async (t) => { + const { topic: e, message: i } = t, { responseTopic: n, publicKey: s2 } = this.client.authKeys.keys.includes(x$1) ? this.client.authKeys.get(x$1) : { responseTopic: void 0, publicKey: void 0 }; + if (n && e !== n) { + this.client.logger.debug("[Auth] Ignoring message from unknown topic", e); + return; + } + const o2 = await this.client.core.crypto.decode(e, i, { receiverPublicKey: s2 }); + isJsonRpcRequest(o2) ? (this.client.core.history.set(e, o2), this.onRelayEventRequest({ topic: e, payload: o2 })) : isJsonRpcResponse(o2) && (await this.client.core.history.resolve(o2), this.onRelayEventResponse({ topic: e, payload: o2 })); + }); + } + registerPairingEvents() { + this.client.core.pairing.events.on(V$2.create, (t) => this.onPairingCreated(t)); + } +} +let S$1 = class S extends H$1 { + constructor(t) { + super(t), this.protocol = $, this.version = Q$1, this.name = B, this.events = new eventsExports.EventEmitter(), this.emit = (i, n) => this.events.emit(i, n), this.on = (i, n) => this.events.on(i, n), this.once = (i, n) => this.events.once(i, n), this.off = (i, n) => this.events.off(i, n), this.removeListener = (i, n) => this.events.removeListener(i, n), this.request = async (i, n) => { + try { + return await this.engine.request(i, n); + } catch (s2) { + throw this.logger.error(s2.message), s2; + } + }, this.respond = async (i, n) => { + try { + return await this.engine.respond(i, n); + } catch (s2) { + throw this.logger.error(s2.message), s2; + } + }, this.getPendingRequests = () => { + try { + return this.engine.getPendingRequests(); + } catch (i) { + throw this.logger.error(i.message), i; + } + }, this.formatMessage = (i, n) => { + try { + return this.engine.formatMessage(i, n); + } catch (s2) { + throw this.logger.error(s2.message), s2; + } + }; + const e = typeof t.logger < "u" && typeof t.logger != "string" ? t.logger : cjs.pino(cjs.getDefaultLoggerOptions({ level: t.logger || "error" })); + this.name = (t == null ? void 0 : t.name) || B, this.metadata = t.metadata, this.projectId = t.projectId, this.core = t.core || new Nr$1(t), this.logger = cjs.generateChildLogger(e, this.name), this.authKeys = new Mt$1(this.core, this.logger, "authKeys", F$2, () => x$1), this.pairingTopics = new Mt$1(this.core, this.logger, "pairingTopics", F$2), this.requests = new Mt$1(this.core, this.logger, "requests", F$2, (i) => i.id), this.engine = new Br(this); + } + static async init(t) { + const e = new S(t); + return await e.initialize(), e; + } + get context() { + return cjs.getLoggerContext(this.logger); + } + async initialize() { + this.logger.trace("Initialized"); + try { + await this.core.start(), await this.authKeys.init(), await this.requests.init(), await this.pairingTopics.init(), await this.engine.init(), this.logger.info("AuthClient Initialization Success"), this.logger.info({ authClient: this }); + } catch (t) { + throw this.logger.info("AuthClient Initialization Failure"), this.logger.error(t.message), t; + } + } +}; +const zr = S$1; +const X$1 = "wc", F$1 = 2, H2 = "client", G$1 = `${X$1}@${F$1}:${H2}:`, M$1 = { name: H2, logger: "error", controller: false, relayUrl: "wss://relay.walletconnect.com" }, W$1 = "WALLETCONNECT_DEEPLINK_CHOICE", ne = "proposal", oe = "Proposal expired", ae = "session", A = cjs$1.SEVEN_DAYS, ce = "engine", V = { wc_sessionPropose: { req: { ttl: cjs$1.FIVE_MINUTES, prompt: true, tag: 1100 }, res: { ttl: cjs$1.FIVE_MINUTES, prompt: false, tag: 1101 } }, wc_sessionSettle: { req: { ttl: cjs$1.FIVE_MINUTES, prompt: false, tag: 1102 }, res: { ttl: cjs$1.FIVE_MINUTES, prompt: false, tag: 1103 } }, wc_sessionUpdate: { req: { ttl: cjs$1.ONE_DAY, prompt: false, tag: 1104 }, res: { ttl: cjs$1.ONE_DAY, prompt: false, tag: 1105 } }, wc_sessionExtend: { req: { ttl: cjs$1.ONE_DAY, prompt: false, tag: 1106 }, res: { ttl: cjs$1.ONE_DAY, prompt: false, tag: 1107 } }, wc_sessionRequest: { req: { ttl: cjs$1.FIVE_MINUTES, prompt: true, tag: 1108 }, res: { ttl: cjs$1.FIVE_MINUTES, prompt: false, tag: 1109 } }, wc_sessionEvent: { req: { ttl: cjs$1.FIVE_MINUTES, prompt: true, tag: 1110 }, res: { ttl: cjs$1.FIVE_MINUTES, prompt: false, tag: 1111 } }, wc_sessionDelete: { req: { ttl: cjs$1.ONE_DAY, prompt: false, tag: 1112 }, res: { ttl: cjs$1.ONE_DAY, prompt: false, tag: 1113 } }, wc_sessionPing: { req: { ttl: cjs$1.THIRTY_SECONDS, prompt: false, tag: 1114 }, res: { ttl: cjs$1.THIRTY_SECONDS, prompt: false, tag: 1115 } } }, U$1 = { min: cjs$1.FIVE_MINUTES, max: cjs$1.SEVEN_DAYS }, I$1 = { idle: "IDLE", active: "ACTIVE" }, le = "request", pe = ["wc_sessionPropose", "wc_sessionRequest", "wc_authRequest"]; +var os = Object.defineProperty, as = Object.defineProperties, cs = Object.getOwnPropertyDescriptors, he = Object.getOwnPropertySymbols, ls = Object.prototype.hasOwnProperty, ps = Object.prototype.propertyIsEnumerable, de = (m2, r2, e) => r2 in m2 ? os(m2, r2, { enumerable: true, configurable: true, writable: true, value: e }) : m2[r2] = e, g$1 = (m2, r2) => { + for (var e in r2 || (r2 = {})) + ls.call(r2, e) && de(m2, e, r2[e]); + if (he) + for (var e of he(r2)) + ps.call(r2, e) && de(m2, e, r2[e]); + return m2; +}, b$1 = (m2, r2) => as(m2, cs(r2)); +class hs extends S$2 { + constructor(r2) { + super(r2), this.name = ce, this.events = new Ye(), this.initialized = false, this.ignoredPayloadTypes = [_$1], this.requestQueue = { state: I$1.idle, queue: [] }, this.sessionRequestQueue = { state: I$1.idle, queue: [] }, this.requestQueueDelay = cjs$1.ONE_SECOND, this.init = async () => { + this.initialized || (await this.cleanup(), this.registerRelayerEvents(), this.registerExpirerEvents(), this.registerPairingEvents(), this.client.core.pairing.register({ methods: Object.keys(V) }), this.initialized = true, setTimeout(() => { + this.sessionRequestQueue.queue = this.getPendingSessionRequests(), this.processSessionRequestQueue(); + }, cjs$1.toMiliseconds(this.requestQueueDelay))); + }, this.connect = async (e) => { + await this.isInitialized(); + const s2 = b$1(g$1({}, e), { requiredNamespaces: e.requiredNamespaces || {}, optionalNamespaces: e.optionalNamespaces || {} }); + await this.isValidConnect(s2); + const { pairingTopic: t, requiredNamespaces: i, optionalNamespaces: n, sessionProperties: o2, relays: a } = s2; + let c = t, p2, d2 = false; + if (c && (d2 = this.client.core.pairing.pairings.get(c).active), !c || !d2) { + const { topic: v2, uri: S3 } = await this.client.core.pairing.create(); + c = v2, p2 = S3; + } + const h2 = await this.client.core.crypto.generateKeyPair(), R2 = g$1({ requiredNamespaces: i, optionalNamespaces: n, relays: a ?? [{ protocol: ht$1 }], proposer: { publicKey: h2, metadata: this.client.metadata } }, o2 && { sessionProperties: o2 }), { reject: w2, resolve: T2, done: K2 } = at$1(cjs$1.FIVE_MINUTES, oe); + if (this.events.once(yt$1("session_connect"), async ({ error: v2, session: S3 }) => { + if (v2) + w2(v2); + else if (S3) { + S3.self.publicKey = h2; + const B2 = b$1(g$1({}, S3), { requiredNamespaces: S3.requiredNamespaces, optionalNamespaces: S3.optionalNamespaces }); + await this.client.session.set(S3.topic, B2), await this.setExpiry(S3.topic, S3.expiry), c && await this.client.core.pairing.updateMetadata({ topic: c, metadata: S3.peer.metadata }), T2(B2); + } + }), !c) { + const { message: v2 } = N("NO_MATCHING_KEY", `connect() pairing topic: ${c}`); + throw new Error(v2); + } + const L2 = await this.sendRequest({ topic: c, method: "wc_sessionPropose", params: R2 }), ue2 = pt$1(cjs$1.FIVE_MINUTES); + return await this.setProposal(L2, g$1({ id: L2, expiry: ue2 }, R2)), { uri: p2, approval: K2 }; + }, this.pair = async (e) => (await this.isInitialized(), await this.client.core.pairing.pair(e)), this.approve = async (e) => { + await this.isInitialized(), await this.isValidApprove(e); + const { id: s2, relayProtocol: t, namespaces: i, sessionProperties: n } = e, o2 = this.client.proposal.get(s2); + let { pairingTopic: a, proposer: c, requiredNamespaces: p2, optionalNamespaces: d2 } = o2; + a = a || "", B$1(p2) || (p2 = jt$1(i, "approve()")); + const h2 = await this.client.core.crypto.generateKeyPair(), R2 = c.publicKey, w2 = await this.client.core.crypto.generateSharedKey(h2, R2); + a && s2 && (await this.client.core.pairing.updateMetadata({ topic: a, metadata: c.metadata }), await this.sendResult({ id: s2, topic: a, result: { relay: { protocol: t ?? "irn" }, responderPublicKey: h2 } }), await this.client.proposal.delete(s2, U$3("USER_DISCONNECTED")), await this.client.core.pairing.activate({ topic: a })); + const T2 = g$1({ relay: { protocol: t ?? "irn" }, namespaces: i, requiredNamespaces: p2, optionalNamespaces: d2, pairingTopic: a, controller: { publicKey: h2, metadata: this.client.metadata }, expiry: pt$1(A) }, n && { sessionProperties: n }); + await this.client.core.relayer.subscribe(w2), await this.sendRequest({ topic: w2, method: "wc_sessionSettle", params: T2, throwOnFailedPublish: true }); + const K2 = b$1(g$1({}, T2), { topic: w2, pairingTopic: a, acknowledged: false, self: T2.controller, peer: { publicKey: c.publicKey, metadata: c.metadata }, controller: h2 }); + return await this.client.session.set(w2, K2), await this.setExpiry(w2, pt$1(A)), { topic: w2, acknowledged: () => new Promise((L2) => setTimeout(() => L2(this.client.session.get(w2)), 500)) }; + }, this.reject = async (e) => { + await this.isInitialized(), await this.isValidReject(e); + const { id: s2, reason: t } = e, { pairingTopic: i } = this.client.proposal.get(s2); + i && (await this.sendError(s2, i, t), await this.client.proposal.delete(s2, U$3("USER_DISCONNECTED"))); + }, this.update = async (e) => { + await this.isInitialized(), await this.isValidUpdate(e); + const { topic: s2, namespaces: t } = e, i = await this.sendRequest({ topic: s2, method: "wc_sessionUpdate", params: { namespaces: t } }), { done: n, resolve: o2, reject: a } = at$1(); + return this.events.once(yt$1("session_update", i), ({ error: c }) => { + c ? a(c) : o2(); + }), await this.client.session.update(s2, { namespaces: t }), { acknowledged: n }; + }, this.extend = async (e) => { + await this.isInitialized(), await this.isValidExtend(e); + const { topic: s2 } = e, t = await this.sendRequest({ topic: s2, method: "wc_sessionExtend", params: {} }), { done: i, resolve: n, reject: o2 } = at$1(); + return this.events.once(yt$1("session_extend", t), ({ error: a }) => { + a ? o2(a) : n(); + }), await this.setExpiry(s2, pt$1(A)), { acknowledged: i }; + }, this.request = async (e) => { + await this.isInitialized(), await this.isValidRequest(e); + const { chainId: s2, request: t, topic: i, expiry: n } = e, o2 = payloadId(), { done: a, resolve: c, reject: p2 } = at$1(n, "Request expired. Please try again."); + return this.events.once(yt$1("session_request", o2), ({ error: d2, result: h2 }) => { + d2 ? p2(d2) : c(h2); + }), await Promise.all([new Promise(async (d2) => { + await this.sendRequest({ clientRpcId: o2, topic: i, method: "wc_sessionRequest", params: { request: t, chainId: s2 }, expiry: n, throwOnFailedPublish: true }).catch((h2) => p2(h2)), this.client.events.emit("session_request_sent", { topic: i, request: t, chainId: s2, id: o2 }), d2(); + }), new Promise(async (d2) => { + const h2 = await gt$1(this.client.core.storage, W$1); + ht$2({ id: o2, topic: i, wcDeepLink: h2 }), d2(); + }), a()]).then((d2) => d2[2]); + }, this.respond = async (e) => { + await this.isInitialized(), await this.isValidRespond(e); + const { topic: s2, response: t } = e, { id: i } = t; + isJsonRpcResult(t) ? await this.sendResult({ id: i, topic: s2, result: t.result, throwOnFailedPublish: true }) : isJsonRpcError(t) && await this.sendError(i, s2, t.error), this.cleanupAfterResponse(e); + }, this.ping = async (e) => { + await this.isInitialized(), await this.isValidPing(e); + const { topic: s2 } = e; + if (this.client.session.keys.includes(s2)) { + const t = await this.sendRequest({ topic: s2, method: "wc_sessionPing", params: {} }), { done: i, resolve: n, reject: o2 } = at$1(); + this.events.once(yt$1("session_ping", t), ({ error: a }) => { + a ? o2(a) : n(); + }), await i(); + } else + this.client.core.pairing.pairings.keys.includes(s2) && await this.client.core.pairing.ping({ topic: s2 }); + }, this.emit = async (e) => { + await this.isInitialized(), await this.isValidEmit(e); + const { topic: s2, event: t, chainId: i } = e; + await this.sendRequest({ topic: s2, method: "wc_sessionEvent", params: { event: t, chainId: i } }); + }, this.disconnect = async (e) => { + await this.isInitialized(), await this.isValidDisconnect(e); + const { topic: s2 } = e; + this.client.session.keys.includes(s2) ? (await this.sendRequest({ topic: s2, method: "wc_sessionDelete", params: U$3("USER_DISCONNECTED"), throwOnFailedPublish: true }), await this.deleteSession(s2)) : await this.client.core.pairing.disconnect({ topic: s2 }); + }, this.find = (e) => (this.isInitialized(), this.client.session.getAll().filter((s2) => Dt$1(s2, e))), this.getPendingSessionRequests = () => (this.isInitialized(), this.client.pendingRequest.getAll()), this.cleanupDuplicatePairings = async (e) => { + if (e.pairingTopic) + try { + const s2 = this.client.core.pairing.pairings.get(e.pairingTopic), t = this.client.core.pairing.pairings.getAll().filter((i) => { + var n, o2; + return ((n = i.peerMetadata) == null ? void 0 : n.url) && ((o2 = i.peerMetadata) == null ? void 0 : o2.url) === e.peer.metadata.url && i.topic && i.topic !== s2.topic; + }); + if (t.length === 0) + return; + this.client.logger.info(`Cleaning up ${t.length} duplicate pairing(s)`), await Promise.all(t.map((i) => this.client.core.pairing.disconnect({ topic: i.topic }))), this.client.logger.info("Duplicate pairings clean up finished"); + } catch (s2) { + this.client.logger.error(s2); + } + }, this.deleteSession = async (e, s2) => { + const { self: t } = this.client.session.get(e); + await this.client.core.relayer.unsubscribe(e), this.client.session.delete(e, U$3("USER_DISCONNECTED")), this.client.core.crypto.keychain.has(t.publicKey) && await this.client.core.crypto.deleteKeyPair(t.publicKey), this.client.core.crypto.keychain.has(e) && await this.client.core.crypto.deleteSymKey(e), s2 || this.client.core.expirer.del(e), this.client.core.storage.removeItem(W$1).catch((i) => this.client.logger.warn(i)); + }, this.deleteProposal = async (e, s2) => { + await Promise.all([this.client.proposal.delete(e, U$3("USER_DISCONNECTED")), s2 ? Promise.resolve() : this.client.core.expirer.del(e)]); + }, this.deletePendingSessionRequest = async (e, s2, t = false) => { + await Promise.all([this.client.pendingRequest.delete(e, s2), t ? Promise.resolve() : this.client.core.expirer.del(e)]), this.sessionRequestQueue.queue = this.sessionRequestQueue.queue.filter((i) => i.id !== e), t && (this.sessionRequestQueue.state = I$1.idle); + }, this.setExpiry = async (e, s2) => { + this.client.session.keys.includes(e) && await this.client.session.update(e, { expiry: s2 }), this.client.core.expirer.set(e, s2); + }, this.setProposal = async (e, s2) => { + await this.client.proposal.set(e, s2), this.client.core.expirer.set(e, s2.expiry); + }, this.setPendingSessionRequest = async (e) => { + const s2 = V.wc_sessionRequest.req.ttl, { id: t, topic: i, params: n, verifyContext: o2 } = e; + await this.client.pendingRequest.set(t, { id: t, topic: i, params: n, verifyContext: o2 }), s2 && this.client.core.expirer.set(t, pt$1(s2)); + }, this.sendRequest = async (e) => { + const { topic: s2, method: t, params: i, expiry: n, relayRpcId: o2, clientRpcId: a, throwOnFailedPublish: c } = e, p2 = formatJsonRpcRequest(t, i, a); + if (D$1() && pe.includes(t)) { + const R2 = Ln(JSON.stringify(p2)); + this.client.core.verify.register({ attestationId: R2 }); + } + const d2 = await this.client.core.crypto.encode(s2, p2), h2 = V[t].req; + return n && (h2.ttl = n), o2 && (h2.id = o2), this.client.core.history.set(s2, p2), c ? (h2.internal = b$1(g$1({}, h2.internal), { throwOnFailedPublish: true }), await this.client.core.relayer.publish(s2, d2, h2)) : this.client.core.relayer.publish(s2, d2, h2).catch((R2) => this.client.logger.error(R2)), p2.id; + }, this.sendResult = async (e) => { + const { id: s2, topic: t, result: i, throwOnFailedPublish: n } = e, o2 = formatJsonRpcResult(s2, i), a = await this.client.core.crypto.encode(t, o2), c = await this.client.core.history.get(t, s2), p2 = V[c.request.method].res; + n ? (p2.internal = b$1(g$1({}, p2.internal), { throwOnFailedPublish: true }), await this.client.core.relayer.publish(t, a, p2)) : this.client.core.relayer.publish(t, a, p2).catch((d2) => this.client.logger.error(d2)), await this.client.core.history.resolve(o2); + }, this.sendError = async (e, s2, t) => { + const i = formatJsonRpcError(e, t), n = await this.client.core.crypto.encode(s2, i), o2 = await this.client.core.history.get(s2, e), a = V[o2.request.method].res; + this.client.core.relayer.publish(s2, n, a), await this.client.core.history.resolve(i); + }, this.cleanup = async () => { + const e = [], s2 = []; + this.client.session.getAll().forEach((t) => { + mt$1(t.expiry) && e.push(t.topic); + }), this.client.proposal.getAll().forEach((t) => { + mt$1(t.expiry) && s2.push(t.id); + }), await Promise.all([...e.map((t) => this.deleteSession(t)), ...s2.map((t) => this.deleteProposal(t))]); + }, this.onRelayEventRequest = async (e) => { + this.requestQueue.queue.push(e), await this.processRequestsQueue(); + }, this.processRequestsQueue = async () => { + if (this.requestQueue.state === I$1.active) { + this.client.logger.info("Request queue already active, skipping..."); + return; + } + for (this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`); this.requestQueue.queue.length > 0; ) { + this.requestQueue.state = I$1.active; + const e = this.requestQueue.queue.shift(); + if (e) + try { + this.processRequest(e), await new Promise((s2) => setTimeout(s2, 300)); + } catch (s2) { + this.client.logger.warn(s2); + } + } + this.requestQueue.state = I$1.idle; + }, this.processRequest = (e) => { + const { topic: s2, payload: t } = e, i = t.method; + switch (i) { + case "wc_sessionPropose": + return this.onSessionProposeRequest(s2, t); + case "wc_sessionSettle": + return this.onSessionSettleRequest(s2, t); + case "wc_sessionUpdate": + return this.onSessionUpdateRequest(s2, t); + case "wc_sessionExtend": + return this.onSessionExtendRequest(s2, t); + case "wc_sessionPing": + return this.onSessionPingRequest(s2, t); + case "wc_sessionDelete": + return this.onSessionDeleteRequest(s2, t); + case "wc_sessionRequest": + return this.onSessionRequest(s2, t); + case "wc_sessionEvent": + return this.onSessionEventRequest(s2, t); + default: + return this.client.logger.info(`Unsupported request method ${i}`); + } + }, this.onRelayEventResponse = async (e) => { + const { topic: s2, payload: t } = e, i = (await this.client.core.history.get(s2, t.id)).request.method; + switch (i) { + case "wc_sessionPropose": + return this.onSessionProposeResponse(s2, t); + case "wc_sessionSettle": + return this.onSessionSettleResponse(s2, t); + case "wc_sessionUpdate": + return this.onSessionUpdateResponse(s2, t); + case "wc_sessionExtend": + return this.onSessionExtendResponse(s2, t); + case "wc_sessionPing": + return this.onSessionPingResponse(s2, t); + case "wc_sessionRequest": + return this.onSessionRequestResponse(s2, t); + default: + return this.client.logger.info(`Unsupported response method ${i}`); + } + }, this.onRelayEventUnknownPayload = (e) => { + const { topic: s2 } = e, { message: t } = N("MISSING_OR_INVALID", `Decoded payload on topic ${s2} is not identifiable as a JSON-RPC request or a response.`); + throw new Error(t); + }, this.onSessionProposeRequest = async (e, s2) => { + const { params: t, id: i } = s2; + try { + this.isValidConnect(g$1({}, s2.params)); + const n = pt$1(cjs$1.FIVE_MINUTES), o2 = g$1({ id: i, pairingTopic: e, expiry: n }, t); + await this.setProposal(i, o2); + const a = Ln(JSON.stringify(s2)), c = await this.getVerifyContext(a, o2.proposer.metadata); + this.client.events.emit("session_proposal", { id: i, params: o2, verifyContext: c }); + } catch (n) { + await this.sendError(i, e, n), this.client.logger.error(n); + } + }, this.onSessionProposeResponse = async (e, s2) => { + const { id: t } = s2; + if (isJsonRpcResult(s2)) { + const { result: i } = s2; + this.client.logger.trace({ type: "method", method: "onSessionProposeResponse", result: i }); + const n = this.client.proposal.get(t); + this.client.logger.trace({ type: "method", method: "onSessionProposeResponse", proposal: n }); + const o2 = n.proposer.publicKey; + this.client.logger.trace({ type: "method", method: "onSessionProposeResponse", selfPublicKey: o2 }); + const a = i.responderPublicKey; + this.client.logger.trace({ type: "method", method: "onSessionProposeResponse", peerPublicKey: a }); + const c = await this.client.core.crypto.generateSharedKey(o2, a); + this.client.logger.trace({ type: "method", method: "onSessionProposeResponse", sessionTopic: c }); + const p2 = await this.client.core.relayer.subscribe(c); + this.client.logger.trace({ type: "method", method: "onSessionProposeResponse", subscriptionId: p2 }), await this.client.core.pairing.activate({ topic: e }); + } else + isJsonRpcError(s2) && (await this.client.proposal.delete(t, U$3("USER_DISCONNECTED")), this.events.emit(yt$1("session_connect"), { error: s2.error })); + }, this.onSessionSettleRequest = async (e, s2) => { + const { id: t, params: i } = s2; + try { + this.isValidSessionSettleRequest(i); + const { relay: n, controller: o2, expiry: a, namespaces: c, requiredNamespaces: p2, optionalNamespaces: d2, sessionProperties: h2, pairingTopic: R2 } = s2.params, w2 = g$1({ topic: e, relay: n, expiry: a, namespaces: c, acknowledged: true, pairingTopic: R2, requiredNamespaces: p2, optionalNamespaces: d2, controller: o2.publicKey, self: { publicKey: "", metadata: this.client.metadata }, peer: { publicKey: o2.publicKey, metadata: o2.metadata } }, h2 && { sessionProperties: h2 }); + await this.sendResult({ id: s2.id, topic: e, result: true }), this.events.emit(yt$1("session_connect"), { session: w2 }), this.cleanupDuplicatePairings(w2); + } catch (n) { + await this.sendError(t, e, n), this.client.logger.error(n); + } + }, this.onSessionSettleResponse = async (e, s2) => { + const { id: t } = s2; + isJsonRpcResult(s2) ? (await this.client.session.update(e, { acknowledged: true }), this.events.emit(yt$1("session_approve", t), {})) : isJsonRpcError(s2) && (await this.client.session.delete(e, U$3("USER_DISCONNECTED")), this.events.emit(yt$1("session_approve", t), { error: s2.error })); + }, this.onSessionUpdateRequest = async (e, s2) => { + const { params: t, id: i } = s2; + try { + const n = `${e}_session_update`, o2 = tr$1.get(n); + if (o2 && this.isRequestOutOfSync(o2, i)) { + this.client.logger.info(`Discarding out of sync request - ${i}`); + return; + } + this.isValidUpdate(g$1({ topic: e }, t)), await this.client.session.update(e, { namespaces: t.namespaces }), await this.sendResult({ id: i, topic: e, result: true }), this.client.events.emit("session_update", { id: i, topic: e, params: t }), tr$1.set(n, i); + } catch (n) { + await this.sendError(i, e, n), this.client.logger.error(n); + } + }, this.isRequestOutOfSync = (e, s2) => parseInt(s2.toString().slice(0, -3)) <= parseInt(e.toString().slice(0, -3)), this.onSessionUpdateResponse = (e, s2) => { + const { id: t } = s2; + isJsonRpcResult(s2) ? this.events.emit(yt$1("session_update", t), {}) : isJsonRpcError(s2) && this.events.emit(yt$1("session_update", t), { error: s2.error }); + }, this.onSessionExtendRequest = async (e, s2) => { + const { id: t } = s2; + try { + this.isValidExtend({ topic: e }), await this.setExpiry(e, pt$1(A)), await this.sendResult({ id: t, topic: e, result: true }), this.client.events.emit("session_extend", { id: t, topic: e }); + } catch (i) { + await this.sendError(t, e, i), this.client.logger.error(i); + } + }, this.onSessionExtendResponse = (e, s2) => { + const { id: t } = s2; + isJsonRpcResult(s2) ? this.events.emit(yt$1("session_extend", t), {}) : isJsonRpcError(s2) && this.events.emit(yt$1("session_extend", t), { error: s2.error }); + }, this.onSessionPingRequest = async (e, s2) => { + const { id: t } = s2; + try { + this.isValidPing({ topic: e }), await this.sendResult({ id: t, topic: e, result: true }), this.client.events.emit("session_ping", { id: t, topic: e }); + } catch (i) { + await this.sendError(t, e, i), this.client.logger.error(i); + } + }, this.onSessionPingResponse = (e, s2) => { + const { id: t } = s2; + setTimeout(() => { + isJsonRpcResult(s2) ? this.events.emit(yt$1("session_ping", t), {}) : isJsonRpcError(s2) && this.events.emit(yt$1("session_ping", t), { error: s2.error }); + }, 500); + }, this.onSessionDeleteRequest = async (e, s2) => { + const { id: t } = s2; + try { + this.isValidDisconnect({ topic: e, reason: s2.params }), await Promise.all([new Promise((i) => { + this.client.core.relayer.once(D$2.publish, async () => { + i(await this.deleteSession(e)); + }); + }), this.sendResult({ id: t, topic: e, result: true })]), this.client.events.emit("session_delete", { id: t, topic: e }); + } catch (i) { + this.client.logger.error(i); + } + }, this.onSessionRequest = async (e, s2) => { + const { id: t, params: i } = s2; + try { + this.isValidRequest(g$1({ topic: e }, i)); + const n = Ln(JSON.stringify(formatJsonRpcRequest("wc_sessionRequest", i, t))), o2 = this.client.session.get(e), a = await this.getVerifyContext(n, o2.peer.metadata), c = { id: t, topic: e, params: i, verifyContext: a }; + await this.setPendingSessionRequest(c), this.addSessionRequestToSessionRequestQueue(c), this.processSessionRequestQueue(); + } catch (n) { + await this.sendError(t, e, n), this.client.logger.error(n); + } + }, this.onSessionRequestResponse = (e, s2) => { + const { id: t } = s2; + isJsonRpcResult(s2) ? this.events.emit(yt$1("session_request", t), { result: s2.result }) : isJsonRpcError(s2) && this.events.emit(yt$1("session_request", t), { error: s2.error }); + }, this.onSessionEventRequest = async (e, s2) => { + const { id: t, params: i } = s2; + try { + const n = `${e}_session_event_${i.event.name}`, o2 = tr$1.get(n); + if (o2 && this.isRequestOutOfSync(o2, t)) { + this.client.logger.info(`Discarding out of sync request - ${t}`); + return; + } + this.isValidEmit(g$1({ topic: e }, i)), this.client.events.emit("session_event", { id: t, topic: e, params: i }), tr$1.set(n, t); + } catch (n) { + await this.sendError(t, e, n), this.client.logger.error(n); + } + }, this.addSessionRequestToSessionRequestQueue = (e) => { + this.sessionRequestQueue.queue.push(e); + }, this.cleanupAfterResponse = (e) => { + this.deletePendingSessionRequest(e.response.id, { message: "fulfilled", code: 0 }), setTimeout(() => { + this.sessionRequestQueue.state = I$1.idle, this.processSessionRequestQueue(); + }, cjs$1.toMiliseconds(this.requestQueueDelay)); + }, this.processSessionRequestQueue = () => { + if (this.sessionRequestQueue.state === I$1.active) { + this.client.logger.info("session request queue is already active."); + return; + } + const e = this.sessionRequestQueue.queue[0]; + if (!e) { + this.client.logger.info("session request queue is empty."); + return; + } + try { + this.sessionRequestQueue.state = I$1.active, this.client.events.emit("session_request", e); + } catch (s2) { + this.client.logger.error(s2); + } + }, this.onPairingCreated = (e) => { + if (e.active) + return; + const s2 = this.client.proposal.getAll().find((t) => t.pairingTopic === e.topic); + s2 && this.onSessionProposeRequest(e.topic, formatJsonRpcRequest("wc_sessionPropose", { requiredNamespaces: s2.requiredNamespaces, optionalNamespaces: s2.optionalNamespaces, relays: s2.relays, proposer: s2.proposer, sessionProperties: s2.sessionProperties }, s2.id)); + }, this.isValidConnect = async (e) => { + if (!Ht$1(e)) { + const { message: a } = N("MISSING_OR_INVALID", `connect() params: ${JSON.stringify(e)}`); + throw new Error(a); + } + const { pairingTopic: s2, requiredNamespaces: t, optionalNamespaces: i, sessionProperties: n, relays: o2 } = e; + if (w$1(s2) || await this.isValidPairingTopic(s2), !xt$1(o2, true)) { + const { message: a } = N("MISSING_OR_INVALID", `connect() relays: ${o2}`); + throw new Error(a); + } + !w$1(t) && B$1(t) !== 0 && this.validateNamespaces(t, "requiredNamespaces"), !w$1(i) && B$1(i) !== 0 && this.validateNamespaces(i, "optionalNamespaces"), w$1(n) || this.validateSessionProps(n, "sessionProperties"); + }, this.validateNamespaces = (e, s2) => { + const t = Lt$1(e, "connect()", s2); + if (t) + throw new Error(t.message); + }, this.isValidApprove = async (e) => { + if (!Ht$1(e)) + throw new Error(N("MISSING_OR_INVALID", `approve() params: ${e}`).message); + const { id: s2, namespaces: t, relayProtocol: i, sessionProperties: n } = e; + await this.isValidProposalId(s2); + const o2 = this.client.proposal.get(s2), a = un(t, "approve()"); + if (a) + throw new Error(a.message); + const c = dn(o2.requiredNamespaces, t, "approve()"); + if (c) + throw new Error(c.message); + if (!h(i, true)) { + const { message: p2 } = N("MISSING_OR_INVALID", `approve() relayProtocol: ${i}`); + throw new Error(p2); + } + w$1(n) || this.validateSessionProps(n, "sessionProperties"); + }, this.isValidReject = async (e) => { + if (!Ht$1(e)) { + const { message: i } = N("MISSING_OR_INVALID", `reject() params: ${e}`); + throw new Error(i); + } + const { id: s2, reason: t } = e; + if (await this.isValidProposalId(s2), !qt$1(t)) { + const { message: i } = N("MISSING_OR_INVALID", `reject() reason: ${JSON.stringify(t)}`); + throw new Error(i); + } + }, this.isValidSessionSettleRequest = (e) => { + if (!Ht$1(e)) { + const { message: c } = N("MISSING_OR_INVALID", `onSessionSettleRequest() params: ${e}`); + throw new Error(c); + } + const { relay: s2, controller: t, namespaces: i, expiry: n } = e; + if (!ln(s2)) { + const { message: c } = N("MISSING_OR_INVALID", "onSessionSettleRequest() relay protocol should be a string"); + throw new Error(c); + } + const o2 = Kt$1(t, "onSessionSettleRequest()"); + if (o2) + throw new Error(o2.message); + const a = un(i, "onSessionSettleRequest()"); + if (a) + throw new Error(a.message); + if (mt$1(n)) { + const { message: c } = N("EXPIRED", "onSessionSettleRequest()"); + throw new Error(c); + } + }, this.isValidUpdate = async (e) => { + if (!Ht$1(e)) { + const { message: a } = N("MISSING_OR_INVALID", `update() params: ${e}`); + throw new Error(a); + } + const { topic: s2, namespaces: t } = e; + await this.isValidSessionTopic(s2); + const i = this.client.session.get(s2), n = un(t, "update()"); + if (n) + throw new Error(n.message); + const o2 = dn(i.requiredNamespaces, t, "update()"); + if (o2) + throw new Error(o2.message); + }, this.isValidExtend = async (e) => { + if (!Ht$1(e)) { + const { message: t } = N("MISSING_OR_INVALID", `extend() params: ${e}`); + throw new Error(t); + } + const { topic: s2 } = e; + await this.isValidSessionTopic(s2); + }, this.isValidRequest = async (e) => { + if (!Ht$1(e)) { + const { message: a } = N("MISSING_OR_INVALID", `request() params: ${e}`); + throw new Error(a); + } + const { topic: s2, request: t, chainId: i, expiry: n } = e; + await this.isValidSessionTopic(s2); + const { namespaces: o2 } = this.client.session.get(s2); + if (!zt$1(o2, i)) { + const { message: a } = N("MISSING_OR_INVALID", `request() chainId: ${i}`); + throw new Error(a); + } + if (!Bt$1(t)) { + const { message: a } = N("MISSING_OR_INVALID", `request() ${JSON.stringify(t)}`); + throw new Error(a); + } + if (!Yt$1(o2, i, t.method)) { + const { message: a } = N("MISSING_OR_INVALID", `request() method: ${t.method}`); + throw new Error(a); + } + if (n && !Xt$1(n, U$1)) { + const { message: a } = N("MISSING_OR_INVALID", `request() expiry: ${n}. Expiry must be a number (in seconds) between ${U$1.min} and ${U$1.max}`); + throw new Error(a); + } + }, this.isValidRespond = async (e) => { + if (!Ht$1(e)) { + const { message: i } = N("MISSING_OR_INVALID", `respond() params: ${e}`); + throw new Error(i); + } + const { topic: s2, response: t } = e; + if (await this.isValidSessionTopic(s2), !Gt$1(t)) { + const { message: i } = N("MISSING_OR_INVALID", `respond() response: ${JSON.stringify(t)}`); + throw new Error(i); + } + }, this.isValidPing = async (e) => { + if (!Ht$1(e)) { + const { message: t } = N("MISSING_OR_INVALID", `ping() params: ${e}`); + throw new Error(t); + } + const { topic: s2 } = e; + await this.isValidSessionOrPairingTopic(s2); + }, this.isValidEmit = async (e) => { + if (!Ht$1(e)) { + const { message: o2 } = N("MISSING_OR_INVALID", `emit() params: ${e}`); + throw new Error(o2); + } + const { topic: s2, event: t, chainId: i } = e; + await this.isValidSessionTopic(s2); + const { namespaces: n } = this.client.session.get(s2); + if (!zt$1(n, i)) { + const { message: o2 } = N("MISSING_OR_INVALID", `emit() chainId: ${i}`); + throw new Error(o2); + } + if (!Wt$1(t)) { + const { message: o2 } = N("MISSING_OR_INVALID", `emit() event: ${JSON.stringify(t)}`); + throw new Error(o2); + } + if (!Jt$1(n, i, t.name)) { + const { message: o2 } = N("MISSING_OR_INVALID", `emit() event: ${JSON.stringify(t)}`); + throw new Error(o2); + } + }, this.isValidDisconnect = async (e) => { + if (!Ht$1(e)) { + const { message: t } = N("MISSING_OR_INVALID", `disconnect() params: ${e}`); + throw new Error(t); + } + const { topic: s2 } = e; + await this.isValidSessionOrPairingTopic(s2); + }, this.getVerifyContext = async (e, s2) => { + const t = { verified: { verifyUrl: s2.verifyUrl || $$1, validation: "UNKNOWN", origin: s2.url || "" } }; + try { + const i = await this.client.core.verify.resolve({ attestationId: e, verifyUrl: s2.verifyUrl }); + i && (t.verified.origin = i.origin, t.verified.isScam = i.isScam, t.verified.validation = i.origin === new URL(s2.url).origin ? "VALID" : "INVALID"); + } catch (i) { + this.client.logger.info(i); + } + return this.client.logger.info(`Verify context: ${JSON.stringify(t)}`), t; + }, this.validateSessionProps = (e, s2) => { + Object.values(e).forEach((t) => { + if (!h(t, false)) { + const { message: i } = N("MISSING_OR_INVALID", `${s2} must be in Record format. Received: ${JSON.stringify(t)}`); + throw new Error(i); + } + }); + }; + } + async isInitialized() { + if (!this.initialized) { + const { message: r2 } = N("NOT_INITIALIZED", this.name); + throw new Error(r2); + } + await this.client.core.relayer.confirmOnlineStateOrThrow(); + } + registerRelayerEvents() { + this.client.core.relayer.on(D$2.message, async (r2) => { + const { topic: e, message: s2 } = r2; + if (this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(s2))) + return; + const t = await this.client.core.crypto.decode(e, s2); + try { + isJsonRpcRequest(t) ? (this.client.core.history.set(e, t), this.onRelayEventRequest({ topic: e, payload: t })) : isJsonRpcResponse(t) ? (await this.client.core.history.resolve(t), await this.onRelayEventResponse({ topic: e, payload: t }), this.client.core.history.delete(e, t.id)) : this.onRelayEventUnknownPayload({ topic: e, payload: t }); + } catch (i) { + this.client.logger.error(i); + } + }); + } + registerExpirerEvents() { + this.client.core.expirer.on(v.expired, async (r2) => { + const { topic: e, id: s2 } = ft$1(r2.target); + if (s2 && this.client.pendingRequest.keys.includes(s2)) + return await this.deletePendingSessionRequest(s2, N("EXPIRED"), true); + e ? this.client.session.keys.includes(e) && (await this.deleteSession(e, true), this.client.events.emit("session_expire", { topic: e })) : s2 && (await this.deleteProposal(s2, true), this.client.events.emit("proposal_expire", { id: s2 })); + }); + } + registerPairingEvents() { + this.client.core.pairing.events.on(V$2.create, (r2) => this.onPairingCreated(r2)); + } + isValidPairingTopic(r2) { + if (!h(r2, false)) { + const { message: e } = N("MISSING_OR_INVALID", `pairing topic should be a string: ${r2}`); + throw new Error(e); + } + if (!this.client.core.pairing.pairings.keys.includes(r2)) { + const { message: e } = N("NO_MATCHING_KEY", `pairing topic doesn't exist: ${r2}`); + throw new Error(e); + } + if (mt$1(this.client.core.pairing.pairings.get(r2).expiry)) { + const { message: e } = N("EXPIRED", `pairing topic: ${r2}`); + throw new Error(e); + } + } + async isValidSessionTopic(r2) { + if (!h(r2, false)) { + const { message: e } = N("MISSING_OR_INVALID", `session topic should be a string: ${r2}`); + throw new Error(e); + } + if (!this.client.session.keys.includes(r2)) { + const { message: e } = N("NO_MATCHING_KEY", `session topic doesn't exist: ${r2}`); + throw new Error(e); + } + if (mt$1(this.client.session.get(r2).expiry)) { + await this.deleteSession(r2); + const { message: e } = N("EXPIRED", `session topic: ${r2}`); + throw new Error(e); + } + } + async isValidSessionOrPairingTopic(r2) { + if (this.client.session.keys.includes(r2)) + await this.isValidSessionTopic(r2); + else if (this.client.core.pairing.pairings.keys.includes(r2)) + this.isValidPairingTopic(r2); + else if (h(r2, false)) { + const { message: e } = N("NO_MATCHING_KEY", `session or pairing topic doesn't exist: ${r2}`); + throw new Error(e); + } else { + const { message: e } = N("MISSING_OR_INVALID", `session or pairing topic should be a string: ${r2}`); + throw new Error(e); + } + } + async isValidProposalId(r2) { + if (!Ft$1(r2)) { + const { message: e } = N("MISSING_OR_INVALID", `proposal id should be a number: ${r2}`); + throw new Error(e); + } + if (!this.client.proposal.keys.includes(r2)) { + const { message: e } = N("NO_MATCHING_KEY", `proposal id doesn't exist: ${r2}`); + throw new Error(e); + } + if (mt$1(this.client.proposal.get(r2).expiry)) { + await this.deleteProposal(r2); + const { message: e } = N("EXPIRED", `proposal id: ${r2}`); + throw new Error(e); + } + } +} +class ds extends Mt$1 { + constructor(r2, e) { + super(r2, e, ne, G$1), this.core = r2, this.logger = e; + } +} +class us extends Mt$1 { + constructor(r2, e) { + super(r2, e, ae, G$1), this.core = r2, this.logger = e; + } +} +class gs extends Mt$1 { + constructor(r2, e) { + super(r2, e, le, G$1, (s2) => s2.id), this.core = r2, this.logger = e; + } +} +class Q extends b$2 { + constructor(r2) { + super(r2), this.protocol = X$1, this.version = F$1, this.name = M$1.name, this.events = new eventsExports.EventEmitter(), this.on = (s2, t) => this.events.on(s2, t), this.once = (s2, t) => this.events.once(s2, t), this.off = (s2, t) => this.events.off(s2, t), this.removeListener = (s2, t) => this.events.removeListener(s2, t), this.removeAllListeners = (s2) => this.events.removeAllListeners(s2), this.connect = async (s2) => { + try { + return await this.engine.connect(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.pair = async (s2) => { + try { + return await this.engine.pair(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.approve = async (s2) => { + try { + return await this.engine.approve(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.reject = async (s2) => { + try { + return await this.engine.reject(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.update = async (s2) => { + try { + return await this.engine.update(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.extend = async (s2) => { + try { + return await this.engine.extend(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.request = async (s2) => { + try { + return await this.engine.request(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.respond = async (s2) => { + try { + return await this.engine.respond(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.ping = async (s2) => { + try { + return await this.engine.ping(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.emit = async (s2) => { + try { + return await this.engine.emit(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.disconnect = async (s2) => { + try { + return await this.engine.disconnect(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.find = (s2) => { + try { + return this.engine.find(s2); + } catch (t) { + throw this.logger.error(t.message), t; + } + }, this.getPendingSessionRequests = () => { + try { + return this.engine.getPendingSessionRequests(); + } catch (s2) { + throw this.logger.error(s2.message), s2; + } + }, this.name = (r2 == null ? void 0 : r2.name) || M$1.name, this.metadata = (r2 == null ? void 0 : r2.metadata) || Qn(); + const e = typeof (r2 == null ? void 0 : r2.logger) < "u" && typeof (r2 == null ? void 0 : r2.logger) != "string" ? r2.logger : cjs.pino(cjs.getDefaultLoggerOptions({ level: (r2 == null ? void 0 : r2.logger) || M$1.logger })); + this.core = (r2 == null ? void 0 : r2.core) || new Nr$1(r2), this.logger = cjs.generateChildLogger(e, this.name), this.session = new us(this.core, this.logger), this.proposal = new ds(this.core, this.logger), this.pendingRequest = new gs(this.core, this.logger), this.engine = new hs(this); + } + static async init(r2) { + const e = new Q(r2); + return await e.initialize(), e; + } + get context() { + return cjs.getLoggerContext(this.logger); + } + get pairing() { + return this.core.pairing.pairings; + } + async initialize() { + this.logger.trace("Initialized"); + try { + await this.core.start(), await this.session.init(), await this.proposal.init(), await this.pendingRequest.init(), await this.engine.init(), this.core.verify.init({ verifyUrl: this.metadata.verifyUrl }), this.logger.info("SignClient Initialization Success"); + } catch (r2) { + throw this.logger.info("SignClient Initialization Failure"), this.logger.error(r2.message), r2; + } + } +} +const ms = Q; +var l = { exports: {} }, u = typeof Reflect == "object" ? Reflect : null, m = u && typeof u.apply == "function" ? u.apply : function(t, e, n) { + return Function.prototype.apply.call(t, e, n); +}, f; +u && typeof u.ownKeys == "function" ? f = u.ownKeys : Object.getOwnPropertySymbols ? f = function(t) { + return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)); +} : f = function(t) { + return Object.getOwnPropertyNames(t); +}; +function T(s2) { + console && console.warn && console.warn(s2); +} +var y = Number.isNaN || function(t) { + return t !== t; +}; +function o() { + o.init.call(this); +} +l.exports = o, l.exports.once = M, o.EventEmitter = o, o.prototype._events = void 0, o.prototype._eventsCount = 0, o.prototype._maxListeners = void 0; +var w = 10; +function g(s2) { + if (typeof s2 != "function") + throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof s2); +} +Object.defineProperty(o, "defaultMaxListeners", { enumerable: true, get: function() { + return w; +}, set: function(s2) { + if (typeof s2 != "number" || s2 < 0 || y(s2)) + throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + s2 + "."); + w = s2; +} }), o.init = function() { + (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0; +}, o.prototype.setMaxListeners = function(t) { + if (typeof t != "number" || t < 0 || y(t)) + throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + t + "."); + return this._maxListeners = t, this; +}; +function L(s2) { + return s2._maxListeners === void 0 ? o.defaultMaxListeners : s2._maxListeners; +} +o.prototype.getMaxListeners = function() { + return L(this); +}, o.prototype.emit = function(t) { + for (var e = [], n = 1; n < arguments.length; n++) + e.push(arguments[n]); + var i = t === "error", a = this._events; + if (a !== void 0) + i = i && a.error === void 0; + else if (!i) + return false; + if (i) { + var r2; + if (e.length > 0 && (r2 = e[0]), r2 instanceof Error) + throw r2; + var h2 = new Error("Unhandled error." + (r2 ? " (" + r2.message + ")" : "")); + throw h2.context = r2, h2; + } + var c = a[t]; + if (c === void 0) + return false; + if (typeof c == "function") + m(c, this, e); + else + for (var v2 = c.length, A2 = b(c, v2), n = 0; n < v2; ++n) + m(A2[n], this, e); + return true; +}; +function _(s2, t, e, n) { + var i, a, r2; + if (g(e), a = s2._events, a === void 0 ? (a = s2._events = /* @__PURE__ */ Object.create(null), s2._eventsCount = 0) : (a.newListener !== void 0 && (s2.emit("newListener", t, e.listener ? e.listener : e), a = s2._events), r2 = a[t]), r2 === void 0) + r2 = a[t] = e, ++s2._eventsCount; + else if (typeof r2 == "function" ? r2 = a[t] = n ? [e, r2] : [r2, e] : n ? r2.unshift(e) : r2.push(e), i = L(s2), i > 0 && r2.length > i && !r2.warned) { + r2.warned = true; + var h2 = new Error("Possible EventEmitter memory leak detected. " + r2.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit"); + h2.name = "MaxListenersExceededWarning", h2.emitter = s2, h2.type = t, h2.count = r2.length, T(h2); + } + return s2; +} +o.prototype.addListener = function(t, e) { + return _(this, t, e, false); +}, o.prototype.on = o.prototype.addListener, o.prototype.prependListener = function(t, e) { + return _(this, t, e, true); +}; +function j() { + if (!this.fired) + return this.target.removeListener(this.type, this.wrapFn), this.fired = true, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments); +} +function S2(s2, t, e) { + var n = { fired: false, wrapFn: void 0, target: s2, type: t, listener: e }, i = j.bind(n); + return i.listener = e, n.wrapFn = i, i; +} +o.prototype.once = function(t, e) { + return g(e), this.on(t, S2(this, t, e)), this; +}, o.prototype.prependOnceListener = function(t, e) { + return g(e), this.prependListener(t, S2(this, t, e)), this; +}, o.prototype.removeListener = function(t, e) { + var n, i, a, r2, h2; + if (g(e), i = this._events, i === void 0) + return this; + if (n = i[t], n === void 0) + return this; + if (n === e || n.listener === e) + --this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : (delete i[t], i.removeListener && this.emit("removeListener", t, n.listener || e)); + else if (typeof n != "function") { + for (a = -1, r2 = n.length - 1; r2 >= 0; r2--) + if (n[r2] === e || n[r2].listener === e) { + h2 = n[r2].listener, a = r2; + break; + } + if (a < 0) + return this; + a === 0 ? n.shift() : I(n, a), n.length === 1 && (i[t] = n[0]), i.removeListener !== void 0 && this.emit("removeListener", t, h2 || e); + } + return this; +}, o.prototype.off = o.prototype.removeListener, o.prototype.removeAllListeners = function(t) { + var e, n, i; + if (n = this._events, n === void 0) + return this; + if (n.removeListener === void 0) + return arguments.length === 0 ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : n[t] !== void 0 && (--this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : delete n[t]), this; + if (arguments.length === 0) { + var a = Object.keys(n), r2; + for (i = 0; i < a.length; ++i) + r2 = a[i], r2 !== "removeListener" && this.removeAllListeners(r2); + return this.removeAllListeners("removeListener"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this; + } + if (e = n[t], typeof e == "function") + this.removeListener(t, e); + else if (e !== void 0) + for (i = e.length - 1; i >= 0; i--) + this.removeListener(t, e[i]); + return this; +}; +function C(s2, t, e) { + var n = s2._events; + if (n === void 0) + return []; + var i = n[t]; + return i === void 0 ? [] : typeof i == "function" ? e ? [i.listener || i] : [i] : e ? W(i) : b(i, i.length); +} +o.prototype.listeners = function(t) { + return C(this, t, true); +}, o.prototype.rawListeners = function(t) { + return C(this, t, false); +}, o.listenerCount = function(s2, t) { + return typeof s2.listenerCount == "function" ? s2.listenerCount(t) : E.call(s2, t); +}, o.prototype.listenerCount = E; +function E(s2) { + var t = this._events; + if (t !== void 0) { + var e = t[s2]; + if (typeof e == "function") + return 1; + if (e !== void 0) + return e.length; + } + return 0; +} +o.prototype.eventNames = function() { + return this._eventsCount > 0 ? f(this._events) : []; +}; +function b(s2, t) { + for (var e = new Array(t), n = 0; n < t; ++n) + e[n] = s2[n]; + return e; +} +function I(s2, t) { + for (; t + 1 < s2.length; t++) + s2[t] = s2[t + 1]; + s2.pop(); +} +function W(s2) { + for (var t = new Array(s2.length), e = 0; e < t.length; ++e) + t[e] = s2[e].listener || s2[e]; + return t; +} +function M(s2, t) { + return new Promise(function(e, n) { + function i(r2) { + s2.removeListener(t, a), n(r2); + } + function a() { + typeof s2.removeListener == "function" && s2.removeListener("error", i), e([].slice.call(arguments)); + } + R(s2, t, a, { once: true }), t !== "error" && z(s2, i, { once: true }); + }); +} +function z(s2, t, e) { + typeof s2.on == "function" && R(s2, "error", t, e); +} +function R(s2, t, e, n) { + if (typeof s2.on == "function") + n.once ? s2.once(t, e) : s2.on(t, e); + else if (typeof s2.addEventListener == "function") + s2.addEventListener(t, function i(a) { + n.once && s2.removeEventListener(t, i), e(a); + }); + else + throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof s2); +} +const O = "wc", F = 2, d = "Web3Wallet", K = `${O}@2:${d}:`, k = { database: ":memory:" }, U = "request"; +class X extends l.exports { + constructor() { + super(); + } +} +class x { + constructor(t) { + this.opts = t; + } +} +class P { + constructor(t) { + this.client = t; + } +} +class D extends P { + constructor(t) { + super(t), this.init = async () => { + this.signClient = await ms.init({ core: this.client.core, metadata: this.client.metadata }), this.authClient = await zr.init({ core: this.client.core, projectId: "", metadata: this.client.metadata }), this.initializeEventListeners(); + }, this.pair = async (e) => { + await this.client.core.pairing.pair(e); + }, this.approveSession = async (e) => { + const { topic: n, acknowledged: i } = await this.signClient.approve({ id: e.id, namespaces: e.namespaces }); + return await i(), this.signClient.session.get(n); + }, this.rejectSession = async (e) => await this.signClient.reject(e), this.updateSession = async (e) => await (await this.signClient.update(e)).acknowledged(), this.extendSession = async (e) => await (await this.signClient.extend(e)).acknowledged(), this.respondSessionRequest = async (e) => await this.signClient.respond(e), this.disconnectSession = async (e) => await this.signClient.disconnect(e), this.emitSessionEvent = async (e) => await this.signClient.emit(e), this.getActiveSessions = () => this.signClient.session.getAll().reduce((e, n) => (e[n.topic] = n, e), {}), this.getPendingSessionProposals = () => this.signClient.proposal.getAll(), this.getPendingSessionRequests = () => this.signClient.getPendingSessionRequests(), this.respondAuthRequest = async (e, n) => await this.authClient.respond(e, n), this.getPendingAuthRequests = () => this.authClient.requests.getAll().filter((e) => "requester" in e), this.formatMessage = (e, n) => this.authClient.formatMessage(e, n), this.onSessionRequest = (e) => { + this.client.events.emit("session_request", e); + }, this.onSessionProposal = (e) => { + this.client.events.emit("session_proposal", e); + }, this.onSessionDelete = (e) => { + this.client.events.emit("session_delete", e); + }, this.onAuthRequest = (e) => { + this.client.events.emit("auth_request", e); + }, this.initializeEventListeners = () => { + this.signClient.events.on("session_proposal", this.onSessionProposal), this.signClient.events.on("session_request", this.onSessionRequest), this.signClient.events.on("session_delete", this.onSessionDelete), this.authClient.on("auth_request", this.onAuthRequest); + }, this.signClient = {}, this.authClient = {}; + } +} +class p extends x { + constructor(t) { + super(t), this.events = new l.exports(), this.on = (e, n) => this.events.on(e, n), this.once = (e, n) => this.events.once(e, n), this.off = (e, n) => this.events.off(e, n), this.removeListener = (e, n) => this.events.removeListener(e, n), this.pair = async (e) => { + try { + return await this.engine.pair(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.approveSession = async (e) => { + try { + return await this.engine.approveSession(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.rejectSession = async (e) => { + try { + return await this.engine.rejectSession(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.updateSession = async (e) => { + try { + return await this.engine.updateSession(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.extendSession = async (e) => { + try { + return await this.engine.extendSession(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.respondSessionRequest = async (e) => { + try { + return await this.engine.respondSessionRequest(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.disconnectSession = async (e) => { + try { + return await this.engine.disconnectSession(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.emitSessionEvent = async (e) => { + try { + return await this.engine.emitSessionEvent(e); + } catch (n) { + throw this.logger.error(n.message), n; + } + }, this.getActiveSessions = () => { + try { + return this.engine.getActiveSessions(); + } catch (e) { + throw this.logger.error(e.message), e; + } + }, this.getPendingSessionProposals = () => { + try { + return this.engine.getPendingSessionProposals(); + } catch (e) { + throw this.logger.error(e.message), e; + } + }, this.getPendingSessionRequests = () => { + try { + return this.engine.getPendingSessionRequests(); + } catch (e) { + throw this.logger.error(e.message), e; + } + }, this.respondAuthRequest = async (e, n) => { + try { + return await this.engine.respondAuthRequest(e, n); + } catch (i) { + throw this.logger.error(i.message), i; + } + }, this.getPendingAuthRequests = () => { + try { + return this.engine.getPendingAuthRequests(); + } catch (e) { + throw this.logger.error(e.message), e; + } + }, this.formatMessage = (e, n) => { + try { + return this.engine.formatMessage(e, n); + } catch (i) { + throw this.logger.error(i.message), i; + } + }, this.metadata = t.metadata, this.name = t.name || d, this.core = t.core, this.logger = this.core.logger, this.engine = new D(this); + } + static async init(t) { + const e = new p(t); + return await e.initialize(), e; + } + async initialize() { + this.logger.trace("Initialized"); + try { + await this.engine.init(), this.logger.info("Web3Wallet Initialization Success"); + } catch (t) { + throw this.logger.info("Web3Wallet Initialization Failure"), this.logger.error(t.message), t; + } + } +} +const G2 = p; +export { + d as CLIENT_CONTEXT, + k as CLIENT_STORAGE_OPTIONS, + K as CLIENT_STORAGE_PREFIX, + x as IWeb3Wallet, + P as IWeb3WalletEngine, + X as IWeb3WalletEvents, + O as PROTOCOL, + F as PROTOCOL_VERSION, + U as REQUEST_CONTEXT, + G2 as Web3Wallet, + p as default +}; diff --git a/frontends/web/build/assets/index.js b/frontends/web/build/assets/index.js index c2fd1ac463..3bbdc73c8b 100644 --- a/frontends/web/build/assets/index.js +++ b/frontends/web/build/assets/index.js @@ -1,4 +1,63 @@ -var MS=Object.defineProperty;var OS=(t,e,n)=>e in t?MS(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var M=(t,e,n)=>(OS(t,typeof e!="symbol"?e+"":e,n),n);function RS(t,e){for(var n=0;na[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var zwe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function FS(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function $y(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function a(){return this instanceof a?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(a){var i=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,i.get?i:{enumerable:!0,get:function(){return t[a]}})}),n}var My={exports:{}},rd={},Oy={exports:{}},fe={};/** +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +function _mergeNamespaces(n2, m2) { + for (var i = 0; i < m2.length; i++) { + const e3 = m2[i]; + if (typeof e3 !== "string" && !Array.isArray(e3)) { + for (const k2 in e3) { + if (k2 !== "default" && !(k2 in n2)) { + const d2 = Object.getOwnPropertyDescriptor(e3, k2); + if (d2) { + Object.defineProperty(n2, k2, d2.get ? d2 : { + enumerable: true, + get: () => e3[k2] + }); + } + } + } + } + } + return Object.freeze(Object.defineProperty(n2, Symbol.toStringTag, { value: "Module" })); +} +var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +function getDefaultExportFromCjs(x2) { + return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2; +} +function getAugmentedNamespace(n2) { + if (n2.__esModule) + return n2; + var f2 = n2.default; + if (typeof f2 == "function") { + var a2 = function a3() { + if (this instanceof a3) { + return Reflect.construct(f2, arguments, this.constructor); + } + return f2.apply(this, arguments); + }; + a2.prototype = f2.prototype; + } else + a2 = {}; + Object.defineProperty(a2, "__esModule", { value: true }); + Object.keys(n2).forEach(function(k2) { + var d2 = Object.getOwnPropertyDescriptor(n2, k2); + Object.defineProperty(a2, k2, d2.get ? d2 : { + enumerable: true, + get: function() { + return n2[k2]; + } + }); + }); + return a2; +} +var jsxRuntime = { exports: {} }; +var reactJsxRuntime_production_min = {}; +var react = { exports: {} }; +var react_production_min = {}; +/** * @license React * react.production.min.js * @@ -6,7 +65,289 @@ var MS=Object.defineProperty;var OS=(t,e,n)=>e in t?MS(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Sl=Symbol.for("react.element"),VS=Symbol.for("react.portal"),WS=Symbol.for("react.fragment"),US=Symbol.for("react.strict_mode"),qS=Symbol.for("react.profiler"),HS=Symbol.for("react.provider"),KS=Symbol.for("react.context"),GS=Symbol.for("react.forward_ref"),QS=Symbol.for("react.suspense"),YS=Symbol.for("react.memo"),ZS=Symbol.for("react.lazy"),gv=Symbol.iterator;function JS(t){return t===null||typeof t!="object"?null:(t=gv&&t[gv]||t["@@iterator"],typeof t=="function"?t:null)}var Ry={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Fy=Object.assign,Vy={};function Yr(t,e,n){this.props=t,this.context=e,this.refs=Vy,this.updater=n||Ry}Yr.prototype.isReactComponent={};Yr.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Yr.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Wy(){}Wy.prototype=Yr.prototype;function ff(t,e,n){this.props=t,this.context=e,this.refs=Vy,this.updater=n||Ry}var gf=ff.prototype=new Wy;gf.constructor=ff;Fy(gf,Yr.prototype);gf.isPureReactComponent=!0;var vv=Array.isArray,Uy=Object.prototype.hasOwnProperty,vf={current:null},qy={key:!0,ref:!0,__self:!0,__source:!0};function Hy(t,e,n){var a,i={},o=null,s=null;if(e!=null)for(a in e.ref!==void 0&&(s=e.ref),e.key!==void 0&&(o=""+e.key),e)Uy.call(e,a)&&!qy.hasOwnProperty(a)&&(i[a]=e[a]);var l=arguments.length-2;if(l===1)i.children=n;else if(1e in t?MS(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var az=x,iz=Symbol.for("react.element"),oz=Symbol.for("react.fragment"),rz=Object.prototype.hasOwnProperty,sz=az.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,lz={key:!0,ref:!0,__self:!0,__source:!0};function Ky(t,e,n){var a,i={},o=null,s=null;n!==void 0&&(o=""+n),e.key!==void 0&&(o=""+e.key),e.ref!==void 0&&(s=e.ref);for(a in e)rz.call(e,a)&&!lz.hasOwnProperty(a)&&(i[a]=e[a]);if(t&&t.defaultProps)for(a in e=t.defaultProps,e)i[a]===void 0&&(i[a]=e[a]);return{$$typeof:iz,type:t,key:o,ref:s,props:i,_owner:sz.current}}rd.Fragment=oz;rd.jsx=Ky;rd.jsxs=Ky;My.exports=rd;var r=My.exports,Gy={exports:{}},An={},Qy={exports:{}},Yy={};/** + */ +var f$2 = reactExports, k$3 = Symbol.for("react.element"), l$2 = Symbol.for("react.fragment"), m$4 = Object.prototype.hasOwnProperty, n$1 = f$2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p$4 = { key: true, ref: true, __self: true, __source: true }; +function q$2(c2, a2, g2) { + var b2, d2 = {}, e3 = null, h2 = null; + void 0 !== g2 && (e3 = "" + g2); + void 0 !== a2.key && (e3 = "" + a2.key); + void 0 !== a2.ref && (h2 = a2.ref); + for (b2 in a2) + m$4.call(a2, b2) && !p$4.hasOwnProperty(b2) && (d2[b2] = a2[b2]); + if (c2 && c2.defaultProps) + for (b2 in a2 = c2.defaultProps, a2) + void 0 === d2[b2] && (d2[b2] = a2[b2]); + return { $$typeof: k$3, type: c2, key: e3, ref: h2, props: d2, _owner: n$1.current }; +} +reactJsxRuntime_production_min.Fragment = l$2; +reactJsxRuntime_production_min.jsx = q$2; +reactJsxRuntime_production_min.jsxs = q$2; +{ + jsxRuntime.exports = reactJsxRuntime_production_min; +} +var jsxRuntimeExports = jsxRuntime.exports; +var reactDom = { exports: {} }; +var reactDom_production_min = {}; +var scheduler = { exports: {} }; +var scheduler_production_min = {}; +/** * @license React * scheduler.production.min.js * @@ -22,7 +388,259 @@ var MS=Object.defineProperty;var OS=(t,e,n)=>e in t?MS(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function e(T,F){var N=T.length;T.push(F);e:for(;0>>1,K=T[Q];if(0>>1;Qi(ee,N))Xi(oe,ee)?(T[Q]=oe,T[X]=N,Q=X):(T[Q]=ee,T[G]=N,Q=G);else if(Xi(oe,N))T[Q]=oe,T[X]=N,Q=X;else break e}}return F}function i(T,F){var N=T.sortIndex-F.sortIndex;return N!==0?N:T.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,h=3,m=!1,g=!1,v=!1,y=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(T){for(var F=n(u);F!==null;){if(F.callback===null)a(u);else if(F.startTime<=T)a(u),F.sortIndex=F.expirationTime,e(c,F);else break;F=n(u)}}function j(T){if(v=!1,w(T),!g)if(n(c)!==null)g=!0,U(z);else{var F=n(u);F!==null&&$(j,F.startTime-T)}}function z(T,F){g=!1,v&&(v=!1,b(B),B=-1),m=!0;var N=h;try{for(w(F),p=n(c);p!==null&&(!(p.expirationTime>F)||T&&!P());){var Q=p.callback;if(typeof Q=="function"){p.callback=null,h=p.priorityLevel;var K=Q(p.expirationTime<=F);F=t.unstable_now(),typeof K=="function"?p.callback=K:p===n(c)&&a(c),w(F)}else a(c);p=n(c)}if(p!==null)var V=!0;else{var G=n(u);G!==null&&$(j,G.startTime-F),V=!1}return V}finally{p=null,h=N,m=!1}}var S=!1,f=null,B=-1,D=5,C=-1;function P(){return!(t.unstable_now()-CT||125Q?(T.sortIndex=N,e(u,T),n(c)===null&&T===n(u)&&(v?(b(B),B=-1):v=!0,$(j,N-Q))):(T.sortIndex=K,e(c,T),g||m||(g=!0,U(z))),T},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(T){var F=h;return function(){var N=h;h=F;try{return T.apply(this,arguments)}finally{h=N}}}})(Yy);Qy.exports=Yy;var cz=Qy.exports;/** + */ +(function(exports) { + function f2(a2, b2) { + var c2 = a2.length; + a2.push(b2); + a: + for (; 0 < c2; ) { + var d2 = c2 - 1 >>> 1, e3 = a2[d2]; + if (0 < g2(e3, b2)) + a2[d2] = b2, a2[c2] = e3, c2 = d2; + else + break a; + } + } + function h2(a2) { + return 0 === a2.length ? null : a2[0]; + } + function k2(a2) { + if (0 === a2.length) + return null; + var b2 = a2[0], c2 = a2.pop(); + if (c2 !== b2) { + a2[0] = c2; + a: + for (var d2 = 0, e3 = a2.length, w2 = e3 >>> 1; d2 < w2; ) { + var m2 = 2 * (d2 + 1) - 1, C2 = a2[m2], n2 = m2 + 1, x2 = a2[n2]; + if (0 > g2(C2, c2)) + n2 < e3 && 0 > g2(x2, C2) ? (a2[d2] = x2, a2[n2] = c2, d2 = n2) : (a2[d2] = C2, a2[m2] = c2, d2 = m2); + else if (n2 < e3 && 0 > g2(x2, c2)) + a2[d2] = x2, a2[n2] = c2, d2 = n2; + else + break a; + } + } + return b2; + } + function g2(a2, b2) { + var c2 = a2.sortIndex - b2.sortIndex; + return 0 !== c2 ? c2 : a2.id - b2.id; + } + if ("object" === typeof performance && "function" === typeof performance.now) { + var l2 = performance; + exports.unstable_now = function() { + return l2.now(); + }; + } else { + var p2 = Date, q2 = p2.now(); + exports.unstable_now = function() { + return p2.now() - q2; + }; + } + var r2 = [], t2 = [], u2 = 1, v2 = null, y2 = 3, z2 = false, A2 = false, B2 = false, D2 = "function" === typeof setTimeout ? setTimeout : null, E2 = "function" === typeof clearTimeout ? clearTimeout : null, F3 = "undefined" !== typeof setImmediate ? setImmediate : null; + "undefined" !== typeof navigator && void 0 !== navigator.scheduling && void 0 !== navigator.scheduling.isInputPending && navigator.scheduling.isInputPending.bind(navigator.scheduling); + function G2(a2) { + for (var b2 = h2(t2); null !== b2; ) { + if (null === b2.callback) + k2(t2); + else if (b2.startTime <= a2) + k2(t2), b2.sortIndex = b2.expirationTime, f2(r2, b2); + else + break; + b2 = h2(t2); + } + } + function H3(a2) { + B2 = false; + G2(a2); + if (!A2) + if (null !== h2(r2)) + A2 = true, I2(J2); + else { + var b2 = h2(t2); + null !== b2 && K2(H3, b2.startTime - a2); + } + } + function J2(a2, b2) { + A2 = false; + B2 && (B2 = false, E2(L2), L2 = -1); + z2 = true; + var c2 = y2; + try { + G2(b2); + for (v2 = h2(r2); null !== v2 && (!(v2.expirationTime > b2) || a2 && !M2()); ) { + var d2 = v2.callback; + if ("function" === typeof d2) { + v2.callback = null; + y2 = v2.priorityLevel; + var e3 = d2(v2.expirationTime <= b2); + b2 = exports.unstable_now(); + "function" === typeof e3 ? v2.callback = e3 : v2 === h2(r2) && k2(r2); + G2(b2); + } else + k2(r2); + v2 = h2(r2); + } + if (null !== v2) + var w2 = true; + else { + var m2 = h2(t2); + null !== m2 && K2(H3, m2.startTime - b2); + w2 = false; + } + return w2; + } finally { + v2 = null, y2 = c2, z2 = false; + } + } + var N2 = false, O2 = null, L2 = -1, P2 = 5, Q2 = -1; + function M2() { + return exports.unstable_now() - Q2 < P2 ? false : true; + } + function R2() { + if (null !== O2) { + var a2 = exports.unstable_now(); + Q2 = a2; + var b2 = true; + try { + b2 = O2(true, a2); + } finally { + b2 ? S2() : (N2 = false, O2 = null); + } + } else + N2 = false; + } + var S2; + if ("function" === typeof F3) + S2 = function() { + F3(R2); + }; + else if ("undefined" !== typeof MessageChannel) { + var T2 = new MessageChannel(), U2 = T2.port2; + T2.port1.onmessage = R2; + S2 = function() { + U2.postMessage(null); + }; + } else + S2 = function() { + D2(R2, 0); + }; + function I2(a2) { + O2 = a2; + N2 || (N2 = true, S2()); + } + function K2(a2, b2) { + L2 = D2(function() { + a2(exports.unstable_now()); + }, b2); + } + exports.unstable_IdlePriority = 5; + exports.unstable_ImmediatePriority = 1; + exports.unstable_LowPriority = 4; + exports.unstable_NormalPriority = 3; + exports.unstable_Profiling = null; + exports.unstable_UserBlockingPriority = 2; + exports.unstable_cancelCallback = function(a2) { + a2.callback = null; + }; + exports.unstable_continueExecution = function() { + A2 || z2 || (A2 = true, I2(J2)); + }; + exports.unstable_forceFrameRate = function(a2) { + 0 > a2 || 125 < a2 ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : P2 = 0 < a2 ? Math.floor(1e3 / a2) : 5; + }; + exports.unstable_getCurrentPriorityLevel = function() { + return y2; + }; + exports.unstable_getFirstCallbackNode = function() { + return h2(r2); + }; + exports.unstable_next = function(a2) { + switch (y2) { + case 1: + case 2: + case 3: + var b2 = 3; + break; + default: + b2 = y2; + } + var c2 = y2; + y2 = b2; + try { + return a2(); + } finally { + y2 = c2; + } + }; + exports.unstable_pauseExecution = function() { + }; + exports.unstable_requestPaint = function() { + }; + exports.unstable_runWithPriority = function(a2, b2) { + switch (a2) { + case 1: + case 2: + case 3: + case 4: + case 5: + break; + default: + a2 = 3; + } + var c2 = y2; + y2 = a2; + try { + return b2(); + } finally { + y2 = c2; + } + }; + exports.unstable_scheduleCallback = function(a2, b2, c2) { + var d2 = exports.unstable_now(); + "object" === typeof c2 && null !== c2 ? (c2 = c2.delay, c2 = "number" === typeof c2 && 0 < c2 ? d2 + c2 : d2) : c2 = d2; + switch (a2) { + case 1: + var e3 = -1; + break; + case 2: + e3 = 250; + break; + case 5: + e3 = 1073741823; + break; + case 4: + e3 = 1e4; + break; + default: + e3 = 5e3; + } + e3 = c2 + e3; + a2 = { id: u2++, callback: b2, priorityLevel: a2, startTime: c2, expirationTime: e3, sortIndex: -1 }; + c2 > d2 ? (a2.sortIndex = c2, f2(t2, a2), null === h2(r2) && a2 === h2(t2) && (B2 ? (E2(L2), L2 = -1) : B2 = true, K2(H3, c2 - d2))) : (a2.sortIndex = e3, f2(r2, a2), A2 || z2 || (A2 = true, I2(J2))); + return a2; + }; + exports.unstable_shouldYield = M2; + exports.unstable_wrapCallback = function(a2) { + var b2 = y2; + return function() { + var c2 = y2; + y2 = b2; + try { + return a2.apply(this, arguments); + } finally { + y2 = c2; + } + }; + }; +})(scheduler_production_min); +{ + scheduler.exports = scheduler_production_min; +} +var schedulerExports = scheduler.exports; +/** * @license React * react-dom.production.min.js * @@ -30,15 +648,7411 @@ var MS=Object.defineProperty;var OS=(t,e,n)=>e in t?MS(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Zy=x,zn=cz;function R(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Mh=Object.prototype.hasOwnProperty,uz=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,kv={},xv={};function dz(t){return Mh.call(xv,t)?!0:Mh.call(kv,t)?!1:uz.test(t)?xv[t]=!0:(kv[t]=!0,!1)}function pz(t,e,n,a){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function hz(t,e,n,a){if(e===null||typeof e>"u"||pz(t,e,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function sn(t,e,n,a,i,o,s){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=a,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=o,this.removeEmptyString=s}var jt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){jt[t]=new sn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];jt[e]=new sn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){jt[t]=new sn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){jt[t]=new sn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){jt[t]=new sn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){jt[t]=new sn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){jt[t]=new sn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){jt[t]=new sn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){jt[t]=new sn(t,5,!1,t.toLowerCase(),null,!1,!1)});var kf=/[\-:]([a-z])/g;function xf(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(kf,xf);jt[e]=new sn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(kf,xf);jt[e]=new sn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(kf,xf);jt[e]=new sn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){jt[t]=new sn(t,1,!1,t.toLowerCase(),null,!1,!1)});jt.xlinkHref=new sn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){jt[t]=new sn(t,1,!1,t.toLowerCase(),null,!0,!0)});function yf(t,e,n,a){var i=jt.hasOwnProperty(e)?jt[e]:null;(i!==null?i.type!==0:a||!(2l||i[s]!==o[l]){var c=` -`+i[s].replace(" at new "," at ");return t.displayName&&c.includes("")&&(c=c.replace("",t.displayName)),c}while(1<=s&&0<=l);break}}}finally{kp=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Ds(t):""}function mz(t){switch(t.tag){case 5:return Ds(t.type);case 16:return Ds("Lazy");case 13:return Ds("Suspense");case 19:return Ds("SuspenseList");case 0:case 2:case 15:return t=xp(t.type,!1),t;case 11:return t=xp(t.type.render,!1),t;case 1:return t=xp(t.type,!0),t;default:return""}}function Vh(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case hr:return"Fragment";case pr:return"Portal";case Oh:return"Profiler";case wf:return"StrictMode";case Rh:return"Suspense";case Fh:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case ew:return(t.displayName||"Context")+".Consumer";case Xy:return(t._context.displayName||"Context")+".Provider";case jf:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Bf:return e=t.displayName||null,e!==null?e:Vh(t.type)||"Memo";case _i:e=t._payload,t=t._init;try{return Vh(t(e))}catch{}}return null}function fz(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Vh(e);case 8:return e===wf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Yi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function nw(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function gz(t){var e=nw(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),a=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(s){a=""+s,o.call(this,s)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(s){a=""+s},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Yl(t){t._valueTracker||(t._valueTracker=gz(t))}function aw(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),a="";return t&&(a=nw(t)?t.checked?"true":"false":t.value),t=a,t!==n?(e.setValue(t),!0):!1}function du(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Wh(t,e){var n=e.checked;return Ue({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function wv(t,e){var n=e.defaultValue==null?"":e.defaultValue,a=e.checked!=null?e.checked:e.defaultChecked;n=Yi(e.value!=null?e.value:n),t._wrapperState={initialChecked:a,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function iw(t,e){e=e.checked,e!=null&&yf(t,"checked",e,!1)}function Uh(t,e){iw(t,e);var n=Yi(e.value),a=e.type;if(n!=null)a==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(a==="submit"||a==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?qh(t,e.type,n):e.hasOwnProperty("defaultValue")&&qh(t,e.type,Yi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function jv(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var a=e.type;if(!(a!=="submit"&&a!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function qh(t,e,n){(e!=="number"||du(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var As=Array.isArray;function zr(t,e,n,a){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Zl.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Zs(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Ls={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},vz=["Webkit","ms","Moz","O"];Object.keys(Ls).forEach(function(t){vz.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Ls[e]=Ls[t]})});function lw(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Ls.hasOwnProperty(t)&&Ls[t]?(""+e).trim():e+"px"}function cw(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var a=n.indexOf("--")===0,i=lw(n,e[n],a);n==="float"&&(n="cssFloat"),a?t.setProperty(n,i):t[n]=i}}var bz=Ue({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Gh(t,e){if(e){if(bz[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(R(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(R(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(R(61))}if(e.style!=null&&typeof e.style!="object")throw Error(R(62))}}function Qh(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Yh=null;function Sf(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Zh=null,Cr=null,Dr=null;function zv(t){if(t=Dl(t)){if(typeof Zh!="function")throw Error(R(280));var e=t.stateNode;e&&(e=dd(e),Zh(t.stateNode,t.type,e))}}function uw(t){Cr?Dr?Dr.push(t):Dr=[t]:Cr=t}function dw(){if(Cr){var t=Cr,e=Dr;if(Dr=Cr=null,zv(t),e)for(t=0;t>>=0,t===0?32:31-(Az(t)/_z|0)|0}var Jl=64,Xl=4194304;function _s(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function fu(t,e){var n=t.pendingLanes;if(n===0)return 0;var a=0,i=t.suspendedLanes,o=t.pingedLanes,s=n&268435455;if(s!==0){var l=s&~i;l!==0?a=_s(l):(o&=s,o!==0&&(a=_s(o)))}else s=n&~i,s!==0?a=_s(s):o!==0&&(a=_s(o));if(a===0)return 0;if(e!==0&&e!==a&&!(e&i)&&(i=a&-a,o=e&-e,i>=o||i===16&&(o&4194240)!==0))return e;if(a&4&&(a|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=a;0n;n++)e.push(t);return e}function zl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-la(e),t[e]=n}function Nz(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var a=t.eventTimes;for(t=t.expirationTimes;0=$s),Lv=String.fromCharCode(32),Iv=!1;function Tw(t,e){switch(t){case"keyup":return l2.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ew(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var mr=!1;function u2(t,e){switch(t){case"compositionend":return Ew(e);case"keypress":return e.which!==32?null:(Iv=!0,Lv);case"textInput":return t=e.data,t===Lv&&Iv?null:t;default:return null}}function d2(t,e){if(mr)return t==="compositionend"||!Pf&&Tw(t,e)?(t=Aw(),Uc=_f=Li=null,mr=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Rv(n)}}function Iw(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Iw(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function $w(){for(var t=window,e=du();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=du(t.document)}return e}function Nf(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function x2(t){var e=$w(),n=t.focusedElem,a=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&Iw(n.ownerDocument.documentElement,n)){if(a!==null&&Nf(n)){if(e=a.start,t=a.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,o=Math.min(a.start,i);a=a.end===void 0?o:Math.min(a.end,i),!t.extend&&o>a&&(i=a,a=o,o=i),i=Fv(n,o);var s=Fv(n,a);i&&s&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==s.node||t.focusOffset!==s.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),o>a?(t.addRange(e),t.extend(s.node,s.offset)):(e.setEnd(s.node,s.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,fr=null,am=null,Os=null,im=!1;function Vv(t,e,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;im||fr==null||fr!==du(a)||(a=fr,"selectionStart"in a&&Nf(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Os&&al(Os,a)||(Os=a,a=bu(am,"onSelect"),0br||(t.current=um[br],um[br]=null,br--)}function Ee(t,e){br++,um[br]=t.current,t.current=e}var Zi={},Qt=ao(Zi),hn=ao(!1),No=Zi;function Mr(t,e){var n=t.type.contextTypes;if(!n)return Zi;var a=t.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===e)return a.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=e[o];return a&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function mn(t){return t=t.childContextTypes,t!=null}function xu(){Le(hn),Le(Qt)}function Qv(t,e,n){if(Qt.current!==Zi)throw Error(R(168));Ee(Qt,e),Ee(hn,n)}function Hw(t,e,n){var a=t.stateNode;if(e=e.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var i in a)if(!(i in e))throw Error(R(108,fz(t)||"Unknown",i));return Ue({},n,a)}function yu(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Zi,No=Qt.current,Ee(Qt,t),Ee(hn,hn.current),!0}function Yv(t,e,n){var a=t.stateNode;if(!a)throw Error(R(169));n?(t=Hw(t,e,No),a.__reactInternalMemoizedMergedChildContext=t,Le(hn),Le(Qt),Ee(Qt,t)):Le(hn),Ee(hn,n)}var Ha=null,pd=!1,Np=!1;function Kw(t){Ha===null?Ha=[t]:Ha.push(t)}function E2(t){pd=!0,Kw(t)}function io(){if(!Np&&Ha!==null){Np=!0;var t=0,e=Ce;try{var n=Ha;for(Ce=1;t>=s,i-=s,Ga=1<<32-la(e)+i|n<B?(D=f,f=null):D=f.sibling;var C=h(b,f,w[B],j);if(C===null){f===null&&(f=D);break}t&&f&&C.alternate===null&&e(b,f),k=o(C,k,B),S===null?z=C:S.sibling=C,S=C,f=D}if(B===w.length)return n(b,f),$e&&ko(b,B),z;if(f===null){for(;BB?(D=f,f=null):D=f.sibling;var P=h(b,f,C.value,j);if(P===null){f===null&&(f=D);break}t&&f&&P.alternate===null&&e(b,f),k=o(P,k,B),S===null?z=P:S.sibling=P,S=P,f=D}if(C.done)return n(b,f),$e&&ko(b,B),z;if(f===null){for(;!C.done;B++,C=w.next())C=p(b,C.value,j),C!==null&&(k=o(C,k,B),S===null?z=C:S.sibling=C,S=C);return $e&&ko(b,B),z}for(f=a(b,f);!C.done;B++,C=w.next())C=m(f,b,B,C.value,j),C!==null&&(t&&C.alternate!==null&&f.delete(C.key===null?B:C.key),k=o(C,k,B),S===null?z=C:S.sibling=C,S=C);return t&&f.forEach(function(I){return e(b,I)}),$e&&ko(b,B),z}function y(b,k,w,j){if(typeof w=="object"&&w!==null&&w.type===hr&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Ql:e:{for(var z=w.key,S=k;S!==null;){if(S.key===z){if(z=w.type,z===hr){if(S.tag===7){n(b,S.sibling),k=i(S,w.props.children),k.return=b,b=k;break e}}else if(S.elementType===z||typeof z=="object"&&z!==null&&z.$$typeof===_i&&ab(z)===S.type){n(b,S.sibling),k=i(S,w.props),k.ref=hs(b,S,w),k.return=b,b=k;break e}n(b,S);break}else e(b,S);S=S.sibling}w.type===hr?(k=Ao(w.props.children,b.mode,j,w.key),k.return=b,b=k):(j=Jc(w.type,w.key,w.props,null,b.mode,j),j.ref=hs(b,k,w),j.return=b,b=j)}return s(b);case pr:e:{for(S=w.key;k!==null;){if(k.key===S)if(k.tag===4&&k.stateNode.containerInfo===w.containerInfo&&k.stateNode.implementation===w.implementation){n(b,k.sibling),k=i(k,w.children||[]),k.return=b,b=k;break e}else{n(b,k);break}else e(b,k);k=k.sibling}k=Vp(w,b.mode,j),k.return=b,b=k}return s(b);case _i:return S=w._init,y(b,k,S(w._payload),j)}if(As(w))return g(b,k,w,j);if(ls(w))return v(b,k,w,j);rc(b,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,k!==null&&k.tag===6?(n(b,k.sibling),k=i(k,w),k.return=b,b=k):(n(b,k),k=Fp(w,b.mode,j),k.return=b,b=k),s(b)):n(b,k)}return y}var Rr=t0(!0),n0=t0(!1),Al={},Pa=ao(Al),sl=ao(Al),ll=ao(Al);function Bo(t){if(t===Al)throw Error(R(174));return t}function Wf(t,e){switch(Ee(ll,e),Ee(sl,t),Ee(Pa,Al),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Kh(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Kh(e,t)}Le(Pa),Ee(Pa,e)}function Fr(){Le(Pa),Le(sl),Le(ll)}function a0(t){Bo(ll.current);var e=Bo(Pa.current),n=Kh(e,t.type);e!==n&&(Ee(sl,t),Ee(Pa,n))}function Uf(t){sl.current===t&&(Le(Pa),Le(sl))}var Re=ao(0);function Cu(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Lp=[];function qf(){for(var t=0;tn?n:4,t(!0);var a=Ip.transition;Ip.transition={};try{t(!1),e()}finally{Ce=n,Ip.transition=a}}function k0(){return Vn().memoizedState}function I2(t,e,n){var a=Hi(t);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},x0(t))y0(e,n);else if(n=Zw(t,e,n,a),n!==null){var i=tn();ca(n,t,a,i),w0(n,e,a)}}function $2(t,e,n){var a=Hi(t),i={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(x0(t))y0(e,i);else{var o=t.alternate;if(t.lanes===0&&(o===null||o.lanes===0)&&(o=e.lastRenderedReducer,o!==null))try{var s=e.lastRenderedState,l=o(s,n);if(i.hasEagerState=!0,i.eagerState=l,pa(l,s)){var c=e.interleaved;c===null?(i.next=i,Ff(e)):(i.next=c.next,c.next=i),e.interleaved=i;return}}catch{}finally{}n=Zw(t,e,i,a),n!==null&&(i=tn(),ca(n,t,a,i),w0(n,e,a))}}function x0(t){var e=t.alternate;return t===We||e!==null&&e===We}function y0(t,e){Rs=Du=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function w0(t,e,n){if(n&4194240){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,Cf(t,n)}}var Au={readContext:Fn,useCallback:Vt,useContext:Vt,useEffect:Vt,useImperativeHandle:Vt,useInsertionEffect:Vt,useLayoutEffect:Vt,useMemo:Vt,useReducer:Vt,useRef:Vt,useState:Vt,useDebugValue:Vt,useDeferredValue:Vt,useTransition:Vt,useMutableSource:Vt,useSyncExternalStore:Vt,useId:Vt,unstable_isNewReconciler:!1},M2={readContext:Fn,useCallback:function(t,e){return Ba().memoizedState=[t,e===void 0?null:e],t},useContext:Fn,useEffect:ob,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Gc(4194308,4,m0.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Gc(4194308,4,t,e)},useInsertionEffect:function(t,e){return Gc(4,2,t,e)},useMemo:function(t,e){var n=Ba();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var a=Ba();return e=n!==void 0?n(e):e,a.memoizedState=a.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},a.queue=t,t=t.dispatch=I2.bind(null,We,t),[a.memoizedState,t]},useRef:function(t){var e=Ba();return t={current:t},e.memoizedState=t},useState:ib,useDebugValue:Yf,useDeferredValue:function(t){return Ba().memoizedState=t},useTransition:function(){var t=ib(!1),e=t[0];return t=L2.bind(null,t[1]),Ba().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var a=We,i=Ba();if($e){if(n===void 0)throw Error(R(407));n=n()}else{if(n=e(),ut===null)throw Error(R(349));Io&30||r0(a,e,n)}i.memoizedState=n;var o={value:n,getSnapshot:e};return i.queue=o,ob(l0.bind(null,a,o,t),[t]),a.flags|=2048,dl(9,s0.bind(null,a,o,n,e),void 0,null),n},useId:function(){var t=Ba(),e=ut.identifierPrefix;if($e){var n=Qa,a=Ga;n=(a&~(1<<32-la(a)-1)).toString(32)+n,e=":"+e+"R"+n,n=cl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof a.is=="string"?t=s.createElement(n,{is:a.is}):(t=s.createElement(n),n==="select"&&(s=t,a.multiple?s.multiple=!0:a.size&&(s.size=a.size))):t=s.createElementNS(t,n),t[Da]=e,t[rl]=a,T0(t,e,!1,!1),e.stateNode=t;e:{switch(s=Qh(n,a),n){case"dialog":Pe("cancel",t),Pe("close",t),i=a;break;case"iframe":case"object":case"embed":Pe("load",t),i=a;break;case"video":case"audio":for(i=0;iWr&&(e.flags|=128,a=!0,ms(o,!1),e.lanes=4194304)}else{if(!a)if(t=Cu(s),t!==null){if(e.flags|=128,a=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),ms(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!$e)return Wt(e),null}else 2*Xe()-o.renderingStartTime>Wr&&n!==1073741824&&(e.flags|=128,a=!0,ms(o,!1),e.lanes=4194304);o.isBackwards?(s.sibling=e.child,e.child=s):(n=o.last,n!==null?n.sibling=s:e.child=s,o.last=s)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=Xe(),e.sibling=null,n=Re.current,Ee(Re,a?n&1|2:n&1),e):(Wt(e),null);case 22:case 23:return ng(),a=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==a&&(e.flags|=8192),a&&e.mode&1?yn&1073741824&&(Wt(e),e.subtreeFlags&6&&(e.flags|=8192)):Wt(e),null;case 24:return null;case 25:return null}throw Error(R(156,e.tag))}function H2(t,e){switch(If(e),e.tag){case 1:return mn(e.type)&&xu(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fr(),Le(hn),Le(Qt),qf(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Uf(e),null;case 13:if(Le(Re),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(R(340));Or()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Le(Re),null;case 4:return Fr(),null;case 10:return Rf(e.type._context),null;case 22:case 23:return ng(),null;case 24:return null;default:return null}}var lc=!1,Gt=!1,K2=typeof WeakSet=="function"?WeakSet:Set,Y=null;function wr(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){Ge(t,e,a)}else n.current=null}function wm(t,e,n){try{n()}catch(a){Ge(t,e,a)}}var mb=!1;function G2(t,e){if(om=gu,t=$w(),Nf(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var i=a.anchorOffset,o=a.focusNode;a=a.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=t,h=null;t:for(;;){for(var m;p!==n||i!==0&&p.nodeType!==3||(l=s+i),p!==o||a!==0&&p.nodeType!==3||(c=s+a),p.nodeType===3&&(s+=p.nodeValue.length),(m=p.firstChild)!==null;)h=p,p=m;for(;;){if(p===t)break t;if(h===n&&++u===i&&(l=s),h===o&&++d===a&&(c=s),(m=p.nextSibling)!==null)break;p=h,h=p.parentNode}p=m}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(rm={focusedElem:t,selectionRange:n},gu=!1,Y=e;Y!==null;)if(e=Y,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Y=t;else for(;Y!==null;){e=Y;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var v=g.memoizedProps,y=g.memoizedState,b=e.stateNode,k=b.getSnapshotBeforeUpdate(e.elementType===e.type?v:ea(e.type,v),y);b.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var w=e.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(R(163))}}catch(j){Ge(e,e.return,j)}if(t=e.sibling,t!==null){t.return=e.return,Y=t;break}Y=e.return}return g=mb,mb=!1,g}function Fs(t,e,n){var a=e.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var i=a=a.next;do{if((i.tag&t)===t){var o=i.destroy;i.destroy=void 0,o!==void 0&&wm(e,n,o)}i=i.next}while(i!==a)}}function fd(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var a=n.create;n.destroy=a()}n=n.next}while(n!==e)}}function jm(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function N0(t){var e=t.alternate;e!==null&&(t.alternate=null,N0(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Da],delete e[rl],delete e[cm],delete e[_2],delete e[T2])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function L0(t){return t.tag===5||t.tag===3||t.tag===4}function fb(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||L0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Bm(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=ku));else if(a!==4&&(t=t.child,t!==null))for(Bm(t,e,n),t=t.sibling;t!==null;)Bm(t,e,n),t=t.sibling}function Sm(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(a!==4&&(t=t.child,t!==null))for(Sm(t,e,n),t=t.sibling;t!==null;)Sm(t,e,n),t=t.sibling}var gt=null,aa=!1;function ki(t,e,n){for(n=n.child;n!==null;)I0(t,e,n),n=n.sibling}function I0(t,e,n){if(Ea&&typeof Ea.onCommitFiberUnmount=="function")try{Ea.onCommitFiberUnmount(sd,n)}catch{}switch(n.tag){case 5:Gt||wr(n,e);case 6:var a=gt,i=aa;gt=null,ki(t,e,n),gt=a,aa=i,gt!==null&&(aa?(t=gt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):gt.removeChild(n.stateNode));break;case 18:gt!==null&&(aa?(t=gt,n=n.stateNode,t.nodeType===8?Pp(t.parentNode,n):t.nodeType===1&&Pp(t,n),tl(t)):Pp(gt,n.stateNode));break;case 4:a=gt,i=aa,gt=n.stateNode.containerInfo,aa=!0,ki(t,e,n),gt=a,aa=i;break;case 0:case 11:case 14:case 15:if(!Gt&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){i=a=a.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&wm(n,e,s),i=i.next}while(i!==a)}ki(t,e,n);break;case 1:if(!Gt&&(wr(n,e),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(l){Ge(n,e,l)}ki(t,e,n);break;case 21:ki(t,e,n);break;case 22:n.mode&1?(Gt=(a=Gt)||n.memoizedState!==null,ki(t,e,n),Gt=a):ki(t,e,n);break;default:ki(t,e,n)}}function gb(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new K2),e.forEach(function(a){var i=aC.bind(null,t,a);n.has(a)||(n.add(a),a.then(i,i))})}}function Yn(t,e){var n=e.deletions;if(n!==null)for(var a=0;ai&&(i=s),a&=~o}if(a=i,a=Xe()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*Y2(a/1960))-a,10t?16:t,Ii===null)var a=!1;else{if(t=Ii,Ii=null,Eu=0,ke&6)throw Error(R(331));var i=ke;for(ke|=4,Y=t.current;Y!==null;){var o=Y,s=o.child;if(Y.flags&16){var l=o.deletions;if(l!==null){for(var c=0;cXe()-eg?Do(t,0):Xf|=n),fn(t,e)}function U0(t,e){e===0&&(t.mode&1?(e=Xl,Xl<<=1,!(Xl&130023424)&&(Xl=4194304)):e=1);var n=tn();t=ri(t,e),t!==null&&(zl(t,e,n),fn(t,n))}function nC(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),U0(t,n)}function aC(t,e){var n=0;switch(t.tag){case 13:var a=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:a=t.stateNode;break;default:throw Error(R(314))}a!==null&&a.delete(e),U0(t,n)}var q0;q0=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||hn.current)pn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return pn=!1,U2(t,e,n);pn=!!(t.flags&131072)}else pn=!1,$e&&e.flags&1048576&&Gw(e,ju,e.index);switch(e.lanes=0,e.tag){case 2:var a=e.type;Qc(t,e),t=e.pendingProps;var i=Mr(e,Qt.current);_r(e,n),i=Kf(null,e,a,t,i,n);var o=Gf();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,mn(a)?(o=!0,yu(e)):o=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Vf(e),i.updater=hd,e.stateNode=i,i._reactInternals=e,fm(e,a,t,n),e=bm(null,e,a,!0,o,n)):(e.tag=0,$e&&o&&Lf(e),Xt(null,e,i,n),e=e.child),e;case 16:a=e.elementType;e:{switch(Qc(t,e),t=e.pendingProps,i=a._init,a=i(a._payload),e.type=a,i=e.tag=oC(a),t=ea(a,t),i){case 0:e=vm(null,e,a,t,n);break e;case 1:e=db(null,e,a,t,n);break e;case 11:e=cb(null,e,a,t,n);break e;case 14:e=ub(null,e,a,ea(a.type,t),n);break e}throw Error(R(306,a,""))}return e;case 0:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),vm(t,e,a,i,n);case 1:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),db(t,e,a,i,n);case 3:e:{if(D0(e),t===null)throw Error(R(387));a=e.pendingProps,o=e.memoizedState,i=o.element,Jw(t,e),zu(e,a,null,n);var s=e.memoizedState;if(a=s.element,o.isDehydrated)if(o={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},e.updateQueue.baseState=o,e.memoizedState=o,e.flags&256){i=Vr(Error(R(423)),e),e=pb(t,e,a,n,i);break e}else if(a!==i){i=Vr(Error(R(424)),e),e=pb(t,e,a,n,i);break e}else for(wn=Wi(e.stateNode.containerInfo.firstChild),Bn=e,$e=!0,ra=null,n=n0(e,null,a,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Or(),a===i){e=si(t,e,n);break e}Xt(t,e,a,n)}e=e.child}return e;case 5:return a0(e),t===null&&pm(e),a=e.type,i=e.pendingProps,o=t!==null?t.memoizedProps:null,s=i.children,sm(a,i)?s=null:o!==null&&sm(a,o)&&(e.flags|=32),C0(t,e),Xt(t,e,s,n),e.child;case 6:return t===null&&pm(e),null;case 13:return A0(t,e,n);case 4:return Wf(e,e.stateNode.containerInfo),a=e.pendingProps,t===null?e.child=Rr(e,null,a,n):Xt(t,e,a,n),e.child;case 11:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),cb(t,e,a,i,n);case 7:return Xt(t,e,e.pendingProps,n),e.child;case 8:return Xt(t,e,e.pendingProps.children,n),e.child;case 12:return Xt(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(a=e.type._context,i=e.pendingProps,o=e.memoizedProps,s=i.value,Ee(Bu,a._currentValue),a._currentValue=s,o!==null)if(pa(o.value,s)){if(o.children===i.children&&!hn.current){e=si(t,e,n);break e}}else for(o=e.child,o!==null&&(o.return=e);o!==null;){var l=o.dependencies;if(l!==null){s=o.child;for(var c=l.firstContext;c!==null;){if(c.context===a){if(o.tag===1){c=ni(-1,n&-n),c.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),hm(o.return,n,e),l.lanes|=n;break}c=c.next}}else if(o.tag===10)s=o.type===e.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(R(341));s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),hm(s,n,e),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===e){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Xt(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,a=e.pendingProps.children,_r(e,n),i=Fn(i),a=a(i),e.flags|=1,Xt(t,e,a,n),e.child;case 14:return a=e.type,i=ea(a,e.pendingProps),i=ea(a.type,i),ub(t,e,a,i,n);case 15:return S0(t,e,e.type,e.pendingProps,n);case 17:return a=e.type,i=e.pendingProps,i=e.elementType===a?i:ea(a,i),Qc(t,e),e.tag=1,mn(a)?(t=!0,yu(e)):t=!1,_r(e,n),e0(e,a,i),fm(e,a,i,n),bm(null,e,a,!0,t,n);case 19:return _0(t,e,n);case 22:return z0(t,e,n)}throw Error(R(156,e.tag))};function H0(t,e){return bw(t,e)}function iC(t,e,n,a){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $n(t,e,n,a){return new iC(t,e,n,a)}function ig(t){return t=t.prototype,!(!t||!t.isReactComponent)}function oC(t){if(typeof t=="function")return ig(t)?1:0;if(t!=null){if(t=t.$$typeof,t===jf)return 11;if(t===Bf)return 14}return 2}function Ki(t,e){var n=t.alternate;return n===null?(n=$n(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function Jc(t,e,n,a,i,o){var s=2;if(a=t,typeof t=="function")ig(t)&&(s=1);else if(typeof t=="string")s=5;else e:switch(t){case hr:return Ao(n.children,i,o,e);case wf:s=8,i|=8;break;case Oh:return t=$n(12,n,e,i|2),t.elementType=Oh,t.lanes=o,t;case Rh:return t=$n(13,n,e,i),t.elementType=Rh,t.lanes=o,t;case Fh:return t=$n(19,n,e,i),t.elementType=Fh,t.lanes=o,t;case tw:return vd(n,i,o,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Xy:s=10;break e;case ew:s=9;break e;case jf:s=11;break e;case Bf:s=14;break e;case _i:s=16,a=null;break e}throw Error(R(130,t==null?t:typeof t,""))}return e=$n(s,n,e,i),e.elementType=t,e.type=a,e.lanes=o,e}function Ao(t,e,n,a){return t=$n(7,t,a,e),t.lanes=n,t}function vd(t,e,n,a){return t=$n(22,t,a,e),t.elementType=tw,t.lanes=n,t.stateNode={isHidden:!1},t}function Fp(t,e,n){return t=$n(6,t,null,e),t.lanes=n,t}function Vp(t,e,n){return e=$n(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function rC(t,e,n,a,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=wp(0),this.expirationTimes=wp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=wp(0),this.identifierPrefix=a,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function og(t,e,n,a,i,o,s,l,c){return t=new rC(t,e,n,l,c),e===1?(e=1,o===!0&&(e|=8)):e=0,o=$n(3,null,null,e),t.current=o,o.stateNode=t,o.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Vf(o),t}function sC(t,e,n){var a=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Y0)}catch(t){console.error(t)}}Y0(),Gy.exports=An;var Z0=Gy.exports,J0,Bb=Z0;J0=Bb.createRoot,Bb.hydrateRoot;function pC(t,e){if(t==null)return{};var n={},a=Object.keys(t),i,o;for(o=0;o=0)&&(n[i]=t[i]);return n}function $a(t,e){if(t==null)return{};var n=pC(t,e),a,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}function Rn(t){"@babel/helpers - typeof";return Rn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rn(t)}function hC(t,e){if(Rn(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var a=n.call(t,e||"default");if(Rn(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function X0(t){var e=hC(t,"string");return Rn(e)=="symbol"?e:String(e)}function en(t,e,n){return e=X0(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function qn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Sb(t,e){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:{},a=e.languages[0],i=e.options?e.options.fallbackLng:!1,o=e.languages[e.languages.length-1];if(a.toLowerCase()==="cimode")return!0;var s=function(c,u){var d=e.services.backendConnector.state["".concat(c,"|").concat(u)];return d===-1||d===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!s(e.isLanguageChangingTo,t)?!1:!!(e.hasResourceBundle(a,t)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||s(a,t)&&(!i||s(o,t)))}function yC(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!e.languages||!e.languages.length)return _m("i18n.languages were undefined or empty",e.languages),!0;var a=e.options.ignoreJSONStructure!==void 0;return a?e.hasLoadedNamespace(t,{precheck:function(o,s){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!s(o.isLanguageChangingTo,t))return!1}}):xC(t,e,n)}function wC(t){return t.displayName||t.name||(typeof t=="string"&&t.length>0?t:"Unknown")}function tj(t){if(Array.isArray(t))return t}function jC(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var a,i,o,s,l=[],c=!0,u=!1;try{if(o=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==e);c=!0);}catch(d){u=!0,i=d}finally{try{if(!c&&n.return!=null&&(s=n.return(),Object(s)!==s))return}finally{if(u)throw i}}return l}}function Tm(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:{},n=e.i18n,a=x.useContext(ej)||{},i=a.i18n,o=a.defaultNS,s=n||i||bC();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new vC),!s){_m("You will need to pass in an i18next instance by using initReactI18next");var l=function(f){return Array.isArray(f)?f[f.length-1]:f},c=[l,{},!1];return c.t=l,c.i18n={},c.ready=!1,c}s.options.react&&s.options.react.wait!==void 0&&_m("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=Wp(Wp(Wp({},gC()),s.options.react),e),d=u.useSuspense,p=u.keyPrefix,h=t||o||s.options&&s.options.defaultNS;h=typeof h=="string"?[h]:h||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(h);var m=(s.isInitialized||s.initializedStoreOnce)&&h.every(function(S){return yC(S,s,u)});function g(){return s.getFixedT(null,u.nsMode==="fallback"?h:h[0],p)}var v=x.useState(g),y=ua(v,2),b=y[0],k=y[1],w=x.useRef(!0);x.useEffect(function(){var S=u.bindI18n,f=u.bindI18nStore;w.current=!0,!m&&!d&&Cb(s,h,function(){w.current&&k(g)});function B(){w.current&&k(g)}return S&&s&&s.on(S,B),f&&s&&s.store.on(f,B),function(){w.current=!1,S&&s&&S.split(" ").forEach(function(D){return s.off(D,B)}),f&&s&&f.split(" ").forEach(function(D){return s.store.off(D,B)})}},[s,h.join()]);var j=x.useRef(!0);x.useEffect(function(){w.current&&!j.current&&k(g),j.current=!1},[s]);var z=[b,s,m];if(z.t=b,z.i18n=s,z.ready=m,m||!m&&!d)return z;throw new Promise(function(S){Cb(s,h,function(){S()})})}var BC=["forwardedRef"];function Ab(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,a)}return n}function _b(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{};return function(a){function i(s){var l=s.forwardedRef,c=$a(s,BC),u=A(t,c),d=ua(u,3),p=d[0],h=d[1],m=d[2],g=_b(_b({},c),{},{t:p,i18n:h,tReady:m});return e.withRef&&l?g.ref=l:!e.withRef&&l&&(g.forwardedRef=l),Mn.createElement(a,g)}i.displayName="withI18nextTranslation(".concat(wC(a),")"),i.WrappedComponent=a;var o=function(l,c){return Mn.createElement(i,Object.assign({},l,{forwardedRef:c}))};return e.withRef?Mn.forwardRef(o):i}}function SC(t){var e=t.i18n,n=t.defaultNS,a=t.children,i=x.useMemo(function(){return{i18n:e,defaultNS:n}},[e,n]);return x.createElement(ej.Provider,{value:i},a)}/** + */ +var aa = reactExports, ca = schedulerExports; +function p$3(a2) { + for (var b2 = "https://reactjs.org/docs/error-decoder.html?invariant=" + a2, c2 = 1; c2 < arguments.length; c2++) + b2 += "&args[]=" + encodeURIComponent(arguments[c2]); + return "Minified React error #" + a2 + "; visit " + b2 + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; +} +var da = /* @__PURE__ */ new Set(), ea = {}; +function fa(a2, b2) { + ha(a2, b2); + ha(a2 + "Capture", b2); +} +function ha(a2, b2) { + ea[a2] = b2; + for (a2 = 0; a2 < b2.length; a2++) + da.add(b2[a2]); +} +var ia = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), ja = Object.prototype.hasOwnProperty, ka = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, la = {}, ma = {}; +function oa(a2) { + if (ja.call(ma, a2)) + return true; + if (ja.call(la, a2)) + return false; + if (ka.test(a2)) + return ma[a2] = true; + la[a2] = true; + return false; +} +function pa(a2, b2, c2, d2) { + if (null !== c2 && 0 === c2.type) + return false; + switch (typeof b2) { + case "function": + case "symbol": + return true; + case "boolean": + if (d2) + return false; + if (null !== c2) + return !c2.acceptsBooleans; + a2 = a2.toLowerCase().slice(0, 5); + return "data-" !== a2 && "aria-" !== a2; + default: + return false; + } +} +function qa(a2, b2, c2, d2) { + if (null === b2 || "undefined" === typeof b2 || pa(a2, b2, c2, d2)) + return true; + if (d2) + return false; + if (null !== c2) + switch (c2.type) { + case 3: + return !b2; + case 4: + return false === b2; + case 5: + return isNaN(b2); + case 6: + return isNaN(b2) || 1 > b2; + } + return false; +} +function v$2(a2, b2, c2, d2, e3, f2, g2) { + this.acceptsBooleans = 2 === b2 || 3 === b2 || 4 === b2; + this.attributeName = d2; + this.attributeNamespace = e3; + this.mustUseProperty = c2; + this.propertyName = a2; + this.type = b2; + this.sanitizeURL = f2; + this.removeEmptyString = g2; +} +var z$2 = {}; +"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a2) { + z$2[a2] = new v$2(a2, 0, false, a2, null, false, false); +}); +[["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(a2) { + var b2 = a2[0]; + z$2[b2] = new v$2(b2, 1, false, a2[1], null, false, false); +}); +["contentEditable", "draggable", "spellCheck", "value"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 2, false, a2.toLowerCase(), null, false, false); +}); +["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 2, false, a2, null, false, false); +}); +"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a2) { + z$2[a2] = new v$2(a2, 3, false, a2.toLowerCase(), null, false, false); +}); +["checked", "multiple", "muted", "selected"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 3, true, a2, null, false, false); +}); +["capture", "download"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 4, false, a2, null, false, false); +}); +["cols", "rows", "size", "span"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 6, false, a2, null, false, false); +}); +["rowSpan", "start"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 5, false, a2.toLowerCase(), null, false, false); +}); +var ra = /[\-:]([a-z])/g; +function sa(a2) { + return a2[1].toUpperCase(); +} +"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a2) { + var b2 = a2.replace( + ra, + sa + ); + z$2[b2] = new v$2(b2, 1, false, a2, null, false, false); +}); +"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a2) { + var b2 = a2.replace(ra, sa); + z$2[b2] = new v$2(b2, 1, false, a2, "http://www.w3.org/1999/xlink", false, false); +}); +["xml:base", "xml:lang", "xml:space"].forEach(function(a2) { + var b2 = a2.replace(ra, sa); + z$2[b2] = new v$2(b2, 1, false, a2, "http://www.w3.org/XML/1998/namespace", false, false); +}); +["tabIndex", "crossOrigin"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 1, false, a2.toLowerCase(), null, false, false); +}); +z$2.xlinkHref = new v$2("xlinkHref", 1, false, "xlink:href", "http://www.w3.org/1999/xlink", true, false); +["src", "href", "action", "formAction"].forEach(function(a2) { + z$2[a2] = new v$2(a2, 1, false, a2.toLowerCase(), null, true, true); +}); +function ta(a2, b2, c2, d2) { + var e3 = z$2.hasOwnProperty(b2) ? z$2[b2] : null; + if (null !== e3 ? 0 !== e3.type : d2 || !(2 < b2.length) || "o" !== b2[0] && "O" !== b2[0] || "n" !== b2[1] && "N" !== b2[1]) + qa(b2, c2, e3, d2) && (c2 = null), d2 || null === e3 ? oa(b2) && (null === c2 ? a2.removeAttribute(b2) : a2.setAttribute(b2, "" + c2)) : e3.mustUseProperty ? a2[e3.propertyName] = null === c2 ? 3 === e3.type ? false : "" : c2 : (b2 = e3.attributeName, d2 = e3.attributeNamespace, null === c2 ? a2.removeAttribute(b2) : (e3 = e3.type, c2 = 3 === e3 || 4 === e3 && true === c2 ? "" : "" + c2, d2 ? a2.setAttributeNS(d2, b2, c2) : a2.setAttribute(b2, c2))); +} +var ua = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, va = Symbol.for("react.element"), wa = Symbol.for("react.portal"), ya = Symbol.for("react.fragment"), za = Symbol.for("react.strict_mode"), Aa = Symbol.for("react.profiler"), Ba = Symbol.for("react.provider"), Ca = Symbol.for("react.context"), Da = Symbol.for("react.forward_ref"), Ea = Symbol.for("react.suspense"), Fa = Symbol.for("react.suspense_list"), Ga = Symbol.for("react.memo"), Ha = Symbol.for("react.lazy"); +var Ia = Symbol.for("react.offscreen"); +var Ja = Symbol.iterator; +function Ka(a2) { + if (null === a2 || "object" !== typeof a2) + return null; + a2 = Ja && a2[Ja] || a2["@@iterator"]; + return "function" === typeof a2 ? a2 : null; +} +var A$4 = Object.assign, La; +function Ma(a2) { + if (void 0 === La) + try { + throw Error(); + } catch (c2) { + var b2 = c2.stack.trim().match(/\n( *(at )?)/); + La = b2 && b2[1] || ""; + } + return "\n" + La + a2; +} +var Na = false; +function Oa(a2, b2) { + if (!a2 || Na) + return ""; + Na = true; + var c2 = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + try { + if (b2) + if (b2 = function() { + throw Error(); + }, Object.defineProperty(b2.prototype, "props", { set: function() { + throw Error(); + } }), "object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(b2, []); + } catch (l2) { + var d2 = l2; + } + Reflect.construct(a2, [], b2); + } else { + try { + b2.call(); + } catch (l2) { + d2 = l2; + } + a2.call(b2.prototype); + } + else { + try { + throw Error(); + } catch (l2) { + d2 = l2; + } + a2(); + } + } catch (l2) { + if (l2 && d2 && "string" === typeof l2.stack) { + for (var e3 = l2.stack.split("\n"), f2 = d2.stack.split("\n"), g2 = e3.length - 1, h2 = f2.length - 1; 1 <= g2 && 0 <= h2 && e3[g2] !== f2[h2]; ) + h2--; + for (; 1 <= g2 && 0 <= h2; g2--, h2--) + if (e3[g2] !== f2[h2]) { + if (1 !== g2 || 1 !== h2) { + do + if (g2--, h2--, 0 > h2 || e3[g2] !== f2[h2]) { + var k2 = "\n" + e3[g2].replace(" at new ", " at "); + a2.displayName && k2.includes("") && (k2 = k2.replace("", a2.displayName)); + return k2; + } + while (1 <= g2 && 0 <= h2); + } + break; + } + } + } finally { + Na = false, Error.prepareStackTrace = c2; + } + return (a2 = a2 ? a2.displayName || a2.name : "") ? Ma(a2) : ""; +} +function Pa(a2) { + switch (a2.tag) { + case 5: + return Ma(a2.type); + case 16: + return Ma("Lazy"); + case 13: + return Ma("Suspense"); + case 19: + return Ma("SuspenseList"); + case 0: + case 2: + case 15: + return a2 = Oa(a2.type, false), a2; + case 11: + return a2 = Oa(a2.type.render, false), a2; + case 1: + return a2 = Oa(a2.type, true), a2; + default: + return ""; + } +} +function Qa(a2) { + if (null == a2) + return null; + if ("function" === typeof a2) + return a2.displayName || a2.name || null; + if ("string" === typeof a2) + return a2; + switch (a2) { + case ya: + return "Fragment"; + case wa: + return "Portal"; + case Aa: + return "Profiler"; + case za: + return "StrictMode"; + case Ea: + return "Suspense"; + case Fa: + return "SuspenseList"; + } + if ("object" === typeof a2) + switch (a2.$$typeof) { + case Ca: + return (a2.displayName || "Context") + ".Consumer"; + case Ba: + return (a2._context.displayName || "Context") + ".Provider"; + case Da: + var b2 = a2.render; + a2 = a2.displayName; + a2 || (a2 = b2.displayName || b2.name || "", a2 = "" !== a2 ? "ForwardRef(" + a2 + ")" : "ForwardRef"); + return a2; + case Ga: + return b2 = a2.displayName || null, null !== b2 ? b2 : Qa(a2.type) || "Memo"; + case Ha: + b2 = a2._payload; + a2 = a2._init; + try { + return Qa(a2(b2)); + } catch (c2) { + } + } + return null; +} +function Ra(a2) { + var b2 = a2.type; + switch (a2.tag) { + case 24: + return "Cache"; + case 9: + return (b2.displayName || "Context") + ".Consumer"; + case 10: + return (b2._context.displayName || "Context") + ".Provider"; + case 18: + return "DehydratedFragment"; + case 11: + return a2 = b2.render, a2 = a2.displayName || a2.name || "", b2.displayName || ("" !== a2 ? "ForwardRef(" + a2 + ")" : "ForwardRef"); + case 7: + return "Fragment"; + case 5: + return b2; + case 4: + return "Portal"; + case 3: + return "Root"; + case 6: + return "Text"; + case 16: + return Qa(b2); + case 8: + return b2 === za ? "StrictMode" : "Mode"; + case 22: + return "Offscreen"; + case 12: + return "Profiler"; + case 21: + return "Scope"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 25: + return "TracingMarker"; + case 1: + case 0: + case 17: + case 2: + case 14: + case 15: + if ("function" === typeof b2) + return b2.displayName || b2.name || null; + if ("string" === typeof b2) + return b2; + } + return null; +} +function Sa(a2) { + switch (typeof a2) { + case "boolean": + case "number": + case "string": + case "undefined": + return a2; + case "object": + return a2; + default: + return ""; + } +} +function Ta(a2) { + var b2 = a2.type; + return (a2 = a2.nodeName) && "input" === a2.toLowerCase() && ("checkbox" === b2 || "radio" === b2); +} +function Ua(a2) { + var b2 = Ta(a2) ? "checked" : "value", c2 = Object.getOwnPropertyDescriptor(a2.constructor.prototype, b2), d2 = "" + a2[b2]; + if (!a2.hasOwnProperty(b2) && "undefined" !== typeof c2 && "function" === typeof c2.get && "function" === typeof c2.set) { + var e3 = c2.get, f2 = c2.set; + Object.defineProperty(a2, b2, { configurable: true, get: function() { + return e3.call(this); + }, set: function(a3) { + d2 = "" + a3; + f2.call(this, a3); + } }); + Object.defineProperty(a2, b2, { enumerable: c2.enumerable }); + return { getValue: function() { + return d2; + }, setValue: function(a3) { + d2 = "" + a3; + }, stopTracking: function() { + a2._valueTracker = null; + delete a2[b2]; + } }; + } +} +function Va(a2) { + a2._valueTracker || (a2._valueTracker = Ua(a2)); +} +function Wa(a2) { + if (!a2) + return false; + var b2 = a2._valueTracker; + if (!b2) + return true; + var c2 = b2.getValue(); + var d2 = ""; + a2 && (d2 = Ta(a2) ? a2.checked ? "true" : "false" : a2.value); + a2 = d2; + return a2 !== c2 ? (b2.setValue(a2), true) : false; +} +function Xa(a2) { + a2 = a2 || ("undefined" !== typeof document ? document : void 0); + if ("undefined" === typeof a2) + return null; + try { + return a2.activeElement || a2.body; + } catch (b2) { + return a2.body; + } +} +function Ya(a2, b2) { + var c2 = b2.checked; + return A$4({}, b2, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: null != c2 ? c2 : a2._wrapperState.initialChecked }); +} +function Za(a2, b2) { + var c2 = null == b2.defaultValue ? "" : b2.defaultValue, d2 = null != b2.checked ? b2.checked : b2.defaultChecked; + c2 = Sa(null != b2.value ? b2.value : c2); + a2._wrapperState = { initialChecked: d2, initialValue: c2, controlled: "checkbox" === b2.type || "radio" === b2.type ? null != b2.checked : null != b2.value }; +} +function ab(a2, b2) { + b2 = b2.checked; + null != b2 && ta(a2, "checked", b2, false); +} +function bb(a2, b2) { + ab(a2, b2); + var c2 = Sa(b2.value), d2 = b2.type; + if (null != c2) + if ("number" === d2) { + if (0 === c2 && "" === a2.value || a2.value != c2) + a2.value = "" + c2; + } else + a2.value !== "" + c2 && (a2.value = "" + c2); + else if ("submit" === d2 || "reset" === d2) { + a2.removeAttribute("value"); + return; + } + b2.hasOwnProperty("value") ? cb(a2, b2.type, c2) : b2.hasOwnProperty("defaultValue") && cb(a2, b2.type, Sa(b2.defaultValue)); + null == b2.checked && null != b2.defaultChecked && (a2.defaultChecked = !!b2.defaultChecked); +} +function db(a2, b2, c2) { + if (b2.hasOwnProperty("value") || b2.hasOwnProperty("defaultValue")) { + var d2 = b2.type; + if (!("submit" !== d2 && "reset" !== d2 || void 0 !== b2.value && null !== b2.value)) + return; + b2 = "" + a2._wrapperState.initialValue; + c2 || b2 === a2.value || (a2.value = b2); + a2.defaultValue = b2; + } + c2 = a2.name; + "" !== c2 && (a2.name = ""); + a2.defaultChecked = !!a2._wrapperState.initialChecked; + "" !== c2 && (a2.name = c2); +} +function cb(a2, b2, c2) { + if ("number" !== b2 || Xa(a2.ownerDocument) !== a2) + null == c2 ? a2.defaultValue = "" + a2._wrapperState.initialValue : a2.defaultValue !== "" + c2 && (a2.defaultValue = "" + c2); +} +var eb = Array.isArray; +function fb(a2, b2, c2, d2) { + a2 = a2.options; + if (b2) { + b2 = {}; + for (var e3 = 0; e3 < c2.length; e3++) + b2["$" + c2[e3]] = true; + for (c2 = 0; c2 < a2.length; c2++) + e3 = b2.hasOwnProperty("$" + a2[c2].value), a2[c2].selected !== e3 && (a2[c2].selected = e3), e3 && d2 && (a2[c2].defaultSelected = true); + } else { + c2 = "" + Sa(c2); + b2 = null; + for (e3 = 0; e3 < a2.length; e3++) { + if (a2[e3].value === c2) { + a2[e3].selected = true; + d2 && (a2[e3].defaultSelected = true); + return; + } + null !== b2 || a2[e3].disabled || (b2 = a2[e3]); + } + null !== b2 && (b2.selected = true); + } +} +function gb(a2, b2) { + if (null != b2.dangerouslySetInnerHTML) + throw Error(p$3(91)); + return A$4({}, b2, { value: void 0, defaultValue: void 0, children: "" + a2._wrapperState.initialValue }); +} +function hb(a2, b2) { + var c2 = b2.value; + if (null == c2) { + c2 = b2.children; + b2 = b2.defaultValue; + if (null != c2) { + if (null != b2) + throw Error(p$3(92)); + if (eb(c2)) { + if (1 < c2.length) + throw Error(p$3(93)); + c2 = c2[0]; + } + b2 = c2; + } + null == b2 && (b2 = ""); + c2 = b2; + } + a2._wrapperState = { initialValue: Sa(c2) }; +} +function ib(a2, b2) { + var c2 = Sa(b2.value), d2 = Sa(b2.defaultValue); + null != c2 && (c2 = "" + c2, c2 !== a2.value && (a2.value = c2), null == b2.defaultValue && a2.defaultValue !== c2 && (a2.defaultValue = c2)); + null != d2 && (a2.defaultValue = "" + d2); +} +function jb(a2) { + var b2 = a2.textContent; + b2 === a2._wrapperState.initialValue && "" !== b2 && null !== b2 && (a2.value = b2); +} +function kb(a2) { + switch (a2) { + case "svg": + return "http://www.w3.org/2000/svg"; + case "math": + return "http://www.w3.org/1998/Math/MathML"; + default: + return "http://www.w3.org/1999/xhtml"; + } +} +function lb(a2, b2) { + return null == a2 || "http://www.w3.org/1999/xhtml" === a2 ? kb(b2) : "http://www.w3.org/2000/svg" === a2 && "foreignObject" === b2 ? "http://www.w3.org/1999/xhtml" : a2; +} +var mb, nb = function(a2) { + return "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function(b2, c2, d2, e3) { + MSApp.execUnsafeLocalFunction(function() { + return a2(b2, c2, d2, e3); + }); + } : a2; +}(function(a2, b2) { + if ("http://www.w3.org/2000/svg" !== a2.namespaceURI || "innerHTML" in a2) + a2.innerHTML = b2; + else { + mb = mb || document.createElement("div"); + mb.innerHTML = "" + b2.valueOf().toString() + ""; + for (b2 = mb.firstChild; a2.firstChild; ) + a2.removeChild(a2.firstChild); + for (; b2.firstChild; ) + a2.appendChild(b2.firstChild); + } +}); +function ob(a2, b2) { + if (b2) { + var c2 = a2.firstChild; + if (c2 && c2 === a2.lastChild && 3 === c2.nodeType) { + c2.nodeValue = b2; + return; + } + } + a2.textContent = b2; +} +var pb = { + animationIterationCount: true, + aspectRatio: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + boxFlex: true, + boxFlexGroup: true, + boxOrdinalGroup: true, + columnCount: true, + columns: true, + flex: true, + flexGrow: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + flexOrder: true, + gridArea: true, + gridRow: true, + gridRowEnd: true, + gridRowSpan: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnSpan: true, + gridColumnStart: true, + fontWeight: true, + lineClamp: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeDasharray: true, + strokeDashoffset: true, + strokeMiterlimit: true, + strokeOpacity: true, + strokeWidth: true +}, qb = ["Webkit", "ms", "Moz", "O"]; +Object.keys(pb).forEach(function(a2) { + qb.forEach(function(b2) { + b2 = b2 + a2.charAt(0).toUpperCase() + a2.substring(1); + pb[b2] = pb[a2]; + }); +}); +function rb(a2, b2, c2) { + return null == b2 || "boolean" === typeof b2 || "" === b2 ? "" : c2 || "number" !== typeof b2 || 0 === b2 || pb.hasOwnProperty(a2) && pb[a2] ? ("" + b2).trim() : b2 + "px"; +} +function sb(a2, b2) { + a2 = a2.style; + for (var c2 in b2) + if (b2.hasOwnProperty(c2)) { + var d2 = 0 === c2.indexOf("--"), e3 = rb(c2, b2[c2], d2); + "float" === c2 && (c2 = "cssFloat"); + d2 ? a2.setProperty(c2, e3) : a2[c2] = e3; + } +} +var tb = A$4({ menuitem: true }, { area: true, base: true, br: true, col: true, embed: true, hr: true, img: true, input: true, keygen: true, link: true, meta: true, param: true, source: true, track: true, wbr: true }); +function ub(a2, b2) { + if (b2) { + if (tb[a2] && (null != b2.children || null != b2.dangerouslySetInnerHTML)) + throw Error(p$3(137, a2)); + if (null != b2.dangerouslySetInnerHTML) { + if (null != b2.children) + throw Error(p$3(60)); + if ("object" !== typeof b2.dangerouslySetInnerHTML || !("__html" in b2.dangerouslySetInnerHTML)) + throw Error(p$3(61)); + } + if (null != b2.style && "object" !== typeof b2.style) + throw Error(p$3(62)); + } +} +function vb(a2, b2) { + if (-1 === a2.indexOf("-")) + return "string" === typeof b2.is; + switch (a2) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return false; + default: + return true; + } +} +var wb = null; +function xb(a2) { + a2 = a2.target || a2.srcElement || window; + a2.correspondingUseElement && (a2 = a2.correspondingUseElement); + return 3 === a2.nodeType ? a2.parentNode : a2; +} +var yb = null, zb = null, Ab = null; +function Bb(a2) { + if (a2 = Cb(a2)) { + if ("function" !== typeof yb) + throw Error(p$3(280)); + var b2 = a2.stateNode; + b2 && (b2 = Db(b2), yb(a2.stateNode, a2.type, b2)); + } +} +function Eb(a2) { + zb ? Ab ? Ab.push(a2) : Ab = [a2] : zb = a2; +} +function Fb() { + if (zb) { + var a2 = zb, b2 = Ab; + Ab = zb = null; + Bb(a2); + if (b2) + for (a2 = 0; a2 < b2.length; a2++) + Bb(b2[a2]); + } +} +function Gb(a2, b2) { + return a2(b2); +} +function Hb() { +} +var Ib = false; +function Jb(a2, b2, c2) { + if (Ib) + return a2(b2, c2); + Ib = true; + try { + return Gb(a2, b2, c2); + } finally { + if (Ib = false, null !== zb || null !== Ab) + Hb(), Fb(); + } +} +function Kb(a2, b2) { + var c2 = a2.stateNode; + if (null === c2) + return null; + var d2 = Db(c2); + if (null === d2) + return null; + c2 = d2[b2]; + a: + switch (b2) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + (d2 = !d2.disabled) || (a2 = a2.type, d2 = !("button" === a2 || "input" === a2 || "select" === a2 || "textarea" === a2)); + a2 = !d2; + break a; + default: + a2 = false; + } + if (a2) + return null; + if (c2 && "function" !== typeof c2) + throw Error(p$3(231, b2, typeof c2)); + return c2; +} +var Lb = false; +if (ia) + try { + var Mb = {}; + Object.defineProperty(Mb, "passive", { get: function() { + Lb = true; + } }); + window.addEventListener("test", Mb, Mb); + window.removeEventListener("test", Mb, Mb); + } catch (a2) { + Lb = false; + } +function Nb(a2, b2, c2, d2, e3, f2, g2, h2, k2) { + var l2 = Array.prototype.slice.call(arguments, 3); + try { + b2.apply(c2, l2); + } catch (m2) { + this.onError(m2); + } +} +var Ob = false, Pb = null, Qb = false, Rb = null, Sb = { onError: function(a2) { + Ob = true; + Pb = a2; +} }; +function Tb(a2, b2, c2, d2, e3, f2, g2, h2, k2) { + Ob = false; + Pb = null; + Nb.apply(Sb, arguments); +} +function Ub(a2, b2, c2, d2, e3, f2, g2, h2, k2) { + Tb.apply(this, arguments); + if (Ob) { + if (Ob) { + var l2 = Pb; + Ob = false; + Pb = null; + } else + throw Error(p$3(198)); + Qb || (Qb = true, Rb = l2); + } +} +function Vb(a2) { + var b2 = a2, c2 = a2; + if (a2.alternate) + for (; b2.return; ) + b2 = b2.return; + else { + a2 = b2; + do + b2 = a2, 0 !== (b2.flags & 4098) && (c2 = b2.return), a2 = b2.return; + while (a2); + } + return 3 === b2.tag ? c2 : null; +} +function Wb(a2) { + if (13 === a2.tag) { + var b2 = a2.memoizedState; + null === b2 && (a2 = a2.alternate, null !== a2 && (b2 = a2.memoizedState)); + if (null !== b2) + return b2.dehydrated; + } + return null; +} +function Xb(a2) { + if (Vb(a2) !== a2) + throw Error(p$3(188)); +} +function Yb(a2) { + var b2 = a2.alternate; + if (!b2) { + b2 = Vb(a2); + if (null === b2) + throw Error(p$3(188)); + return b2 !== a2 ? null : a2; + } + for (var c2 = a2, d2 = b2; ; ) { + var e3 = c2.return; + if (null === e3) + break; + var f2 = e3.alternate; + if (null === f2) { + d2 = e3.return; + if (null !== d2) { + c2 = d2; + continue; + } + break; + } + if (e3.child === f2.child) { + for (f2 = e3.child; f2; ) { + if (f2 === c2) + return Xb(e3), a2; + if (f2 === d2) + return Xb(e3), b2; + f2 = f2.sibling; + } + throw Error(p$3(188)); + } + if (c2.return !== d2.return) + c2 = e3, d2 = f2; + else { + for (var g2 = false, h2 = e3.child; h2; ) { + if (h2 === c2) { + g2 = true; + c2 = e3; + d2 = f2; + break; + } + if (h2 === d2) { + g2 = true; + d2 = e3; + c2 = f2; + break; + } + h2 = h2.sibling; + } + if (!g2) { + for (h2 = f2.child; h2; ) { + if (h2 === c2) { + g2 = true; + c2 = f2; + d2 = e3; + break; + } + if (h2 === d2) { + g2 = true; + d2 = f2; + c2 = e3; + break; + } + h2 = h2.sibling; + } + if (!g2) + throw Error(p$3(189)); + } + } + if (c2.alternate !== d2) + throw Error(p$3(190)); + } + if (3 !== c2.tag) + throw Error(p$3(188)); + return c2.stateNode.current === c2 ? a2 : b2; +} +function Zb(a2) { + a2 = Yb(a2); + return null !== a2 ? $b(a2) : null; +} +function $b(a2) { + if (5 === a2.tag || 6 === a2.tag) + return a2; + for (a2 = a2.child; null !== a2; ) { + var b2 = $b(a2); + if (null !== b2) + return b2; + a2 = a2.sibling; + } + return null; +} +var ac = ca.unstable_scheduleCallback, bc = ca.unstable_cancelCallback, cc = ca.unstable_shouldYield, dc = ca.unstable_requestPaint, B$2 = ca.unstable_now, ec = ca.unstable_getCurrentPriorityLevel, fc = ca.unstable_ImmediatePriority, gc = ca.unstable_UserBlockingPriority, hc = ca.unstable_NormalPriority, ic = ca.unstable_LowPriority, jc = ca.unstable_IdlePriority, kc = null, lc = null; +function mc(a2) { + if (lc && "function" === typeof lc.onCommitFiberRoot) + try { + lc.onCommitFiberRoot(kc, a2, void 0, 128 === (a2.current.flags & 128)); + } catch (b2) { + } +} +var oc = Math.clz32 ? Math.clz32 : nc, pc = Math.log, qc = Math.LN2; +function nc(a2) { + a2 >>>= 0; + return 0 === a2 ? 32 : 31 - (pc(a2) / qc | 0) | 0; +} +var rc = 64, sc = 4194304; +function tc(a2) { + switch (a2 & -a2) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return a2 & 4194240; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return a2 & 130023424; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 1073741824; + default: + return a2; + } +} +function uc(a2, b2) { + var c2 = a2.pendingLanes; + if (0 === c2) + return 0; + var d2 = 0, e3 = a2.suspendedLanes, f2 = a2.pingedLanes, g2 = c2 & 268435455; + if (0 !== g2) { + var h2 = g2 & ~e3; + 0 !== h2 ? d2 = tc(h2) : (f2 &= g2, 0 !== f2 && (d2 = tc(f2))); + } else + g2 = c2 & ~e3, 0 !== g2 ? d2 = tc(g2) : 0 !== f2 && (d2 = tc(f2)); + if (0 === d2) + return 0; + if (0 !== b2 && b2 !== d2 && 0 === (b2 & e3) && (e3 = d2 & -d2, f2 = b2 & -b2, e3 >= f2 || 16 === e3 && 0 !== (f2 & 4194240))) + return b2; + 0 !== (d2 & 4) && (d2 |= c2 & 16); + b2 = a2.entangledLanes; + if (0 !== b2) + for (a2 = a2.entanglements, b2 &= d2; 0 < b2; ) + c2 = 31 - oc(b2), e3 = 1 << c2, d2 |= a2[c2], b2 &= ~e3; + return d2; +} +function vc(a2, b2) { + switch (a2) { + case 1: + case 2: + case 4: + return b2 + 250; + case 8: + case 16: + case 32: + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return b2 + 5e3; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return -1; + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return -1; + } +} +function wc(a2, b2) { + for (var c2 = a2.suspendedLanes, d2 = a2.pingedLanes, e3 = a2.expirationTimes, f2 = a2.pendingLanes; 0 < f2; ) { + var g2 = 31 - oc(f2), h2 = 1 << g2, k2 = e3[g2]; + if (-1 === k2) { + if (0 === (h2 & c2) || 0 !== (h2 & d2)) + e3[g2] = vc(h2, b2); + } else + k2 <= b2 && (a2.expiredLanes |= h2); + f2 &= ~h2; + } +} +function xc(a2) { + a2 = a2.pendingLanes & -1073741825; + return 0 !== a2 ? a2 : a2 & 1073741824 ? 1073741824 : 0; +} +function yc() { + var a2 = rc; + rc <<= 1; + 0 === (rc & 4194240) && (rc = 64); + return a2; +} +function zc(a2) { + for (var b2 = [], c2 = 0; 31 > c2; c2++) + b2.push(a2); + return b2; +} +function Ac(a2, b2, c2) { + a2.pendingLanes |= b2; + 536870912 !== b2 && (a2.suspendedLanes = 0, a2.pingedLanes = 0); + a2 = a2.eventTimes; + b2 = 31 - oc(b2); + a2[b2] = c2; +} +function Bc(a2, b2) { + var c2 = a2.pendingLanes & ~b2; + a2.pendingLanes = b2; + a2.suspendedLanes = 0; + a2.pingedLanes = 0; + a2.expiredLanes &= b2; + a2.mutableReadLanes &= b2; + a2.entangledLanes &= b2; + b2 = a2.entanglements; + var d2 = a2.eventTimes; + for (a2 = a2.expirationTimes; 0 < c2; ) { + var e3 = 31 - oc(c2), f2 = 1 << e3; + b2[e3] = 0; + d2[e3] = -1; + a2[e3] = -1; + c2 &= ~f2; + } +} +function Cc(a2, b2) { + var c2 = a2.entangledLanes |= b2; + for (a2 = a2.entanglements; c2; ) { + var d2 = 31 - oc(c2), e3 = 1 << d2; + e3 & b2 | a2[d2] & b2 && (a2[d2] |= b2); + c2 &= ~e3; + } +} +var C$2 = 0; +function Dc(a2) { + a2 &= -a2; + return 1 < a2 ? 4 < a2 ? 0 !== (a2 & 268435455) ? 16 : 536870912 : 4 : 1; +} +var Ec, Fc, Gc, Hc, Ic, Jc = false, Kc = [], Lc = null, Mc = null, Nc = null, Oc = /* @__PURE__ */ new Map(), Pc = /* @__PURE__ */ new Map(), Qc = [], Rc = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "); +function Sc(a2, b2) { + switch (a2) { + case "focusin": + case "focusout": + Lc = null; + break; + case "dragenter": + case "dragleave": + Mc = null; + break; + case "mouseover": + case "mouseout": + Nc = null; + break; + case "pointerover": + case "pointerout": + Oc.delete(b2.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + Pc.delete(b2.pointerId); + } +} +function Tc(a2, b2, c2, d2, e3, f2) { + if (null === a2 || a2.nativeEvent !== f2) + return a2 = { blockedOn: b2, domEventName: c2, eventSystemFlags: d2, nativeEvent: f2, targetContainers: [e3] }, null !== b2 && (b2 = Cb(b2), null !== b2 && Fc(b2)), a2; + a2.eventSystemFlags |= d2; + b2 = a2.targetContainers; + null !== e3 && -1 === b2.indexOf(e3) && b2.push(e3); + return a2; +} +function Uc(a2, b2, c2, d2, e3) { + switch (b2) { + case "focusin": + return Lc = Tc(Lc, a2, b2, c2, d2, e3), true; + case "dragenter": + return Mc = Tc(Mc, a2, b2, c2, d2, e3), true; + case "mouseover": + return Nc = Tc(Nc, a2, b2, c2, d2, e3), true; + case "pointerover": + var f2 = e3.pointerId; + Oc.set(f2, Tc(Oc.get(f2) || null, a2, b2, c2, d2, e3)); + return true; + case "gotpointercapture": + return f2 = e3.pointerId, Pc.set(f2, Tc(Pc.get(f2) || null, a2, b2, c2, d2, e3)), true; + } + return false; +} +function Vc(a2) { + var b2 = Wc(a2.target); + if (null !== b2) { + var c2 = Vb(b2); + if (null !== c2) { + if (b2 = c2.tag, 13 === b2) { + if (b2 = Wb(c2), null !== b2) { + a2.blockedOn = b2; + Ic(a2.priority, function() { + Gc(c2); + }); + return; + } + } else if (3 === b2 && c2.stateNode.current.memoizedState.isDehydrated) { + a2.blockedOn = 3 === c2.tag ? c2.stateNode.containerInfo : null; + return; + } + } + } + a2.blockedOn = null; +} +function Xc(a2) { + if (null !== a2.blockedOn) + return false; + for (var b2 = a2.targetContainers; 0 < b2.length; ) { + var c2 = Yc(a2.domEventName, a2.eventSystemFlags, b2[0], a2.nativeEvent); + if (null === c2) { + c2 = a2.nativeEvent; + var d2 = new c2.constructor(c2.type, c2); + wb = d2; + c2.target.dispatchEvent(d2); + wb = null; + } else + return b2 = Cb(c2), null !== b2 && Fc(b2), a2.blockedOn = c2, false; + b2.shift(); + } + return true; +} +function Zc(a2, b2, c2) { + Xc(a2) && c2.delete(b2); +} +function $c() { + Jc = false; + null !== Lc && Xc(Lc) && (Lc = null); + null !== Mc && Xc(Mc) && (Mc = null); + null !== Nc && Xc(Nc) && (Nc = null); + Oc.forEach(Zc); + Pc.forEach(Zc); +} +function ad(a2, b2) { + a2.blockedOn === b2 && (a2.blockedOn = null, Jc || (Jc = true, ca.unstable_scheduleCallback(ca.unstable_NormalPriority, $c))); +} +function bd(a2) { + function b2(b3) { + return ad(b3, a2); + } + if (0 < Kc.length) { + ad(Kc[0], a2); + for (var c2 = 1; c2 < Kc.length; c2++) { + var d2 = Kc[c2]; + d2.blockedOn === a2 && (d2.blockedOn = null); + } + } + null !== Lc && ad(Lc, a2); + null !== Mc && ad(Mc, a2); + null !== Nc && ad(Nc, a2); + Oc.forEach(b2); + Pc.forEach(b2); + for (c2 = 0; c2 < Qc.length; c2++) + d2 = Qc[c2], d2.blockedOn === a2 && (d2.blockedOn = null); + for (; 0 < Qc.length && (c2 = Qc[0], null === c2.blockedOn); ) + Vc(c2), null === c2.blockedOn && Qc.shift(); +} +var cd = ua.ReactCurrentBatchConfig, dd = true; +function ed(a2, b2, c2, d2) { + var e3 = C$2, f2 = cd.transition; + cd.transition = null; + try { + C$2 = 1, fd(a2, b2, c2, d2); + } finally { + C$2 = e3, cd.transition = f2; + } +} +function gd(a2, b2, c2, d2) { + var e3 = C$2, f2 = cd.transition; + cd.transition = null; + try { + C$2 = 4, fd(a2, b2, c2, d2); + } finally { + C$2 = e3, cd.transition = f2; + } +} +function fd(a2, b2, c2, d2) { + if (dd) { + var e3 = Yc(a2, b2, c2, d2); + if (null === e3) + hd(a2, b2, d2, id, c2), Sc(a2, d2); + else if (Uc(e3, a2, b2, c2, d2)) + d2.stopPropagation(); + else if (Sc(a2, d2), b2 & 4 && -1 < Rc.indexOf(a2)) { + for (; null !== e3; ) { + var f2 = Cb(e3); + null !== f2 && Ec(f2); + f2 = Yc(a2, b2, c2, d2); + null === f2 && hd(a2, b2, d2, id, c2); + if (f2 === e3) + break; + e3 = f2; + } + null !== e3 && d2.stopPropagation(); + } else + hd(a2, b2, d2, null, c2); + } +} +var id = null; +function Yc(a2, b2, c2, d2) { + id = null; + a2 = xb(d2); + a2 = Wc(a2); + if (null !== a2) + if (b2 = Vb(a2), null === b2) + a2 = null; + else if (c2 = b2.tag, 13 === c2) { + a2 = Wb(b2); + if (null !== a2) + return a2; + a2 = null; + } else if (3 === c2) { + if (b2.stateNode.current.memoizedState.isDehydrated) + return 3 === b2.tag ? b2.stateNode.containerInfo : null; + a2 = null; + } else + b2 !== a2 && (a2 = null); + id = a2; + return null; +} +function jd(a2) { + switch (a2) { + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "textInput": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeblur": + case "afterblur": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return 1; + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "toggle": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return 4; + case "message": + switch (ec()) { + case fc: + return 1; + case gc: + return 4; + case hc: + case ic: + return 16; + case jc: + return 536870912; + default: + return 16; + } + default: + return 16; + } +} +var kd = null, ld = null, md = null; +function nd() { + if (md) + return md; + var a2, b2 = ld, c2 = b2.length, d2, e3 = "value" in kd ? kd.value : kd.textContent, f2 = e3.length; + for (a2 = 0; a2 < c2 && b2[a2] === e3[a2]; a2++) + ; + var g2 = c2 - a2; + for (d2 = 1; d2 <= g2 && b2[c2 - d2] === e3[f2 - d2]; d2++) + ; + return md = e3.slice(a2, 1 < d2 ? 1 - d2 : void 0); +} +function od(a2) { + var b2 = a2.keyCode; + "charCode" in a2 ? (a2 = a2.charCode, 0 === a2 && 13 === b2 && (a2 = 13)) : a2 = b2; + 10 === a2 && (a2 = 13); + return 32 <= a2 || 13 === a2 ? a2 : 0; +} +function pd() { + return true; +} +function qd() { + return false; +} +function rd(a2) { + function b2(b3, d2, e3, f2, g2) { + this._reactName = b3; + this._targetInst = e3; + this.type = d2; + this.nativeEvent = f2; + this.target = g2; + this.currentTarget = null; + for (var c2 in a2) + a2.hasOwnProperty(c2) && (b3 = a2[c2], this[c2] = b3 ? b3(f2) : f2[c2]); + this.isDefaultPrevented = (null != f2.defaultPrevented ? f2.defaultPrevented : false === f2.returnValue) ? pd : qd; + this.isPropagationStopped = qd; + return this; + } + A$4(b2.prototype, { preventDefault: function() { + this.defaultPrevented = true; + var a3 = this.nativeEvent; + a3 && (a3.preventDefault ? a3.preventDefault() : "unknown" !== typeof a3.returnValue && (a3.returnValue = false), this.isDefaultPrevented = pd); + }, stopPropagation: function() { + var a3 = this.nativeEvent; + a3 && (a3.stopPropagation ? a3.stopPropagation() : "unknown" !== typeof a3.cancelBubble && (a3.cancelBubble = true), this.isPropagationStopped = pd); + }, persist: function() { + }, isPersistent: pd }); + return b2; +} +var sd = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(a2) { + return a2.timeStamp || Date.now(); +}, defaultPrevented: 0, isTrusted: 0 }, td = rd(sd), ud = A$4({}, sd, { view: 0, detail: 0 }), vd = rd(ud), wd, xd, yd, Ad = A$4({}, ud, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: zd, button: 0, buttons: 0, relatedTarget: function(a2) { + return void 0 === a2.relatedTarget ? a2.fromElement === a2.srcElement ? a2.toElement : a2.fromElement : a2.relatedTarget; +}, movementX: function(a2) { + if ("movementX" in a2) + return a2.movementX; + a2 !== yd && (yd && "mousemove" === a2.type ? (wd = a2.screenX - yd.screenX, xd = a2.screenY - yd.screenY) : xd = wd = 0, yd = a2); + return wd; +}, movementY: function(a2) { + return "movementY" in a2 ? a2.movementY : xd; +} }), Bd = rd(Ad), Cd = A$4({}, Ad, { dataTransfer: 0 }), Dd = rd(Cd), Ed = A$4({}, ud, { relatedTarget: 0 }), Fd = rd(Ed), Gd = A$4({}, sd, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Hd = rd(Gd), Id = A$4({}, sd, { clipboardData: function(a2) { + return "clipboardData" in a2 ? a2.clipboardData : window.clipboardData; +} }), Jd = rd(Id), Kd = A$4({}, sd, { data: 0 }), Ld = rd(Kd), Md = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" +}, Nd = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" +}, Od = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; +function Pd(a2) { + var b2 = this.nativeEvent; + return b2.getModifierState ? b2.getModifierState(a2) : (a2 = Od[a2]) ? !!b2[a2] : false; +} +function zd() { + return Pd; +} +var Qd = A$4({}, ud, { key: function(a2) { + if (a2.key) { + var b2 = Md[a2.key] || a2.key; + if ("Unidentified" !== b2) + return b2; + } + return "keypress" === a2.type ? (a2 = od(a2), 13 === a2 ? "Enter" : String.fromCharCode(a2)) : "keydown" === a2.type || "keyup" === a2.type ? Nd[a2.keyCode] || "Unidentified" : ""; +}, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: zd, charCode: function(a2) { + return "keypress" === a2.type ? od(a2) : 0; +}, keyCode: function(a2) { + return "keydown" === a2.type || "keyup" === a2.type ? a2.keyCode : 0; +}, which: function(a2) { + return "keypress" === a2.type ? od(a2) : "keydown" === a2.type || "keyup" === a2.type ? a2.keyCode : 0; +} }), Rd = rd(Qd), Sd = A$4({}, Ad, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Td = rd(Sd), Ud = A$4({}, ud, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: zd }), Vd = rd(Ud), Wd = A$4({}, sd, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Xd = rd(Wd), Yd = A$4({}, Ad, { + deltaX: function(a2) { + return "deltaX" in a2 ? a2.deltaX : "wheelDeltaX" in a2 ? -a2.wheelDeltaX : 0; + }, + deltaY: function(a2) { + return "deltaY" in a2 ? a2.deltaY : "wheelDeltaY" in a2 ? -a2.wheelDeltaY : "wheelDelta" in a2 ? -a2.wheelDelta : 0; + }, + deltaZ: 0, + deltaMode: 0 +}), Zd = rd(Yd), $d = [9, 13, 27, 32], ae$2 = ia && "CompositionEvent" in window, be$1 = null; +ia && "documentMode" in document && (be$1 = document.documentMode); +var ce$2 = ia && "TextEvent" in window && !be$1, de$1 = ia && (!ae$2 || be$1 && 8 < be$1 && 11 >= be$1), ee$2 = String.fromCharCode(32), fe$1 = false; +function ge$1(a2, b2) { + switch (a2) { + case "keyup": + return -1 !== $d.indexOf(b2.keyCode); + case "keydown": + return 229 !== b2.keyCode; + case "keypress": + case "mousedown": + case "focusout": + return true; + default: + return false; + } +} +function he$1(a2) { + a2 = a2.detail; + return "object" === typeof a2 && "data" in a2 ? a2.data : null; +} +var ie$2 = false; +function je(a2, b2) { + switch (a2) { + case "compositionend": + return he$1(b2); + case "keypress": + if (32 !== b2.which) + return null; + fe$1 = true; + return ee$2; + case "textInput": + return a2 = b2.data, a2 === ee$2 && fe$1 ? null : a2; + default: + return null; + } +} +function ke$2(a2, b2) { + if (ie$2) + return "compositionend" === a2 || !ae$2 && ge$1(a2, b2) ? (a2 = nd(), md = ld = kd = null, ie$2 = false, a2) : null; + switch (a2) { + case "paste": + return null; + case "keypress": + if (!(b2.ctrlKey || b2.altKey || b2.metaKey) || b2.ctrlKey && b2.altKey) { + if (b2.char && 1 < b2.char.length) + return b2.char; + if (b2.which) + return String.fromCharCode(b2.which); + } + return null; + case "compositionend": + return de$1 && "ko" !== b2.locale ? null : b2.data; + default: + return null; + } +} +var le$1 = { color: true, date: true, datetime: true, "datetime-local": true, email: true, month: true, number: true, password: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true }; +function me$1(a2) { + var b2 = a2 && a2.nodeName && a2.nodeName.toLowerCase(); + return "input" === b2 ? !!le$1[a2.type] : "textarea" === b2 ? true : false; +} +function ne$1(a2, b2, c2, d2) { + Eb(d2); + b2 = oe$2(b2, "onChange"); + 0 < b2.length && (c2 = new td("onChange", "change", null, c2, d2), a2.push({ event: c2, listeners: b2 })); +} +var pe$1 = null, qe$1 = null; +function re$2(a2) { + se$2(a2, 0); +} +function te$2(a2) { + var b2 = ue$1(a2); + if (Wa(b2)) + return a2; +} +function ve$1(a2, b2) { + if ("change" === a2) + return b2; +} +var we$1 = false; +if (ia) { + var xe$1; + if (ia) { + var ye$1 = "oninput" in document; + if (!ye$1) { + var ze$1 = document.createElement("div"); + ze$1.setAttribute("oninput", "return;"); + ye$1 = "function" === typeof ze$1.oninput; + } + xe$1 = ye$1; + } else + xe$1 = false; + we$1 = xe$1 && (!document.documentMode || 9 < document.documentMode); +} +function Ae$1() { + pe$1 && (pe$1.detachEvent("onpropertychange", Be$1), qe$1 = pe$1 = null); +} +function Be$1(a2) { + if ("value" === a2.propertyName && te$2(qe$1)) { + var b2 = []; + ne$1(b2, qe$1, a2, xb(a2)); + Jb(re$2, b2); + } +} +function Ce$2(a2, b2, c2) { + "focusin" === a2 ? (Ae$1(), pe$1 = b2, qe$1 = c2, pe$1.attachEvent("onpropertychange", Be$1)) : "focusout" === a2 && Ae$1(); +} +function De$1(a2) { + if ("selectionchange" === a2 || "keyup" === a2 || "keydown" === a2) + return te$2(qe$1); +} +function Ee(a2, b2) { + if ("click" === a2) + return te$2(b2); +} +function Fe$1(a2, b2) { + if ("input" === a2 || "change" === a2) + return te$2(b2); +} +function Ge$1(a2, b2) { + return a2 === b2 && (0 !== a2 || 1 / a2 === 1 / b2) || a2 !== a2 && b2 !== b2; +} +var He$1 = "function" === typeof Object.is ? Object.is : Ge$1; +function Ie$1(a2, b2) { + if (He$1(a2, b2)) + return true; + if ("object" !== typeof a2 || null === a2 || "object" !== typeof b2 || null === b2) + return false; + var c2 = Object.keys(a2), d2 = Object.keys(b2); + if (c2.length !== d2.length) + return false; + for (d2 = 0; d2 < c2.length; d2++) { + var e3 = c2[d2]; + if (!ja.call(b2, e3) || !He$1(a2[e3], b2[e3])) + return false; + } + return true; +} +function Je$1(a2) { + for (; a2 && a2.firstChild; ) + a2 = a2.firstChild; + return a2; +} +function Ke(a2, b2) { + var c2 = Je$1(a2); + a2 = 0; + for (var d2; c2; ) { + if (3 === c2.nodeType) { + d2 = a2 + c2.textContent.length; + if (a2 <= b2 && d2 >= b2) + return { node: c2, offset: b2 - a2 }; + a2 = d2; + } + a: { + for (; c2; ) { + if (c2.nextSibling) { + c2 = c2.nextSibling; + break a; + } + c2 = c2.parentNode; + } + c2 = void 0; + } + c2 = Je$1(c2); + } +} +function Le(a2, b2) { + return a2 && b2 ? a2 === b2 ? true : a2 && 3 === a2.nodeType ? false : b2 && 3 === b2.nodeType ? Le(a2, b2.parentNode) : "contains" in a2 ? a2.contains(b2) : a2.compareDocumentPosition ? !!(a2.compareDocumentPosition(b2) & 16) : false : false; +} +function Me$2() { + for (var a2 = window, b2 = Xa(); b2 instanceof a2.HTMLIFrameElement; ) { + try { + var c2 = "string" === typeof b2.contentWindow.location.href; + } catch (d2) { + c2 = false; + } + if (c2) + a2 = b2.contentWindow; + else + break; + b2 = Xa(a2.document); + } + return b2; +} +function Ne(a2) { + var b2 = a2 && a2.nodeName && a2.nodeName.toLowerCase(); + return b2 && ("input" === b2 && ("text" === a2.type || "search" === a2.type || "tel" === a2.type || "url" === a2.type || "password" === a2.type) || "textarea" === b2 || "true" === a2.contentEditable); +} +function Oe(a2) { + var b2 = Me$2(), c2 = a2.focusedElem, d2 = a2.selectionRange; + if (b2 !== c2 && c2 && c2.ownerDocument && Le(c2.ownerDocument.documentElement, c2)) { + if (null !== d2 && Ne(c2)) { + if (b2 = d2.start, a2 = d2.end, void 0 === a2 && (a2 = b2), "selectionStart" in c2) + c2.selectionStart = b2, c2.selectionEnd = Math.min(a2, c2.value.length); + else if (a2 = (b2 = c2.ownerDocument || document) && b2.defaultView || window, a2.getSelection) { + a2 = a2.getSelection(); + var e3 = c2.textContent.length, f2 = Math.min(d2.start, e3); + d2 = void 0 === d2.end ? f2 : Math.min(d2.end, e3); + !a2.extend && f2 > d2 && (e3 = d2, d2 = f2, f2 = e3); + e3 = Ke(c2, f2); + var g2 = Ke( + c2, + d2 + ); + e3 && g2 && (1 !== a2.rangeCount || a2.anchorNode !== e3.node || a2.anchorOffset !== e3.offset || a2.focusNode !== g2.node || a2.focusOffset !== g2.offset) && (b2 = b2.createRange(), b2.setStart(e3.node, e3.offset), a2.removeAllRanges(), f2 > d2 ? (a2.addRange(b2), a2.extend(g2.node, g2.offset)) : (b2.setEnd(g2.node, g2.offset), a2.addRange(b2))); + } + } + b2 = []; + for (a2 = c2; a2 = a2.parentNode; ) + 1 === a2.nodeType && b2.push({ element: a2, left: a2.scrollLeft, top: a2.scrollTop }); + "function" === typeof c2.focus && c2.focus(); + for (c2 = 0; c2 < b2.length; c2++) + a2 = b2[c2], a2.element.scrollLeft = a2.left, a2.element.scrollTop = a2.top; + } +} +var Pe$1 = ia && "documentMode" in document && 11 >= document.documentMode, Qe$1 = null, Re$1 = null, Se$1 = null, Te$1 = false; +function Ue$1(a2, b2, c2) { + var d2 = c2.window === c2 ? c2.document : 9 === c2.nodeType ? c2 : c2.ownerDocument; + Te$1 || null == Qe$1 || Qe$1 !== Xa(d2) || (d2 = Qe$1, "selectionStart" in d2 && Ne(d2) ? d2 = { start: d2.selectionStart, end: d2.selectionEnd } : (d2 = (d2.ownerDocument && d2.ownerDocument.defaultView || window).getSelection(), d2 = { anchorNode: d2.anchorNode, anchorOffset: d2.anchorOffset, focusNode: d2.focusNode, focusOffset: d2.focusOffset }), Se$1 && Ie$1(Se$1, d2) || (Se$1 = d2, d2 = oe$2(Re$1, "onSelect"), 0 < d2.length && (b2 = new td("onSelect", "select", null, b2, c2), a2.push({ event: b2, listeners: d2 }), b2.target = Qe$1))); +} +function Ve$1(a2, b2) { + var c2 = {}; + c2[a2.toLowerCase()] = b2.toLowerCase(); + c2["Webkit" + a2] = "webkit" + b2; + c2["Moz" + a2] = "moz" + b2; + return c2; +} +var We$1 = { animationend: Ve$1("Animation", "AnimationEnd"), animationiteration: Ve$1("Animation", "AnimationIteration"), animationstart: Ve$1("Animation", "AnimationStart"), transitionend: Ve$1("Transition", "TransitionEnd") }, Xe$1 = {}, Ye$1 = {}; +ia && (Ye$1 = document.createElement("div").style, "AnimationEvent" in window || (delete We$1.animationend.animation, delete We$1.animationiteration.animation, delete We$1.animationstart.animation), "TransitionEvent" in window || delete We$1.transitionend.transition); +function Ze$1(a2) { + if (Xe$1[a2]) + return Xe$1[a2]; + if (!We$1[a2]) + return a2; + var b2 = We$1[a2], c2; + for (c2 in b2) + if (b2.hasOwnProperty(c2) && c2 in Ye$1) + return Xe$1[a2] = b2[c2]; + return a2; +} +var $e$1 = Ze$1("animationend"), af = Ze$1("animationiteration"), bf = Ze$1("animationstart"), cf = Ze$1("transitionend"), df = /* @__PURE__ */ new Map(), ef = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "); +function ff(a2, b2) { + df.set(a2, b2); + fa(b2, [a2]); +} +for (var gf = 0; gf < ef.length; gf++) { + var hf = ef[gf], jf = hf.toLowerCase(), kf = hf[0].toUpperCase() + hf.slice(1); + ff(jf, "on" + kf); +} +ff($e$1, "onAnimationEnd"); +ff(af, "onAnimationIteration"); +ff(bf, "onAnimationStart"); +ff("dblclick", "onDoubleClick"); +ff("focusin", "onFocus"); +ff("focusout", "onBlur"); +ff(cf, "onTransitionEnd"); +ha("onMouseEnter", ["mouseout", "mouseover"]); +ha("onMouseLeave", ["mouseout", "mouseover"]); +ha("onPointerEnter", ["pointerout", "pointerover"]); +ha("onPointerLeave", ["pointerout", "pointerover"]); +fa("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")); +fa("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")); +fa("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]); +fa("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")); +fa("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")); +fa("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")); +var lf = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), mf = new Set("cancel close invalid load scroll toggle".split(" ").concat(lf)); +function nf(a2, b2, c2) { + var d2 = a2.type || "unknown-event"; + a2.currentTarget = c2; + Ub(d2, b2, void 0, a2); + a2.currentTarget = null; +} +function se$2(a2, b2) { + b2 = 0 !== (b2 & 4); + for (var c2 = 0; c2 < a2.length; c2++) { + var d2 = a2[c2], e3 = d2.event; + d2 = d2.listeners; + a: { + var f2 = void 0; + if (b2) + for (var g2 = d2.length - 1; 0 <= g2; g2--) { + var h2 = d2[g2], k2 = h2.instance, l2 = h2.currentTarget; + h2 = h2.listener; + if (k2 !== f2 && e3.isPropagationStopped()) + break a; + nf(e3, h2, l2); + f2 = k2; + } + else + for (g2 = 0; g2 < d2.length; g2++) { + h2 = d2[g2]; + k2 = h2.instance; + l2 = h2.currentTarget; + h2 = h2.listener; + if (k2 !== f2 && e3.isPropagationStopped()) + break a; + nf(e3, h2, l2); + f2 = k2; + } + } + } + if (Qb) + throw a2 = Rb, Qb = false, Rb = null, a2; +} +function D$2(a2, b2) { + var c2 = b2[of]; + void 0 === c2 && (c2 = b2[of] = /* @__PURE__ */ new Set()); + var d2 = a2 + "__bubble"; + c2.has(d2) || (pf(b2, a2, 2, false), c2.add(d2)); +} +function qf(a2, b2, c2) { + var d2 = 0; + b2 && (d2 |= 4); + pf(c2, a2, d2, b2); +} +var rf = "_reactListening" + Math.random().toString(36).slice(2); +function sf(a2) { + if (!a2[rf]) { + a2[rf] = true; + da.forEach(function(b3) { + "selectionchange" !== b3 && (mf.has(b3) || qf(b3, false, a2), qf(b3, true, a2)); + }); + var b2 = 9 === a2.nodeType ? a2 : a2.ownerDocument; + null === b2 || b2[rf] || (b2[rf] = true, qf("selectionchange", false, b2)); + } +} +function pf(a2, b2, c2, d2) { + switch (jd(b2)) { + case 1: + var e3 = ed; + break; + case 4: + e3 = gd; + break; + default: + e3 = fd; + } + c2 = e3.bind(null, b2, c2, a2); + e3 = void 0; + !Lb || "touchstart" !== b2 && "touchmove" !== b2 && "wheel" !== b2 || (e3 = true); + d2 ? void 0 !== e3 ? a2.addEventListener(b2, c2, { capture: true, passive: e3 }) : a2.addEventListener(b2, c2, true) : void 0 !== e3 ? a2.addEventListener(b2, c2, { passive: e3 }) : a2.addEventListener(b2, c2, false); +} +function hd(a2, b2, c2, d2, e3) { + var f2 = d2; + if (0 === (b2 & 1) && 0 === (b2 & 2) && null !== d2) + a: + for (; ; ) { + if (null === d2) + return; + var g2 = d2.tag; + if (3 === g2 || 4 === g2) { + var h2 = d2.stateNode.containerInfo; + if (h2 === e3 || 8 === h2.nodeType && h2.parentNode === e3) + break; + if (4 === g2) + for (g2 = d2.return; null !== g2; ) { + var k2 = g2.tag; + if (3 === k2 || 4 === k2) { + if (k2 = g2.stateNode.containerInfo, k2 === e3 || 8 === k2.nodeType && k2.parentNode === e3) + return; + } + g2 = g2.return; + } + for (; null !== h2; ) { + g2 = Wc(h2); + if (null === g2) + return; + k2 = g2.tag; + if (5 === k2 || 6 === k2) { + d2 = f2 = g2; + continue a; + } + h2 = h2.parentNode; + } + } + d2 = d2.return; + } + Jb(function() { + var d3 = f2, e4 = xb(c2), g3 = []; + a: { + var h3 = df.get(a2); + if (void 0 !== h3) { + var k3 = td, n2 = a2; + switch (a2) { + case "keypress": + if (0 === od(c2)) + break a; + case "keydown": + case "keyup": + k3 = Rd; + break; + case "focusin": + n2 = "focus"; + k3 = Fd; + break; + case "focusout": + n2 = "blur"; + k3 = Fd; + break; + case "beforeblur": + case "afterblur": + k3 = Fd; + break; + case "click": + if (2 === c2.button) + break a; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + k3 = Bd; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + k3 = Dd; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + k3 = Vd; + break; + case $e$1: + case af: + case bf: + k3 = Hd; + break; + case cf: + k3 = Xd; + break; + case "scroll": + k3 = vd; + break; + case "wheel": + k3 = Zd; + break; + case "copy": + case "cut": + case "paste": + k3 = Jd; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + k3 = Td; + } + var t2 = 0 !== (b2 & 4), J2 = !t2 && "scroll" === a2, x2 = t2 ? null !== h3 ? h3 + "Capture" : null : h3; + t2 = []; + for (var w2 = d3, u2; null !== w2; ) { + u2 = w2; + var F3 = u2.stateNode; + 5 === u2.tag && null !== F3 && (u2 = F3, null !== x2 && (F3 = Kb(w2, x2), null != F3 && t2.push(tf(w2, F3, u2)))); + if (J2) + break; + w2 = w2.return; + } + 0 < t2.length && (h3 = new k3(h3, n2, null, c2, e4), g3.push({ event: h3, listeners: t2 })); + } + } + if (0 === (b2 & 7)) { + a: { + h3 = "mouseover" === a2 || "pointerover" === a2; + k3 = "mouseout" === a2 || "pointerout" === a2; + if (h3 && c2 !== wb && (n2 = c2.relatedTarget || c2.fromElement) && (Wc(n2) || n2[uf])) + break a; + if (k3 || h3) { + h3 = e4.window === e4 ? e4 : (h3 = e4.ownerDocument) ? h3.defaultView || h3.parentWindow : window; + if (k3) { + if (n2 = c2.relatedTarget || c2.toElement, k3 = d3, n2 = n2 ? Wc(n2) : null, null !== n2 && (J2 = Vb(n2), n2 !== J2 || 5 !== n2.tag && 6 !== n2.tag)) + n2 = null; + } else + k3 = null, n2 = d3; + if (k3 !== n2) { + t2 = Bd; + F3 = "onMouseLeave"; + x2 = "onMouseEnter"; + w2 = "mouse"; + if ("pointerout" === a2 || "pointerover" === a2) + t2 = Td, F3 = "onPointerLeave", x2 = "onPointerEnter", w2 = "pointer"; + J2 = null == k3 ? h3 : ue$1(k3); + u2 = null == n2 ? h3 : ue$1(n2); + h3 = new t2(F3, w2 + "leave", k3, c2, e4); + h3.target = J2; + h3.relatedTarget = u2; + F3 = null; + Wc(e4) === d3 && (t2 = new t2(x2, w2 + "enter", n2, c2, e4), t2.target = u2, t2.relatedTarget = J2, F3 = t2); + J2 = F3; + if (k3 && n2) + b: { + t2 = k3; + x2 = n2; + w2 = 0; + for (u2 = t2; u2; u2 = vf(u2)) + w2++; + u2 = 0; + for (F3 = x2; F3; F3 = vf(F3)) + u2++; + for (; 0 < w2 - u2; ) + t2 = vf(t2), w2--; + for (; 0 < u2 - w2; ) + x2 = vf(x2), u2--; + for (; w2--; ) { + if (t2 === x2 || null !== x2 && t2 === x2.alternate) + break b; + t2 = vf(t2); + x2 = vf(x2); + } + t2 = null; + } + else + t2 = null; + null !== k3 && wf(g3, h3, k3, t2, false); + null !== n2 && null !== J2 && wf(g3, J2, n2, t2, true); + } + } + } + a: { + h3 = d3 ? ue$1(d3) : window; + k3 = h3.nodeName && h3.nodeName.toLowerCase(); + if ("select" === k3 || "input" === k3 && "file" === h3.type) + var na = ve$1; + else if (me$1(h3)) + if (we$1) + na = Fe$1; + else { + na = De$1; + var xa = Ce$2; + } + else + (k3 = h3.nodeName) && "input" === k3.toLowerCase() && ("checkbox" === h3.type || "radio" === h3.type) && (na = Ee); + if (na && (na = na(a2, d3))) { + ne$1(g3, na, c2, e4); + break a; + } + xa && xa(a2, h3, d3); + "focusout" === a2 && (xa = h3._wrapperState) && xa.controlled && "number" === h3.type && cb(h3, "number", h3.value); + } + xa = d3 ? ue$1(d3) : window; + switch (a2) { + case "focusin": + if (me$1(xa) || "true" === xa.contentEditable) + Qe$1 = xa, Re$1 = d3, Se$1 = null; + break; + case "focusout": + Se$1 = Re$1 = Qe$1 = null; + break; + case "mousedown": + Te$1 = true; + break; + case "contextmenu": + case "mouseup": + case "dragend": + Te$1 = false; + Ue$1(g3, c2, e4); + break; + case "selectionchange": + if (Pe$1) + break; + case "keydown": + case "keyup": + Ue$1(g3, c2, e4); + } + var $a; + if (ae$2) + b: { + switch (a2) { + case "compositionstart": + var ba = "onCompositionStart"; + break b; + case "compositionend": + ba = "onCompositionEnd"; + break b; + case "compositionupdate": + ba = "onCompositionUpdate"; + break b; + } + ba = void 0; + } + else + ie$2 ? ge$1(a2, c2) && (ba = "onCompositionEnd") : "keydown" === a2 && 229 === c2.keyCode && (ba = "onCompositionStart"); + ba && (de$1 && "ko" !== c2.locale && (ie$2 || "onCompositionStart" !== ba ? "onCompositionEnd" === ba && ie$2 && ($a = nd()) : (kd = e4, ld = "value" in kd ? kd.value : kd.textContent, ie$2 = true)), xa = oe$2(d3, ba), 0 < xa.length && (ba = new Ld(ba, a2, null, c2, e4), g3.push({ event: ba, listeners: xa }), $a ? ba.data = $a : ($a = he$1(c2), null !== $a && (ba.data = $a)))); + if ($a = ce$2 ? je(a2, c2) : ke$2(a2, c2)) + d3 = oe$2(d3, "onBeforeInput"), 0 < d3.length && (e4 = new Ld("onBeforeInput", "beforeinput", null, c2, e4), g3.push({ event: e4, listeners: d3 }), e4.data = $a); + } + se$2(g3, b2); + }); +} +function tf(a2, b2, c2) { + return { instance: a2, listener: b2, currentTarget: c2 }; +} +function oe$2(a2, b2) { + for (var c2 = b2 + "Capture", d2 = []; null !== a2; ) { + var e3 = a2, f2 = e3.stateNode; + 5 === e3.tag && null !== f2 && (e3 = f2, f2 = Kb(a2, c2), null != f2 && d2.unshift(tf(a2, f2, e3)), f2 = Kb(a2, b2), null != f2 && d2.push(tf(a2, f2, e3))); + a2 = a2.return; + } + return d2; +} +function vf(a2) { + if (null === a2) + return null; + do + a2 = a2.return; + while (a2 && 5 !== a2.tag); + return a2 ? a2 : null; +} +function wf(a2, b2, c2, d2, e3) { + for (var f2 = b2._reactName, g2 = []; null !== c2 && c2 !== d2; ) { + var h2 = c2, k2 = h2.alternate, l2 = h2.stateNode; + if (null !== k2 && k2 === d2) + break; + 5 === h2.tag && null !== l2 && (h2 = l2, e3 ? (k2 = Kb(c2, f2), null != k2 && g2.unshift(tf(c2, k2, h2))) : e3 || (k2 = Kb(c2, f2), null != k2 && g2.push(tf(c2, k2, h2)))); + c2 = c2.return; + } + 0 !== g2.length && a2.push({ event: b2, listeners: g2 }); +} +var xf = /\r\n?/g, yf = /\u0000|\uFFFD/g; +function zf(a2) { + return ("string" === typeof a2 ? a2 : "" + a2).replace(xf, "\n").replace(yf, ""); +} +function Af(a2, b2, c2) { + b2 = zf(b2); + if (zf(a2) !== b2 && c2) + throw Error(p$3(425)); +} +function Bf() { +} +var Cf = null, Df = null; +function Ef(a2, b2) { + return "textarea" === a2 || "noscript" === a2 || "string" === typeof b2.children || "number" === typeof b2.children || "object" === typeof b2.dangerouslySetInnerHTML && null !== b2.dangerouslySetInnerHTML && null != b2.dangerouslySetInnerHTML.__html; +} +var Ff = "function" === typeof setTimeout ? setTimeout : void 0, Gf = "function" === typeof clearTimeout ? clearTimeout : void 0, Hf = "function" === typeof Promise ? Promise : void 0, Jf = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof Hf ? function(a2) { + return Hf.resolve(null).then(a2).catch(If); +} : Ff; +function If(a2) { + setTimeout(function() { + throw a2; + }); +} +function Kf(a2, b2) { + var c2 = b2, d2 = 0; + do { + var e3 = c2.nextSibling; + a2.removeChild(c2); + if (e3 && 8 === e3.nodeType) + if (c2 = e3.data, "/$" === c2) { + if (0 === d2) { + a2.removeChild(e3); + bd(b2); + return; + } + d2--; + } else + "$" !== c2 && "$?" !== c2 && "$!" !== c2 || d2++; + c2 = e3; + } while (c2); + bd(b2); +} +function Lf(a2) { + for (; null != a2; a2 = a2.nextSibling) { + var b2 = a2.nodeType; + if (1 === b2 || 3 === b2) + break; + if (8 === b2) { + b2 = a2.data; + if ("$" === b2 || "$!" === b2 || "$?" === b2) + break; + if ("/$" === b2) + return null; + } + } + return a2; +} +function Mf(a2) { + a2 = a2.previousSibling; + for (var b2 = 0; a2; ) { + if (8 === a2.nodeType) { + var c2 = a2.data; + if ("$" === c2 || "$!" === c2 || "$?" === c2) { + if (0 === b2) + return a2; + b2--; + } else + "/$" === c2 && b2++; + } + a2 = a2.previousSibling; + } + return null; +} +var Nf = Math.random().toString(36).slice(2), Of = "__reactFiber$" + Nf, Pf = "__reactProps$" + Nf, uf = "__reactContainer$" + Nf, of = "__reactEvents$" + Nf, Qf = "__reactListeners$" + Nf, Rf = "__reactHandles$" + Nf; +function Wc(a2) { + var b2 = a2[Of]; + if (b2) + return b2; + for (var c2 = a2.parentNode; c2; ) { + if (b2 = c2[uf] || c2[Of]) { + c2 = b2.alternate; + if (null !== b2.child || null !== c2 && null !== c2.child) + for (a2 = Mf(a2); null !== a2; ) { + if (c2 = a2[Of]) + return c2; + a2 = Mf(a2); + } + return b2; + } + a2 = c2; + c2 = a2.parentNode; + } + return null; +} +function Cb(a2) { + a2 = a2[Of] || a2[uf]; + return !a2 || 5 !== a2.tag && 6 !== a2.tag && 13 !== a2.tag && 3 !== a2.tag ? null : a2; +} +function ue$1(a2) { + if (5 === a2.tag || 6 === a2.tag) + return a2.stateNode; + throw Error(p$3(33)); +} +function Db(a2) { + return a2[Pf] || null; +} +var Sf = [], Tf = -1; +function Uf(a2) { + return { current: a2 }; +} +function E$1(a2) { + 0 > Tf || (a2.current = Sf[Tf], Sf[Tf] = null, Tf--); +} +function G$2(a2, b2) { + Tf++; + Sf[Tf] = a2.current; + a2.current = b2; +} +var Vf = {}, H$2 = Uf(Vf), Wf = Uf(false), Xf = Vf; +function Yf(a2, b2) { + var c2 = a2.type.contextTypes; + if (!c2) + return Vf; + var d2 = a2.stateNode; + if (d2 && d2.__reactInternalMemoizedUnmaskedChildContext === b2) + return d2.__reactInternalMemoizedMaskedChildContext; + var e3 = {}, f2; + for (f2 in c2) + e3[f2] = b2[f2]; + d2 && (a2 = a2.stateNode, a2.__reactInternalMemoizedUnmaskedChildContext = b2, a2.__reactInternalMemoizedMaskedChildContext = e3); + return e3; +} +function Zf(a2) { + a2 = a2.childContextTypes; + return null !== a2 && void 0 !== a2; +} +function $f() { + E$1(Wf); + E$1(H$2); +} +function ag(a2, b2, c2) { + if (H$2.current !== Vf) + throw Error(p$3(168)); + G$2(H$2, b2); + G$2(Wf, c2); +} +function bg(a2, b2, c2) { + var d2 = a2.stateNode; + b2 = b2.childContextTypes; + if ("function" !== typeof d2.getChildContext) + return c2; + d2 = d2.getChildContext(); + for (var e3 in d2) + if (!(e3 in b2)) + throw Error(p$3(108, Ra(a2) || "Unknown", e3)); + return A$4({}, c2, d2); +} +function cg(a2) { + a2 = (a2 = a2.stateNode) && a2.__reactInternalMemoizedMergedChildContext || Vf; + Xf = H$2.current; + G$2(H$2, a2); + G$2(Wf, Wf.current); + return true; +} +function dg(a2, b2, c2) { + var d2 = a2.stateNode; + if (!d2) + throw Error(p$3(169)); + c2 ? (a2 = bg(a2, b2, Xf), d2.__reactInternalMemoizedMergedChildContext = a2, E$1(Wf), E$1(H$2), G$2(H$2, a2)) : E$1(Wf); + G$2(Wf, c2); +} +var eg = null, fg = false, gg = false; +function hg(a2) { + null === eg ? eg = [a2] : eg.push(a2); +} +function ig(a2) { + fg = true; + hg(a2); +} +function jg() { + if (!gg && null !== eg) { + gg = true; + var a2 = 0, b2 = C$2; + try { + var c2 = eg; + for (C$2 = 1; a2 < c2.length; a2++) { + var d2 = c2[a2]; + do + d2 = d2(true); + while (null !== d2); + } + eg = null; + fg = false; + } catch (e3) { + throw null !== eg && (eg = eg.slice(a2 + 1)), ac(fc, jg), e3; + } finally { + C$2 = b2, gg = false; + } + } + return null; +} +var kg = [], lg = 0, mg = null, ng = 0, og = [], pg = 0, qg = null, rg = 1, sg = ""; +function tg(a2, b2) { + kg[lg++] = ng; + kg[lg++] = mg; + mg = a2; + ng = b2; +} +function ug(a2, b2, c2) { + og[pg++] = rg; + og[pg++] = sg; + og[pg++] = qg; + qg = a2; + var d2 = rg; + a2 = sg; + var e3 = 32 - oc(d2) - 1; + d2 &= ~(1 << e3); + c2 += 1; + var f2 = 32 - oc(b2) + e3; + if (30 < f2) { + var g2 = e3 - e3 % 5; + f2 = (d2 & (1 << g2) - 1).toString(32); + d2 >>= g2; + e3 -= g2; + rg = 1 << 32 - oc(b2) + e3 | c2 << e3 | d2; + sg = f2 + a2; + } else + rg = 1 << f2 | c2 << e3 | d2, sg = a2; +} +function vg(a2) { + null !== a2.return && (tg(a2, 1), ug(a2, 1, 0)); +} +function wg(a2) { + for (; a2 === mg; ) + mg = kg[--lg], kg[lg] = null, ng = kg[--lg], kg[lg] = null; + for (; a2 === qg; ) + qg = og[--pg], og[pg] = null, sg = og[--pg], og[pg] = null, rg = og[--pg], og[pg] = null; +} +var xg = null, yg = null, I$1 = false, zg = null; +function Ag(a2, b2) { + var c2 = Bg(5, null, null, 0); + c2.elementType = "DELETED"; + c2.stateNode = b2; + c2.return = a2; + b2 = a2.deletions; + null === b2 ? (a2.deletions = [c2], a2.flags |= 16) : b2.push(c2); +} +function Cg(a2, b2) { + switch (a2.tag) { + case 5: + var c2 = a2.type; + b2 = 1 !== b2.nodeType || c2.toLowerCase() !== b2.nodeName.toLowerCase() ? null : b2; + return null !== b2 ? (a2.stateNode = b2, xg = a2, yg = Lf(b2.firstChild), true) : false; + case 6: + return b2 = "" === a2.pendingProps || 3 !== b2.nodeType ? null : b2, null !== b2 ? (a2.stateNode = b2, xg = a2, yg = null, true) : false; + case 13: + return b2 = 8 !== b2.nodeType ? null : b2, null !== b2 ? (c2 = null !== qg ? { id: rg, overflow: sg } : null, a2.memoizedState = { dehydrated: b2, treeContext: c2, retryLane: 1073741824 }, c2 = Bg(18, null, null, 0), c2.stateNode = b2, c2.return = a2, a2.child = c2, xg = a2, yg = null, true) : false; + default: + return false; + } +} +function Dg(a2) { + return 0 !== (a2.mode & 1) && 0 === (a2.flags & 128); +} +function Eg(a2) { + if (I$1) { + var b2 = yg; + if (b2) { + var c2 = b2; + if (!Cg(a2, b2)) { + if (Dg(a2)) + throw Error(p$3(418)); + b2 = Lf(c2.nextSibling); + var d2 = xg; + b2 && Cg(a2, b2) ? Ag(d2, c2) : (a2.flags = a2.flags & -4097 | 2, I$1 = false, xg = a2); + } + } else { + if (Dg(a2)) + throw Error(p$3(418)); + a2.flags = a2.flags & -4097 | 2; + I$1 = false; + xg = a2; + } + } +} +function Fg(a2) { + for (a2 = a2.return; null !== a2 && 5 !== a2.tag && 3 !== a2.tag && 13 !== a2.tag; ) + a2 = a2.return; + xg = a2; +} +function Gg(a2) { + if (a2 !== xg) + return false; + if (!I$1) + return Fg(a2), I$1 = true, false; + var b2; + (b2 = 3 !== a2.tag) && !(b2 = 5 !== a2.tag) && (b2 = a2.type, b2 = "head" !== b2 && "body" !== b2 && !Ef(a2.type, a2.memoizedProps)); + if (b2 && (b2 = yg)) { + if (Dg(a2)) + throw Hg(), Error(p$3(418)); + for (; b2; ) + Ag(a2, b2), b2 = Lf(b2.nextSibling); + } + Fg(a2); + if (13 === a2.tag) { + a2 = a2.memoizedState; + a2 = null !== a2 ? a2.dehydrated : null; + if (!a2) + throw Error(p$3(317)); + a: { + a2 = a2.nextSibling; + for (b2 = 0; a2; ) { + if (8 === a2.nodeType) { + var c2 = a2.data; + if ("/$" === c2) { + if (0 === b2) { + yg = Lf(a2.nextSibling); + break a; + } + b2--; + } else + "$" !== c2 && "$!" !== c2 && "$?" !== c2 || b2++; + } + a2 = a2.nextSibling; + } + yg = null; + } + } else + yg = xg ? Lf(a2.stateNode.nextSibling) : null; + return true; +} +function Hg() { + for (var a2 = yg; a2; ) + a2 = Lf(a2.nextSibling); +} +function Ig() { + yg = xg = null; + I$1 = false; +} +function Jg(a2) { + null === zg ? zg = [a2] : zg.push(a2); +} +var Kg = ua.ReactCurrentBatchConfig; +function Lg(a2, b2) { + if (a2 && a2.defaultProps) { + b2 = A$4({}, b2); + a2 = a2.defaultProps; + for (var c2 in a2) + void 0 === b2[c2] && (b2[c2] = a2[c2]); + return b2; + } + return b2; +} +var Mg = Uf(null), Ng = null, Og = null, Pg = null; +function Qg() { + Pg = Og = Ng = null; +} +function Rg(a2) { + var b2 = Mg.current; + E$1(Mg); + a2._currentValue = b2; +} +function Sg(a2, b2, c2) { + for (; null !== a2; ) { + var d2 = a2.alternate; + (a2.childLanes & b2) !== b2 ? (a2.childLanes |= b2, null !== d2 && (d2.childLanes |= b2)) : null !== d2 && (d2.childLanes & b2) !== b2 && (d2.childLanes |= b2); + if (a2 === c2) + break; + a2 = a2.return; + } +} +function Tg(a2, b2) { + Ng = a2; + Pg = Og = null; + a2 = a2.dependencies; + null !== a2 && null !== a2.firstContext && (0 !== (a2.lanes & b2) && (Ug = true), a2.firstContext = null); +} +function Vg(a2) { + var b2 = a2._currentValue; + if (Pg !== a2) + if (a2 = { context: a2, memoizedValue: b2, next: null }, null === Og) { + if (null === Ng) + throw Error(p$3(308)); + Og = a2; + Ng.dependencies = { lanes: 0, firstContext: a2 }; + } else + Og = Og.next = a2; + return b2; +} +var Wg = null; +function Xg(a2) { + null === Wg ? Wg = [a2] : Wg.push(a2); +} +function Yg(a2, b2, c2, d2) { + var e3 = b2.interleaved; + null === e3 ? (c2.next = c2, Xg(b2)) : (c2.next = e3.next, e3.next = c2); + b2.interleaved = c2; + return Zg(a2, d2); +} +function Zg(a2, b2) { + a2.lanes |= b2; + var c2 = a2.alternate; + null !== c2 && (c2.lanes |= b2); + c2 = a2; + for (a2 = a2.return; null !== a2; ) + a2.childLanes |= b2, c2 = a2.alternate, null !== c2 && (c2.childLanes |= b2), c2 = a2, a2 = a2.return; + return 3 === c2.tag ? c2.stateNode : null; +} +var $g = false; +function ah(a2) { + a2.updateQueue = { baseState: a2.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null }; +} +function bh(a2, b2) { + a2 = a2.updateQueue; + b2.updateQueue === a2 && (b2.updateQueue = { baseState: a2.baseState, firstBaseUpdate: a2.firstBaseUpdate, lastBaseUpdate: a2.lastBaseUpdate, shared: a2.shared, effects: a2.effects }); +} +function ch(a2, b2) { + return { eventTime: a2, lane: b2, tag: 0, payload: null, callback: null, next: null }; +} +function dh(a2, b2, c2) { + var d2 = a2.updateQueue; + if (null === d2) + return null; + d2 = d2.shared; + if (0 !== (K$1 & 2)) { + var e3 = d2.pending; + null === e3 ? b2.next = b2 : (b2.next = e3.next, e3.next = b2); + d2.pending = b2; + return Zg(a2, c2); + } + e3 = d2.interleaved; + null === e3 ? (b2.next = b2, Xg(d2)) : (b2.next = e3.next, e3.next = b2); + d2.interleaved = b2; + return Zg(a2, c2); +} +function eh(a2, b2, c2) { + b2 = b2.updateQueue; + if (null !== b2 && (b2 = b2.shared, 0 !== (c2 & 4194240))) { + var d2 = b2.lanes; + d2 &= a2.pendingLanes; + c2 |= d2; + b2.lanes = c2; + Cc(a2, c2); + } +} +function fh(a2, b2) { + var c2 = a2.updateQueue, d2 = a2.alternate; + if (null !== d2 && (d2 = d2.updateQueue, c2 === d2)) { + var e3 = null, f2 = null; + c2 = c2.firstBaseUpdate; + if (null !== c2) { + do { + var g2 = { eventTime: c2.eventTime, lane: c2.lane, tag: c2.tag, payload: c2.payload, callback: c2.callback, next: null }; + null === f2 ? e3 = f2 = g2 : f2 = f2.next = g2; + c2 = c2.next; + } while (null !== c2); + null === f2 ? e3 = f2 = b2 : f2 = f2.next = b2; + } else + e3 = f2 = b2; + c2 = { baseState: d2.baseState, firstBaseUpdate: e3, lastBaseUpdate: f2, shared: d2.shared, effects: d2.effects }; + a2.updateQueue = c2; + return; + } + a2 = c2.lastBaseUpdate; + null === a2 ? c2.firstBaseUpdate = b2 : a2.next = b2; + c2.lastBaseUpdate = b2; +} +function gh(a2, b2, c2, d2) { + var e3 = a2.updateQueue; + $g = false; + var f2 = e3.firstBaseUpdate, g2 = e3.lastBaseUpdate, h2 = e3.shared.pending; + if (null !== h2) { + e3.shared.pending = null; + var k2 = h2, l2 = k2.next; + k2.next = null; + null === g2 ? f2 = l2 : g2.next = l2; + g2 = k2; + var m2 = a2.alternate; + null !== m2 && (m2 = m2.updateQueue, h2 = m2.lastBaseUpdate, h2 !== g2 && (null === h2 ? m2.firstBaseUpdate = l2 : h2.next = l2, m2.lastBaseUpdate = k2)); + } + if (null !== f2) { + var q2 = e3.baseState; + g2 = 0; + m2 = l2 = k2 = null; + h2 = f2; + do { + var r2 = h2.lane, y2 = h2.eventTime; + if ((d2 & r2) === r2) { + null !== m2 && (m2 = m2.next = { + eventTime: y2, + lane: 0, + tag: h2.tag, + payload: h2.payload, + callback: h2.callback, + next: null + }); + a: { + var n2 = a2, t2 = h2; + r2 = b2; + y2 = c2; + switch (t2.tag) { + case 1: + n2 = t2.payload; + if ("function" === typeof n2) { + q2 = n2.call(y2, q2, r2); + break a; + } + q2 = n2; + break a; + case 3: + n2.flags = n2.flags & -65537 | 128; + case 0: + n2 = t2.payload; + r2 = "function" === typeof n2 ? n2.call(y2, q2, r2) : n2; + if (null === r2 || void 0 === r2) + break a; + q2 = A$4({}, q2, r2); + break a; + case 2: + $g = true; + } + } + null !== h2.callback && 0 !== h2.lane && (a2.flags |= 64, r2 = e3.effects, null === r2 ? e3.effects = [h2] : r2.push(h2)); + } else + y2 = { eventTime: y2, lane: r2, tag: h2.tag, payload: h2.payload, callback: h2.callback, next: null }, null === m2 ? (l2 = m2 = y2, k2 = q2) : m2 = m2.next = y2, g2 |= r2; + h2 = h2.next; + if (null === h2) + if (h2 = e3.shared.pending, null === h2) + break; + else + r2 = h2, h2 = r2.next, r2.next = null, e3.lastBaseUpdate = r2, e3.shared.pending = null; + } while (1); + null === m2 && (k2 = q2); + e3.baseState = k2; + e3.firstBaseUpdate = l2; + e3.lastBaseUpdate = m2; + b2 = e3.shared.interleaved; + if (null !== b2) { + e3 = b2; + do + g2 |= e3.lane, e3 = e3.next; + while (e3 !== b2); + } else + null === f2 && (e3.shared.lanes = 0); + hh |= g2; + a2.lanes = g2; + a2.memoizedState = q2; + } +} +function ih(a2, b2, c2) { + a2 = b2.effects; + b2.effects = null; + if (null !== a2) + for (b2 = 0; b2 < a2.length; b2++) { + var d2 = a2[b2], e3 = d2.callback; + if (null !== e3) { + d2.callback = null; + d2 = c2; + if ("function" !== typeof e3) + throw Error(p$3(191, e3)); + e3.call(d2); + } + } +} +var jh = new aa.Component().refs; +function kh(a2, b2, c2, d2) { + b2 = a2.memoizedState; + c2 = c2(d2, b2); + c2 = null === c2 || void 0 === c2 ? b2 : A$4({}, b2, c2); + a2.memoizedState = c2; + 0 === a2.lanes && (a2.updateQueue.baseState = c2); +} +var nh = { isMounted: function(a2) { + return (a2 = a2._reactInternals) ? Vb(a2) === a2 : false; +}, enqueueSetState: function(a2, b2, c2) { + a2 = a2._reactInternals; + var d2 = L$2(), e3 = lh(a2), f2 = ch(d2, e3); + f2.payload = b2; + void 0 !== c2 && null !== c2 && (f2.callback = c2); + b2 = dh(a2, f2, e3); + null !== b2 && (mh(b2, a2, e3, d2), eh(b2, a2, e3)); +}, enqueueReplaceState: function(a2, b2, c2) { + a2 = a2._reactInternals; + var d2 = L$2(), e3 = lh(a2), f2 = ch(d2, e3); + f2.tag = 1; + f2.payload = b2; + void 0 !== c2 && null !== c2 && (f2.callback = c2); + b2 = dh(a2, f2, e3); + null !== b2 && (mh(b2, a2, e3, d2), eh(b2, a2, e3)); +}, enqueueForceUpdate: function(a2, b2) { + a2 = a2._reactInternals; + var c2 = L$2(), d2 = lh(a2), e3 = ch(c2, d2); + e3.tag = 2; + void 0 !== b2 && null !== b2 && (e3.callback = b2); + b2 = dh(a2, e3, d2); + null !== b2 && (mh(b2, a2, d2, c2), eh(b2, a2, d2)); +} }; +function oh(a2, b2, c2, d2, e3, f2, g2) { + a2 = a2.stateNode; + return "function" === typeof a2.shouldComponentUpdate ? a2.shouldComponentUpdate(d2, f2, g2) : b2.prototype && b2.prototype.isPureReactComponent ? !Ie$1(c2, d2) || !Ie$1(e3, f2) : true; +} +function ph(a2, b2, c2) { + var d2 = false, e3 = Vf; + var f2 = b2.contextType; + "object" === typeof f2 && null !== f2 ? f2 = Vg(f2) : (e3 = Zf(b2) ? Xf : H$2.current, d2 = b2.contextTypes, f2 = (d2 = null !== d2 && void 0 !== d2) ? Yf(a2, e3) : Vf); + b2 = new b2(c2, f2); + a2.memoizedState = null !== b2.state && void 0 !== b2.state ? b2.state : null; + b2.updater = nh; + a2.stateNode = b2; + b2._reactInternals = a2; + d2 && (a2 = a2.stateNode, a2.__reactInternalMemoizedUnmaskedChildContext = e3, a2.__reactInternalMemoizedMaskedChildContext = f2); + return b2; +} +function qh(a2, b2, c2, d2) { + a2 = b2.state; + "function" === typeof b2.componentWillReceiveProps && b2.componentWillReceiveProps(c2, d2); + "function" === typeof b2.UNSAFE_componentWillReceiveProps && b2.UNSAFE_componentWillReceiveProps(c2, d2); + b2.state !== a2 && nh.enqueueReplaceState(b2, b2.state, null); +} +function rh(a2, b2, c2, d2) { + var e3 = a2.stateNode; + e3.props = c2; + e3.state = a2.memoizedState; + e3.refs = jh; + ah(a2); + var f2 = b2.contextType; + "object" === typeof f2 && null !== f2 ? e3.context = Vg(f2) : (f2 = Zf(b2) ? Xf : H$2.current, e3.context = Yf(a2, f2)); + e3.state = a2.memoizedState; + f2 = b2.getDerivedStateFromProps; + "function" === typeof f2 && (kh(a2, b2, f2, c2), e3.state = a2.memoizedState); + "function" === typeof b2.getDerivedStateFromProps || "function" === typeof e3.getSnapshotBeforeUpdate || "function" !== typeof e3.UNSAFE_componentWillMount && "function" !== typeof e3.componentWillMount || (b2 = e3.state, "function" === typeof e3.componentWillMount && e3.componentWillMount(), "function" === typeof e3.UNSAFE_componentWillMount && e3.UNSAFE_componentWillMount(), b2 !== e3.state && nh.enqueueReplaceState(e3, e3.state, null), gh(a2, c2, e3, d2), e3.state = a2.memoizedState); + "function" === typeof e3.componentDidMount && (a2.flags |= 4194308); +} +function sh(a2, b2, c2) { + a2 = c2.ref; + if (null !== a2 && "function" !== typeof a2 && "object" !== typeof a2) { + if (c2._owner) { + c2 = c2._owner; + if (c2) { + if (1 !== c2.tag) + throw Error(p$3(309)); + var d2 = c2.stateNode; + } + if (!d2) + throw Error(p$3(147, a2)); + var e3 = d2, f2 = "" + a2; + if (null !== b2 && null !== b2.ref && "function" === typeof b2.ref && b2.ref._stringRef === f2) + return b2.ref; + b2 = function(a3) { + var b3 = e3.refs; + b3 === jh && (b3 = e3.refs = {}); + null === a3 ? delete b3[f2] : b3[f2] = a3; + }; + b2._stringRef = f2; + return b2; + } + if ("string" !== typeof a2) + throw Error(p$3(284)); + if (!c2._owner) + throw Error(p$3(290, a2)); + } + return a2; +} +function th(a2, b2) { + a2 = Object.prototype.toString.call(b2); + throw Error(p$3(31, "[object Object]" === a2 ? "object with keys {" + Object.keys(b2).join(", ") + "}" : a2)); +} +function uh(a2) { + var b2 = a2._init; + return b2(a2._payload); +} +function vh(a2) { + function b2(b3, c3) { + if (a2) { + var d3 = b3.deletions; + null === d3 ? (b3.deletions = [c3], b3.flags |= 16) : d3.push(c3); + } + } + function c2(c3, d3) { + if (!a2) + return null; + for (; null !== d3; ) + b2(c3, d3), d3 = d3.sibling; + return null; + } + function d2(a3, b3) { + for (a3 = /* @__PURE__ */ new Map(); null !== b3; ) + null !== b3.key ? a3.set(b3.key, b3) : a3.set(b3.index, b3), b3 = b3.sibling; + return a3; + } + function e3(a3, b3) { + a3 = wh(a3, b3); + a3.index = 0; + a3.sibling = null; + return a3; + } + function f2(b3, c3, d3) { + b3.index = d3; + if (!a2) + return b3.flags |= 1048576, c3; + d3 = b3.alternate; + if (null !== d3) + return d3 = d3.index, d3 < c3 ? (b3.flags |= 2, c3) : d3; + b3.flags |= 2; + return c3; + } + function g2(b3) { + a2 && null === b3.alternate && (b3.flags |= 2); + return b3; + } + function h2(a3, b3, c3, d3) { + if (null === b3 || 6 !== b3.tag) + return b3 = xh(c3, a3.mode, d3), b3.return = a3, b3; + b3 = e3(b3, c3); + b3.return = a3; + return b3; + } + function k2(a3, b3, c3, d3) { + var f3 = c3.type; + if (f3 === ya) + return m2(a3, b3, c3.props.children, d3, c3.key); + if (null !== b3 && (b3.elementType === f3 || "object" === typeof f3 && null !== f3 && f3.$$typeof === Ha && uh(f3) === b3.type)) + return d3 = e3(b3, c3.props), d3.ref = sh(a3, b3, c3), d3.return = a3, d3; + d3 = yh(c3.type, c3.key, c3.props, null, a3.mode, d3); + d3.ref = sh(a3, b3, c3); + d3.return = a3; + return d3; + } + function l2(a3, b3, c3, d3) { + if (null === b3 || 4 !== b3.tag || b3.stateNode.containerInfo !== c3.containerInfo || b3.stateNode.implementation !== c3.implementation) + return b3 = zh(c3, a3.mode, d3), b3.return = a3, b3; + b3 = e3(b3, c3.children || []); + b3.return = a3; + return b3; + } + function m2(a3, b3, c3, d3, f3) { + if (null === b3 || 7 !== b3.tag) + return b3 = Ah(c3, a3.mode, d3, f3), b3.return = a3, b3; + b3 = e3(b3, c3); + b3.return = a3; + return b3; + } + function q2(a3, b3, c3) { + if ("string" === typeof b3 && "" !== b3 || "number" === typeof b3) + return b3 = xh("" + b3, a3.mode, c3), b3.return = a3, b3; + if ("object" === typeof b3 && null !== b3) { + switch (b3.$$typeof) { + case va: + return c3 = yh(b3.type, b3.key, b3.props, null, a3.mode, c3), c3.ref = sh(a3, null, b3), c3.return = a3, c3; + case wa: + return b3 = zh(b3, a3.mode, c3), b3.return = a3, b3; + case Ha: + var d3 = b3._init; + return q2(a3, d3(b3._payload), c3); + } + if (eb(b3) || Ka(b3)) + return b3 = Ah(b3, a3.mode, c3, null), b3.return = a3, b3; + th(a3, b3); + } + return null; + } + function r2(a3, b3, c3, d3) { + var e4 = null !== b3 ? b3.key : null; + if ("string" === typeof c3 && "" !== c3 || "number" === typeof c3) + return null !== e4 ? null : h2(a3, b3, "" + c3, d3); + if ("object" === typeof c3 && null !== c3) { + switch (c3.$$typeof) { + case va: + return c3.key === e4 ? k2(a3, b3, c3, d3) : null; + case wa: + return c3.key === e4 ? l2(a3, b3, c3, d3) : null; + case Ha: + return e4 = c3._init, r2( + a3, + b3, + e4(c3._payload), + d3 + ); + } + if (eb(c3) || Ka(c3)) + return null !== e4 ? null : m2(a3, b3, c3, d3, null); + th(a3, c3); + } + return null; + } + function y2(a3, b3, c3, d3, e4) { + if ("string" === typeof d3 && "" !== d3 || "number" === typeof d3) + return a3 = a3.get(c3) || null, h2(b3, a3, "" + d3, e4); + if ("object" === typeof d3 && null !== d3) { + switch (d3.$$typeof) { + case va: + return a3 = a3.get(null === d3.key ? c3 : d3.key) || null, k2(b3, a3, d3, e4); + case wa: + return a3 = a3.get(null === d3.key ? c3 : d3.key) || null, l2(b3, a3, d3, e4); + case Ha: + var f3 = d3._init; + return y2(a3, b3, c3, f3(d3._payload), e4); + } + if (eb(d3) || Ka(d3)) + return a3 = a3.get(c3) || null, m2(b3, a3, d3, e4, null); + th(b3, d3); + } + return null; + } + function n2(e4, g3, h3, k3) { + for (var l3 = null, m3 = null, u2 = g3, w2 = g3 = 0, x2 = null; null !== u2 && w2 < h3.length; w2++) { + u2.index > w2 ? (x2 = u2, u2 = null) : x2 = u2.sibling; + var n3 = r2(e4, u2, h3[w2], k3); + if (null === n3) { + null === u2 && (u2 = x2); + break; + } + a2 && u2 && null === n3.alternate && b2(e4, u2); + g3 = f2(n3, g3, w2); + null === m3 ? l3 = n3 : m3.sibling = n3; + m3 = n3; + u2 = x2; + } + if (w2 === h3.length) + return c2(e4, u2), I$1 && tg(e4, w2), l3; + if (null === u2) { + for (; w2 < h3.length; w2++) + u2 = q2(e4, h3[w2], k3), null !== u2 && (g3 = f2(u2, g3, w2), null === m3 ? l3 = u2 : m3.sibling = u2, m3 = u2); + I$1 && tg(e4, w2); + return l3; + } + for (u2 = d2(e4, u2); w2 < h3.length; w2++) + x2 = y2(u2, e4, w2, h3[w2], k3), null !== x2 && (a2 && null !== x2.alternate && u2.delete(null === x2.key ? w2 : x2.key), g3 = f2(x2, g3, w2), null === m3 ? l3 = x2 : m3.sibling = x2, m3 = x2); + a2 && u2.forEach(function(a3) { + return b2(e4, a3); + }); + I$1 && tg(e4, w2); + return l3; + } + function t2(e4, g3, h3, k3) { + var l3 = Ka(h3); + if ("function" !== typeof l3) + throw Error(p$3(150)); + h3 = l3.call(h3); + if (null == h3) + throw Error(p$3(151)); + for (var u2 = l3 = null, m3 = g3, w2 = g3 = 0, x2 = null, n3 = h3.next(); null !== m3 && !n3.done; w2++, n3 = h3.next()) { + m3.index > w2 ? (x2 = m3, m3 = null) : x2 = m3.sibling; + var t3 = r2(e4, m3, n3.value, k3); + if (null === t3) { + null === m3 && (m3 = x2); + break; + } + a2 && m3 && null === t3.alternate && b2(e4, m3); + g3 = f2(t3, g3, w2); + null === u2 ? l3 = t3 : u2.sibling = t3; + u2 = t3; + m3 = x2; + } + if (n3.done) + return c2( + e4, + m3 + ), I$1 && tg(e4, w2), l3; + if (null === m3) { + for (; !n3.done; w2++, n3 = h3.next()) + n3 = q2(e4, n3.value, k3), null !== n3 && (g3 = f2(n3, g3, w2), null === u2 ? l3 = n3 : u2.sibling = n3, u2 = n3); + I$1 && tg(e4, w2); + return l3; + } + for (m3 = d2(e4, m3); !n3.done; w2++, n3 = h3.next()) + n3 = y2(m3, e4, w2, n3.value, k3), null !== n3 && (a2 && null !== n3.alternate && m3.delete(null === n3.key ? w2 : n3.key), g3 = f2(n3, g3, w2), null === u2 ? l3 = n3 : u2.sibling = n3, u2 = n3); + a2 && m3.forEach(function(a3) { + return b2(e4, a3); + }); + I$1 && tg(e4, w2); + return l3; + } + function J2(a3, d3, f3, h3) { + "object" === typeof f3 && null !== f3 && f3.type === ya && null === f3.key && (f3 = f3.props.children); + if ("object" === typeof f3 && null !== f3) { + switch (f3.$$typeof) { + case va: + a: { + for (var k3 = f3.key, l3 = d3; null !== l3; ) { + if (l3.key === k3) { + k3 = f3.type; + if (k3 === ya) { + if (7 === l3.tag) { + c2(a3, l3.sibling); + d3 = e3(l3, f3.props.children); + d3.return = a3; + a3 = d3; + break a; + } + } else if (l3.elementType === k3 || "object" === typeof k3 && null !== k3 && k3.$$typeof === Ha && uh(k3) === l3.type) { + c2(a3, l3.sibling); + d3 = e3(l3, f3.props); + d3.ref = sh(a3, l3, f3); + d3.return = a3; + a3 = d3; + break a; + } + c2(a3, l3); + break; + } else + b2(a3, l3); + l3 = l3.sibling; + } + f3.type === ya ? (d3 = Ah(f3.props.children, a3.mode, h3, f3.key), d3.return = a3, a3 = d3) : (h3 = yh(f3.type, f3.key, f3.props, null, a3.mode, h3), h3.ref = sh(a3, d3, f3), h3.return = a3, a3 = h3); + } + return g2(a3); + case wa: + a: { + for (l3 = f3.key; null !== d3; ) { + if (d3.key === l3) + if (4 === d3.tag && d3.stateNode.containerInfo === f3.containerInfo && d3.stateNode.implementation === f3.implementation) { + c2(a3, d3.sibling); + d3 = e3(d3, f3.children || []); + d3.return = a3; + a3 = d3; + break a; + } else { + c2(a3, d3); + break; + } + else + b2(a3, d3); + d3 = d3.sibling; + } + d3 = zh(f3, a3.mode, h3); + d3.return = a3; + a3 = d3; + } + return g2(a3); + case Ha: + return l3 = f3._init, J2(a3, d3, l3(f3._payload), h3); + } + if (eb(f3)) + return n2(a3, d3, f3, h3); + if (Ka(f3)) + return t2(a3, d3, f3, h3); + th(a3, f3); + } + return "string" === typeof f3 && "" !== f3 || "number" === typeof f3 ? (f3 = "" + f3, null !== d3 && 6 === d3.tag ? (c2(a3, d3.sibling), d3 = e3(d3, f3), d3.return = a3, a3 = d3) : (c2(a3, d3), d3 = xh(f3, a3.mode, h3), d3.return = a3, a3 = d3), g2(a3)) : c2(a3, d3); + } + return J2; +} +var Bh = vh(true), Ch = vh(false), Dh = {}, Eh = Uf(Dh), Fh = Uf(Dh), Gh = Uf(Dh); +function Hh(a2) { + if (a2 === Dh) + throw Error(p$3(174)); + return a2; +} +function Ih(a2, b2) { + G$2(Gh, b2); + G$2(Fh, a2); + G$2(Eh, Dh); + a2 = b2.nodeType; + switch (a2) { + case 9: + case 11: + b2 = (b2 = b2.documentElement) ? b2.namespaceURI : lb(null, ""); + break; + default: + a2 = 8 === a2 ? b2.parentNode : b2, b2 = a2.namespaceURI || null, a2 = a2.tagName, b2 = lb(b2, a2); + } + E$1(Eh); + G$2(Eh, b2); +} +function Jh() { + E$1(Eh); + E$1(Fh); + E$1(Gh); +} +function Kh(a2) { + Hh(Gh.current); + var b2 = Hh(Eh.current); + var c2 = lb(b2, a2.type); + b2 !== c2 && (G$2(Fh, a2), G$2(Eh, c2)); +} +function Lh(a2) { + Fh.current === a2 && (E$1(Eh), E$1(Fh)); +} +var M$1 = Uf(0); +function Mh(a2) { + for (var b2 = a2; null !== b2; ) { + if (13 === b2.tag) { + var c2 = b2.memoizedState; + if (null !== c2 && (c2 = c2.dehydrated, null === c2 || "$?" === c2.data || "$!" === c2.data)) + return b2; + } else if (19 === b2.tag && void 0 !== b2.memoizedProps.revealOrder) { + if (0 !== (b2.flags & 128)) + return b2; + } else if (null !== b2.child) { + b2.child.return = b2; + b2 = b2.child; + continue; + } + if (b2 === a2) + break; + for (; null === b2.sibling; ) { + if (null === b2.return || b2.return === a2) + return null; + b2 = b2.return; + } + b2.sibling.return = b2.return; + b2 = b2.sibling; + } + return null; +} +var Nh = []; +function Oh() { + for (var a2 = 0; a2 < Nh.length; a2++) + Nh[a2]._workInProgressVersionPrimary = null; + Nh.length = 0; +} +var Ph = ua.ReactCurrentDispatcher, Qh = ua.ReactCurrentBatchConfig, Rh = 0, N$2 = null, O$2 = null, P$1 = null, Sh = false, Th = false, Uh = 0, Vh = 0; +function Q$2() { + throw Error(p$3(321)); +} +function Wh(a2, b2) { + if (null === b2) + return false; + for (var c2 = 0; c2 < b2.length && c2 < a2.length; c2++) + if (!He$1(a2[c2], b2[c2])) + return false; + return true; +} +function Xh(a2, b2, c2, d2, e3, f2) { + Rh = f2; + N$2 = b2; + b2.memoizedState = null; + b2.updateQueue = null; + b2.lanes = 0; + Ph.current = null === a2 || null === a2.memoizedState ? Yh : Zh; + a2 = c2(d2, e3); + if (Th) { + f2 = 0; + do { + Th = false; + Uh = 0; + if (25 <= f2) + throw Error(p$3(301)); + f2 += 1; + P$1 = O$2 = null; + b2.updateQueue = null; + Ph.current = $h; + a2 = c2(d2, e3); + } while (Th); + } + Ph.current = ai$1; + b2 = null !== O$2 && null !== O$2.next; + Rh = 0; + P$1 = O$2 = N$2 = null; + Sh = false; + if (b2) + throw Error(p$3(300)); + return a2; +} +function bi$1() { + var a2 = 0 !== Uh; + Uh = 0; + return a2; +} +function ci$1() { + var a2 = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; + null === P$1 ? N$2.memoizedState = P$1 = a2 : P$1 = P$1.next = a2; + return P$1; +} +function di$1() { + if (null === O$2) { + var a2 = N$2.alternate; + a2 = null !== a2 ? a2.memoizedState : null; + } else + a2 = O$2.next; + var b2 = null === P$1 ? N$2.memoizedState : P$1.next; + if (null !== b2) + P$1 = b2, O$2 = a2; + else { + if (null === a2) + throw Error(p$3(310)); + O$2 = a2; + a2 = { memoizedState: O$2.memoizedState, baseState: O$2.baseState, baseQueue: O$2.baseQueue, queue: O$2.queue, next: null }; + null === P$1 ? N$2.memoizedState = P$1 = a2 : P$1 = P$1.next = a2; + } + return P$1; +} +function ei$1(a2, b2) { + return "function" === typeof b2 ? b2(a2) : b2; +} +function fi$1(a2) { + var b2 = di$1(), c2 = b2.queue; + if (null === c2) + throw Error(p$3(311)); + c2.lastRenderedReducer = a2; + var d2 = O$2, e3 = d2.baseQueue, f2 = c2.pending; + if (null !== f2) { + if (null !== e3) { + var g2 = e3.next; + e3.next = f2.next; + f2.next = g2; + } + d2.baseQueue = e3 = f2; + c2.pending = null; + } + if (null !== e3) { + f2 = e3.next; + d2 = d2.baseState; + var h2 = g2 = null, k2 = null, l2 = f2; + do { + var m2 = l2.lane; + if ((Rh & m2) === m2) + null !== k2 && (k2 = k2.next = { lane: 0, action: l2.action, hasEagerState: l2.hasEagerState, eagerState: l2.eagerState, next: null }), d2 = l2.hasEagerState ? l2.eagerState : a2(d2, l2.action); + else { + var q2 = { + lane: m2, + action: l2.action, + hasEagerState: l2.hasEagerState, + eagerState: l2.eagerState, + next: null + }; + null === k2 ? (h2 = k2 = q2, g2 = d2) : k2 = k2.next = q2; + N$2.lanes |= m2; + hh |= m2; + } + l2 = l2.next; + } while (null !== l2 && l2 !== f2); + null === k2 ? g2 = d2 : k2.next = h2; + He$1(d2, b2.memoizedState) || (Ug = true); + b2.memoizedState = d2; + b2.baseState = g2; + b2.baseQueue = k2; + c2.lastRenderedState = d2; + } + a2 = c2.interleaved; + if (null !== a2) { + e3 = a2; + do + f2 = e3.lane, N$2.lanes |= f2, hh |= f2, e3 = e3.next; + while (e3 !== a2); + } else + null === e3 && (c2.lanes = 0); + return [b2.memoizedState, c2.dispatch]; +} +function gi$1(a2) { + var b2 = di$1(), c2 = b2.queue; + if (null === c2) + throw Error(p$3(311)); + c2.lastRenderedReducer = a2; + var d2 = c2.dispatch, e3 = c2.pending, f2 = b2.memoizedState; + if (null !== e3) { + c2.pending = null; + var g2 = e3 = e3.next; + do + f2 = a2(f2, g2.action), g2 = g2.next; + while (g2 !== e3); + He$1(f2, b2.memoizedState) || (Ug = true); + b2.memoizedState = f2; + null === b2.baseQueue && (b2.baseState = f2); + c2.lastRenderedState = f2; + } + return [f2, d2]; +} +function hi$1() { +} +function ii$1(a2, b2) { + var c2 = N$2, d2 = di$1(), e3 = b2(), f2 = !He$1(d2.memoizedState, e3); + f2 && (d2.memoizedState = e3, Ug = true); + d2 = d2.queue; + ji$1(ki$1.bind(null, c2, d2, a2), [a2]); + if (d2.getSnapshot !== b2 || f2 || null !== P$1 && P$1.memoizedState.tag & 1) { + c2.flags |= 2048; + li$1(9, mi$1.bind(null, c2, d2, e3, b2), void 0, null); + if (null === R$1) + throw Error(p$3(349)); + 0 !== (Rh & 30) || ni$1(c2, b2, e3); + } + return e3; +} +function ni$1(a2, b2, c2) { + a2.flags |= 16384; + a2 = { getSnapshot: b2, value: c2 }; + b2 = N$2.updateQueue; + null === b2 ? (b2 = { lastEffect: null, stores: null }, N$2.updateQueue = b2, b2.stores = [a2]) : (c2 = b2.stores, null === c2 ? b2.stores = [a2] : c2.push(a2)); +} +function mi$1(a2, b2, c2, d2) { + b2.value = c2; + b2.getSnapshot = d2; + oi$1(b2) && pi$1(a2); +} +function ki$1(a2, b2, c2) { + return c2(function() { + oi$1(b2) && pi$1(a2); + }); +} +function oi$1(a2) { + var b2 = a2.getSnapshot; + a2 = a2.value; + try { + var c2 = b2(); + return !He$1(a2, c2); + } catch (d2) { + return true; + } +} +function pi$1(a2) { + var b2 = Zg(a2, 1); + null !== b2 && mh(b2, a2, 1, -1); +} +function qi$1(a2) { + var b2 = ci$1(); + "function" === typeof a2 && (a2 = a2()); + b2.memoizedState = b2.baseState = a2; + a2 = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ei$1, lastRenderedState: a2 }; + b2.queue = a2; + a2 = a2.dispatch = ri$1.bind(null, N$2, a2); + return [b2.memoizedState, a2]; +} +function li$1(a2, b2, c2, d2) { + a2 = { tag: a2, create: b2, destroy: c2, deps: d2, next: null }; + b2 = N$2.updateQueue; + null === b2 ? (b2 = { lastEffect: null, stores: null }, N$2.updateQueue = b2, b2.lastEffect = a2.next = a2) : (c2 = b2.lastEffect, null === c2 ? b2.lastEffect = a2.next = a2 : (d2 = c2.next, c2.next = a2, a2.next = d2, b2.lastEffect = a2)); + return a2; +} +function si$1() { + return di$1().memoizedState; +} +function ti$1(a2, b2, c2, d2) { + var e3 = ci$1(); + N$2.flags |= a2; + e3.memoizedState = li$1(1 | b2, c2, void 0, void 0 === d2 ? null : d2); +} +function ui$1(a2, b2, c2, d2) { + var e3 = di$1(); + d2 = void 0 === d2 ? null : d2; + var f2 = void 0; + if (null !== O$2) { + var g2 = O$2.memoizedState; + f2 = g2.destroy; + if (null !== d2 && Wh(d2, g2.deps)) { + e3.memoizedState = li$1(b2, c2, f2, d2); + return; + } + } + N$2.flags |= a2; + e3.memoizedState = li$1(1 | b2, c2, f2, d2); +} +function vi$1(a2, b2) { + return ti$1(8390656, 8, a2, b2); +} +function ji$1(a2, b2) { + return ui$1(2048, 8, a2, b2); +} +function wi$1(a2, b2) { + return ui$1(4, 2, a2, b2); +} +function xi$1(a2, b2) { + return ui$1(4, 4, a2, b2); +} +function yi$1(a2, b2) { + if ("function" === typeof b2) + return a2 = a2(), b2(a2), function() { + b2(null); + }; + if (null !== b2 && void 0 !== b2) + return a2 = a2(), b2.current = a2, function() { + b2.current = null; + }; +} +function zi$1(a2, b2, c2) { + c2 = null !== c2 && void 0 !== c2 ? c2.concat([a2]) : null; + return ui$1(4, 4, yi$1.bind(null, b2, a2), c2); +} +function Ai$1() { +} +function Bi$1(a2, b2) { + var c2 = di$1(); + b2 = void 0 === b2 ? null : b2; + var d2 = c2.memoizedState; + if (null !== d2 && null !== b2 && Wh(b2, d2[1])) + return d2[0]; + c2.memoizedState = [a2, b2]; + return a2; +} +function Ci$1(a2, b2) { + var c2 = di$1(); + b2 = void 0 === b2 ? null : b2; + var d2 = c2.memoizedState; + if (null !== d2 && null !== b2 && Wh(b2, d2[1])) + return d2[0]; + a2 = a2(); + c2.memoizedState = [a2, b2]; + return a2; +} +function Di$1(a2, b2, c2) { + if (0 === (Rh & 21)) + return a2.baseState && (a2.baseState = false, Ug = true), a2.memoizedState = c2; + He$1(c2, b2) || (c2 = yc(), N$2.lanes |= c2, hh |= c2, a2.baseState = true); + return b2; +} +function Ei$1(a2, b2) { + var c2 = C$2; + C$2 = 0 !== c2 && 4 > c2 ? c2 : 4; + a2(true); + var d2 = Qh.transition; + Qh.transition = {}; + try { + a2(false), b2(); + } finally { + C$2 = c2, Qh.transition = d2; + } +} +function Fi$1() { + return di$1().memoizedState; +} +function Gi$1(a2, b2, c2) { + var d2 = lh(a2); + c2 = { lane: d2, action: c2, hasEagerState: false, eagerState: null, next: null }; + if (Hi$1(a2)) + Ii$1(b2, c2); + else if (c2 = Yg(a2, b2, c2, d2), null !== c2) { + var e3 = L$2(); + mh(c2, a2, d2, e3); + Ji$1(c2, b2, d2); + } +} +function ri$1(a2, b2, c2) { + var d2 = lh(a2), e3 = { lane: d2, action: c2, hasEagerState: false, eagerState: null, next: null }; + if (Hi$1(a2)) + Ii$1(b2, e3); + else { + var f2 = a2.alternate; + if (0 === a2.lanes && (null === f2 || 0 === f2.lanes) && (f2 = b2.lastRenderedReducer, null !== f2)) + try { + var g2 = b2.lastRenderedState, h2 = f2(g2, c2); + e3.hasEagerState = true; + e3.eagerState = h2; + if (He$1(h2, g2)) { + var k2 = b2.interleaved; + null === k2 ? (e3.next = e3, Xg(b2)) : (e3.next = k2.next, k2.next = e3); + b2.interleaved = e3; + return; + } + } catch (l2) { + } finally { + } + c2 = Yg(a2, b2, e3, d2); + null !== c2 && (e3 = L$2(), mh(c2, a2, d2, e3), Ji$1(c2, b2, d2)); + } +} +function Hi$1(a2) { + var b2 = a2.alternate; + return a2 === N$2 || null !== b2 && b2 === N$2; +} +function Ii$1(a2, b2) { + Th = Sh = true; + var c2 = a2.pending; + null === c2 ? b2.next = b2 : (b2.next = c2.next, c2.next = b2); + a2.pending = b2; +} +function Ji$1(a2, b2, c2) { + if (0 !== (c2 & 4194240)) { + var d2 = b2.lanes; + d2 &= a2.pendingLanes; + c2 |= d2; + b2.lanes = c2; + Cc(a2, c2); + } +} +var ai$1 = { readContext: Vg, useCallback: Q$2, useContext: Q$2, useEffect: Q$2, useImperativeHandle: Q$2, useInsertionEffect: Q$2, useLayoutEffect: Q$2, useMemo: Q$2, useReducer: Q$2, useRef: Q$2, useState: Q$2, useDebugValue: Q$2, useDeferredValue: Q$2, useTransition: Q$2, useMutableSource: Q$2, useSyncExternalStore: Q$2, useId: Q$2, unstable_isNewReconciler: false }, Yh = { readContext: Vg, useCallback: function(a2, b2) { + ci$1().memoizedState = [a2, void 0 === b2 ? null : b2]; + return a2; +}, useContext: Vg, useEffect: vi$1, useImperativeHandle: function(a2, b2, c2) { + c2 = null !== c2 && void 0 !== c2 ? c2.concat([a2]) : null; + return ti$1( + 4194308, + 4, + yi$1.bind(null, b2, a2), + c2 + ); +}, useLayoutEffect: function(a2, b2) { + return ti$1(4194308, 4, a2, b2); +}, useInsertionEffect: function(a2, b2) { + return ti$1(4, 2, a2, b2); +}, useMemo: function(a2, b2) { + var c2 = ci$1(); + b2 = void 0 === b2 ? null : b2; + a2 = a2(); + c2.memoizedState = [a2, b2]; + return a2; +}, useReducer: function(a2, b2, c2) { + var d2 = ci$1(); + b2 = void 0 !== c2 ? c2(b2) : b2; + d2.memoizedState = d2.baseState = b2; + a2 = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: a2, lastRenderedState: b2 }; + d2.queue = a2; + a2 = a2.dispatch = Gi$1.bind(null, N$2, a2); + return [d2.memoizedState, a2]; +}, useRef: function(a2) { + var b2 = ci$1(); + a2 = { current: a2 }; + return b2.memoizedState = a2; +}, useState: qi$1, useDebugValue: Ai$1, useDeferredValue: function(a2) { + return ci$1().memoizedState = a2; +}, useTransition: function() { + var a2 = qi$1(false), b2 = a2[0]; + a2 = Ei$1.bind(null, a2[1]); + ci$1().memoizedState = a2; + return [b2, a2]; +}, useMutableSource: function() { +}, useSyncExternalStore: function(a2, b2, c2) { + var d2 = N$2, e3 = ci$1(); + if (I$1) { + if (void 0 === c2) + throw Error(p$3(407)); + c2 = c2(); + } else { + c2 = b2(); + if (null === R$1) + throw Error(p$3(349)); + 0 !== (Rh & 30) || ni$1(d2, b2, c2); + } + e3.memoizedState = c2; + var f2 = { value: c2, getSnapshot: b2 }; + e3.queue = f2; + vi$1(ki$1.bind( + null, + d2, + f2, + a2 + ), [a2]); + d2.flags |= 2048; + li$1(9, mi$1.bind(null, d2, f2, c2, b2), void 0, null); + return c2; +}, useId: function() { + var a2 = ci$1(), b2 = R$1.identifierPrefix; + if (I$1) { + var c2 = sg; + var d2 = rg; + c2 = (d2 & ~(1 << 32 - oc(d2) - 1)).toString(32) + c2; + b2 = ":" + b2 + "R" + c2; + c2 = Uh++; + 0 < c2 && (b2 += "H" + c2.toString(32)); + b2 += ":"; + } else + c2 = Vh++, b2 = ":" + b2 + "r" + c2.toString(32) + ":"; + return a2.memoizedState = b2; +}, unstable_isNewReconciler: false }, Zh = { + readContext: Vg, + useCallback: Bi$1, + useContext: Vg, + useEffect: ji$1, + useImperativeHandle: zi$1, + useInsertionEffect: wi$1, + useLayoutEffect: xi$1, + useMemo: Ci$1, + useReducer: fi$1, + useRef: si$1, + useState: function() { + return fi$1(ei$1); + }, + useDebugValue: Ai$1, + useDeferredValue: function(a2) { + var b2 = di$1(); + return Di$1(b2, O$2.memoizedState, a2); + }, + useTransition: function() { + var a2 = fi$1(ei$1)[0], b2 = di$1().memoizedState; + return [a2, b2]; + }, + useMutableSource: hi$1, + useSyncExternalStore: ii$1, + useId: Fi$1, + unstable_isNewReconciler: false +}, $h = { readContext: Vg, useCallback: Bi$1, useContext: Vg, useEffect: ji$1, useImperativeHandle: zi$1, useInsertionEffect: wi$1, useLayoutEffect: xi$1, useMemo: Ci$1, useReducer: gi$1, useRef: si$1, useState: function() { + return gi$1(ei$1); +}, useDebugValue: Ai$1, useDeferredValue: function(a2) { + var b2 = di$1(); + return null === O$2 ? b2.memoizedState = a2 : Di$1(b2, O$2.memoizedState, a2); +}, useTransition: function() { + var a2 = gi$1(ei$1)[0], b2 = di$1().memoizedState; + return [a2, b2]; +}, useMutableSource: hi$1, useSyncExternalStore: ii$1, useId: Fi$1, unstable_isNewReconciler: false }; +function Ki$1(a2, b2) { + try { + var c2 = "", d2 = b2; + do + c2 += Pa(d2), d2 = d2.return; + while (d2); + var e3 = c2; + } catch (f2) { + e3 = "\nError generating stack: " + f2.message + "\n" + f2.stack; + } + return { value: a2, source: b2, stack: e3, digest: null }; +} +function Li$1(a2, b2, c2) { + return { value: a2, source: null, stack: null != c2 ? c2 : null, digest: null != b2 ? b2 : null }; +} +function Mi$1(a2, b2) { + try { + console.error(b2.value); + } catch (c2) { + setTimeout(function() { + throw c2; + }); + } +} +var Ni$1 = "function" === typeof WeakMap ? WeakMap : Map; +function Oi$1(a2, b2, c2) { + c2 = ch(-1, c2); + c2.tag = 3; + c2.payload = { element: null }; + var d2 = b2.value; + c2.callback = function() { + Pi$1 || (Pi$1 = true, Qi$1 = d2); + Mi$1(a2, b2); + }; + return c2; +} +function Ri$1(a2, b2, c2) { + c2 = ch(-1, c2); + c2.tag = 3; + var d2 = a2.type.getDerivedStateFromError; + if ("function" === typeof d2) { + var e3 = b2.value; + c2.payload = function() { + return d2(e3); + }; + c2.callback = function() { + Mi$1(a2, b2); + }; + } + var f2 = a2.stateNode; + null !== f2 && "function" === typeof f2.componentDidCatch && (c2.callback = function() { + Mi$1(a2, b2); + "function" !== typeof d2 && (null === Si$1 ? Si$1 = /* @__PURE__ */ new Set([this]) : Si$1.add(this)); + var c3 = b2.stack; + this.componentDidCatch(b2.value, { componentStack: null !== c3 ? c3 : "" }); + }); + return c2; +} +function Ti$1(a2, b2, c2) { + var d2 = a2.pingCache; + if (null === d2) { + d2 = a2.pingCache = new Ni$1(); + var e3 = /* @__PURE__ */ new Set(); + d2.set(b2, e3); + } else + e3 = d2.get(b2), void 0 === e3 && (e3 = /* @__PURE__ */ new Set(), d2.set(b2, e3)); + e3.has(c2) || (e3.add(c2), a2 = Ui$1.bind(null, a2, b2, c2), b2.then(a2, a2)); +} +function Vi$1(a2) { + do { + var b2; + if (b2 = 13 === a2.tag) + b2 = a2.memoizedState, b2 = null !== b2 ? null !== b2.dehydrated ? true : false : true; + if (b2) + return a2; + a2 = a2.return; + } while (null !== a2); + return null; +} +function Wi$1(a2, b2, c2, d2, e3) { + if (0 === (a2.mode & 1)) + return a2 === b2 ? a2.flags |= 65536 : (a2.flags |= 128, c2.flags |= 131072, c2.flags &= -52805, 1 === c2.tag && (null === c2.alternate ? c2.tag = 17 : (b2 = ch(-1, 1), b2.tag = 2, dh(c2, b2, 1))), c2.lanes |= 1), a2; + a2.flags |= 65536; + a2.lanes = e3; + return a2; +} +var Xi$1 = ua.ReactCurrentOwner, Ug = false; +function Yi$1(a2, b2, c2, d2) { + b2.child = null === a2 ? Ch(b2, null, c2, d2) : Bh(b2, a2.child, c2, d2); +} +function Zi$1(a2, b2, c2, d2, e3) { + c2 = c2.render; + var f2 = b2.ref; + Tg(b2, e3); + d2 = Xh(a2, b2, c2, d2, f2, e3); + c2 = bi$1(); + if (null !== a2 && !Ug) + return b2.updateQueue = a2.updateQueue, b2.flags &= -2053, a2.lanes &= ~e3, $i$1(a2, b2, e3); + I$1 && c2 && vg(b2); + b2.flags |= 1; + Yi$1(a2, b2, d2, e3); + return b2.child; +} +function aj(a2, b2, c2, d2, e3) { + if (null === a2) { + var f2 = c2.type; + if ("function" === typeof f2 && !bj(f2) && void 0 === f2.defaultProps && null === c2.compare && void 0 === c2.defaultProps) + return b2.tag = 15, b2.type = f2, cj(a2, b2, f2, d2, e3); + a2 = yh(c2.type, null, d2, b2, b2.mode, e3); + a2.ref = b2.ref; + a2.return = b2; + return b2.child = a2; + } + f2 = a2.child; + if (0 === (a2.lanes & e3)) { + var g2 = f2.memoizedProps; + c2 = c2.compare; + c2 = null !== c2 ? c2 : Ie$1; + if (c2(g2, d2) && a2.ref === b2.ref) + return $i$1(a2, b2, e3); + } + b2.flags |= 1; + a2 = wh(f2, d2); + a2.ref = b2.ref; + a2.return = b2; + return b2.child = a2; +} +function cj(a2, b2, c2, d2, e3) { + if (null !== a2) { + var f2 = a2.memoizedProps; + if (Ie$1(f2, d2) && a2.ref === b2.ref) + if (Ug = false, b2.pendingProps = d2 = f2, 0 !== (a2.lanes & e3)) + 0 !== (a2.flags & 131072) && (Ug = true); + else + return b2.lanes = a2.lanes, $i$1(a2, b2, e3); + } + return dj(a2, b2, c2, d2, e3); +} +function ej(a2, b2, c2) { + var d2 = b2.pendingProps, e3 = d2.children, f2 = null !== a2 ? a2.memoizedState : null; + if ("hidden" === d2.mode) + if (0 === (b2.mode & 1)) + b2.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, G$2(fj, gj), gj |= c2; + else { + if (0 === (c2 & 1073741824)) + return a2 = null !== f2 ? f2.baseLanes | c2 : c2, b2.lanes = b2.childLanes = 1073741824, b2.memoizedState = { baseLanes: a2, cachePool: null, transitions: null }, b2.updateQueue = null, G$2(fj, gj), gj |= a2, null; + b2.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }; + d2 = null !== f2 ? f2.baseLanes : c2; + G$2(fj, gj); + gj |= d2; + } + else + null !== f2 ? (d2 = f2.baseLanes | c2, b2.memoizedState = null) : d2 = c2, G$2(fj, gj), gj |= d2; + Yi$1(a2, b2, e3, c2); + return b2.child; +} +function hj(a2, b2) { + var c2 = b2.ref; + if (null === a2 && null !== c2 || null !== a2 && a2.ref !== c2) + b2.flags |= 512, b2.flags |= 2097152; +} +function dj(a2, b2, c2, d2, e3) { + var f2 = Zf(c2) ? Xf : H$2.current; + f2 = Yf(b2, f2); + Tg(b2, e3); + c2 = Xh(a2, b2, c2, d2, f2, e3); + d2 = bi$1(); + if (null !== a2 && !Ug) + return b2.updateQueue = a2.updateQueue, b2.flags &= -2053, a2.lanes &= ~e3, $i$1(a2, b2, e3); + I$1 && d2 && vg(b2); + b2.flags |= 1; + Yi$1(a2, b2, c2, e3); + return b2.child; +} +function ij(a2, b2, c2, d2, e3) { + if (Zf(c2)) { + var f2 = true; + cg(b2); + } else + f2 = false; + Tg(b2, e3); + if (null === b2.stateNode) + jj(a2, b2), ph(b2, c2, d2), rh(b2, c2, d2, e3), d2 = true; + else if (null === a2) { + var g2 = b2.stateNode, h2 = b2.memoizedProps; + g2.props = h2; + var k2 = g2.context, l2 = c2.contextType; + "object" === typeof l2 && null !== l2 ? l2 = Vg(l2) : (l2 = Zf(c2) ? Xf : H$2.current, l2 = Yf(b2, l2)); + var m2 = c2.getDerivedStateFromProps, q2 = "function" === typeof m2 || "function" === typeof g2.getSnapshotBeforeUpdate; + q2 || "function" !== typeof g2.UNSAFE_componentWillReceiveProps && "function" !== typeof g2.componentWillReceiveProps || (h2 !== d2 || k2 !== l2) && qh(b2, g2, d2, l2); + $g = false; + var r2 = b2.memoizedState; + g2.state = r2; + gh(b2, d2, g2, e3); + k2 = b2.memoizedState; + h2 !== d2 || r2 !== k2 || Wf.current || $g ? ("function" === typeof m2 && (kh(b2, c2, m2, d2), k2 = b2.memoizedState), (h2 = $g || oh(b2, c2, h2, d2, r2, k2, l2)) ? (q2 || "function" !== typeof g2.UNSAFE_componentWillMount && "function" !== typeof g2.componentWillMount || ("function" === typeof g2.componentWillMount && g2.componentWillMount(), "function" === typeof g2.UNSAFE_componentWillMount && g2.UNSAFE_componentWillMount()), "function" === typeof g2.componentDidMount && (b2.flags |= 4194308)) : ("function" === typeof g2.componentDidMount && (b2.flags |= 4194308), b2.memoizedProps = d2, b2.memoizedState = k2), g2.props = d2, g2.state = k2, g2.context = l2, d2 = h2) : ("function" === typeof g2.componentDidMount && (b2.flags |= 4194308), d2 = false); + } else { + g2 = b2.stateNode; + bh(a2, b2); + h2 = b2.memoizedProps; + l2 = b2.type === b2.elementType ? h2 : Lg(b2.type, h2); + g2.props = l2; + q2 = b2.pendingProps; + r2 = g2.context; + k2 = c2.contextType; + "object" === typeof k2 && null !== k2 ? k2 = Vg(k2) : (k2 = Zf(c2) ? Xf : H$2.current, k2 = Yf(b2, k2)); + var y2 = c2.getDerivedStateFromProps; + (m2 = "function" === typeof y2 || "function" === typeof g2.getSnapshotBeforeUpdate) || "function" !== typeof g2.UNSAFE_componentWillReceiveProps && "function" !== typeof g2.componentWillReceiveProps || (h2 !== q2 || r2 !== k2) && qh(b2, g2, d2, k2); + $g = false; + r2 = b2.memoizedState; + g2.state = r2; + gh(b2, d2, g2, e3); + var n2 = b2.memoizedState; + h2 !== q2 || r2 !== n2 || Wf.current || $g ? ("function" === typeof y2 && (kh(b2, c2, y2, d2), n2 = b2.memoizedState), (l2 = $g || oh(b2, c2, l2, d2, r2, n2, k2) || false) ? (m2 || "function" !== typeof g2.UNSAFE_componentWillUpdate && "function" !== typeof g2.componentWillUpdate || ("function" === typeof g2.componentWillUpdate && g2.componentWillUpdate(d2, n2, k2), "function" === typeof g2.UNSAFE_componentWillUpdate && g2.UNSAFE_componentWillUpdate(d2, n2, k2)), "function" === typeof g2.componentDidUpdate && (b2.flags |= 4), "function" === typeof g2.getSnapshotBeforeUpdate && (b2.flags |= 1024)) : ("function" !== typeof g2.componentDidUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b2.flags |= 4), "function" !== typeof g2.getSnapshotBeforeUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b2.flags |= 1024), b2.memoizedProps = d2, b2.memoizedState = n2), g2.props = d2, g2.state = n2, g2.context = k2, d2 = l2) : ("function" !== typeof g2.componentDidUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b2.flags |= 4), "function" !== typeof g2.getSnapshotBeforeUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b2.flags |= 1024), d2 = false); + } + return kj(a2, b2, c2, d2, f2, e3); +} +function kj(a2, b2, c2, d2, e3, f2) { + hj(a2, b2); + var g2 = 0 !== (b2.flags & 128); + if (!d2 && !g2) + return e3 && dg(b2, c2, false), $i$1(a2, b2, f2); + d2 = b2.stateNode; + Xi$1.current = b2; + var h2 = g2 && "function" !== typeof c2.getDerivedStateFromError ? null : d2.render(); + b2.flags |= 1; + null !== a2 && g2 ? (b2.child = Bh(b2, a2.child, null, f2), b2.child = Bh(b2, null, h2, f2)) : Yi$1(a2, b2, h2, f2); + b2.memoizedState = d2.state; + e3 && dg(b2, c2, true); + return b2.child; +} +function lj(a2) { + var b2 = a2.stateNode; + b2.pendingContext ? ag(a2, b2.pendingContext, b2.pendingContext !== b2.context) : b2.context && ag(a2, b2.context, false); + Ih(a2, b2.containerInfo); +} +function mj(a2, b2, c2, d2, e3) { + Ig(); + Jg(e3); + b2.flags |= 256; + Yi$1(a2, b2, c2, d2); + return b2.child; +} +var nj = { dehydrated: null, treeContext: null, retryLane: 0 }; +function oj(a2) { + return { baseLanes: a2, cachePool: null, transitions: null }; +} +function pj(a2, b2, c2) { + var d2 = b2.pendingProps, e3 = M$1.current, f2 = false, g2 = 0 !== (b2.flags & 128), h2; + (h2 = g2) || (h2 = null !== a2 && null === a2.memoizedState ? false : 0 !== (e3 & 2)); + if (h2) + f2 = true, b2.flags &= -129; + else if (null === a2 || null !== a2.memoizedState) + e3 |= 1; + G$2(M$1, e3 & 1); + if (null === a2) { + Eg(b2); + a2 = b2.memoizedState; + if (null !== a2 && (a2 = a2.dehydrated, null !== a2)) + return 0 === (b2.mode & 1) ? b2.lanes = 1 : "$!" === a2.data ? b2.lanes = 8 : b2.lanes = 1073741824, null; + g2 = d2.children; + a2 = d2.fallback; + return f2 ? (d2 = b2.mode, f2 = b2.child, g2 = { mode: "hidden", children: g2 }, 0 === (d2 & 1) && null !== f2 ? (f2.childLanes = 0, f2.pendingProps = g2) : f2 = qj(g2, d2, 0, null), a2 = Ah(a2, d2, c2, null), f2.return = b2, a2.return = b2, f2.sibling = a2, b2.child = f2, b2.child.memoizedState = oj(c2), b2.memoizedState = nj, a2) : rj(b2, g2); + } + e3 = a2.memoizedState; + if (null !== e3 && (h2 = e3.dehydrated, null !== h2)) + return sj(a2, b2, g2, d2, h2, e3, c2); + if (f2) { + f2 = d2.fallback; + g2 = b2.mode; + e3 = a2.child; + h2 = e3.sibling; + var k2 = { mode: "hidden", children: d2.children }; + 0 === (g2 & 1) && b2.child !== e3 ? (d2 = b2.child, d2.childLanes = 0, d2.pendingProps = k2, b2.deletions = null) : (d2 = wh(e3, k2), d2.subtreeFlags = e3.subtreeFlags & 14680064); + null !== h2 ? f2 = wh(h2, f2) : (f2 = Ah(f2, g2, c2, null), f2.flags |= 2); + f2.return = b2; + d2.return = b2; + d2.sibling = f2; + b2.child = d2; + d2 = f2; + f2 = b2.child; + g2 = a2.child.memoizedState; + g2 = null === g2 ? oj(c2) : { baseLanes: g2.baseLanes | c2, cachePool: null, transitions: g2.transitions }; + f2.memoizedState = g2; + f2.childLanes = a2.childLanes & ~c2; + b2.memoizedState = nj; + return d2; + } + f2 = a2.child; + a2 = f2.sibling; + d2 = wh(f2, { mode: "visible", children: d2.children }); + 0 === (b2.mode & 1) && (d2.lanes = c2); + d2.return = b2; + d2.sibling = null; + null !== a2 && (c2 = b2.deletions, null === c2 ? (b2.deletions = [a2], b2.flags |= 16) : c2.push(a2)); + b2.child = d2; + b2.memoizedState = null; + return d2; +} +function rj(a2, b2) { + b2 = qj({ mode: "visible", children: b2 }, a2.mode, 0, null); + b2.return = a2; + return a2.child = b2; +} +function tj(a2, b2, c2, d2) { + null !== d2 && Jg(d2); + Bh(b2, a2.child, null, c2); + a2 = rj(b2, b2.pendingProps.children); + a2.flags |= 2; + b2.memoizedState = null; + return a2; +} +function sj(a2, b2, c2, d2, e3, f2, g2) { + if (c2) { + if (b2.flags & 256) + return b2.flags &= -257, d2 = Li$1(Error(p$3(422))), tj(a2, b2, g2, d2); + if (null !== b2.memoizedState) + return b2.child = a2.child, b2.flags |= 128, null; + f2 = d2.fallback; + e3 = b2.mode; + d2 = qj({ mode: "visible", children: d2.children }, e3, 0, null); + f2 = Ah(f2, e3, g2, null); + f2.flags |= 2; + d2.return = b2; + f2.return = b2; + d2.sibling = f2; + b2.child = d2; + 0 !== (b2.mode & 1) && Bh(b2, a2.child, null, g2); + b2.child.memoizedState = oj(g2); + b2.memoizedState = nj; + return f2; + } + if (0 === (b2.mode & 1)) + return tj(a2, b2, g2, null); + if ("$!" === e3.data) { + d2 = e3.nextSibling && e3.nextSibling.dataset; + if (d2) + var h2 = d2.dgst; + d2 = h2; + f2 = Error(p$3(419)); + d2 = Li$1(f2, d2, void 0); + return tj(a2, b2, g2, d2); + } + h2 = 0 !== (g2 & a2.childLanes); + if (Ug || h2) { + d2 = R$1; + if (null !== d2) { + switch (g2 & -g2) { + case 4: + e3 = 2; + break; + case 16: + e3 = 8; + break; + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + e3 = 32; + break; + case 536870912: + e3 = 268435456; + break; + default: + e3 = 0; + } + e3 = 0 !== (e3 & (d2.suspendedLanes | g2)) ? 0 : e3; + 0 !== e3 && e3 !== f2.retryLane && (f2.retryLane = e3, Zg(a2, e3), mh(d2, a2, e3, -1)); + } + uj(); + d2 = Li$1(Error(p$3(421))); + return tj(a2, b2, g2, d2); + } + if ("$?" === e3.data) + return b2.flags |= 128, b2.child = a2.child, b2 = vj.bind(null, a2), e3._reactRetry = b2, null; + a2 = f2.treeContext; + yg = Lf(e3.nextSibling); + xg = b2; + I$1 = true; + zg = null; + null !== a2 && (og[pg++] = rg, og[pg++] = sg, og[pg++] = qg, rg = a2.id, sg = a2.overflow, qg = b2); + b2 = rj(b2, d2.children); + b2.flags |= 4096; + return b2; +} +function wj(a2, b2, c2) { + a2.lanes |= b2; + var d2 = a2.alternate; + null !== d2 && (d2.lanes |= b2); + Sg(a2.return, b2, c2); +} +function xj(a2, b2, c2, d2, e3) { + var f2 = a2.memoizedState; + null === f2 ? a2.memoizedState = { isBackwards: b2, rendering: null, renderingStartTime: 0, last: d2, tail: c2, tailMode: e3 } : (f2.isBackwards = b2, f2.rendering = null, f2.renderingStartTime = 0, f2.last = d2, f2.tail = c2, f2.tailMode = e3); +} +function yj(a2, b2, c2) { + var d2 = b2.pendingProps, e3 = d2.revealOrder, f2 = d2.tail; + Yi$1(a2, b2, d2.children, c2); + d2 = M$1.current; + if (0 !== (d2 & 2)) + d2 = d2 & 1 | 2, b2.flags |= 128; + else { + if (null !== a2 && 0 !== (a2.flags & 128)) + a: + for (a2 = b2.child; null !== a2; ) { + if (13 === a2.tag) + null !== a2.memoizedState && wj(a2, c2, b2); + else if (19 === a2.tag) + wj(a2, c2, b2); + else if (null !== a2.child) { + a2.child.return = a2; + a2 = a2.child; + continue; + } + if (a2 === b2) + break a; + for (; null === a2.sibling; ) { + if (null === a2.return || a2.return === b2) + break a; + a2 = a2.return; + } + a2.sibling.return = a2.return; + a2 = a2.sibling; + } + d2 &= 1; + } + G$2(M$1, d2); + if (0 === (b2.mode & 1)) + b2.memoizedState = null; + else + switch (e3) { + case "forwards": + c2 = b2.child; + for (e3 = null; null !== c2; ) + a2 = c2.alternate, null !== a2 && null === Mh(a2) && (e3 = c2), c2 = c2.sibling; + c2 = e3; + null === c2 ? (e3 = b2.child, b2.child = null) : (e3 = c2.sibling, c2.sibling = null); + xj(b2, false, e3, c2, f2); + break; + case "backwards": + c2 = null; + e3 = b2.child; + for (b2.child = null; null !== e3; ) { + a2 = e3.alternate; + if (null !== a2 && null === Mh(a2)) { + b2.child = e3; + break; + } + a2 = e3.sibling; + e3.sibling = c2; + c2 = e3; + e3 = a2; + } + xj(b2, true, c2, null, f2); + break; + case "together": + xj(b2, false, null, null, void 0); + break; + default: + b2.memoizedState = null; + } + return b2.child; +} +function jj(a2, b2) { + 0 === (b2.mode & 1) && null !== a2 && (a2.alternate = null, b2.alternate = null, b2.flags |= 2); +} +function $i$1(a2, b2, c2) { + null !== a2 && (b2.dependencies = a2.dependencies); + hh |= b2.lanes; + if (0 === (c2 & b2.childLanes)) + return null; + if (null !== a2 && b2.child !== a2.child) + throw Error(p$3(153)); + if (null !== b2.child) { + a2 = b2.child; + c2 = wh(a2, a2.pendingProps); + b2.child = c2; + for (c2.return = b2; null !== a2.sibling; ) + a2 = a2.sibling, c2 = c2.sibling = wh(a2, a2.pendingProps), c2.return = b2; + c2.sibling = null; + } + return b2.child; +} +function zj(a2, b2, c2) { + switch (b2.tag) { + case 3: + lj(b2); + Ig(); + break; + case 5: + Kh(b2); + break; + case 1: + Zf(b2.type) && cg(b2); + break; + case 4: + Ih(b2, b2.stateNode.containerInfo); + break; + case 10: + var d2 = b2.type._context, e3 = b2.memoizedProps.value; + G$2(Mg, d2._currentValue); + d2._currentValue = e3; + break; + case 13: + d2 = b2.memoizedState; + if (null !== d2) { + if (null !== d2.dehydrated) + return G$2(M$1, M$1.current & 1), b2.flags |= 128, null; + if (0 !== (c2 & b2.child.childLanes)) + return pj(a2, b2, c2); + G$2(M$1, M$1.current & 1); + a2 = $i$1(a2, b2, c2); + return null !== a2 ? a2.sibling : null; + } + G$2(M$1, M$1.current & 1); + break; + case 19: + d2 = 0 !== (c2 & b2.childLanes); + if (0 !== (a2.flags & 128)) { + if (d2) + return yj(a2, b2, c2); + b2.flags |= 128; + } + e3 = b2.memoizedState; + null !== e3 && (e3.rendering = null, e3.tail = null, e3.lastEffect = null); + G$2(M$1, M$1.current); + if (d2) + break; + else + return null; + case 22: + case 23: + return b2.lanes = 0, ej(a2, b2, c2); + } + return $i$1(a2, b2, c2); +} +var Aj, Bj, Cj, Dj; +Aj = function(a2, b2) { + for (var c2 = b2.child; null !== c2; ) { + if (5 === c2.tag || 6 === c2.tag) + a2.appendChild(c2.stateNode); + else if (4 !== c2.tag && null !== c2.child) { + c2.child.return = c2; + c2 = c2.child; + continue; + } + if (c2 === b2) + break; + for (; null === c2.sibling; ) { + if (null === c2.return || c2.return === b2) + return; + c2 = c2.return; + } + c2.sibling.return = c2.return; + c2 = c2.sibling; + } +}; +Bj = function() { +}; +Cj = function(a2, b2, c2, d2) { + var e3 = a2.memoizedProps; + if (e3 !== d2) { + a2 = b2.stateNode; + Hh(Eh.current); + var f2 = null; + switch (c2) { + case "input": + e3 = Ya(a2, e3); + d2 = Ya(a2, d2); + f2 = []; + break; + case "select": + e3 = A$4({}, e3, { value: void 0 }); + d2 = A$4({}, d2, { value: void 0 }); + f2 = []; + break; + case "textarea": + e3 = gb(a2, e3); + d2 = gb(a2, d2); + f2 = []; + break; + default: + "function" !== typeof e3.onClick && "function" === typeof d2.onClick && (a2.onclick = Bf); + } + ub(c2, d2); + var g2; + c2 = null; + for (l2 in e3) + if (!d2.hasOwnProperty(l2) && e3.hasOwnProperty(l2) && null != e3[l2]) + if ("style" === l2) { + var h2 = e3[l2]; + for (g2 in h2) + h2.hasOwnProperty(g2) && (c2 || (c2 = {}), c2[g2] = ""); + } else + "dangerouslySetInnerHTML" !== l2 && "children" !== l2 && "suppressContentEditableWarning" !== l2 && "suppressHydrationWarning" !== l2 && "autoFocus" !== l2 && (ea.hasOwnProperty(l2) ? f2 || (f2 = []) : (f2 = f2 || []).push(l2, null)); + for (l2 in d2) { + var k2 = d2[l2]; + h2 = null != e3 ? e3[l2] : void 0; + if (d2.hasOwnProperty(l2) && k2 !== h2 && (null != k2 || null != h2)) + if ("style" === l2) + if (h2) { + for (g2 in h2) + !h2.hasOwnProperty(g2) || k2 && k2.hasOwnProperty(g2) || (c2 || (c2 = {}), c2[g2] = ""); + for (g2 in k2) + k2.hasOwnProperty(g2) && h2[g2] !== k2[g2] && (c2 || (c2 = {}), c2[g2] = k2[g2]); + } else + c2 || (f2 || (f2 = []), f2.push( + l2, + c2 + )), c2 = k2; + else + "dangerouslySetInnerHTML" === l2 ? (k2 = k2 ? k2.__html : void 0, h2 = h2 ? h2.__html : void 0, null != k2 && h2 !== k2 && (f2 = f2 || []).push(l2, k2)) : "children" === l2 ? "string" !== typeof k2 && "number" !== typeof k2 || (f2 = f2 || []).push(l2, "" + k2) : "suppressContentEditableWarning" !== l2 && "suppressHydrationWarning" !== l2 && (ea.hasOwnProperty(l2) ? (null != k2 && "onScroll" === l2 && D$2("scroll", a2), f2 || h2 === k2 || (f2 = [])) : (f2 = f2 || []).push(l2, k2)); + } + c2 && (f2 = f2 || []).push("style", c2); + var l2 = f2; + if (b2.updateQueue = l2) + b2.flags |= 4; + } +}; +Dj = function(a2, b2, c2, d2) { + c2 !== d2 && (b2.flags |= 4); +}; +function Ej(a2, b2) { + if (!I$1) + switch (a2.tailMode) { + case "hidden": + b2 = a2.tail; + for (var c2 = null; null !== b2; ) + null !== b2.alternate && (c2 = b2), b2 = b2.sibling; + null === c2 ? a2.tail = null : c2.sibling = null; + break; + case "collapsed": + c2 = a2.tail; + for (var d2 = null; null !== c2; ) + null !== c2.alternate && (d2 = c2), c2 = c2.sibling; + null === d2 ? b2 || null === a2.tail ? a2.tail = null : a2.tail.sibling = null : d2.sibling = null; + } +} +function S$2(a2) { + var b2 = null !== a2.alternate && a2.alternate.child === a2.child, c2 = 0, d2 = 0; + if (b2) + for (var e3 = a2.child; null !== e3; ) + c2 |= e3.lanes | e3.childLanes, d2 |= e3.subtreeFlags & 14680064, d2 |= e3.flags & 14680064, e3.return = a2, e3 = e3.sibling; + else + for (e3 = a2.child; null !== e3; ) + c2 |= e3.lanes | e3.childLanes, d2 |= e3.subtreeFlags, d2 |= e3.flags, e3.return = a2, e3 = e3.sibling; + a2.subtreeFlags |= d2; + a2.childLanes = c2; + return b2; +} +function Fj(a2, b2, c2) { + var d2 = b2.pendingProps; + wg(b2); + switch (b2.tag) { + case 2: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return S$2(b2), null; + case 1: + return Zf(b2.type) && $f(), S$2(b2), null; + case 3: + d2 = b2.stateNode; + Jh(); + E$1(Wf); + E$1(H$2); + Oh(); + d2.pendingContext && (d2.context = d2.pendingContext, d2.pendingContext = null); + if (null === a2 || null === a2.child) + Gg(b2) ? b2.flags |= 4 : null === a2 || a2.memoizedState.isDehydrated && 0 === (b2.flags & 256) || (b2.flags |= 1024, null !== zg && (Gj(zg), zg = null)); + Bj(a2, b2); + S$2(b2); + return null; + case 5: + Lh(b2); + var e3 = Hh(Gh.current); + c2 = b2.type; + if (null !== a2 && null != b2.stateNode) + Cj(a2, b2, c2, d2, e3), a2.ref !== b2.ref && (b2.flags |= 512, b2.flags |= 2097152); + else { + if (!d2) { + if (null === b2.stateNode) + throw Error(p$3(166)); + S$2(b2); + return null; + } + a2 = Hh(Eh.current); + if (Gg(b2)) { + d2 = b2.stateNode; + c2 = b2.type; + var f2 = b2.memoizedProps; + d2[Of] = b2; + d2[Pf] = f2; + a2 = 0 !== (b2.mode & 1); + switch (c2) { + case "dialog": + D$2("cancel", d2); + D$2("close", d2); + break; + case "iframe": + case "object": + case "embed": + D$2("load", d2); + break; + case "video": + case "audio": + for (e3 = 0; e3 < lf.length; e3++) + D$2(lf[e3], d2); + break; + case "source": + D$2("error", d2); + break; + case "img": + case "image": + case "link": + D$2( + "error", + d2 + ); + D$2("load", d2); + break; + case "details": + D$2("toggle", d2); + break; + case "input": + Za(d2, f2); + D$2("invalid", d2); + break; + case "select": + d2._wrapperState = { wasMultiple: !!f2.multiple }; + D$2("invalid", d2); + break; + case "textarea": + hb(d2, f2), D$2("invalid", d2); + } + ub(c2, f2); + e3 = null; + for (var g2 in f2) + if (f2.hasOwnProperty(g2)) { + var h2 = f2[g2]; + "children" === g2 ? "string" === typeof h2 ? d2.textContent !== h2 && (true !== f2.suppressHydrationWarning && Af(d2.textContent, h2, a2), e3 = ["children", h2]) : "number" === typeof h2 && d2.textContent !== "" + h2 && (true !== f2.suppressHydrationWarning && Af( + d2.textContent, + h2, + a2 + ), e3 = ["children", "" + h2]) : ea.hasOwnProperty(g2) && null != h2 && "onScroll" === g2 && D$2("scroll", d2); + } + switch (c2) { + case "input": + Va(d2); + db(d2, f2, true); + break; + case "textarea": + Va(d2); + jb(d2); + break; + case "select": + case "option": + break; + default: + "function" === typeof f2.onClick && (d2.onclick = Bf); + } + d2 = e3; + b2.updateQueue = d2; + null !== d2 && (b2.flags |= 4); + } else { + g2 = 9 === e3.nodeType ? e3 : e3.ownerDocument; + "http://www.w3.org/1999/xhtml" === a2 && (a2 = kb(c2)); + "http://www.w3.org/1999/xhtml" === a2 ? "script" === c2 ? (a2 = g2.createElement("div"), a2.innerHTML = "