9remote 2.3.1 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "9remote",
3
- "version": "2.3.1",
3
+ "version": "2.3.4",
4
4
  "type": "module",
5
5
  "description": "Remote terminal access from anywhere",
6
6
  "main": "dist/server.cjs",
@@ -1,8 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))x(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&x(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function x(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();var Jn,se,K0,Pe,Wt,O0,q0,Xn,dn,xn,F0,Bt,Ct,Dt,hn={},gn=[],Gx=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Vn=Array.isArray;function Ne(e,t){for(var n in t)e[n]=t[n];return e}function Gt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Ux(e,t,n){var x,r,a,s={};for(a in t)a=="key"?x=t[a]:a=="ref"?r=t[a]:s[a]=t[a];if(arguments.length>2&&(s.children=arguments.length>3?Jn.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)s[a]===void 0&&(s[a]=e.defaultProps[a]);return mn(e,s,x,r,null)}function mn(e,t,n,x,r){var a={type:e,props:t,key:n,ref:x,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:r??++K0,__i:-1,__u:0};return r==null&&se.vnode!=null&&se.vnode(a),a}function Ke(e){return e.children}function pn(e,t){this.props=e,this.context=t}function Qe(e,t){if(t==null)return e.__?Qe(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?Qe(e):null}function zx(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,x=[],r=[],a=Ne({},t);a.__v=t.__v+1,se.vnode&&se.vnode(a),Ut(e.__P,a,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,x,n??Qe(t),!!(32&t.__u),r),a.__v=t.__v,a.__.__k[a.__i]=a,Q0(x,a,r),t.__e=t.__=null,a.__e!=n&&H0(a)}}function H0(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),H0(e)}function Jt(e){(!e.__d&&(e.__d=!0)&&Pe.push(e)&&!bn.__r++||Wt!=se.debounceRendering)&&((Wt=se.debounceRendering)||O0)(bn)}function bn(){try{for(var e,t=1;Pe.length;)Pe.length>t&&Pe.sort(q0),e=Pe.shift(),t=Pe.length,zx(e)}finally{Pe.length=bn.__r=0}}function W0(e,t,n,x,r,a,s,i,l,u,p){var g,c,m,h,v,J,b,_=x&&x.__k||gn,S=t.length;for(l=Lx(n,t,_,l,S),g=0;g<S;g++)(m=n.__k[g])!=null&&(c=m.__i!=-1&&_[m.__i]||hn,m.__i=g,J=Ut(e,m,c,r,a,s,i,l,u,p),h=m.__e,m.ref&&c.ref!=m.ref&&(c.ref&&zt(c.ref,null,m),p.push(m.ref,m.__c||h,m)),v==null&&h!=null&&(v=h),(b=!!(4&m.__u))||c.__k===m.__k?(l=J0(m,l,e,b),b&&c.__e&&(c.__e=null)):typeof m.type=="function"&&J!==void 0?l=J:h&&(l=h.nextSibling),m.__u&=-7);return n.__e=v,l}function Lx(e,t,n,x,r){var a,s,i,l,u,p=n.length,g=p,c=0;for(e.__k=new Array(r),a=0;a<r;a++)(s=t[a])!=null&&typeof s!="boolean"&&typeof s!="function"?(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||s.constructor==String?s=e.__k[a]=mn(null,s,null,null,null):Vn(s)?s=e.__k[a]=mn(Ke,{children:s},null,null,null):s.constructor===void 0&&s.__b>0?s=e.__k[a]=mn(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):e.__k[a]=s,l=a+c,s.__=e,s.__b=e.__b+1,i=null,(u=s.__i=jx(s,n,l,g))!=-1&&(g--,(i=n[u])&&(i.__u|=2)),i==null||i.__v==null?(u==-1&&(r>p?c--:r<p&&c++),typeof s.type!="function"&&(s.__u|=4)):u!=l&&(u==l-1?c--:u==l+1?c++:(u>l?c--:c++,s.__u|=4))):e.__k[a]=null;if(g)for(a=0;a<p;a++)(i=n[a])!=null&&(2&i.__u)==0&&(i.__e==x&&(x=Qe(i)),Z0(i,i));return x}function J0(e,t,n,x){var r,a;if(typeof e.type=="function"){for(r=e.__k,a=0;r&&a<r.length;a++)r[a]&&(r[a].__=e,t=J0(r[a],t,n,x));return t}e.__e!=t&&(x&&(t&&e.type&&!t.parentNode&&(t=Qe(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function jx(e,t,n,x){var r,a,s,i=e.key,l=e.type,u=t[n],p=u!=null&&(2&u.__u)==0;if(u===null&&i==null||p&&i==u.key&&l==u.type)return n;if(x>(p?1:0)){for(r=n-1,a=n+1;r>=0||a<t.length;)if((u=t[s=r>=0?r--:a++])!=null&&(2&u.__u)==0&&i==u.key&&l==u.type)return s}return-1}function Vt(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||Gx.test(t)?n:n+"px"}function on(e,t,n,x,r){var a,s;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof x=="string"&&(e.style.cssText=x=""),x)for(t in x)n&&t in n||Vt(e.style,t,"");if(n)for(t in n)x&&n[t]==x[t]||Vt(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")a=t!=(t=t.replace(F0,"$1")),s=t.toLowerCase(),t=s in e||t=="onFocusOut"||t=="onFocusIn"?s.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?x?n[xn]=x[xn]:(n[xn]=Bt,e.addEventListener(t,a?Dt:Ct,a)):e.removeEventListener(t,a?Dt:Ct,a);else{if(r=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Qt(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[dn]==null)t[dn]=Bt++;else if(t[dn]<n[xn])return;return n(se.event?se.event(t):t)}}}function Ut(e,t,n,x,r,a,s,i,l,u){var p,g,c,m,h,v,J,b,_,S,E,oe,k,T,N,w,I=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(l=!!(32&n.__u),a=[i=t.__e=n.__e]),(p=se.__b)&&p(t);e:if(typeof I=="function"){g=s.length;try{if(_=t.props,S=I.prototype&&I.prototype.render,E=(p=I.contextType)&&x[p.__c],oe=p?E?E.props.value:p.__:x,n.__c?b=(c=t.__c=n.__c).__=c.__E:(S?t.__c=c=new I(_,oe):(t.__c=c=new pn(_,oe),c.constructor=I,c.render=Ox),E&&E.sub(c),c.state||(c.state={}),c.__n=x,m=c.__d=!0,c.__h=[],c._sb=[]),S&&c.__s==null&&(c.__s=c.state),S&&I.getDerivedStateFromProps!=null&&(c.__s==c.state&&(c.__s=Ne({},c.__s)),Ne(c.__s,I.getDerivedStateFromProps(_,c.__s))),h=c.props,v=c.state,c.__v=t,m)S&&I.getDerivedStateFromProps==null&&c.componentWillMount!=null&&c.componentWillMount(),S&&c.componentDidMount!=null&&c.__h.push(c.componentDidMount);else{if(S&&I.getDerivedStateFromProps==null&&_!==h&&c.componentWillReceiveProps!=null&&c.componentWillReceiveProps(_,oe),t.__v==n.__v||!c.__e&&c.shouldComponentUpdate!=null&&c.shouldComponentUpdate(_,c.__s,oe)===!1){t.__v!=n.__v&&(c.props=_,c.state=c.__s,c.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(C){C&&(C.__=t)}),gn.push.apply(c.__h,c._sb),c._sb=[],c.__h.length&&s.push(c);break e}c.componentWillUpdate!=null&&c.componentWillUpdate(_,c.__s,oe),S&&c.componentDidUpdate!=null&&c.__h.push(function(){c.componentDidUpdate(h,v,J)})}if(c.context=oe,c.props=_,c.__P=e,c.__e=!1,k=se.__r,T=0,S)c.state=c.__s,c.__d=!1,k&&k(t),p=c.render(c.props,c.state,c.context),gn.push.apply(c.__h,c._sb),c._sb=[];else do c.__d=!1,k&&k(t),p=c.render(c.props,c.state,c.context),c.state=c.__s;while(c.__d&&++T<25);c.state=c.__s,c.getChildContext!=null&&(x=Ne(Ne({},x),c.getChildContext())),S&&!m&&c.getSnapshotBeforeUpdate!=null&&(J=c.getSnapshotBeforeUpdate(h,v)),N=p!=null&&p.type===Ke&&p.key==null?Y0(p.props.children):p,i=W0(e,Vn(N)?N:[N],t,n,x,r,a,s,i,l,u),c.base=t.__e,t.__u&=-161,c.__h.length&&s.push(c),b&&(c.__E=c.__=null)}catch(C){if(s.length=g,t.__v=null,l||a!=null){if(C.then){for(t.__u|=l?160:128;i&&i.nodeType==8&&i.nextSibling;)i=i.nextSibling;a!=null&&(a[a.indexOf(i)]=null),t.__e=i}else if(a!=null)for(w=a.length;w--;)Gt(a[w])}else t.__e=n.__e;t.__k==null&&(t.__k=n.__k||[]),C.then||V0(t),se.__e(C,t,n)}}else a==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):i=t.__e=Kx(n.__e,t,n,x,r,a,s,l,u);return(p=se.diffed)&&p(t),128&t.__u?void 0:i}function V0(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(V0))}function Q0(e,t,n){for(var x=0;x<n.length;x++)zt(n[x],n[++x],n[++x]);se.__c&&se.__c(t,e),e.some(function(r){try{e=r.__h,r.__h=[],e.some(function(a){a.call(r)})}catch(a){se.__e(a,r.__v)}})}function Y0(e){return typeof e!="object"||e==null||e.__b>0?e:Vn(e)?e.map(Y0):e.constructor!==void 0?null:Ne({},e)}function Kx(e,t,n,x,r,a,s,i,l){var u,p,g,c,m,h,v,J=n.props||hn,b=t.props,_=t.type;if(_=="svg"?r="http://www.w3.org/2000/svg":_=="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),a!=null){for(u=0;u<a.length;u++)if((m=a[u])&&"setAttribute"in m==!!_&&(_?m.localName==_:m.nodeType==3)){e=m,a[u]=null;break}}if(e==null){if(_==null)return document.createTextNode(b);e=document.createElementNS(r,_,b.is&&b),i&&(se.__m&&se.__m(t,a),i=!1),a=null}if(_==null)J===b||i&&e.data==b||(e.data=b);else{if(a=_=="textarea"&&b.defaultValue!=null?null:a&&Jn.call(e.childNodes),!i&&a!=null)for(J={},u=0;u<e.attributes.length;u++)J[(m=e.attributes[u]).name]=m.value;for(u in J)m=J[u],u=="dangerouslySetInnerHTML"?g=m:u=="children"||u in b||u=="value"&&"defaultValue"in b||u=="checked"&&"defaultChecked"in b||on(e,u,null,m,r);for(u in b)m=b[u],u=="children"?c=m:u=="dangerouslySetInnerHTML"?p=m:u=="value"?h=m:u=="checked"?v=m:i&&typeof m!="function"||J[u]===m||on(e,u,m,J[u],r);if(p)i||g&&(p.__html==g.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(g&&(e.innerHTML=""),W0(t.type=="template"?e.content:e,Vn(c)?c:[c],t,n,x,_=="foreignObject"?"http://www.w3.org/1999/xhtml":r,a,s,a?a[0]:n.__k&&Qe(n,0),i,l),a!=null)for(u=a.length;u--;)Gt(a[u]);i&&_!="textarea"||(u="value",_=="progress"&&h==null?e.removeAttribute("value"):h!=null&&(h!==e[u]||_=="progress"&&!h||_=="option"&&h!=J[u])&&on(e,u,h,J[u],r),u="checked",v!=null&&v!=e[u]&&on(e,u,v,J[u],r))}return e}function zt(e,t,n){try{if(typeof e=="function"){var x=typeof e.__u=="function";x&&e.__u(),x&&t==null||(e.__u=e(t))}else e.current=t}catch(r){se.__e(r,n)}}function Z0(e,t,n){var x,r;if(se.unmount&&se.unmount(e),(x=e.ref)&&(x.current&&x.current!=e.__e||zt(x,null,t)),(x=e.__c)!=null){if(x.componentWillUnmount)try{x.componentWillUnmount()}catch(a){se.__e(a,t)}x.base=x.__P=x.__n=null}if(x=e.__k)for(r=0;r<x.length;r++)x[r]&&Z0(x[r],t,n||typeof e.type!="function");n||Gt(e.__e),e.__c=e.__=e.__e=void 0}function Ox(e,t,n){return this.constructor(e,n)}function qx(e,t,n){var x,r,a,s;t==document&&(t=document.documentElement),se.__&&se.__(e,t),r=(x=!1)?null:t.__k,a=[],s=[],Ut(t,e=t.__k=Ux(Ke,null,[e]),r||hn,hn,t.namespaceURI,r?null:t.firstChild?Jn.call(t.childNodes):null,a,r?r.__e:t.firstChild,x,s),Q0(a,e,s),e.props.children=null}Jn=gn.slice,se={__e:function(e,t,n,x){for(var r,a,s;t=t.__;)if((r=t.__c)&&!r.__)try{if((a=r.constructor)&&a.getDerivedStateFromError!=null&&(r.setState(a.getDerivedStateFromError(e)),s=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(e,x||{}),s=r.__d),s)return r.__E=r}catch(i){e=i}throw e}},K0=0,pn.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=Ne({},this.state),typeof e=="function"&&(e=e(Ne({},n),this.props)),e&&Ne(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Jt(this))},pn.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Jt(this))},pn.prototype.render=Ke,Pe=[],O0=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,q0=function(e,t){return e.__v.__b-t.__v.__b},bn.__r=0,Xn=Math.random().toString(8),dn="__d"+Xn,xn="__a"+Xn,F0=/(PointerCapture)$|Capture$/i,Bt=0,Ct=Qt(!1),Dt=Qt(!0);var Fx=0;function o(e,t,n,x,r,a){t||(t={});var s,i,l=t;if("ref"in l)for(i in l={},t)i=="ref"?s=t[i]:l[i]=t[i];var u={type:e,props:l,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Fx,__i:-1,__u:0,__source:r,__self:a};if(typeof e=="function"&&(s=e.defaultProps))for(i in s)l[i]===void 0&&(l[i]=s[i]);return se.vnode&&se.vnode(u),u}var rn,ue,$n,Yt,vn=0,X0=[],de=se,Zt=de.__b,Xt=de.__r,$t=de.diffed,e0=de.__c,n0=de.unmount,t0=de.__;function Lt(e,t){de.__h&&de.__h(ue,e,vn||t),vn=0;var n=ue.__H||(ue.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function ae(e){return vn=1,Hx(nx,e)}function Hx(e,t,n){var x=Lt(rn++,2);if(x.t=e,!x.__c&&(x.__=[nx(void 0,t),function(i){var l=x.__N?x.__N[0]:x.__[0],u=x.t(l,i);l!==u&&(x.__N=[u,x.__[1]],x.__c.setState({}))}],x.__c=ue,!ue.__f)){var r=function(i,l,u){if(!x.__c.__H)return!0;var p=!1,g=x.__c.props!==i;if(x.__c.__H.__.some(function(m){if(m.__N){p=!0;var h=m.__[0];m.__=m.__N,m.__N=void 0,h!==m.__[0]&&(g=!0)}}),a){var c=a.call(this,i,l,u);return p?c||g:c}return!p||g};ue.__f=!0;var a=ue.shouldComponentUpdate,s=ue.componentWillUpdate;ue.componentWillUpdate=function(i,l,u){if(this.__e){var p=a;a=void 0,r(i,l,u),a=p}s&&s.call(this,i,l,u)},ue.shouldComponentUpdate=r}return x.__N||x.__}function ge(e,t){var n=Lt(rn++,3);!de.__s&&ex(n.__H,t)&&(n.__=e,n.u=t,ue.__H.__h.push(n))}function je(e){return vn=5,Wx(function(){return{current:e}},[])}function Wx(e,t){var n=Lt(rn++,7);return ex(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function x0(){for(var e;e=X0.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Tt),t.__h.some($0),t.__h=[]}catch(n){t.__h=[],de.__e(n,e.__v)}}}de.__b=function(e){ue=null,Zt&&Zt(e)},de.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),t0&&t0(e,t)},de.__r=function(e){Xt&&Xt(e),rn=0;var t=(ue=e.__c).__H;t&&($n===ue?(t.__h=[],ue.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.length&&x0(),rn=0)),$n=ue},de.diffed=function(e){$t&&$t(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(X0.push(t)!==1&&Yt===de.requestAnimationFrame||((Yt=de.requestAnimationFrame)||Jx)(x0)),t.__H.__.some(function(n){n.u&&(n.__H=n.u,n.u=void 0)})),$n=ue=null},de.__c=function(e,t){t.some(function(n){try{n.__h.some(Tt),n.__h=n.__h.filter(function(x){return!x.__||$0(x)})}catch(x){t.some(function(r){r.__h&&(r.__h=[])}),t=[],de.__e(x,n.__v)}}),e0&&e0(e,t)},de.unmount=function(e){n0&&n0(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(x){try{Tt(x)}catch(r){t=r}}),n.__H=void 0,t&&de.__e(t,n.__v))};var r0=typeof requestAnimationFrame=="function";function Jx(e){var t,n=function(){clearTimeout(x),r0&&cancelAnimationFrame(t),setTimeout(e)},x=setTimeout(n,35);r0&&(t=requestAnimationFrame(n))}function Tt(e){var t=ue,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),ue=t}function $0(e){var t=ue;e.__c=e.__(),ue=t}function ex(e,t){return!e||e.length!==t.length||t.some(function(n,x){return n!==e[x]})}function nx(e,t){return typeof t=="function"?t(e):t}const Vx=e=>[{icon:"download",label:e("steps.preparing"),desc:e("steps.checkingTunnel")},{icon:"cloud_sync",label:e("steps.connecting"),desc:e("steps.creatingSession")},{icon:"lan",label:e("steps.tunneling"),desc:e("steps.startingTunnel")},{icon:"verified",label:e("steps.verifying"),desc:e("steps.healthCheck")},{icon:"check_circle",label:e("steps.ready"),desc:e("steps.connected")}],Qx=3;function Yx({currentStep:e,activeDesc:t="",healthCheck:n,t:x}){var i;const r=e-1,a=(i=n==null?void 0:n.logs)!=null&&i.length?n.logs[n.logs.length-1]:null,s=Vx(x);return o("div",{className:"glass-card p-5 flex flex-col gap-4",children:[o("span",{className:"text-xs font-medium uppercase tracking-wider",style:{color:"var(--text-muted)"},children:x("steps.setupConnection")}),o("div",{className:"flex flex-col gap-3",children:s.map((l,u)=>{const p=u<r,g=u===r,c=g&&u===Qx;let m=g&&t?t:l.desc,h="var(--text-muted)";if(c&&a){const v=/^\d{3}$/.test(String(a.status));m=`#${a.attempt} → ${a.status}`,h=a.ok||a.waiting?"#22c55e":v?"#eab308":"#ef4444"}return o("div",{className:"flex items-center gap-3",children:[o("div",{className:"w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0",style:{background:p?"var(--brand-500)":g?"rgba(255,87,10,0.15)":"var(--glass-bg)",border:g?"1.5px solid var(--brand-500)":"1.5px solid transparent"},children:p?o("span",{className:"material-symbols-outlined text-white",style:{fontSize:16},children:"check"}):g?o("span",{className:"flex gap-0.5 items-center",children:[0,1,2].map(v=>o("span",{className:"w-1 h-1 rounded-full bg-orange-400 dot-bounce",style:{animationDelay:`${v*.18}s`}},v))}):o("span",{className:"material-symbols-outlined",style:{fontSize:16,color:"var(--text-muted)",opacity:.3},children:l.icon})}),o("div",{className:"flex-1 min-w-0",children:[o("p",{className:"text-sm font-medium",style:{color:p?"var(--text-muted)":g?"var(--text-main)":"var(--text-muted)",opacity:p||g?1:.4},children:l.label}),o("p",{className:"text-xs mt-0.5 truncate",style:{color:h,opacity:g?c&&a?.95:.7:.4,fontFamily:c&&a?"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace":void 0},children:m})]}),p&&o("span",{className:"text-xs flex-shrink-0",style:{color:"var(--text-muted)"},children:x("steps.done")}),g&&o("span",{className:"text-xs flex-shrink-0 px-2 py-0.5 rounded-full",style:{background:"rgba(255,87,10,0.15)",color:"var(--brand-400)"},children:x("steps.running")})]},u)})})]})}function Zx(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Je={},et,a0;function Xx(){return a0||(a0=1,et=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),et}var nt={},Ee={},o0;function Oe(){if(o0)return Ee;o0=1;let e;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return Ee.getSymbolSize=function(x){if(!x)throw new Error('"version" cannot be null or undefined');if(x<1||x>40)throw new Error('"version" should be in range from 1 to 40');return x*4+17},Ee.getSymbolTotalCodewords=function(x){return t[x]},Ee.getBCHDigit=function(n){let x=0;for(;n!==0;)x++,n>>>=1;return x},Ee.setToSJISFunction=function(x){if(typeof x!="function")throw new Error('"toSJISFunc" is not a valid function.');e=x},Ee.isKanjiModeEnabled=function(){return typeof e<"u"},Ee.toSJIS=function(x){return e(x)},Ee}var tt={},i0;function jt(){return i0||(i0=1,(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(x){return x&&typeof x.bit<"u"&&x.bit>=0&&x.bit<4},e.from=function(x,r){if(e.isValid(x))return x;try{return t(x)}catch{return r}}})(tt)),tt}var xt,s0;function $x(){if(s0)return xt;s0=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(t){const n=Math.floor(t/8);return(this.buffer[n]>>>7-t%8&1)===1},put:function(t,n){for(let x=0;x<n;x++)this.putBit((t>>>n-x-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),t&&(this.buffer[n]|=128>>>this.length%8),this.length++}},xt=e,xt}var rt,l0;function er(){if(l0)return rt;l0=1;function e(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return e.prototype.set=function(t,n,x,r){const a=t*this.size+n;this.data[a]=x,r&&(this.reservedBit[a]=!0)},e.prototype.get=function(t,n){return this.data[t*this.size+n]},e.prototype.xor=function(t,n,x){this.data[t*this.size+n]^=x},e.prototype.isReserved=function(t,n){return this.reservedBit[t*this.size+n]},rt=e,rt}var at={},c0;function nr(){return c0||(c0=1,(function(e){const t=Oe().getSymbolSize;e.getRowColCoords=function(x){if(x===1)return[];const r=Math.floor(x/7)+2,a=t(x),s=a===145?26:Math.ceil((a-13)/(2*r-2))*2,i=[a-7];for(let l=1;l<r-1;l++)i[l]=i[l-1]-s;return i.push(6),i.reverse()},e.getPositions=function(x){const r=[],a=e.getRowColCoords(x),s=a.length;for(let i=0;i<s;i++)for(let l=0;l<s;l++)i===0&&l===0||i===0&&l===s-1||i===s-1&&l===0||r.push([a[i],a[l]]);return r}})(at)),at}var ot={},u0;function tr(){if(u0)return ot;u0=1;const e=Oe().getSymbolSize,t=7;return ot.getPositions=function(x){const r=e(x);return[[0,0],[r-t,0],[0,r-t]]},ot}var it={},d0;function xr(){return d0||(d0=1,(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(r){return r!=null&&r!==""&&!isNaN(r)&&r>=0&&r<=7},e.from=function(r){return e.isValid(r)?parseInt(r,10):void 0},e.getPenaltyN1=function(r){const a=r.size;let s=0,i=0,l=0,u=null,p=null;for(let g=0;g<a;g++){i=l=0,u=p=null;for(let c=0;c<a;c++){let m=r.get(g,c);m===u?i++:(i>=5&&(s+=t.N1+(i-5)),u=m,i=1),m=r.get(c,g),m===p?l++:(l>=5&&(s+=t.N1+(l-5)),p=m,l=1)}i>=5&&(s+=t.N1+(i-5)),l>=5&&(s+=t.N1+(l-5))}return s},e.getPenaltyN2=function(r){const a=r.size;let s=0;for(let i=0;i<a-1;i++)for(let l=0;l<a-1;l++){const u=r.get(i,l)+r.get(i,l+1)+r.get(i+1,l)+r.get(i+1,l+1);(u===4||u===0)&&s++}return s*t.N2},e.getPenaltyN3=function(r){const a=r.size;let s=0,i=0,l=0;for(let u=0;u<a;u++){i=l=0;for(let p=0;p<a;p++)i=i<<1&2047|r.get(u,p),p>=10&&(i===1488||i===93)&&s++,l=l<<1&2047|r.get(p,u),p>=10&&(l===1488||l===93)&&s++}return s*t.N3},e.getPenaltyN4=function(r){let a=0;const s=r.data.length;for(let l=0;l<s;l++)a+=r.data[l];return Math.abs(Math.ceil(a*100/s/5)-10)*t.N4};function n(x,r,a){switch(x){case e.Patterns.PATTERN000:return(r+a)%2===0;case e.Patterns.PATTERN001:return r%2===0;case e.Patterns.PATTERN010:return a%3===0;case e.Patterns.PATTERN011:return(r+a)%3===0;case e.Patterns.PATTERN100:return(Math.floor(r/2)+Math.floor(a/3))%2===0;case e.Patterns.PATTERN101:return r*a%2+r*a%3===0;case e.Patterns.PATTERN110:return(r*a%2+r*a%3)%2===0;case e.Patterns.PATTERN111:return(r*a%3+(r+a)%2)%2===0;default:throw new Error("bad maskPattern:"+x)}}e.applyMask=function(r,a){const s=a.size;for(let i=0;i<s;i++)for(let l=0;l<s;l++)a.isReserved(l,i)||a.xor(l,i,n(r,l,i))},e.getBestMask=function(r,a){const s=Object.keys(e.Patterns).length;let i=0,l=1/0;for(let u=0;u<s;u++){a(u),e.applyMask(u,r);const p=e.getPenaltyN1(r)+e.getPenaltyN2(r)+e.getPenaltyN3(r)+e.getPenaltyN4(r);e.applyMask(u,r),p<l&&(l=p,i=u)}return i}})(it)),it}var sn={},m0;function tx(){if(m0)return sn;m0=1;const e=jt(),t=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],n=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return sn.getBlocksCount=function(r,a){switch(a){case e.L:return t[(r-1)*4+0];case e.M:return t[(r-1)*4+1];case e.Q:return t[(r-1)*4+2];case e.H:return t[(r-1)*4+3];default:return}},sn.getTotalCodewordsCount=function(r,a){switch(a){case e.L:return n[(r-1)*4+0];case e.M:return n[(r-1)*4+1];case e.Q:return n[(r-1)*4+2];case e.H:return n[(r-1)*4+3];default:return}},sn}var st={},tn={},p0;function rr(){if(p0)return tn;p0=1;const e=new Uint8Array(512),t=new Uint8Array(256);return(function(){let x=1;for(let r=0;r<255;r++)e[r]=x,t[x]=r,x<<=1,x&256&&(x^=285);for(let r=255;r<512;r++)e[r]=e[r-255]})(),tn.log=function(x){if(x<1)throw new Error("log("+x+")");return t[x]},tn.exp=function(x){return e[x]},tn.mul=function(x,r){return x===0||r===0?0:e[t[x]+t[r]]},tn}var f0;function ar(){return f0||(f0=1,(function(e){const t=rr();e.mul=function(x,r){const a=new Uint8Array(x.length+r.length-1);for(let s=0;s<x.length;s++)for(let i=0;i<r.length;i++)a[s+i]^=t.mul(x[s],r[i]);return a},e.mod=function(x,r){let a=new Uint8Array(x);for(;a.length-r.length>=0;){const s=a[0];for(let l=0;l<r.length;l++)a[l]^=t.mul(r[l],s);let i=0;for(;i<a.length&&a[i]===0;)i++;a=a.slice(i)}return a},e.generateECPolynomial=function(x){let r=new Uint8Array([1]);for(let a=0;a<x;a++)r=e.mul(r,new Uint8Array([1,t.exp(a)]));return r}})(st)),st}var lt,h0;function or(){if(h0)return lt;h0=1;const e=ar();function t(n){this.genPoly=void 0,this.degree=n,this.degree&&this.initialize(this.degree)}return t.prototype.initialize=function(x){this.degree=x,this.genPoly=e.generateECPolynomial(this.degree)},t.prototype.encode=function(x){if(!this.genPoly)throw new Error("Encoder not initialized");const r=new Uint8Array(x.length+this.degree);r.set(x);const a=e.mod(r,this.genPoly),s=this.degree-a.length;if(s>0){const i=new Uint8Array(this.degree);return i.set(a,s),i}return a},lt=t,lt}var ct={},ut={},dt={},g0;function xx(){return g0||(g0=1,dt.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),dt}var Ce={},b0;function rx(){if(b0)return Ce;b0=1;const e="[0-9]+",t="[A-Z $%*+\\-./:]+";let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const x="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r
2
- ]))+`;Ce.KANJI=new RegExp(n,"g"),Ce.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Ce.BYTE=new RegExp(x,"g"),Ce.NUMERIC=new RegExp(e,"g"),Ce.ALPHANUMERIC=new RegExp(t,"g");const r=new RegExp("^"+n+"$"),a=new RegExp("^"+e+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Ce.testKanji=function(l){return r.test(l)},Ce.testNumeric=function(l){return a.test(l)},Ce.testAlphanumeric=function(l){return s.test(l)},Ce}var v0;function qe(){return v0||(v0=1,(function(e){const t=xx(),n=rx();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(a,s){if(!a.ccBits)throw new Error("Invalid mode: "+a);if(!t.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?a.ccBits[0]:s<27?a.ccBits[1]:a.ccBits[2]},e.getBestModeForData=function(a){return n.testNumeric(a)?e.NUMERIC:n.testAlphanumeric(a)?e.ALPHANUMERIC:n.testKanji(a)?e.KANJI:e.BYTE},e.toString=function(a){if(a&&a.id)return a.id;throw new Error("Invalid mode")},e.isValid=function(a){return a&&a.bit&&a.ccBits};function x(r){if(typeof r!="string")throw new Error("Param is not a string");switch(r.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+r)}}e.from=function(a,s){if(e.isValid(a))return a;try{return x(a)}catch{return s}}})(ut)),ut}var y0;function ir(){return y0||(y0=1,(function(e){const t=Oe(),n=tx(),x=jt(),r=qe(),a=xx(),s=7973,i=t.getBCHDigit(s);function l(c,m,h){for(let v=1;v<=40;v++)if(m<=e.getCapacity(v,h,c))return v}function u(c,m){return r.getCharCountIndicator(c,m)+4}function p(c,m){let h=0;return c.forEach(function(v){const J=u(v.mode,m);h+=J+v.getBitsLength()}),h}function g(c,m){for(let h=1;h<=40;h++)if(p(c,h)<=e.getCapacity(h,m,r.MIXED))return h}e.from=function(m,h){return a.isValid(m)?parseInt(m,10):h},e.getCapacity=function(m,h,v){if(!a.isValid(m))throw new Error("Invalid QR Code version");typeof v>"u"&&(v=r.BYTE);const J=t.getSymbolTotalCodewords(m),b=n.getTotalCodewordsCount(m,h),_=(J-b)*8;if(v===r.MIXED)return _;const S=_-u(v,m);switch(v){case r.NUMERIC:return Math.floor(S/10*3);case r.ALPHANUMERIC:return Math.floor(S/11*2);case r.KANJI:return Math.floor(S/13);case r.BYTE:default:return Math.floor(S/8)}},e.getBestVersionForData=function(m,h){let v;const J=x.from(h,x.M);if(Array.isArray(m)){if(m.length>1)return g(m,J);if(m.length===0)return 1;v=m[0]}else v=m;return l(v.mode,v.getLength(),J)},e.getEncodedBits=function(m){if(!a.isValid(m)||m<7)throw new Error("Invalid QR Code version");let h=m<<12;for(;t.getBCHDigit(h)-i>=0;)h^=s<<t.getBCHDigit(h)-i;return m<<12|h}})(ct)),ct}var mt={},_0;function sr(){if(_0)return mt;_0=1;const e=Oe(),t=1335,n=21522,x=e.getBCHDigit(t);return mt.getEncodedBits=function(a,s){const i=a.bit<<3|s;let l=i<<10;for(;e.getBCHDigit(l)-x>=0;)l^=t<<e.getBCHDigit(l)-x;return(i<<10|l)^n},mt}var pt={},ft,k0;function lr(){if(k0)return ft;k0=1;const e=qe();function t(n){this.mode=e.NUMERIC,this.data=n.toString()}return t.getBitsLength=function(x){return 10*Math.floor(x/3)+(x%3?x%3*3+1:0)},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(x){let r,a,s;for(r=0;r+3<=this.data.length;r+=3)a=this.data.substr(r,3),s=parseInt(a,10),x.put(s,10);const i=this.data.length-r;i>0&&(a=this.data.substr(r),s=parseInt(a,10),x.put(s,i*3+1))},ft=t,ft}var ht,w0;function cr(){if(w0)return ht;w0=1;const e=qe(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(x){this.mode=e.ALPHANUMERIC,this.data=x}return n.getBitsLength=function(r){return 11*Math.floor(r/2)+6*(r%2)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(r){let a;for(a=0;a+2<=this.data.length;a+=2){let s=t.indexOf(this.data[a])*45;s+=t.indexOf(this.data[a+1]),r.put(s,11)}this.data.length%2&&r.put(t.indexOf(this.data[a]),6)},ht=n,ht}var gt,S0;function ur(){if(S0)return gt;S0=1;const e=qe();function t(n){this.mode=e.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}return t.getBitsLength=function(x){return x*8},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(n){for(let x=0,r=this.data.length;x<r;x++)n.put(this.data[x],8)},gt=t,gt}var bt,I0;function dr(){if(I0)return bt;I0=1;const e=qe(),t=Oe();function n(x){this.mode=e.KANJI,this.data=x}return n.getBitsLength=function(r){return r*13},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(x){let r;for(r=0;r<this.data.length;r++){let a=t.toSJIS(this.data[r]);if(a>=33088&&a<=40956)a-=33088;else if(a>=57408&&a<=60351)a-=49472;else throw new Error("Invalid SJIS character: "+this.data[r]+`
3
- Make sure your charset is UTF-8`);a=(a>>>8&255)*192+(a&255),x.put(a,13)}},bt=n,bt}var vt={exports:{}},C0;function mr(){return C0||(C0=1,(function(e){var t={single_source_shortest_paths:function(n,x,r){var a={},s={};s[x]=0;var i=t.PriorityQueue.make();i.push(x,0);for(var l,u,p,g,c,m,h,v,J;!i.empty();){l=i.pop(),u=l.value,g=l.cost,c=n[u]||{};for(p in c)c.hasOwnProperty(p)&&(m=c[p],h=g+m,v=s[p],J=typeof s[p]>"u",(J||v>h)&&(s[p]=h,i.push(p,h),a[p]=u))}if(typeof r<"u"&&typeof s[r]>"u"){var b=["Could not find a path from ",x," to ",r,"."].join("");throw new Error(b)}return a},extract_shortest_path_from_predecessor_list:function(n,x){for(var r=[],a=x;a;)r.push(a),n[a],a=n[a];return r.reverse(),r},find_path:function(n,x,r){var a=t.single_source_shortest_paths(n,x,r);return t.extract_shortest_path_from_predecessor_list(a,r)},PriorityQueue:{make:function(n){var x=t.PriorityQueue,r={},a;n=n||{};for(a in x)x.hasOwnProperty(a)&&(r[a]=x[a]);return r.queue=[],r.sorter=n.sorter||x.default_sorter,r},default_sorter:function(n,x){return n.cost-x.cost},push:function(n,x){var r={value:n,cost:x};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(vt)),vt.exports}var D0;function pr(){return D0||(D0=1,(function(e){const t=qe(),n=lr(),x=cr(),r=ur(),a=dr(),s=rx(),i=Oe(),l=mr();function u(b){return unescape(encodeURIComponent(b)).length}function p(b,_,S){const E=[];let oe;for(;(oe=b.exec(S))!==null;)E.push({data:oe[0],index:oe.index,mode:_,length:oe[0].length});return E}function g(b){const _=p(s.NUMERIC,t.NUMERIC,b),S=p(s.ALPHANUMERIC,t.ALPHANUMERIC,b);let E,oe;return i.isKanjiModeEnabled()?(E=p(s.BYTE,t.BYTE,b),oe=p(s.KANJI,t.KANJI,b)):(E=p(s.BYTE_KANJI,t.BYTE,b),oe=[]),_.concat(S,E,oe).sort(function(T,N){return T.index-N.index}).map(function(T){return{data:T.data,mode:T.mode,length:T.length}})}function c(b,_){switch(_){case t.NUMERIC:return n.getBitsLength(b);case t.ALPHANUMERIC:return x.getBitsLength(b);case t.KANJI:return a.getBitsLength(b);case t.BYTE:return r.getBitsLength(b)}}function m(b){return b.reduce(function(_,S){const E=_.length-1>=0?_[_.length-1]:null;return E&&E.mode===S.mode?(_[_.length-1].data+=S.data,_):(_.push(S),_)},[])}function h(b){const _=[];for(let S=0;S<b.length;S++){const E=b[S];switch(E.mode){case t.NUMERIC:_.push([E,{data:E.data,mode:t.ALPHANUMERIC,length:E.length},{data:E.data,mode:t.BYTE,length:E.length}]);break;case t.ALPHANUMERIC:_.push([E,{data:E.data,mode:t.BYTE,length:E.length}]);break;case t.KANJI:_.push([E,{data:E.data,mode:t.BYTE,length:u(E.data)}]);break;case t.BYTE:_.push([{data:E.data,mode:t.BYTE,length:u(E.data)}])}}return _}function v(b,_){const S={},E={start:{}};let oe=["start"];for(let k=0;k<b.length;k++){const T=b[k],N=[];for(let w=0;w<T.length;w++){const I=T[w],C=""+k+w;N.push(C),S[C]={node:I,lastCount:0},E[C]={};for(let F=0;F<oe.length;F++){const D=oe[F];S[D]&&S[D].node.mode===I.mode?(E[D][C]=c(S[D].lastCount+I.length,I.mode)-c(S[D].lastCount,I.mode),S[D].lastCount+=I.length):(S[D]&&(S[D].lastCount=I.length),E[D][C]=c(I.length,I.mode)+4+t.getCharCountIndicator(I.mode,_))}}oe=N}for(let k=0;k<oe.length;k++)E[oe[k]].end=0;return{map:E,table:S}}function J(b,_){let S;const E=t.getBestModeForData(b);if(S=t.from(_,E),S!==t.BYTE&&S.bit<E.bit)throw new Error('"'+b+'" cannot be encoded with mode '+t.toString(S)+`.
4
- Suggested mode is: `+t.toString(E));switch(S===t.KANJI&&!i.isKanjiModeEnabled()&&(S=t.BYTE),S){case t.NUMERIC:return new n(b);case t.ALPHANUMERIC:return new x(b);case t.KANJI:return new a(b);case t.BYTE:return new r(b)}}e.fromArray=function(_){return _.reduce(function(S,E){return typeof E=="string"?S.push(J(E,null)):E.data&&S.push(J(E.data,E.mode)),S},[])},e.fromString=function(_,S){const E=g(_,i.isKanjiModeEnabled()),oe=h(E),k=v(oe,S),T=l.find_path(k.map,"start","end"),N=[];for(let w=1;w<T.length-1;w++)N.push(k.table[T[w]].node);return e.fromArray(m(N))},e.rawSplit=function(_){return e.fromArray(g(_,i.isKanjiModeEnabled()))}})(pt)),pt}var T0;function fr(){if(T0)return nt;T0=1;const e=Oe(),t=jt(),n=$x(),x=er(),r=nr(),a=tr(),s=xr(),i=tx(),l=or(),u=ir(),p=sr(),g=qe(),c=pr();function m(k,T){const N=k.size,w=a.getPositions(T);for(let I=0;I<w.length;I++){const C=w[I][0],F=w[I][1];for(let D=-1;D<=7;D++)if(!(C+D<=-1||N<=C+D))for(let ee=-1;ee<=7;ee++)F+ee<=-1||N<=F+ee||(D>=0&&D<=6&&(ee===0||ee===6)||ee>=0&&ee<=6&&(D===0||D===6)||D>=2&&D<=4&&ee>=2&&ee<=4?k.set(C+D,F+ee,!0,!0):k.set(C+D,F+ee,!1,!0))}}function h(k){const T=k.size;for(let N=8;N<T-8;N++){const w=N%2===0;k.set(N,6,w,!0),k.set(6,N,w,!0)}}function v(k,T){const N=r.getPositions(T);for(let w=0;w<N.length;w++){const I=N[w][0],C=N[w][1];for(let F=-2;F<=2;F++)for(let D=-2;D<=2;D++)F===-2||F===2||D===-2||D===2||F===0&&D===0?k.set(I+F,C+D,!0,!0):k.set(I+F,C+D,!1,!0)}}function J(k,T){const N=k.size,w=u.getEncodedBits(T);let I,C,F;for(let D=0;D<18;D++)I=Math.floor(D/3),C=D%3+N-8-3,F=(w>>D&1)===1,k.set(I,C,F,!0),k.set(C,I,F,!0)}function b(k,T,N){const w=k.size,I=p.getEncodedBits(T,N);let C,F;for(C=0;C<15;C++)F=(I>>C&1)===1,C<6?k.set(C,8,F,!0):C<8?k.set(C+1,8,F,!0):k.set(w-15+C,8,F,!0),C<8?k.set(8,w-C-1,F,!0):C<9?k.set(8,15-C-1+1,F,!0):k.set(8,15-C-1,F,!0);k.set(w-8,8,1,!0)}function _(k,T){const N=k.size;let w=-1,I=N-1,C=7,F=0;for(let D=N-1;D>0;D-=2)for(D===6&&D--;;){for(let ee=0;ee<2;ee++)if(!k.isReserved(I,D-ee)){let fe=!1;F<T.length&&(fe=(T[F]>>>C&1)===1),k.set(I,D-ee,fe),C--,C===-1&&(F++,C=7)}if(I+=w,I<0||N<=I){I-=w,w=-w;break}}}function S(k,T,N){const w=new n;N.forEach(function(ee){w.put(ee.mode.bit,4),w.put(ee.getLength(),g.getCharCountIndicator(ee.mode,k)),ee.write(w)});const I=e.getSymbolTotalCodewords(k),C=i.getTotalCodewordsCount(k,T),F=(I-C)*8;for(w.getLengthInBits()+4<=F&&w.put(0,4);w.getLengthInBits()%8!==0;)w.putBit(0);const D=(F-w.getLengthInBits())/8;for(let ee=0;ee<D;ee++)w.put(ee%2?17:236,8);return E(w,k,T)}function E(k,T,N){const w=e.getSymbolTotalCodewords(T),I=i.getTotalCodewordsCount(T,N),C=w-I,F=i.getBlocksCount(T,N),D=w%F,ee=F-D,fe=Math.floor(w/F),he=Math.floor(C/F),Re=he+1,Me=fe-he,_e=new l(Me);let Be=0;const Ae=new Array(F),He=new Array(F);let Ge=0;const Ze=new Uint8Array(k.buffer);for(let ke=0;ke<F;ke++){const ve=ke<ee?he:Re;Ae[ke]=Ze.slice(Be,Be+ve),He[ke]=_e.encode(Ae[ke]),Be+=ve,Ge=Math.max(Ge,ve)}const Ue=new Uint8Array(w);let We=0,me,be;for(me=0;me<Ge;me++)for(be=0;be<F;be++)me<Ae[be].length&&(Ue[We++]=Ae[be][me]);for(me=0;me<Me;me++)for(be=0;be<F;be++)Ue[We++]=He[be][me];return Ue}function oe(k,T,N,w){let I;if(Array.isArray(k))I=c.fromArray(k);else if(typeof k=="string"){let fe=T;if(!fe){const he=c.rawSplit(k);fe=u.getBestVersionForData(he,N)}I=c.fromString(k,fe||40)}else throw new Error("Invalid data");const C=u.getBestVersionForData(I,N);if(!C)throw new Error("The amount of data is too big to be stored in a QR Code");if(!T)T=C;else if(T<C)throw new Error(`
5
- The chosen QR Code version cannot contain this amount of data.
6
- Minimum version required to store current data is: `+C+`.
7
- `);const F=S(T,N,I),D=e.getSymbolSize(T),ee=new x(D);return m(ee,T),h(ee),v(ee,T),b(ee,N,0),T>=7&&J(ee,T),_(ee,F),isNaN(w)&&(w=s.getBestMask(ee,b.bind(null,ee,N))),s.applyMask(w,ee),b(ee,N,w),{modules:ee,version:T,errorCorrectionLevel:N,maskPattern:w,segments:I}}return nt.create=function(T,N){if(typeof T>"u"||T==="")throw new Error("No input text");let w=t.M,I,C;return typeof N<"u"&&(w=t.from(N.errorCorrectionLevel,t.M),I=u.from(N.version),C=s.from(N.maskPattern),N.toSJISFunc&&e.setToSJISFunction(N.toSJISFunc)),oe(T,I,w,C)},nt}var yt={},_t={},N0;function ax(){return N0||(N0=1,(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let x=n.slice().replace("#","").split("");if(x.length<3||x.length===5||x.length>8)throw new Error("Invalid hex color: "+n);(x.length===3||x.length===4)&&(x=Array.prototype.concat.apply([],x.map(function(a){return[a,a]}))),x.length===6&&x.push("F","F");const r=parseInt(x.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+x.slice(0,6).join("")}}e.getOptions=function(x){x||(x={}),x.color||(x.color={});const r=typeof x.margin>"u"||x.margin===null||x.margin<0?4:x.margin,a=x.width&&x.width>=21?x.width:void 0,s=x.scale||4;return{width:a,scale:a?4:s,margin:r,color:{dark:t(x.color.dark||"#000000ff"),light:t(x.color.light||"#ffffffff")},type:x.type,rendererOpts:x.rendererOpts||{}}},e.getScale=function(x,r){return r.width&&r.width>=x+r.margin*2?r.width/(x+r.margin*2):r.scale},e.getImageWidth=function(x,r){const a=e.getScale(x,r);return Math.floor((x+r.margin*2)*a)},e.qrToImageData=function(x,r,a){const s=r.modules.size,i=r.modules.data,l=e.getScale(s,a),u=Math.floor((s+a.margin*2)*l),p=a.margin*l,g=[a.color.light,a.color.dark];for(let c=0;c<u;c++)for(let m=0;m<u;m++){let h=(c*u+m)*4,v=a.color.light;if(c>=p&&m>=p&&c<u-p&&m<u-p){const J=Math.floor((c-p)/l),b=Math.floor((m-p)/l);v=g[i[J*s+b]?1:0]}x[h++]=v.r,x[h++]=v.g,x[h++]=v.b,x[h]=v.a}}})(_t)),_t}var R0;function hr(){return R0||(R0=1,(function(e){const t=ax();function n(r,a,s){r.clearRect(0,0,a.width,a.height),a.style||(a.style={}),a.height=s,a.width=s,a.style.height=s+"px",a.style.width=s+"px"}function x(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(a,s,i){let l=i,u=s;typeof l>"u"&&(!s||!s.getContext)&&(l=s,s=void 0),s||(u=x()),l=t.getOptions(l);const p=t.getImageWidth(a.modules.size,l),g=u.getContext("2d"),c=g.createImageData(p,p);return t.qrToImageData(c.data,a,l),n(g,u,p),g.putImageData(c,0,0),u},e.renderToDataURL=function(a,s,i){let l=i;typeof l>"u"&&(!s||!s.getContext)&&(l=s,s=void 0),l||(l={});const u=e.render(a,s,l),p=l.type||"image/png",g=l.rendererOpts||{};return u.toDataURL(p,g.quality)}})(yt)),yt}var kt={},M0;function gr(){if(M0)return kt;M0=1;const e=ax();function t(r,a){const s=r.a/255,i=a+'="'+r.hex+'"';return s<1?i+" "+a+'-opacity="'+s.toFixed(2).slice(1)+'"':i}function n(r,a,s){let i=r+a;return typeof s<"u"&&(i+=" "+s),i}function x(r,a,s){let i="",l=0,u=!1,p=0;for(let g=0;g<r.length;g++){const c=Math.floor(g%a),m=Math.floor(g/a);!c&&!u&&(u=!0),r[g]?(p++,g>0&&c>0&&r[g-1]||(i+=u?n("M",c+s,.5+m+s):n("m",l,0),l=0,u=!1),c+1<a&&r[g+1]||(i+=n("h",p),p=0)):l++}return i}return kt.render=function(a,s,i){const l=e.getOptions(s),u=a.modules.size,p=a.modules.data,g=u+l.margin*2,c=l.color.light.a?"<path "+t(l.color.light,"fill")+' d="M0 0h'+g+"v"+g+'H0z"/>':"",m="<path "+t(l.color.dark,"stroke")+' d="'+x(p,u,l.margin)+'"/>',h='viewBox="0 0 '+g+" "+g+'"',J='<svg xmlns="http://www.w3.org/2000/svg" '+(l.width?'width="'+l.width+'" height="'+l.width+'" ':"")+h+' shape-rendering="crispEdges">'+c+m+`</svg>
8
- `;return typeof i=="function"&&i(null,J),J},kt}var A0;function br(){if(A0)return Je;A0=1;const e=Xx(),t=fr(),n=hr(),x=gr();function r(a,s,i,l,u){const p=[].slice.call(arguments,1),g=p.length,c=typeof p[g-1]=="function";if(!c&&!e())throw new Error("Callback required as last argument");if(c){if(g<2)throw new Error("Too few arguments provided");g===2?(u=i,i=s,s=l=void 0):g===3&&(s.getContext&&typeof u>"u"?(u=l,l=void 0):(u=l,l=i,i=s,s=void 0))}else{if(g<1)throw new Error("Too few arguments provided");return g===1?(i=s,s=l=void 0):g===2&&!s.getContext&&(l=i,i=s,s=void 0),new Promise(function(m,h){try{const v=t.create(i,l);m(a(v,s,l))}catch(v){h(v)}})}try{const m=t.create(i,l);u(null,a(m,s,l))}catch(m){u(m)}}return Je.create=t.create,Je.toCanvas=r.bind(null,n.render),Je.toDataURL=r.bind(null,n.renderToDataURL),Je.toString=r.bind(null,function(a,s,i){return x.render(a,i)}),Je}var vr=br();const yr=Zx(vr);function Le({message:e,confirmLabel:t="Confirm",confirmDanger:n=!1,inputValue:x,onInput:r,inputPlaceholder:a="",onConfirm:s,onCancel:i}){const l=r!==void 0,u=je(null);return ge(()=>{var p;(p=u.current)==null||p.focus()},[]),o("div",{className:"fixed inset-0 z-[100] flex items-center justify-center",style:{background:"rgba(0,0,0,0.6)"},onClick:i,children:o("div",{className:"glass-card p-5 flex flex-col gap-4 w-72",onClick:p=>p.stopPropagation(),children:[o("p",{className:"text-sm text-center",style:{color:"var(--text-main)"},children:e}),l&&o("input",{ref:u,value:x,placeholder:a,onInput:p=>r(p.target.value),onKeyDown:p=>p.key==="Enter"&&s(),className:"w-full px-3 py-2 text-sm rounded-xl",style:{background:"var(--glass-bg)",color:"var(--text-main)",border:"1px solid var(--border)"}}),o("div",{className:"flex gap-2",children:[o("button",{onClick:i,className:"glass-btn flex-1 py-2 text-sm",style:{color:"var(--text-muted)"},children:"Cancel"}),o("button",{onClick:s,className:"flex-1 py-2 text-sm font-semibold rounded-xl",style:{background:n?"rgba(220,53,69,0.8)":"var(--brand-500)",color:"#fff"},children:t})]})]})})}var d=ox;(function(e,t){for(var n=ox,x=e();;)try{var r=parseInt(n(181))/1+parseInt(n(171))/2+-parseInt(n(210))/3*(parseInt(n(182))/4)+-parseInt(n(248))/5+parseInt(n(187))/6*(parseInt(n(320))/7)+parseInt(n(267))/8*(parseInt(n(231))/9)+-parseInt(n(200))/10;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(yn,903633);function ox(e,t){e=e-164;var n=yn(),x=n[e];return x}const _r={common:{statusIdle:d(211),statusWorking:d(194),statusBlocked:d(280),statusDone:d(207),create:d(298),cancel:d(179),delete:"Delete",rename:d(307),confirm:d(242),close:d(237),refresh:d(296),loading:d(196),language:d(325)},files:{cannotOpenBinary:d(283),copyPath:d(245),createNew:d(176),delete:d(301),deleteConfirmMessage:d(326),deleteConfirmTitle:d(241),emptyFolder:d(168),file:d(195),folder:d(206),noFilesFound:d(310),noGitRepo:d(172),placeholderFile:d(247),placeholderFolder:d(305),rename:d(307),searching:d(318),searchFiles:d(278),searchPlaceholder:"Search files…",setWorkspace:d(256),setAsWorkspaceTitle:"Set current folder as workspace",switchWorkspace:"Switch workspace",toggleHidden:"Toggle hidden files"},git:{title:"Git",status:d(177),diffTab:d(235),modified:d(236),added:"Added",deleted:d(190),untrackedTitle:d(254),noChanges:d(279),openFile:d(265),discardChangesTitle:d(323),discardConfirmTitle:"Discard changes?",discardConfirmDelete:d(214),discardConfirmDiscard:d(295),gitActions:"Git actions",commit:d(327),push:d(306),commitAndPush:d(209),commitPlaceholder:d(286),stageAllNote:d(220),upToDate:"Up to date"},terminalPane:{openFolder:d(222),changedFiles:d(277),note:d(218),refresh:"Reload session",scrollToBottom:d(224)},note:{title:"Session Note",copy:d(304),clear:d(300)},system:{agent:d(232),machine:"Machine",remoteDesktop:"Remote Desktop",uptime:d(263),osUptime:d(282),heapUsed:d(223),heapTotal:"Heap total",external:d(199),ofOsTotal:d(331),loadAvg:d(322),loadDesc:d(165),freeMem:d(250),status:d(177),available:d(175),offline:d(308),clients:d(258),streaming:"streaming",idle:"idle",ramThreshold:d(314),thresholdExceeded:"threshold exceeded",thresholdOk:d(266),unavailable:d(272)},terminal:{backToSessions:d(249),switchGroup:d(246),newTerminal:"New terminal",send:d(287),typeCommand:d(191),deleteConfirm:d(288),clearInput:d(300)},history:{title:d(170),empty:d(240),remove:d(227),clearAll:d(229)},sessions:{newTerminal:d(260),addGroup:d(270),newGroup:d(329),groupName:d(284),renameGroup:"Rename group",deleteGroup:"Delete group",ungrouped:d(202),deleteSessionConfirm:"Delete session {name}? This will kill the terminal.",deleteGroupConfirm:"Delete group {name}? All terminals inside will be closed."},menu:{connection:d(164),connectionDesc:d(192),terminals:"Terminal",terminalsDesc:"Open the web terminal in a new tab",logs:d(204),logsDesc:d(212),terminalSettings:d(234),fontSize:d(292),terminalTheme:"Terminal Theme",webgl:"WebGL Renderer",webglHint:d(201),showFolder:d(259),showGit:d(302),showNote:"Show Note Button"},recent:{title:d(293),replied:d(216),needsInput:d(174),dismiss:"Dismiss",empty:d(178)},notifications:{title:d(316),empty:"No new notifications",needsInput:d(174),replied:"Replied",agent:"Agent"},groups:{ungrouped:"Ungrouped"},header:{settings:"Settings",language:d(325),documentation:d(253),reset:d(180),resetShort:d(215),shutdown:d(221),shutdownShort:d(193),lightMode:"Switch to light mode",darkMode:d(311)},remote:{remoteDesktop:"Remote Desktop",controlScreen:d(228),screenRecording:"Screen Recording",captureScreen:d(208),accessibility:"Accessibility",controlMouseKeyboard:"Control mouse & keyboard",startup:d(333),launchOnStartup:d(299),launchDesc:d(238),disabledStart:"Disabled — start manually",preventSleep:d(276),blockSleep:d(219),remoteUnlock:d(243),remoteUnlockDesc:d(257),remoteUnlockReady:d(166),remoteUnlockStale:d(239),grant:d(332),granted:d(321),sleepModes:{"30m":"Stop after 30 min idle","1h":"Stop after 1 hr idle","2h":d(189),"4h":d(285),"24h":d(167),never:d(233)}},clients:{clients:d(258),clientCount:d(324),noClients:d(303),autoApprove:d(297),anyDevice:d(273),requireManual:d(183),online:d(289),offline:d(308),pending:d(197),connected:"Connected",connectedAt:d(184),pendingApproval:"Pending · waiting for approval",offlineAt:d(217),disconnect:d(313),disconnectRemove:d(294),remove:d(227),renameDevice:d(309),approveDevice:d(328),approveBtn:d(230),rejectBtn:"Reject",newDevice:d(205),deviceId:d(252),deviceIp:"IP"},logs:{logs:d(204),noLogs:d(225),clear:"Clear"},connection:{tunnelOffline:d(330),startTunnel:d(203),connect:"Connect",connecting:d(173),pairDevice:d(312),scanToSignIn:d(315),oneTimeKey:d(334),oneTimeDesc:d(169),permanentKey:d(188),permanentDesc:d(281),features:{terminal:d(213),fullShell:d(271),desktop:d(291),remoteScreen:"Remote screen control",files:d(255),browseEdit:d(275)}},dialogs:{resetConfirm:d(274),shutdownConfirm:d(226),deviceDisconnect:"Disconnect and remove device {id}...? The client will be disconnected and need approval again next time.",deviceRemovePending:"Remove pending device {id}...? It will need a fresh approval request to connect again.",deviceRemoveOffline:d(198),grantPermissions:d(317),deviceName:d(251),nameExample:d(186)},buttons:{update:d(262),approve:d(230),reject:"Reject",save:"Save"},steps:{setupConnection:d(269),preparing:"Preparing",checkingTunnel:d(290),connecting:d(268),creatingSession:d(244),tunneling:"Tunneling",startingTunnel:"Starting secure tunnel",verifying:"Verifying",healthCheck:d(185),ready:d(261),connected:d(264),done:"Done",running:d(319)}};function yn(){var e=["Active","Load average","Discard changes","Clients ({online}/{total} online)","Language","Delete {name}?","Commit","Approve this device","New Group","Tunnel offline","of OS total","Allow","Startup","One-Time Key","Connection","1m / 5m / 15m","Active — unlock from remote works","Stop after 24 hrs idle","Folder is empty","Single use · expires","Command history","892806VPoxdK","Not a git repository","Connecting…","Needs your input","Available","Create new","Status","No recent activity","Cancel","Reset the tunnel and reconnect clients","1405461oevQBZ","4xUBUQt","Require manual approval for new devices","Connected · {time}","Health check","e.g. My MacBook","13476RQeVoC","Permanent Key","Stop after 2 hrs idle","Deleted","Shift+Enter for new line • Ctrl+Num to switch tab","Pair devices and manage your secure tunnel","Shutdown","Working","File","Loading…","Pending approval","Remove device {id}...? It will need approval again next time.","External","27850800OwfinP","GPU acceleration for smoother scrolling","Ungrouped","Start the tunnel to get a QR code and connect your devices from anywhere.","Logs","New Device Connection","Folder","Done","Capture screen content","Commit & Push","1649856IBwsRU","Idle","Server activity and diagnostics","Terminal","Delete untracked file {name}?","Reset","Agent replied","Offline · approved {date}","Note","Block system sleep so the network stays alive","Stages all {count} changed file(s) before commit","Shutdown 9Remote (stop server, close tunnel and quit)","Open file explorer","Heap used","Scroll to bottom","No logs yet","Shutdown 9Remote completely? This will stop the server, close the tunnel and quit the app.","Remove","Control screen, mouse & keyboard","Clear all","Approve","9yKiIan","9Remote","Always block sleep","Terminal Settings","Diff","Modified","Close","Runs in background when you log in","Update ready — applies after you restart this PC","No commands yet","Delete file","Confirm","Unlock PC remotely","Creating session","Copy path","Switch group","filename.ext","2100965ePVByf","Back to sessions","Free memory","Name for device {id}...","Device","Documentation","Untracked","Files","Set as workspace","Let this PC be unlocked from your phone or browser when locked","Clients","Show Folder Button","New Terminal","Ready","Update","Uptime","Connected","Open file","within limit","8189360JrNZyw","Connecting","Setting up connection","Add Group","Full shell access","Unable to load system stats","Any new device connects without approval","Reset and stop the tunnel? Remote clients will be disconnected.","Browse & edit files","Prevent sleep","Changed files","Search files","No changes","Needs input","Reusable · no expiry","OS uptime","Cannot open binary file","Group name","Stop after 4 hrs idle","Commit message","Send","Delete terminal {name}?","Online","Checking tunnel binary","Desktop","Font Size","Recent","Disconnect & Remove","Discard changes in {name}?","Refresh","Auto-approve new devices","Create","Launch on system startup","Clear","Delete","Show Git Button","No clients yet","Copy","folder name","Push","Rename","Offline","Rename this device","No files found","Switch to dark mode","Pair a device","Disconnect","RAM warning","Scan QR or open link to sign in","Notifications","Grant all permissions below to enable","Searching…","Running","5558JdnRDt"];return yn=function(){return e},yn()}function _n(){var e=["إنشاء جلسة","حفظ","إيقاف 9Remote (إيقاف الخادم وإغلاق النفق والخروج)","منع النظام من السكون لإبقاء الشبكة نشطة","جاري التشغيل","تحديث","تبديل المجموعة","Shift+Enter لسطر جديد • Ctrl+رقم للتبديل بين الألسنة","إعادة تعيين","معطل — بدء يدوي","إزالة","إعادة تسمية","إلغاء","النفق غير متصل","جاري التحضير","التحكم في سطح المكتب البعيد","استعراض وتعديل الملفات","لا تطفئ أبداً","إزالة الجهاز {id}...؟ سيحتاج إلى موافقة جديدة في المرة القادمة.","حذف المجموعة {name}؟ ستغلق جميع المحطات الطرفية بداخلها.","غير متصل","حذف الجلسة {name}؟ سيغلق المحطة الطرفية.","الإطلاق عند بدء النظام","منع السكون","الإعدادات","قطع الاتصال وإزالة الجهاز {id}...؟ سيتم قطع اتصال العميل وسيحتاج إلى موافقة جديدة في المرة القادمة.","إعادة تعيين وإيقاف النفق؟ سيتم قطع اتصال العملاء البعيدين.","التحكم في الشاشة والماوس ولوحة المفاتيح","السجلات","إعادة تعيين النفق والعملاء المتصلين","الرفض","إعادة تسمية هذا الجهاز","الموافقة","الموافقة على هذا الجهاز","تسجيل الشاشة","3mCqOED","الجهاز","إيقاف 9Remote تماماً؟ سيؤدي هذا إلى إيقاف الخادم وإغلاق النفق والخروج من التطبيق.","جاري الاتصال","قم بمزامنة الأجهزة وإدارة نفق الأمان الخاص بك","امسح رمز QR أو افتح الرابط للدخول","إعداد الاتصال","الملفات","متصل · {time}","53xpxbWw","إيقاف بعد ساعتين من عدم النشاط","حذف المجموعة","العودة إلى الجلسات","110OkaYDD","إنشاء","إيقاف بعد 4 ساعات من عدم النشاط","التبديل إلى الوضع الفاتح","يتطلب الموافقة اليدوية للأجهزة الجديدة","أي جهاز جديد يتصل بدون موافقة","الموافقة التلقائية على الأجهزة الجديدة","غير متصل · موافق {date}","سطح المكتب","مسح","في انتظار الموافقة","4438926ncgmDw","امنح جميع الأذونات أدناه لتفعيل","التوثيق","السماح بعرض الشاشة","المحطات الطرفية","إمكانية الوصول","اسم الجهاز {id}...","5084844kpdcGj","متصل","إيقاف","الاتصال","غير مصنفة","إيقاف بعد ساعة واحدة من عدم النشاط","مثال: MacBook الخاص بي","العملاء","إيقاف بعد 24 ساعة من عدم النشاط","لا توجد عملاء حتى الآن","إضافة مجموعة","التبديل إلى الوضع الداكن","قطع الاتصال","في الانتظار · ينتظر الموافقة","مفتاح دائم","7528325pzOwSO","رد الوكيل","Idle","64118HLqEXi","السماح","فحص الصحة","العملاء ({online}/{total} متصل)","التحكم في الماوس ولوحة المفاتيح","إزالة الجهاز المعلق {id}...؟ سيحتاج إلى طلب موافقة جديد للاتصال مرة أخرى.","حذف المحطة الطرفية {name}؟","وصول Shell كامل","Working","108063ZzccyO","محطة طرفية جديدة","15202gEoNSg","جلسات محطة طرفية حية تعمل على هذا الجهاز","Needs input","56IIMWJJ","Done","اتصال جهاز جديد","نشط","نشاط الخادم والتشخيص","حذف","عنوان IP","6860920uWXnHO","إرسال","السماح بإلغاء قفل هذا الكمبيوتر من هاتفك أو متصفحك عند قفله","جاري الاتصال…","قابل لإعادة الاستخدام · بدون انتهاء","الأخيرة"];return _n=function(){return e},_n()}var f=ix;(function(e,t){for(var n=ix,x=e();;)try{var r=parseInt(n(275))/1*(parseInt(n(315))/2)+-parseInt(n(266))/3*(parseInt(n(297))/4)+-parseInt(n(336))/5+parseInt(n(290))/6+parseInt(n(312))/7+-parseInt(n(329))/8*(-parseInt(n(324))/9)+parseInt(n(279))/10*(parseInt(n(326))/11);if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(_n,970279);function ix(e,t){e=e-253;var n=_n(),x=n[e];return x}const kr={common:{statusIdle:f(314),statusWorking:f(323),statusBlocked:f(328),statusDone:f(330),create:f(280),cancel:f(354),delete:f(334),rename:f(353),language:"اللغة"},terminal:{backToSessions:f(278),switchGroup:f(348),newTerminal:f(325),send:f(337),typeCommand:f(349),deleteConfirm:f(321)},sessions:{newTerminal:f(325),addGroup:f(307),newGroup:"مجموعة جديدة",groupName:"اسم المجموعة",renameGroup:"إعادة تسمية المجموعة",deleteGroup:f(277),ungrouped:f(301),deleteSessionConfirm:f(363),deleteGroupConfirm:f(361)},menu:{connection:"الاتصال",connectionDesc:f(270),terminals:f(294),terminalsDesc:f(327),logs:"السجلات",logsDesc:f(333)},recent:{title:f(341),replied:f(313),needsInput:"يحتاج إلى إدخالك",dismiss:"تجاهل",empty:"لا توجد أنشطة حديثة"},header:{settings:f(255),language:"اللغة",documentation:f(292),reset:f(260),resetShort:f(350),shutdown:f(344),shutdownShort:f(299),lightMode:f(282),darkMode:f(308)},remote:{remoteDesktop:"سطح المكتب البعيد",controlScreen:f(258),screenRecording:f(265),captureScreen:f(293),accessibility:f(295),controlMouseKeyboard:f(319),startup:"البدء",launchOnStartup:f(253),launchDesc:"يعمل في الخلفية عند تسجيل الدخول",disabledStart:f(351),preventSleep:f(254),blockSleep:f(345),remoteUnlock:"إلغاء قفل الكمبيوتر عن بعد",remoteUnlockDesc:f(338),remoteUnlockReady:"نشط — إلغاء القفل عن بعد يعمل",grant:f(316),granted:f(332),sleepModes:{"30m":"إيقاف بعد 30 دقيقة من عدم النشاط","1h":f(302),"2h":f(276),"4h":f(281),"24h":f(305),never:f(359)}},clients:{clients:f(304),clientCount:f(318),noClients:f(306),autoApprove:f(285),anyDevice:f(284),requireManual:f(283),online:f(298),offline:f(362),pending:f(289),connected:f(298),connectedAt:f(274),pendingApproval:f(310),offlineAt:f(286),disconnect:f(309),disconnectRemove:"قطع الاتصال والإزالة",remove:f(352),renameDevice:f(262),approveDevice:f(264),approveBtn:f(263),rejectBtn:f(261),newDevice:f(331),deviceId:f(267),deviceIp:f(335)},logs:{logs:f(259),noLogs:"لا توجد سجلات حتى الآن",clear:f(288)},connection:{tunnelOffline:f(355),startTunnel:"ابدأ النفق للحصول على رمز QR وقم بتوصيل أجهزتك من أي مكان.",connect:f(300),connecting:f(339),scanToSignIn:f(271),oneTimeKey:"مفتاح لمرة واحدة",oneTimeDesc:"استخدام واحد · ينتهي",permanentKey:f(311),permanentDesc:f(340),features:{terminal:"محطة طرفية",fullShell:f(322),desktop:f(287),remoteScreen:f(357),files:f(273),browseEdit:f(358)}},dialogs:{resetConfirm:f(257),shutdownConfirm:f(268),deviceDisconnect:f(256),deviceRemovePending:f(320),deviceRemoveOffline:f(360),grantPermissions:f(291),deviceName:f(296),nameExample:f(303)},buttons:{update:f(347),approve:f(263),reject:f(261),save:f(343)},steps:{setupConnection:f(272),preparing:f(356),checkingTunnel:"فحص ملف النفق",connecting:f(269),creatingSession:f(342),tunneling:"نفق النقل",startingTunnel:"بدء نفق آمن",verifying:"جاري التحقق",healthCheck:f(317),ready:"جاهز",connected:f(298),done:"تم",running:f(346)}};function sx(e,t){e=e-204;var n=kn(),x=n[e];return x}var z=sx;(function(e,t){for(var n=sx,x=e();;)try{var r=-parseInt(n(253))/1+-parseInt(n(221))/2*(parseInt(n(210))/3)+-parseInt(n(250))/4*(-parseInt(n(214))/5)+-parseInt(n(206))/6+parseInt(n(245))/7*(parseInt(n(229))/8)+parseInt(n(223))/9+-parseInt(n(225))/10;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(kn,721305);function kn(){var e=["Barrierefreiheit","Gruppe wechseln","Zum Hell-Modus wechseln","Tunnel zurücksetzen und Clients erneut verbinden","Neues Terminal","Permanenter Schlüssel","Erstellen","Zuletzt verwendet","Gruppe löschen","Umbenennen","6888LqxVBd","Keine aktuellen Aktivitäten","Gruppe {name} löschen? Alle Terminals werden geschlossen.","Beim Start ausführen","Aktiv — Fernentsperrung funktioniert","124ywqomx","Abbrechen","Agent hat geantwortet","798492WExJHT","Dokumentation","Beenden","Einmalnutzung · läuft ab","Einstellungen","Working","Sitzung {name} löschen? Dadurch wird das Terminal beendet.","Zurück zu Sitzungen","Protokolle","PC fernentriegeln","Senden","Gruppe hinzufügen","Sprache","Verbindung","Manuelle Genehmigung für neue Geräte erforderlich","7682250jKRyKw","Computer wach halten","9Remote beenden (Server stoppen, Tunnel schließen, beenden)","Wiederverwendbar · kein Ablauf","6wvASwW","Erlauben","Neue Geräte automatisch genehmigen","Geräte koppeln und Ihren sicheren Tunnel verwalten","149395cRfcui","Bildschirm, Maus und Tastatur steuern","Neue Geräte verbinden sich ohne Genehmigung","Maus und Tastatur steuern","Zum Dunkel-Modus wechseln","Aktiv","Gruppe umbenennen","537596dwAqzd","QR-Code scannen oder Link öffnen zum Anmelden","12146877csMAcj","Terminal {name} löschen?","3482060tbNMjm","Remote Desktop","Löschen","Bildschirmanzeige zulassen","11464nOdDeN","Serveraktivität und Diagnose","Nicht gruppiert","Zurücksetzen","Bildschirmaufzeichnung","Idle"];return kn=function(){return e},kn()}const wr={common:{statusIdle:z(234),statusWorking:z(258),statusBlocked:"Needs input",statusDone:"Done",create:z(241),cancel:z(251),delete:z(227),rename:z(244),language:z(265)},terminal:{backToSessions:z(260),switchGroup:z(236),newTerminal:z(239),send:z(263),typeCommand:"Shift+Enter für neue Zeile • Ctrl+Num zum Wechsel der Registerkarte",deleteConfirm:z(224)},sessions:{newTerminal:z(239),addGroup:z(264),newGroup:"Neue Gruppe",groupName:"Gruppenname",renameGroup:z(220),deleteGroup:z(243),ungrouped:z(231),deleteSessionConfirm:z(259),deleteGroupConfirm:z(247)},menu:{connection:z(204),connectionDesc:z(213),terminals:"Terminals",terminalsDesc:"Live-Terminalsitzungen auf diesem Host",logs:z(261),logsDesc:z(230)},recent:{title:z(242),replied:z(252),needsInput:"Benötigt Ihre Eingabe",dismiss:"Verwerfen",empty:z(246)},header:{settings:z(257),language:z(265),documentation:z(254),reset:z(238),resetShort:z(232),shutdown:z(208),shutdownShort:z(255),lightMode:z(237),darkMode:z(218)},remote:{remoteDesktop:z(226),controlScreen:z(215),screenRecording:z(233),captureScreen:z(228),accessibility:z(235),controlMouseKeyboard:z(217),launchOnStartup:z(248),launchDesc:"Im Hintergrund ausgeführt, wenn Sie sich anmelden",disabledStart:"Deaktiviert — Manueller Start",preventSleep:z(207),blockSleep:"System-Standby verhindern, um Verbindung aktiv zu halten",remoteUnlock:z(262),remoteUnlockDesc:"Erlaube das Entsperren dieses PCs vom Telefon oder Browser, wenn er gesperrt ist",remoteUnlockReady:z(249),grant:z(211),granted:z(219)},clients:{autoApprove:z(212),anyDevice:z(216),requireManual:z(205)},connection:{scanToSignIn:z(222),oneTimeKey:"Einmalschlüssel",oneTimeDesc:z(256),permanentKey:z(240),permanentDesc:z(209)}};var R=lx;function wn(){var e=["Escanear código QR o abrir enlace para iniciar sesión","¿Eliminar grupo {name}? Se cerrarán todos los terminales dentro.","Idioma","Controlar ratón y teclado","Volver a sesiones","Idle","Done","59yNvHDS","Sin actividad reciente","Requiere aprobación manual para dispositivos nuevos","1430086xtWUZx","Shift+Enter para nueva línea • Ctrl+Número para cambiar pestaña","2376828DsbIAJ","Crear","Cancelar","Terminales","Conexión","Uso único · expira","Documentación","Activo — el desbloqueo remoto funciona","Impedir que el sistema duerma para mantener conexión activa","Cambiar grupo","Accesibilidad","Nuevo Terminal","Cambiar a modo claro","9902266bsYzca","Eliminar","Nombre del grupo","Descartar","Renombrar grupo","Clave Permanente","26957976YWXylk","Reciente","Aprobar automáticamente dispositivos nuevos","Renombrar","Clave de una sola vez","8yUpolx","Sesiones de terminal en vivo en este host","Working","Emparejar dispositivos y administrar su túnel seguro","995PmDWUa","Eliminar grupo","Escritorio Remoto","3840084BgJlBL","Permitir vista de pantalla","10JLAdBz","Cualquier dispositivo nuevo se conecta sin aprobación","Restablecer","Diagnóstico de actividad del servidor","Ejecutar al iniciar","Cambiar a modo oscuro","Agregar Grupo","Restablecer túnel y reconectar clientes","Nuevo Grupo","Registros","9784BxTKri","¿Eliminar sesión {name}? Se cerrará el terminal.","Grabación de pantalla","Reutilizable · sin expiración","Desbloquear PC remotamente","Enviar","El agente respondió","Configuración","32126ODBgbo","Necesita su entrada","Activo","Cerrar 9Remote (detener servidor, cerrar túnel, salir)","Cerrar","6lKVRHV"];return wn=function(){return e},wn()}(function(e,t){for(var n=lx,x=e();;)try{var r=parseInt(n(282))/1*(parseInt(n(269))/2)+parseInt(n(287))/3+parseInt(n(261))/4*(parseInt(n(246))/5)+-parseInt(n(274))/6*(-parseInt(n(285))/7)+parseInt(n(242))/8*(-parseInt(n(249))/9)+-parseInt(n(251))/10*(-parseInt(n(300))/11)+-parseInt(n(306))/12;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(wn,658077);function lx(e,t){e=e-240;var n=wn(),x=n[e];return x}const Sr={common:{statusIdle:R(280),statusWorking:R(244),statusBlocked:"Needs input",statusDone:R(281),create:R(288),cancel:R(289),delete:R(301),rename:R(240),language:R(277)},terminal:{backToSessions:R(279),switchGroup:R(296),newTerminal:"Nuevo terminal",send:R(266),typeCommand:R(286),deleteConfirm:"¿Eliminar terminal {name}?"},sessions:{newTerminal:R(298),addGroup:R(257),newGroup:R(259),groupName:R(302),renameGroup:R(304),deleteGroup:R(247),ungrouped:"Sin agrupar",deleteSessionConfirm:R(262),deleteGroupConfirm:R(276)},menu:{connection:R(291),connectionDesc:R(245),terminals:R(290),terminalsDesc:R(243),logs:R(260),logsDesc:R(254)},recent:{title:R(307),replied:R(267),needsInput:R(270),dismiss:R(303),empty:R(283)},header:{settings:R(268),language:R(277),documentation:R(293),reset:R(258),resetShort:R(253),shutdown:R(272),shutdownShort:R(273),lightMode:R(299),darkMode:R(256)},remote:{remoteDesktop:R(248),controlScreen:"Controlar pantalla, ratón y teclado",screenRecording:R(263),captureScreen:R(250),accessibility:R(297),controlMouseKeyboard:R(278),launchOnStartup:R(255),launchDesc:"Ejecutar en segundo plano cuando inicie sesión",disabledStart:"Deshabilitado — inicio manual",preventSleep:"Mantener ordenador despierto",blockSleep:R(295),remoteUnlock:R(265),remoteUnlockDesc:"Permite desbloquear esta PC desde tu teléfono o navegador cuando está bloqueada",remoteUnlockReady:R(294),grant:"Permitir",granted:R(271)},clients:{autoApprove:R(308),anyDevice:R(252),requireManual:R(284)},connection:{scanToSignIn:R(275),oneTimeKey:R(241),oneTimeDesc:R(292),permanentKey:R(305),permanentDesc:R(264)}};function cx(e,t){e=e-282;var n=Sn(),x=n[e];return x}var P=cx;(function(e,t){for(var n=cx,x=e();;)try{var r=parseInt(n(291))/1+parseInt(n(294))/2+parseInt(n(325))/3+parseInt(n(283))/4+parseInt(n(342))/5*(parseInt(n(313))/6)+-parseInt(n(293))/7+-parseInt(n(305))/8;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Sn,644945);function Sn(){var e=["اجازه","ضبط صفحه","Shift+Enter برای خط جدید • Ctrl+عدد برای تغییر برگه","دسترسی‌پذیری","افزودن گروه","حذف گروه {name}؟ تمام ترمینال های درون آن بسته می شوند.","حذف جلسه {name}؟ این کار ترمینال را بسته خواهد کرد.","حذف","120dmlPJd","فعال","3493224AEmBbE","کلید یک‌بار مصرف","تنظیمات","فعال — باز کردن قفل از راه دور کار می‌کند","عامل پاسخ داد","نگه داشتن کامپیوتر بیدار","لغو","نیاز به تأیید دستی برای دستگاه‌های جدید","468082CIzJqh","قابل استفاده مجدد · بدون انقضا","1318030nEcErp","622604iYxvzT","تأیید خودکار دستگاه‌های جدید","گروه جدید","جلسات ترمینال زنده در این میزبان","زبان","ارسال","اخیر","تشخیص فعالیت سرور","بدون گروه","تغییر نام گروه","تغییر به حالت روشن","11442416qvQzrN","جلوگیری از خواب سیستم برای نگه داشتن اتصال فعال","نام گروه","مستندات","بازنشانی تونل و بازاتصال کلاینت‌ها","باز کردن قفل کامپیوتر از راه دور","ایجاد","Needs input","73446vKuKRD","کنترل ماوس و صفحه کلید","ترمینال جدید","راه اندازی در هنگام شروع","اجرا در پس‌زمینه هنگام ورود","Done","استفاده یک‌بار · منقضی می‌شود","تغییر گروه","خاموش","تغییر نام","میزکار دور","اجازه دادن برای مشاهده صفحه","951189KoxakH","Working","حذف گروه","اتصال","سابقه","بازگشت به جلسات","رد کردن","هیچ فعالیت اخیری وجود ندارد","کنترل صفحه، ماوس و صفحه کلید"];return Sn=function(){return e},Sn()}const Ir={common:{statusIdle:"Idle",statusWorking:P(326),statusBlocked:P(312),statusDone:P(318),create:P(311),cancel:P(289),delete:P(341),rename:P(322),language:P(298)},terminal:{backToSessions:P(330),switchGroup:P(320),newTerminal:P(315),send:P(299),typeCommand:P(336),deleteConfirm:"حذف ترمینال {name}؟"},sessions:{newTerminal:P(315),addGroup:P(338),newGroup:P(296),groupName:P(307),renameGroup:P(303),deleteGroup:P(327),ungrouped:P(302),deleteSessionConfirm:P(340),deleteGroupConfirm:P(339)},menu:{connection:P(328),connectionDesc:"جفت کردن دستگاه‌ها و مدیریت تونل امن شما",terminals:"ترمینال‌ها",terminalsDesc:P(297),logs:P(329),logsDesc:P(301)},recent:{title:P(300),replied:P(287),needsInput:"نیاز به ورودی شما",dismiss:P(331),empty:P(332)},header:{settings:P(285),language:P(298),documentation:P(308),reset:P(309),resetShort:"بازنشانی",shutdown:"خاموش کردن 9Remote (توقف سرور، بستن تونل، خروج)",shutdownShort:P(321),lightMode:P(304),darkMode:"تغییر به حالت تاریک"},remote:{remoteDesktop:P(323),controlScreen:P(333),screenRecording:P(335),captureScreen:P(324),accessibility:P(337),controlMouseKeyboard:P(314),launchOnStartup:P(316),launchDesc:P(317),disabledStart:"غیرفعال — راه اندازی دستی",preventSleep:P(288),blockSleep:P(306),remoteUnlock:P(310),remoteUnlockDesc:"اجازه باز شدن قفل این کامپیوتر از تلفن یا مرورگر هنگام قفل بودن",remoteUnlockReady:P(286),grant:P(334),granted:P(282)},clients:{autoApprove:P(295),anyDevice:"هر دستگاه جدید بدون تأیید متصل می‌شود",requireManual:P(290)},connection:{scanToSignIn:"کد QR را اسکن کنید یا لینک را باز کنید تا وارد شوید",oneTimeKey:P(284),oneTimeDesc:P(319),permanentKey:"کلید دائمی",permanentDesc:P(292)}};var B=ux;function ux(e,t){e=e-453;var n=In(),x=n[e];return x}(function(e,t){for(var n=ux,x=e();;)try{var r=-parseInt(n(478))/1+parseInt(n(512))/2+-parseInt(n(498))/3*(-parseInt(n(471))/4)+parseInt(n(504))/5*(parseInt(n(457))/6)+parseInt(n(514))/7*(-parseInt(n(500))/8)+-parseInt(n(507))/9+parseInt(n(470))/10;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(In,824211);function In(){var e=["998715uXOnwQ","Documentation","Maj+Entrée pour nouvelle ligne • Ctrl+Num pour changer d'onglet","Réinitialiser le tunnel et reconnecter les clients","Nouveau Terminal","Renommer","Clé à Usage Unique","Envoyer","Réinitialiser","Supprimer","Autoriser","Arrêter","Renommer le groupe","L'agent a répondu","Langue","Idle","Maintenir l'ordinateur actif","Empêcher la mise en veille du système pour maintenir la connexion active","Done","Récent","253359GUqQzY","Terminaux","272EErvsS","Non groupé","Créer","Appairer des appareils et gérer votre tunnel sécurisé","10fijrOL","Autoriser l'affichage de l'écran","Passer au mode sombre","9954207MEargi","Aucune activité récente","Nouveau terminal","Nécessite l'approbation manuelle pour les nouveaux appareils","Autoriser le déverrouillage de ce PC depuis votre téléphone ou navigateur lorsqu'il est verrouillé","3040830fxBXXx","Retour aux sessions","22414pMwjIi","Accessibilité","Lancer au démarrage","Bureau à Distance","Scannez le code QR ou ouvrez le lien pour vous connecter","Contrôler la souris et le clavier","Annuler","1941438ynJdPo","Journaux","Contrôler l'écran, la souris et le clavier","Actif","Ajouter un Groupe","Approuver automatiquement les nouveaux appareils","Working","Réutilisable · sans expiration","Clé Permanente","Supprimer le terminal {name} ?","Supprimer le groupe","Paramètres","Needs input","1101790bpRKeH","36yHKqlL","Passer au mode clair","Connexion","Tout nouvel appareil se connecte sans approbation","Nom du groupe","Nouveau Groupe","Arrêter 9Remote (arrêter le serveur, fermer le tunnel, quitter)"];return In=function(){return e},In()}const Cr={common:{statusIdle:B(493),statusWorking:B(463),statusBlocked:B(469),statusDone:B(496),create:B(502),cancel:B(456),delete:B(487),rename:B(483),language:B(492)},terminal:{backToSessions:B(513),switchGroup:"Changer de groupe",newTerminal:B(509),send:B(485),typeCommand:B(480),deleteConfirm:B(466)},sessions:{newTerminal:B(482),addGroup:B(461),newGroup:B(476),groupName:B(475),renameGroup:B(490),deleteGroup:B(467),ungrouped:B(501),deleteSessionConfirm:"Supprimer la session {name} ? Cela fermera le terminal.",deleteGroupConfirm:"Supprimer le groupe {name} ? Tous les terminaux dedans seront fermés."},menu:{connection:B(473),connectionDesc:B(503),terminals:B(499),terminalsDesc:"Sessions de terminal en direct sur cet hôte",logs:B(458),logsDesc:"Diagnostic d'activité du serveur"},recent:{title:B(497),replied:B(491),needsInput:"Nécessite votre saisie",dismiss:"Rejeter",empty:B(508)},header:{settings:B(468),language:B(492),documentation:B(479),reset:B(481),resetShort:B(486),shutdown:B(477),shutdownShort:B(489),lightMode:B(472),darkMode:B(506)},remote:{remoteDesktop:B(453),controlScreen:B(459),screenRecording:"Enregistrement d'écran",captureScreen:B(505),accessibility:B(515),controlMouseKeyboard:B(455),launchOnStartup:B(516),launchDesc:"Exécuter en arrière-plan lors de votre connexion",disabledStart:"Désactivé — lancement manuel",preventSleep:B(494),blockSleep:B(495),remoteUnlock:"Déverrouiller le PC à distance",remoteUnlockDesc:B(511),remoteUnlockReady:"Actif — le déverrouillage à distance fonctionne",grant:B(488),granted:B(460)},clients:{autoApprove:B(462),anyDevice:B(474),requireManual:B(510)},connection:{scanToSignIn:B(454),oneTimeKey:B(484),oneTimeDesc:"Usage unique · expire",permanentKey:B(465),permanentDesc:B(464)}};var Y=dx;function dx(e,t){e=e-240;var n=Cn(),x=n[e];return x}function Cn(){var e=["Done","שליחה","אפשר","מחיקה","הגדרות","4199070ERvlWo","יצירה","איפוס","122372ywatWD","ניתן לשימוש חוזר · ללא תוקף","אפשר הצגת מסך","סרוק קוד QR או פתח קישור כדי להתחבר","טרמינל חדש","שם הקבוצה","4150489mPPfbX","שינוי שם","אישור אוטומטי של התקנים חדשים","יומנים","מפתח קבוע","ללא קבוצה","דורש את הקלטך","מחוק את הטרמינל {name}?","אפשר ביטול נעילה של המחשב הזה מהטלפון או הדפדפן כשנעול","355764WhxwmY","70ehLwqB","14pvlqOj","32839GtwltJ","שולחן עבודה מרחוק","5TnHNpb","ביטול","קבוצה חדשה","תיעוד","שפה","Working","שלוט על המסך, העכבר והמקלדת","עבור למצב בהיר","הוודא שהמחשב ער","כל התקן חדש מתחבר ללא אישור","16FSnPRQ","הפעלות טרמינל חיות על השרת הזה","חזרה להפעלות","1086417TrLmeC","פעיל — נעילה מרחוק עובדת","הסוכן הגיב","42moeYtj","מנע שינת מערכת כדי לשמור על חיבור פעיל","אבחון פעילות השרת","כיבוי","הפעל ברקע כשאתה מתחבר","Shift+Enter לשורה חדשה • Ctrl+מספר לעבור בין כרטיסיות","דחה","מבוטל — הפעלה ידנית","חיבור","Needs input","מחוק הפעלה {name}? זה יסגור את הטרמינל.","הפעל בהפעלת המערכת","627407hUTOdT","הקלטת מסך","מחוק קבוצה"];return Cn=function(){return e},Cn()}(function(e,t){for(var n=dx,x=e();;)try{var r=parseInt(n(261))/1*(-parseInt(n(260))/2)+parseInt(n(279))/3*(-parseInt(n(243))/4)+-parseInt(n(263))/5*(-parseInt(n(240))/6)+parseInt(n(249))/7+-parseInt(n(273))/8*(-parseInt(n(276))/9)+parseInt(n(259))/10*(-parseInt(n(291))/11)+-parseInt(n(258))/12;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Cn,447117);const Dr={common:{statusIdle:"Idle",statusWorking:Y(268),statusBlocked:Y(288),statusDone:Y(294),create:Y(241),cancel:Y(264),delete:Y(297),rename:Y(250),language:Y(267)},terminal:{backToSessions:Y(275),switchGroup:"החלפת קבוצה",newTerminal:"טרמינל חדש",send:Y(295),typeCommand:Y(284),deleteConfirm:Y(256)},sessions:{newTerminal:Y(247),addGroup:"הוסף קבוצה",newGroup:Y(265),groupName:Y(248),renameGroup:"שינוי שם קבוצה",deleteGroup:Y(293),ungrouped:Y(254),deleteSessionConfirm:Y(289),deleteGroupConfirm:"מחוק קבוצה {name}? כל הטרמינלים בפנים יסגרו."},menu:{connection:Y(287),connectionDesc:"צמד התקנים וניהול התעלה המאובטחת שלך",terminals:"טרמינלים",terminalsDesc:Y(274),logs:Y(252),logsDesc:Y(281)},recent:{title:"לאחרונה",replied:Y(278),needsInput:Y(255),dismiss:Y(285),empty:"אין פעילות אחרונה"},header:{settings:Y(298),language:"שפה",documentation:Y(266),reset:"איפוס התעלה והחבר מחדש ללקוחות",resetShort:Y(242),shutdown:"כיבוי 9Remote (עצור שרת, סגור תעלה, יציאה)",shutdownShort:Y(282),lightMode:Y(270),darkMode:"עבור למצב אפל"},remote:{remoteDesktop:Y(262),controlScreen:Y(269),screenRecording:Y(292),captureScreen:Y(245),accessibility:"נגישות",controlMouseKeyboard:"שלוט על העכבר והמקלדת",launchOnStartup:Y(290),launchDesc:Y(283),disabledStart:Y(286),preventSleep:Y(271),blockSleep:Y(280),remoteUnlock:"בטל נעילת מחשב מרחוק",remoteUnlockDesc:Y(257),remoteUnlockReady:Y(277),grant:Y(296),granted:"פעיל"},clients:{autoApprove:Y(251),anyDevice:Y(272),requireManual:"דורש אישור ידני להתקנים חדשים"},connection:{scanToSignIn:Y(246),oneTimeKey:"מפתח חד פעמי",oneTimeDesc:"שימוש אחד · פג",permanentKey:Y(253),permanentDesc:Y(244)}};function mx(e,t){e=e-146;var n=Dn(),x=n[e];return x}function Dn(){var e=["Needs input","असमूहित","3992zJQCwa","2220072sKySju","नए डिवाइस को स्वचालित रूप से मंजूरी दें","स्क्रीन दृश्य की अनुमति दें","समूह हटाएं","15IOBvnT","नया टर्मिनल","सक्रिय — दूरस्थ अनलॉक काम कर रहा है","नए डिवाइस के लिए मैनुअल अनुमोदन की आवश्यकता है","13635127RKkUXs","अनुमति दें","स्क्रीन रिकॉर्डिंग","पुनः नाम दें","भेजें","सर्वर गतिविधि निदान","साइन इन करने के लिए QR कोड स्कैन करें या लिंक खोलें","डिवाइस को जोड़ी करें और अपनी सुरक्षित सुरंग का प्रबंधन करें","समूह {name} को हटाएं? इसके अंदर सभी टर्मिनल बंद हो जाएंगे।","सत्रों पर वापस जाएं","एकबारगी कुंजी","इस होस्ट पर लाइव टर्मिनल सत्र","1795876vZtRlO","हाल ही में","कोई हाल ही की गतिविधि नहीं","सेटिंग्स","Idle","2HVOIco","रीसेट करें","संयोजन","पहुंच योग्यता","कोई भी नया डिवाइस अनुमोदन के बिना कनेक्ट करता है","एकल उपयोग · समाप्त होता है","607353ebTmNT","रद्द करें","आपके इनपुट की जरूरत है","हटाएं","PC दूरस्थ रूप से अनलॉक करें","दस्तावेज़","Working","15736WJwKjZ","बनाएं","जब आप लॉगिन करते हैं तो पृष्ठभूमि में चलाएं","9Remote को बंद करें (सर्वर बंद करें, सुरंग बंद करें, बाहर निकलें)","11048880oehtxs","सुरंग रीसेट करें और क्लाइंट को फिर से कनेक्ट करें","अक्षम — मैनुअल लॉन्च","समूह बदलें","अंधेरे मोड पर स्विच करें","लॉग्स","एजेंट ने जवाब दिया","नई लाइन के लिए Shift+Enter • टैब बदलने के लिए Ctrl+संख्या","1132293dSBDJt","भाषा","स्टार्टअप पर लॉन्च करें","Done","पुन: उपयोग योग्य · कोई समाप्ति नहीं","बंद करें","कनेक्शन को सक्रिय रखने के लिए सिस्टम स्लीप को रोकें","9YCljON","स्थायी कुंजी"];return Dn=function(){return e},Dn()}var j=mx;(function(e,t){for(var n=mx,x=e();;)try{var r=parseInt(n(156))/1+-parseInt(n(193))/2*(parseInt(n(199))/3)+-parseInt(n(188))/4+-parseInt(n(172))/5*(parseInt(n(168))/6)+-parseInt(n(206))/7*(parseInt(n(167))/8)+parseInt(n(163))/9*(parseInt(n(148))/10)+parseInt(n(176))/11;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Dn,593530);const Tr={common:{statusIdle:j(192),statusWorking:j(205),statusBlocked:j(165),statusDone:j(159),create:j(207),cancel:j(200),delete:j(202),rename:j(179),language:j(157)},terminal:{backToSessions:j(185),switchGroup:j(151),newTerminal:j(173),send:j(180),typeCommand:j(155),deleteConfirm:"टर्मिनल {name} को हटाएं?"},sessions:{newTerminal:j(173),addGroup:"समूह जोड़ें",newGroup:"नया समूह",groupName:"समूह का नाम",renameGroup:"समूह का नाम बदलें",deleteGroup:j(171),ungrouped:j(166),deleteSessionConfirm:"सत्र {name} को हटाएं? यह टर्मिनल को बंद कर देगा।",deleteGroupConfirm:j(184)},menu:{connection:j(195),connectionDesc:j(183),terminals:"टर्मिनल",terminalsDesc:j(187),logs:j(153),logsDesc:j(181)},recent:{title:j(189),replied:j(154),needsInput:j(201),dismiss:"रद्द करें",empty:j(190)},header:{settings:j(191),language:j(157),documentation:j(204),reset:j(149),resetShort:j(194),shutdown:j(147),shutdownShort:j(161),lightMode:"हल्के मोड पर स्विच करें",darkMode:j(152)},remote:{remoteDesktop:"रिमोट डेस्कटॉप",controlScreen:"स्क्रीन, माउस और कीबोर्ड को नियंत्रित करें",screenRecording:j(178),captureScreen:j(170),accessibility:j(196),controlMouseKeyboard:"माउस और कीबोर्ड को नियंत्रित करें",launchOnStartup:j(158),launchDesc:j(146),disabledStart:j(150),preventSleep:"कंप्यूटर को जागृत रखें",blockSleep:j(162),remoteUnlock:j(203),remoteUnlockDesc:"लॉक होने पर इस PC को फ़ोन या ब्राउज़र से अनलॉक होने की अनुमति दें",remoteUnlockReady:j(174),grant:j(177),granted:"सक्रिय"},clients:{autoApprove:j(169),anyDevice:j(197),requireManual:j(175)},connection:{scanToSignIn:j(182),oneTimeKey:j(186),oneTimeDesc:j(198),permanentKey:j(164),permanentDesc:j(160)}};var L=px;(function(e,t){for(var n=px,x=e();;)try{var r=-parseInt(n(257))/1+parseInt(n(267))/2*(-parseInt(n(283))/3)+-parseInt(n(284))/4*(-parseInt(n(251))/5)+-parseInt(n(277))/6+-parseInt(n(282))/7+-parseInt(n(287))/8*(-parseInt(n(301))/9)+parseInt(n(304))/10;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Tn,194430);function Tn(){var e=["Diagnostik aktivitas server","Pengaturan","137226qpZLkF","Abaikan","Membutuhkan masukan Anda","Kontrol layar, mouse & keyboard","Terminal Baru","1159242ukRWDO","69eCpxhQ","13132JpEgQQ","Shift+Enter untuk baris baru • Ctrl+Num untuk ganti tab","Kunci Sekali Pakai","502552heEDvY","Pindai kode QR atau buka tautan untuk masuk","Matikan 9Remote (hentikan server, tutup terowongan, keluar)","Aktif","Done","Penggunaan tunggal · kedaluwarsa","Dekstop Jarak Jauh","Setel Ulang","Cegah sistem tidur untuk menjaga koneksi tetap aktif","Luncurkan saat startup","Dinonaktifkan — peluncuran manual","Ubah Nama","Koneksi","Hapus","9suXCec","Hapus grup","Hapus sesi {name}? Ini akan menutup terminal.","4189770gwTTxl","Hapus grup {name}? Semua terminal di dalamnya akan ditutup.","Terbaru","Batalkan","Tidak Dikelompokkan","Nama grup","Buat","Log","Beralih ke mode gelap","Matikan","Kunci Permanen","85SBfPpV","Needs input","Setel ulang terowongan dan sambungkan kembali klien","Sesi terminal langsung berjalan di host ini","Buka kunci PC dari jarak jauh","Working","85838rWcHRP","Beralih ke mode terang","Aksesibilitas","Izinkan","Kirim","Perangkat baru apa pun terhubung tanpa persetujuan","Hapus terminal {name}?","Terminal","Ganti grup","Ubah nama grup","5988JeMxIM","Kembali ke sesi","Aktif — buka kunci jarak jauh berfungsi","Pasangkan perangkat dan kelola terowongan aman Anda","Memerlukan persetujuan manual untuk perangkat baru","Setujui perangkat baru secara otomatis","Dokumentasi","Izinkan PC ini dibuka kuncinya dari ponsel atau browser saat terkunci"];return Tn=function(){return e},Tn()}function px(e,t){e=e-250;var n=Tn(),x=n[e];return x}const Nr={common:{statusIdle:"Idle",statusWorking:L(256),statusBlocked:L(252),statusDone:L(291),create:L(310),cancel:L(307),delete:L(300),rename:L(298),language:"Bahasa"},terminal:{backToSessions:L(268),switchGroup:L(265),newTerminal:"Terminal baru",send:L(261),typeCommand:L(285),deleteConfirm:L(263)},sessions:{newTerminal:L(281),addGroup:"Tambah Grup",newGroup:"Grup Baru",groupName:L(309),renameGroup:L(266),deleteGroup:L(302),ungrouped:L(308),deleteSessionConfirm:L(303),deleteGroupConfirm:L(305)},menu:{connection:L(299),connectionDesc:L(270),terminals:L(264),terminalsDesc:L(254),logs:L(311),logsDesc:L(275)},recent:{title:L(306),replied:"Agen merespon",needsInput:L(279),dismiss:L(278),empty:"Tidak ada aktivitas terbaru"},header:{settings:L(276),language:"Bahasa",documentation:L(273),reset:L(253),resetShort:L(294),shutdown:L(289),shutdownShort:L(313),lightMode:L(258),darkMode:L(312)},remote:{remoteDesktop:L(293),controlScreen:L(280),screenRecording:"Perekaman Layar",captureScreen:"Izinkan tampilan layar",accessibility:L(259),controlMouseKeyboard:"Kontrol mouse & keyboard",launchOnStartup:L(296),launchDesc:"Jalankan di latar belakang saat Anda masuk",disabledStart:L(297),preventSleep:"Jaga komputer tetap aktif",blockSleep:L(295),remoteUnlock:L(255),remoteUnlockDesc:L(274),remoteUnlockReady:L(269),grant:L(260),granted:L(290)},clients:{autoApprove:L(272),anyDevice:L(262),requireManual:L(271)},connection:{scanToSignIn:L(288),oneTimeKey:L(286),oneTimeDesc:L(292),permanentKey:L(250),permanentDesc:"Dapat digunakan kembali · tidak ada kadaluarsa"}};function Nn(){var e=["Disabilitato — avvio manuale","Elimina gruppo","142jKugPn","Aggiungi Gruppo","8444000UdGOHD","5528QtugHd","Richiede l'approvazione manuale per i nuovi dispositivi","Crea","4330hpMvvg","Riutilizzabile · nessuna scadenza","Scansiona il codice QR o apri il collegamento per accedere","Attivo — lo sblocco da remoto funziona","Spegni","Nuovo Gruppo","Eliminare il gruppo {name}? Tutti i terminali all'interno verranno chiusi.","Maiusc+Invio per nuova riga • Ctrl+Num per cambiare scheda","Ripristina","Log","Documentazione","3564ISIHTu","Nuovo Terminale","177621uVtzoQ","4481HOCXNd","Consenti di sbloccare questo PC dal telefono o dal browser quando è bloccato","Passa alla modalità chiara","Accessibilità","968TRAzhd","Consenti visualizzazione schermo","Diagnostica attività server","Chiave Permanente","1791062iYPeXB","Lingua","Elimina","Cambia gruppo","Invia","1247886kqcDxK","Mantieni il computer sveglio","Registrazione schermo","Attivo","Necessita il tuo input","Abbina dispositivi e gestisci il tuo tunnel sicuro","Rinomina gruppo","Ripristina tunnel e riconnetti i client","Rinomina","Uso singolo · scade","Impedisci la sospensione del sistema per mantenere attiva la connessione","Impostazioni","Passa alla modalità scura","Controlla schermo, mouse e tastiera","Torna alle sessioni","Spegni 9Remote (arresta server, chiudi tunnel, esci)","Done","Needs input","Consenti","Nuovo terminale","Nessuna attività recente"];return Nn=function(){return e},Nn()}var Z=fx;(function(e,t){for(var n=fx,x=e();;)try{var r=parseInt(n(481))/1*(-parseInt(n(461))/2)+parseInt(n(480))/3+-parseInt(n(485))/4*(parseInt(n(467))/5)+-parseInt(n(494))/6+-parseInt(n(489))/7+parseInt(n(464))/8*(parseInt(n(478))/9)+parseInt(n(463))/10;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Nn,185673);function fx(e,t){e=e-461;var n=Nn(),x=n[e];return x}const Rr={common:{statusIdle:"Idle",statusWorking:"Working",statusBlocked:Z(511),statusDone:Z(510),create:Z(466),cancel:"Annulla",delete:Z(491),rename:Z(502),language:Z(490)},terminal:{backToSessions:Z(508),switchGroup:Z(492),newTerminal:Z(513),send:Z(493),typeCommand:Z(474),deleteConfirm:"Eliminare il terminale {name}?"},sessions:{newTerminal:Z(479),addGroup:Z(462),newGroup:Z(472),groupName:"Nome del gruppo",renameGroup:Z(500),deleteGroup:Z(516),ungrouped:"Non raggruppato",deleteSessionConfirm:"Eliminare la sessione {name}? Questo chiuderà il terminale.",deleteGroupConfirm:Z(473)},menu:{connection:"Connessione",connectionDesc:Z(499),terminals:"Terminali",terminalsDesc:"Sessioni di terminale live in esecuzione su questo host",logs:Z(476),logsDesc:Z(487)},recent:{title:"Recente",replied:"L'agente ha risposto",needsInput:Z(498),dismiss:"Chiudi",empty:Z(514)},header:{settings:Z(505),language:Z(490),documentation:Z(477),reset:Z(501),resetShort:Z(475),shutdown:Z(509),shutdownShort:Z(471),lightMode:Z(483),darkMode:Z(506)},remote:{remoteDesktop:"Desktop Remoto",controlScreen:Z(507),screenRecording:Z(496),captureScreen:Z(486),accessibility:Z(484),controlMouseKeyboard:"Controlla mouse e tastiera",launchOnStartup:"Avvia all'avvio",launchDesc:"Esegui in background quando accedi",disabledStart:Z(515),preventSleep:Z(495),blockSleep:Z(504),remoteUnlock:"Sblocca PC da remoto",remoteUnlockDesc:Z(482),remoteUnlockReady:Z(470),grant:Z(512),granted:Z(497)},clients:{autoApprove:"Approva automaticamente i nuovi dispositivi",anyDevice:"Qualsiasi nuovo dispositivo si connette senza approvazione",requireManual:Z(465)},connection:{scanToSignIn:Z(469),oneTimeKey:"Chiave Usa e Getta",oneTimeDesc:Z(503),permanentKey:Z(488),permanentDesc:Z(468)}};function Rn(){var e=["Needs input","12813130JjOevm","有効 — リモートロック解除が機能しています","5tZCLNb","起動時に実行","デバイスをペアリングし、セキュアトンネルを管理します","1回限りの使用 · 有効期限あり","セッション {name} を削除しますか? ターミナルが終了します。","新規グループ","1440234TjtxSu","グループを切り替える","画面、マウス、キーボードを操作","ドキュメンテーション","エージェントが返信","グループを追加","ターミナル {name} を削除しますか?","トンネルをリセットしてクライアントを再接続","ログイン時にバックグラウンドで実行","新しいデバイスは承認なしで接続","ダークモードに切り替え","アクセシビリティ","ライトモードに切り替え","QRコードをスキャンするか、リンクを開いてサインイン","852zrbMJr","27039aUGFAy","あなたの入力が必要です","グループ {name} を削除しますか? 内部のすべてのターミナルが閉じます。","ワンタイムキー","4480782zvWcgR","リセット","グループ名","11QqStzS","再利用可能 · 有効期限なし","9Remoteをシャットダウン(サーバー停止、トンネル閉鎖、終了)","Working","340wqfkFd","マウスとキーボードを操作","コンピュータを起動状態に保つ","Idle","無効 — 手動起動","8IJtpaU","グループの名前を変更","1438367YyOuYH","画面録画","永続キー","223317EsAmyn","リモートデスクトップ","新しいターミナル","グループを削除","グループ化されていません"];return Rn=function(){return e},Rn()}var te=hx;function hx(e,t){e=e-326;var n=Rn(),x=n[e];return x}(function(e,t){for(var n=hx,x=e();;)try{var r=parseInt(n(340))/1+parseInt(n(375))/2+-parseInt(n(339))/3*(parseInt(n(351))/4)+parseInt(n(369))/5*(parseInt(n(344))/6)+-parseInt(n(358))/7*(-parseInt(n(356))/8)+parseInt(n(361))/9+-parseInt(n(367))/10*(parseInt(n(347))/11);if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Rn,418794);const Mr={common:{statusIdle:te(354),statusWorking:te(350),statusBlocked:te(366),statusDone:"Done",create:"作成",cancel:"キャンセル",delete:"削除",rename:"名前変更",language:"言語"},terminal:{backToSessions:"セッション一覧に戻る",switchGroup:te(326),newTerminal:te(363),send:"送信",typeCommand:"Shift+Enterで改行 • Ctrl+数字でタブを切り替え",deleteConfirm:te(331)},sessions:{newTerminal:te(363),addGroup:te(330),newGroup:te(374),groupName:te(346),renameGroup:te(357),deleteGroup:te(364),ungrouped:te(365),deleteSessionConfirm:te(373),deleteGroupConfirm:te(342)},menu:{connection:"接続",connectionDesc:te(371),terminals:"ターミナル",terminalsDesc:"このホストで実行中のライブターミナルセッション",logs:"ログ",logsDesc:"サーバーアクティビティ診断"},recent:{title:"最近",replied:te(329),needsInput:te(341),dismiss:"閉じる",empty:"最近のアクティビティはありません"},header:{settings:"設定",language:"言語",documentation:te(328),reset:te(332),resetShort:te(345),shutdown:te(349),shutdownShort:"シャットダウン",lightMode:te(337),darkMode:te(335)},remote:{remoteDesktop:te(362),controlScreen:te(327),screenRecording:te(359),captureScreen:"画面表示を許可",accessibility:te(336),controlMouseKeyboard:te(352),launchOnStartup:te(370),launchDesc:te(333),disabledStart:te(355),preventSleep:te(353),blockSleep:"接続を有効にするために、システムスリープを防ぐ",remoteUnlock:"リモートでPCをロック解除",remoteUnlockDesc:"ロック時にスマホやブラウザからこのPCをロック解除できるようにする",remoteUnlockReady:te(368),grant:"許可",granted:"有効"},clients:{autoApprove:"新しいデバイスを自動的に承認",anyDevice:te(334),requireManual:"新しいデバイスには手動承認が必要"},connection:{scanToSignIn:te(338),oneTimeKey:te(343),oneTimeDesc:te(372),permanentKey:te(360),permanentDesc:te(348)}};var ne=gx;(function(e,t){for(var n=gx,x=e();;)try{var r=parseInt(n(440))/1+-parseInt(n(438))/2+-parseInt(n(411))/3+parseInt(n(419))/4+parseInt(n(437))/5*(-parseInt(n(407))/6)+-parseInt(n(422))/7+parseInt(n(445))/8;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Mn,573782);const Ar={common:{statusIdle:ne(409),statusWorking:ne(423),statusBlocked:ne(430),statusDone:"Done",create:"만들기",cancel:"취소",delete:"삭제",rename:ne(414),language:"언어"},terminal:{backToSessions:ne(448),switchGroup:ne(412),newTerminal:"새 터미널",send:ne(413),typeCommand:ne(404),deleteConfirm:ne(428)},sessions:{newTerminal:ne(452),addGroup:ne(432),newGroup:ne(425),groupName:ne(420),renameGroup:"그룹 이름 바꾸기",deleteGroup:"그룹 삭제",ungrouped:ne(434),deleteSessionConfirm:ne(443),deleteGroupConfirm:ne(403)},menu:{connection:"연결",connectionDesc:"기기를 연결하고 보안 터널 관리",terminals:ne(450),terminalsDesc:ne(401),logs:"로그",logsDesc:ne(449)},recent:{title:"최근",replied:ne(441),needsInput:ne(415),dismiss:"닫기",empty:ne(416)},header:{settings:"설정",language:"언어",documentation:"설명서",reset:ne(444),resetShort:"재설정",shutdown:ne(431),shutdownShort:"종료",lightMode:ne(426),darkMode:ne(446)},remote:{remoteDesktop:"원격 데스크톱",controlScreen:"화면, 마우스 및 키보드 제어",screenRecording:"화면 녹화",captureScreen:ne(451),accessibility:ne(447),controlMouseKeyboard:ne(418),launchOnStartup:ne(405),launchDesc:ne(427),disabledStart:ne(429),preventSleep:ne(408),blockSleep:ne(442),remoteUnlock:ne(436),remoteUnlockDesc:ne(406),remoteUnlockReady:ne(439),grant:"허용",granted:"활성"},clients:{autoApprove:ne(410),anyDevice:ne(402),requireManual:ne(417)},connection:{scanToSignIn:ne(435),oneTimeKey:ne(424),oneTimeDesc:ne(433),permanentKey:ne(421),permanentDesc:"재사용 가능 · 만료 없음"}};function gx(e,t){e=e-401;var n=Mn(),x=n[e];return x}function Mn(){var e=["일회용 키","새 그룹","라이트 모드로 전환","로그인할 때 백그라운드에서 실행","터미널 {name}을(를) 삭제하시겠습니까?","비활성화 — 수동 시작","Needs input","9Remote 종료(서버 중지, 터널 닫기, 종료)","그룹 추가","일회 사용 · 만료됨","그룹 없음","QR 코드를 스캔하거나 링크를 열어 로그인","원격으로 PC 잠금 해제","5WTDPnH","1178072meDavF","활성 — 원격 잠금 해제 작동 중","1073029aTCEnB","에이전트가 응답함","연결을 유지하기 위해 시스템 절전 방지","세션 {name}을(를) 삭제하시겠습니까? 터미널이 종료됩니다.","터널 재설정 및 클라이언트 재연결","6721560kQjnFc","다크 모드로 전환","접근성","세션으로 돌아가기","서버 활동 진단","터미널","화면 보기 허용","새 터미널","이 호스트에서 실행 중인 라이브 터미널 세션","새 기기가 승인 없이 연결됨","그룹 {name}을(를) 삭제하시겠습니까? 내부의 모든 터미널이 종료됩니다.","새 줄은 Shift+Enter • 탭 전환은 Ctrl+번호","시작 시 시작","잠금 시 휴대폰이나 브라우저에서 이 PC를 잠금 해제하도록 허용","2630940NrLWHm","컴퓨터 깨어있게 유지","Idle","새 기기 자동 승인","2656950uDsJRS","그룹 전환","보내기","이름 바꾸기","사용자 입력 필요","최근 활동 없음","새 기기에 수동 승인 필요","마우스 및 키보드 제어","3741872iBOTDg","그룹 이름","영구 키","2532138TOmWzO","Working"];return Mn=function(){return e},Mn()}var V=bx;function bx(e,t){e=e-436;var n=An(),x=n[e];return x}(function(e,t){for(var n=bx,x=e();;)try{var r=parseInt(n(455))/1+parseInt(n(484))/2+parseInt(n(475))/3*(parseInt(n(485))/4)+parseInt(n(464))/5*(-parseInt(n(473))/6)+-parseInt(n(442))/7+parseInt(n(489))/8+-parseInt(n(491))/9;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(An,585255);function An(){var e=["18VOFNFw","Tukar kumpulan","105ZVMqGc","Memerlukan input anda","Benarkan paparan skrin","Sesi terminal langsung berjalan di hos ini","Tukar nama kumpulan","Tutup","Mana-mana peranti baharu menyambung tanpa kelulusan","Kunci Kekal","Rakaman skrin","1889442qANvuO","80396ZGMNym","Terminal","Tutup 9Remote (hentikan pelayan, tutup terowong, keluar)","Tukar ke mod gelap","8348704nktMkp","Aktif — buka kunci jauh berfungsi","17749953RJxaLQ","Jalankan di latar belakang apabila anda log masuk","Terminal Baharu","Nama kumpulan","Shift+Enter untuk baris baharu • Ctrl+Num untuk tukar tab","Tetap semula terowong dan sambung semula klien","Sambungan","Tukar nama","Cegah tidur sistem untuk mengekalkan sambungan aktif","Penggunaan tunggal · tamat tempoh","499149FTOqBa","Tambah Kumpulan","Tetapan","Pastikan komputer sentiasa aktif","Tukar ke mod cerah","Padam kumpulan {name}? Semua terminal di dalamnya akan ditutup.","Log","Padam","Imbas kod QR atau buka pautan untuk log masuk","Lancar semasa permulaan","Padam sesi {name}? Ini akan menutup terminal.","Working","Padam kumpulan","87536pjbSPU","Tidak dikumpulkan","Ejen telah membalas","Hantar","Terbaru","Needs input","Kebolehaksesan","Terminal baharu","Tiada aktiviti terbaru","250885aCVGhg","Pasangkan peranti dan uruskan terowong selamat anda","Memerlukan kelulusan manual untuk peranti baharu","Bahasa","Kawal tetikus & papan kunci","Benarkan","Diagnosis aktiviti pelayan","Tetap Semula","Kawal skrin, tetikus & papan kunci"];return An=function(){return e},An()}const Er={common:{statusIdle:"Idle",statusWorking:V(453),statusBlocked:V(460),statusDone:"Done",create:"Buat",cancel:"Batal",delete:V(449),rename:V(439),language:"Bahasa"},terminal:{backToSessions:"Kembali ke sesi",switchGroup:V(474),newTerminal:V(462),send:V(458),typeCommand:V(436),deleteConfirm:"Padam terminal {name}?"},sessions:{newTerminal:V(493),addGroup:V(443),newGroup:"Kumpulan Baharu",groupName:V(494),renameGroup:V(479),deleteGroup:V(454),ungrouped:V(456),deleteSessionConfirm:V(452),deleteGroupConfirm:V(447)},menu:{connection:V(438),connectionDesc:V(465),terminals:V(486),terminalsDesc:V(478),logs:V(448),logsDesc:V(470)},recent:{title:V(459),replied:V(457),needsInput:V(476),dismiss:V(480),empty:V(463)},header:{settings:V(444),language:V(467),documentation:"Dokumentasi",reset:V(437),resetShort:V(471),shutdown:V(487),shutdownShort:"Tutup",lightMode:V(446),darkMode:V(488)},remote:{remoteDesktop:"Dekstop Jauh",controlScreen:V(472),screenRecording:V(483),captureScreen:V(477),accessibility:V(461),controlMouseKeyboard:V(468),launchOnStartup:V(451),launchDesc:V(492),disabledStart:"Dilumpuhkan — pelancaran manual",preventSleep:V(445),blockSleep:V(440),remoteUnlock:"Buka kunci PC secara jauh",remoteUnlockDesc:"Benarkan PC ini dibuka kunci dari telefon atau pelayar apabila dikunci",remoteUnlockReady:V(490),grant:V(469),granted:"Aktif"},clients:{autoApprove:"Lulus secara automatik peranti baharu",anyDevice:V(481),requireManual:V(466)},connection:{scanToSignIn:V(450),oneTimeKey:"Kunci Sekali Guna",oneTimeDesc:V(441),permanentKey:V(482),permanentDesc:"Boleh digunakan semula · tiada tamat tempoh"}};function vx(e,t){e=e-470;var n=En(),x=n[e];return x}var H=vx;(function(e,t){for(var n=vx,x=e();;)try{var r=-parseInt(n(487))/1*(-parseInt(n(496))/2)+-parseInt(n(509))/3+parseInt(n(483))/4*(-parseInt(n(499))/5)+parseInt(n(481))/6+-parseInt(n(500))/7*(parseInt(n(502))/8)+parseInt(n(471))/9+-parseInt(n(531))/10*(parseInt(n(493))/11);if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(En,127104);function En(){var e=["Verzenden","Recente","5OCnChB","7QuGhkm","Laat dit PC ontgrendeld worden vanaf telefoon of browser wanneer vergrendeld","1871656bdLHgg","Eenmalig gebruik · vervalt","Terminal {name} verwijderen?","Sluiten","Schermweergave toestaan","Groep {name} verwijderen? Alle terminals erin sluiten.","Extern Bureaublad","127938qHuSZr","Bij het starten starten","Taal","Done","Overschakelen naar donkere modus","Working","Overschakelen naar lichte modus","Agent antwoordde","Heeft uw invoer nodig","Muis en toetsenbord bedienen","Groep verwijderen","Groepsnaam","Uitgeschakeld — handmatig starten","Toestaan","Niet gegroepeerd","Schermopname","Geen recente activiteit","Annuleren","Opnieuw instellen","Groep hernoemen","Terminals","Idle","146210jisJyf","Needs input","1849941JwStCv","Permanente Sleutel","Live terminalsessies op deze host","Nieuwe Terminal","Nieuwe Groep","Handmatige goedkeuring nodig voor nieuwe apparaten","Herbruikbaar · geen vervaldatum","9Remote afsluiten (server stoppen, tunnel sluiten, afsluiten)","Groep wisselen","Eenmalige Sleutel","1412940SjkIXs","Shift+Enter voor nieuwe regel • Ctrl+Getal om tabblad te wisselen","410264lYzUHK","Serveractiviteit diagnostiek","Maken","Nieuwe apparaten automatisch goedkeuren","14UNccCV","Tunnel opnieuw instellen en clients opnieuw verbinden","Computer wakker houden","Instellingen","Logboeken","Elk nieuw apparaat maakt verbinding zonder goedkeuring","44bGFGur","PC op afstand ontgrendelen","Toegankelijkheid","17674pdYhwM"];return En=function(){return e},En()}const Pr={common:{statusIdle:H(530),statusWorking:H(514),statusBlocked:H(470),statusDone:H(512),create:H(485),cancel:H(526),delete:"Verwijderen",rename:"Hernoemen",language:"Taal"},terminal:{backToSessions:"Terug naar sessies",switchGroup:H(479),newTerminal:"Nieuwe terminal",send:H(497),typeCommand:H(482),deleteConfirm:H(504)},sessions:{newTerminal:H(474),addGroup:"Groep Toevoegen",newGroup:H(475),groupName:H(520),renameGroup:H(528),deleteGroup:H(519),ungrouped:H(523),deleteSessionConfirm:"Sessie {name} verwijderen? Dit sluit de terminal.",deleteGroupConfirm:H(507)},menu:{connection:"Verbinding",connectionDesc:"Apparaten koppelen en uw beveiligde tunnel beheren",terminals:H(529),terminalsDesc:H(473),logs:H(491),logsDesc:H(484)},recent:{title:H(498),replied:H(516),needsInput:H(517),dismiss:H(505),empty:H(525)},header:{settings:H(490),language:H(511),documentation:"Documentatie",reset:H(488),resetShort:H(527),shutdown:H(478),shutdownShort:"Afsluiten",lightMode:H(515),darkMode:H(513)},remote:{remoteDesktop:H(508),controlScreen:"Scherm, muis en toetsenbord bedienen",screenRecording:H(524),captureScreen:H(506),accessibility:H(495),controlMouseKeyboard:H(518),launchOnStartup:H(510),launchDesc:"Op de achtergrond uitvoeren wanneer u inlogt",disabledStart:H(521),preventSleep:H(489),blockSleep:"Systeemruststand voorkomen om verbinding actief te houden",remoteUnlock:H(494),remoteUnlockDesc:H(501),remoteUnlockReady:"Actief — ontgrendelen op afstand werkt",grant:H(522),granted:"Actief"},clients:{autoApprove:H(486),anyDevice:H(492),requireManual:H(476)},connection:{scanToSignIn:"QR-code scannen of link openen om in te loggen",oneTimeKey:H(480),oneTimeDesc:H(503),permanentKey:H(472),permanentDesc:H(477)}};function yx(e,t){e=e-259;var n=Pn(),x=n[e];return x}function Pn(){var e=["Zezwól na odblokowanie tego PC z telefonu lub przeglądarki przy zablokowaniu","Agent odpowiedział","Done","Usunąć grupę {name}? Wszystkie terminale w niej zostaną zamknięte.","Wyślij","6mWTdBo","Nagrywanie ekranu","Working","27327883fdhJgc","Shift+Enter dla nowej linii • Ctrl+Num aby zmienić kartę","Pulpit Zdalny","3005904sDGEDN","Kontroluj mysz i klawiaturę","Aktywne","Język","Usuń","Utwórz","Dostępność","2945853FNrtHR","Klucz Jednorazowy","Uruchom w tle po zalogowaniu","965464yXRYvk","Potrzebuje Twojego wkładu","Idle","Sesje terminala na żywo na tym hoście","Wróć do sesji","Diagnostyka aktywności serwera","Zamknij 9Remote (zatrzymaj serwer, zamknij tunel, wyjdź)","Zezwól na wyświetlanie ekranu","Nowy Terminal","Utrzymuj komputer w stanie czuwania","10xKpMpA","876955nQaBtd","10498446LrwGls","Dokumentacja","Anuluj","852344AgbNED","Nowy terminal","Needs input","Połączenie","Dodaj Grupę","Usuń grupę","Zeskanuj kod QR lub otwórz link aby się zalogować","Zamknij","Zmień nazwę grupy","Przełącz na tryb jasny","Wymaga ręcznego zatwierdzenia dla nowych urządzeń","Sparuj urządzenia i zarządzaj bezpiecznym tunelem","Przełącz na tryb ciemny","Uniemożliwij uśpienie systemu aby utrzymać aktywne połączenie","Zmień nazwę","1yRVEgf","7iIWuCA","Odblokuj PC zdalnie","Jednorazowe użycie · wygasa","Zresetuj tunel i ponownie połącz klientów"];return Pn=function(){return e},Pn()}var X=yx;(function(e,t){for(var n=yx,x=e();;)try{var r=-parseInt(n(314))/1*(parseInt(n(299))/2)+-parseInt(n(281))/3+parseInt(n(274))/4+parseInt(n(295))/5*(-parseInt(n(268))/6)+parseInt(n(259))/7*(parseInt(n(284))/8)+-parseInt(n(296))/9*(parseInt(n(294))/10)+parseInt(n(271))/11;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Pn,606504);const Br={common:{statusIdle:X(286),statusWorking:X(270),statusBlocked:X(301),statusDone:X(265),create:X(279),cancel:X(298),delete:X(278),rename:X(313),language:X(277)},terminal:{backToSessions:X(288),switchGroup:"Zmień grupę",newTerminal:X(300),send:X(267),typeCommand:X(272),deleteConfirm:"Usunąć terminal {name}?"},sessions:{newTerminal:X(292),addGroup:X(303),newGroup:"Nowa Grupa",groupName:"Nazwa grupy",renameGroup:X(307),deleteGroup:X(304),ungrouped:"Niezgrupowane",deleteSessionConfirm:"Usunąć sesję {name}? To zamknie terminal.",deleteGroupConfirm:X(266)},menu:{connection:X(302),connectionDesc:X(310),terminals:"Terminale",terminalsDesc:X(287),logs:"Dzienniki",logsDesc:X(289)},recent:{title:"Ostatnie",replied:X(264),needsInput:X(285),dismiss:X(306),empty:"Brak ostatniej aktywności"},header:{settings:"Ustawienia",language:"Język",documentation:X(297),reset:X(262),resetShort:"Zresetuj",shutdown:X(290),shutdownShort:"Zamknij",lightMode:X(308),darkMode:X(311)},remote:{remoteDesktop:X(273),controlScreen:"Kontroluj ekran, mysz i klawiaturę",screenRecording:X(269),captureScreen:X(291),accessibility:X(280),controlMouseKeyboard:X(275),launchOnStartup:"Uruchamiaj przy starcie",launchDesc:X(283),disabledStart:"Wyłączone — uruchamianie ręczne",preventSleep:X(293),blockSleep:X(312),remoteUnlock:X(260),remoteUnlockDesc:X(263),remoteUnlockReady:"Aktywne — zdalne odblokowywanie działa",grant:"Zezwól",granted:X(276)},clients:{autoApprove:"Automatycznie zatwierdź nowe urządzenia",anyDevice:"Każde nowe urządzenie się łączy bez zatwierdzenia",requireManual:X(309)},connection:{scanToSignIn:X(305),oneTimeKey:X(282),oneTimeDesc:X(261),permanentKey:"Klucz Permanentny",permanentDesc:"Możliwy do ponownego użycia · bez wygaśnięcia"}};function _x(e,t){e=e-133;var n=Bn(),x=n[e];return x}var K=_x;(function(e,t){for(var n=_x,x=e();;)try{var r=-parseInt(n(159))/1*(parseInt(n(154))/2)+-parseInt(n(167))/3*(-parseInt(n(152))/4)+-parseInt(n(156))/5+parseInt(n(171))/6+-parseInt(n(192))/7+-parseInt(n(155))/8+parseInt(n(134))/9;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Bn,163874);function Bn(){var e=["Recente","1857918aPfuAW","Permitir visualização da tela","Voltar às sessões","Desabilitado — inicialização manual","Manter computador acordado","Qualquer novo dispositivo se conecta sem aprovação","Descartar","Acessibilidade","Desbloquear PC remotamente","Executar em segundo plano ao fazer login","Precisa de sua entrada","Permitir desbloquear este PC pelo telefone ou navegador quando bloqueado","Área de Trabalho Remota","Renomear","Idioma","Desligar 9Remote (parar servidor, fechar túnel, sair)","Logs","Idle","Novo Terminal","Enviar","Diagnóstico de atividade do servidor","766535bPRIlj","Excluir","Novo terminal","1709100ZQpAuw","Conexão","Permitir","Done","Requer aprovação manual para novos dispositivos","Alternar para modo claro","Controlar mouse e teclado","Iniciar na inicialização","Documentação","Trocar de grupo","Excluir o terminal {name}?","Escaneie o código QR ou abra o link para fazer login","Cancelar","Nome do grupo","Criar","Shift+Enter para nova linha • Ctrl+Número para trocar aba","Excluir grupo","Ativo","181384JXACOY","Reutilizável · sem expiração","2onQDNA","693968QsQGqT","1342515zEZsii","Reconfigurar túnel e reconectar clientes","O agente respondeu","52309RVeRuf","Impedir que o sistema durma para manter a conexão ativa","Emparelhe dispositivos e gerencie seu túnel seguro","Working","Controlar tela, mouse e teclado","Alternar para modo escuro","Chave Permanente","Gravação de tela","12BYEMHN","Excluir a sessão {name}? Isso fechará o terminal.","Reconfigurar"];return Bn=function(){return e},Bn()}const Gr={common:{statusIdle:K(188),statusWorking:K(162),statusBlocked:"Needs input",statusDone:K(137),create:K(148),cancel:K(146),delete:K(193),rename:K(184),language:K(185)},terminal:{backToSessions:K(173),switchGroup:K(143),newTerminal:K(133),send:K(190),typeCommand:K(149),deleteConfirm:K(144)},sessions:{newTerminal:K(189),addGroup:"Adicionar Grupo",newGroup:"Novo Grupo",groupName:K(147),renameGroup:"Renomear grupo",deleteGroup:K(150),ungrouped:"Desagrupado",deleteSessionConfirm:K(168),deleteGroupConfirm:"Excluir o grupo {name}? Todos os terminais dentro serão fechados."},menu:{connection:K(135),connectionDesc:K(161),terminals:"Terminais",terminalsDesc:"Sessões de terminal ao vivo em execução neste host",logs:K(187),logsDesc:K(191)},recent:{title:K(170),replied:K(158),needsInput:K(181),dismiss:K(177),empty:"Nenhuma atividade recente"},header:{settings:"Configurações",language:K(185),documentation:K(142),reset:K(157),resetShort:K(169),shutdown:K(186),shutdownShort:"Desligar",lightMode:K(139),darkMode:K(164)},remote:{remoteDesktop:K(183),controlScreen:K(163),screenRecording:K(166),captureScreen:K(172),accessibility:K(178),controlMouseKeyboard:K(140),launchOnStartup:K(141),launchDesc:K(180),disabledStart:K(174),preventSleep:K(175),blockSleep:K(160),remoteUnlock:K(179),remoteUnlockDesc:K(182),remoteUnlockReady:"Ativo — desbloqueio remoto funcionando",grant:K(136),granted:K(151)},clients:{autoApprove:"Aprovar automaticamente novos dispositivos",anyDevice:K(176),requireManual:K(138)},connection:{scanToSignIn:K(145),oneTimeKey:"Chave Única",oneTimeDesc:"Uso único · expira",permanentKey:K(165),permanentDesc:K(153)}};function Gn(){var e=["Агент ответил","Выключить","85758LJrAEn","Закрыть","9446cEHqIj","Постоянный Ключ","Idle","Needs input","Специальные возможности","Новый терминал","Перезагрузить","Добавить Группу","Вернуться к сеансам","Перезагрузить туннель и переподключить клиентов","Новая Группа","Отправить","5474988oLxSPN","Недавнее","60lfWjLf","Отключено — ручной запуск","Done","Активно — удалённая разблокировка работает","Новый Терминал","Однократное использование · срок действия","Терминалы","Подключение","Удалить терминал {name}?","30Pgmfoh","Отмена","Не давать компьютеру спать","Требует ручного одобрения для новых устройств","Разрешить просмотр экрана","Живые сеансы терминала на этом хосте","Язык","Удалить группу","119QWTtuw","Управление мышью и клавиатурой","Переключиться на светлый режим","340peJQYK","Переключиться на тёмный режим","Автоматически одобрять новые устройства","Многоразовое использование · без срока действия","Разрешить","Working","Требует вашего ввода","1441200oMGYLa","Документация","Диагностика активности сервера","Удалённо разблокировать ПК","Нет недавней активности","68JNsImM","Работать в фоне при входе","Переименовать группу","Логи","167168XFytoo","Активно","Удалённый Рабочий Стол","2885255UvWxiK","Параметры","2108447QidzjD","Запуск при старте","Удалить сеанс {name}? Это закроет терминал."];return Gn=function(){return e},Gn()}var W=kx;(function(e,t){for(var n=kx,x=e();;)try{var r=-parseInt(n(198))/1*(parseInt(n(232))/2)+-parseInt(n(196))/3*(-parseInt(n(182))/4)+-parseInt(n(189))/5+parseInt(n(177))/6+-parseInt(n(229))/7*(parseInt(n(186))/8)+-parseInt(n(210))/9*(-parseInt(n(221))/10)+parseInt(n(191))/11*(parseInt(n(212))/12);if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Gn,971440);function kx(e,t){e=e-177;var n=Gn(),x=n[e];return x}const Ur={common:{statusIdle:W(200),statusWorking:W(237),statusBlocked:W(201),statusDone:W(214),create:"Создать",cancel:W(222),delete:"Удалить",rename:"Переименовать",language:W(227)},terminal:{backToSessions:W(206),switchGroup:"Переключить группу",newTerminal:W(203),send:W(209),typeCommand:"Shift+Enter для новой строки • Ctrl+Цифра для переключения вкладки",deleteConfirm:W(220)},sessions:{newTerminal:W(216),addGroup:W(205),newGroup:W(208),groupName:"Имя группы",renameGroup:W(184),deleteGroup:W(228),ungrouped:"Не сгруппировано",deleteSessionConfirm:W(193),deleteGroupConfirm:"Удалить группу {name}? Все терминалы внутри будут закрыты."},menu:{connection:W(219),connectionDesc:"Свяжите устройства и управляйте защищённым туннелем",terminals:W(218),terminalsDesc:W(226),logs:W(185),logsDesc:W(179)},recent:{title:W(211),replied:W(194),needsInput:W(238),dismiss:W(197),empty:W(181)},header:{settings:W(190),language:W(227),documentation:W(178),reset:W(207),resetShort:W(204),shutdown:"Выключить 9Remote (остановить сервер, закрыть туннель, выйти)",shutdownShort:W(195),lightMode:W(231),darkMode:W(233)},remote:{remoteDesktop:W(188),controlScreen:"Управление экраном, мышью и клавиатурой",screenRecording:"Запись экрана",captureScreen:W(225),accessibility:W(202),controlMouseKeyboard:W(230),launchOnStartup:W(192),launchDesc:W(183),disabledStart:W(213),preventSleep:W(223),blockSleep:"Предотвратить спящий режим системы для сохранения подключения",remoteUnlock:W(180),remoteUnlockDesc:"Разрешить разблокировку этого ПК с телефона или браузера при блокировке",remoteUnlockReady:W(215),grant:W(236),granted:W(187)},clients:{autoApprove:W(234),anyDevice:"Новые устройства подключаются без одобрения",requireManual:W(224)},connection:{scanToSignIn:"Отсканируйте код QR или откройте ссылку для входа",oneTimeKey:"Одноразовый Ключ",oneTimeDesc:W(217),permanentKey:W(199),permanentDesc:W(235)}};var G=wx;function wx(e,t){e=e-387;var n=Un(),x=n[e];return x}(function(e,t){for(var n=wx,x=e();;)try{var r=parseInt(n(426))/1+-parseInt(n(413))/2+parseInt(n(397))/3+-parseInt(n(444))/4*(parseInt(n(420))/5)+-parseInt(n(439))/6*(parseInt(n(406))/7)+parseInt(n(443))/8+-parseInt(n(415))/9;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Un,524953);const zr={common:{statusIdle:G(436),statusWorking:G(441),statusBlocked:G(391),statusDone:G(435),create:"Skapa",cancel:G(405),delete:"Radera",rename:G(423),language:G(417)},terminal:{backToSessions:G(388),switchGroup:G(446),newTerminal:G(408),send:G(390),typeCommand:G(425),deleteConfirm:G(421)},sessions:{newTerminal:G(398),addGroup:"Lägg till Grupp",newGroup:G(403),groupName:G(422),renameGroup:G(411),deleteGroup:G(416),ungrouped:G(392),deleteSessionConfirm:"Radera session {name}? Det här kommer att stänga terminalen.",deleteGroupConfirm:G(434)},menu:{connection:G(404),connectionDesc:G(407),terminals:G(409),terminalsDesc:G(448),logs:G(418),logsDesc:"Serveraktivitetsdiagnostik"},recent:{title:"Senaste",replied:G(424),needsInput:G(438),dismiss:G(437),empty:G(431)},header:{settings:G(419),language:G(417),documentation:G(428),reset:G(447),resetShort:G(440),shutdown:G(412),shutdownShort:G(401),lightMode:G(410),darkMode:G(429)},remote:{remoteDesktop:G(394),controlScreen:G(445),screenRecording:G(402),captureScreen:G(432),accessibility:"Tillgänglighet",controlMouseKeyboard:G(430),launchOnStartup:"Starta vid systemstart",launchDesc:G(399),disabledStart:G(387),preventSleep:"Håll datorn vaken",blockSleep:G(389),remoteUnlock:G(427),remoteUnlockDesc:G(396),remoteUnlockReady:G(393),grant:"Tillåt",granted:G(449)},clients:{autoApprove:G(395),anyDevice:"Alla nya enheter ansluts utan godkännande",requireManual:G(442)},connection:{scanToSignIn:G(414),oneTimeKey:"Engångsnyckel",oneTimeDesc:G(400),permanentKey:"Permanent Nyckel",permanentDesc:G(433)}};function Un(){var e=["Avbryt","1813301RYzdjs","Para ihop enheter och hantera din säkra tunnel","Ny terminal","Terminaler","Byt till ljust läge","Döp om grupp","Stäng av 9Remote (stoppa server, stäng tunnel, avsluta)","1619738IDUrAG","Skanna QR-kod eller öppna länk för att logga in","4400865zrmJbq","Radera grupp","Språk","Loggar","Inställningar","100wzbRSl","Radera terminal {name}?","Gruppnamn","Döp om","Agenten svarade","Shift+Enter för ny rad • Ctrl+Siffra för att byta flik","1042359momnMp","Lås upp PC på distans","Dokumentation","Byt till mörkt läge","Styra mus och tangentbord","Ingen nylig aktivitet","Tillåt skärmvy","Återanvändbar · ingen utgångsdatum","Radera grupp {name}? Alla terminaler inom kommer att stängas.","Done","Idle","Stäng","Behöver din inmatning","6ocDLwY","Återställ","Working","Kräver manuellt godkännande för nya enheter","7891688nkyWso","8348rtrtjZ","Styra skärm, mus och tangentbord","Byt grupp","Återställ tunnel och anslut om klienter","Live terminalsessioner som körs på denna värd","Aktiv","Inaktiverad — manuell start","Tillbaka till sessioner","Förhindra systemvila för att hålla anslutningen aktiv","Skicka","Needs input","Inte grupperad","Aktiv — fjärrupplåsning fungerar","Fjärrskrivbord","Godkänn nya enheter automatiskt","Tillåt att denna PC låses upp från telefon eller webbläsare när den är låst","287310ZSJmSH","Ny Terminal","Kör i bakgrunden när du loggar in","Engångsbr uk · upphör","Stäng av","Skärmregistrering","Ny Grupp","Anslutning"];return Un=function(){return e},Un()}var A=Sx;function zn(){var e=["1278918IPmKlR","เอกสาร","เทอร์มินัล","อนุญาตการดูหน้าจอ","ปิดใช้งาน — การเปิดตัวแบบแมนนวล","สลับไปยังโหมดสว่าง","สร้าง","เปลี่ยนชื่อกลุ่ม","398770BqnbyI","กลุ่มใหม่","การเชื่อมต่อ","ปลดล็อกพีซีระยะไกล","ไม่จัดกลุ่ม","สลับไปยังโหมดมืด","เดสก์ทอประยะไกล","ปิด 9Remote (หยุดเซิร์ฟเวอร์ ปิดอุโมงค์ ออก)","รีเซ็ต","1924RrpNxu","กุญแจถาวร","ภาษา","ต้องอนุมัติแบบแมนนวลสำหรับอุปกรณ์ใหม่","เทอร์มินัลใหม่","อนุญาต","2848igYpLj","รันในพื้นหลังเมื่อคุณเข้าสู่ระบบ","เปิดตัวเมื่อเริ่มต้น","ควบคุมหน้าจอ เมาส์ และแป้นพิมพ์","1664820fzZgcL","การตั้งค่า","รีเซ็ตอุโมงค์และเชื่อมต่อไคลเอนต์ใหม่","288MODXFd","ความสามารถในการเข้าถึง","สลับกลุ่ม","5805370KjQuoL","เซสชันเทอร์มินัลแบบสดบนโฮสต์นี้","ยกเลิก","อุปกรณ์ใหม่ใดๆ เชื่อมต่อโดยไม่ต้องอนุมัติ","เพิ่มกลุ่ม","Done","บันทึก","จับคู่อุปกรณ์และจัดการอุโมงค์ที่ปลอดภัยของคุณ","ลบกลุ่ม","ใช้งาน — ปลดล็อกระยะไกลทำงาน","904yXeAgj","อนุมัติอุปกรณ์ใหม่โดยอัตโนมัติ","อนุญาตให้ปลดล็อกพีซีเครื่องนี้จากโทรศัพท์หรือเบราว์เซอร์เมื่อล็อก","ส่ง","Idle","ลบเซสชัน {name}? สิ่งนี้จะปิดเทอร์มินัล","ต้องการอินพุตของคุณ","ชื่อกลุ่ม","กลับไปยังเซสชัน","ปิด","605775pFhCFX","เอเจนต์ตอบแล้ว","13615tlCMjY","การบันทึกหน้าจอ","การวินิจฉัยกิจกรรมของเซิร์ฟเวอร์","ป้องกันการนอนของระบบเพื่อให้การเชื่อมต่อใช้งานอยู่","ลบเทอร์มินัล {name}?","ควบคุมเมาส์และแป้นพิมพ์","ใช้งาน","Working","ล่าสุด"];return zn=function(){return e},zn()}function Sx(e,t){e=e-242;var n=zn(),x=n[e];return x}(function(e,t){for(var n=Sx,x=e();;)try{var r=-parseInt(n(276))/1*(-parseInt(n(302))/2)+-parseInt(n(248))/3+-parseInt(n(286))/4+parseInt(n(292))/5+-parseInt(n(259))/6+parseInt(n(250))/7*(parseInt(n(282))/8)+parseInt(n(289))/9*(-parseInt(n(267))/10);if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(zn,615795);const Lr={common:{statusIdle:A(242),statusWorking:A(257),statusBlocked:"Needs input",statusDone:A(297),create:A(265),cancel:A(294),delete:"ลบ",rename:"เปลี่ยนชื่อ",language:A(278)},terminal:{backToSessions:A(246),switchGroup:A(291),newTerminal:"เทอร์มินัลใหม่",send:A(305),typeCommand:"Shift+Enter สำหรับบรรทัดใหม่ • Ctrl+หมายเลข เพื่อเปลี่ยนแท็บ",deleteConfirm:A(254)},sessions:{newTerminal:A(280),addGroup:A(296),newGroup:A(268),groupName:A(245),renameGroup:A(266),deleteGroup:A(300),ungrouped:A(271),deleteSessionConfirm:A(243),deleteGroupConfirm:"ลบกลุ่ม {name}? เทอร์มินัลทั้งหมดข้างในจะถูกปิด"},menu:{connection:A(269),connectionDesc:A(299),terminals:A(261),terminalsDesc:A(293),logs:A(298),logsDesc:A(252)},recent:{title:A(258),replied:A(249),needsInput:A(244),dismiss:A(247),empty:"ไม่มีกิจกรรมล่าสุด"},header:{settings:A(287),language:A(278),documentation:A(260),reset:A(288),resetShort:A(275),shutdown:A(274),shutdownShort:A(247),lightMode:A(264),darkMode:A(272)},remote:{remoteDesktop:A(273),controlScreen:A(285),screenRecording:A(251),captureScreen:A(262),accessibility:A(290),controlMouseKeyboard:A(255),launchOnStartup:A(284),launchDesc:A(283),disabledStart:A(263),preventSleep:"รักษาคอมพิวเตอร์ให้ตื่นตัว",blockSleep:A(253),remoteUnlock:A(270),remoteUnlockDesc:A(304),remoteUnlockReady:A(301),grant:A(281),granted:A(256)},clients:{autoApprove:A(303),anyDevice:A(295),requireManual:A(279)},connection:{scanToSignIn:"สแกน QR Code หรือเปิดลิงก์เพื่อเข้าสู่ระบบ",oneTimeKey:"กุญแจใช้ครั้งเดียว",oneTimeDesc:"ใช้ครั้งเดียว · หมดอายุ",permanentKey:A(277),permanentDesc:"นำกลับมาใช้ได้ · ไม่มีวันหมดอายุ"}};function Ln(){var e=["18709273MuwpEg","Ajan yanıt verdi","Uzak Masaüstü","Done","15TWMoCe","Farely ve Klavyeyi Kontrol Et","1659290QJIlfZ","Son aktivite yok","Sil","PC'yi uzaktan kilidini aç","Grubu Yeniden Adlandır","Terminallar","İzin ver","70197kGYTvV","Grubu Değiştir","Yeni Grup","Oturum açtığınızda arka planda çalıştır","Açık Moda Geç","Yeni Terminal","Grup {name} silinsin mi? İçindeki tüm terminallar kapatılacak.","Terminal {name} silinsin mi?","Yeni cihazları otomatik olarak onayla","Bilgisayarı Uyanık Tut","İptal","Grup Adı","Erişilebilirlik","Sıfırla","Tek Seferlik Anahtar","Bağlantı","1015392ELddgW","511LXAYUt","Koyu Moda Geç","Kapat","1752676kGYewa","2kiWujW","Ekran Görünümüne İzin Ver","92298vObSOv","Ekran Kaydı","Oluştur","Oturum {name} silinsin mi? Bu terminali kapatacak.","Gruplandırılmamış","Etkin — uzaktan kilitleme açma çalışıyor","Günlükler","Etkin","Bağlantı etkin kalması için sistem uyusunun engellenmesi","1473750gEHIvR","Cihazları eşleştirin ve güvenli tünelinizi yönetin","Başlangıçta Başlat","Grup Ekle","Yeniden kullanılabilir · son kullanma tarihi yok","Tek kullanımlık · sona erer","Dil","9Remote'u Kapat (sunucuyu durdur, tüneli kapat, çık)","Sizin girişinize ihtiyaç duyuyor","Yeni satır için Shift+Enter • Sekmeyi değiştirmek için Ctrl+Num","Ayarlar","27kkhCyb"];return Ln=function(){return e},Ln()}var Q=Ix;function Ix(e,t){e=e-307;var n=Ln(),x=n[e];return x}(function(e,t){for(var n=Ix,x=e();;)try{var r=-parseInt(n(332))/1*(-parseInt(n(353))/2)+parseInt(n(307))/3+parseInt(n(352))/4*(parseInt(n(323))/5)+-parseInt(n(355))/6*(-parseInt(n(349))/7)+-parseInt(n(348))/8+parseInt(n(318))/9*(-parseInt(n(325))/10)+-parseInt(n(319))/11;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Ln,673359);const jr={common:{statusIdle:"Idle",statusWorking:"Working",statusBlocked:"Needs input",statusDone:Q(322),create:Q(357),cancel:Q(342),delete:Q(327),rename:"Yeniden Adlandır",language:Q(313)},terminal:{backToSessions:"Oturumlara Geri Dön",switchGroup:Q(333),newTerminal:Q(337),send:"Gönder",typeCommand:Q(316),deleteConfirm:Q(339)},sessions:{newTerminal:Q(337),addGroup:Q(310),newGroup:Q(334),groupName:Q(343),renameGroup:Q(329),deleteGroup:"Grubu Sil",ungrouped:Q(359),deleteSessionConfirm:Q(358),deleteGroupConfirm:Q(338)},menu:{connection:Q(347),connectionDesc:Q(308),terminals:Q(330),terminalsDesc:"Bu sunucuda çalışan canlı terminal oturumları",logs:Q(361),logsDesc:"Sunucu aktivite tanılama"},recent:{title:"Son",replied:Q(320),needsInput:Q(315),dismiss:Q(351),empty:Q(326)},header:{settings:Q(317),language:Q(313),documentation:"Belgeler",reset:"Tüneli Sıfırla ve İstemcileri Yeniden Bağla",resetShort:Q(345),shutdown:Q(314),shutdownShort:Q(351),lightMode:Q(336),darkMode:Q(350)},remote:{remoteDesktop:Q(321),controlScreen:"Ekranı, Farely ve Klavyeyi Kontrol Et",screenRecording:Q(356),captureScreen:Q(354),accessibility:Q(344),controlMouseKeyboard:Q(324),launchOnStartup:Q(309),launchDesc:Q(335),disabledStart:"Devre Dışı — Manuel Başlatma",preventSleep:Q(341),blockSleep:Q(363),remoteUnlock:Q(328),remoteUnlockDesc:"Kilitliyken bu PC'nin telefondan veya tarayıcıdan kilidinin açılmasına izin ver",remoteUnlockReady:Q(360),grant:Q(331),granted:Q(362)},clients:{autoApprove:Q(340),anyDevice:"Yeni herhangi bir cihaz onay olmaksızın bağlanır",requireManual:"Yeni cihazlar için manuel onay gerekir"},connection:{scanToSignIn:"Oturum açmak için QR kodunu tarayın veya bağlantıyı açın",oneTimeKey:Q(346),oneTimeDesc:Q(312),permanentKey:"Kalıcı Anahtar",permanentDesc:Q(311)}};var q=Cx;(function(e,t){for(var n=Cx,x=e();;)try{var r=parseInt(n(499))/1+parseInt(n(502))/2+parseInt(n(482))/3+parseInt(n(511))/4*(-parseInt(n(453))/5)+parseInt(n(475))/6*(-parseInt(n(454))/7)+parseInt(n(493))/8*(-parseInt(n(477))/9)+-parseInt(n(465))/10*(-parseInt(n(512))/11);if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(jn,277801);const Kr={common:{statusIdle:q(510),statusWorking:"Working",statusBlocked:q(492),statusDone:"Done",create:"Створити",cancel:q(461),delete:q(460),rename:q(513),language:q(469)},terminal:{backToSessions:q(509),switchGroup:q(452),newTerminal:q(490),send:q(487),typeCommand:q(456),deleteConfirm:"Видалити термінал {name}?"},sessions:{newTerminal:"Новий Термінал",addGroup:q(470),newGroup:q(495),groupName:q(485),renameGroup:"Перейменувати групу",deleteGroup:q(497),ungrouped:q(474),deleteSessionConfirm:"Видалити сеанс {name}? Це закриє термінал.",deleteGroupConfirm:q(491)},menu:{connection:q(505),connectionDesc:q(507),terminals:q(484),terminalsDesc:q(468),logs:"Журнали",logsDesc:q(457)},recent:{title:q(455),replied:q(501),needsInput:"Потребує вашого введення",dismiss:q(504),empty:q(473)},header:{settings:q(486),language:q(469),documentation:"Документація",reset:q(494),resetShort:q(467),shutdown:q(459),shutdownShort:q(463),lightMode:q(472),darkMode:q(503)},remote:{remoteDesktop:q(462),controlScreen:q(476),screenRecording:q(471),captureScreen:q(500),accessibility:q(466),controlMouseKeyboard:q(498),launchOnStartup:q(464),launchDesc:q(483),disabledStart:q(481),preventSleep:q(508),blockSleep:"Запобігти переходу системи в режим сну для утримання активного підключення",remoteUnlock:"Розблокувати ПК віддалено",remoteUnlockDesc:q(488),remoteUnlockReady:"Активно — віддалене розблокування працює",grant:q(506),granted:q(479)},clients:{autoApprove:q(489),anyDevice:"Будь-який новий пристрій підключається без схвалення",requireManual:q(478)},connection:{scanToSignIn:"Сканувати QR-код або відкрити посилання для входу",oneTimeKey:q(496),oneTimeDesc:"Однократне використання · закінчується",permanentKey:q(480),permanentDesc:q(458)}};function Cx(e,t){e=e-452;var n=jn(),x=n[e];return x}function jn(){var e=["Скинути","Сеанси живих терміналів на цьому хості","Мова","Додати Групу","Запис екрану","Перейти у світлий режим","Немає нещодавніх дій","Не згруповано","120966HOTDUJ","Керування екраном, мишею та клавіатурою","16299dmRSpT","Потребує ручного схвалення для нових пристроїв","Активно","Постійний Ключ","Вимкнено — ручний запуск","1053051vLAkDf","Запускати у фоні при вході","Термінали","Назва групи","Параметри","Надіслати","Дозволити розблокування цього ПК з телефону або браузера під час блокування","Автоматично схвалювати нові пристрої","Новий термінал","Видалити групу {name}? Усі термінали всередині будуть закриті.","Needs input","1976rvOZlw","Скинути туннель та повторно підключити клієнтів","Нова Група","Одноразовий Ключ","Видалити групу","Керування мишею та клавіатурою","435760YFkRIf","Дозволити прегляд екрану","Агент відповів","97628oBNFEU","Перейти в темний режим","Закрити","Підключення","Дозволити","Парування пристроїв та керування захищеним туннелем","Утримувати комп'ютер в активному стані","Повернутися до сеансів","Idle","126376awIzaj","33GUiiMl","Перейменувати","Перемикнути групу","70nrmIer","182ykQiUB","Недавні","Shift+Enter для нового рядка • Ctrl+Цифра для перемикання вкладки","Діагностика активності сервера","Багаторазовий · без закінчення","Вимкнути 9Remote (зупинити сервер, закрити туннель, вийти)","Видалити","Скасувати","Віддалений Робочий Стіл","Вимкнути","Запуск під час завантаження","2853430zFlWev","Спеціальні можливості"];return jn=function(){return e},jn()}function Kn(){var e=["Cho phép","Terminal","Hủy","Ghi màn hình","Tự động duyệt thiết bị mới","55IFZDBK","2586129nyffZb","Thêm nhóm","Chưa phân nhóm","Cho phép xem màn hình","Giữ máy thức","Tên nhóm","Điều khiển từ xa","Chưa có hoạt động nào","642985NquZVj","3496500tkwQts","Tạo","Ngôn ngữ","Các phiên terminal đang chạy trên máy này","Yêu cầu duyệt thủ công cho thiết bị mới","Cần bạn phản hồi","Tái sử dụng · không hết hạn","Khóa một lần","Xóa terminal {name}?","Khóa vĩnh viễn","8UTOqZP","Khởi động lại","Agent đã trả lời","Hoạt động và chẩn đoán máy chủ","Nhật ký","Đổi tên","Đã tắt — khởi chạy thủ công","Đang bật — mở khóa từ xa hoạt động","Chạy nền khi bạn đăng nhập","Working","Done","Điều khiển màn hình, chuột & bàn phím","Needs input","Chuyển nhóm","Gửi","Ghép nối thiết bị và quản lý tunnel bảo mật","72hxAAoH","4VYPnlM","Chặn hệ thống ngủ để mạng luôn hoạt động","Khởi chạy cùng hệ thống","Trợ năng","Shift+Enter để xuống dòng • Ctrl+Số để chuyển tab","Thoát","2937830LZkBHC","Điều khiển chuột & bàn phím","234611IPffJe","Chuyển sang giao diện tối","3412495UNFcBS","Mọi thiết bị mới kết nối không cần duyệt","4flSlMb","Terminal mới","Đổi tên nhóm","8647335lhHEHF","Xóa","Gần đây","Tài liệu","Xóa nhóm {name}? Tất cả terminal bên trong sẽ bị đóng.","Dùng một lần · hết hạn"];return Kn=function(){return e},Kn()}var O=Dx;function Dx(e,t){e=e-210;var n=Kn(),x=n[e];return x}(function(e,t){for(var n=Dx,x=e();;)try{var r=parseInt(n(254))/1*(parseInt(n(246))/2)+parseInt(n(210))/3+-parseInt(n(258))/4*(-parseInt(n(256))/5)+parseInt(n(245))/6*(parseInt(n(218))/7)+parseInt(n(229))/8*(-parseInt(n(261))/9)+-parseInt(n(252))/10*(parseInt(n(272))/11)+parseInt(n(219))/12;if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Kn,977669);const Or={common:{statusIdle:"Idle",statusWorking:O(238),statusBlocked:O(241),statusDone:O(239),create:O(220),cancel:O(269),delete:"Xóa",rename:O(234),language:O(221)},terminal:{backToSessions:"Quay lại danh sách phiên",switchGroup:O(242),newTerminal:O(259),send:O(243),typeCommand:O(250),deleteConfirm:O(227)},sessions:{newTerminal:O(259),addGroup:O(211),newGroup:"Nhóm mới",groupName:O(215),renameGroup:O(260),deleteGroup:"Xóa nhóm",ungrouped:O(212),deleteSessionConfirm:"Xóa phiên {name}? Việc này sẽ tắt terminal.",deleteGroupConfirm:O(265)},menu:{connection:"Kết nối",connectionDesc:O(244),terminals:O(268),terminalsDesc:O(222),logs:O(233),logsDesc:O(232)},recent:{title:O(263),replied:O(231),needsInput:O(224),dismiss:O(262),empty:O(217)},header:{settings:"Cài đặt",language:O(221),documentation:O(264),reset:"Khởi động lại tunnel và kết nối lại thiết bị",resetShort:O(230),shutdown:"Thoát 9Remote (dừng máy chủ, đóng tunnel và thoát)",shutdownShort:O(251),lightMode:"Chuyển sang giao diện sáng",darkMode:O(255)},remote:{remoteDesktop:O(216),controlScreen:O(240),screenRecording:O(270),captureScreen:O(213),accessibility:O(249),controlMouseKeyboard:O(253),launchOnStartup:O(248),launchDesc:O(237),disabledStart:O(235),preventSleep:O(214),blockSleep:O(247),remoteUnlock:"Mở khóa máy từ xa",remoteUnlockDesc:"Cho phép mở khóa máy này từ điện thoại hoặc trình duyệt khi bị khóa",remoteUnlockReady:O(236),grant:O(267),granted:"Đang bật"},clients:{autoApprove:O(271),anyDevice:O(257),requireManual:O(223)},connection:{scanToSignIn:"Quét mã QR hoặc mở liên kết để đăng nhập",oneTimeKey:O(226),oneTimeDesc:O(266),permanentKey:O(228),permanentDesc:O(225)}};var xe=Tx;(function(e,t){for(var n=Tx,x=e();;)try{var r=parseInt(n(220))/1*(parseInt(n(199))/2)+parseInt(n(227))/3+parseInt(n(193))/4*(parseInt(n(236))/5)+parseInt(n(233))/6+-parseInt(n(202))/7+-parseInt(n(223))/8+-parseInt(n(188))/9*(parseInt(n(190))/10);if(r===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(On,934176);function Tx(e,t){e=e-188;var n=On(),x=n[e];return x}function On(){var e=["未分组","重命名组","删除会话 {name}? 这将关闭终端。","远程解锁电脑","控制屏幕、鼠标和键盘","在此主机上运行的实时终端会话","新终端","Needs input","关闭 9Remote(停止服务器、关闭隧道、退出)","服务器活动诊断","配对设备并管理您的安全隧道","组名称","允许屏幕视图","删除组 {name}? 其中的所有终端都将关闭。","扫描二维码或打开链接以登录","新设备需要手动批准","需要您的输入","880uEpZIM","可重复使用 · 不过期","重命名","14091392ecYojv","Idle","删除组","重置隧道并重新连接客户端","3471801zPvuCr","切换到深色模式","一次性使用 · 过期","切换组","代理已回复","在您登录时在后台运行","10004370TUlCou","开机启动","没有最近的活动","45vyIBue","添加组","9xSdjfU","保持计算机清醒","28859460xjbCyn","Done","已启用","739580wXSgZy","无障碍","允许在锁定时从手机或浏览器解锁此电脑","屏幕录制","永久密钥","已禁用 — 手动启动","2848uXVaDl","Working","自动批准新设备","1122037IlGBMw"];return On=function(){return e},On()}const qr={common:{statusIdle:xe(224),statusWorking:xe(200),statusBlocked:xe(210),statusDone:xe(191),create:"创建",cancel:"取消",delete:"删除",rename:xe(222),language:"语言"},terminal:{backToSessions:"返回会话",switchGroup:xe(230),newTerminal:"新终端",send:"发送",typeCommand:"Shift+Enter 新建行 • Ctrl+数字 切换标签页",deleteConfirm:"删除终端 {name}?"},sessions:{newTerminal:xe(209),addGroup:xe(237),newGroup:"新组",groupName:xe(214),renameGroup:xe(204),deleteGroup:xe(225),ungrouped:xe(203),deleteSessionConfirm:xe(205),deleteGroupConfirm:xe(216)},menu:{connection:"连接",connectionDesc:xe(213),terminals:"终端",terminalsDesc:xe(208),logs:"日志",logsDesc:xe(212)},recent:{title:"最近",replied:xe(231),needsInput:xe(219),dismiss:"关闭",empty:xe(235)},header:{settings:"设置",language:"语言",documentation:"文档",reset:xe(226),resetShort:"重置",shutdown:xe(211),shutdownShort:"关闭",lightMode:"切换到浅色模式",darkMode:xe(228)},remote:{remoteDesktop:"远程桌面",controlScreen:xe(207),screenRecording:xe(196),captureScreen:xe(215),accessibility:xe(194),controlMouseKeyboard:"控制鼠标和键盘",launchOnStartup:xe(234),launchDesc:xe(232),disabledStart:xe(198),preventSleep:xe(189),blockSleep:"阻止系统睡眠以保持连接活跃",remoteUnlock:xe(206),remoteUnlockDesc:xe(195),remoteUnlockReady:"已启用 — 远程解锁可用",grant:"允许",granted:xe(192)},clients:{autoApprove:xe(201),anyDevice:"任何新设备无需批准即可连接",requireManual:xe(218)},connection:{scanToSignIn:xe(217),oneTimeKey:"一次性密钥",oneTimeDesc:xe(229),permanentKey:xe(197),permanentDesc:xe(221)}};(function(e,t){const n=Fr,x=e();for(;;)try{if(-parseInt(n(468))/1*(parseInt(n(469))/2)+-parseInt(n(467))/3+-parseInt(n(459))/4*(-parseInt(n(461))/5)+parseInt(n(460))/6*(-parseInt(n(466))/7)+parseInt(n(462))/8+-parseInt(n(464))/9*(parseInt(n(463))/10)+parseInt(n(465))/11===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(qn,956988);function Fr(e,t){return e=e-459,qn()[e]}function qn(){const e=["4011kvUqtf","2283546MUOGJv","2wUNoAV","883408knceaW","2787244wJoxgi","7602AUkeaB","5CmtVeI","9066528GhUDhl","10GMiCGu","7861239AXnUFi","26080043XVFxQs"];return qn=function(){return e},qn()}const Ve={en:_r,ar:kr,de:wr,es:Sr,fa:Ir,fr:Cr,he:Dr,hi:Tr,id:Nr,it:Rr,ja:Mr,ko:Ar,ms:Er,nl:Pr,pl:Br,pt:Gr,ru:Ur,sv:zr,th:Lr,tr:jr,uk:Kr,vi:Or,zh:qr};function Nx(e,t){return e=e-475,Fn()[e]}const ie=Nx;(function(e,t){const n=Nx,x=e();for(;;)try{if(parseInt(n(494))/1+parseInt(n(485))/2+-parseInt(n(479))/3+parseInt(n(498))/4*(-parseInt(n(508))/5)+-parseInt(n(495))/6+parseInt(n(482))/7*(-parseInt(n(504))/8)+parseInt(n(503))/9*(parseInt(n(499))/10)===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Fn,274331);const Nt=[{code:"en",label:ie(510),flag:ie(486)},{code:"vi",label:ie(497),flag:"🇻🇳"},{code:"zh",label:"中文",flag:"🇨🇳"},{code:"es",label:ie(475),flag:ie(513)},{code:"hi",label:ie(476),flag:ie(480)},{code:"ar",label:"العربية",flag:"🇸🇦"},{code:"pt",label:ie(496),flag:ie(512)},{code:"ru",label:ie(515),flag:"🇷🇺"},{code:"ja",label:ie(506),flag:ie(509)},{code:"de",label:ie(487),flag:ie(505)},{code:"fr",label:ie(490),flag:"🇫🇷"},{code:"ko",label:ie(477),flag:ie(502)},{code:"it",label:ie(491),flag:ie(507)},{code:"tr",label:ie(484),flag:"🇹🇷"},{code:"id",label:ie(488),flag:ie(483)},{code:"th",label:"ไทย",flag:"🇹🇭"},{code:"pl",label:"Polski",flag:ie(481)},{code:"nl",label:ie(511),flag:ie(489)},{code:"sv",label:"Svenska",flag:"🇸🇪"},{code:"uk",label:ie(516),flag:ie(478)},{code:"fa",label:ie(493),flag:ie(501)},{code:"he",label:ie(492),flag:ie(500)},{code:"ms",label:"Bahasa Melayu",flag:ie(514)}];function Fn(){const e=["हिन्दी","한국어","🇺🇦","364347jGVGhS","🇮🇳","🇵🇱","1428721CSPjPo","🇮🇩","Türkçe","630124TCkJpC","🇺🇸","Deutsch","Bahasa Indonesia","🇳🇱","Français","Italiano","עברית","فارسی","435817fYaJcg","1745694wbflDE","Português","Tiếng Việt","36MChSnK","1410dlNDVf","🇮🇱","🇮🇷","🇰🇷","41841yAhkCE","8StWFoq","🇩🇪","日本語","🇮🇹","286420GkyCSs","🇯🇵","English","Nederlands","🇧🇷","🇪🇸","🇲🇾","Русский","Українська","Español"];return Fn=function(){return e},Fn()}const Rt="en",Rx="agentLocale";(function(e,t){const n=Ye,x=e();for(;;)try{if(parseInt(n(228))/1*(-parseInt(n(240))/2)+-parseInt(n(247))/3+parseInt(n(246))/4+parseInt(n(238))/5*(-parseInt(n(235))/6)+-parseInt(n(244))/7*(parseInt(n(239))/8)+parseInt(n(243))/9*(parseInt(n(233))/10)+parseInt(n(229))/11===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Hn,357386);function Ye(e,t){return e=e-228,Hn()[e]}function E0(e,t){const n=Ye;if(e)return t.split(".")[n(230)]((x,r)=>x==null?x:x[r],e)}function Hn(){const e=["2220172xWZJKa","137922hSQfFi","217xzSQeZ","13975170RLpnlc","reduce","replace","setItem","330yjMpNI","delete","24LslZPq","forEach","string","886085XDHAWr","1495528iSxwhq","4790CaanGm","language","slice","49176JUFpKG","14Njakww","add"];return Hn=function(){return e},Hn()}function Hr(e,t){const n=Ye;return typeof e!==n(237)||!t?e:e[n(231)](/\{(\w+)\}/g,(x,r)=>t[r]!=null?t[r]:"{"+r+"}")}function Wr(){const e=Ye;try{const t=localStorage.getItem(Rx);if(t&&Ve[t])return t;const n=(navigator[e(241)]||"")[e(242)](0,2);if(Ve[n])return n}catch{}return Rt}let Mt=Wr();const At=new Set;function Jr(e){const t=Ye;if(!(e===Mt||!Ve[e])){Mt=e;try{localStorage[t(232)](Rx,e)}catch{}At[t(236)](n=>n(e))}}function Vr(e,t,n){const x=Ve[e]||Ve[Rt],r=Ve[Rt],a=E0(x,t)??E0(r,t)??t;return Hr(a,n)}function Fe(){const[e,t]=ae(Mt);return ge(()=>{const x=Ye,r=a=>t(a);return At[x(245)](r),()=>At[x(234)](r)},[]),{t:(x,r)=>Vr(e,x,r),locale:e,setLocale:Jr}}const P0="9remote.cc";function Qr(e){if(e<=0)return"Expired";const t=Math.floor(e/1e3),n=Math.floor(t/60),x=t%60;return`${String(n).padStart(2,"0")}:${String(x).padStart(2,"0")}`}function ln({icon:e,onClick:t,title:n,danger:x}){return o("button",{onClick:t,title:n,className:"glass-btn w-7 h-7 flex items-center justify-center flex-shrink-0",style:x?{color:"rgba(255,100,100,0.7)"}:{color:"var(--text-muted)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:15},children:e})})}function Yr({qrUrl:e,oneTimeKey:t,oneTimeKeyExpiresAt:n,permanentKey:x,onGenerateOneTimeKey:r,onRegenerateKey:a,onStopTunnel:s}){const{t:i}=Fe(),l=je(null),[u,p]=ae(null),[g,c]=ae(null),[m,h]=ae(null);ge(()=>{!e||!l.current||yr.toCanvas(l.current,e,{width:200,margin:1,color:{dark:"#0f1923",light:"#ffffff"}}).catch(()=>{})},[e]),ge(()=>{if(!n){p(null);return}const J=()=>p(n-Date.now());J();const b=setInterval(J,1e3);return()=>clearInterval(b)},[n]);const v=(J,b)=>{navigator.clipboard.writeText(J).catch(()=>{}),c(b),setTimeout(()=>c(null),2e3)};return o(Ke,{children:[m==="oneTime"&&o(Le,{message:"Generate a new one-time key? The current one will expire immediately.",confirmLabel:"Generate",onConfirm:()=>{h(null),r==null||r()},onCancel:()=>h(null)}),m==="regen"&&o(Le,{message:"Regenerate permanent key? All existing sessions will be disconnected.",confirmLabel:"Regenerate",confirmDanger:!0,onConfirm:()=>{h(null),a==null||a()},onCancel:()=>h(null)}),m==="stop"&&o(Le,{message:"Stop tunnel? Remote clients will be disconnected.",confirmLabel:"Stop",confirmDanger:!0,onConfirm:()=>{h(null),s==null||s()},onCancel:()=>h(null)}),o("div",{className:"card-elev p-5 flex flex-col items-center gap-4 h-full",children:[o("div",{className:"w-full flex items-center gap-2",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--brand-500)"},children:"qr_code_2"}),o("span",{className:"text-sm font-semibold",style:{color:"var(--text-main)"},children:i("connection.pairDevice")})]}),o("div",{className:"w-52 h-52 rounded-[18px] overflow-hidden bg-white p-3.5 flex items-center justify-center flex-shrink-0",style:{boxShadow:"0 12px 30px -10px rgba(0,0,0,0.5)"},children:e?o("canvas",{ref:l}):o("span",{className:"material-symbols-outlined text-gray-300 text-7xl",children:"qr_code_2"})}),o("div",{className:"flex flex-col items-center gap-1",children:[o("span",{className:"text-xs",style:{color:"var(--text-muted)"},children:i("connection.scanToSignIn")}),o("a",{href:`https://${P0}/login`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 hover:underline transition-opacity",children:[o("span",{className:"w-2 h-2 rounded-full bg-green-400 flex-shrink-0"}),o("span",{className:"text-sm font-bold",style:{color:"var(--brand-500)"},children:[P0,"/login"]}),o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:14,color:"var(--brand-500)"},children:"open_in_new"})]})]}),o("div",{className:"w-full h-px",style:{background:"var(--border)"}}),o("div",{className:"w-full flex flex-col gap-1.5",children:[o("div",{className:"flex items-center justify-between px-0.5",children:[o("span",{className:"text-xs font-medium",style:{color:"var(--text-muted)"},children:i("connection.oneTimeKey")}),o("span",{className:"text-xs",style:{color:"var(--text-muted)"},children:i("connection.oneTimeDesc")})]}),o("div",{className:"w-full flex items-center gap-2 dark-card px-3 py-2.5",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:16,color:"var(--text-muted)"},children:"timer"}),o("span",{className:"flex-1 font-mono font-bold tracking-[0.18em] text-base truncate",style:{color:t?"var(--brand-500)":"var(--border)"},children:t||"• • • • • •"}),u!==null&&o("span",{className:`text-xs font-mono flex-shrink-0 ${u<=0?"text-red-400":""}`,style:u>0?{color:"var(--text-muted)"}:{},children:Qr(u)}),t&&o(ln,{icon:g==="oneTime"?"check":"content_copy",onClick:()=>v(t,"oneTime"),title:"Copy one-time key"}),o(ln,{icon:"refresh",onClick:()=>h("oneTime"),title:"New one-time key"})]})]}),o("div",{className:"w-full flex flex-col gap-1.5",children:[o("div",{className:"flex items-center justify-between px-0.5",children:[o("span",{className:"text-xs font-medium",style:{color:"var(--text-muted)"},children:i("connection.permanentKey")}),o("span",{className:"text-xs",style:{color:"var(--text-muted)"},children:i("connection.permanentDesc")})]}),o("div",{className:"w-full flex items-center gap-2 dark-card px-3 py-2.5",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:16,color:"var(--text-muted)"},children:"key"}),o("span",{className:"flex-1 font-mono text-xs truncate",style:{color:"var(--text-muted)"},children:x||"— not set —"}),x&&o(ln,{icon:g==="permanent"?"check":"content_copy",onClick:()=>v(x,"permanent"),title:"Copy permanent key"}),o(ln,{icon:"autorenew",onClick:()=>h("regen"),title:"Regenerate permanent key",danger:!0})]})]}),o("button",{onClick:()=>h("stop"),title:"Stop tunnel",className:"btn-danger w-full mt-1 py-2.5 flex items-center justify-center gap-2 text-[13px] font-semibold",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:17},children:"stop_circle"}),"Stop Tunnel"]})]})]})}const Zr="https://docs.9remote.cc/";function Xr({isStopped:e,onStop:t,onShutdown:n,variant:x="glass"}){const{t:r,locale:a}=Fe(),[s,i]=ae(!1),[l,u]=ae(!1),p=je(null),g=Nt.find(v=>v.code===a)||Nt[0];ge(()=>{if(!s)return;const v=J=>{p.current&&!p.current.contains(J.target)&&i(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[s]);const c=v=>{i(!1),v==null||v()},m=x==="glass"?"glass-btn w-10 h-10 rounded-xl flex items-center justify-center":"p-1.5 rounded-lg transition-all duration-150 ease-out active:scale-[0.94] flex-shrink-0 term-btn",h=x==="glass"?void 0:{background:"var(--surface-2)",color:"var(--text-main)"};return o("div",{ref:p,className:"relative flex-shrink-0",children:[o("button",{onClick:()=>i(v=>!v),title:r("header.settings"),className:m,style:h,children:o("span",{className:"material-symbols-outlined text-xl",children:"settings"})}),s&&o("div",{className:"absolute right-0 top-full mt-1 z-[80] rounded-lg shadow-lg py-1 min-w-[220px]",style:{background:"var(--surface)",border:"1px solid var(--border)"},children:[o("button",{onClick:()=>c(()=>u(!0)),className:"w-full text-left px-3 py-1.5 text-sm flex items-center gap-2 card-act",style:{color:"var(--text-main)"},children:[o("span",{className:"material-symbols-outlined text-base",children:"language"}),o("span",{className:"flex-1",children:[g.flag," ",g.label]})]}),o("div",{className:"my-0.5",style:{borderTop:"1px solid var(--border)"}}),o(wt,{icon:"menu_book",label:r("header.documentation"),onClick:()=>c(()=>window.open(Zr,"_blank"))}),!e&&o(wt,{icon:"restart_alt",label:r("header.resetShort"),onClick:()=>c(t)}),o(wt,{icon:"power_settings_new",label:r("header.shutdownShort"),danger:!0,onClick:()=>c(n)})]}),l&&o($r,{onClose:()=>u(!1)})]})}function $r({onClose:e}){const{t,locale:n,setLocale:x}=Fe();return ge(()=>{const r=a=>{a.key==="Escape"&&e()};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e]),o("div",{className:"fixed inset-0 z-[90] flex items-center justify-center p-4",style:{background:"rgba(0,0,0,0.6)"},onClick:e,children:o("div",{className:"glass-card p-5 flex flex-col gap-4 w-full max-w-lg max-h-[90vh]",onClick:r=>r.stopPropagation(),children:[o("div",{className:"flex items-center justify-between",children:[o("h3",{className:"text-base font-semibold",style:{color:"var(--text-main)"},children:t("header.language")}),o("button",{onClick:e,className:"material-symbols-outlined",style:{fontSize:20,color:"var(--text-muted)",cursor:"pointer"},children:"close"})]}),o("div",{className:"grid grid-cols-2 gap-2 overflow-y-auto",children:Nt.map(r=>o("button",{onClick:()=>{x(r.code),e()},className:"flex items-center gap-2 px-3 py-2 text-sm rounded-xl card-act",style:{background:r.code===n?"rgba(var(--brand-rgb),0.15)":"var(--glass-bg)",color:r.code===n?"var(--brand-400)":"var(--text-main)"},children:[o("span",{children:r.flag}),o("span",{className:"flex-1 text-left truncate",children:r.label}),r.code===n&&o("span",{className:"material-symbols-outlined",style:{fontSize:16},children:"check"})]},r.code))})]})})}function wt({icon:e,label:t,danger:n,onClick:x}){return o("button",{onClick:x,className:"w-full text-left px-3 py-1.5 text-sm flex items-center gap-2 card-act",style:{color:n?"var(--danger)":"var(--text-main)"},children:[o("span",{className:"material-symbols-outlined text-base",children:e})," ",t]})}const ea=5e3;function B0(e){if(!e&&e!==0)return"--";const t=Math.floor(e/86400),n=Math.floor(e%86400/3600),x=Math.floor(e%3600/60);return t>0?`${t}d ${n}h`:n>0?`${n}h ${x}m`:`${x}m`}function ze(e){return e==null?"--":e>=1024?`${(e/1024).toFixed(2)} GB`:`${e.toFixed(1)} MB`}function St(e,t){return t?Math.min(100,e/t*100):0}function na({pct:e,color:t="var(--brand-500)"}){return o("div",{className:"w-full h-1.5 rounded-full overflow-hidden",style:{background:"var(--border)"},children:o("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${e}%`,background:t}})})}function ye({icon:e,label:t,value:n,sub:x,pct:r,barColor:a}){return o("div",{className:"flex flex-col gap-1 py-2 border-b last:border-0",style:{borderColor:"var(--border)"},children:[o("div",{className:"flex items-center gap-2",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:16,color:"var(--text-muted)"},children:e}),o("span",{className:"text-xs flex-1",style:{color:"var(--text-muted)"},children:t}),o("span",{className:"text-xs font-mono font-medium",style:{color:"var(--text-main)"},children:n})]}),x&&o("p",{className:"text-[10px] pl-6",style:{color:"var(--text-muted)"},children:x}),r!=null&&o("div",{className:"pl-6",children:o(na,{pct:r,color:a})})]})}function It({icon:e,title:t,children:n,t:x}){return o("div",{className:"card-elev p-5 flex flex-col gap-1",children:[o("div",{className:"flex items-center gap-2.5 mb-2.5",children:[o("span",{className:"material-symbols-outlined flex items-center justify-center w-8 h-8 rounded-lg flex-shrink-0",style:{fontSize:18,color:"var(--brand-500)",background:"var(--brand-tint)"},children:e}),o("p",{className:"text-[13px] font-bold tracking-tight",style:{color:"var(--text-main)"},children:t})]}),n]})}function ta(){const{t:e}=Fe(),[t,n]=ae(null),[x,r]=ae(!1),a=je(null),s=async()=>{try{const h=await fetch("/api/system/stats",{cache:"no-store"});if(!h.ok)throw new Error;const v=await h.json();n(v),r(!1)}catch{r(!0)}};if(ge(()=>(s(),a.current=setInterval(s,ea),()=>clearInterval(a.current)),[]),x&&!t)return o("p",{className:"text-xs text-center mt-8",style:{color:"var(--text-muted)"},children:e("system.unavailable")||"Unable to load system stats"});if(!t)return o("p",{className:"text-xs text-center mt-8",style:{color:"var(--text-muted)"},children:"Loading…"});const{agent:i,os:l,remote:u}=t,p=St(i.memory.heapUsedMB,i.memory.heapTotalMB),g=St(i.memory.rssMB,l.totalMemMB),c=St(l.freeMemMB,l.totalMemMB),m=i.memory.heapUsedMB>(u.memoryWarningThresholdMB||1e3);return o("div",{className:"flex flex-col gap-5 max-w-2xl mx-auto w-full",children:[o(It,{icon:"memory",title:e("system.agent")||"9Remote",children:[o(ye,{icon:"tag",label:"Version",value:i.version||"--",sub:`${i.nodeVersion} · PID ${i.pid}`}),o(ye,{icon:"schedule",label:e("system.uptime")||"Uptime",value:B0(i.uptimeSec)}),o(ye,{icon:"memory",label:e("system.heapUsed")||"Heap used",value:ze(i.memory.heapUsedMB),sub:`${e("system.heapTotal")||"total"} ${ze(i.memory.heapTotalMB)} · ${e("system.external")||"external"} ${ze(i.memory.externalMB)}`,pct:p,barColor:m?"var(--danger)":"var(--brand-500)"}),o(ye,{icon:"developer_board",label:"RSS",value:ze(i.memory.rssMB),sub:`${e("system.ofOsTotal")||"of OS"} ${ze(l.totalMemMB)}`,pct:g,barColor:"var(--info)"})]}),o(It,{icon:"computer",title:e("system.machine")||"Machine",children:[o(ye,{icon:"dns",label:"Hostname",value:l.hostname,sub:`${l.platform} · ${l.arch}`}),o(ye,{icon:"schedule",label:e("system.osUptime")||"OS uptime",value:B0(l.uptimeSec)}),o(ye,{icon:"developer_board",label:"CPU",value:`${l.cpuCount}×`,sub:l.cpuModel}),o(ye,{icon:"speed",label:e("system.loadAvg")||"Load avg",value:l.loadAvg.map(h=>h.toFixed(2)).join(" / "),sub:e("system.loadDesc")||"1m / 5m / 15m"}),o(ye,{icon:"memory",label:e("system.freeMem")||"Free memory",value:ze(l.freeMemMB),sub:`${e("system.ofOsTotal")||"of"} ${ze(l.totalMemMB)}`,pct:c,barColor:"var(--success)"})]}),o(It,{icon:"desktop_windows",title:e("system.remoteDesktop")||"Remote Desktop",children:[o(ye,{icon:u.available?"check_circle":"cancel",label:e("system.status")||"Status",value:u.available?e("system.available")||"Available":e("system.offline")||"Offline"}),o(ye,{icon:"devices",label:e("system.clients")||"Clients",value:`${u.total}`,sub:u.streaming>0?`${u.streaming} ${e("system.streaming")||"streaming"}`:e("system.idle")||"idle"}),o(ye,{icon:"warning",label:e("system.ramThreshold")||"RAM warning",value:`${u.memoryWarningThresholdMB} MB`,sub:m?e("system.thresholdExceeded")||"threshold exceeded":e("system.thresholdOk")||"within limit"})]})]})}const $=Mx;(function(e,t){const n=Mx,x=e();for(;;)try{if(-parseInt(n(193))/1*(-parseInt(n(208))/2)+parseInt(n(244))/3*(parseInt(n(204))/4)+-parseInt(n(209))/5+parseInt(n(243))/6*(parseInt(n(223))/7)+-parseInt(n(226))/8*(-parseInt(n(232))/9)+parseInt(n(205))/10*(parseInt(n(202))/11)+-parseInt(n(207))/12===t)break;x.push(x.shift())}catch{x.push(x.shift())}})(Wn,264726);const cn={startDelayMs:3e3,pollMs:2e3,timeoutMs:9e4};$(229);function Mx(e,t){return e=e-188,Wn()[e]}$(200),$(201),$(211),$(196),$(233),$(236),$(217),$(234),$(240),$(219),$(239),$(188),$(221),$(197),$(192),$(242),$(237),$(213),$(212),$(225),$(210),$(195),$(218),$(214),$(241),$(215),$(216),$(191),$(235);$(222),$(228),$(199),$(206),$(189),$(220),$(238),$(227),$(198),$(231),$(224),$(230),$(194),$(190);function Wn(){const e=["code-insiders","head","git status","git add .","22YzrOqM","9remote-cmd-history","39976jBXIlf","1526700cerXEH","tail","3850380GecYPV","2xzPvnZ","2123625BQhqXv","docker ps","git push","ps aux","tail -f","docker compose up -d","code .","claude --continue","git checkout","docker logs -f","npm run build","nano","cd ..","less","665nhPyuJ","touch","df -h","162856fKBqpg","code","more","local-ui","chmod","mkdir","63KIAGKO","git diff","git stash","codex","git log --oneline","grep -rn","bat","npm run test","npm run dev","docker compose down","mkdir -p","3900PnzmHw","147azReKi","npm run lint","vim","grep","claude --resume","ls -la","11021BUniHW","open","docker ps -a","git pull","cd ~"];return Wn=function(){return e},Wn()}$(203);const Kt=[{id:"connection",label:"Connection",icon:"hub",desc:"Pair devices and manage your secure tunnel"},{id:"terminals",label:"Terminal",icon:"open_in_new",desc:"Open the web terminal"},{id:"logs",label:"Logs",icon:"description",desc:"Server activity and diagnostics"}],xa="connection",ra="terminals",G0=()=>{const[e]=window.location.pathname.replace(/^\/+/,"").split("/");return{menu:Kt.some(t=>t.id===e)?e:xa}},aa=e=>({screenRecording:{label:e("remote.screenRecording"),icon:"screenshot_monitor",desc:e("remote.captureScreen")},accessibility:{label:e("remote.accessibility"),icon:"accessibility_new",desc:e("remote.controlMouseKeyboard")}});function fn({on:e,onClick:t,activeColor:n="linear-gradient(135deg, var(--brand-500), var(--brand-400))",title:x,disabled:r}){return o("button",{onClick:r?void 0:t,disabled:r,title:x,className:"flex-shrink-0 w-[46px] h-[26px] rounded-full transition-all relative",style:{background:e?n:"rgba(140,145,160,0.35)",border:e?"1px solid transparent":"1px solid rgba(140,145,160,0.55)",opacity:r?.5:1,cursor:r?"not-allowed":"pointer"},children:o("span",{className:"absolute top-0.5 w-5 h-5 rounded-full bg-white transition-all",style:{left:e?"calc(100% - 22px)":"2px",boxShadow:"0 2px 6px rgba(0,0,0,0.4)"}})})}function oa({icon:e,active:t}){return o("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:t?"var(--brand-400)":"var(--text-muted)"},children:e})})}function ia({granted:e,label:t,onRequest:n}){return o("button",{onClick:e?void 0:n,className:"flex items-center gap-1.5 text-[11.5px] px-2.5 py-1 rounded-lg",style:{background:"var(--surface-2)",border:"1px solid var(--border)",color:e?"var(--success)":"var(--text-muted)",cursor:e?"default":"pointer"},title:e?"":"Click to grant permission",children:[e&&o("span",{className:"material-symbols-outlined",style:{fontSize:15},children:"check_circle"}),t,!e&&o("span",{className:"material-symbols-outlined",style:{fontSize:19,color:"var(--text-subtle)"},children:"toggle_off"})]})}const sa=e=>({"30m":e("remote.sleepModes.30m"),"1h":e("remote.sleepModes.1h"),"2h":e("remote.sleepModes.2h"),"4h":e("remote.sleepModes.4h"),"24h":e("remote.sleepModes.24h"),never:e("remote.sleepModes.never")});function un({icon:e,active:t,name:n,desc:x,children:r,extra:a}){return o("div",{className:"flex items-center gap-3.5 py-3.5 border-t first:border-t-0 first:pt-0",style:{borderColor:"var(--border)"},children:[o(oa,{icon:e,active:t}),o("div",{className:"flex-1 min-w-0",children:[o("p",{className:"text-sm font-semibold",style:{color:"var(--text-main)"},children:n}),o("p",{className:"text-[11.5px] mt-0.5",style:{color:"var(--text-muted)"},children:x}),a]}),r]})}function la({desktopEnabled:e,onDesktopToggle:t,permissions:n,onRequestPermission:x,autoStart:r,onAutoStartToggle:a,sleepInhibitMode:s,sleepInhibitPresets:i,onSleepInhibitChange:l,unlockStatus:u,onRequestUnlockInstall:p,onRequestUnlockUninstall:g,t:c}){const m=Object.entries(aa(c)),v=!m.every(([b])=>!!(n!=null&&n[b]))&&!e,J=sa(c);return o("div",{className:"card-elev p-5",children:[o("div",{className:"flex items-center gap-2.5 mb-1",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--brand-400)"},children:"tune"}),o("h3",{className:"text-[15px] font-semibold",style:{color:"var(--text-main)"},children:"Remote services"})]}),o(un,{icon:"desktop_windows",active:e,name:c("remote.remoteDesktop"),desc:c("remote.controlScreen"),extra:o("div",{className:"flex flex-wrap gap-2 mt-2",children:m.map(([b,_])=>o(ia,{granted:!!(n!=null&&n[b]),label:_.label,onRequest:()=>x(b)},b))}),children:o(fn,{on:e,onClick:t,disabled:v,title:v?c("dialogs.grantPermissions"):""})}),o(un,{icon:"rocket_launch",active:!!r,name:c("remote.launchOnStartup"),desc:c(r?"remote.launchDesc":"remote.disabledStart"),children:o(fn,{on:!!r,onClick:a})}),o(un,{icon:"coffee",active:(s||"never")!=="never",name:c("remote.preventSleep"),desc:c("remote.blockSleep"),children:o("select",{value:s||"never",onChange:b=>l==null?void 0:l(b.target.value),className:"flex-shrink-0 text-[12.5px] px-3 py-2 rounded-xl",style:{background:"var(--surface-2)",color:"var(--text-main)",border:"1px solid var(--border)",cursor:"pointer"},children:(i||[]).map(b=>o("option",{value:b,children:J[b]||b},b))})}),(u==null?void 0:u.supported)&&o(un,{icon:"lock_open",active:!!u.running,name:c("remote.remoteUnlock"),desc:u.stale?c("remote.remoteUnlockStale"):u.running?c("remote.remoteUnlockReady"):c("remote.remoteUnlockDesc"),children:o(fn,{on:!!u.enabled,disabled:!!u.busy,onClick:()=>u.enabled?g==null?void 0:g():p==null?void 0:p()})})]})}const ca={idle:{icon:"system_update",spin:!1,text:e=>`Version ${e} available`},confirm:{icon:"system_update",spin:!1,text:()=>"Update 9remote? Restarts connection (~1 min)"},updating:{icon:"progress_activity",spin:!0,text:(e,t)=>`Updating… ${t}s`},restarting:{icon:"restart_alt",spin:!0,text:(e,t)=>`Updating 9remote… ${t}s`},ready:{icon:"check_circle",spin:!1,text:()=>"Updated! Reloading…"},timeout:{icon:"warning",spin:!1,text:()=>"Taking longer than expected"}};function ua({version:e}){const[t,n]=ae("idle"),[x,r]=ae(0);if(ge(()=>{if(t!=="updating"&&t!=="restarting")return;const u=Date.now();let p=!1;const g=setInterval(()=>r(Math.floor((Date.now()-u)/1e3)),1e3);let c;const h=setTimeout(()=>{c=setInterval(async()=>{if(Date.now()-u>cn.timeoutMs){n("timeout"),clearInterval(c);return}try{if(!(await fetch("/api/ui/state",{cache:"no-store"})).ok)throw new Error;p&&(n("ready"),clearInterval(c),setTimeout(()=>location.reload(),600))}catch{p=!0,n("restarting")}},cn.pollMs)},cn.startDelayMs);return()=>{clearInterval(g),clearInterval(c),clearTimeout(h)}},[t==="updating"||t==="restarting"]),!e)return null;const a=()=>{n("updating"),fetch("/api/update",{method:"POST"}).catch(()=>{})},s=ca[t],i=t!=="idle"&&t!=="timeout",l=t==="ready"?100:Math.min(x*1e3/cn.timeoutMs*100,95);return o("div",{className:"relative px-5 py-2 flex items-center gap-2 border-b",style:{background:"rgba(var(--brand-rgb),0.08)",borderColor:"rgba(var(--brand-rgb),0.2)"},children:[o("span",{className:`material-symbols-outlined text-sm flex-shrink-0 ${s.spin?"animate-spin":""}`,style:{color:"var(--brand-400)"},children:s.icon}),o("span",{className:"text-xs flex-1",style:{color:"var(--brand-400)"},children:s.text(e,x)}),t==="idle"&&o("button",{onClick:()=>n("confirm"),className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(var(--brand-rgb),0.15)",color:"var(--brand-400)"},children:"Update"}),t==="confirm"&&o(Ke,{children:[o("button",{onClick:a,className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(var(--brand-rgb),0.15)",color:"var(--brand-400)"},children:"Confirm"}),o("button",{onClick:()=>n("idle"),className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(255,255,255,0.08)",color:"var(--text-muted)"},children:"Cancel"})]}),t==="timeout"&&o("button",{onClick:()=>location.reload(),className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(var(--brand-rgb),0.15)",color:"var(--brand-400)"},children:"Reload"}),i&&o("span",{className:"text-xs flex-shrink-0",style:{color:"var(--brand-400)",opacity:.6},children:[x,"s"]}),i&&o("div",{className:"absolute left-0 bottom-0 h-0.5 transition-all duration-1000 ease-linear",style:{width:`${l}%`,background:"var(--brand-400)"}})]})}const da=e=>[{icon:"terminal",label:e("connection.features.terminal"),desc:e("connection.features.fullShell")},{icon:"desktop_windows",label:e("connection.features.desktop"),desc:e("connection.features.remoteScreen")},{icon:"folder_open",label:e("connection.features.files"),desc:e("connection.features.browseEdit")}];function ma(e,t,n=[]){const x=new Map;for(const i of t){if(!i.deviceId)continue;const l=x.get(i.deviceId);(!l||i.connectedAt&&i.connectedAt<l.connectedAt)&&x.set(i.deviceId,i)}const r=e.map(i=>{const l=x.get(i.deviceId);return{deviceId:i.deviceId,status:l?"online":"offline",ip:(l==null?void 0:l.ip)||null,connType:(l==null?void 0:l.type)||null,connectedAt:(l==null?void 0:l.connectedAt)||null,approvedAt:i.approvedAt||null,label:i.label||""}}),a=n.map(i=>({deviceId:i.deviceId,status:"pending",ip:i.ip||null,connectedAt:null,approvedAt:null,rejectedAt:i.rejectedAt||null})),s={online:0,pending:1,offline:2};return[...r,...a].sort((i,l)=>s[i.status]-s[l.status])}const U0={online:{color:"var(--success)",bg:"rgba(var(--success-rgb),0.14)",label:"Online"},offline:{color:"var(--text-subtle)",bg:"var(--surface-2)",label:"Offline"},pending:{color:"var(--warn)",bg:"rgba(var(--warn-rgb),0.14)",label:"Pending"}},pa=e=>/mac|book|laptop|pc|windows|desktop|linux/i.test(e||"")?"laptop_mac":"smartphone";function fa({client:e,onRemove:t,onApprove:n,onLabel:x}){const r=`${e.deviceId.slice(0,8)}...`,a=e.label||r,s=U0[e.status]||U0.offline,i=e.status==="pending",l=e.status==="online"?`${e.ip?e.ip+" · ":""}connected ${e.connectedAt?new Date(e.connectedAt).toLocaleTimeString(void 0,{hour12:!1}):""}`:i?"Waiting for approval":e.approvedAt?`Approved ${new Date(e.approvedAt).toLocaleDateString()}`:"Offline";return o("div",{className:`flex items-center gap-3.5 py-3 ${i?"rounded-xl px-3 -mx-3":"border-t first:border-t-0"}`,style:i?{background:"linear-gradient(100deg, rgba(var(--warn-rgb),0.08), transparent)"}:{borderColor:"var(--border)"},children:[o("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--text-muted)"},children:pa(a)})}),o("div",{className:"flex-1 min-w-0",children:[o("div",{className:"text-[13.5px] font-semibold flex items-center gap-2 min-w-0",style:{color:"var(--text-main)"},children:[o("span",{className:"truncate",children:a}),o("span",{className:"flex items-center gap-1 text-[10.5px] font-semibold px-2 py-0.5 rounded-full flex-shrink-0",style:{background:s.bg,color:s.color},children:[o("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:"currentColor"}}),s.label]}),!i&&o("button",{onClick:()=>x==null?void 0:x(e),className:"material-symbols-outlined flex-shrink-0",style:{fontSize:14,color:"var(--text-muted)",cursor:"pointer"},title:"Rename this device",children:"edit"})]}),o("p",{className:`text-[11.5px] mt-0.5 truncate ${e.ip?"font-mono":""}`,style:{color:"var(--text-muted)"},children:l})]}),i?o("button",{onClick:()=>n==null?void 0:n(e),className:"flex-shrink-0 text-[12.5px] font-semibold px-3.5 py-2 rounded-lg",style:{background:"linear-gradient(135deg, var(--brand-500), var(--brand-400))",color:"#fff"},title:"Approve this device",children:"Approve"}):o("button",{onClick:()=>t(e),className:"flex-shrink-0 text-[12.5px] font-semibold px-3.5 py-2 rounded-lg card-act",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},title:"Disconnect and remove this device",children:e.status==="online"?"Disconnect":"Remove"})]})}function ha({icon:e,title:t,danger:n,onClick:x}){return o("button",{onClick:x,title:t,className:n?"btn-danger w-10 h-10 rounded-xl flex items-center justify-center":"glass-btn w-10 h-10 rounded-xl flex items-center justify-center",style:n?void 0:{color:"var(--text-muted)"},children:o("span",{className:"material-symbols-outlined text-xl",children:e})})}function ga({onStart:e,t}){const[n,x]=ae(!1),r=()=>{x(!0),e==null||e()};return o("div",{className:"flex-1 flex flex-col items-center justify-center gap-5 px-6 py-8 text-center max-w-lg w-full",children:[o("div",{className:"w-16 h-16 rounded-2xl flex items-center justify-center",style:{background:"var(--glass-bg)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:32,color:"var(--text-muted)"},children:"cloud_off"})}),o("div",{className:"flex flex-col gap-1",children:[o("p",{className:"text-base font-semibold",style:{color:"var(--text-main)"},children:t("connection.tunnelOffline")}),o("p",{className:"text-xs leading-5",style:{color:"var(--text-muted)"},children:t("connection.startTunnel")})]}),o("button",{onClick:n?void 0:r,disabled:n,className:"btn-primary w-full py-3 flex items-center justify-center gap-2 text-sm font-semibold",style:{borderRadius:"var(--radius-brand)",opacity:n?.7:1},children:[o("span",{className:"material-symbols-outlined text-base",children:"play_arrow"}),t(n?"connection.connecting":"connection.connect")]}),o("div",{className:"grid grid-cols-3 gap-2 w-full",children:da(t).map(a=>o("div",{className:"dark-card flex flex-col items-center gap-1.5 py-3 px-1",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--brand-400)"},children:a.icon}),o("p",{className:"text-[11px] font-semibold",style:{color:"var(--text-main)"},children:a.label})]},a.label))})]})}function z0({activeMenu:e,onSelect:t,version:n,isReady:x,transport:r,onTransportChange:a,onClose:s,notifications:i,sessions:l=[],onSelectSession:u,onDismissRecent:p}){const{t:g}=Fe(),c=m=>{t(m),s==null||s()};return o("aside",{className:"flex flex-col sidebar w-[232px] xl:w-[264px] flex-shrink-0 h-full",children:[o("div",{className:"flex items-center gap-3 px-5 py-5",children:[o("img",{src:"/favicon.svg",alt:"9Remote",className:"w-10 h-10 rounded-xl flex-shrink-0"}),o("div",{className:"flex flex-col leading-tight",children:[o("span",{className:"brand-text text-xs",children:"9Remote"}),n&&o("span",{className:"text-[10px] mt-0.5",style:{color:"var(--text-muted)"},children:["v",n]})]})]}),x&&o("div",{className:"px-4 pb-3",children:o(va,{transport:r,onTransportChange:a})}),o("nav",{className:"flex-1 px-4 py-2 space-y-0.5 overflow-y-auto select-none",children:Kt.map(m=>{const h=e===m.id;return o("button",{onClick:()=>c(m.id),className:`group relative w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all text-left ${h?"":"card-act"}`,style:h?{background:"linear-gradient(100deg, var(--brand-tint), transparent)",color:"var(--brand-500)",border:"1px solid rgba(var(--brand-rgb),0.25)"}:{color:"var(--text-muted)"},children:[h&&o("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-5 rounded-full",style:{background:"var(--brand-500)"}}),o("span",{className:`material-symbols-outlined text-[20px] flex-shrink-0 ${h?"fill-1":""}`,children:m.icon}),o("span",{className:`text-[13px] leading-tight ${h?"font-semibold":"font-medium"}`,children:g(`menu.${m.id}`)})]},m.id)})})]})}function ba({menu:e,isStopped:t,theme:n,onToggleTheme:x,onStop:r,onShutdown:a,onMenuClick:s}){const{t:i}=Fe();return o("header",{className:"shrink-0 flex items-center justify-between gap-3 px-6 lg:px-10 pt-5 pb-1",children:[o("div",{className:"flex items-center gap-3 min-w-0",children:[o("button",{onClick:s,className:"md:hidden glass-btn w-8 h-8 flex items-center justify-center flex-shrink-0",style:{color:"var(--text-muted)"},"aria-label":"Open menu",children:o("span",{className:"material-symbols-outlined text-lg",children:"menu"})}),o("span",{className:"material-symbols-outlined text-[22px] flex items-center justify-center w-10 h-10 rounded-xl flex-shrink-0",style:{color:"var(--brand-500)",background:"var(--brand-tint)"},children:e==null?void 0:e.icon}),o("div",{className:"min-w-0",children:[o("h1",{className:"text-xl lg:text-2xl font-bold tracking-tight truncate",style:{color:"var(--text-main)"},children:e?i(`menu.${e.id}`):""}),e&&o("p",{className:"hidden lg:block text-xs truncate mt-0.5",style:{color:"var(--text-muted)"},children:i(`menu.${e.id}Desc`)})]})]}),o("div",{className:"flex items-center gap-1.5 shrink-0",children:[o(ha,{icon:n==="dark"?"light_mode":"dark_mode",title:i(n==="dark"?"header.lightMode":"header.darkMode"),onClick:x}),o(Xr,{isStopped:t,onStop:r,onShutdown:a})]})]})}function va({transport:e,onTransportChange:t}){const n=(e==null?void 0:e.signaling)||"off",x=(e==null?void 0:e.rtcPeers)||0,r=(e==null?void 0:e.wsPeers)||0;e==null||e.rtcDisabled;const a=x>0||r>0;return o("div",{className:"flex items-center gap-2 px-3 py-2 rounded-xl",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},children:[o("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${a?"health-dot":""}`,style:{background:a?"var(--success)":n==="connected"?"var(--warn)":"var(--danger)"}}),o("span",{className:"text-[12.5px] font-medium",style:{color:"var(--text-main)"},children:a?"Connected":n==="connected"?"Ready":"Offline"}),!1]})}function ya({step:e,stepDesc:t="",healthCheck:n,transport:x,onTransportChange:r,tunnelUrl:a,oneTimeKey:s,oneTimeKeyExpiresAt:i,permanentKey:l,qrUrl:u,permissions:p,desktopEnabled:g,updateVersion:c,connections:m=[],version:h="",onRequestPermission:v,onDesktopToggle:J,onStop:b,onStart:_,onShutdown:S,onGenerateOneTimeKey:E,onRegenerateKey:oe,logs:k=[],onClearLogs:T,theme:N,onToggleTheme:w,pendingDevice:I,onDeviceApprove:C,onDeviceReject:F,approvedDevices:D=[],rejectedDevices:ee=[],onDeviceRemove:fe,onFetchDevices:he,onDeviceApproveRejected:Re,onDeviceLabel:Me,autoApprove:_e=!1,onAutoApproveToggle:Be,autoStart:Ae=!1,onAutoStartToggle:He,sleepInhibitMode:Ge="never",sleepInhibitPresets:Ze=[],onSleepInhibitChange:Ue,unlockStatus:We=null,onRequestUnlockInstall:me,onRequestUnlockUninstall:be,onStopTunnel:ke}){var Ht;const{t:ve}=Fe(),[pe,an]=ae(()=>G0().menu),[Qn,Xe]=ae(!1),[Yn,$e]=ae(!1),[we,en]=ae(null),[M,re]=ae(null),[le,De]=ae(""),[y,U]=ae(!1),Se=je(null),Ie=je(null),Ot=ce=>{if(ce===ra){Ax();return}an(ce)},Ax=async()=>{const ce=window.open("","_blank");if(ce)try{const Te=await fetch("/api/ui/state",{cache:"no-store"});if(!Te.ok)throw new Error;const{workerUrl:Bx}=await Te.json();ce.location.href=`${Bx}/login`}catch{ce.close()}};ge(()=>{const ce=()=>an(G0().menu);return window.addEventListener("popstate",ce),()=>window.removeEventListener("popstate",ce)},[]),ge(()=>{const ce=`/${pe}`;window.location.pathname!==ce&&window.history.pushState(null,"",ce)},[pe]);const Zn=e===5,qt=e===0,Ft=e>0&&e<5;ge(()=>{pe==="logs"&&Se.current&&(Se.current.scrollTop=Se.current.scrollHeight),pe==="connection"&&(he==null||he())},[k,pe,m.length]);const nn=ma(D,m,ee),Ex=nn.filter(ce=>ce.status==="online").length,Px=Kt.find(ce=>ce.id===pe);return o("div",{className:"h-full w-full flex overflow-hidden isolate",style:{background:"var(--bg-body)"},children:[o("div",{className:"dot-grid-bg fixed inset-0 pointer-events-none",style:{zIndex:-4},"aria-hidden":"true"}),o("div",{className:"landing-grid fixed inset-0 pointer-events-none",style:{zIndex:-3},"aria-hidden":"true"}),o("div",{className:"hidden md:flex",children:o(z0,{activeMenu:pe,onSelect:Ot,version:h,isReady:Zn,transport:x,onTransportChange:r})}),y&&o("div",{className:"fixed inset-0 z-40 bg-black/40 md:hidden",onClick:()=>U(!1)}),o("div",{className:`fixed inset-y-0 left-0 z-50 transform md:hidden transition-transform duration-300 ${y?"translate-x-0":"-translate-x-full"}`,children:o(z0,{activeMenu:pe,onSelect:Ot,version:h,isReady:Zn,transport:x,onTransportChange:r,onClose:()=>U(!1)})}),o("main",{ref:Ie,className:"flex-1 min-w-0 h-full relative overflow-y-auto",children:[o(ba,{menu:Px,isStopped:qt,theme:N,onToggleTheme:w,onStop:()=>Xe(!0),onShutdown:()=>$e(!0),onMenuClick:()=>U(!0)}),!Ft&&o(ua,{version:c}),o("div",{className:"px-6 lg:px-10 pb-6 lg:pb-10 pt-5",children:o("div",{className:"max-w-7xl mx-auto flex flex-col gap-4",children:[pe==="connection"&&qt&&o(ga,{onStart:_,t:ve}),pe==="connection"&&Ft&&o("div",{className:"flex-1 flex flex-col gap-4 max-w-2xl w-full",children:o(Yx,{currentStep:e,activeDesc:t,healthCheck:n,t:ve})}),pe==="connection"&&Zn&&o(Ke,{children:o("div",{className:"grid grid-cols-1 lg:grid-cols-[minmax(300px,1fr)_1.7fr] gap-4 items-stretch",children:[o("div",{children:o(Yr,{qrUrl:u,oneTimeKey:s,oneTimeKeyExpiresAt:i,permanentKey:l,onGenerateOneTimeKey:E,onRegenerateKey:oe,onStopTunnel:ke})}),o("div",{className:"flex flex-col gap-4",children:[o(la,{desktopEnabled:g,onDesktopToggle:J,permissions:p,onRequestPermission:v,autoStart:Ae,onAutoStartToggle:He,sleepInhibitMode:Ge,sleepInhibitPresets:Ze,onSleepInhibitChange:Ue,unlockStatus:We,onRequestUnlockInstall:me,onRequestUnlockUninstall:be,t:ve}),o("div",{className:"card-elev p-5 flex flex-col gap-1",children:[o("div",{className:"flex items-center gap-2.5 mb-2",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:20,color:"var(--brand-400)"},children:"devices"}),o("h3",{className:"text-[15px] font-semibold flex-1",style:{color:"var(--text-main)"},children:"Clients"}),nn.length>0&&o("span",{className:"text-[11px] font-mono",style:{color:"var(--text-muted)"},children:[Ex,"/",nn.length," online"]})]}),o("div",{className:"flex items-center gap-3 py-2.5",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:18,color:_e?"var(--brand-400)":"var(--text-muted)"},children:_e?"lock_open":"lock"}),o("div",{className:"flex-1 min-w-0",children:[o("p",{className:"text-xs font-medium",style:{color:"var(--text-main)"},children:ve("clients.autoApprove")}),o("p",{className:"text-[10px] leading-4",style:{color:"var(--text-muted)"},children:ve(_e?"clients.anyDevice":"clients.requireManual")})]}),o(fn,{on:_e,onClick:Be,title:_e?"Disable auto-approve":"Enable auto-approve"})]}),nn.length===0?o("p",{className:"text-xs text-center py-3",style:{color:"var(--text-muted)"},children:"No clients yet"}):nn.map(ce=>o(fa,{client:ce,onRemove:en,onApprove:Te=>Re==null?void 0:Re(Te.deviceId),onLabel:Te=>{re(Te),De(Te.label||"")}},ce.deviceId))]})]})]})}),pe==="logs"&&o("div",{className:"flex-1 flex flex-col",children:[k.length>0&&o("div",{className:"flex justify-end mb-2",children:o("button",{onClick:T,title:"Clear logs",className:"glass-btn flex items-center gap-1.5 px-2.5 h-7 text-xs",style:{color:"var(--text-muted)"},children:[o("span",{className:"material-symbols-outlined text-sm",children:"delete_sweep"})," Clear"]})}),k.length===0?o("p",{className:"text-xs text-center mt-8",style:{color:"var(--text-muted)"},children:"No logs yet"}):o("div",{ref:Se,className:"flex flex-col gap-0.5 overflow-y-auto max-h-[calc(100dvh-14rem)] pr-1",children:k.map((ce,Te)=>o("p",{className:"text-xs font-mono leading-5 break-all",style:{color:"var(--text-muted)"},children:ce},Te))})]}),pe==="system"&&o("div",{className:"flex-1 flex flex-col",children:o(ta,{})})]})})]}),Qn&&o(Le,{message:"Reset and stop the tunnel? Remote clients will be disconnected.",confirmLabel:"Reset",onConfirm:()=>{Xe(!1),b==null||b()},onCancel:()=>Xe(!1)}),Yn&&o(Le,{message:"Shutdown 9Remote completely? This will stop the server, close the tunnel and quit the app.",confirmLabel:"Shutdown",confirmDanger:!0,onConfirm:()=>{$e(!1),S==null||S()},onCancel:()=>$e(!1)}),we&&o(Le,{message:we.status==="online"?`Disconnect and remove device ${we.deviceId.slice(0,8)}...? The client will be disconnected and need approval again next time.`:we.status==="pending"?`Remove pending device ${we.deviceId.slice(0,8)}...? It will need a fresh approval request to connect again.`:`Remove device ${we.deviceId.slice(0,8)}...? It will need approval again next time.`,confirmLabel:we.status==="online"?"Disconnect & Remove":"Remove",confirmDanger:!0,onConfirm:()=>{fe==null||fe(we),en(null)},onCancel:()=>en(null)}),M&&o(Le,{message:`Name for device ${M.deviceId.slice(0,8)}...`,confirmLabel:"Save",inputValue:le,inputPlaceholder:"e.g. My MacBook",onInput:De,onConfirm:()=>{Me==null||Me(M.deviceId,le.trim()),re(null)},onCancel:()=>re(null)}),I&&o("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{background:"rgba(0,0,0,0.6)"},children:o("div",{className:"card-elev p-5 flex flex-col gap-4 w-80",children:[o("div",{className:"flex items-center gap-2",children:[o("span",{className:"material-symbols-outlined",style:{color:"var(--brand-500)",fontSize:24},children:"devices"}),o("span",{className:"text-sm font-semibold",style:{color:"var(--text-main)"},children:"New Device Connection"})]}),o("div",{className:"flex flex-col gap-1 text-xs",style:{color:"var(--text-muted)"},children:[o("span",{children:["Device: ",o("span",{style:{color:"var(--text-main)"},children:[(Ht=I.deviceId)==null?void 0:Ht.slice(0,8),"..."]})]}),o("span",{children:["IP: ",o("span",{style:{color:"var(--text-main)"},children:I.ip})]})]}),o("div",{className:"flex gap-2",children:[o("button",{onClick:F,className:"glass-btn flex-1 py-2 text-sm",style:{color:"var(--text-muted)"},children:"Reject"}),o("button",{onClick:C,className:"flex-1 py-2 text-sm font-semibold rounded-xl",style:{background:"var(--brand-500)",color:"#fff"},children:"Approve"})]})]})})]})}const _a=3e3,Et={running:!1,timeoutMs:0,startedAt:null,logs:[]},Pt={status:"unknown",checkedAt:null},L0={step:0,stepDesc:"",tunnelUrl:"",oneTimeKey:"",oneTimeKeyExpiresAt:null,permanentKey:"",qrUrl:"",latency:null,uptime:null,healthCheck:Et,tunnelHealth:Pt},ka={signaling:"off",rtcPeers:0,wsPeers:0,rtcDisabled:!1},wa={screenRecording:!1,accessibility:!1},j0=200;function Sa(){const[e,t]=ae(L0),[n,x]=ae(wa),[r,a]=ae(ka),[s,i]=ae(!1),[l,u]=ae([]),[p,g]=ae(null),[c,m]=ae([]),[h,v]=ae(null),[J,b]=ae([]),[_,S]=ae([]),[E,oe]=ae(!1),[k,T]=ae(!1),[N,w]=ae("never"),[I,C]=ae([]),[F,D]=ae(null),[ee,fe]=ae(""),[he,Re]=ae(()=>localStorage.getItem("9remote-theme")||"dark");ge(()=>{document.documentElement.setAttribute("data-theme",he),localStorage.setItem("9remote-theme",he)},[he]);const Me=()=>{Re(M=>M==="dark"?"light":"dark")};ge(()=>{fetch("/api/version").then(y=>y.json()).then(y=>fe(y.version??"")).catch(()=>{}),fetch("/api/ui/state").then(y=>y.json()).then(y=>{t({step:y.step??0,stepDesc:y.stepDesc??"",tunnelUrl:y.tunnelUrl??"",oneTimeKey:y.oneTimeKey??"",oneTimeKeyExpiresAt:y.oneTimeKeyExpiresAt??null,permanentKey:y.permanentKey??"",qrUrl:y.qrUrl??"",latency:y.latency??null,uptime:y.uptime??null,healthCheck:y.healthCheck??Et,tunnelHealth:y.tunnelHealth??Pt}),x({screenRecording:y.screenRecording??!1,accessibility:y.accessibility??!1}),y.transport&&a(y.transport),y.desktopEnabled!==void 0&&i(y.desktopEnabled),y.theme&&(y.theme==="light"||y.theme==="dark")&&Re(y.theme)}).catch(()=>{}),fetch("/api/logs").then(y=>y.json()).then(y=>{Array.isArray(y==null?void 0:y.logs)&&u(y.logs)}).catch(()=>{});const M=new EventSource("/api/ui/events");M.onmessage=y=>{try{const U=JSON.parse(y.data);U.type==="state"?t({step:U.step??0,stepDesc:U.stepDesc??"",tunnelUrl:U.tunnelUrl??"",oneTimeKey:U.oneTimeKey??"",oneTimeKeyExpiresAt:U.oneTimeKeyExpiresAt??null,permanentKey:U.permanentKey??"",qrUrl:U.qrUrl??"",latency:U.latency??null,uptime:U.uptime??null,healthCheck:U.healthCheck??Et,tunnelHealth:U.tunnelHealth??Pt}):U.type==="log"?u(Se=>{const Ie=[...Se,U.message];return Ie.length>j0?Ie.slice(-j0):Ie}):U.type==="updateAvailable"?g(U.version):U.type==="permissions"?(x({screenRecording:U.screenRecording,accessibility:U.accessibility}),U.desktopEnabled!==void 0&&i(U.desktopEnabled)):U.type==="transport"?a({signaling:U.signaling,rtcPeers:U.rtcPeers,wsPeers:U.wsPeers,rtcDisabled:U.rtcDisabled}):U.type==="connections"?m(U.connections??[]):U.type==="deviceApproval"&&U.action==="pending"?v({socketId:U.socketId,deviceId:U.deviceId,ip:U.ip}):U.type==="deviceApproval"&&U.action==="refresh"?me():U.type==="autostart"?T(!!U.enabled):U.type==="sleepInhibit"&&(U.mode&&w(U.mode),Array.isArray(U.presets)&&C(U.presets))}catch{}},M.onerror=()=>{},fetch("/api/device/auto-approve").then(y=>y.json()).then(y=>{oe(!!(y!=null&&y.enabled))}).catch(()=>{}),fetch("/api/autostart").then(y=>y.json()).then(y=>{T(!!(y!=null&&y.enabled))}).catch(()=>{}),fetch("/api/sleep-inhibit").then(y=>y.json()).then(y=>{y!=null&&y.mode&&w(y.mode),Array.isArray(y==null?void 0:y.presets)&&C(y.presets)}).catch(()=>{});const re=()=>fetch("/api/desktop-unlock").then(y=>y.json()).then(y=>{y!=null&&y.supported&&D(U=>U!=null&&U.busy?U:y)}).catch(()=>{});re();const le=setInterval(re,1e4),De=setInterval(async()=>{var y;if(!_e.current)try{const U=await fetch("/api/device/pending");if(!U.ok)return;const Se=await U.json(),Ie=(y=Se==null?void 0:Se.pending)==null?void 0:y[0];Ie&&!_e.current&&v({socketId:Ie.socketId,deviceId:Ie.deviceId,ip:Ie.ip})}catch{}},_a);return()=>{M.close(),clearInterval(De),clearInterval(le)}},[]);const _e=je(null);ge(()=>{_e.current=h},[h]);const Be=async M=>{await fetch("/api/permissions/request",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:M})}).catch(()=>{})},Ae=()=>{fetch("/api/ui/stop",{method:"POST"}).catch(()=>{})},He=()=>{fetch("/api/ui/start",{method:"POST"}).catch(()=>{})},Ge=()=>{fetch("/api/ui/stop-tunnel",{method:"POST"}).catch(()=>{})},Ze=()=>{fetch("/api/ui/shutdown",{method:"POST"}).catch(()=>{}),t(L0)},Ue=async()=>{const M=await fetch("/api/key/one-time",{method:"POST"}).catch(()=>null);if(!(M!=null&&M.ok))return;const re=await M.json().catch(()=>null);re!=null&&re.oneTimeKey&&t(le=>({...le,oneTimeKey:re.oneTimeKey,oneTimeKeyExpiresAt:re.expiresAt,qrUrl:re.qrUrl??le.qrUrl}))},We=async()=>{const M=!s;i(M),await fetch("/api/desktop/toggle",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:M})}).catch(()=>{})},me=async()=>{try{const[M,re]=await Promise.all([fetch("/api/device/approved"),fetch("/api/device/rejected")]);if(M.ok){const le=await M.json();b(le.devices||[])}if(re.ok){const le=await re.json();S(le.rejected||[])}}catch{}},be=async M=>{const re=M.status==="pending"?"/api/device/clear-rejected":"/api/device/remove";await fetch(re,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceId:M.deviceId})}).catch(()=>{}),me()},ke=async()=>{h&&(await fetch("/api/device/approve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({socketId:h.socketId})}).catch(()=>{}),v(null),me())},ve=async()=>{h&&(await fetch("/api/device/reject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({socketId:h.socketId})}).catch(()=>{}),v(null),me())},pe=async()=>{const M=!k;T(M);try{const le=await(await fetch("/api/autostart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:M})})).json().catch(()=>null);le&&typeof le.enabled=="boolean"&&T(le.enabled)}catch{T(!M)}},an=async M=>{const re=N;w(M);try{const De=await(await fetch("/api/sleep-inhibit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:M})})).json().catch(()=>null);De!=null&&De.mode&&w(De.mode)}catch{w(re)}},Qn=async()=>{D(M=>({...M||{supported:!0},busy:!0}));try{const re=await(await fetch("/api/desktop-unlock/install",{method:"POST"})).json().catch(()=>null);re&&D({supported:!0,...re,busy:!1})}catch{D(M=>({...M||{supported:!0},busy:!1}))}},Xe=async()=>{D(M=>({...M||{supported:!0},busy:!0}));try{const re=await(await fetch("/api/desktop-unlock/uninstall",{method:"POST"})).json().catch(()=>null);re&&D({supported:!0,...re,busy:!1})}catch{D(M=>({...M||{supported:!0},busy:!1}))}},Yn=async()=>{const M=!E;oe(M);try{const le=await(await fetch("/api/device/auto-approve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:M})})).json().catch(()=>null);le&&typeof le.enabled=="boolean"&&oe(le.enabled)}catch{oe(!M)}},$e=async M=>{await fetch("/api/device/approve-rejected",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceId:M})}).catch(()=>{}),me()},we=async(M,re)=>{await fetch("/api/device/label",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceId:M,label:re})}).catch(()=>{}),me()},en=async()=>{const M=await fetch("/api/key/regenerate",{method:"POST"}).catch(()=>null);if(!(M!=null&&M.ok))return;const re=await M.json().catch(()=>null);re!=null&&re.permanentKey&&t(le=>({...le,permanentKey:re.permanentKey}))};return o(ya,{step:e.step,stepDesc:e.stepDesc,healthCheck:e.healthCheck,transport:r,onTransportChange:a,tunnelUrl:e.tunnelUrl,oneTimeKey:e.oneTimeKey,oneTimeKeyExpiresAt:e.oneTimeKeyExpiresAt,permanentKey:e.permanentKey,qrUrl:e.qrUrl,permissions:n,desktopEnabled:s,updateVersion:p,connections:c,onRequestPermission:Be,onDesktopToggle:We,onStop:Ae,onStart:He,onStopTunnel:Ge,onShutdown:Ze,onGenerateOneTimeKey:Ue,onRegenerateKey:en,logs:l,onClearLogs:()=>{fetch("/api/logs/clear",{method:"POST"}).catch(()=>{}),u([])},version:ee,theme:he,onToggleTheme:Me,pendingDevice:h,onDeviceApprove:ke,onDeviceReject:ve,approvedDevices:J,rejectedDevices:_,onDeviceRemove:be,onFetchDevices:me,onDeviceApproveRejected:$e,onDeviceLabel:we,autoApprove:E,onAutoApproveToggle:Yn,autoStart:k,onAutoStartToggle:pe,sleepInhibitMode:N,sleepInhibitPresets:I,unlockStatus:F,onRequestUnlockInstall:Qn,onRequestUnlockUninstall:Xe,onSleepInhibitChange:an})}qx(o(Sa,{}),document.getElementById("root"));