From e2e7fc018dd2be3158589b0943303bd9f70daa10 Mon Sep 17 00:00:00 2001 From: dkastl Date: Thu, 3 Oct 2024 12:29:38 +0000 Subject: [PATCH] deploy: d81026194dcb3d97e2e4615798d379a637cc07d1 --- assets/index-BxPubT3N.js | 16 ++++++++++++++++ assets/index-PZwpkdsj.js | 16 ---------------- index.html | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 assets/index-BxPubT3N.js delete mode 100644 assets/index-PZwpkdsj.js diff --git a/assets/index-BxPubT3N.js b/assets/index-BxPubT3N.js new file mode 100644 index 0000000..95665e1 --- /dev/null +++ b/assets/index-BxPubT3N.js @@ -0,0 +1,16 @@ +var Ao=Object.defineProperty;var Po=(e,n,t)=>n in e?Ao(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var p=(e,n,t)=>Po(e,typeof n!="symbol"?n+"":n,t);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const r of a)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function t(a){const r={};return a.integrity&&(r.integrity=a.integrity),a.referrerPolicy&&(r.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?r.credentials="include":a.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(a){if(a.ep)return;a.ep=!0;const r=t(a);fetch(a.href,r)}})();function Ro(){const e=document.getElementById("meshtasticForm");if(!e)throw new Error("Form element not found.");const n=new FormData(e),t=n.get("channelName"),o=n.get("pskType"),a=n.get("psk"),r=Number(n.get("region")),i=Number(n.get("modemPreset")),s=Number(n.get("hopLimit")),c=n.get("uplinkEnabled")==="on",d=n.get("downlinkEnabled")==="on",m=Number(n.get("positionPrecision")),g=n.get("isClientMuted")==="on",f=n.get("configOkToMqtt")==="on",h=n.get("ignoreMqtt")==="on";return{channelName:t,pskType:o,psk:a,region:r,modemPreset:i,hopLimit:s,uplinkEnabled:c,downlinkEnabled:d,positionPrecision:m,isClientMuted:g,configOkToMqtt:f,ignoreMqtt:h}}function Oo(e){const n=document.getElementById("meshtasticForm");if(!n)throw new Error("Form element not found.");n.elements.namedItem("channelName").value=e.channelName||"",n.elements.namedItem("psk").value=e.psk||"",n.elements.namedItem("uplinkEnabled").checked=e.uplinkEnabled||!1,n.elements.namedItem("downlinkEnabled").checked=e.downlinkEnabled||!1,n.elements.namedItem("positionPrecision").value=String(e.positionPrecision||0),n.elements.namedItem("isClientMuted").checked=e.isClientMuted||!1,n.elements.namedItem("region").value=String(e.region||0),n.elements.namedItem("modemPreset").value=String(e.modemPreset||0),n.elements.namedItem("hopLimit").value=String(e.hopLimit||3),n.elements.namedItem("ignoreMqtt").checked=e.ignoreMqtt||!1,n.elements.namedItem("configOkToMqtt").checked=e.configOkToMqtt||!1}function Do(e){let n;if(e==="aes128")n=new Uint8Array(16);else if(e==="aes256")n=new Uint8Array(32);else return"";return window.crypto.getRandomValues(n),Array.from(n).map(t=>("0"+t.toString(16)).slice(-2)).join("")}var C={},re={},He={},j={},pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.DispatcherWrapper=void 0;class Lo{constructor(n){this._subscribe=t=>n.subscribe(t),this._unsubscribe=t=>n.unsubscribe(t),this._one=t=>n.one(t),this._has=t=>n.has(t),this._clear=()=>n.clear(),this._count=()=>n.count,this._onSubscriptionChange=()=>n.onSubscriptionChange}get onSubscriptionChange(){return this._onSubscriptionChange()}get count(){return this._count()}subscribe(n){return this._subscribe(n)}sub(n){return this.subscribe(n)}unsubscribe(n){this._unsubscribe(n)}unsub(n){this.unsubscribe(n)}one(n){return this._one(n)}has(n){return this._has(n)}clear(){this._clear()}}pe.DispatcherWrapper=Lo;var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.Subscription=void 0;class Bo{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;n?setTimeout(()=>{a.apply(t,o)},1):a.apply(t,o)}}}_e.Subscription=Bo;var ie={};Object.defineProperty(ie,"__esModule",{value:!0});ie.EventManagement=void 0;class xo{constructor(n){this.unsub=n,this.propagationStopped=!1}stopPropagation(){this.propagationStopped=!0}}ie.EventManagement=xo;Object.defineProperty(j,"__esModule",{value:!0});j.SubscriptionChangeEventDispatcher=j.DispatcherBase=void 0;const Fo=pe,Uo=_e,Ho=ie;class vt{constructor(){this._subscriptions=new Array}get count(){return this._subscriptions.length}get onSubscriptionChange(){return this._onSubscriptionChange==null&&(this._onSubscriptionChange=new wt),this._onSubscriptionChange.asEvent()}subscribe(n){return n&&(this._subscriptions.push(this.createSubscription(n,!1)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}sub(n){return this.subscribe(n)}one(n){return n&&(this._subscriptions.push(this.createSubscription(n,!0)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}has(n){return n?this._subscriptions.some(t=>t.handler==n):!1}unsubscribe(n){if(!n)return;let t=!1;for(let o=0;othis.unsub(a.handler)),i=Array.prototype.slice.call(o);if(i.push(r),a.execute(n,t,i),this.cleanup(a),!n&&r.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}createSubscription(n,t){return new Uo.Subscription(n,t)}cleanup(n){let t=!1;if(n.isOnce&&n.isExecuted){let o=this._subscriptions.indexOf(n);o>-1&&(this._subscriptions.splice(o,1),t=!0)}t&&this.triggerSubscriptionChange()}asEvent(){return this._wrap==null&&(this._wrap=new Fo.DispatcherWrapper(this)),this._wrap}clear(){this._subscriptions.length!=0&&(this._subscriptions.splice(0,this._subscriptions.length),this.triggerSubscriptionChange())}triggerSubscriptionChange(){this._onSubscriptionChange!=null&&this._onSubscriptionChange.dispatch(this.count)}}j.DispatcherBase=vt;class wt extends vt{dispatch(n){this._dispatch(!1,this,arguments)}}j.SubscriptionChangeEventDispatcher=wt;var Te={};Object.defineProperty(Te,"__esModule",{value:!0});Te.DispatchError=void 0;class Go extends Error{constructor(n){super(n)}}Te.DispatchError=Go;var Ge={};Object.defineProperty(Ge,"__esModule",{value:!0});Ge.EventListBase=void 0;class Vo{constructor(){this._events={}}get(n){let t=this._events[n];return t||(t=this.createDispatcher(),this._events[n]=t,t)}remove(n){delete this._events[n]}}Ge.EventListBase=Vo;var Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});Ve.HandlingBase=void 0;class qo{constructor(n){this.events=n}one(n,t){this.events.get(n).one(t)}has(n,t){return this.events.get(n).has(t)}subscribe(n,t){this.events.get(n).subscribe(t)}sub(n,t){this.subscribe(n,t)}unsubscribe(n,t){this.events.get(n).unsubscribe(t)}unsub(n,t){this.unsubscribe(n,t)}}Ve.HandlingBase=qo;var qe={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.PromiseSubscription=void 0;class $o{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}async execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;if(n){setTimeout(()=>{a.apply(t,o)},1);return}await a.apply(t,o)}}}ke.PromiseSubscription=$o;Object.defineProperty(qe,"__esModule",{value:!0});qe.PromiseDispatcherBase=void 0;const Xo=ke,Ko=ie,Wo=j,Yo=Te;class Jo extends Wo.DispatcherBase{_dispatch(n,t,o){throw new Yo.DispatchError("_dispatch not supported. Use _dispatchAsPromise.")}createSubscription(n,t){return new Xo.PromiseSubscription(n,t)}async _dispatchAsPromise(n,t,o){for(let a of[...this._subscriptions]){let r=new Ko.EventManagement(()=>this.unsub(a.handler)),i=Array.prototype.slice.call(o);if(i.push(r),await a.execute(n,t,i),this.cleanup(a),!n&&r.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}}qe.PromiseDispatcherBase=Jo;(function(e){/*! + * Strongly Typed Events for TypeScript - Core + * https://github.com/KeesCBakker/StronlyTypedEvents/ + * http://keestalkstech.com + * + * Copyright Kees C. Bakker / KeesTalksTech + * Released under the MIT license + */Object.defineProperty(e,"__esModule",{value:!0}),e.SubscriptionChangeEventDispatcher=e.HandlingBase=e.PromiseDispatcherBase=e.PromiseSubscription=e.DispatchError=e.EventManagement=e.EventListBase=e.DispatcherWrapper=e.DispatcherBase=e.Subscription=void 0;const n=j;Object.defineProperty(e,"DispatcherBase",{enumerable:!0,get:function(){return n.DispatcherBase}}),Object.defineProperty(e,"SubscriptionChangeEventDispatcher",{enumerable:!0,get:function(){return n.SubscriptionChangeEventDispatcher}});const t=Te;Object.defineProperty(e,"DispatchError",{enumerable:!0,get:function(){return t.DispatchError}});const o=pe;Object.defineProperty(e,"DispatcherWrapper",{enumerable:!0,get:function(){return o.DispatcherWrapper}});const a=Ge;Object.defineProperty(e,"EventListBase",{enumerable:!0,get:function(){return a.EventListBase}});const r=ie;Object.defineProperty(e,"EventManagement",{enumerable:!0,get:function(){return r.EventManagement}});const i=Ve;Object.defineProperty(e,"HandlingBase",{enumerable:!0,get:function(){return i.HandlingBase}});const s=qe;Object.defineProperty(e,"PromiseDispatcherBase",{enumerable:!0,get:function(){return s.PromiseDispatcherBase}});const c=ke;Object.defineProperty(e,"PromiseSubscription",{enumerable:!0,get:function(){return c.PromiseSubscription}});const d=_e;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return d.Subscription}})})(He);Object.defineProperty(re,"__esModule",{value:!0});re.SimpleEventDispatcher=void 0;const it=He;class jo extends it.DispatcherBase{constructor(){super()}dispatch(n){const t=this._dispatch(!1,this,arguments);if(t==null)throw new it.DispatchError("Got `null` back from dispatch.");return t}dispatchAsync(n){this._dispatch(!0,this,arguments)}asEvent(){return super.asEvent()}}re.SimpleEventDispatcher=jo;var $e={},ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.SimpleEventList=void 0;const zo=He,Qo=re;class Zo extends zo.EventListBase{constructor(){super()}createDispatcher(){return new Qo.SimpleEventDispatcher}}ye.SimpleEventList=Zo;Object.defineProperty($e,"__esModule",{value:!0});$e.SimpleEventHandlingBase=void 0;const er=He,nr=ye;class tr extends er.HandlingBase{constructor(){super(new nr.SimpleEventList)}}$e.SimpleEventHandlingBase=tr;var Xe={};Object.defineProperty(Xe,"__esModule",{value:!0});Xe.NonUniformSimpleEventList=void 0;const ar=re;class or{constructor(){this._events={}}get(n){if(this._events[n])return this._events[n];const t=this.createDispatcher();return this._events[n]=t,t}remove(n){delete this._events[n]}createDispatcher(){return new ar.SimpleEventDispatcher}}Xe.NonUniformSimpleEventList=or;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NonUniformSimpleEventList=e.SimpleEventList=e.SimpleEventHandlingBase=e.SimpleEventDispatcher=void 0;const n=re;Object.defineProperty(e,"SimpleEventDispatcher",{enumerable:!0,get:function(){return n.SimpleEventDispatcher}});const t=$e;Object.defineProperty(e,"SimpleEventHandlingBase",{enumerable:!0,get:function(){return t.SimpleEventHandlingBase}});const o=Xe;Object.defineProperty(e,"NonUniformSimpleEventList",{enumerable:!0,get:function(){return o.NonUniformSimpleEventList}});const a=ye;Object.defineProperty(e,"SimpleEventList",{enumerable:!0,get:function(){return a.SimpleEventList}})})(C);let dn=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920];typeof Int32Array<"u"&&(dn=new Int32Array(dn));const en=(e,n)=>{let t=typeof n<"u"?~~n:65535;for(let o=0;o>8^e[o])&255]^t<<8)&65535;return t};var st={},rr=Object.defineProperty,N=(e,n)=>{for(var t in n)rr(e,t,{get:n[t],enumerable:!0})},Z={};N(Z,{Admin:()=>St,AppOnly:()=>qa,CannedMessages:()=>$a,Channel:()=>Kt,ClientOnly:()=>Xa,Config:()=>Jt,ConnectionStatus:()=>Oa,DeviceOnly:()=>Wa,LocalOnly:()=>Ka,Mesh:()=>Y,ModuleConfig:()=>fa,Mqtt:()=>Qa,PaxCount:()=>Za,Portnums:()=>sa,RemoteHardware:()=>eo,Rtttl:()=>to,StoreForward:()=>ao,Telemetry:()=>ca,Xmodem:()=>P});var St={};N(St,{AdminMessage:()=>li,AdminMessage_ConfigType:()=>Ua,AdminMessage_ModuleConfigType:()=>Ha,HamParameters:()=>Ga,NodeRemoteHardwarePinsResponse:()=>Va});function S(e,n){if(!e)throw new Error(n)}var ir=34028234663852886e22,sr=-34028234663852886e22,cr=4294967295,lr=2147483647,mr=-2147483648;function Ne(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>lr||ecr||e<0)throw new Error("invalid uint 32: "+e)}function Nt(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>ir||e({no:a.no,name:a.name,localName:e[a.no]})))}function At(e,n,t){const o=Object.create(null),a=Object.create(null),r=[];for(const i of n){const s=Pt(i);r.push(s),o[i.name]=s,a[i.no]=s}return{typeName:e,values:r,findName(i){return o[i]},findNumber(i){return a[i]}}}function ur(e,n,t){const o={};for(const a of n){const r=Pt(a);o[r.localName]=r.no,o[r.no]=r.localName}return It(o,e,n),o}function Pt(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Rt=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,n){const t=this.getType(),o=t.runtime.bin,a=o.makeReadOptions(n);return o.readMessage(this,a.readerFactory(e),e.byteLength,a),this}fromJson(e,n){const t=this.getType(),o=t.runtime.json,a=o.makeReadOptions(n);return o.readMessage(t,e,a,this),this}fromJsonString(e,n){let t;try{t=JSON.parse(e)}catch(o){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${o instanceof Error?o.message:String(o)}`)}return this.fromJson(t,n)}toBinary(e){const n=this.getType(),t=n.runtime.bin,o=t.makeWriteOptions(e),a=o.writerFactory();return t.writeMessage(this,a,o),a.finish()}toJson(e){const n=this.getType(),t=n.runtime.json,o=t.makeWriteOptions(e);return t.writeMessage(this,o)}toJsonString(e){var n;const t=this.toJson(e);return JSON.stringify(t,null,(n=e==null?void 0:e.prettySpaces)!==null&&n!==void 0?n:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function fr(e,n,t,o){var a;const r=(a=o==null?void 0:o.localName)!==null&&a!==void 0?a:n.substring(n.lastIndexOf(".")+1),i={[r]:function(s){e.util.initFields(this),e.util.initPartial(s,this)}}[r];return Object.setPrototypeOf(i.prototype,new Rt),Object.assign(i,{runtime:e,typeName:n,fields:e.util.newFieldList(t),fromBinary(s,c){return new i().fromBinary(s,c)},fromJson(s,c){return new i().fromJson(s,c)},fromJsonString(s,c){return new i().fromJsonString(s,c)},equals(s,c){return e.util.equals(i,s,c)}}),i}function gr(){let e=0,n=0;for(let o=0;o<28;o+=7){let a=this.buf[this.pos++];if(e|=(a&127)<>4,!(t&128))return this.assertBounds(),[e,n];for(let o=3;o<=31;o+=7){let a=this.buf[this.pos++];if(n|=(a&127)<>>r,s=!(!(i>>>7)&&n==0),c=(s?i|128:i)&255;if(t.push(c),!s)return}const o=e>>>28&15|(n&7)<<4,a=!!(n>>3);if(t.push((a?o|128:o)&255),!!a){for(let r=3;r<31;r=r+7){const i=n>>>r,s=!!(i>>>7),c=(s?i|128:i)&255;if(t.push(c),!s)return}t.push(n>>>31&1)}}var Me=4294967296;function ct(e){const n=e[0]==="-";n&&(e=e.slice(1));const t=1e6;let o=0,a=0;function r(i,s){const c=Number(e.slice(i,s));a*=t,o=o*t+c,o>=Me&&(a=a+(o/Me|0),o=o%Me)}return r(-24,-18),r(-18,-12),r(-12,-6),r(-6),n?Dt(o,a):Tn(o,a)}function hr(e,n){let t=Tn(e,n);const o=t.hi&2147483648;o&&(t=Dt(t.lo,t.hi));const a=Ot(t.lo,t.hi);return o?"-"+a:a}function Ot(e,n){if({lo:e,hi:n}=pr(e,n),n<=2097151)return String(Me*n+e);const t=e&16777215,o=(e>>>24|n<<8)&16777215,a=n>>16&65535;let r=t+o*6777216+a*6710656,i=o+a*8147497,s=a*2;const c=1e7;return r>=c&&(i+=Math.floor(r/c),r%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+lt(i)+lt(r)}function pr(e,n){return{lo:e>>>0,hi:n>>>0}}function Tn(e,n){return{lo:e|0,hi:n|0}}function Dt(e,n){return n=~n,e?e=~e+1:n+=1,Tn(e,n)}var lt=e=>{const n=String(e);return"0000000".slice(n.length)+n};function mt(e,n){if(e>=0){for(;e>127;)n.push(e&127|128),e=e>>>7;n.push(e)}else{for(let t=0;t<9;t++)n.push(e&127|128),e=e>>7;n.push(1)}}function _r(){let e=this.buf[this.pos++],n=e&127;if(!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<7,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<14,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<21,!(e&128))return this.assertBounds(),n;e=this.buf[this.pos++],n|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),n>>>0}function Tr(){const e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||typeof st!="object"||st.BUF_BIGINT_DISABLE!=="1")){const a=BigInt("-9223372036854775808"),r=BigInt("9223372036854775807"),i=BigInt("0"),s=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(c){const d=typeof c=="bigint"?c:BigInt(c);if(d>r||ds||dS(/^-?[0-9]+$/.test(a),`int64 invalid: ${a}`),o=a=>S(/^[0-9]+$/.test(a),`uint64 invalid: ${a}`);return{zero:"0",supported:!1,parse(a){return typeof a!="string"&&(a=a.toString()),t(a),a},uParse(a){return typeof a!="string"&&(a=a.toString()),o(a),a},enc(a){return typeof a!="string"&&(a=a.toString()),t(a),ct(a)},uEnc(a){return typeof a!="string"&&(a=a.toString()),o(a),ct(a)},dec(a,r){return hr(a,r)},uDec(a,r){return Ot(a,r)}}}var R=Tr(),u;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(u||(u={}));var X;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(X||(X={}));function q(e,n,t){if(n===t)return!0;if(e==u.BYTES){if(!(n instanceof Uint8Array)||!(t instanceof Uint8Array)||n.length!==t.length)return!1;for(let o=0;o>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(un(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return Ne(e),mt(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.textEncoder.encode(e);return this.uint32(n.byteLength),this.raw(n)}float(e){Nt(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){un(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){Ne(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return Ne(e),e=(e<<1^e>>31)>>>0,mt(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=R.enc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=R.uEnc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}int64(e){let n=R.enc(e);return nn(n.lo,n.hi,this.buf),this}sint64(e){let n=R.enc(e),t=n.hi>>31,o=n.lo<<1^t,a=(n.hi<<1|n.lo>>>31)^t;return nn(o,a,this.buf),this}uint64(e){let n=R.uEnc(e);return nn(n.lo,n.hi,this.buf),this}},yr=class{constructor(e,n){this.varint64=gr,this.uint32=_r,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=n??new TextDecoder}tag(){let e=this.uint32(),n=e>>>3,t=e&7;if(n<=0||t<0||t>5)throw new Error("illegal tag: field no "+n+" wire type "+t);return[n,t]}skip(e,n){let t=this.pos;switch(e){case M.Varint:for(;this.buf[this.pos++]&128;);break;case M.Bit64:this.pos+=4;case M.Bit32:this.pos+=4;break;case M.LengthDelimited:let o=this.uint32();this.pos+=o;break;case M.StartGroup:for(;;){const[a,r]=this.tag();if(r===M.EndGroup){if(n!==void 0&&a!==n)throw new Error("invalid end group tag");break}this.skip(r,a)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return R.dec(...this.varint64())}uint64(){return R.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),t=-(e&1);return e=(e>>>1|(n&1)<<31)^t,n=n>>>1^t,R.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return R.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return R.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.textDecoder.decode(this.bytes())}};function Cr(e,n,t,o){let a;return{typeName:n,extendee:t,get field(){if(!a){const r=typeof o=="function"?o():o;r.name=n.split(".").pop(),r.jsonName=`[${n}]`,a=e.util.newFieldList([r]).list()[0]}return a},runtime:e}}function Bt(e){const n=e.field.localName,t=Object.create(null);return t[n]=Er(e),[t,()=>t[n]]}function Er(e){const n=e.field;if(n.repeated)return[];if(n.default!==void 0)return n.default;switch(n.kind){case"enum":return n.T.values[0].no;case"scalar":return ee(n.T,n.L);case"message":const t=n.T,o=new t;return t.fieldWrapper?t.fieldWrapper.unwrapField(o):o;case"map":throw"map fields are not allowed to be extensions"}}function br(e,n){if(!n.repeated&&(n.kind=="enum"||n.kind=="scalar")){for(let t=e.length-1;t>=0;--t)if(e[t].no==n.no)return[e[t]];return[]}return e.filter(t=>t.no===n.no)}var G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Ke=[];for(let e=0;e>4,i=r,a=2;break;case 2:t[o++]=(i&15)<<4|(r&60)>>2,i=r,a=3;break;case 3:t[o++]=(i&3)<<6|r,a=0;break}}if(a==1)throw Error("invalid base64 string.");return t.subarray(0,o)},enc(e){let n="",t=0,o,a=0;for(let r=0;r>2],a=(o&3)<<4,t=1;break;case 1:n+=G[a|o>>4],a=(o&15)<<2,t=2;break;case 2:n+=G[a|o>>6],n+=G[o&63],t=0;break}return t&&(n+=G[a],n+="=",t==1&&(n+="=")),n}};function vr(e,n,t){Ut(n,e);const o=n.runtime.bin.makeReadOptions(t),a=br(e.getType().runtime.bin.listUnknownFields(e),n.field),[r,i]=Bt(n);for(const s of a)n.runtime.bin.readField(r,o.readerFactory(s.data),n.field,s.wireType,o);return i()}function wr(e,n,t,o){Ut(n,e);const a=n.runtime.bin.makeReadOptions(o),r=n.runtime.bin.makeWriteOptions(o);if(Ft(e,n)){const d=e.getType().runtime.bin.listUnknownFields(e).filter(m=>m.no!=n.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const m of d)e.getType().runtime.bin.onUnknownField(e,m.no,m.wireType,m.data)}const i=r.writerFactory();let s=n.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},n.field),{opt:!0})),n.runtime.bin.writeField(s,t,i,r);const c=a.readerFactory(i.finish());for(;c.poso.no==n.field.no)}function Ut(e,n){S(e.extendee.typeName==n.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function Ht(e,n){const t=e.localName;if(e.repeated)return n[t].length>0;if(e.oneof)return n[e.oneof.localName].case===t;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?n[t]!==void 0:e.kind=="enum"?n[t]!==e.T.values[0].no:!Lt(e.T,n[t]);case"message":return n[t]!==void 0;case"map":return Object.keys(n[t]).length>0}}function dt(e,n){const t=e.localName,o=!e.opt&&!e.req;if(e.repeated)n[t]=[];else if(e.oneof)n[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":n[t]={};break;case"enum":n[t]=o?e.T.values[0].no:void 0;break;case"scalar":n[t]=o?ee(e.T,e.L):void 0;break;case"message":n[t]=void 0;break}}function W(e,n){if(e===null||typeof e!="object"||!Object.getOwnPropertyNames(Rt.prototype).every(o=>o in e&&typeof e[o]=="function"))return!1;const t=e.getType();return t===null||typeof t!="function"||!("typeName"in t)||typeof t.typeName!="string"?!1:n===void 0?!0:t.typeName==n.typeName}function Gt(e,n){return W(n)||!e.fieldWrapper?n:e.fieldWrapper.wrapField(n)}u.DOUBLE,u.FLOAT,u.INT64,u.UINT64,u.INT32,u.UINT32,u.BOOL,u.STRING,u.BYTES;var ut={ignoreUnknownFields:!1},ft={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Sr(e){return e?Object.assign(Object.assign({},ut),e):ut}function Nr(e){return e?Object.assign(Object.assign({},ft),e):ft}var Oe=Symbol(),Ie=Symbol();function Mr(){return{makeReadOptions:Sr,makeWriteOptions:Nr,readMessage(e,n,t,o){if(n==null||Array.isArray(n)||typeof n!="object")throw new Error(`cannot decode message ${e.typeName} from JSON: ${x(n)}`);o=o??new e;const a=new Map,r=t.typeRegistry;for(const[i,s]of Object.entries(n)){const c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;const d=a.get(c.oneof);if(d!==void 0)throw new Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${d}", "${i}"`);a.set(c.oneof,i)}gt(o,s,c,t,e)}else{let d=!1;if(r!=null&&r.findExtension&&i.startsWith("[")&&i.endsWith("]")){const m=r.findExtension(i.substring(1,i.length-1));if(m&&m.extendee.typeName==e.typeName){d=!0;const[g,f]=Bt(m);gt(g,s,m.field,t,m),wr(o,m,f(),t)}}if(!d&&!t.ignoreUnknownFields)throw new Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return o},writeMessage(e,n){const t=e.getType(),o={};let a;try{for(a of t.fields.byNumber()){if(!Ht(a,e)){if(a.req)throw"required field not set";if(!n.emitDefaultValues||!Ar(a))continue}const i=a.oneof?e[a.oneof.localName].value:e[a.localName],s=ht(a,i,n);s!==void 0&&(o[n.useProtoFieldName?a.name:a.jsonName]=s)}const r=n.typeRegistry;if(r!=null&&r.findExtensionFor)for(const i of t.runtime.bin.listUnknownFields(e)){const s=r.findExtensionFor(t.typeName,i.no);if(s&&Ft(e,s)){const c=vr(e,s,n),d=ht(s.field,c,n);d!==void 0&&(o[s.field.jsonName]=d)}}}catch(r){const i=a?`cannot encode field ${t.typeName}.${a.name} to JSON`:`cannot encode message ${t.typeName} to JSON`,s=r instanceof Error?r.message:String(r);throw new Error(i+(s.length>0?`: ${s}`:""))}return o},readScalar(e,n,t){return me(e,n,t??X.BIGINT,!0)},writeScalar(e,n,t){if(n!==void 0&&(t||Lt(e,n)))return Ae(e,n)},debug:x}}function x(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function gt(e,n,t,o,a){let r=t.localName;if(t.repeated){if(S(t.kind!="map"),n===null)return;if(!Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(n)}`);const i=e[r];for(const s of n){if(s===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(s)}`);switch(t.kind){case"message":i.push(t.T.fromJson(s,o));break;case"enum":const c=tn(t.T,s,o.ignoreUnknownFields,!0);c!==Ie&&i.push(c);break;case"scalar":try{i.push(me(t.T,s,t.L,!0))}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(s)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}}else if(t.kind=="map"){if(n===null)return;if(typeof n!="object"||Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(n)}`);const i=e[r];for(const[s,c]of Object.entries(n)){if(c===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: map value null`);let d;try{d=Ir(t.K,s)}catch(m){let g=`cannot decode map key for field ${a.typeName}.${t.name} from JSON: ${x(n)}`;throw m instanceof Error&&m.message.length>0&&(g+=`: ${m.message}`),new Error(g)}switch(t.V.kind){case"message":i[d]=t.V.T.fromJson(c,o);break;case"enum":const m=tn(t.V.T,c,o.ignoreUnknownFields,!0);m!==Ie&&(i[d]=m);break;case"scalar":try{i[d]=me(t.V.T,c,X.BIGINT,!0)}catch(g){let f=`cannot decode map value for field ${a.typeName}.${t.name} from JSON: ${x(n)}`;throw g instanceof Error&&g.message.length>0&&(f+=`: ${g.message}`),new Error(f)}break}}}else switch(t.oneof&&(e=e[t.oneof.localName]={case:r},r="value"),t.kind){case"message":const i=t.T;if(n===null&&i.typeName!="google.protobuf.Value")return;let s=e[r];W(s)?s.fromJson(n,o):(e[r]=s=i.fromJson(n,o),i.fieldWrapper&&!t.oneof&&(e[r]=i.fieldWrapper.unwrapField(s)));break;case"enum":const c=tn(t.T,n,o.ignoreUnknownFields,!1);switch(c){case Oe:dt(t,e);break;case Ie:break;default:e[r]=c;break}break;case"scalar":try{const d=me(t.T,n,t.L,!1);switch(d){case Oe:dt(t,e);break;default:e[r]=d;break}}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(n)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}function Ir(e,n){if(e===u.BOOL)switch(n){case"true":n=!0;break;case"false":n=!1;break}return me(e,n,X.BIGINT,!0).toString()}function me(e,n,t,o){if(n===null)return o?ee(e,t):Oe;switch(e){case u.DOUBLE:case u.FLOAT:if(n==="NaN")return Number.NaN;if(n==="Infinity")return Number.POSITIVE_INFINITY;if(n==="-Infinity")return Number.NEGATIVE_INFINITY;if(n===""||typeof n=="string"&&n.trim().length!==n.length||typeof n!="string"&&typeof n!="number")break;const a=Number(n);if(Number.isNaN(a)||!Number.isFinite(a))break;return e==u.FLOAT&&Nt(a),a;case u.INT32:case u.FIXED32:case u.SFIXED32:case u.SINT32:case u.UINT32:let r;if(typeof n=="number"?r=n:typeof n=="string"&&n.length>0&&n.trim().length===n.length&&(r=Number(n)),r===void 0)break;return e==u.UINT32||e==u.FIXED32?un(r):Ne(r),r;case u.INT64:case u.SFIXED64:case u.SINT64:if(typeof n!="number"&&typeof n!="string")break;const i=R.parse(n);return t?i.toString():i;case u.FIXED64:case u.UINT64:if(typeof n!="number"&&typeof n!="string")break;const s=R.uParse(n);return t?s.toString():s;case u.BOOL:if(typeof n!="boolean")break;return n;case u.STRING:if(typeof n!="string")break;try{encodeURIComponent(n)}catch{throw new Error("invalid UTF8")}return n;case u.BYTES:if(n==="")return new Uint8Array(0);if(typeof n!="string")break;return xt.dec(n)}throw new Error}function tn(e,n,t,o){if(n===null)return e.typeName=="google.protobuf.NullValue"?0:o?e.values[0].no:Oe;switch(typeof n){case"number":if(Number.isInteger(n))return n;break;case"string":const a=e.findName(n);if(a!==void 0)return a.no;if(t)return Ie;break}throw new Error(`cannot decode enum ${e.typeName} from JSON: ${x(n)}`)}function Ar(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ht(e,n,t){if(e.kind=="map"){S(typeof n=="object"&&n!=null);const o={},a=Object.entries(n);switch(e.V.kind){case"scalar":for(const[i,s]of a)o[i.toString()]=Ae(e.V.T,s);break;case"message":for(const[i,s]of a)o[i.toString()]=s.toJson(t);break;case"enum":const r=e.V.T;for(const[i,s]of a)o[i.toString()]=an(r,s,t.enumAsInteger);break}return t.emitDefaultValues||a.length>0?o:void 0}if(e.repeated){S(Array.isArray(n));const o=[];switch(e.kind){case"scalar":for(let a=0;a0?o:void 0}switch(e.kind){case"scalar":return Ae(e.T,n);case"enum":return an(e.T,n,t.enumAsInteger);case"message":return Gt(e.T,n).toJson(t)}}function an(e,n,t){var o;if(S(typeof n=="number"),e.typeName=="google.protobuf.NullValue")return null;if(t)return n;const a=e.findNumber(n);return(o=a==null?void 0:a.name)!==null&&o!==void 0?o:n}function Ae(e,n){switch(e){case u.INT32:case u.SFIXED32:case u.SINT32:case u.FIXED32:case u.UINT32:return S(typeof n=="number"),n;case u.FLOAT:case u.DOUBLE:return S(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n;case u.STRING:return S(typeof n=="string"),n;case u.BOOL:return S(typeof n=="boolean"),n;case u.UINT64:case u.FIXED64:case u.INT64:case u.SFIXED64:case u.SINT64:return S(typeof n=="bigint"||typeof n=="string"||typeof n=="number"),n.toString();case u.BYTES:return S(n instanceof Uint8Array),xt.enc(n)}}var z=Symbol("@bufbuild/protobuf/unknown-fields"),pt={readUnknownFields:!0,readerFactory:e=>new yr(e)},_t={writeUnknownFields:!0,writerFactory:()=>new kr};function Pr(e){return e?Object.assign(Object.assign({},pt),e):pt}function Rr(e){return e?Object.assign(Object.assign({},_t),e):_t}function Or(){return{makeReadOptions:Pr,makeWriteOptions:Rr,listUnknownFields(e){var n;return(n=e[z])!==null&&n!==void 0?n:[]},discardUnknownFields(e){delete e[z]},writeUnknownFields(e,n){const o=e[z];if(o)for(const a of o)n.tag(a.no,a.wireType).raw(a.data)},onUnknownField(e,n,t,o){const a=e;Array.isArray(a[z])||(a[z]=[]),a[z].push({no:n,wireType:t,data:o})},readMessage(e,n,t,o,a){const r=e.getType(),i=a?n.len:n.pos+t;let s,c;for(;n.pos0&&(c=Lr),r){let f=e[i];if(o==M.LengthDelimited&&s!=u.STRING&&s!=u.BYTES){let _=n.uint32()+n.pos;for(;n.pos<_;)f.push(c(n,s))}else f.push(c(n,s))}else e[i]=c(n,s);break;case"message":const d=t.T;r?e[i].push(Pe(n,new d,a,t)):W(e[i])?Pe(n,e[i],a,t):(e[i]=Pe(n,new d,a,t),d.fieldWrapper&&!t.oneof&&!t.repeated&&(e[i]=d.fieldWrapper.unwrapField(e[i])));break;case"map":let[m,g]=Dr(t,n,a);e[i][m]=g;break}}function Pe(e,n,t,o){const a=n.getType().runtime.bin,r=o==null?void 0:o.delimited;return a.readMessage(n,e,r?o.no:e.uint32(),t,r),n}function Dr(e,n,t){const o=n.uint32(),a=n.pos+o;let r,i;for(;n.posW(f,g)?f:new g(f));else{const f=i[a];g.fieldWrapper?g.typeName==="google.protobuf.BytesValue"?r[a]=le(f):r[a]=f:r[a]=W(f,g)?f:new g(f)}break}}},equals(e,n,t){return n===t?!0:!n||!t?!1:e.fields.byMember().every(o=>{const a=n[o.localName],r=t[o.localName];if(o.repeated){if(a.length!==r.length)return!1;switch(o.kind){case"message":return a.every((i,s)=>o.T.equals(i,r[s]));case"scalar":return a.every((i,s)=>q(o.T,i,r[s]));case"enum":return a.every((i,s)=>q(u.INT32,i,r[s]))}throw new Error(`repeated cannot contain ${o.kind}`)}switch(o.kind){case"message":return o.T.equals(a,r);case"enum":return q(u.INT32,a,r);case"scalar":return q(o.T,a,r);case"oneof":if(a.case!==r.case)return!1;const i=o.findField(a.case);if(i===void 0)return!0;switch(i.kind){case"message":return i.T.equals(a.value,r.value);case"enum":return q(u.INT32,a.value,r.value);case"scalar":return q(i.T,a.value,r.value)}throw new Error(`oneof cannot contain ${i.kind}`);case"map":const s=Object.keys(a).concat(Object.keys(r));switch(o.V.kind){case"message":const c=o.V.T;return s.every(m=>c.equals(a[m],r[m]));case"enum":return s.every(m=>q(u.INT32,a[m],r[m]));case"scalar":const d=o.V.T;return s.every(m=>q(d,a[m],r[m]))}break}})},clone(e){const n=e.getType(),t=new n,o=t;for(const a of n.fields.byMember()){const r=e[a.localName];let i;if(a.repeated)i=r.map(ve);else if(a.kind=="map"){i=o[a.localName];for(const[s,c]of Object.entries(r))i[s]=ve(c)}else a.kind=="oneof"?i=a.findField(r.case)?{case:r.case,value:ve(r.value)}:{case:void 0}:i=ve(r);o[a.localName]=i}for(const a of n.runtime.bin.listUnknownFields(e))n.runtime.bin.onUnknownField(o,a.no,a.wireType,a.data);return t}}}function ve(e){if(e===void 0)return e;if(W(e))return e.clone();if(e instanceof Uint8Array){const n=new Uint8Array(e.byteLength);return n.set(e),n}return e}function le(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Ur(e,n,t){return{syntax:e,json:Mr(),bin:Or(),util:Object.assign(Object.assign({},Fr()),{newFieldList:n,initFields:t}),makeMessageType(o,a,r){return fr(this,o,a,r)},makeEnum:ur,makeEnumType:At,getEnumType:dr,makeExtension(o,a,r){return Cr(this,o,a,r)}}}var Hr=class{constructor(e,n){this._fields=e,this._normalizer=n}findJsonName(e){if(!this.jsonNames){const n={};for(const t of this.list())n[t.jsonName]=n[t.name]=t;this.jsonNames=n}return this.jsonNames[e]}find(e){if(!this.numbers){const n={};for(const t of this.list())n[t.no]=t;this.numbers=n}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,n)=>e.no-n.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let n;for(const t of this.list())t.oneof?t.oneof!==n&&(n=t.oneof,e.push(n)):e.push(t)}return this.members}};function qt(e,n){const t=$t(e);return n?t:Kr(Xr(t))}function Gr(e){return qt(e,!1)}var Vr=$t;function $t(e){let n=!1;const t=[];for(let o=0;o`${e}$`,Xr=e=>$r.has(e)?Xt(e):e,Kr=e=>qr.has(e)?Xt(e):e,Wr=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=Gr(e)}addField(e){S(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let n=0;nnew Hr(e,n=>Yr(n)),e=>{for(const n of e.getType().fields.byMember()){if(n.opt)continue;const t=n.localName,o=e;if(n.repeated){o[t]=[];continue}switch(n.kind){case"oneof":o[t]={case:void 0};break;case"enum":o[t]=0;break;case"map":o[t]={};break;case"scalar":o[t]=ee(n.T,n.L);break}}}),Kt={};N(Kt,{Channel:()=>fe,ChannelSettings:()=>kn,Channel_Role:()=>Yt,ModuleSettings:()=>Wt});var kn=l.makeMessageType("meshtastic.ChannelSettings",()=>[{no:1,name:"channel_num",kind:"scalar",T:13},{no:2,name:"psk",kind:"scalar",T:12},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"id",kind:"scalar",T:7},{no:5,name:"uplink_enabled",kind:"scalar",T:8},{no:6,name:"downlink_enabled",kind:"scalar",T:8},{no:7,name:"module_settings",kind:"message",T:Wt}]),Wt=l.makeMessageType("meshtastic.ModuleSettings",()=>[{no:1,name:"position_precision",kind:"scalar",T:13},{no:2,name:"is_client_muted",kind:"scalar",T:8}]),fe=l.makeMessageType("meshtastic.Channel",()=>[{no:1,name:"index",kind:"scalar",T:5},{no:2,name:"settings",kind:"message",T:kn},{no:3,name:"role",kind:"enum",T:l.getEnumType(Yt)}]),Yt=l.makeEnum("meshtastic.Channel.Role",[{no:0,name:"DISABLED"},{no:1,name:"PRIMARY"},{no:2,name:"SECONDARY"}]),Y={};N(Y,{ChunkedPayload:()=>si,ChunkedPayloadResponse:()=>ci,ClientNotification:()=>Ma,Compressed:()=>ri,Constants:()=>Zr,CriticalErrorCode:()=>ei,Data:()=>Ea,DeviceMetadata:()=>jn,FileInfo:()=>Ia,FromRadio:()=>ai,HardwareModel:()=>Ce,Heartbeat:()=>Pa,LogRecord:()=>Sa,LogRecord_Level:()=>Jn,MeshPacket:()=>J,MeshPacket_Delayed:()=>va,MeshPacket_Priority:()=>ba,MqttClientProxyMessage:()=>Wn,MyNodeInfo:()=>Yn,Neighbor:()=>Aa,NeighborInfo:()=>ii,NodeInfo:()=>wa,NodeRemoteHardwarePin:()=>zn,Position:()=>Xn,Position_AltSource:()=>ya,Position_LocSource:()=>Kn,QueueStatus:()=>Na,RouteDiscovery:()=>fn,Routing:()=>ni,Routing_Error:()=>Ca,ToRadio:()=>oi,User:()=>ge,Waypoint:()=>ti,resend_chunks:()=>Ra});var Jt={};N(Jt,{Config:()=>Le,Config_BluetoothConfig:()=>Nn,Config_BluetoothConfig_PairingMode:()=>ra,Config_DeviceConfig:()=>yn,Config_DeviceConfig_RebroadcastMode:()=>jt,Config_DeviceConfig_Role:()=>se,Config_DisplayConfig:()=>vn,Config_DisplayConfig_CompassOrientation:()=>oa,Config_DisplayConfig_DisplayMode:()=>aa,Config_DisplayConfig_DisplayUnits:()=>na,Config_DisplayConfig_GpsCoordinateFormat:()=>ea,Config_DisplayConfig_OledType:()=>ta,Config_LoRaConfig:()=>We,Config_LoRaConfig_ModemPreset:()=>Sn,Config_LoRaConfig_RegionCode:()=>wn,Config_NetworkConfig:()=>bn,Config_NetworkConfig_AddressMode:()=>Qt,Config_NetworkConfig_IpV4Config:()=>Zt,Config_PositionConfig:()=>Cn,Config_PositionConfig_GpsMode:()=>zt,Config_PositionConfig_PositionFlags:()=>Jr,Config_PowerConfig:()=>En,Config_SecurityConfig:()=>Mn,Config_SessionkeyConfig:()=>ia});var Le=l.makeMessageType("meshtastic.Config",()=>[{no:1,name:"device",kind:"message",T:yn,oneof:"payload_variant"},{no:2,name:"position",kind:"message",T:Cn,oneof:"payload_variant"},{no:3,name:"power",kind:"message",T:En,oneof:"payload_variant"},{no:4,name:"network",kind:"message",T:bn,oneof:"payload_variant"},{no:5,name:"display",kind:"message",T:vn,oneof:"payload_variant"},{no:6,name:"lora",kind:"message",T:We,oneof:"payload_variant"},{no:7,name:"bluetooth",kind:"message",T:Nn,oneof:"payload_variant"},{no:8,name:"security",kind:"message",T:Mn,oneof:"payload_variant"},{no:9,name:"sessionkey",kind:"message",T:ia,oneof:"payload_variant"}]),yn=l.makeMessageType("meshtastic.Config.DeviceConfig",()=>[{no:1,name:"role",kind:"enum",T:l.getEnumType(se)},{no:2,name:"serial_enabled",kind:"scalar",T:8},{no:4,name:"button_gpio",kind:"scalar",T:13},{no:5,name:"buzzer_gpio",kind:"scalar",T:13},{no:6,name:"rebroadcast_mode",kind:"enum",T:l.getEnumType(jt)},{no:7,name:"node_info_broadcast_secs",kind:"scalar",T:13},{no:8,name:"double_tap_as_button_press",kind:"scalar",T:8},{no:9,name:"is_managed",kind:"scalar",T:8},{no:10,name:"disable_triple_click",kind:"scalar",T:8},{no:11,name:"tzdef",kind:"scalar",T:9},{no:12,name:"led_heartbeat_disabled",kind:"scalar",T:8}],{localName:"Config_DeviceConfig"}),se=l.makeEnum("meshtastic.Config.DeviceConfig.Role",[{no:0,name:"CLIENT"},{no:1,name:"CLIENT_MUTE"},{no:2,name:"ROUTER"},{no:3,name:"ROUTER_CLIENT"},{no:4,name:"REPEATER"},{no:5,name:"TRACKER"},{no:6,name:"SENSOR"},{no:7,name:"TAK"},{no:8,name:"CLIENT_HIDDEN"},{no:9,name:"LOST_AND_FOUND"},{no:10,name:"TAK_TRACKER"}]),jt=l.makeEnum("meshtastic.Config.DeviceConfig.RebroadcastMode",[{no:0,name:"ALL"},{no:1,name:"ALL_SKIP_DECODING"},{no:2,name:"LOCAL_ONLY"},{no:3,name:"KNOWN_ONLY"}]),Cn=l.makeMessageType("meshtastic.Config.PositionConfig",()=>[{no:1,name:"position_broadcast_secs",kind:"scalar",T:13},{no:2,name:"position_broadcast_smart_enabled",kind:"scalar",T:8},{no:3,name:"fixed_position",kind:"scalar",T:8},{no:4,name:"gps_enabled",kind:"scalar",T:8},{no:5,name:"gps_update_interval",kind:"scalar",T:13},{no:6,name:"gps_attempt_time",kind:"scalar",T:13},{no:7,name:"position_flags",kind:"scalar",T:13},{no:8,name:"rx_gpio",kind:"scalar",T:13},{no:9,name:"tx_gpio",kind:"scalar",T:13},{no:10,name:"broadcast_smart_minimum_distance",kind:"scalar",T:13},{no:11,name:"broadcast_smart_minimum_interval_secs",kind:"scalar",T:13},{no:12,name:"gps_en_gpio",kind:"scalar",T:13},{no:13,name:"gps_mode",kind:"enum",T:l.getEnumType(zt)}],{localName:"Config_PositionConfig"}),Jr=l.makeEnum("meshtastic.Config.PositionConfig.PositionFlags",[{no:0,name:"UNSET"},{no:1,name:"ALTITUDE"},{no:2,name:"ALTITUDE_MSL"},{no:4,name:"GEOIDAL_SEPARATION"},{no:8,name:"DOP"},{no:16,name:"HVDOP"},{no:32,name:"SATINVIEW"},{no:64,name:"SEQ_NO"},{no:128,name:"TIMESTAMP"},{no:256,name:"HEADING"},{no:512,name:"SPEED"}]),zt=l.makeEnum("meshtastic.Config.PositionConfig.GpsMode",[{no:0,name:"DISABLED"},{no:1,name:"ENABLED"},{no:2,name:"NOT_PRESENT"}]),En=l.makeMessageType("meshtastic.Config.PowerConfig",()=>[{no:1,name:"is_power_saving",kind:"scalar",T:8},{no:2,name:"on_battery_shutdown_after_secs",kind:"scalar",T:13},{no:3,name:"adc_multiplier_override",kind:"scalar",T:2},{no:4,name:"wait_bluetooth_secs",kind:"scalar",T:13},{no:6,name:"sds_secs",kind:"scalar",T:13},{no:7,name:"ls_secs",kind:"scalar",T:13},{no:8,name:"min_wake_secs",kind:"scalar",T:13},{no:9,name:"device_battery_ina_address",kind:"scalar",T:13},{no:32,name:"powermon_enables",kind:"scalar",T:4}],{localName:"Config_PowerConfig"}),bn=l.makeMessageType("meshtastic.Config.NetworkConfig",()=>[{no:1,name:"wifi_enabled",kind:"scalar",T:8},{no:3,name:"wifi_ssid",kind:"scalar",T:9},{no:4,name:"wifi_psk",kind:"scalar",T:9},{no:5,name:"ntp_server",kind:"scalar",T:9},{no:6,name:"eth_enabled",kind:"scalar",T:8},{no:7,name:"address_mode",kind:"enum",T:l.getEnumType(Qt)},{no:8,name:"ipv4_config",kind:"message",T:Zt},{no:9,name:"rsyslog_server",kind:"scalar",T:9}],{localName:"Config_NetworkConfig"}),Qt=l.makeEnum("meshtastic.Config.NetworkConfig.AddressMode",[{no:0,name:"DHCP"},{no:1,name:"STATIC"}]),Zt=l.makeMessageType("meshtastic.Config.NetworkConfig.IpV4Config",()=>[{no:1,name:"ip",kind:"scalar",T:7},{no:2,name:"gateway",kind:"scalar",T:7},{no:3,name:"subnet",kind:"scalar",T:7},{no:4,name:"dns",kind:"scalar",T:7}],{localName:"Config_NetworkConfig_IpV4Config"}),vn=l.makeMessageType("meshtastic.Config.DisplayConfig",()=>[{no:1,name:"screen_on_secs",kind:"scalar",T:13},{no:2,name:"gps_format",kind:"enum",T:l.getEnumType(ea)},{no:3,name:"auto_screen_carousel_secs",kind:"scalar",T:13},{no:4,name:"compass_north_top",kind:"scalar",T:8},{no:5,name:"flip_screen",kind:"scalar",T:8},{no:6,name:"units",kind:"enum",T:l.getEnumType(na)},{no:7,name:"oled",kind:"enum",T:l.getEnumType(ta)},{no:8,name:"displaymode",kind:"enum",T:l.getEnumType(aa)},{no:9,name:"heading_bold",kind:"scalar",T:8},{no:10,name:"wake_on_tap_or_motion",kind:"scalar",T:8},{no:11,name:"compass_orientation",kind:"enum",T:l.getEnumType(oa)}],{localName:"Config_DisplayConfig"}),ea=l.makeEnum("meshtastic.Config.DisplayConfig.GpsCoordinateFormat",[{no:0,name:"DEC"},{no:1,name:"DMS"},{no:2,name:"UTM"},{no:3,name:"MGRS"},{no:4,name:"OLC"},{no:5,name:"OSGR"}]),na=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayUnits",[{no:0,name:"METRIC"},{no:1,name:"IMPERIAL"}]),ta=l.makeEnum("meshtastic.Config.DisplayConfig.OledType",[{no:0,name:"OLED_AUTO"},{no:1,name:"OLED_SSD1306"},{no:2,name:"OLED_SH1106"},{no:3,name:"OLED_SH1107"}]),aa=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayMode",[{no:0,name:"DEFAULT"},{no:1,name:"TWOCOLOR"},{no:2,name:"INVERTED"},{no:3,name:"COLOR"}]),oa=l.makeEnum("meshtastic.Config.DisplayConfig.CompassOrientation",[{no:0,name:"DEGREES_0"},{no:1,name:"DEGREES_90"},{no:2,name:"DEGREES_180"},{no:3,name:"DEGREES_270"},{no:4,name:"DEGREES_0_INVERTED"},{no:5,name:"DEGREES_90_INVERTED"},{no:6,name:"DEGREES_180_INVERTED"},{no:7,name:"DEGREES_270_INVERTED"}]),We=l.makeMessageType("meshtastic.Config.LoRaConfig",()=>[{no:1,name:"use_preset",kind:"scalar",T:8},{no:2,name:"modem_preset",kind:"enum",T:l.getEnumType(Sn)},{no:3,name:"bandwidth",kind:"scalar",T:13},{no:4,name:"spread_factor",kind:"scalar",T:13},{no:5,name:"coding_rate",kind:"scalar",T:13},{no:6,name:"frequency_offset",kind:"scalar",T:2},{no:7,name:"region",kind:"enum",T:l.getEnumType(wn)},{no:8,name:"hop_limit",kind:"scalar",T:13},{no:9,name:"tx_enabled",kind:"scalar",T:8},{no:10,name:"tx_power",kind:"scalar",T:5},{no:11,name:"channel_num",kind:"scalar",T:13},{no:12,name:"override_duty_cycle",kind:"scalar",T:8},{no:13,name:"sx126x_rx_boosted_gain",kind:"scalar",T:8},{no:14,name:"override_frequency",kind:"scalar",T:2},{no:15,name:"pa_fan_disabled",kind:"scalar",T:8},{no:103,name:"ignore_incoming",kind:"scalar",T:13,repeated:!0},{no:104,name:"ignore_mqtt",kind:"scalar",T:8},{no:105,name:"config_ok_to_mqtt",kind:"scalar",T:8}],{localName:"Config_LoRaConfig"}),wn=l.makeEnum("meshtastic.Config.LoRaConfig.RegionCode",[{no:0,name:"UNSET"},{no:1,name:"US"},{no:2,name:"EU_433"},{no:3,name:"EU_868"},{no:4,name:"CN"},{no:5,name:"JP"},{no:6,name:"ANZ"},{no:7,name:"KR"},{no:8,name:"TW"},{no:9,name:"RU"},{no:10,name:"IN"},{no:11,name:"NZ_865"},{no:12,name:"TH"},{no:13,name:"LORA_24"},{no:14,name:"UA_433"},{no:15,name:"UA_868"},{no:16,name:"MY_433"},{no:17,name:"MY_919"},{no:18,name:"SG_923"}]),Sn=l.makeEnum("meshtastic.Config.LoRaConfig.ModemPreset",[{no:0,name:"LONG_FAST"},{no:1,name:"LONG_SLOW"},{no:2,name:"VERY_LONG_SLOW"},{no:3,name:"MEDIUM_SLOW"},{no:4,name:"MEDIUM_FAST"},{no:5,name:"SHORT_SLOW"},{no:6,name:"SHORT_FAST"},{no:7,name:"LONG_MODERATE"},{no:8,name:"SHORT_TURBO"}]),Nn=l.makeMessageType("meshtastic.Config.BluetoothConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"mode",kind:"enum",T:l.getEnumType(ra)},{no:3,name:"fixed_pin",kind:"scalar",T:13}],{localName:"Config_BluetoothConfig"}),ra=l.makeEnum("meshtastic.Config.BluetoothConfig.PairingMode",[{no:0,name:"RANDOM_PIN"},{no:1,name:"FIXED_PIN"},{no:2,name:"NO_PIN"}]),Mn=l.makeMessageType("meshtastic.Config.SecurityConfig",()=>[{no:1,name:"public_key",kind:"scalar",T:12},{no:2,name:"private_key",kind:"scalar",T:12},{no:3,name:"admin_key",kind:"scalar",T:12,repeated:!0},{no:4,name:"is_managed",kind:"scalar",T:8},{no:5,name:"serial_enabled",kind:"scalar",T:8},{no:6,name:"debug_log_api_enabled",kind:"scalar",T:8},{no:8,name:"admin_channel_enabled",kind:"scalar",T:8}],{localName:"Config_SecurityConfig"}),ia=l.makeMessageType("meshtastic.Config.SessionkeyConfig",[],{localName:"Config_SessionkeyConfig"}),sa={};N(sa,{PortNum:()=>In});var In=l.makeEnum("meshtastic.PortNum",[{no:0,name:"UNKNOWN_APP"},{no:1,name:"TEXT_MESSAGE_APP"},{no:2,name:"REMOTE_HARDWARE_APP"},{no:3,name:"POSITION_APP"},{no:4,name:"NODEINFO_APP"},{no:5,name:"ROUTING_APP"},{no:6,name:"ADMIN_APP"},{no:7,name:"TEXT_MESSAGE_COMPRESSED_APP"},{no:8,name:"WAYPOINT_APP"},{no:9,name:"AUDIO_APP"},{no:10,name:"DETECTION_SENSOR_APP"},{no:32,name:"REPLY_APP"},{no:33,name:"IP_TUNNEL_APP"},{no:34,name:"PAXCOUNTER_APP"},{no:64,name:"SERIAL_APP"},{no:65,name:"STORE_FORWARD_APP"},{no:66,name:"RANGE_TEST_APP"},{no:67,name:"TELEMETRY_APP"},{no:68,name:"ZPS_APP"},{no:69,name:"SIMULATOR_APP"},{no:70,name:"TRACEROUTE_APP"},{no:71,name:"NEIGHBORINFO_APP"},{no:72,name:"ATAK_PLUGIN"},{no:73,name:"MAP_REPORT_APP"},{no:74,name:"POWERSTRESS_APP"},{no:256,name:"PRIVATE_APP"},{no:257,name:"ATAK_FORWARDER"},{no:511,name:"MAX"}]),ca={};N(ca,{AirQualityMetrics:()=>da,DeviceMetrics:()=>Ye,EnvironmentMetrics:()=>la,LocalStats:()=>ua,Nau7802Config:()=>Qr,PowerMetrics:()=>ma,Telemetry:()=>zr,TelemetrySensorType:()=>jr});var jr=l.makeEnum("meshtastic.TelemetrySensorType",[{no:0,name:"SENSOR_UNSET"},{no:1,name:"BME280"},{no:2,name:"BME680"},{no:3,name:"MCP9808"},{no:4,name:"INA260"},{no:5,name:"INA219"},{no:6,name:"BMP280"},{no:7,name:"SHTC3"},{no:8,name:"LPS22"},{no:9,name:"QMC6310"},{no:10,name:"QMI8658"},{no:11,name:"QMC5883L"},{no:12,name:"SHT31"},{no:13,name:"PMSA003I"},{no:14,name:"INA3221"},{no:15,name:"BMP085"},{no:16,name:"RCWL9620"},{no:17,name:"SHT4X"},{no:18,name:"VEML7700"},{no:19,name:"MLX90632"},{no:20,name:"OPT3001"},{no:21,name:"LTR390UV"},{no:22,name:"TSL25911FN"},{no:23,name:"AHT10"},{no:24,name:"DFROBOT_LARK"},{no:25,name:"NAU7802"},{no:26,name:"BMP3XX"},{no:27,name:"ICM20948"},{no:28,name:"MAX17048"},{no:29,name:"CUSTOM_SENSOR"}]),Ye=l.makeMessageType("meshtastic.DeviceMetrics",()=>[{no:1,name:"battery_level",kind:"scalar",T:13,opt:!0},{no:2,name:"voltage",kind:"scalar",T:2,opt:!0},{no:3,name:"channel_utilization",kind:"scalar",T:2,opt:!0},{no:4,name:"air_util_tx",kind:"scalar",T:2,opt:!0},{no:5,name:"uptime_seconds",kind:"scalar",T:13,opt:!0}]),la=l.makeMessageType("meshtastic.EnvironmentMetrics",()=>[{no:1,name:"temperature",kind:"scalar",T:2,opt:!0},{no:2,name:"relative_humidity",kind:"scalar",T:2,opt:!0},{no:3,name:"barometric_pressure",kind:"scalar",T:2,opt:!0},{no:4,name:"gas_resistance",kind:"scalar",T:2,opt:!0},{no:5,name:"voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"current",kind:"scalar",T:2,opt:!0},{no:7,name:"iaq",kind:"scalar",T:13,opt:!0},{no:8,name:"distance",kind:"scalar",T:2,opt:!0},{no:9,name:"lux",kind:"scalar",T:2,opt:!0},{no:10,name:"white_lux",kind:"scalar",T:2,opt:!0},{no:11,name:"ir_lux",kind:"scalar",T:2,opt:!0},{no:12,name:"uv_lux",kind:"scalar",T:2,opt:!0},{no:13,name:"wind_direction",kind:"scalar",T:13,opt:!0},{no:14,name:"wind_speed",kind:"scalar",T:2,opt:!0},{no:15,name:"weight",kind:"scalar",T:2,opt:!0},{no:16,name:"wind_gust",kind:"scalar",T:2,opt:!0},{no:17,name:"wind_lull",kind:"scalar",T:2,opt:!0}]),ma=l.makeMessageType("meshtastic.PowerMetrics",()=>[{no:1,name:"ch1_voltage",kind:"scalar",T:2,opt:!0},{no:2,name:"ch1_current",kind:"scalar",T:2,opt:!0},{no:3,name:"ch2_voltage",kind:"scalar",T:2,opt:!0},{no:4,name:"ch2_current",kind:"scalar",T:2,opt:!0},{no:5,name:"ch3_voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"ch3_current",kind:"scalar",T:2,opt:!0}]),da=l.makeMessageType("meshtastic.AirQualityMetrics",()=>[{no:1,name:"pm10_standard",kind:"scalar",T:13,opt:!0},{no:2,name:"pm25_standard",kind:"scalar",T:13,opt:!0},{no:3,name:"pm100_standard",kind:"scalar",T:13,opt:!0},{no:4,name:"pm10_environmental",kind:"scalar",T:13,opt:!0},{no:5,name:"pm25_environmental",kind:"scalar",T:13,opt:!0},{no:6,name:"pm100_environmental",kind:"scalar",T:13,opt:!0},{no:7,name:"particles_03um",kind:"scalar",T:13,opt:!0},{no:8,name:"particles_05um",kind:"scalar",T:13,opt:!0},{no:9,name:"particles_10um",kind:"scalar",T:13,opt:!0},{no:10,name:"particles_25um",kind:"scalar",T:13,opt:!0},{no:11,name:"particles_50um",kind:"scalar",T:13,opt:!0},{no:12,name:"particles_100um",kind:"scalar",T:13,opt:!0}]),ua=l.makeMessageType("meshtastic.LocalStats",()=>[{no:1,name:"uptime_seconds",kind:"scalar",T:13},{no:2,name:"channel_utilization",kind:"scalar",T:2},{no:3,name:"air_util_tx",kind:"scalar",T:2},{no:4,name:"num_packets_tx",kind:"scalar",T:13},{no:5,name:"num_packets_rx",kind:"scalar",T:13},{no:6,name:"num_packets_rx_bad",kind:"scalar",T:13},{no:7,name:"num_online_nodes",kind:"scalar",T:13},{no:8,name:"num_total_nodes",kind:"scalar",T:13}]),zr=l.makeMessageType("meshtastic.Telemetry",()=>[{no:1,name:"time",kind:"scalar",T:7},{no:2,name:"device_metrics",kind:"message",T:Ye,oneof:"variant"},{no:3,name:"environment_metrics",kind:"message",T:la,oneof:"variant"},{no:4,name:"air_quality_metrics",kind:"message",T:da,oneof:"variant"},{no:5,name:"power_metrics",kind:"message",T:ma,oneof:"variant"},{no:6,name:"local_stats",kind:"message",T:ua,oneof:"variant"}]),Qr=l.makeMessageType("meshtastic.Nau7802Config",()=>[{no:1,name:"zeroOffset",kind:"scalar",T:5},{no:2,name:"calibrationFactor",kind:"scalar",T:2}]),fa={};N(fa,{ModuleConfig:()=>Be,ModuleConfig_AmbientLightingConfig:()=>Vn,ModuleConfig_AudioConfig:()=>Dn,ModuleConfig_AudioConfig_Audio_Baud:()=>pa,ModuleConfig_CannedMessageConfig:()=>Gn,ModuleConfig_CannedMessageConfig_InputEventChar:()=>Re,ModuleConfig_DetectionSensorConfig:()=>On,ModuleConfig_ExternalNotificationConfig:()=>xn,ModuleConfig_MQTTConfig:()=>An,ModuleConfig_MapReportSettings:()=>ha,ModuleConfig_NeighborInfoConfig:()=>Rn,ModuleConfig_PaxcounterConfig:()=>Ln,ModuleConfig_RangeTestConfig:()=>Un,ModuleConfig_RemoteHardwareConfig:()=>Pn,ModuleConfig_SerialConfig:()=>Bn,ModuleConfig_SerialConfig_Serial_Baud:()=>_a,ModuleConfig_SerialConfig_Serial_Mode:()=>Ta,ModuleConfig_StoreForwardConfig:()=>Fn,ModuleConfig_TelemetryConfig:()=>Hn,RemoteHardwarePin:()=>qn,RemoteHardwarePinType:()=>ga});var ga=l.makeEnum("meshtastic.RemoteHardwarePinType",[{no:0,name:"UNKNOWN"},{no:1,name:"DIGITAL_READ"},{no:2,name:"DIGITAL_WRITE"}]),Be=l.makeMessageType("meshtastic.ModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:An,oneof:"payload_variant"},{no:2,name:"serial",kind:"message",T:Bn,oneof:"payload_variant"},{no:3,name:"external_notification",kind:"message",T:xn,oneof:"payload_variant"},{no:4,name:"store_forward",kind:"message",T:Fn,oneof:"payload_variant"},{no:5,name:"range_test",kind:"message",T:Un,oneof:"payload_variant"},{no:6,name:"telemetry",kind:"message",T:Hn,oneof:"payload_variant"},{no:7,name:"canned_message",kind:"message",T:Gn,oneof:"payload_variant"},{no:8,name:"audio",kind:"message",T:Dn,oneof:"payload_variant"},{no:9,name:"remote_hardware",kind:"message",T:Pn,oneof:"payload_variant"},{no:10,name:"neighbor_info",kind:"message",T:Rn,oneof:"payload_variant"},{no:11,name:"ambient_lighting",kind:"message",T:Vn,oneof:"payload_variant"},{no:12,name:"detection_sensor",kind:"message",T:On,oneof:"payload_variant"},{no:13,name:"paxcounter",kind:"message",T:Ln,oneof:"payload_variant"}]),An=l.makeMessageType("meshtastic.ModuleConfig.MQTTConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"address",kind:"scalar",T:9},{no:3,name:"username",kind:"scalar",T:9},{no:4,name:"password",kind:"scalar",T:9},{no:5,name:"encryption_enabled",kind:"scalar",T:8},{no:6,name:"json_enabled",kind:"scalar",T:8},{no:7,name:"tls_enabled",kind:"scalar",T:8},{no:8,name:"root",kind:"scalar",T:9},{no:9,name:"proxy_to_client_enabled",kind:"scalar",T:8},{no:10,name:"map_reporting_enabled",kind:"scalar",T:8},{no:11,name:"map_report_settings",kind:"message",T:ha}],{localName:"ModuleConfig_MQTTConfig"}),ha=l.makeMessageType("meshtastic.ModuleConfig.MapReportSettings",()=>[{no:1,name:"publish_interval_secs",kind:"scalar",T:13},{no:2,name:"position_precision",kind:"scalar",T:13}],{localName:"ModuleConfig_MapReportSettings"}),Pn=l.makeMessageType("meshtastic.ModuleConfig.RemoteHardwareConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"allow_undefined_pin_access",kind:"scalar",T:8},{no:3,name:"available_pins",kind:"message",T:qn,repeated:!0}],{localName:"ModuleConfig_RemoteHardwareConfig"}),Rn=l.makeMessageType("meshtastic.ModuleConfig.NeighborInfoConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"update_interval",kind:"scalar",T:13}],{localName:"ModuleConfig_NeighborInfoConfig"}),On=l.makeMessageType("meshtastic.ModuleConfig.DetectionSensorConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"minimum_broadcast_secs",kind:"scalar",T:13},{no:3,name:"state_broadcast_secs",kind:"scalar",T:13},{no:4,name:"send_bell",kind:"scalar",T:8},{no:5,name:"name",kind:"scalar",T:9},{no:6,name:"monitor_pin",kind:"scalar",T:13},{no:7,name:"detection_triggered_high",kind:"scalar",T:8},{no:8,name:"use_pullup",kind:"scalar",T:8}],{localName:"ModuleConfig_DetectionSensorConfig"}),Dn=l.makeMessageType("meshtastic.ModuleConfig.AudioConfig",()=>[{no:1,name:"codec2_enabled",kind:"scalar",T:8},{no:2,name:"ptt_pin",kind:"scalar",T:13},{no:3,name:"bitrate",kind:"enum",T:l.getEnumType(pa)},{no:4,name:"i2s_ws",kind:"scalar",T:13},{no:5,name:"i2s_sd",kind:"scalar",T:13},{no:6,name:"i2s_din",kind:"scalar",T:13},{no:7,name:"i2s_sck",kind:"scalar",T:13}],{localName:"ModuleConfig_AudioConfig"}),pa=l.makeEnum("meshtastic.ModuleConfig.AudioConfig.Audio_Baud",[{no:0,name:"CODEC2_DEFAULT"},{no:1,name:"CODEC2_3200"},{no:2,name:"CODEC2_2400"},{no:3,name:"CODEC2_1600"},{no:4,name:"CODEC2_1400"},{no:5,name:"CODEC2_1300"},{no:6,name:"CODEC2_1200"},{no:7,name:"CODEC2_700"},{no:8,name:"CODEC2_700B"}]),Ln=l.makeMessageType("meshtastic.ModuleConfig.PaxcounterConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"paxcounter_update_interval",kind:"scalar",T:13},{no:3,name:"wifi_threshold",kind:"scalar",T:5},{no:4,name:"ble_threshold",kind:"scalar",T:5}],{localName:"ModuleConfig_PaxcounterConfig"}),Bn=l.makeMessageType("meshtastic.ModuleConfig.SerialConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"echo",kind:"scalar",T:8},{no:3,name:"rxd",kind:"scalar",T:13},{no:4,name:"txd",kind:"scalar",T:13},{no:5,name:"baud",kind:"enum",T:l.getEnumType(_a)},{no:6,name:"timeout",kind:"scalar",T:13},{no:7,name:"mode",kind:"enum",T:l.getEnumType(Ta)},{no:8,name:"override_console_serial_port",kind:"scalar",T:8}],{localName:"ModuleConfig_SerialConfig"}),_a=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Baud",[{no:0,name:"BAUD_DEFAULT"},{no:1,name:"BAUD_110"},{no:2,name:"BAUD_300"},{no:3,name:"BAUD_600"},{no:4,name:"BAUD_1200"},{no:5,name:"BAUD_2400"},{no:6,name:"BAUD_4800"},{no:7,name:"BAUD_9600"},{no:8,name:"BAUD_19200"},{no:9,name:"BAUD_38400"},{no:10,name:"BAUD_57600"},{no:11,name:"BAUD_115200"},{no:12,name:"BAUD_230400"},{no:13,name:"BAUD_460800"},{no:14,name:"BAUD_576000"},{no:15,name:"BAUD_921600"}]),Ta=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Mode",[{no:0,name:"DEFAULT"},{no:1,name:"SIMPLE"},{no:2,name:"PROTO"},{no:3,name:"TEXTMSG"},{no:4,name:"NMEA"},{no:5,name:"CALTOPO"},{no:6,name:"WS85"}]),xn=l.makeMessageType("meshtastic.ModuleConfig.ExternalNotificationConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"output_ms",kind:"scalar",T:13},{no:3,name:"output",kind:"scalar",T:13},{no:8,name:"output_vibra",kind:"scalar",T:13},{no:9,name:"output_buzzer",kind:"scalar",T:13},{no:4,name:"active",kind:"scalar",T:8},{no:5,name:"alert_message",kind:"scalar",T:8},{no:10,name:"alert_message_vibra",kind:"scalar",T:8},{no:11,name:"alert_message_buzzer",kind:"scalar",T:8},{no:6,name:"alert_bell",kind:"scalar",T:8},{no:12,name:"alert_bell_vibra",kind:"scalar",T:8},{no:13,name:"alert_bell_buzzer",kind:"scalar",T:8},{no:7,name:"use_pwm",kind:"scalar",T:8},{no:14,name:"nag_timeout",kind:"scalar",T:13},{no:15,name:"use_i2s_as_buzzer",kind:"scalar",T:8}],{localName:"ModuleConfig_ExternalNotificationConfig"}),Fn=l.makeMessageType("meshtastic.ModuleConfig.StoreForwardConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"heartbeat",kind:"scalar",T:8},{no:3,name:"records",kind:"scalar",T:13},{no:4,name:"history_return_max",kind:"scalar",T:13},{no:5,name:"history_return_window",kind:"scalar",T:13},{no:6,name:"is_server",kind:"scalar",T:8}],{localName:"ModuleConfig_StoreForwardConfig"}),Un=l.makeMessageType("meshtastic.ModuleConfig.RangeTestConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"sender",kind:"scalar",T:13},{no:3,name:"save",kind:"scalar",T:8}],{localName:"ModuleConfig_RangeTestConfig"}),Hn=l.makeMessageType("meshtastic.ModuleConfig.TelemetryConfig",()=>[{no:1,name:"device_update_interval",kind:"scalar",T:13},{no:2,name:"environment_update_interval",kind:"scalar",T:13},{no:3,name:"environment_measurement_enabled",kind:"scalar",T:8},{no:4,name:"environment_screen_enabled",kind:"scalar",T:8},{no:5,name:"environment_display_fahrenheit",kind:"scalar",T:8},{no:6,name:"air_quality_enabled",kind:"scalar",T:8},{no:7,name:"air_quality_interval",kind:"scalar",T:13},{no:8,name:"power_measurement_enabled",kind:"scalar",T:8},{no:9,name:"power_update_interval",kind:"scalar",T:13},{no:10,name:"power_screen_enabled",kind:"scalar",T:8}],{localName:"ModuleConfig_TelemetryConfig"}),Gn=l.makeMessageType("meshtastic.ModuleConfig.CannedMessageConfig",()=>[{no:1,name:"rotary1_enabled",kind:"scalar",T:8},{no:2,name:"inputbroker_pin_a",kind:"scalar",T:13},{no:3,name:"inputbroker_pin_b",kind:"scalar",T:13},{no:4,name:"inputbroker_pin_press",kind:"scalar",T:13},{no:5,name:"inputbroker_event_cw",kind:"enum",T:l.getEnumType(Re)},{no:6,name:"inputbroker_event_ccw",kind:"enum",T:l.getEnumType(Re)},{no:7,name:"inputbroker_event_press",kind:"enum",T:l.getEnumType(Re)},{no:8,name:"updown1_enabled",kind:"scalar",T:8},{no:9,name:"enabled",kind:"scalar",T:8},{no:10,name:"allow_input_source",kind:"scalar",T:9},{no:11,name:"send_bell",kind:"scalar",T:8}],{localName:"ModuleConfig_CannedMessageConfig"}),Re=l.makeEnum("meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar",[{no:0,name:"NONE"},{no:17,name:"UP"},{no:18,name:"DOWN"},{no:19,name:"LEFT"},{no:20,name:"RIGHT"},{no:10,name:"SELECT"},{no:27,name:"BACK"},{no:24,name:"CANCEL"}]),Vn=l.makeMessageType("meshtastic.ModuleConfig.AmbientLightingConfig",()=>[{no:1,name:"led_state",kind:"scalar",T:8},{no:2,name:"current",kind:"scalar",T:13},{no:3,name:"red",kind:"scalar",T:13},{no:4,name:"green",kind:"scalar",T:13},{no:5,name:"blue",kind:"scalar",T:13}],{localName:"ModuleConfig_AmbientLightingConfig"}),qn=l.makeMessageType("meshtastic.RemoteHardwarePin",()=>[{no:1,name:"gpio_pin",kind:"scalar",T:13},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:l.getEnumType(ga)}]),P={};N(P,{XModem:()=>$n,XModem_Control:()=>ka});var $n=l.makeMessageType("meshtastic.XModem",()=>[{no:1,name:"control",kind:"enum",T:l.getEnumType(ka)},{no:2,name:"seq",kind:"scalar",T:13},{no:3,name:"crc16",kind:"scalar",T:13},{no:4,name:"buffer",kind:"scalar",T:12}]),ka=l.makeEnum("meshtastic.XModem.Control",[{no:0,name:"NUL"},{no:1,name:"SOH"},{no:2,name:"STX"},{no:4,name:"EOT"},{no:6,name:"ACK"},{no:21,name:"NAK"},{no:24,name:"CAN"},{no:26,name:"CTRLZ"}]),Ce=l.makeEnum("meshtastic.HardwareModel",[{no:0,name:"UNSET"},{no:1,name:"TLORA_V2"},{no:2,name:"TLORA_V1"},{no:3,name:"TLORA_V2_1_1P6"},{no:4,name:"TBEAM"},{no:5,name:"HELTEC_V2_0"},{no:6,name:"TBEAM_V0P7"},{no:7,name:"T_ECHO"},{no:8,name:"TLORA_V1_1P3"},{no:9,name:"RAK4631"},{no:10,name:"HELTEC_V2_1"},{no:11,name:"HELTEC_V1"},{no:12,name:"LILYGO_TBEAM_S3_CORE"},{no:13,name:"RAK11200"},{no:14,name:"NANO_G1"},{no:15,name:"TLORA_V2_1_1P8"},{no:16,name:"TLORA_T3_S3"},{no:17,name:"NANO_G1_EXPLORER"},{no:18,name:"NANO_G2_ULTRA"},{no:19,name:"LORA_TYPE"},{no:20,name:"WIPHONE"},{no:21,name:"WIO_WM1110"},{no:22,name:"RAK2560"},{no:23,name:"HELTEC_HRU_3601"},{no:25,name:"STATION_G1"},{no:26,name:"RAK11310"},{no:27,name:"SENSELORA_RP2040"},{no:28,name:"SENSELORA_S3"},{no:29,name:"CANARYONE"},{no:30,name:"RP2040_LORA"},{no:31,name:"STATION_G2"},{no:32,name:"LORA_RELAY_V1"},{no:33,name:"NRF52840DK"},{no:34,name:"PPR"},{no:35,name:"GENIEBLOCKS"},{no:36,name:"NRF52_UNKNOWN"},{no:37,name:"PORTDUINO"},{no:38,name:"ANDROID_SIM"},{no:39,name:"DIY_V1"},{no:40,name:"NRF52840_PCA10059"},{no:41,name:"DR_DEV"},{no:42,name:"M5STACK"},{no:43,name:"HELTEC_V3"},{no:44,name:"HELTEC_WSL_V3"},{no:45,name:"BETAFPV_2400_TX"},{no:46,name:"BETAFPV_900_NANO_TX"},{no:47,name:"RPI_PICO"},{no:48,name:"HELTEC_WIRELESS_TRACKER"},{no:49,name:"HELTEC_WIRELESS_PAPER"},{no:50,name:"T_DECK"},{no:51,name:"T_WATCH_S3"},{no:52,name:"PICOMPUTER_S3"},{no:53,name:"HELTEC_HT62"},{no:54,name:"EBYTE_ESP32_S3"},{no:55,name:"ESP32_S3_PICO"},{no:56,name:"CHATTER_2"},{no:57,name:"HELTEC_WIRELESS_PAPER_V1_0"},{no:58,name:"HELTEC_WIRELESS_TRACKER_V1_0"},{no:59,name:"UNPHONE"},{no:60,name:"TD_LORAC"},{no:61,name:"CDEBYTE_EORA_S3"},{no:62,name:"TWC_MESH_V4"},{no:63,name:"NRF52_PROMICRO_DIY"},{no:64,name:"RADIOMASTER_900_BANDIT_NANO"},{no:65,name:"HELTEC_CAPSULE_SENSOR_V3"},{no:66,name:"HELTEC_VISION_MASTER_T190"},{no:67,name:"HELTEC_VISION_MASTER_E213"},{no:68,name:"HELTEC_VISION_MASTER_E290"},{no:69,name:"HELTEC_MESH_NODE_T114"},{no:70,name:"SENSECAP_INDICATOR"},{no:71,name:"TRACKER_T1000_E"},{no:72,name:"RAK3172"},{no:73,name:"WIO_E5"},{no:74,name:"RADIOMASTER_900_BANDIT"},{no:75,name:"ME25LS01_4Y10TD"},{no:76,name:"RP2040_FEATHER_RFM95"},{no:77,name:"M5STACK_COREBASIC"},{no:78,name:"M5STACK_CORE2"},{no:255,name:"PRIVATE_HW"}]),Zr=l.makeEnum("meshtastic.Constants",[{no:0,name:"ZERO"},{no:237,name:"DATA_PAYLOAD_LEN"}]),ei=l.makeEnum("meshtastic.CriticalErrorCode",[{no:0,name:"NONE"},{no:1,name:"TX_WATCHDOG"},{no:2,name:"SLEEP_ENTER_WAIT"},{no:3,name:"NO_RADIO"},{no:4,name:"UNSPECIFIED"},{no:5,name:"UBLOX_UNIT_FAILED"},{no:6,name:"NO_AXP192"},{no:7,name:"INVALID_RADIO_SETTING"},{no:8,name:"TRANSMIT_FAILED"},{no:9,name:"BROWNOUT"},{no:10,name:"SX1262_FAILURE"},{no:11,name:"RADIO_SPI_BUG"},{no:12,name:"FLASH_CORRUPTION_RECOVERABLE"},{no:13,name:"FLASH_CORRUPTION_UNRECOVERABLE"}]),Xn=l.makeMessageType("meshtastic.Position",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:2,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"altitude",kind:"scalar",T:5,opt:!0},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType(Kn)},{no:6,name:"altitude_source",kind:"enum",T:l.getEnumType(ya)},{no:7,name:"timestamp",kind:"scalar",T:7},{no:8,name:"timestamp_millis_adjust",kind:"scalar",T:5},{no:9,name:"altitude_hae",kind:"scalar",T:17,opt:!0},{no:10,name:"altitude_geoidal_separation",kind:"scalar",T:17,opt:!0},{no:11,name:"PDOP",kind:"scalar",T:13},{no:12,name:"HDOP",kind:"scalar",T:13},{no:13,name:"VDOP",kind:"scalar",T:13},{no:14,name:"gps_accuracy",kind:"scalar",T:13},{no:15,name:"ground_speed",kind:"scalar",T:13,opt:!0},{no:16,name:"ground_track",kind:"scalar",T:13,opt:!0},{no:17,name:"fix_quality",kind:"scalar",T:13},{no:18,name:"fix_type",kind:"scalar",T:13},{no:19,name:"sats_in_view",kind:"scalar",T:13},{no:20,name:"sensor_id",kind:"scalar",T:13},{no:21,name:"next_update",kind:"scalar",T:13},{no:22,name:"seq_number",kind:"scalar",T:13},{no:23,name:"precision_bits",kind:"scalar",T:13}]),Kn=l.makeEnum("meshtastic.Position.LocSource",[{no:0,name:"LOC_UNSET"},{no:1,name:"LOC_MANUAL"},{no:2,name:"LOC_INTERNAL"},{no:3,name:"LOC_EXTERNAL"}]),ya=l.makeEnum("meshtastic.Position.AltSource",[{no:0,name:"ALT_UNSET"},{no:1,name:"ALT_MANUAL"},{no:2,name:"ALT_INTERNAL"},{no:3,name:"ALT_EXTERNAL"},{no:4,name:"ALT_BAROMETRIC"}]),ge=l.makeMessageType("meshtastic.User",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"macaddr",kind:"scalar",T:12},{no:5,name:"hw_model",kind:"enum",T:l.getEnumType(Ce)},{no:6,name:"is_licensed",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(se)},{no:8,name:"public_key",kind:"scalar",T:12}]),fn=l.makeMessageType("meshtastic.RouteDiscovery",()=>[{no:1,name:"route",kind:"scalar",T:7,repeated:!0},{no:2,name:"snr_towards",kind:"scalar",T:5,repeated:!0},{no:3,name:"route_back",kind:"scalar",T:7,repeated:!0},{no:4,name:"snr_back",kind:"scalar",T:5,repeated:!0}]),ni=l.makeMessageType("meshtastic.Routing",()=>[{no:1,name:"route_request",kind:"message",T:fn,oneof:"variant"},{no:2,name:"route_reply",kind:"message",T:fn,oneof:"variant"},{no:3,name:"error_reason",kind:"enum",T:l.getEnumType(Ca),oneof:"variant"}]),Ca=l.makeEnum("meshtastic.Routing.Error",[{no:0,name:"NONE"},{no:1,name:"NO_ROUTE"},{no:2,name:"GOT_NAK"},{no:3,name:"TIMEOUT"},{no:4,name:"NO_INTERFACE"},{no:5,name:"MAX_RETRANSMIT"},{no:6,name:"NO_CHANNEL"},{no:7,name:"TOO_LARGE"},{no:8,name:"NO_RESPONSE"},{no:9,name:"DUTY_CYCLE_LIMIT"},{no:32,name:"BAD_REQUEST"},{no:33,name:"NOT_AUTHORIZED"},{no:34,name:"PKI_FAILED"},{no:35,name:"PKI_UNKNOWN_PUBKEY"}]),Ea=l.makeMessageType("meshtastic.Data",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(In)},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"want_response",kind:"scalar",T:8},{no:4,name:"dest",kind:"scalar",T:7},{no:5,name:"source",kind:"scalar",T:7},{no:6,name:"request_id",kind:"scalar",T:7},{no:7,name:"reply_id",kind:"scalar",T:7},{no:8,name:"emoji",kind:"scalar",T:7},{no:9,name:"bitfield",kind:"scalar",T:13,opt:!0}]),ti=l.makeMessageType("meshtastic.Waypoint",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:4,name:"expire",kind:"scalar",T:13},{no:5,name:"locked_to",kind:"scalar",T:13},{no:6,name:"name",kind:"scalar",T:9},{no:7,name:"description",kind:"scalar",T:9},{no:8,name:"icon",kind:"scalar",T:7}]),Wn=l.makeMessageType("meshtastic.MqttClientProxyMessage",()=>[{no:1,name:"topic",kind:"scalar",T:9},{no:2,name:"data",kind:"scalar",T:12,oneof:"payload_variant"},{no:3,name:"text",kind:"scalar",T:9,oneof:"payload_variant"},{no:4,name:"retained",kind:"scalar",T:8}]),J=l.makeMessageType("meshtastic.MeshPacket",()=>[{no:1,name:"from",kind:"scalar",T:7},{no:2,name:"to",kind:"scalar",T:7},{no:3,name:"channel",kind:"scalar",T:13},{no:4,name:"decoded",kind:"message",T:Ea,oneof:"payload_variant"},{no:5,name:"encrypted",kind:"scalar",T:12,oneof:"payload_variant"},{no:6,name:"id",kind:"scalar",T:7},{no:7,name:"rx_time",kind:"scalar",T:7},{no:8,name:"rx_snr",kind:"scalar",T:2},{no:9,name:"hop_limit",kind:"scalar",T:13},{no:10,name:"want_ack",kind:"scalar",T:8},{no:11,name:"priority",kind:"enum",T:l.getEnumType(ba)},{no:12,name:"rx_rssi",kind:"scalar",T:5},{no:13,name:"delayed",kind:"enum",T:l.getEnumType(va)},{no:14,name:"via_mqtt",kind:"scalar",T:8},{no:15,name:"hop_start",kind:"scalar",T:13},{no:16,name:"public_key",kind:"scalar",T:12},{no:17,name:"pki_encrypted",kind:"scalar",T:8}]),ba=l.makeEnum("meshtastic.MeshPacket.Priority",[{no:0,name:"UNSET"},{no:1,name:"MIN"},{no:10,name:"BACKGROUND"},{no:64,name:"DEFAULT"},{no:70,name:"RELIABLE"},{no:80,name:"RESPONSE"},{no:100,name:"HIGH"},{no:120,name:"ACK"},{no:127,name:"MAX"}]),va=l.makeEnum("meshtastic.MeshPacket.Delayed",[{no:0,name:"NO_DELAY"},{no:1,name:"DELAYED_BROADCAST"},{no:2,name:"DELAYED_DIRECT"}]),wa=l.makeMessageType("meshtastic.NodeInfo",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:ge},{no:3,name:"position",kind:"message",T:Xn},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:Ye},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),Yn=l.makeMessageType("meshtastic.MyNodeInfo",()=>[{no:1,name:"my_node_num",kind:"scalar",T:13},{no:8,name:"reboot_count",kind:"scalar",T:13},{no:11,name:"min_app_version",kind:"scalar",T:13}]),Sa=l.makeMessageType("meshtastic.LogRecord",()=>[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"source",kind:"scalar",T:9},{no:4,name:"level",kind:"enum",T:l.getEnumType(Jn)}]),Jn=l.makeEnum("meshtastic.LogRecord.Level",[{no:0,name:"UNSET"},{no:50,name:"CRITICAL"},{no:40,name:"ERROR"},{no:30,name:"WARNING"},{no:20,name:"INFO"},{no:10,name:"DEBUG"},{no:5,name:"TRACE"}]),Na=l.makeMessageType("meshtastic.QueueStatus",()=>[{no:1,name:"res",kind:"scalar",T:5},{no:2,name:"free",kind:"scalar",T:13},{no:3,name:"maxlen",kind:"scalar",T:13},{no:4,name:"mesh_packet_id",kind:"scalar",T:13}]),ai=l.makeMessageType("meshtastic.FromRadio",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"packet",kind:"message",T:J,oneof:"payload_variant"},{no:3,name:"my_info",kind:"message",T:Yn,oneof:"payload_variant"},{no:4,name:"node_info",kind:"message",T:wa,oneof:"payload_variant"},{no:5,name:"config",kind:"message",T:Le,oneof:"payload_variant"},{no:6,name:"log_record",kind:"message",T:Sa,oneof:"payload_variant"},{no:7,name:"config_complete_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:8,name:"rebooted",kind:"scalar",T:8,oneof:"payload_variant"},{no:9,name:"moduleConfig",kind:"message",T:Be,oneof:"payload_variant"},{no:10,name:"channel",kind:"message",T:fe,oneof:"payload_variant"},{no:11,name:"queueStatus",kind:"message",T:Na,oneof:"payload_variant"},{no:12,name:"xmodemPacket",kind:"message",T:$n,oneof:"payload_variant"},{no:13,name:"metadata",kind:"message",T:jn,oneof:"payload_variant"},{no:14,name:"mqttClientProxyMessage",kind:"message",T:Wn,oneof:"payload_variant"},{no:15,name:"fileInfo",kind:"message",T:Ia,oneof:"payload_variant"},{no:16,name:"clientNotification",kind:"message",T:Ma,oneof:"payload_variant"}]),Ma=l.makeMessageType("meshtastic.ClientNotification",()=>[{no:1,name:"reply_id",kind:"scalar",T:13,opt:!0},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"level",kind:"enum",T:l.getEnumType(Jn)},{no:4,name:"message",kind:"scalar",T:9}]),Ia=l.makeMessageType("meshtastic.FileInfo",()=>[{no:1,name:"file_name",kind:"scalar",T:9},{no:2,name:"size_bytes",kind:"scalar",T:13}]),oi=l.makeMessageType("meshtastic.ToRadio",()=>[{no:1,name:"packet",kind:"message",T:J,oneof:"payload_variant"},{no:3,name:"want_config_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:4,name:"disconnect",kind:"scalar",T:8,oneof:"payload_variant"},{no:5,name:"xmodemPacket",kind:"message",T:$n,oneof:"payload_variant"},{no:6,name:"mqttClientProxyMessage",kind:"message",T:Wn,oneof:"payload_variant"},{no:7,name:"heartbeat",kind:"message",T:Pa,oneof:"payload_variant"}]),ri=l.makeMessageType("meshtastic.Compressed",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(In)},{no:2,name:"data",kind:"scalar",T:12}]),ii=l.makeMessageType("meshtastic.NeighborInfo",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"last_sent_by_id",kind:"scalar",T:13},{no:3,name:"node_broadcast_interval_secs",kind:"scalar",T:13},{no:4,name:"neighbors",kind:"message",T:Aa,repeated:!0}]),Aa=l.makeMessageType("meshtastic.Neighbor",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"snr",kind:"scalar",T:2},{no:3,name:"last_rx_time",kind:"scalar",T:7},{no:4,name:"node_broadcast_interval_secs",kind:"scalar",T:13}]),jn=l.makeMessageType("meshtastic.DeviceMetadata",()=>[{no:1,name:"firmware_version",kind:"scalar",T:9},{no:2,name:"device_state_version",kind:"scalar",T:13},{no:3,name:"canShutdown",kind:"scalar",T:8},{no:4,name:"hasWifi",kind:"scalar",T:8},{no:5,name:"hasBluetooth",kind:"scalar",T:8},{no:6,name:"hasEthernet",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(se)},{no:8,name:"position_flags",kind:"scalar",T:13},{no:9,name:"hw_model",kind:"enum",T:l.getEnumType(Ce)},{no:10,name:"hasRemoteHardware",kind:"scalar",T:8}]),Pa=l.makeMessageType("meshtastic.Heartbeat",[]),zn=l.makeMessageType("meshtastic.NodeRemoteHardwarePin",()=>[{no:1,name:"node_num",kind:"scalar",T:13},{no:2,name:"pin",kind:"message",T:qn}]),si=l.makeMessageType("meshtastic.ChunkedPayload",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"chunk_count",kind:"scalar",T:13},{no:3,name:"chunk_index",kind:"scalar",T:13},{no:4,name:"payload_chunk",kind:"scalar",T:12}]),Ra=l.makeMessageType("meshtastic.resend_chunks",()=>[{no:1,name:"chunks",kind:"scalar",T:13,repeated:!0}]),ci=l.makeMessageType("meshtastic.ChunkedPayloadResponse",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"request_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:3,name:"accept_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"resend_chunks",kind:"message",T:Ra,oneof:"payload_variant"}]),Oa={};N(Oa,{BluetoothConnectionStatus:()=>xa,DeviceConnectionStatus:()=>Da,EthernetConnectionStatus:()=>Ba,NetworkConnectionStatus:()=>Qn,SerialConnectionStatus:()=>Fa,WifiConnectionStatus:()=>La});var Da=l.makeMessageType("meshtastic.DeviceConnectionStatus",()=>[{no:1,name:"wifi",kind:"message",T:La,opt:!0},{no:2,name:"ethernet",kind:"message",T:Ba,opt:!0},{no:3,name:"bluetooth",kind:"message",T:xa,opt:!0},{no:4,name:"serial",kind:"message",T:Fa,opt:!0}]),La=l.makeMessageType("meshtastic.WifiConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:Qn},{no:2,name:"ssid",kind:"scalar",T:9},{no:3,name:"rssi",kind:"scalar",T:5}]),Ba=l.makeMessageType("meshtastic.EthernetConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:Qn}]),Qn=l.makeMessageType("meshtastic.NetworkConnectionStatus",()=>[{no:1,name:"ip_address",kind:"scalar",T:7},{no:2,name:"is_connected",kind:"scalar",T:8},{no:3,name:"is_mqtt_connected",kind:"scalar",T:8},{no:4,name:"is_syslog_connected",kind:"scalar",T:8}]),xa=l.makeMessageType("meshtastic.BluetoothConnectionStatus",()=>[{no:1,name:"pin",kind:"scalar",T:13},{no:2,name:"rssi",kind:"scalar",T:5},{no:3,name:"is_connected",kind:"scalar",T:8}]),Fa=l.makeMessageType("meshtastic.SerialConnectionStatus",()=>[{no:1,name:"baud",kind:"scalar",T:13},{no:2,name:"is_connected",kind:"scalar",T:8}]),li=l.makeMessageType("meshtastic.AdminMessage",()=>[{no:101,name:"session_passkey",kind:"scalar",T:12},{no:1,name:"get_channel_request",kind:"scalar",T:13,oneof:"payload_variant"},{no:2,name:"get_channel_response",kind:"message",T:fe,oneof:"payload_variant"},{no:3,name:"get_owner_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"get_owner_response",kind:"message",T:ge,oneof:"payload_variant"},{no:5,name:"get_config_request",kind:"enum",T:l.getEnumType(Ua),oneof:"payload_variant"},{no:6,name:"get_config_response",kind:"message",T:Le,oneof:"payload_variant"},{no:7,name:"get_module_config_request",kind:"enum",T:l.getEnumType(Ha),oneof:"payload_variant"},{no:8,name:"get_module_config_response",kind:"message",T:Be,oneof:"payload_variant"},{no:10,name:"get_canned_message_module_messages_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:11,name:"get_canned_message_module_messages_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:12,name:"get_device_metadata_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:13,name:"get_device_metadata_response",kind:"message",T:jn,oneof:"payload_variant"},{no:14,name:"get_ringtone_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:15,name:"get_ringtone_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:16,name:"get_device_connection_status_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:17,name:"get_device_connection_status_response",kind:"message",T:Da,oneof:"payload_variant"},{no:18,name:"set_ham_mode",kind:"message",T:Ga,oneof:"payload_variant"},{no:19,name:"get_node_remote_hardware_pins_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:20,name:"get_node_remote_hardware_pins_response",kind:"message",T:Va,oneof:"payload_variant"},{no:21,name:"enter_dfu_mode_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:22,name:"delete_file_request",kind:"scalar",T:9,oneof:"payload_variant"},{no:23,name:"set_scale",kind:"scalar",T:13,oneof:"payload_variant"},{no:32,name:"set_owner",kind:"message",T:ge,oneof:"payload_variant"},{no:33,name:"set_channel",kind:"message",T:fe,oneof:"payload_variant"},{no:34,name:"set_config",kind:"message",T:Le,oneof:"payload_variant"},{no:35,name:"set_module_config",kind:"message",T:Be,oneof:"payload_variant"},{no:36,name:"set_canned_message_module_messages",kind:"scalar",T:9,oneof:"payload_variant"},{no:37,name:"set_ringtone_message",kind:"scalar",T:9,oneof:"payload_variant"},{no:38,name:"remove_by_nodenum",kind:"scalar",T:13,oneof:"payload_variant"},{no:39,name:"set_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:40,name:"remove_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:41,name:"set_fixed_position",kind:"message",T:Xn,oneof:"payload_variant"},{no:42,name:"remove_fixed_position",kind:"scalar",T:8,oneof:"payload_variant"},{no:43,name:"set_time_only",kind:"scalar",T:7,oneof:"payload_variant"},{no:64,name:"begin_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:65,name:"commit_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:94,name:"factory_reset_device",kind:"scalar",T:5,oneof:"payload_variant"},{no:95,name:"reboot_ota_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:96,name:"exit_simulator",kind:"scalar",T:8,oneof:"payload_variant"},{no:97,name:"reboot_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:98,name:"shutdown_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:99,name:"factory_reset_config",kind:"scalar",T:5,oneof:"payload_variant"},{no:100,name:"nodedb_reset",kind:"scalar",T:5,oneof:"payload_variant"}]),Ua=l.makeEnum("meshtastic.AdminMessage.ConfigType",[{no:0,name:"DEVICE_CONFIG"},{no:1,name:"POSITION_CONFIG"},{no:2,name:"POWER_CONFIG"},{no:3,name:"NETWORK_CONFIG"},{no:4,name:"DISPLAY_CONFIG"},{no:5,name:"LORA_CONFIG"},{no:6,name:"BLUETOOTH_CONFIG"},{no:7,name:"SECURITY_CONFIG"},{no:8,name:"SESSIONKEY_CONFIG"}]),Ha=l.makeEnum("meshtastic.AdminMessage.ModuleConfigType",[{no:0,name:"MQTT_CONFIG"},{no:1,name:"SERIAL_CONFIG"},{no:2,name:"EXTNOTIF_CONFIG"},{no:3,name:"STOREFORWARD_CONFIG"},{no:4,name:"RANGETEST_CONFIG"},{no:5,name:"TELEMETRY_CONFIG"},{no:6,name:"CANNEDMSG_CONFIG"},{no:7,name:"AUDIO_CONFIG"},{no:8,name:"REMOTEHARDWARE_CONFIG"},{no:9,name:"NEIGHBORINFO_CONFIG"},{no:10,name:"AMBIENTLIGHTING_CONFIG"},{no:11,name:"DETECTIONSENSOR_CONFIG"},{no:12,name:"PAXCOUNTER_CONFIG"}]),Ga=l.makeMessageType("meshtastic.HamParameters",()=>[{no:1,name:"call_sign",kind:"scalar",T:9},{no:2,name:"tx_power",kind:"scalar",T:5},{no:3,name:"frequency",kind:"scalar",T:2},{no:4,name:"short_name",kind:"scalar",T:9}]),Va=l.makeMessageType("meshtastic.NodeRemoteHardwarePinsResponse",()=>[{no:1,name:"node_remote_hardware_pins",kind:"message",T:zn,repeated:!0}]),qa={};N(qa,{ChannelSet:()=>mi});var mi=l.makeMessageType("meshtastic.ChannelSet",()=>[{no:1,name:"settings",kind:"message",T:kn,repeated:!0},{no:2,name:"lora_config",kind:"message",T:We}]),$a={};N($a,{CannedMessageModuleConfig:()=>di});var di=l.makeMessageType("meshtastic.CannedMessageModuleConfig",()=>[{no:1,name:"messages",kind:"scalar",T:9}]),Xa={};N(Xa,{DeviceProfile:()=>ui});var Ka={};N(Ka,{LocalConfig:()=>Zn,LocalModuleConfig:()=>et});var Zn=l.makeMessageType("meshtastic.LocalConfig",()=>[{no:1,name:"device",kind:"message",T:yn},{no:2,name:"position",kind:"message",T:Cn},{no:3,name:"power",kind:"message",T:En},{no:4,name:"network",kind:"message",T:bn},{no:5,name:"display",kind:"message",T:vn},{no:6,name:"lora",kind:"message",T:We},{no:7,name:"bluetooth",kind:"message",T:Nn},{no:8,name:"version",kind:"scalar",T:13},{no:9,name:"security",kind:"message",T:Mn}]),et=l.makeMessageType("meshtastic.LocalModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:An},{no:2,name:"serial",kind:"message",T:Bn},{no:3,name:"external_notification",kind:"message",T:xn},{no:4,name:"store_forward",kind:"message",T:Fn},{no:5,name:"range_test",kind:"message",T:Un},{no:6,name:"telemetry",kind:"message",T:Hn},{no:7,name:"canned_message",kind:"message",T:Gn},{no:9,name:"audio",kind:"message",T:Dn},{no:10,name:"remote_hardware",kind:"message",T:Pn},{no:11,name:"neighbor_info",kind:"message",T:Rn},{no:12,name:"ambient_lighting",kind:"message",T:Vn},{no:13,name:"detection_sensor",kind:"message",T:On},{no:14,name:"paxcounter",kind:"message",T:Ln},{no:8,name:"version",kind:"scalar",T:13}]),ui=l.makeMessageType("meshtastic.DeviceProfile",()=>[{no:1,name:"long_name",kind:"scalar",T:9,opt:!0},{no:2,name:"short_name",kind:"scalar",T:9,opt:!0},{no:3,name:"channel_url",kind:"scalar",T:9,opt:!0},{no:4,name:"config",kind:"message",T:Zn,opt:!0},{no:5,name:"module_config",kind:"message",T:et,opt:!0}]),Wa={};N(Wa,{ChannelFile:()=>gi,DeviceState:()=>fi,NodeInfoLite:()=>za,OEMStore:()=>hi,PositionLite:()=>Ja,ScreenFonts:()=>Ya,UserLite:()=>ja});var Ya=l.makeEnum("meshtastic.ScreenFonts",[{no:0,name:"FONT_SMALL"},{no:1,name:"FONT_MEDIUM"},{no:2,name:"FONT_LARGE"}]),Ja=l.makeMessageType("meshtastic.PositionLite",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15},{no:2,name:"longitude_i",kind:"scalar",T:15},{no:3,name:"altitude",kind:"scalar",T:5},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType(Kn)}]),ja=l.makeMessageType("meshtastic.UserLite",()=>[{no:1,name:"macaddr",kind:"scalar",T:12},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(Ce)},{no:5,name:"is_licensed",kind:"scalar",T:8},{no:6,name:"role",kind:"enum",T:l.getEnumType(se)},{no:7,name:"public_key",kind:"scalar",T:12}]),za=l.makeMessageType("meshtastic.NodeInfoLite",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:ja},{no:3,name:"position",kind:"message",T:Ja},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:Ye},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),fi=l.makeMessageType("meshtastic.DeviceState",()=>[{no:2,name:"my_node",kind:"message",T:Yn},{no:3,name:"owner",kind:"message",T:ge},{no:5,name:"receive_queue",kind:"message",T:J,repeated:!0},{no:8,name:"version",kind:"scalar",T:13},{no:7,name:"rx_text_message",kind:"message",T:J},{no:9,name:"no_save",kind:"scalar",T:8},{no:11,name:"did_gps_reset",kind:"scalar",T:8},{no:12,name:"rx_waypoint",kind:"message",T:J},{no:13,name:"node_remote_hardware_pins",kind:"message",T:zn,repeated:!0},{no:14,name:"node_db_lite",kind:"message",T:za,repeated:!0}]),gi=l.makeMessageType("meshtastic.ChannelFile",()=>[{no:1,name:"channels",kind:"message",T:fe,repeated:!0},{no:2,name:"version",kind:"scalar",T:13}]),hi=l.makeMessageType("meshtastic.OEMStore",()=>[{no:1,name:"oem_icon_width",kind:"scalar",T:13},{no:2,name:"oem_icon_height",kind:"scalar",T:13},{no:3,name:"oem_icon_bits",kind:"scalar",T:12},{no:4,name:"oem_font",kind:"enum",T:l.getEnumType(Ya)},{no:5,name:"oem_text",kind:"scalar",T:9},{no:6,name:"oem_aes_key",kind:"scalar",T:12},{no:7,name:"oem_local_config",kind:"message",T:Zn},{no:8,name:"oem_local_module_config",kind:"message",T:et}]),Qa={};N(Qa,{MapReport:()=>_i,ServiceEnvelope:()=>pi});var pi=l.makeMessageType("meshtastic.ServiceEnvelope",()=>[{no:1,name:"packet",kind:"message",T:J},{no:2,name:"channel_id",kind:"scalar",T:9},{no:3,name:"gateway_id",kind:"scalar",T:9}]),_i=l.makeMessageType("meshtastic.MapReport",()=>[{no:1,name:"long_name",kind:"scalar",T:9},{no:2,name:"short_name",kind:"scalar",T:9},{no:3,name:"role",kind:"enum",T:l.getEnumType(se)},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(Ce)},{no:5,name:"firmware_version",kind:"scalar",T:9},{no:6,name:"region",kind:"enum",T:l.getEnumType(wn)},{no:7,name:"modem_preset",kind:"enum",T:l.getEnumType(Sn)},{no:8,name:"has_default_channel",kind:"scalar",T:8},{no:9,name:"latitude_i",kind:"scalar",T:15},{no:10,name:"longitude_i",kind:"scalar",T:15},{no:11,name:"altitude",kind:"scalar",T:5},{no:12,name:"position_precision",kind:"scalar",T:13},{no:13,name:"num_online_local_nodes",kind:"scalar",T:13}]),Za={};N(Za,{Paxcount:()=>Ti});var Ti=l.makeMessageType("meshtastic.Paxcount",()=>[{no:1,name:"wifi",kind:"scalar",T:13},{no:2,name:"ble",kind:"scalar",T:13},{no:3,name:"uptime",kind:"scalar",T:13}]),eo={};N(eo,{HardwareMessage:()=>ki,HardwareMessage_Type:()=>no});var ki=l.makeMessageType("meshtastic.HardwareMessage",()=>[{no:1,name:"type",kind:"enum",T:l.getEnumType(no)},{no:2,name:"gpio_mask",kind:"scalar",T:4},{no:3,name:"gpio_value",kind:"scalar",T:4}]),no=l.makeEnum("meshtastic.HardwareMessage.Type",[{no:0,name:"UNSET"},{no:1,name:"WRITE_GPIOS"},{no:2,name:"WATCH_GPIOS"},{no:3,name:"GPIOS_CHANGED"},{no:4,name:"READ_GPIOS"},{no:5,name:"READ_GPIOS_REPLY"}]),to={};N(to,{RTTTLConfig:()=>yi});var yi=l.makeMessageType("meshtastic.RTTTLConfig",()=>[{no:1,name:"ringtone",kind:"scalar",T:9}]),ao={};N(ao,{StoreAndForward:()=>Ci,StoreAndForward_Heartbeat:()=>so,StoreAndForward_History:()=>io,StoreAndForward_RequestResponse:()=>oo,StoreAndForward_Statistics:()=>ro});var Ci=l.makeMessageType("meshtastic.StoreAndForward",()=>[{no:1,name:"rr",kind:"enum",T:l.getEnumType(oo)},{no:2,name:"stats",kind:"message",T:ro,oneof:"variant"},{no:3,name:"history",kind:"message",T:io,oneof:"variant"},{no:4,name:"heartbeat",kind:"message",T:so,oneof:"variant"},{no:5,name:"text",kind:"scalar",T:12,oneof:"variant"}]),oo=l.makeEnum("meshtastic.StoreAndForward.RequestResponse",[{no:0,name:"UNSET"},{no:1,name:"ROUTER_ERROR"},{no:2,name:"ROUTER_HEARTBEAT"},{no:3,name:"ROUTER_PING"},{no:4,name:"ROUTER_PONG"},{no:5,name:"ROUTER_BUSY"},{no:6,name:"ROUTER_HISTORY"},{no:7,name:"ROUTER_STATS"},{no:8,name:"ROUTER_TEXT_DIRECT"},{no:9,name:"ROUTER_TEXT_BROADCAST"},{no:64,name:"CLIENT_ERROR"},{no:65,name:"CLIENT_HISTORY"},{no:66,name:"CLIENT_STATS"},{no:67,name:"CLIENT_PING"},{no:68,name:"CLIENT_PONG"},{no:106,name:"CLIENT_ABORT"}]),ro=l.makeMessageType("meshtastic.StoreAndForward.Statistics",()=>[{no:1,name:"messages_total",kind:"scalar",T:13},{no:2,name:"messages_saved",kind:"scalar",T:13},{no:3,name:"messages_max",kind:"scalar",T:13},{no:4,name:"up_time",kind:"scalar",T:13},{no:5,name:"requests",kind:"scalar",T:13},{no:6,name:"requests_history",kind:"scalar",T:13},{no:7,name:"heartbeat",kind:"scalar",T:8},{no:8,name:"return_max",kind:"scalar",T:13},{no:9,name:"return_window",kind:"scalar",T:13}],{localName:"StoreAndForward_Statistics"}),io=l.makeMessageType("meshtastic.StoreAndForward.History",()=>[{no:1,name:"history_messages",kind:"scalar",T:13},{no:2,name:"window",kind:"scalar",T:13},{no:3,name:"last_request",kind:"scalar",T:13}],{localName:"StoreAndForward_History"}),so=l.makeMessageType("meshtastic.StoreAndForward.Heartbeat",()=>[{no:1,name:"period",kind:"scalar",T:13},{no:2,name:"secondary",kind:"scalar",T:13}],{localName:"StoreAndForward_Heartbeat"}),Ei={};N(Ei,{ChannelNumber:()=>uo,DeviceStatusEnum:()=>co,Emitter:()=>mo,EmitterScope:()=>lo});var co=(e=>(e[e.DeviceRestarting=1]="DeviceRestarting",e[e.DeviceDisconnected=2]="DeviceDisconnected",e[e.DeviceConnecting=3]="DeviceConnecting",e[e.DeviceReconnecting=4]="DeviceReconnecting",e[e.DeviceConnected=5]="DeviceConnected",e[e.DeviceConfiguring=6]="DeviceConfiguring",e[e.DeviceConfigured=7]="DeviceConfigured",e))(co||{}),lo=(e=>(e[e.MeshDevice=1]="MeshDevice",e[e.SerialConnection=2]="SerialConnection",e[e.NodeSerialConnection=3]="NodeSerialConnection",e[e.BleConnection=4]="BleConnection",e[e.HttpConnection=5]="HttpConnection",e))(lo||{}),mo=(e=>(e[e.Constructor=0]="Constructor",e[e.SendText=1]="SendText",e[e.SendWaypoint=2]="SendWaypoint",e[e.SendPacket=3]="SendPacket",e[e.SendRaw=4]="SendRaw",e[e.SetConfig=5]="SetConfig",e[e.SetModuleConfig=6]="SetModuleConfig",e[e.ConfirmSetConfig=7]="ConfirmSetConfig",e[e.SetOwner=8]="SetOwner",e[e.SetChannel=9]="SetChannel",e[e.ConfirmSetChannel=10]="ConfirmSetChannel",e[e.ClearChannel=11]="ClearChannel",e[e.GetChannel=12]="GetChannel",e[e.GetAllChannels=13]="GetAllChannels",e[e.GetConfig=14]="GetConfig",e[e.GetModuleConfig=15]="GetModuleConfig",e[e.GetOwner=16]="GetOwner",e[e.Configure=17]="Configure",e[e.HandleFromRadio=18]="HandleFromRadio",e[e.HandleMeshPacket=19]="HandleMeshPacket",e[e.Connect=20]="Connect",e[e.Ping=21]="Ping",e[e.ReadFromRadio=22]="ReadFromRadio",e[e.WriteToRadio=23]="WriteToRadio",e[e.SetDebugMode=24]="SetDebugMode",e[e.GetMetadata=25]="GetMetadata",e[e.ResetNodes=26]="ResetNodes",e[e.Shutdown=27]="Shutdown",e[e.Reboot=28]="Reboot",e[e.RebootOta=29]="RebootOta",e[e.FactoryReset=30]="FactoryReset",e[e.EnterDfuMode=31]="EnterDfuMode",e[e.RemoveNodeByNum=32]="RemoveNodeByNum",e[e.SetCannedMessages=33]="SetCannedMessages",e))(mo||{}),uo=(e=>(e[e.Primary=0]="Primary",e[e.Channel1=1]="Channel1",e[e.Channel2=2]="Channel2",e[e.Channel3=3]="Channel3",e[e.Channel4=4]="Channel4",e[e.Channel5=5]="Channel5",e[e.Channel6=6]="Channel6",e[e.Admin=7]="Admin",e))(uo||{}),bi={};N(bi,{EventSystem:()=>vi,Queue:()=>Si,Xmodem:()=>Mi,transformHandler:()=>Ni,typedArrayToBuffer:()=>wi});var vi=class{constructor(){p(this,"onLogEvent",new C.SimpleEventDispatcher);p(this,"onFromRadio",new C.SimpleEventDispatcher);p(this,"onMeshPacket",new C.SimpleEventDispatcher);p(this,"onMyNodeInfo",new C.SimpleEventDispatcher);p(this,"onNodeInfoPacket",new C.SimpleEventDispatcher);p(this,"onChannelPacket",new C.SimpleEventDispatcher);p(this,"onConfigPacket",new C.SimpleEventDispatcher);p(this,"onModuleConfigPacket",new C.SimpleEventDispatcher);p(this,"onAtakPacket",new C.SimpleEventDispatcher);p(this,"onMessagePacket",new C.SimpleEventDispatcher);p(this,"onRemoteHardwarePacket",new C.SimpleEventDispatcher);p(this,"onPositionPacket",new C.SimpleEventDispatcher);p(this,"onUserPacket",new C.SimpleEventDispatcher);p(this,"onRoutingPacket",new C.SimpleEventDispatcher);p(this,"onDeviceMetadataPacket",new C.SimpleEventDispatcher);p(this,"onWaypointPacket",new C.SimpleEventDispatcher);p(this,"onAudioPacket",new C.SimpleEventDispatcher);p(this,"onDetectionSensorPacket",new C.SimpleEventDispatcher);p(this,"onPingPacket",new C.SimpleEventDispatcher);p(this,"onIpTunnelPacket",new C.SimpleEventDispatcher);p(this,"onPaxcounterPacket",new C.SimpleEventDispatcher);p(this,"onSerialPacket",new C.SimpleEventDispatcher);p(this,"onStoreForwardPacket",new C.SimpleEventDispatcher);p(this,"onRangeTestPacket",new C.SimpleEventDispatcher);p(this,"onTelemetryPacket",new C.SimpleEventDispatcher);p(this,"onZpsPacket",new C.SimpleEventDispatcher);p(this,"onSimulatorPacket",new C.SimpleEventDispatcher);p(this,"onTraceRoutePacket",new C.SimpleEventDispatcher);p(this,"onNeighborInfoPacket",new C.SimpleEventDispatcher);p(this,"onAtakPluginPacket",new C.SimpleEventDispatcher);p(this,"onMapReportPacket",new C.SimpleEventDispatcher);p(this,"onPrivatePacket",new C.SimpleEventDispatcher);p(this,"onAtakForwarderPacket",new C.SimpleEventDispatcher);p(this,"onDeviceStatus",new C.SimpleEventDispatcher);p(this,"onLogRecord",new C.SimpleEventDispatcher);p(this,"onMeshHeartbeat",new C.SimpleEventDispatcher);p(this,"onDeviceDebugLog",new C.SimpleEventDispatcher);p(this,"onPendingSettingsChange",new C.SimpleEventDispatcher);p(this,"onQueueStatus",new C.SimpleEventDispatcher)}},wi=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),Si=class{constructor(){p(this,"queue",[]);p(this,"lock",!1);p(this,"ackNotifier",new C.SimpleEventDispatcher);p(this,"errorNotifier",new C.SimpleEventDispatcher);p(this,"timeout");this.timeout=6e4}getState(){return this.queue}clear(){this.queue=[]}push(e){const n={...e,sent:!1,added:new Date,promise:new Promise((t,o)=>{this.ackNotifier.subscribe(a=>{e.id===a&&(this.remove(e.id),t(a))}),this.errorNotifier.subscribe(a=>{e.id===a.id&&(this.remove(e.id),o(a))}),setTimeout(()=>{if(this.queue.findIndex(a=>a.id===e.id)!==-1){this.remove(e.id);const a=Y.ToRadio.fromBinary(e.data);console.warn(`Packet ${e.id} of type ${a.payloadVariant.case} timed out`),o({id:e.id,error:Y.Routing_Error.TIMEOUT})}},this.timeout)})};this.queue.push(n)}remove(e){if(this.lock){setTimeout(()=>this.remove(e),100);return}this.queue=this.queue.filter(n=>n.id!==e)}processAck(e){this.ackNotifier.dispatch(e)}processError(e){console.error(`Error received for packet ${e.id}: ${Y.Routing_Error[e.error]}`),this.errorNotifier.dispatch(e)}async wait(e){const n=this.queue.find(t=>t.id===e);if(!n)throw new Error("Packet does not exist");return n.promise}async processQueue(e){if(!this.lock){for(this.lock=!0;this.queue.filter(n=>!n.sent).length>0;){const n=this.queue.filter(t=>!t.sent)[0];if(n){await new Promise(t=>setTimeout(t,200));try{await e(n.data),n.sent=!0}catch(t){console.error(`Error sending packet ${n.id}`,t)}}}this.lock=!1}}},Ni=(e,n,t,o)=>{let a=new Uint8Array([]);return new TransformStream({transform(r,i){e=e.getSubLogger({name:"streamTransformer"}),n.subscribe(()=>{i.terminate()}),a=new Uint8Array([...a,...r]);let s=!1;for(;a.length!==0&&!s;){const c=a.findIndex(m=>m===148);if(a[c+1]===195){a.subarray(0,c).length&&(o?t.dispatch(a.subarray(0,c)):e.warn(2,20,`⚠️ Found unneccesary message padding, removing: ${a.subarray(0,c).toString()}`),a=a.subarray(c));const m=a[2],g=a[3];if(m!==void 0&&g!==void 0&&a.length>=4+(m<<8)+g){const f=a.subarray(4,4+(m<<8)+g),h=f.findIndex(_=>_===148);h!==-1&&f[h+1]===195?(e.warn(2,20,`⚠️ Malformed packet found, discarding: ${a.subarray(0,h-1).toString()}`,Y.LogRecord_Level.WARNING),a=a.subarray(h)):(a=a.subarray(3+(m<<8)+g+1),i.enqueue(f))}else s=!0}else s=!0}}})},Mi=class{constructor(e){p(this,"sendRaw");p(this,"rxBuffer");p(this,"txBuffer");p(this,"textEncoder");p(this,"counter");this.sendRaw=e,this.rxBuffer=[],this.txBuffer=[],this.textEncoder=new TextEncoder,this.counter=0}async downloadFile(e){return await this.sendCommand(P.XModem_Control.STX,this.textEncoder.encode(e),0)}async uploadFile(e,n){for(let t=0;tsetTimeout(n,100)),e.control){case P.XModem_Control.NUL:break;case P.XModem_Control.SOH:return this.counter=e.seq,this.validateCrc16(e)?(this.rxBuffer[this.counter]=e.buffer,this.sendCommand(P.XModem_Control.ACK)):await this.sendCommand(P.XModem_Control.NAK,void 0,e.seq);case P.XModem_Control.STX:break;case P.XModem_Control.EOT:break;case P.XModem_Control.ACK:{if(this.counter++,this.txBuffer[this.counter-1])return this.sendCommand(P.XModem_Control.SOH,this.txBuffer[this.counter-1],this.counter,en(this.txBuffer[this.counter-1]??new Uint8Array));if(this.counter===this.txBuffer.length+1)return this.sendCommand(P.XModem_Control.EOT);this.clear();break}case P.XModem_Control.NAK:return this.sendCommand(P.XModem_Control.SOH,this.txBuffer[this.counter],this.counter,en(this.txBuffer[this.counter-1]??new Uint8Array));case P.XModem_Control.CAN:{this.clear();break}case P.XModem_Control.CTRLZ:break}return Promise.resolve(0)}validateCrc16(e){return en(e.buffer)===e.crc16}clear(){this.counter=0,this.rxBuffer=[],this.txBuffer=[]}};function Ii({channelName:e,psk:n,pskType:t,region:o,modemPreset:a,hopLimit:r,uplinkEnabled:i,downlinkEnabled:s,positionPrecision:c,isClientMuted:d,ignoreMqtt:m,configOkToMqtt:g}){const f=new Z.Config.Config_LoRaConfig({region:o||5,usePreset:!0,modemPreset:a||0,hopLimit:r||3,ignoreMqtt:m||!1,configOkToMqtt:g||!1}),h=new Z.Channel.ModuleSettings({positionPrecision:c||0,isClientMuted:d||!1}),_=new Z.Channel.ChannelSettings({psk:t==="none"?new Uint8Array:new TextEncoder().encode(n),name:e,uplinkEnabled:i||!1,downlinkEnabled:s||!1,moduleSettings:h}),E=new Z.AppOnly.ChannelSet({settings:[_],loraConfig:f});return console.log("Generated Protobuf message:",E),E}var Ee={},Ai=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},fo={},O={};let nt;const Pi=[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];O.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17};O.getSymbolTotalCodewords=function(n){return Pi[n]};O.getBCHDigit=function(e){let n=0;for(;e!==0;)n++,e>>>=1;return n};O.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');nt=n};O.isKanjiModeEnabled=function(){return typeof nt<"u"};O.toSJIS=function(n){return nt(n)};var Je={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function n(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.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: "+t)}}e.isValid=function(o){return o&&typeof o.bit<"u"&&o.bit>=0&&o.bit<4},e.from=function(o,a){if(e.isValid(o))return o;try{return n(o)}catch{return a}}})(Je);function go(){this.buffer=[],this.length=0}go.prototype={get:function(e){const n=Math.floor(e/8);return(this.buffer[n]>>>7-e%8&1)===1},put:function(e,n){for(let t=0;t>>n-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),e&&(this.buffer[n]|=128>>>this.length%8),this.length++}};var Ri=go;function be(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}be.prototype.set=function(e,n,t,o){const a=e*this.size+n;this.data[a]=t,o&&(this.reservedBit[a]=!0)};be.prototype.get=function(e,n){return this.data[e*this.size+n]};be.prototype.xor=function(e,n,t){this.data[e*this.size+n]^=t};be.prototype.isReserved=function(e,n){return this.reservedBit[e*this.size+n]};var Oi=be,ho={};(function(e){const n=O.getSymbolSize;e.getRowColCoords=function(o){if(o===1)return[];const a=Math.floor(o/7)+2,r=n(o),i=r===145?26:Math.ceil((r-13)/(2*a-2))*2,s=[r-7];for(let c=1;c=0&&a<=7},e.from=function(a){return e.isValid(a)?parseInt(a,10):void 0},e.getPenaltyN1=function(a){const r=a.size;let i=0,s=0,c=0,d=null,m=null;for(let g=0;g=5&&(i+=n.N1+(s-5)),d=h,s=1),h=a.get(f,g),h===m?c++:(c>=5&&(i+=n.N1+(c-5)),m=h,c=1)}s>=5&&(i+=n.N1+(s-5)),c>=5&&(i+=n.N1+(c-5))}return i},e.getPenaltyN2=function(a){const r=a.size;let i=0;for(let s=0;s=10&&(s===1488||s===93)&&i++,c=c<<1&2047|a.get(m,d),m>=10&&(c===1488||c===93)&&i++}return i*n.N3},e.getPenaltyN4=function(a){let r=0;const i=a.data.length;for(let c=0;c=0;){const i=r[0];for(let c=0;c0){const r=new Uint8Array(this.degree);return r.set(o,a),r}return o};var Li=tt,yo={},K={},at={};at.isValid=function(n){return!isNaN(n)&&n>=1&&n<=40};var U={};const Co="[0-9]+",Bi="[A-Z $%*+\\-./:]+";let he="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";he=he.replace(/u/g,"\\u");const xi="(?:(?![A-Z0-9 $%*+\\-./:]|"+he+`)(?:.|[\r +]))+`;U.KANJI=new RegExp(he,"g");U.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");U.BYTE=new RegExp(xi,"g");U.NUMERIC=new RegExp(Co,"g");U.ALPHANUMERIC=new RegExp(Bi,"g");const Fi=new RegExp("^"+he+"$"),Ui=new RegExp("^"+Co+"$"),Hi=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");U.testKanji=function(n){return Fi.test(n)};U.testNumeric=function(n){return Ui.test(n)};U.testAlphanumeric=function(n){return Hi.test(n)};(function(e){const n=at,t=U;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(r,i){if(!r.ccBits)throw new Error("Invalid mode: "+r);if(!n.isValid(i))throw new Error("Invalid version: "+i);return i>=1&&i<10?r.ccBits[0]:i<27?r.ccBits[1]:r.ccBits[2]},e.getBestModeForData=function(r){return t.testNumeric(r)?e.NUMERIC:t.testAlphanumeric(r)?e.ALPHANUMERIC:t.testKanji(r)?e.KANJI:e.BYTE},e.toString=function(r){if(r&&r.id)return r.id;throw new Error("Invalid mode")},e.isValid=function(r){return r&&r.bit&&r.ccBits};function o(a){if(typeof a!="string")throw new Error("Param is not a string");switch(a.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: "+a)}}e.from=function(r,i){if(e.isValid(r))return r;try{return o(r)}catch{return i}}})(K);(function(e){const n=O,t=je,o=Je,a=K,r=at,i=7973,s=n.getBCHDigit(i);function c(f,h,_){for(let E=1;E<=40;E++)if(h<=e.getCapacity(E,_,f))return E}function d(f,h){return a.getCharCountIndicator(f,h)+4}function m(f,h){let _=0;return f.forEach(function(E){const A=d(E.mode,h);_+=A+E.getBitsLength()}),_}function g(f,h){for(let _=1;_<=40;_++)if(m(f,_)<=e.getCapacity(_,h,a.MIXED))return _}e.from=function(h,_){return r.isValid(h)?parseInt(h,10):_},e.getCapacity=function(h,_,E){if(!r.isValid(h))throw new Error("Invalid QR Code version");typeof E>"u"&&(E=a.BYTE);const A=n.getSymbolTotalCodewords(h),y=t.getTotalCodewordsCount(h,_),b=(A-y)*8;if(E===a.MIXED)return b;const k=b-d(E,h);switch(E){case a.NUMERIC:return Math.floor(k/10*3);case a.ALPHANUMERIC:return Math.floor(k/11*2);case a.KANJI:return Math.floor(k/13);case a.BYTE:default:return Math.floor(k/8)}},e.getBestVersionForData=function(h,_){let E;const A=o.from(_,o.M);if(Array.isArray(h)){if(h.length>1)return g(h,A);if(h.length===0)return 1;E=h[0]}else E=h;return c(E.mode,E.getLength(),A)},e.getEncodedBits=function(h){if(!r.isValid(h)||h<7)throw new Error("Invalid QR Code version");let _=h<<12;for(;n.getBCHDigit(_)-s>=0;)_^=i<=0;)a^=bo<0&&(o=this.data.substr(t),a=parseInt(o,10),n.put(a,r*3+1))};var qi=ne;const $i=K,on=["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 te(e){this.mode=$i.ALPHANUMERIC,this.data=e}te.getBitsLength=function(n){return 11*Math.floor(n/2)+6*(n%2)};te.prototype.getLength=function(){return this.data.length};te.prototype.getBitsLength=function(){return te.getBitsLength(this.data.length)};te.prototype.write=function(n){let t;for(t=0;t+2<=this.data.length;t+=2){let o=on.indexOf(this.data[t])*45;o+=on.indexOf(this.data[t+1]),n.put(o,11)}this.data.length%2&&n.put(on.indexOf(this.data[t]),6)};var Xi=te;const Ki=K;function ae(e){this.mode=Ki.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}ae.getBitsLength=function(n){return n*8};ae.prototype.getLength=function(){return this.data.length};ae.prototype.getBitsLength=function(){return ae.getBitsLength(this.data.length)};ae.prototype.write=function(e){for(let n=0,t=this.data.length;n=33088&&t<=40956)t-=33088;else if(t>=57408&&t<=60351)t-=49472;else throw new Error("Invalid SJIS character: "+this.data[n]+` +Make sure your charset is UTF-8`);t=(t>>>8&255)*192+(t&255),e.put(t,13)}};var ji=oe,wo={exports:{}};(function(e){var n={single_source_shortest_paths:function(t,o,a){var r={},i={};i[o]=0;var s=n.PriorityQueue.make();s.push(o,0);for(var c,d,m,g,f,h,_,E,A;!s.empty();){c=s.pop(),d=c.value,g=c.cost,f=t[d]||{};for(m in f)f.hasOwnProperty(m)&&(h=f[m],_=g+h,E=i[m],A=typeof i[m]>"u",(A||E>_)&&(i[m]=_,s.push(m,_),r[m]=d))}if(typeof a<"u"&&typeof i[a]>"u"){var y=["Could not find a path from ",o," to ",a,"."].join("");throw new Error(y)}return r},extract_shortest_path_from_predecessor_list:function(t,o){for(var a=[],r=o;r;)a.push(r),t[r],r=t[r];return a.reverse(),a},find_path:function(t,o,a){var r=n.single_source_shortest_paths(t,o,a);return n.extract_shortest_path_from_predecessor_list(r,a)},PriorityQueue:{make:function(t){var o=n.PriorityQueue,a={},r;t=t||{};for(r in o)o.hasOwnProperty(r)&&(a[r]=o[r]);return a.queue=[],a.sorter=t.sorter||o.default_sorter,a},default_sorter:function(t,o){return t.cost-o.cost},push:function(t,o){var a={value:t,cost:o};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=n})(wo);var zi=wo.exports;(function(e){const n=K,t=qi,o=Xi,a=Wi,r=ji,i=U,s=O,c=zi;function d(y){return unescape(encodeURIComponent(y)).length}function m(y,b,k){const T=[];let v;for(;(v=y.exec(k))!==null;)T.push({data:v[0],index:v.index,mode:b,length:v[0].length});return T}function g(y){const b=m(i.NUMERIC,n.NUMERIC,y),k=m(i.ALPHANUMERIC,n.ALPHANUMERIC,y);let T,v;return s.isKanjiModeEnabled()?(T=m(i.BYTE,n.BYTE,y),v=m(i.KANJI,n.KANJI,y)):(T=m(i.BYTE_KANJI,n.BYTE,y),v=[]),b.concat(k,T,v).sort(function(I,L){return I.index-L.index}).map(function(I){return{data:I.data,mode:I.mode,length:I.length}})}function f(y,b){switch(b){case n.NUMERIC:return t.getBitsLength(y);case n.ALPHANUMERIC:return o.getBitsLength(y);case n.KANJI:return r.getBitsLength(y);case n.BYTE:return a.getBitsLength(y)}}function h(y){return y.reduce(function(b,k){const T=b.length-1>=0?b[b.length-1]:null;return T&&T.mode===k.mode?(b[b.length-1].data+=k.data,b):(b.push(k),b)},[])}function _(y){const b=[];for(let k=0;k=0&&s<=6&&(c===0||c===6)||c>=0&&c<=6&&(s===0||s===6)||s>=2&&s<=4&&c>=2&&c<=4?e.set(r+s,i+c,!0,!0):e.set(r+s,i+c,!1,!0))}}function is(e){const n=e.size;for(let t=8;t>s&1)===1,e.set(a,r,i,!0),e.set(r,a,i,!0)}function cn(e,n,t){const o=e.size,a=as.getEncodedBits(n,t);let r,i;for(r=0;r<15;r++)i=(a>>r&1)===1,r<6?e.set(r,8,i,!0):r<8?e.set(r+1,8,i,!0):e.set(o-15+r,8,i,!0),r<8?e.set(8,o-r-1,i,!0):r<9?e.set(8,15-r-1+1,i,!0):e.set(8,15-r-1,i,!0);e.set(o-8,8,1,!0)}function ls(e,n){const t=e.size;let o=-1,a=t-1,r=7,i=0;for(let s=t-1;s>0;s-=2)for(s===6&&s--;;){for(let c=0;c<2;c++)if(!e.isReserved(a,s-c)){let d=!1;i>>r&1)===1),e.set(a,s-c,d),r--,r===-1&&(i++,r=7)}if(a+=o,a<0||t<=a){a-=o,o=-o;break}}}function ms(e,n,t){const o=new Qi;t.forEach(function(c){o.put(c.mode.bit,4),o.put(c.getLength(),os.getCharCountIndicator(c.mode,e)),c.write(o)});const a=Qe.getSymbolTotalCodewords(e),r=pn.getTotalCodewordsCount(e,n),i=(a-r)*8;for(o.getLengthInBits()+4<=i&&o.put(0,4);o.getLengthInBits()%8!==0;)o.putBit(0);const s=(i-o.getLengthInBits())/8;for(let c=0;c=7&&cs(c,n),ls(c,i),isNaN(o)&&(o=hn.getBestMask(c,cn.bind(null,c,t))),hn.applyMask(o,c),cn(c,t,o),{modules:c,version:n,errorCorrectionLevel:t,maskPattern:o,segments:a}}fo.create=function(n,t){if(typeof n>"u"||n==="")throw new Error("No input text");let o=rn.M,a,r;return typeof t<"u"&&(o=rn.from(t.errorCorrectionLevel,rn.M),a=Fe.from(t.version),r=hn.from(t.maskPattern),t.toSJISFunc&&Qe.setToSJISFunction(t.toSJISFunc)),us(n,a,o,r)};var So={},ot={};(function(e){function n(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let o=t.slice().replace("#","").split("");if(o.length<3||o.length===5||o.length>8)throw new Error("Invalid hex color: "+t);(o.length===3||o.length===4)&&(o=Array.prototype.concat.apply([],o.map(function(r){return[r,r]}))),o.length===6&&o.push("F","F");const a=parseInt(o.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:a&255,hex:"#"+o.slice(0,6).join("")}}e.getOptions=function(o){o||(o={}),o.color||(o.color={});const a=typeof o.margin>"u"||o.margin===null||o.margin<0?4:o.margin,r=o.width&&o.width>=21?o.width:void 0,i=o.scale||4;return{width:r,scale:r?4:i,margin:a,color:{dark:n(o.color.dark||"#000000ff"),light:n(o.color.light||"#ffffffff")},type:o.type,rendererOpts:o.rendererOpts||{}}},e.getScale=function(o,a){return a.width&&a.width>=o+a.margin*2?a.width/(o+a.margin*2):a.scale},e.getImageWidth=function(o,a){const r=e.getScale(o,a);return Math.floor((o+a.margin*2)*r)},e.qrToImageData=function(o,a,r){const i=a.modules.size,s=a.modules.data,c=e.getScale(i,r),d=Math.floor((i+r.margin*2)*c),m=r.margin*c,g=[r.color.light,r.color.dark];for(let f=0;f=m&&h>=m&&f"u"&&(!i||!i.getContext)&&(c=i,i=void 0),i||(d=o()),c=n.getOptions(c);const m=n.getImageWidth(r.modules.size,c),g=d.getContext("2d"),f=g.createImageData(m,m);return n.qrToImageData(f.data,r,c),t(g,d,m),g.putImageData(f,0,0),d},e.renderToDataURL=function(r,i,s){let c=s;typeof c>"u"&&(!i||!i.getContext)&&(c=i,i=void 0),c||(c={});const d=e.render(r,i,c),m=c.type||"image/png",g=c.rendererOpts||{};return d.toDataURL(m,g.quality)}})(So);var No={};const fs=ot;function bt(e,n){const t=e.a/255,o=n+'="'+e.hex+'"';return t<1?o+" "+n+'-opacity="'+t.toFixed(2).slice(1)+'"':o}function ln(e,n,t){let o=e+n;return typeof t<"u"&&(o+=" "+t),o}function gs(e,n,t){let o="",a=0,r=!1,i=0;for(let s=0;s0&&c>0&&e[s-1]||(o+=r?ln("M",c+t,.5+d+t):ln("m",a,0),a=0,r=!1),c+1':"",d="',m='viewBox="0 0 '+s+" "+s+'"',f=''+c+d+` +`;return typeof o=="function"&&o(null,f),f};const hs=Ai,_n=fo,Mo=So,ps=No;function rt(e,n,t,o,a){const r=[].slice.call(arguments,1),i=r.length,s=typeof r[i-1]=="function";if(!s&&!hs())throw new Error("Callback required as last argument");if(s){if(i<2)throw new Error("Too few arguments provided");i===2?(a=t,t=n,n=o=void 0):i===3&&(n.getContext&&typeof a>"u"?(a=o,o=void 0):(a=o,o=t,t=n,n=void 0))}else{if(i<1)throw new Error("Too few arguments provided");return i===1?(t=n,n=o=void 0):i===2&&!n.getContext&&(o=t,t=n,n=void 0),new Promise(function(c,d){try{const m=_n.create(t,o);c(e(m,n,o))}catch(m){d(m)}})}try{const c=_n.create(t,o);a(null,e(c,n,o))}catch(c){a(c)}}Ee.create=_n.create;Ee.toCanvas=rt.bind(null,Mo.render);Ee.toDataURL=rt.bind(null,Mo.renderToDataURL);Ee.toString=rt.bind(null,function(e,n,t){return ps.render(e,t)});async function _s(e){const n=document.getElementById("qrcode");n.innerHTML="";try{await Ee.toCanvas(n,e)}catch(t){t instanceof Error?(console.error(t.message),alert("QR Code generation failed: "+t.message)):(console.error("An unknown error occurred:",t),alert("An unknown error occurred"))}}var Ts=vs,ks=Ns,F=[],D=[],ys=typeof Uint8Array<"u"?Uint8Array:Array,mn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Q=0,Cs=mn.length;Q0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");t===-1&&(t=n);var o=t===n?0:4-t%4;return[t,o]}function bs(e,n,t){return(n+t)*3/4-t}function vs(e){var n,t=Es(e),o=t[0],a=t[1],r=new ys(bs(e,o,a)),i=0,s=a>0?o-4:o,c;for(c=0;c>16&255,r[i++]=n>>8&255,r[i++]=n&255;return a===2&&(n=D[e.charCodeAt(c)]<<2|D[e.charCodeAt(c+1)]>>4,r[i++]=n&255),a===1&&(n=D[e.charCodeAt(c)]<<10|D[e.charCodeAt(c+1)]<<4|D[e.charCodeAt(c+2)]>>2,r[i++]=n>>8&255,r[i++]=n&255),r}function ws(e){return F[e>>18&63]+F[e>>12&63]+F[e>>6&63]+F[e&63]}function Ss(e,n,t){for(var o,a=[],r=n;rs?s:i+r));return o===1?(n=e[t-1],a.push(F[n>>2]+F[n<<4&63]+"==")):o===2&&(n=(e[t-2]<<8)+e[t-1],a.push(F[n>>10]+F[n>>4&63]+F[n<<2&63]+"=")),a.join("")}function Ms(e){return new TextEncoder().encode(e).length}function Is(e){return ks(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function As(e){const n=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(e.length+(4-e.length%4)%4,"=");return Ts(n)}document.addEventListener("DOMContentLoaded",()=>{var n,t,o;const e=window.location.hash.substring(1);e&&Ps(e),Ue(),document.querySelectorAll("#meshtasticForm input, #meshtasticForm select").forEach(a=>{a.addEventListener("input",Ue)}),(n=document.getElementById("generatePSK"))==null||n.addEventListener("click",Io),(t=document.getElementById("pskType"))==null||t.addEventListener("change",Rs),(o=document.getElementById("copyUrlButton"))==null||o.addEventListener("click",Os)});function Ps(e){var n,t;try{const o=As(e),a=Z.AppOnly.ChannelSet.fromBinary(o),r=a.settings[0],i={channelName:r.name,psk:new TextDecoder().decode(r.psk),uplinkEnabled:r.uplinkEnabled,downlinkEnabled:r.downlinkEnabled,positionPrecision:((n=r.moduleSettings)==null?void 0:n.positionPrecision)||0,isClientMuted:((t=r.moduleSettings)==null?void 0:t.isClientMuted)||!1,region:a.loraConfig.region,modemPreset:a.loraConfig.modemPreset,hopLimit:a.loraConfig.hopLimit,ignoreMqtt:a.loraConfig.ignoreMqtt,configOkToMqtt:a.loraConfig.configOkToMqtt};Oo(i)}catch(o){console.error("Error loading configuration from URL hash:",o)}}function Rs(){const e=document.getElementById("pskType").value,n=document.getElementById("psk");e==="none"?(n.value="",n.disabled=!0):(n.disabled=!1,Io()),Ue()}function Io(){const e=document.getElementById("pskType").value,n=Do(e);document.getElementById("psk").value=n,Ue()}async function Ue(){const e=Ro(),n=Ms(e.channelName);if(n>12){alert(`Channel name must be less than or equal to 12 bytes (current byte length: ${n}).`);return}const o=Ii(e).toBinary(),a=Is(o);window.location.hash=`#${a}`;const r=`https://meshtastic.org/e/#${a}`;console.log("Generated Meshtastic URL:",r);const i=document.getElementById("generatedUrl");i.value=r,await _s(r)}function Os(){const e=document.getElementById("generatedUrl");navigator.clipboard.writeText(e.value).then(()=>{Ds()}).catch(n=>{console.error("Failed to copy text: ",n),alert("Failed to copy URL")})}function Ds(){const e=document.getElementById("copyNotification");e&&(e.classList.add("show"),setTimeout(()=>{e.classList.remove("show")},2e3))} diff --git a/assets/index-PZwpkdsj.js b/assets/index-PZwpkdsj.js deleted file mode 100644 index fefdad4..0000000 --- a/assets/index-PZwpkdsj.js +++ /dev/null @@ -1,16 +0,0 @@ -var Io=Object.defineProperty;var Ao=(e,n,t)=>n in e?Io(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var p=(e,n,t)=>Ao(e,typeof n!="symbol"?n+"":n,t);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&o(r)}).observe(document,{childList:!0,subtree:!0});function t(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(a){if(a.ep)return;a.ep=!0;const i=t(a);fetch(a.href,i)}})();function Ro(){const e=document.getElementById("meshtasticForm");if(!e)throw new Error("Form element not found.");const n=new FormData(e),t=n.get("channelName"),o=n.get("pskType"),a=n.get("psk"),i=Number(n.get("region")),r=Number(n.get("modemPreset")),s=Number(n.get("hopLimit")),c=n.get("uplinkEnabled")==="on",d=n.get("downlinkEnabled")==="on",m=Number(n.get("positionPrecision")),g=n.get("isClientMuted")==="on",f=n.get("configOkToMqtt")==="on",h=n.get("ignoreMqtt")==="on";return{channelName:t,pskType:o,psk:a,region:i,modemPreset:r,hopLimit:s,uplinkEnabled:c,downlinkEnabled:d,positionPrecision:m,isClientMuted:g,configOkToMqtt:f,ignoreMqtt:h}}function Po(e){let n;if(e==="aes128")n=new Uint8Array(16);else if(e==="aes256")n=new Uint8Array(32);else return"";return window.crypto.getRandomValues(n),Array.from(n).map(t=>("0"+t.toString(16)).slice(-2)).join("")}var C={},te={},Ue={},J={},ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.DispatcherWrapper=void 0;class Oo{constructor(n){this._subscribe=t=>n.subscribe(t),this._unsubscribe=t=>n.unsubscribe(t),this._one=t=>n.one(t),this._has=t=>n.has(t),this._clear=()=>n.clear(),this._count=()=>n.count,this._onSubscriptionChange=()=>n.onSubscriptionChange}get onSubscriptionChange(){return this._onSubscriptionChange()}get count(){return this._count()}subscribe(n){return this._subscribe(n)}sub(n){return this.subscribe(n)}unsubscribe(n){this._unsubscribe(n)}unsub(n){this.unsubscribe(n)}one(n){return this._one(n)}has(n){return this._has(n)}clear(){this._clear()}}ge.DispatcherWrapper=Oo;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.Subscription=void 0;class Do{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;n?setTimeout(()=>{a.apply(t,o)},1):a.apply(t,o)}}}he.Subscription=Do;var ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.EventManagement=void 0;class Lo{constructor(n){this.unsub=n,this.propagationStopped=!1}stopPropagation(){this.propagationStopped=!0}}ae.EventManagement=Lo;Object.defineProperty(J,"__esModule",{value:!0});J.SubscriptionChangeEventDispatcher=J.DispatcherBase=void 0;const Bo=ge,xo=he,Fo=ae;class bt{constructor(){this._subscriptions=new Array}get count(){return this._subscriptions.length}get onSubscriptionChange(){return this._onSubscriptionChange==null&&(this._onSubscriptionChange=new vt),this._onSubscriptionChange.asEvent()}subscribe(n){return n&&(this._subscriptions.push(this.createSubscription(n,!1)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}sub(n){return this.subscribe(n)}one(n){return n&&(this._subscriptions.push(this.createSubscription(n,!0)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}has(n){return n?this._subscriptions.some(t=>t.handler==n):!1}unsubscribe(n){if(!n)return;let t=!1;for(let o=0;othis.unsub(a.handler)),r=Array.prototype.slice.call(o);if(r.push(i),a.execute(n,t,r),this.cleanup(a),!n&&i.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}createSubscription(n,t){return new xo.Subscription(n,t)}cleanup(n){let t=!1;if(n.isOnce&&n.isExecuted){let o=this._subscriptions.indexOf(n);o>-1&&(this._subscriptions.splice(o,1),t=!0)}t&&this.triggerSubscriptionChange()}asEvent(){return this._wrap==null&&(this._wrap=new Bo.DispatcherWrapper(this)),this._wrap}clear(){this._subscriptions.length!=0&&(this._subscriptions.splice(0,this._subscriptions.length),this.triggerSubscriptionChange())}triggerSubscriptionChange(){this._onSubscriptionChange!=null&&this._onSubscriptionChange.dispatch(this.count)}}J.DispatcherBase=bt;class vt extends bt{dispatch(n){this._dispatch(!1,this,arguments)}}J.SubscriptionChangeEventDispatcher=vt;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.DispatchError=void 0;class Uo extends Error{constructor(n){super(n)}}pe.DispatchError=Uo;var He={};Object.defineProperty(He,"__esModule",{value:!0});He.EventListBase=void 0;class Ho{constructor(){this._events={}}get(n){let t=this._events[n];return t||(t=this.createDispatcher(),this._events[n]=t,t)}remove(n){delete this._events[n]}}He.EventListBase=Ho;var Ge={};Object.defineProperty(Ge,"__esModule",{value:!0});Ge.HandlingBase=void 0;class Go{constructor(n){this.events=n}one(n,t){this.events.get(n).one(t)}has(n,t){return this.events.get(n).has(t)}subscribe(n,t){this.events.get(n).subscribe(t)}sub(n,t){this.subscribe(n,t)}unsubscribe(n,t){this.events.get(n).unsubscribe(t)}unsub(n,t){this.unsubscribe(n,t)}}Ge.HandlingBase=Go;var Ve={},_e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.PromiseSubscription=void 0;class Vo{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}async execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;if(n){setTimeout(()=>{a.apply(t,o)},1);return}await a.apply(t,o)}}}_e.PromiseSubscription=Vo;Object.defineProperty(Ve,"__esModule",{value:!0});Ve.PromiseDispatcherBase=void 0;const $o=_e,qo=ae,Xo=J,Ko=pe;class Wo extends Xo.DispatcherBase{_dispatch(n,t,o){throw new Ko.DispatchError("_dispatch not supported. Use _dispatchAsPromise.")}createSubscription(n,t){return new $o.PromiseSubscription(n,t)}async _dispatchAsPromise(n,t,o){for(let a of[...this._subscriptions]){let i=new qo.EventManagement(()=>this.unsub(a.handler)),r=Array.prototype.slice.call(o);if(r.push(i),await a.execute(n,t,r),this.cleanup(a),!n&&i.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}}Ve.PromiseDispatcherBase=Wo;(function(e){/*! - * Strongly Typed Events for TypeScript - Core - * https://github.com/KeesCBakker/StronlyTypedEvents/ - * http://keestalkstech.com - * - * Copyright Kees C. Bakker / KeesTalksTech - * Released under the MIT license - */Object.defineProperty(e,"__esModule",{value:!0}),e.SubscriptionChangeEventDispatcher=e.HandlingBase=e.PromiseDispatcherBase=e.PromiseSubscription=e.DispatchError=e.EventManagement=e.EventListBase=e.DispatcherWrapper=e.DispatcherBase=e.Subscription=void 0;const n=J;Object.defineProperty(e,"DispatcherBase",{enumerable:!0,get:function(){return n.DispatcherBase}}),Object.defineProperty(e,"SubscriptionChangeEventDispatcher",{enumerable:!0,get:function(){return n.SubscriptionChangeEventDispatcher}});const t=pe;Object.defineProperty(e,"DispatchError",{enumerable:!0,get:function(){return t.DispatchError}});const o=ge;Object.defineProperty(e,"DispatcherWrapper",{enumerable:!0,get:function(){return o.DispatcherWrapper}});const a=He;Object.defineProperty(e,"EventListBase",{enumerable:!0,get:function(){return a.EventListBase}});const i=ae;Object.defineProperty(e,"EventManagement",{enumerable:!0,get:function(){return i.EventManagement}});const r=Ge;Object.defineProperty(e,"HandlingBase",{enumerable:!0,get:function(){return r.HandlingBase}});const s=Ve;Object.defineProperty(e,"PromiseDispatcherBase",{enumerable:!0,get:function(){return s.PromiseDispatcherBase}});const c=_e;Object.defineProperty(e,"PromiseSubscription",{enumerable:!0,get:function(){return c.PromiseSubscription}});const d=he;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return d.Subscription}})})(Ue);Object.defineProperty(te,"__esModule",{value:!0});te.SimpleEventDispatcher=void 0;const ot=Ue;class Yo extends ot.DispatcherBase{constructor(){super()}dispatch(n){const t=this._dispatch(!1,this,arguments);if(t==null)throw new ot.DispatchError("Got `null` back from dispatch.");return t}dispatchAsync(n){this._dispatch(!0,this,arguments)}asEvent(){return super.asEvent()}}te.SimpleEventDispatcher=Yo;var $e={},Te={};Object.defineProperty(Te,"__esModule",{value:!0});Te.SimpleEventList=void 0;const Jo=Ue,jo=te;class zo extends Jo.EventListBase{constructor(){super()}createDispatcher(){return new jo.SimpleEventDispatcher}}Te.SimpleEventList=zo;Object.defineProperty($e,"__esModule",{value:!0});$e.SimpleEventHandlingBase=void 0;const Qo=Ue,Zo=Te;class ei extends Qo.HandlingBase{constructor(){super(new Zo.SimpleEventList)}}$e.SimpleEventHandlingBase=ei;var qe={};Object.defineProperty(qe,"__esModule",{value:!0});qe.NonUniformSimpleEventList=void 0;const ni=te;class ti{constructor(){this._events={}}get(n){if(this._events[n])return this._events[n];const t=this.createDispatcher();return this._events[n]=t,t}remove(n){delete this._events[n]}createDispatcher(){return new ni.SimpleEventDispatcher}}qe.NonUniformSimpleEventList=ti;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NonUniformSimpleEventList=e.SimpleEventList=e.SimpleEventHandlingBase=e.SimpleEventDispatcher=void 0;const n=te;Object.defineProperty(e,"SimpleEventDispatcher",{enumerable:!0,get:function(){return n.SimpleEventDispatcher}});const t=$e;Object.defineProperty(e,"SimpleEventHandlingBase",{enumerable:!0,get:function(){return t.SimpleEventHandlingBase}});const o=qe;Object.defineProperty(e,"NonUniformSimpleEventList",{enumerable:!0,get:function(){return o.NonUniformSimpleEventList}});const a=Te;Object.defineProperty(e,"SimpleEventList",{enumerable:!0,get:function(){return a.SimpleEventList}})})(C);let ln=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920];typeof Int32Array<"u"&&(ln=new Int32Array(ln));const Ze=(e,n)=>{let t=typeof n<"u"?~~n:65535;for(let o=0;o>8^e[o])&255]^t<<8)&65535;return t};var it={},ai=Object.defineProperty,N=(e,n)=>{for(var t in n)ai(e,t,{get:n[t],enumerable:!0})},se={};N(se,{Admin:()=>wt,AppOnly:()=>Va,CannedMessages:()=>$a,Channel:()=>Xt,ClientOnly:()=>qa,Config:()=>Yt,ConnectionStatus:()=>Pa,DeviceOnly:()=>Ka,LocalOnly:()=>Xa,Mesh:()=>W,ModuleConfig:()=>ua,Mqtt:()=>za,PaxCount:()=>Qa,Portnums:()=>ra,RemoteHardware:()=>Za,Rtttl:()=>no,StoreForward:()=>to,Telemetry:()=>sa,Xmodem:()=>R});var wt={};N(wt,{AdminMessage:()=>sr,AdminMessage_ConfigType:()=>Fa,AdminMessage_ModuleConfigType:()=>Ua,HamParameters:()=>Ha,NodeRemoteHardwarePinsResponse:()=>Ga});function S(e,n){if(!e)throw new Error(n)}var oi=34028234663852886e22,ii=-34028234663852886e22,ri=4294967295,si=2147483647,ci=-2147483648;function Se(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>si||eri||e<0)throw new Error("invalid uint 32: "+e)}function St(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>oi||e({no:a.no,name:a.name,localName:e[a.no]})))}function It(e,n,t){const o=Object.create(null),a=Object.create(null),i=[];for(const r of n){const s=At(r);i.push(s),o[r.name]=s,a[r.no]=s}return{typeName:e,values:i,findName(r){return o[r]},findNumber(r){return a[r]}}}function mi(e,n,t){const o={};for(const a of n){const i=At(a);o[i.localName]=i.no,o[i.no]=i.localName}return Mt(o,e,n),o}function At(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Rt=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,n){const t=this.getType(),o=t.runtime.bin,a=o.makeReadOptions(n);return o.readMessage(this,a.readerFactory(e),e.byteLength,a),this}fromJson(e,n){const t=this.getType(),o=t.runtime.json,a=o.makeReadOptions(n);return o.readMessage(t,e,a,this),this}fromJsonString(e,n){let t;try{t=JSON.parse(e)}catch(o){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${o instanceof Error?o.message:String(o)}`)}return this.fromJson(t,n)}toBinary(e){const n=this.getType(),t=n.runtime.bin,o=t.makeWriteOptions(e),a=o.writerFactory();return t.writeMessage(this,a,o),a.finish()}toJson(e){const n=this.getType(),t=n.runtime.json,o=t.makeWriteOptions(e);return t.writeMessage(this,o)}toJsonString(e){var n;const t=this.toJson(e);return JSON.stringify(t,null,(n=e==null?void 0:e.prettySpaces)!==null&&n!==void 0?n:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function di(e,n,t,o){var a;const i=(a=o==null?void 0:o.localName)!==null&&a!==void 0?a:n.substring(n.lastIndexOf(".")+1),r={[i]:function(s){e.util.initFields(this),e.util.initPartial(s,this)}}[i];return Object.setPrototypeOf(r.prototype,new Rt),Object.assign(r,{runtime:e,typeName:n,fields:e.util.newFieldList(t),fromBinary(s,c){return new r().fromBinary(s,c)},fromJson(s,c){return new r().fromJson(s,c)},fromJsonString(s,c){return new r().fromJsonString(s,c)},equals(s,c){return e.util.equals(r,s,c)}}),r}function ui(){let e=0,n=0;for(let o=0;o<28;o+=7){let a=this.buf[this.pos++];if(e|=(a&127)<>4,!(t&128))return this.assertBounds(),[e,n];for(let o=3;o<=31;o+=7){let a=this.buf[this.pos++];if(n|=(a&127)<>>i,s=!(!(r>>>7)&&n==0),c=(s?r|128:r)&255;if(t.push(c),!s)return}const o=e>>>28&15|(n&7)<<4,a=!!(n>>3);if(t.push((a?o|128:o)&255),!!a){for(let i=3;i<31;i=i+7){const r=n>>>i,s=!!(r>>>7),c=(s?r|128:r)&255;if(t.push(c),!s)return}t.push(n>>>31&1)}}var Ne=4294967296;function rt(e){const n=e[0]==="-";n&&(e=e.slice(1));const t=1e6;let o=0,a=0;function i(r,s){const c=Number(e.slice(r,s));a*=t,o=o*t+c,o>=Ne&&(a=a+(o/Ne|0),o=o%Ne)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),n?Ot(o,a):pn(o,a)}function fi(e,n){let t=pn(e,n);const o=t.hi&2147483648;o&&(t=Ot(t.lo,t.hi));const a=Pt(t.lo,t.hi);return o?"-"+a:a}function Pt(e,n){if({lo:e,hi:n}=gi(e,n),n<=2097151)return String(Ne*n+e);const t=e&16777215,o=(e>>>24|n<<8)&16777215,a=n>>16&65535;let i=t+o*6777216+a*6710656,r=o+a*8147497,s=a*2;const c=1e7;return i>=c&&(r+=Math.floor(i/c),i%=c),r>=c&&(s+=Math.floor(r/c),r%=c),s.toString()+st(r)+st(i)}function gi(e,n){return{lo:e>>>0,hi:n>>>0}}function pn(e,n){return{lo:e|0,hi:n|0}}function Ot(e,n){return n=~n,e?e=~e+1:n+=1,pn(e,n)}var st=e=>{const n=String(e);return"0000000".slice(n.length)+n};function ct(e,n){if(e>=0){for(;e>127;)n.push(e&127|128),e=e>>>7;n.push(e)}else{for(let t=0;t<9;t++)n.push(e&127|128),e=e>>7;n.push(1)}}function hi(){let e=this.buf[this.pos++],n=e&127;if(!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<7,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<14,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<21,!(e&128))return this.assertBounds(),n;e=this.buf[this.pos++],n|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),n>>>0}function pi(){const e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||typeof it!="object"||it.BUF_BIGINT_DISABLE!=="1")){const a=BigInt("-9223372036854775808"),i=BigInt("9223372036854775807"),r=BigInt("0"),s=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(c){const d=typeof c=="bigint"?c:BigInt(c);if(d>i||ds||dS(/^-?[0-9]+$/.test(a),`int64 invalid: ${a}`),o=a=>S(/^[0-9]+$/.test(a),`uint64 invalid: ${a}`);return{zero:"0",supported:!1,parse(a){return typeof a!="string"&&(a=a.toString()),t(a),a},uParse(a){return typeof a!="string"&&(a=a.toString()),o(a),a},enc(a){return typeof a!="string"&&(a=a.toString()),t(a),rt(a)},uEnc(a){return typeof a!="string"&&(a=a.toString()),o(a),rt(a)},dec(a,i){return fi(a,i)},uDec(a,i){return Pt(a,i)}}}var P=pi(),u;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(u||(u={}));var q;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(q||(q={}));function V(e,n,t){if(n===t)return!0;if(e==u.BYTES){if(!(n instanceof Uint8Array)||!(t instanceof Uint8Array)||n.length!==t.length)return!1;for(let o=0;o>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(mn(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return Se(e),ct(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.textEncoder.encode(e);return this.uint32(n.byteLength),this.raw(n)}float(e){St(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){mn(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){Se(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return Se(e),e=(e<<1^e>>31)>>>0,ct(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=P.enc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=P.uEnc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}int64(e){let n=P.enc(e);return en(n.lo,n.hi,this.buf),this}sint64(e){let n=P.enc(e),t=n.hi>>31,o=n.lo<<1^t,a=(n.hi<<1|n.lo>>>31)^t;return en(o,a,this.buf),this}uint64(e){let n=P.uEnc(e);return en(n.lo,n.hi,this.buf),this}},Ti=class{constructor(e,n){this.varint64=ui,this.uint32=hi,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=n??new TextDecoder}tag(){let e=this.uint32(),n=e>>>3,t=e&7;if(n<=0||t<0||t>5)throw new Error("illegal tag: field no "+n+" wire type "+t);return[n,t]}skip(e,n){let t=this.pos;switch(e){case M.Varint:for(;this.buf[this.pos++]&128;);break;case M.Bit64:this.pos+=4;case M.Bit32:this.pos+=4;break;case M.LengthDelimited:let o=this.uint32();this.pos+=o;break;case M.StartGroup:for(;;){const[a,i]=this.tag();if(i===M.EndGroup){if(n!==void 0&&a!==n)throw new Error("invalid end group tag");break}this.skip(i,a)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return P.dec(...this.varint64())}uint64(){return P.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),t=-(e&1);return e=(e>>>1|(n&1)<<31)^t,n=n>>>1^t,P.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return P.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return P.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.textDecoder.decode(this.bytes())}};function ki(e,n,t,o){let a;return{typeName:n,extendee:t,get field(){if(!a){const i=typeof o=="function"?o():o;i.name=n.split(".").pop(),i.jsonName=`[${n}]`,a=e.util.newFieldList([i]).list()[0]}return a},runtime:e}}function Lt(e){const n=e.field.localName,t=Object.create(null);return t[n]=yi(e),[t,()=>t[n]]}function yi(e){const n=e.field;if(n.repeated)return[];if(n.default!==void 0)return n.default;switch(n.kind){case"enum":return n.T.values[0].no;case"scalar":return z(n.T,n.L);case"message":const t=n.T,o=new t;return t.fieldWrapper?t.fieldWrapper.unwrapField(o):o;case"map":throw"map fields are not allowed to be extensions"}}function Ci(e,n){if(!n.repeated&&(n.kind=="enum"||n.kind=="scalar")){for(let t=e.length-1;t>=0;--t)if(e[t].no==n.no)return[e[t]];return[]}return e.filter(t=>t.no===n.no)}var H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Xe=[];for(let e=0;e>4,r=i,a=2;break;case 2:t[o++]=(r&15)<<4|(i&60)>>2,r=i,a=3;break;case 3:t[o++]=(r&3)<<6|i,a=0;break}}if(a==1)throw Error("invalid base64 string.");return t.subarray(0,o)},enc(e){let n="",t=0,o,a=0;for(let i=0;i>2],a=(o&3)<<4,t=1;break;case 1:n+=H[a|o>>4],a=(o&15)<<2,t=2;break;case 2:n+=H[a|o>>6],n+=H[o&63],t=0;break}return t&&(n+=H[a],n+="=",t==1&&(n+="=")),n}};function Ei(e,n,t){Ft(n,e);const o=n.runtime.bin.makeReadOptions(t),a=Ci(e.getType().runtime.bin.listUnknownFields(e),n.field),[i,r]=Lt(n);for(const s of a)n.runtime.bin.readField(i,o.readerFactory(s.data),n.field,s.wireType,o);return r()}function bi(e,n,t,o){Ft(n,e);const a=n.runtime.bin.makeReadOptions(o),i=n.runtime.bin.makeWriteOptions(o);if(xt(e,n)){const d=e.getType().runtime.bin.listUnknownFields(e).filter(m=>m.no!=n.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const m of d)e.getType().runtime.bin.onUnknownField(e,m.no,m.wireType,m.data)}const r=i.writerFactory();let s=n.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},n.field),{opt:!0})),n.runtime.bin.writeField(s,t,r,i);const c=a.readerFactory(r.finish());for(;c.poso.no==n.field.no)}function Ft(e,n){S(e.extendee.typeName==n.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function Ut(e,n){const t=e.localName;if(e.repeated)return n[t].length>0;if(e.oneof)return n[e.oneof.localName].case===t;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?n[t]!==void 0:e.kind=="enum"?n[t]!==e.T.values[0].no:!Dt(e.T,n[t]);case"message":return n[t]!==void 0;case"map":return Object.keys(n[t]).length>0}}function lt(e,n){const t=e.localName,o=!e.opt&&!e.req;if(e.repeated)n[t]=[];else if(e.oneof)n[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":n[t]={};break;case"enum":n[t]=o?e.T.values[0].no:void 0;break;case"scalar":n[t]=o?z(e.T,e.L):void 0;break;case"message":n[t]=void 0;break}}function K(e,n){if(e===null||typeof e!="object"||!Object.getOwnPropertyNames(Rt.prototype).every(o=>o in e&&typeof e[o]=="function"))return!1;const t=e.getType();return t===null||typeof t!="function"||!("typeName"in t)||typeof t.typeName!="string"?!1:n===void 0?!0:t.typeName==n.typeName}function Ht(e,n){return K(n)||!e.fieldWrapper?n:e.fieldWrapper.wrapField(n)}u.DOUBLE,u.FLOAT,u.INT64,u.UINT64,u.INT32,u.UINT32,u.BOOL,u.STRING,u.BYTES;var mt={ignoreUnknownFields:!1},dt={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function vi(e){return e?Object.assign(Object.assign({},mt),e):mt}function wi(e){return e?Object.assign(Object.assign({},dt),e):dt}var Pe=Symbol(),Me=Symbol();function Si(){return{makeReadOptions:vi,makeWriteOptions:wi,readMessage(e,n,t,o){if(n==null||Array.isArray(n)||typeof n!="object")throw new Error(`cannot decode message ${e.typeName} from JSON: ${B(n)}`);o=o??new e;const a=new Map,i=t.typeRegistry;for(const[r,s]of Object.entries(n)){const c=e.fields.findJsonName(r);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;const d=a.get(c.oneof);if(d!==void 0)throw new Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${d}", "${r}"`);a.set(c.oneof,r)}ut(o,s,c,t,e)}else{let d=!1;if(i!=null&&i.findExtension&&r.startsWith("[")&&r.endsWith("]")){const m=i.findExtension(r.substring(1,r.length-1));if(m&&m.extendee.typeName==e.typeName){d=!0;const[g,f]=Lt(m);ut(g,s,m.field,t,m),bi(o,m,f(),t)}}if(!d&&!t.ignoreUnknownFields)throw new Error(`cannot decode message ${e.typeName} from JSON: key "${r}" is unknown`)}}return o},writeMessage(e,n){const t=e.getType(),o={};let a;try{for(a of t.fields.byNumber()){if(!Ut(a,e)){if(a.req)throw"required field not set";if(!n.emitDefaultValues||!Mi(a))continue}const r=a.oneof?e[a.oneof.localName].value:e[a.localName],s=ft(a,r,n);s!==void 0&&(o[n.useProtoFieldName?a.name:a.jsonName]=s)}const i=n.typeRegistry;if(i!=null&&i.findExtensionFor)for(const r of t.runtime.bin.listUnknownFields(e)){const s=i.findExtensionFor(t.typeName,r.no);if(s&&xt(e,s)){const c=Ei(e,s,n),d=ft(s.field,c,n);d!==void 0&&(o[s.field.jsonName]=d)}}}catch(i){const r=a?`cannot encode field ${t.typeName}.${a.name} to JSON`:`cannot encode message ${t.typeName} to JSON`,s=i instanceof Error?i.message:String(i);throw new Error(r+(s.length>0?`: ${s}`:""))}return o},readScalar(e,n,t){return ce(e,n,t??q.BIGINT,!0)},writeScalar(e,n,t){if(n!==void 0&&(t||Dt(e,n)))return Ie(e,n)},debug:B}}function B(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function ut(e,n,t,o,a){let i=t.localName;if(t.repeated){if(S(t.kind!="map"),n===null)return;if(!Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(n)}`);const r=e[i];for(const s of n){if(s===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(s)}`);switch(t.kind){case"message":r.push(t.T.fromJson(s,o));break;case"enum":const c=nn(t.T,s,o.ignoreUnknownFields,!0);c!==Me&&r.push(c);break;case"scalar":try{r.push(ce(t.T,s,t.L,!0))}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(s)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}}else if(t.kind=="map"){if(n===null)return;if(typeof n!="object"||Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(n)}`);const r=e[i];for(const[s,c]of Object.entries(n)){if(c===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: map value null`);let d;try{d=Ni(t.K,s)}catch(m){let g=`cannot decode map key for field ${a.typeName}.${t.name} from JSON: ${B(n)}`;throw m instanceof Error&&m.message.length>0&&(g+=`: ${m.message}`),new Error(g)}switch(t.V.kind){case"message":r[d]=t.V.T.fromJson(c,o);break;case"enum":const m=nn(t.V.T,c,o.ignoreUnknownFields,!0);m!==Me&&(r[d]=m);break;case"scalar":try{r[d]=ce(t.V.T,c,q.BIGINT,!0)}catch(g){let f=`cannot decode map value for field ${a.typeName}.${t.name} from JSON: ${B(n)}`;throw g instanceof Error&&g.message.length>0&&(f+=`: ${g.message}`),new Error(f)}break}}}else switch(t.oneof&&(e=e[t.oneof.localName]={case:i},i="value"),t.kind){case"message":const r=t.T;if(n===null&&r.typeName!="google.protobuf.Value")return;let s=e[i];K(s)?s.fromJson(n,o):(e[i]=s=r.fromJson(n,o),r.fieldWrapper&&!t.oneof&&(e[i]=r.fieldWrapper.unwrapField(s)));break;case"enum":const c=nn(t.T,n,o.ignoreUnknownFields,!1);switch(c){case Pe:lt(t,e);break;case Me:break;default:e[i]=c;break}break;case"scalar":try{const d=ce(t.T,n,t.L,!1);switch(d){case Pe:lt(t,e);break;default:e[i]=d;break}}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(n)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}function Ni(e,n){if(e===u.BOOL)switch(n){case"true":n=!0;break;case"false":n=!1;break}return ce(e,n,q.BIGINT,!0).toString()}function ce(e,n,t,o){if(n===null)return o?z(e,t):Pe;switch(e){case u.DOUBLE:case u.FLOAT:if(n==="NaN")return Number.NaN;if(n==="Infinity")return Number.POSITIVE_INFINITY;if(n==="-Infinity")return Number.NEGATIVE_INFINITY;if(n===""||typeof n=="string"&&n.trim().length!==n.length||typeof n!="string"&&typeof n!="number")break;const a=Number(n);if(Number.isNaN(a)||!Number.isFinite(a))break;return e==u.FLOAT&&St(a),a;case u.INT32:case u.FIXED32:case u.SFIXED32:case u.SINT32:case u.UINT32:let i;if(typeof n=="number"?i=n:typeof n=="string"&&n.length>0&&n.trim().length===n.length&&(i=Number(n)),i===void 0)break;return e==u.UINT32||e==u.FIXED32?mn(i):Se(i),i;case u.INT64:case u.SFIXED64:case u.SINT64:if(typeof n!="number"&&typeof n!="string")break;const r=P.parse(n);return t?r.toString():r;case u.FIXED64:case u.UINT64:if(typeof n!="number"&&typeof n!="string")break;const s=P.uParse(n);return t?s.toString():s;case u.BOOL:if(typeof n!="boolean")break;return n;case u.STRING:if(typeof n!="string")break;try{encodeURIComponent(n)}catch{throw new Error("invalid UTF8")}return n;case u.BYTES:if(n==="")return new Uint8Array(0);if(typeof n!="string")break;return Bt.dec(n)}throw new Error}function nn(e,n,t,o){if(n===null)return e.typeName=="google.protobuf.NullValue"?0:o?e.values[0].no:Pe;switch(typeof n){case"number":if(Number.isInteger(n))return n;break;case"string":const a=e.findName(n);if(a!==void 0)return a.no;if(t)return Me;break}throw new Error(`cannot decode enum ${e.typeName} from JSON: ${B(n)}`)}function Mi(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ft(e,n,t){if(e.kind=="map"){S(typeof n=="object"&&n!=null);const o={},a=Object.entries(n);switch(e.V.kind){case"scalar":for(const[r,s]of a)o[r.toString()]=Ie(e.V.T,s);break;case"message":for(const[r,s]of a)o[r.toString()]=s.toJson(t);break;case"enum":const i=e.V.T;for(const[r,s]of a)o[r.toString()]=tn(i,s,t.enumAsInteger);break}return t.emitDefaultValues||a.length>0?o:void 0}if(e.repeated){S(Array.isArray(n));const o=[];switch(e.kind){case"scalar":for(let a=0;a0?o:void 0}switch(e.kind){case"scalar":return Ie(e.T,n);case"enum":return tn(e.T,n,t.enumAsInteger);case"message":return Ht(e.T,n).toJson(t)}}function tn(e,n,t){var o;if(S(typeof n=="number"),e.typeName=="google.protobuf.NullValue")return null;if(t)return n;const a=e.findNumber(n);return(o=a==null?void 0:a.name)!==null&&o!==void 0?o:n}function Ie(e,n){switch(e){case u.INT32:case u.SFIXED32:case u.SINT32:case u.FIXED32:case u.UINT32:return S(typeof n=="number"),n;case u.FLOAT:case u.DOUBLE:return S(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n;case u.STRING:return S(typeof n=="string"),n;case u.BOOL:return S(typeof n=="boolean"),n;case u.UINT64:case u.FIXED64:case u.INT64:case u.SFIXED64:case u.SINT64:return S(typeof n=="bigint"||typeof n=="string"||typeof n=="number"),n.toString();case u.BYTES:return S(n instanceof Uint8Array),Bt.enc(n)}}var j=Symbol("@bufbuild/protobuf/unknown-fields"),gt={readUnknownFields:!0,readerFactory:e=>new Ti(e)},ht={writeUnknownFields:!0,writerFactory:()=>new _i};function Ii(e){return e?Object.assign(Object.assign({},gt),e):gt}function Ai(e){return e?Object.assign(Object.assign({},ht),e):ht}function Ri(){return{makeReadOptions:Ii,makeWriteOptions:Ai,listUnknownFields(e){var n;return(n=e[j])!==null&&n!==void 0?n:[]},discardUnknownFields(e){delete e[j]},writeUnknownFields(e,n){const o=e[j];if(o)for(const a of o)n.tag(a.no,a.wireType).raw(a.data)},onUnknownField(e,n,t,o){const a=e;Array.isArray(a[j])||(a[j]=[]),a[j].push({no:n,wireType:t,data:o})},readMessage(e,n,t,o,a){const i=e.getType(),r=a?n.len:n.pos+t;let s,c;for(;n.pos0&&(c=Oi),i){let f=e[r];if(o==M.LengthDelimited&&s!=u.STRING&&s!=u.BYTES){let _=n.uint32()+n.pos;for(;n.pos<_;)f.push(c(n,s))}else f.push(c(n,s))}else e[r]=c(n,s);break;case"message":const d=t.T;i?e[r].push(Ae(n,new d,a,t)):K(e[r])?Ae(n,e[r],a,t):(e[r]=Ae(n,new d,a,t),d.fieldWrapper&&!t.oneof&&!t.repeated&&(e[r]=d.fieldWrapper.unwrapField(e[r])));break;case"map":let[m,g]=Pi(t,n,a);e[r][m]=g;break}}function Ae(e,n,t,o){const a=n.getType().runtime.bin,i=o==null?void 0:o.delimited;return a.readMessage(n,e,i?o.no:e.uint32(),t,i),n}function Pi(e,n,t){const o=n.uint32(),a=n.pos+o;let i,r;for(;n.posK(f,g)?f:new g(f));else{const f=r[a];g.fieldWrapper?g.typeName==="google.protobuf.BytesValue"?i[a]=re(f):i[a]=f:i[a]=K(f,g)?f:new g(f)}break}}},equals(e,n,t){return n===t?!0:!n||!t?!1:e.fields.byMember().every(o=>{const a=n[o.localName],i=t[o.localName];if(o.repeated){if(a.length!==i.length)return!1;switch(o.kind){case"message":return a.every((r,s)=>o.T.equals(r,i[s]));case"scalar":return a.every((r,s)=>V(o.T,r,i[s]));case"enum":return a.every((r,s)=>V(u.INT32,r,i[s]))}throw new Error(`repeated cannot contain ${o.kind}`)}switch(o.kind){case"message":return o.T.equals(a,i);case"enum":return V(u.INT32,a,i);case"scalar":return V(o.T,a,i);case"oneof":if(a.case!==i.case)return!1;const r=o.findField(a.case);if(r===void 0)return!0;switch(r.kind){case"message":return r.T.equals(a.value,i.value);case"enum":return V(u.INT32,a.value,i.value);case"scalar":return V(r.T,a.value,i.value)}throw new Error(`oneof cannot contain ${r.kind}`);case"map":const s=Object.keys(a).concat(Object.keys(i));switch(o.V.kind){case"message":const c=o.V.T;return s.every(m=>c.equals(a[m],i[m]));case"enum":return s.every(m=>V(u.INT32,a[m],i[m]));case"scalar":const d=o.V.T;return s.every(m=>V(d,a[m],i[m]))}break}})},clone(e){const n=e.getType(),t=new n,o=t;for(const a of n.fields.byMember()){const i=e[a.localName];let r;if(a.repeated)r=i.map(Ee);else if(a.kind=="map"){r=o[a.localName];for(const[s,c]of Object.entries(i))r[s]=Ee(c)}else a.kind=="oneof"?r=a.findField(i.case)?{case:i.case,value:Ee(i.value)}:{case:void 0}:r=Ee(i);o[a.localName]=r}for(const a of n.runtime.bin.listUnknownFields(e))n.runtime.bin.onUnknownField(o,a.no,a.wireType,a.data);return t}}}function Ee(e){if(e===void 0)return e;if(K(e))return e.clone();if(e instanceof Uint8Array){const n=new Uint8Array(e.byteLength);return n.set(e),n}return e}function re(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function xi(e,n,t){return{syntax:e,json:Si(),bin:Ri(),util:Object.assign(Object.assign({},Bi()),{newFieldList:n,initFields:t}),makeMessageType(o,a,i){return di(this,o,a,i)},makeEnum:mi,makeEnumType:It,getEnumType:li,makeExtension(o,a,i){return ki(this,o,a,i)}}}var Fi=class{constructor(e,n){this._fields=e,this._normalizer=n}findJsonName(e){if(!this.jsonNames){const n={};for(const t of this.list())n[t.jsonName]=n[t.name]=t;this.jsonNames=n}return this.jsonNames[e]}find(e){if(!this.numbers){const n={};for(const t of this.list())n[t.no]=t;this.numbers=n}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,n)=>e.no-n.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let n;for(const t of this.list())t.oneof?t.oneof!==n&&(n=t.oneof,e.push(n)):e.push(t)}return this.members}};function Vt(e,n){const t=$t(e);return n?t:qi($i(t))}function Ui(e){return Vt(e,!1)}var Hi=$t;function $t(e){let n=!1;const t=[];for(let o=0;o`${e}$`,$i=e=>Vi.has(e)?qt(e):e,qi=e=>Gi.has(e)?qt(e):e,Xi=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=Ui(e)}addField(e){S(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let n=0;nnew Fi(e,n=>Ki(n)),e=>{for(const n of e.getType().fields.byMember()){if(n.opt)continue;const t=n.localName,o=e;if(n.repeated){o[t]=[];continue}switch(n.kind){case"oneof":o[t]={case:void 0};break;case"enum":o[t]=0;break;case"map":o[t]={};break;case"scalar":o[t]=z(n.T,n.L);break}}}),Xt={};N(Xt,{Channel:()=>de,ChannelSettings:()=>_n,Channel_Role:()=>Wt,ModuleSettings:()=>Kt});var _n=l.makeMessageType("meshtastic.ChannelSettings",()=>[{no:1,name:"channel_num",kind:"scalar",T:13},{no:2,name:"psk",kind:"scalar",T:12},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"id",kind:"scalar",T:7},{no:5,name:"uplink_enabled",kind:"scalar",T:8},{no:6,name:"downlink_enabled",kind:"scalar",T:8},{no:7,name:"module_settings",kind:"message",T:Kt}]),Kt=l.makeMessageType("meshtastic.ModuleSettings",()=>[{no:1,name:"position_precision",kind:"scalar",T:13},{no:2,name:"is_client_muted",kind:"scalar",T:8}]),de=l.makeMessageType("meshtastic.Channel",()=>[{no:1,name:"index",kind:"scalar",T:5},{no:2,name:"settings",kind:"message",T:_n},{no:3,name:"role",kind:"enum",T:l.getEnumType(Wt)}]),Wt=l.makeEnum("meshtastic.Channel.Role",[{no:0,name:"DISABLED"},{no:1,name:"PRIMARY"},{no:2,name:"SECONDARY"}]),W={};N(W,{ChunkedPayload:()=>ir,ChunkedPayloadResponse:()=>rr,ClientNotification:()=>Na,Compressed:()=>ar,Constants:()=>zi,CriticalErrorCode:()=>Qi,Data:()=>Ca,DeviceMetadata:()=>Yn,FileInfo:()=>Ma,FromRadio:()=>nr,HardwareModel:()=>ke,Heartbeat:()=>Aa,LogRecord:()=>wa,LogRecord_Level:()=>Wn,MeshPacket:()=>Y,MeshPacket_Delayed:()=>ba,MeshPacket_Priority:()=>Ea,MqttClientProxyMessage:()=>Xn,MyNodeInfo:()=>Kn,Neighbor:()=>Ia,NeighborInfo:()=>or,NodeInfo:()=>va,NodeRemoteHardwarePin:()=>Jn,Position:()=>$n,Position_AltSource:()=>ka,Position_LocSource:()=>qn,QueueStatus:()=>Sa,RouteDiscovery:()=>dn,Routing:()=>Zi,Routing_Error:()=>ya,ToRadio:()=>tr,User:()=>ue,Waypoint:()=>er,resend_chunks:()=>Ra});var Yt={};N(Yt,{Config:()=>De,Config_BluetoothConfig:()=>wn,Config_BluetoothConfig_PairingMode:()=>oa,Config_DeviceConfig:()=>Tn,Config_DeviceConfig_RebroadcastMode:()=>Jt,Config_DeviceConfig_Role:()=>oe,Config_DisplayConfig:()=>En,Config_DisplayConfig_CompassOrientation:()=>aa,Config_DisplayConfig_DisplayMode:()=>ta,Config_DisplayConfig_DisplayUnits:()=>ea,Config_DisplayConfig_GpsCoordinateFormat:()=>Zt,Config_DisplayConfig_OledType:()=>na,Config_LoRaConfig:()=>Ke,Config_LoRaConfig_ModemPreset:()=>vn,Config_LoRaConfig_RegionCode:()=>bn,Config_NetworkConfig:()=>Cn,Config_NetworkConfig_AddressMode:()=>zt,Config_NetworkConfig_IpV4Config:()=>Qt,Config_PositionConfig:()=>kn,Config_PositionConfig_GpsMode:()=>jt,Config_PositionConfig_PositionFlags:()=>Wi,Config_PowerConfig:()=>yn,Config_SecurityConfig:()=>Sn,Config_SessionkeyConfig:()=>ia});var De=l.makeMessageType("meshtastic.Config",()=>[{no:1,name:"device",kind:"message",T:Tn,oneof:"payload_variant"},{no:2,name:"position",kind:"message",T:kn,oneof:"payload_variant"},{no:3,name:"power",kind:"message",T:yn,oneof:"payload_variant"},{no:4,name:"network",kind:"message",T:Cn,oneof:"payload_variant"},{no:5,name:"display",kind:"message",T:En,oneof:"payload_variant"},{no:6,name:"lora",kind:"message",T:Ke,oneof:"payload_variant"},{no:7,name:"bluetooth",kind:"message",T:wn,oneof:"payload_variant"},{no:8,name:"security",kind:"message",T:Sn,oneof:"payload_variant"},{no:9,name:"sessionkey",kind:"message",T:ia,oneof:"payload_variant"}]),Tn=l.makeMessageType("meshtastic.Config.DeviceConfig",()=>[{no:1,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:2,name:"serial_enabled",kind:"scalar",T:8},{no:4,name:"button_gpio",kind:"scalar",T:13},{no:5,name:"buzzer_gpio",kind:"scalar",T:13},{no:6,name:"rebroadcast_mode",kind:"enum",T:l.getEnumType(Jt)},{no:7,name:"node_info_broadcast_secs",kind:"scalar",T:13},{no:8,name:"double_tap_as_button_press",kind:"scalar",T:8},{no:9,name:"is_managed",kind:"scalar",T:8},{no:10,name:"disable_triple_click",kind:"scalar",T:8},{no:11,name:"tzdef",kind:"scalar",T:9},{no:12,name:"led_heartbeat_disabled",kind:"scalar",T:8}],{localName:"Config_DeviceConfig"}),oe=l.makeEnum("meshtastic.Config.DeviceConfig.Role",[{no:0,name:"CLIENT"},{no:1,name:"CLIENT_MUTE"},{no:2,name:"ROUTER"},{no:3,name:"ROUTER_CLIENT"},{no:4,name:"REPEATER"},{no:5,name:"TRACKER"},{no:6,name:"SENSOR"},{no:7,name:"TAK"},{no:8,name:"CLIENT_HIDDEN"},{no:9,name:"LOST_AND_FOUND"},{no:10,name:"TAK_TRACKER"}]),Jt=l.makeEnum("meshtastic.Config.DeviceConfig.RebroadcastMode",[{no:0,name:"ALL"},{no:1,name:"ALL_SKIP_DECODING"},{no:2,name:"LOCAL_ONLY"},{no:3,name:"KNOWN_ONLY"}]),kn=l.makeMessageType("meshtastic.Config.PositionConfig",()=>[{no:1,name:"position_broadcast_secs",kind:"scalar",T:13},{no:2,name:"position_broadcast_smart_enabled",kind:"scalar",T:8},{no:3,name:"fixed_position",kind:"scalar",T:8},{no:4,name:"gps_enabled",kind:"scalar",T:8},{no:5,name:"gps_update_interval",kind:"scalar",T:13},{no:6,name:"gps_attempt_time",kind:"scalar",T:13},{no:7,name:"position_flags",kind:"scalar",T:13},{no:8,name:"rx_gpio",kind:"scalar",T:13},{no:9,name:"tx_gpio",kind:"scalar",T:13},{no:10,name:"broadcast_smart_minimum_distance",kind:"scalar",T:13},{no:11,name:"broadcast_smart_minimum_interval_secs",kind:"scalar",T:13},{no:12,name:"gps_en_gpio",kind:"scalar",T:13},{no:13,name:"gps_mode",kind:"enum",T:l.getEnumType(jt)}],{localName:"Config_PositionConfig"}),Wi=l.makeEnum("meshtastic.Config.PositionConfig.PositionFlags",[{no:0,name:"UNSET"},{no:1,name:"ALTITUDE"},{no:2,name:"ALTITUDE_MSL"},{no:4,name:"GEOIDAL_SEPARATION"},{no:8,name:"DOP"},{no:16,name:"HVDOP"},{no:32,name:"SATINVIEW"},{no:64,name:"SEQ_NO"},{no:128,name:"TIMESTAMP"},{no:256,name:"HEADING"},{no:512,name:"SPEED"}]),jt=l.makeEnum("meshtastic.Config.PositionConfig.GpsMode",[{no:0,name:"DISABLED"},{no:1,name:"ENABLED"},{no:2,name:"NOT_PRESENT"}]),yn=l.makeMessageType("meshtastic.Config.PowerConfig",()=>[{no:1,name:"is_power_saving",kind:"scalar",T:8},{no:2,name:"on_battery_shutdown_after_secs",kind:"scalar",T:13},{no:3,name:"adc_multiplier_override",kind:"scalar",T:2},{no:4,name:"wait_bluetooth_secs",kind:"scalar",T:13},{no:6,name:"sds_secs",kind:"scalar",T:13},{no:7,name:"ls_secs",kind:"scalar",T:13},{no:8,name:"min_wake_secs",kind:"scalar",T:13},{no:9,name:"device_battery_ina_address",kind:"scalar",T:13},{no:32,name:"powermon_enables",kind:"scalar",T:4}],{localName:"Config_PowerConfig"}),Cn=l.makeMessageType("meshtastic.Config.NetworkConfig",()=>[{no:1,name:"wifi_enabled",kind:"scalar",T:8},{no:3,name:"wifi_ssid",kind:"scalar",T:9},{no:4,name:"wifi_psk",kind:"scalar",T:9},{no:5,name:"ntp_server",kind:"scalar",T:9},{no:6,name:"eth_enabled",kind:"scalar",T:8},{no:7,name:"address_mode",kind:"enum",T:l.getEnumType(zt)},{no:8,name:"ipv4_config",kind:"message",T:Qt},{no:9,name:"rsyslog_server",kind:"scalar",T:9}],{localName:"Config_NetworkConfig"}),zt=l.makeEnum("meshtastic.Config.NetworkConfig.AddressMode",[{no:0,name:"DHCP"},{no:1,name:"STATIC"}]),Qt=l.makeMessageType("meshtastic.Config.NetworkConfig.IpV4Config",()=>[{no:1,name:"ip",kind:"scalar",T:7},{no:2,name:"gateway",kind:"scalar",T:7},{no:3,name:"subnet",kind:"scalar",T:7},{no:4,name:"dns",kind:"scalar",T:7}],{localName:"Config_NetworkConfig_IpV4Config"}),En=l.makeMessageType("meshtastic.Config.DisplayConfig",()=>[{no:1,name:"screen_on_secs",kind:"scalar",T:13},{no:2,name:"gps_format",kind:"enum",T:l.getEnumType(Zt)},{no:3,name:"auto_screen_carousel_secs",kind:"scalar",T:13},{no:4,name:"compass_north_top",kind:"scalar",T:8},{no:5,name:"flip_screen",kind:"scalar",T:8},{no:6,name:"units",kind:"enum",T:l.getEnumType(ea)},{no:7,name:"oled",kind:"enum",T:l.getEnumType(na)},{no:8,name:"displaymode",kind:"enum",T:l.getEnumType(ta)},{no:9,name:"heading_bold",kind:"scalar",T:8},{no:10,name:"wake_on_tap_or_motion",kind:"scalar",T:8},{no:11,name:"compass_orientation",kind:"enum",T:l.getEnumType(aa)}],{localName:"Config_DisplayConfig"}),Zt=l.makeEnum("meshtastic.Config.DisplayConfig.GpsCoordinateFormat",[{no:0,name:"DEC"},{no:1,name:"DMS"},{no:2,name:"UTM"},{no:3,name:"MGRS"},{no:4,name:"OLC"},{no:5,name:"OSGR"}]),ea=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayUnits",[{no:0,name:"METRIC"},{no:1,name:"IMPERIAL"}]),na=l.makeEnum("meshtastic.Config.DisplayConfig.OledType",[{no:0,name:"OLED_AUTO"},{no:1,name:"OLED_SSD1306"},{no:2,name:"OLED_SH1106"},{no:3,name:"OLED_SH1107"}]),ta=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayMode",[{no:0,name:"DEFAULT"},{no:1,name:"TWOCOLOR"},{no:2,name:"INVERTED"},{no:3,name:"COLOR"}]),aa=l.makeEnum("meshtastic.Config.DisplayConfig.CompassOrientation",[{no:0,name:"DEGREES_0"},{no:1,name:"DEGREES_90"},{no:2,name:"DEGREES_180"},{no:3,name:"DEGREES_270"},{no:4,name:"DEGREES_0_INVERTED"},{no:5,name:"DEGREES_90_INVERTED"},{no:6,name:"DEGREES_180_INVERTED"},{no:7,name:"DEGREES_270_INVERTED"}]),Ke=l.makeMessageType("meshtastic.Config.LoRaConfig",()=>[{no:1,name:"use_preset",kind:"scalar",T:8},{no:2,name:"modem_preset",kind:"enum",T:l.getEnumType(vn)},{no:3,name:"bandwidth",kind:"scalar",T:13},{no:4,name:"spread_factor",kind:"scalar",T:13},{no:5,name:"coding_rate",kind:"scalar",T:13},{no:6,name:"frequency_offset",kind:"scalar",T:2},{no:7,name:"region",kind:"enum",T:l.getEnumType(bn)},{no:8,name:"hop_limit",kind:"scalar",T:13},{no:9,name:"tx_enabled",kind:"scalar",T:8},{no:10,name:"tx_power",kind:"scalar",T:5},{no:11,name:"channel_num",kind:"scalar",T:13},{no:12,name:"override_duty_cycle",kind:"scalar",T:8},{no:13,name:"sx126x_rx_boosted_gain",kind:"scalar",T:8},{no:14,name:"override_frequency",kind:"scalar",T:2},{no:15,name:"pa_fan_disabled",kind:"scalar",T:8},{no:103,name:"ignore_incoming",kind:"scalar",T:13,repeated:!0},{no:104,name:"ignore_mqtt",kind:"scalar",T:8},{no:105,name:"config_ok_to_mqtt",kind:"scalar",T:8}],{localName:"Config_LoRaConfig"}),bn=l.makeEnum("meshtastic.Config.LoRaConfig.RegionCode",[{no:0,name:"UNSET"},{no:1,name:"US"},{no:2,name:"EU_433"},{no:3,name:"EU_868"},{no:4,name:"CN"},{no:5,name:"JP"},{no:6,name:"ANZ"},{no:7,name:"KR"},{no:8,name:"TW"},{no:9,name:"RU"},{no:10,name:"IN"},{no:11,name:"NZ_865"},{no:12,name:"TH"},{no:13,name:"LORA_24"},{no:14,name:"UA_433"},{no:15,name:"UA_868"},{no:16,name:"MY_433"},{no:17,name:"MY_919"},{no:18,name:"SG_923"}]),vn=l.makeEnum("meshtastic.Config.LoRaConfig.ModemPreset",[{no:0,name:"LONG_FAST"},{no:1,name:"LONG_SLOW"},{no:2,name:"VERY_LONG_SLOW"},{no:3,name:"MEDIUM_SLOW"},{no:4,name:"MEDIUM_FAST"},{no:5,name:"SHORT_SLOW"},{no:6,name:"SHORT_FAST"},{no:7,name:"LONG_MODERATE"},{no:8,name:"SHORT_TURBO"}]),wn=l.makeMessageType("meshtastic.Config.BluetoothConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"mode",kind:"enum",T:l.getEnumType(oa)},{no:3,name:"fixed_pin",kind:"scalar",T:13}],{localName:"Config_BluetoothConfig"}),oa=l.makeEnum("meshtastic.Config.BluetoothConfig.PairingMode",[{no:0,name:"RANDOM_PIN"},{no:1,name:"FIXED_PIN"},{no:2,name:"NO_PIN"}]),Sn=l.makeMessageType("meshtastic.Config.SecurityConfig",()=>[{no:1,name:"public_key",kind:"scalar",T:12},{no:2,name:"private_key",kind:"scalar",T:12},{no:3,name:"admin_key",kind:"scalar",T:12,repeated:!0},{no:4,name:"is_managed",kind:"scalar",T:8},{no:5,name:"serial_enabled",kind:"scalar",T:8},{no:6,name:"debug_log_api_enabled",kind:"scalar",T:8},{no:8,name:"admin_channel_enabled",kind:"scalar",T:8}],{localName:"Config_SecurityConfig"}),ia=l.makeMessageType("meshtastic.Config.SessionkeyConfig",[],{localName:"Config_SessionkeyConfig"}),ra={};N(ra,{PortNum:()=>Nn});var Nn=l.makeEnum("meshtastic.PortNum",[{no:0,name:"UNKNOWN_APP"},{no:1,name:"TEXT_MESSAGE_APP"},{no:2,name:"REMOTE_HARDWARE_APP"},{no:3,name:"POSITION_APP"},{no:4,name:"NODEINFO_APP"},{no:5,name:"ROUTING_APP"},{no:6,name:"ADMIN_APP"},{no:7,name:"TEXT_MESSAGE_COMPRESSED_APP"},{no:8,name:"WAYPOINT_APP"},{no:9,name:"AUDIO_APP"},{no:10,name:"DETECTION_SENSOR_APP"},{no:32,name:"REPLY_APP"},{no:33,name:"IP_TUNNEL_APP"},{no:34,name:"PAXCOUNTER_APP"},{no:64,name:"SERIAL_APP"},{no:65,name:"STORE_FORWARD_APP"},{no:66,name:"RANGE_TEST_APP"},{no:67,name:"TELEMETRY_APP"},{no:68,name:"ZPS_APP"},{no:69,name:"SIMULATOR_APP"},{no:70,name:"TRACEROUTE_APP"},{no:71,name:"NEIGHBORINFO_APP"},{no:72,name:"ATAK_PLUGIN"},{no:73,name:"MAP_REPORT_APP"},{no:74,name:"POWERSTRESS_APP"},{no:256,name:"PRIVATE_APP"},{no:257,name:"ATAK_FORWARDER"},{no:511,name:"MAX"}]),sa={};N(sa,{AirQualityMetrics:()=>ma,DeviceMetrics:()=>We,EnvironmentMetrics:()=>ca,LocalStats:()=>da,Nau7802Config:()=>ji,PowerMetrics:()=>la,Telemetry:()=>Ji,TelemetrySensorType:()=>Yi});var Yi=l.makeEnum("meshtastic.TelemetrySensorType",[{no:0,name:"SENSOR_UNSET"},{no:1,name:"BME280"},{no:2,name:"BME680"},{no:3,name:"MCP9808"},{no:4,name:"INA260"},{no:5,name:"INA219"},{no:6,name:"BMP280"},{no:7,name:"SHTC3"},{no:8,name:"LPS22"},{no:9,name:"QMC6310"},{no:10,name:"QMI8658"},{no:11,name:"QMC5883L"},{no:12,name:"SHT31"},{no:13,name:"PMSA003I"},{no:14,name:"INA3221"},{no:15,name:"BMP085"},{no:16,name:"RCWL9620"},{no:17,name:"SHT4X"},{no:18,name:"VEML7700"},{no:19,name:"MLX90632"},{no:20,name:"OPT3001"},{no:21,name:"LTR390UV"},{no:22,name:"TSL25911FN"},{no:23,name:"AHT10"},{no:24,name:"DFROBOT_LARK"},{no:25,name:"NAU7802"},{no:26,name:"BMP3XX"},{no:27,name:"ICM20948"},{no:28,name:"MAX17048"},{no:29,name:"CUSTOM_SENSOR"}]),We=l.makeMessageType("meshtastic.DeviceMetrics",()=>[{no:1,name:"battery_level",kind:"scalar",T:13,opt:!0},{no:2,name:"voltage",kind:"scalar",T:2,opt:!0},{no:3,name:"channel_utilization",kind:"scalar",T:2,opt:!0},{no:4,name:"air_util_tx",kind:"scalar",T:2,opt:!0},{no:5,name:"uptime_seconds",kind:"scalar",T:13,opt:!0}]),ca=l.makeMessageType("meshtastic.EnvironmentMetrics",()=>[{no:1,name:"temperature",kind:"scalar",T:2,opt:!0},{no:2,name:"relative_humidity",kind:"scalar",T:2,opt:!0},{no:3,name:"barometric_pressure",kind:"scalar",T:2,opt:!0},{no:4,name:"gas_resistance",kind:"scalar",T:2,opt:!0},{no:5,name:"voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"current",kind:"scalar",T:2,opt:!0},{no:7,name:"iaq",kind:"scalar",T:13,opt:!0},{no:8,name:"distance",kind:"scalar",T:2,opt:!0},{no:9,name:"lux",kind:"scalar",T:2,opt:!0},{no:10,name:"white_lux",kind:"scalar",T:2,opt:!0},{no:11,name:"ir_lux",kind:"scalar",T:2,opt:!0},{no:12,name:"uv_lux",kind:"scalar",T:2,opt:!0},{no:13,name:"wind_direction",kind:"scalar",T:13,opt:!0},{no:14,name:"wind_speed",kind:"scalar",T:2,opt:!0},{no:15,name:"weight",kind:"scalar",T:2,opt:!0},{no:16,name:"wind_gust",kind:"scalar",T:2,opt:!0},{no:17,name:"wind_lull",kind:"scalar",T:2,opt:!0}]),la=l.makeMessageType("meshtastic.PowerMetrics",()=>[{no:1,name:"ch1_voltage",kind:"scalar",T:2,opt:!0},{no:2,name:"ch1_current",kind:"scalar",T:2,opt:!0},{no:3,name:"ch2_voltage",kind:"scalar",T:2,opt:!0},{no:4,name:"ch2_current",kind:"scalar",T:2,opt:!0},{no:5,name:"ch3_voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"ch3_current",kind:"scalar",T:2,opt:!0}]),ma=l.makeMessageType("meshtastic.AirQualityMetrics",()=>[{no:1,name:"pm10_standard",kind:"scalar",T:13,opt:!0},{no:2,name:"pm25_standard",kind:"scalar",T:13,opt:!0},{no:3,name:"pm100_standard",kind:"scalar",T:13,opt:!0},{no:4,name:"pm10_environmental",kind:"scalar",T:13,opt:!0},{no:5,name:"pm25_environmental",kind:"scalar",T:13,opt:!0},{no:6,name:"pm100_environmental",kind:"scalar",T:13,opt:!0},{no:7,name:"particles_03um",kind:"scalar",T:13,opt:!0},{no:8,name:"particles_05um",kind:"scalar",T:13,opt:!0},{no:9,name:"particles_10um",kind:"scalar",T:13,opt:!0},{no:10,name:"particles_25um",kind:"scalar",T:13,opt:!0},{no:11,name:"particles_50um",kind:"scalar",T:13,opt:!0},{no:12,name:"particles_100um",kind:"scalar",T:13,opt:!0}]),da=l.makeMessageType("meshtastic.LocalStats",()=>[{no:1,name:"uptime_seconds",kind:"scalar",T:13},{no:2,name:"channel_utilization",kind:"scalar",T:2},{no:3,name:"air_util_tx",kind:"scalar",T:2},{no:4,name:"num_packets_tx",kind:"scalar",T:13},{no:5,name:"num_packets_rx",kind:"scalar",T:13},{no:6,name:"num_packets_rx_bad",kind:"scalar",T:13},{no:7,name:"num_online_nodes",kind:"scalar",T:13},{no:8,name:"num_total_nodes",kind:"scalar",T:13}]),Ji=l.makeMessageType("meshtastic.Telemetry",()=>[{no:1,name:"time",kind:"scalar",T:7},{no:2,name:"device_metrics",kind:"message",T:We,oneof:"variant"},{no:3,name:"environment_metrics",kind:"message",T:ca,oneof:"variant"},{no:4,name:"air_quality_metrics",kind:"message",T:ma,oneof:"variant"},{no:5,name:"power_metrics",kind:"message",T:la,oneof:"variant"},{no:6,name:"local_stats",kind:"message",T:da,oneof:"variant"}]),ji=l.makeMessageType("meshtastic.Nau7802Config",()=>[{no:1,name:"zeroOffset",kind:"scalar",T:5},{no:2,name:"calibrationFactor",kind:"scalar",T:2}]),ua={};N(ua,{ModuleConfig:()=>Le,ModuleConfig_AmbientLightingConfig:()=>Hn,ModuleConfig_AudioConfig:()=>Pn,ModuleConfig_AudioConfig_Audio_Baud:()=>ha,ModuleConfig_CannedMessageConfig:()=>Un,ModuleConfig_CannedMessageConfig_InputEventChar:()=>Re,ModuleConfig_DetectionSensorConfig:()=>Rn,ModuleConfig_ExternalNotificationConfig:()=>Ln,ModuleConfig_MQTTConfig:()=>Mn,ModuleConfig_MapReportSettings:()=>ga,ModuleConfig_NeighborInfoConfig:()=>An,ModuleConfig_PaxcounterConfig:()=>On,ModuleConfig_RangeTestConfig:()=>xn,ModuleConfig_RemoteHardwareConfig:()=>In,ModuleConfig_SerialConfig:()=>Dn,ModuleConfig_SerialConfig_Serial_Baud:()=>pa,ModuleConfig_SerialConfig_Serial_Mode:()=>_a,ModuleConfig_StoreForwardConfig:()=>Bn,ModuleConfig_TelemetryConfig:()=>Fn,RemoteHardwarePin:()=>Gn,RemoteHardwarePinType:()=>fa});var fa=l.makeEnum("meshtastic.RemoteHardwarePinType",[{no:0,name:"UNKNOWN"},{no:1,name:"DIGITAL_READ"},{no:2,name:"DIGITAL_WRITE"}]),Le=l.makeMessageType("meshtastic.ModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:Mn,oneof:"payload_variant"},{no:2,name:"serial",kind:"message",T:Dn,oneof:"payload_variant"},{no:3,name:"external_notification",kind:"message",T:Ln,oneof:"payload_variant"},{no:4,name:"store_forward",kind:"message",T:Bn,oneof:"payload_variant"},{no:5,name:"range_test",kind:"message",T:xn,oneof:"payload_variant"},{no:6,name:"telemetry",kind:"message",T:Fn,oneof:"payload_variant"},{no:7,name:"canned_message",kind:"message",T:Un,oneof:"payload_variant"},{no:8,name:"audio",kind:"message",T:Pn,oneof:"payload_variant"},{no:9,name:"remote_hardware",kind:"message",T:In,oneof:"payload_variant"},{no:10,name:"neighbor_info",kind:"message",T:An,oneof:"payload_variant"},{no:11,name:"ambient_lighting",kind:"message",T:Hn,oneof:"payload_variant"},{no:12,name:"detection_sensor",kind:"message",T:Rn,oneof:"payload_variant"},{no:13,name:"paxcounter",kind:"message",T:On,oneof:"payload_variant"}]),Mn=l.makeMessageType("meshtastic.ModuleConfig.MQTTConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"address",kind:"scalar",T:9},{no:3,name:"username",kind:"scalar",T:9},{no:4,name:"password",kind:"scalar",T:9},{no:5,name:"encryption_enabled",kind:"scalar",T:8},{no:6,name:"json_enabled",kind:"scalar",T:8},{no:7,name:"tls_enabled",kind:"scalar",T:8},{no:8,name:"root",kind:"scalar",T:9},{no:9,name:"proxy_to_client_enabled",kind:"scalar",T:8},{no:10,name:"map_reporting_enabled",kind:"scalar",T:8},{no:11,name:"map_report_settings",kind:"message",T:ga}],{localName:"ModuleConfig_MQTTConfig"}),ga=l.makeMessageType("meshtastic.ModuleConfig.MapReportSettings",()=>[{no:1,name:"publish_interval_secs",kind:"scalar",T:13},{no:2,name:"position_precision",kind:"scalar",T:13}],{localName:"ModuleConfig_MapReportSettings"}),In=l.makeMessageType("meshtastic.ModuleConfig.RemoteHardwareConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"allow_undefined_pin_access",kind:"scalar",T:8},{no:3,name:"available_pins",kind:"message",T:Gn,repeated:!0}],{localName:"ModuleConfig_RemoteHardwareConfig"}),An=l.makeMessageType("meshtastic.ModuleConfig.NeighborInfoConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"update_interval",kind:"scalar",T:13}],{localName:"ModuleConfig_NeighborInfoConfig"}),Rn=l.makeMessageType("meshtastic.ModuleConfig.DetectionSensorConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"minimum_broadcast_secs",kind:"scalar",T:13},{no:3,name:"state_broadcast_secs",kind:"scalar",T:13},{no:4,name:"send_bell",kind:"scalar",T:8},{no:5,name:"name",kind:"scalar",T:9},{no:6,name:"monitor_pin",kind:"scalar",T:13},{no:7,name:"detection_triggered_high",kind:"scalar",T:8},{no:8,name:"use_pullup",kind:"scalar",T:8}],{localName:"ModuleConfig_DetectionSensorConfig"}),Pn=l.makeMessageType("meshtastic.ModuleConfig.AudioConfig",()=>[{no:1,name:"codec2_enabled",kind:"scalar",T:8},{no:2,name:"ptt_pin",kind:"scalar",T:13},{no:3,name:"bitrate",kind:"enum",T:l.getEnumType(ha)},{no:4,name:"i2s_ws",kind:"scalar",T:13},{no:5,name:"i2s_sd",kind:"scalar",T:13},{no:6,name:"i2s_din",kind:"scalar",T:13},{no:7,name:"i2s_sck",kind:"scalar",T:13}],{localName:"ModuleConfig_AudioConfig"}),ha=l.makeEnum("meshtastic.ModuleConfig.AudioConfig.Audio_Baud",[{no:0,name:"CODEC2_DEFAULT"},{no:1,name:"CODEC2_3200"},{no:2,name:"CODEC2_2400"},{no:3,name:"CODEC2_1600"},{no:4,name:"CODEC2_1400"},{no:5,name:"CODEC2_1300"},{no:6,name:"CODEC2_1200"},{no:7,name:"CODEC2_700"},{no:8,name:"CODEC2_700B"}]),On=l.makeMessageType("meshtastic.ModuleConfig.PaxcounterConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"paxcounter_update_interval",kind:"scalar",T:13},{no:3,name:"wifi_threshold",kind:"scalar",T:5},{no:4,name:"ble_threshold",kind:"scalar",T:5}],{localName:"ModuleConfig_PaxcounterConfig"}),Dn=l.makeMessageType("meshtastic.ModuleConfig.SerialConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"echo",kind:"scalar",T:8},{no:3,name:"rxd",kind:"scalar",T:13},{no:4,name:"txd",kind:"scalar",T:13},{no:5,name:"baud",kind:"enum",T:l.getEnumType(pa)},{no:6,name:"timeout",kind:"scalar",T:13},{no:7,name:"mode",kind:"enum",T:l.getEnumType(_a)},{no:8,name:"override_console_serial_port",kind:"scalar",T:8}],{localName:"ModuleConfig_SerialConfig"}),pa=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Baud",[{no:0,name:"BAUD_DEFAULT"},{no:1,name:"BAUD_110"},{no:2,name:"BAUD_300"},{no:3,name:"BAUD_600"},{no:4,name:"BAUD_1200"},{no:5,name:"BAUD_2400"},{no:6,name:"BAUD_4800"},{no:7,name:"BAUD_9600"},{no:8,name:"BAUD_19200"},{no:9,name:"BAUD_38400"},{no:10,name:"BAUD_57600"},{no:11,name:"BAUD_115200"},{no:12,name:"BAUD_230400"},{no:13,name:"BAUD_460800"},{no:14,name:"BAUD_576000"},{no:15,name:"BAUD_921600"}]),_a=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Mode",[{no:0,name:"DEFAULT"},{no:1,name:"SIMPLE"},{no:2,name:"PROTO"},{no:3,name:"TEXTMSG"},{no:4,name:"NMEA"},{no:5,name:"CALTOPO"},{no:6,name:"WS85"}]),Ln=l.makeMessageType("meshtastic.ModuleConfig.ExternalNotificationConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"output_ms",kind:"scalar",T:13},{no:3,name:"output",kind:"scalar",T:13},{no:8,name:"output_vibra",kind:"scalar",T:13},{no:9,name:"output_buzzer",kind:"scalar",T:13},{no:4,name:"active",kind:"scalar",T:8},{no:5,name:"alert_message",kind:"scalar",T:8},{no:10,name:"alert_message_vibra",kind:"scalar",T:8},{no:11,name:"alert_message_buzzer",kind:"scalar",T:8},{no:6,name:"alert_bell",kind:"scalar",T:8},{no:12,name:"alert_bell_vibra",kind:"scalar",T:8},{no:13,name:"alert_bell_buzzer",kind:"scalar",T:8},{no:7,name:"use_pwm",kind:"scalar",T:8},{no:14,name:"nag_timeout",kind:"scalar",T:13},{no:15,name:"use_i2s_as_buzzer",kind:"scalar",T:8}],{localName:"ModuleConfig_ExternalNotificationConfig"}),Bn=l.makeMessageType("meshtastic.ModuleConfig.StoreForwardConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"heartbeat",kind:"scalar",T:8},{no:3,name:"records",kind:"scalar",T:13},{no:4,name:"history_return_max",kind:"scalar",T:13},{no:5,name:"history_return_window",kind:"scalar",T:13},{no:6,name:"is_server",kind:"scalar",T:8}],{localName:"ModuleConfig_StoreForwardConfig"}),xn=l.makeMessageType("meshtastic.ModuleConfig.RangeTestConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"sender",kind:"scalar",T:13},{no:3,name:"save",kind:"scalar",T:8}],{localName:"ModuleConfig_RangeTestConfig"}),Fn=l.makeMessageType("meshtastic.ModuleConfig.TelemetryConfig",()=>[{no:1,name:"device_update_interval",kind:"scalar",T:13},{no:2,name:"environment_update_interval",kind:"scalar",T:13},{no:3,name:"environment_measurement_enabled",kind:"scalar",T:8},{no:4,name:"environment_screen_enabled",kind:"scalar",T:8},{no:5,name:"environment_display_fahrenheit",kind:"scalar",T:8},{no:6,name:"air_quality_enabled",kind:"scalar",T:8},{no:7,name:"air_quality_interval",kind:"scalar",T:13},{no:8,name:"power_measurement_enabled",kind:"scalar",T:8},{no:9,name:"power_update_interval",kind:"scalar",T:13},{no:10,name:"power_screen_enabled",kind:"scalar",T:8}],{localName:"ModuleConfig_TelemetryConfig"}),Un=l.makeMessageType("meshtastic.ModuleConfig.CannedMessageConfig",()=>[{no:1,name:"rotary1_enabled",kind:"scalar",T:8},{no:2,name:"inputbroker_pin_a",kind:"scalar",T:13},{no:3,name:"inputbroker_pin_b",kind:"scalar",T:13},{no:4,name:"inputbroker_pin_press",kind:"scalar",T:13},{no:5,name:"inputbroker_event_cw",kind:"enum",T:l.getEnumType(Re)},{no:6,name:"inputbroker_event_ccw",kind:"enum",T:l.getEnumType(Re)},{no:7,name:"inputbroker_event_press",kind:"enum",T:l.getEnumType(Re)},{no:8,name:"updown1_enabled",kind:"scalar",T:8},{no:9,name:"enabled",kind:"scalar",T:8},{no:10,name:"allow_input_source",kind:"scalar",T:9},{no:11,name:"send_bell",kind:"scalar",T:8}],{localName:"ModuleConfig_CannedMessageConfig"}),Re=l.makeEnum("meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar",[{no:0,name:"NONE"},{no:17,name:"UP"},{no:18,name:"DOWN"},{no:19,name:"LEFT"},{no:20,name:"RIGHT"},{no:10,name:"SELECT"},{no:27,name:"BACK"},{no:24,name:"CANCEL"}]),Hn=l.makeMessageType("meshtastic.ModuleConfig.AmbientLightingConfig",()=>[{no:1,name:"led_state",kind:"scalar",T:8},{no:2,name:"current",kind:"scalar",T:13},{no:3,name:"red",kind:"scalar",T:13},{no:4,name:"green",kind:"scalar",T:13},{no:5,name:"blue",kind:"scalar",T:13}],{localName:"ModuleConfig_AmbientLightingConfig"}),Gn=l.makeMessageType("meshtastic.RemoteHardwarePin",()=>[{no:1,name:"gpio_pin",kind:"scalar",T:13},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:l.getEnumType(fa)}]),R={};N(R,{XModem:()=>Vn,XModem_Control:()=>Ta});var Vn=l.makeMessageType("meshtastic.XModem",()=>[{no:1,name:"control",kind:"enum",T:l.getEnumType(Ta)},{no:2,name:"seq",kind:"scalar",T:13},{no:3,name:"crc16",kind:"scalar",T:13},{no:4,name:"buffer",kind:"scalar",T:12}]),Ta=l.makeEnum("meshtastic.XModem.Control",[{no:0,name:"NUL"},{no:1,name:"SOH"},{no:2,name:"STX"},{no:4,name:"EOT"},{no:6,name:"ACK"},{no:21,name:"NAK"},{no:24,name:"CAN"},{no:26,name:"CTRLZ"}]),ke=l.makeEnum("meshtastic.HardwareModel",[{no:0,name:"UNSET"},{no:1,name:"TLORA_V2"},{no:2,name:"TLORA_V1"},{no:3,name:"TLORA_V2_1_1P6"},{no:4,name:"TBEAM"},{no:5,name:"HELTEC_V2_0"},{no:6,name:"TBEAM_V0P7"},{no:7,name:"T_ECHO"},{no:8,name:"TLORA_V1_1P3"},{no:9,name:"RAK4631"},{no:10,name:"HELTEC_V2_1"},{no:11,name:"HELTEC_V1"},{no:12,name:"LILYGO_TBEAM_S3_CORE"},{no:13,name:"RAK11200"},{no:14,name:"NANO_G1"},{no:15,name:"TLORA_V2_1_1P8"},{no:16,name:"TLORA_T3_S3"},{no:17,name:"NANO_G1_EXPLORER"},{no:18,name:"NANO_G2_ULTRA"},{no:19,name:"LORA_TYPE"},{no:20,name:"WIPHONE"},{no:21,name:"WIO_WM1110"},{no:22,name:"RAK2560"},{no:23,name:"HELTEC_HRU_3601"},{no:25,name:"STATION_G1"},{no:26,name:"RAK11310"},{no:27,name:"SENSELORA_RP2040"},{no:28,name:"SENSELORA_S3"},{no:29,name:"CANARYONE"},{no:30,name:"RP2040_LORA"},{no:31,name:"STATION_G2"},{no:32,name:"LORA_RELAY_V1"},{no:33,name:"NRF52840DK"},{no:34,name:"PPR"},{no:35,name:"GENIEBLOCKS"},{no:36,name:"NRF52_UNKNOWN"},{no:37,name:"PORTDUINO"},{no:38,name:"ANDROID_SIM"},{no:39,name:"DIY_V1"},{no:40,name:"NRF52840_PCA10059"},{no:41,name:"DR_DEV"},{no:42,name:"M5STACK"},{no:43,name:"HELTEC_V3"},{no:44,name:"HELTEC_WSL_V3"},{no:45,name:"BETAFPV_2400_TX"},{no:46,name:"BETAFPV_900_NANO_TX"},{no:47,name:"RPI_PICO"},{no:48,name:"HELTEC_WIRELESS_TRACKER"},{no:49,name:"HELTEC_WIRELESS_PAPER"},{no:50,name:"T_DECK"},{no:51,name:"T_WATCH_S3"},{no:52,name:"PICOMPUTER_S3"},{no:53,name:"HELTEC_HT62"},{no:54,name:"EBYTE_ESP32_S3"},{no:55,name:"ESP32_S3_PICO"},{no:56,name:"CHATTER_2"},{no:57,name:"HELTEC_WIRELESS_PAPER_V1_0"},{no:58,name:"HELTEC_WIRELESS_TRACKER_V1_0"},{no:59,name:"UNPHONE"},{no:60,name:"TD_LORAC"},{no:61,name:"CDEBYTE_EORA_S3"},{no:62,name:"TWC_MESH_V4"},{no:63,name:"NRF52_PROMICRO_DIY"},{no:64,name:"RADIOMASTER_900_BANDIT_NANO"},{no:65,name:"HELTEC_CAPSULE_SENSOR_V3"},{no:66,name:"HELTEC_VISION_MASTER_T190"},{no:67,name:"HELTEC_VISION_MASTER_E213"},{no:68,name:"HELTEC_VISION_MASTER_E290"},{no:69,name:"HELTEC_MESH_NODE_T114"},{no:70,name:"SENSECAP_INDICATOR"},{no:71,name:"TRACKER_T1000_E"},{no:72,name:"RAK3172"},{no:73,name:"WIO_E5"},{no:74,name:"RADIOMASTER_900_BANDIT"},{no:75,name:"ME25LS01_4Y10TD"},{no:76,name:"RP2040_FEATHER_RFM95"},{no:77,name:"M5STACK_COREBASIC"},{no:78,name:"M5STACK_CORE2"},{no:255,name:"PRIVATE_HW"}]),zi=l.makeEnum("meshtastic.Constants",[{no:0,name:"ZERO"},{no:237,name:"DATA_PAYLOAD_LEN"}]),Qi=l.makeEnum("meshtastic.CriticalErrorCode",[{no:0,name:"NONE"},{no:1,name:"TX_WATCHDOG"},{no:2,name:"SLEEP_ENTER_WAIT"},{no:3,name:"NO_RADIO"},{no:4,name:"UNSPECIFIED"},{no:5,name:"UBLOX_UNIT_FAILED"},{no:6,name:"NO_AXP192"},{no:7,name:"INVALID_RADIO_SETTING"},{no:8,name:"TRANSMIT_FAILED"},{no:9,name:"BROWNOUT"},{no:10,name:"SX1262_FAILURE"},{no:11,name:"RADIO_SPI_BUG"},{no:12,name:"FLASH_CORRUPTION_RECOVERABLE"},{no:13,name:"FLASH_CORRUPTION_UNRECOVERABLE"}]),$n=l.makeMessageType("meshtastic.Position",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:2,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"altitude",kind:"scalar",T:5,opt:!0},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType(qn)},{no:6,name:"altitude_source",kind:"enum",T:l.getEnumType(ka)},{no:7,name:"timestamp",kind:"scalar",T:7},{no:8,name:"timestamp_millis_adjust",kind:"scalar",T:5},{no:9,name:"altitude_hae",kind:"scalar",T:17,opt:!0},{no:10,name:"altitude_geoidal_separation",kind:"scalar",T:17,opt:!0},{no:11,name:"PDOP",kind:"scalar",T:13},{no:12,name:"HDOP",kind:"scalar",T:13},{no:13,name:"VDOP",kind:"scalar",T:13},{no:14,name:"gps_accuracy",kind:"scalar",T:13},{no:15,name:"ground_speed",kind:"scalar",T:13,opt:!0},{no:16,name:"ground_track",kind:"scalar",T:13,opt:!0},{no:17,name:"fix_quality",kind:"scalar",T:13},{no:18,name:"fix_type",kind:"scalar",T:13},{no:19,name:"sats_in_view",kind:"scalar",T:13},{no:20,name:"sensor_id",kind:"scalar",T:13},{no:21,name:"next_update",kind:"scalar",T:13},{no:22,name:"seq_number",kind:"scalar",T:13},{no:23,name:"precision_bits",kind:"scalar",T:13}]),qn=l.makeEnum("meshtastic.Position.LocSource",[{no:0,name:"LOC_UNSET"},{no:1,name:"LOC_MANUAL"},{no:2,name:"LOC_INTERNAL"},{no:3,name:"LOC_EXTERNAL"}]),ka=l.makeEnum("meshtastic.Position.AltSource",[{no:0,name:"ALT_UNSET"},{no:1,name:"ALT_MANUAL"},{no:2,name:"ALT_INTERNAL"},{no:3,name:"ALT_EXTERNAL"},{no:4,name:"ALT_BAROMETRIC"}]),ue=l.makeMessageType("meshtastic.User",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"macaddr",kind:"scalar",T:12},{no:5,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:6,name:"is_licensed",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:8,name:"public_key",kind:"scalar",T:12}]),dn=l.makeMessageType("meshtastic.RouteDiscovery",()=>[{no:1,name:"route",kind:"scalar",T:7,repeated:!0},{no:2,name:"snr_towards",kind:"scalar",T:5,repeated:!0},{no:3,name:"route_back",kind:"scalar",T:7,repeated:!0},{no:4,name:"snr_back",kind:"scalar",T:5,repeated:!0}]),Zi=l.makeMessageType("meshtastic.Routing",()=>[{no:1,name:"route_request",kind:"message",T:dn,oneof:"variant"},{no:2,name:"route_reply",kind:"message",T:dn,oneof:"variant"},{no:3,name:"error_reason",kind:"enum",T:l.getEnumType(ya),oneof:"variant"}]),ya=l.makeEnum("meshtastic.Routing.Error",[{no:0,name:"NONE"},{no:1,name:"NO_ROUTE"},{no:2,name:"GOT_NAK"},{no:3,name:"TIMEOUT"},{no:4,name:"NO_INTERFACE"},{no:5,name:"MAX_RETRANSMIT"},{no:6,name:"NO_CHANNEL"},{no:7,name:"TOO_LARGE"},{no:8,name:"NO_RESPONSE"},{no:9,name:"DUTY_CYCLE_LIMIT"},{no:32,name:"BAD_REQUEST"},{no:33,name:"NOT_AUTHORIZED"},{no:34,name:"PKI_FAILED"},{no:35,name:"PKI_UNKNOWN_PUBKEY"}]),Ca=l.makeMessageType("meshtastic.Data",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(Nn)},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"want_response",kind:"scalar",T:8},{no:4,name:"dest",kind:"scalar",T:7},{no:5,name:"source",kind:"scalar",T:7},{no:6,name:"request_id",kind:"scalar",T:7},{no:7,name:"reply_id",kind:"scalar",T:7},{no:8,name:"emoji",kind:"scalar",T:7},{no:9,name:"bitfield",kind:"scalar",T:13,opt:!0}]),er=l.makeMessageType("meshtastic.Waypoint",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:4,name:"expire",kind:"scalar",T:13},{no:5,name:"locked_to",kind:"scalar",T:13},{no:6,name:"name",kind:"scalar",T:9},{no:7,name:"description",kind:"scalar",T:9},{no:8,name:"icon",kind:"scalar",T:7}]),Xn=l.makeMessageType("meshtastic.MqttClientProxyMessage",()=>[{no:1,name:"topic",kind:"scalar",T:9},{no:2,name:"data",kind:"scalar",T:12,oneof:"payload_variant"},{no:3,name:"text",kind:"scalar",T:9,oneof:"payload_variant"},{no:4,name:"retained",kind:"scalar",T:8}]),Y=l.makeMessageType("meshtastic.MeshPacket",()=>[{no:1,name:"from",kind:"scalar",T:7},{no:2,name:"to",kind:"scalar",T:7},{no:3,name:"channel",kind:"scalar",T:13},{no:4,name:"decoded",kind:"message",T:Ca,oneof:"payload_variant"},{no:5,name:"encrypted",kind:"scalar",T:12,oneof:"payload_variant"},{no:6,name:"id",kind:"scalar",T:7},{no:7,name:"rx_time",kind:"scalar",T:7},{no:8,name:"rx_snr",kind:"scalar",T:2},{no:9,name:"hop_limit",kind:"scalar",T:13},{no:10,name:"want_ack",kind:"scalar",T:8},{no:11,name:"priority",kind:"enum",T:l.getEnumType(Ea)},{no:12,name:"rx_rssi",kind:"scalar",T:5},{no:13,name:"delayed",kind:"enum",T:l.getEnumType(ba)},{no:14,name:"via_mqtt",kind:"scalar",T:8},{no:15,name:"hop_start",kind:"scalar",T:13},{no:16,name:"public_key",kind:"scalar",T:12},{no:17,name:"pki_encrypted",kind:"scalar",T:8}]),Ea=l.makeEnum("meshtastic.MeshPacket.Priority",[{no:0,name:"UNSET"},{no:1,name:"MIN"},{no:10,name:"BACKGROUND"},{no:64,name:"DEFAULT"},{no:70,name:"RELIABLE"},{no:80,name:"RESPONSE"},{no:100,name:"HIGH"},{no:120,name:"ACK"},{no:127,name:"MAX"}]),ba=l.makeEnum("meshtastic.MeshPacket.Delayed",[{no:0,name:"NO_DELAY"},{no:1,name:"DELAYED_BROADCAST"},{no:2,name:"DELAYED_DIRECT"}]),va=l.makeMessageType("meshtastic.NodeInfo",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:ue},{no:3,name:"position",kind:"message",T:$n},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:We},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),Kn=l.makeMessageType("meshtastic.MyNodeInfo",()=>[{no:1,name:"my_node_num",kind:"scalar",T:13},{no:8,name:"reboot_count",kind:"scalar",T:13},{no:11,name:"min_app_version",kind:"scalar",T:13}]),wa=l.makeMessageType("meshtastic.LogRecord",()=>[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"source",kind:"scalar",T:9},{no:4,name:"level",kind:"enum",T:l.getEnumType(Wn)}]),Wn=l.makeEnum("meshtastic.LogRecord.Level",[{no:0,name:"UNSET"},{no:50,name:"CRITICAL"},{no:40,name:"ERROR"},{no:30,name:"WARNING"},{no:20,name:"INFO"},{no:10,name:"DEBUG"},{no:5,name:"TRACE"}]),Sa=l.makeMessageType("meshtastic.QueueStatus",()=>[{no:1,name:"res",kind:"scalar",T:5},{no:2,name:"free",kind:"scalar",T:13},{no:3,name:"maxlen",kind:"scalar",T:13},{no:4,name:"mesh_packet_id",kind:"scalar",T:13}]),nr=l.makeMessageType("meshtastic.FromRadio",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"packet",kind:"message",T:Y,oneof:"payload_variant"},{no:3,name:"my_info",kind:"message",T:Kn,oneof:"payload_variant"},{no:4,name:"node_info",kind:"message",T:va,oneof:"payload_variant"},{no:5,name:"config",kind:"message",T:De,oneof:"payload_variant"},{no:6,name:"log_record",kind:"message",T:wa,oneof:"payload_variant"},{no:7,name:"config_complete_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:8,name:"rebooted",kind:"scalar",T:8,oneof:"payload_variant"},{no:9,name:"moduleConfig",kind:"message",T:Le,oneof:"payload_variant"},{no:10,name:"channel",kind:"message",T:de,oneof:"payload_variant"},{no:11,name:"queueStatus",kind:"message",T:Sa,oneof:"payload_variant"},{no:12,name:"xmodemPacket",kind:"message",T:Vn,oneof:"payload_variant"},{no:13,name:"metadata",kind:"message",T:Yn,oneof:"payload_variant"},{no:14,name:"mqttClientProxyMessage",kind:"message",T:Xn,oneof:"payload_variant"},{no:15,name:"fileInfo",kind:"message",T:Ma,oneof:"payload_variant"},{no:16,name:"clientNotification",kind:"message",T:Na,oneof:"payload_variant"}]),Na=l.makeMessageType("meshtastic.ClientNotification",()=>[{no:1,name:"reply_id",kind:"scalar",T:13,opt:!0},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"level",kind:"enum",T:l.getEnumType(Wn)},{no:4,name:"message",kind:"scalar",T:9}]),Ma=l.makeMessageType("meshtastic.FileInfo",()=>[{no:1,name:"file_name",kind:"scalar",T:9},{no:2,name:"size_bytes",kind:"scalar",T:13}]),tr=l.makeMessageType("meshtastic.ToRadio",()=>[{no:1,name:"packet",kind:"message",T:Y,oneof:"payload_variant"},{no:3,name:"want_config_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:4,name:"disconnect",kind:"scalar",T:8,oneof:"payload_variant"},{no:5,name:"xmodemPacket",kind:"message",T:Vn,oneof:"payload_variant"},{no:6,name:"mqttClientProxyMessage",kind:"message",T:Xn,oneof:"payload_variant"},{no:7,name:"heartbeat",kind:"message",T:Aa,oneof:"payload_variant"}]),ar=l.makeMessageType("meshtastic.Compressed",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(Nn)},{no:2,name:"data",kind:"scalar",T:12}]),or=l.makeMessageType("meshtastic.NeighborInfo",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"last_sent_by_id",kind:"scalar",T:13},{no:3,name:"node_broadcast_interval_secs",kind:"scalar",T:13},{no:4,name:"neighbors",kind:"message",T:Ia,repeated:!0}]),Ia=l.makeMessageType("meshtastic.Neighbor",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"snr",kind:"scalar",T:2},{no:3,name:"last_rx_time",kind:"scalar",T:7},{no:4,name:"node_broadcast_interval_secs",kind:"scalar",T:13}]),Yn=l.makeMessageType("meshtastic.DeviceMetadata",()=>[{no:1,name:"firmware_version",kind:"scalar",T:9},{no:2,name:"device_state_version",kind:"scalar",T:13},{no:3,name:"canShutdown",kind:"scalar",T:8},{no:4,name:"hasWifi",kind:"scalar",T:8},{no:5,name:"hasBluetooth",kind:"scalar",T:8},{no:6,name:"hasEthernet",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:8,name:"position_flags",kind:"scalar",T:13},{no:9,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:10,name:"hasRemoteHardware",kind:"scalar",T:8}]),Aa=l.makeMessageType("meshtastic.Heartbeat",[]),Jn=l.makeMessageType("meshtastic.NodeRemoteHardwarePin",()=>[{no:1,name:"node_num",kind:"scalar",T:13},{no:2,name:"pin",kind:"message",T:Gn}]),ir=l.makeMessageType("meshtastic.ChunkedPayload",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"chunk_count",kind:"scalar",T:13},{no:3,name:"chunk_index",kind:"scalar",T:13},{no:4,name:"payload_chunk",kind:"scalar",T:12}]),Ra=l.makeMessageType("meshtastic.resend_chunks",()=>[{no:1,name:"chunks",kind:"scalar",T:13,repeated:!0}]),rr=l.makeMessageType("meshtastic.ChunkedPayloadResponse",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"request_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:3,name:"accept_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"resend_chunks",kind:"message",T:Ra,oneof:"payload_variant"}]),Pa={};N(Pa,{BluetoothConnectionStatus:()=>Ba,DeviceConnectionStatus:()=>Oa,EthernetConnectionStatus:()=>La,NetworkConnectionStatus:()=>jn,SerialConnectionStatus:()=>xa,WifiConnectionStatus:()=>Da});var Oa=l.makeMessageType("meshtastic.DeviceConnectionStatus",()=>[{no:1,name:"wifi",kind:"message",T:Da,opt:!0},{no:2,name:"ethernet",kind:"message",T:La,opt:!0},{no:3,name:"bluetooth",kind:"message",T:Ba,opt:!0},{no:4,name:"serial",kind:"message",T:xa,opt:!0}]),Da=l.makeMessageType("meshtastic.WifiConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:jn},{no:2,name:"ssid",kind:"scalar",T:9},{no:3,name:"rssi",kind:"scalar",T:5}]),La=l.makeMessageType("meshtastic.EthernetConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:jn}]),jn=l.makeMessageType("meshtastic.NetworkConnectionStatus",()=>[{no:1,name:"ip_address",kind:"scalar",T:7},{no:2,name:"is_connected",kind:"scalar",T:8},{no:3,name:"is_mqtt_connected",kind:"scalar",T:8},{no:4,name:"is_syslog_connected",kind:"scalar",T:8}]),Ba=l.makeMessageType("meshtastic.BluetoothConnectionStatus",()=>[{no:1,name:"pin",kind:"scalar",T:13},{no:2,name:"rssi",kind:"scalar",T:5},{no:3,name:"is_connected",kind:"scalar",T:8}]),xa=l.makeMessageType("meshtastic.SerialConnectionStatus",()=>[{no:1,name:"baud",kind:"scalar",T:13},{no:2,name:"is_connected",kind:"scalar",T:8}]),sr=l.makeMessageType("meshtastic.AdminMessage",()=>[{no:101,name:"session_passkey",kind:"scalar",T:12},{no:1,name:"get_channel_request",kind:"scalar",T:13,oneof:"payload_variant"},{no:2,name:"get_channel_response",kind:"message",T:de,oneof:"payload_variant"},{no:3,name:"get_owner_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"get_owner_response",kind:"message",T:ue,oneof:"payload_variant"},{no:5,name:"get_config_request",kind:"enum",T:l.getEnumType(Fa),oneof:"payload_variant"},{no:6,name:"get_config_response",kind:"message",T:De,oneof:"payload_variant"},{no:7,name:"get_module_config_request",kind:"enum",T:l.getEnumType(Ua),oneof:"payload_variant"},{no:8,name:"get_module_config_response",kind:"message",T:Le,oneof:"payload_variant"},{no:10,name:"get_canned_message_module_messages_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:11,name:"get_canned_message_module_messages_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:12,name:"get_device_metadata_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:13,name:"get_device_metadata_response",kind:"message",T:Yn,oneof:"payload_variant"},{no:14,name:"get_ringtone_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:15,name:"get_ringtone_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:16,name:"get_device_connection_status_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:17,name:"get_device_connection_status_response",kind:"message",T:Oa,oneof:"payload_variant"},{no:18,name:"set_ham_mode",kind:"message",T:Ha,oneof:"payload_variant"},{no:19,name:"get_node_remote_hardware_pins_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:20,name:"get_node_remote_hardware_pins_response",kind:"message",T:Ga,oneof:"payload_variant"},{no:21,name:"enter_dfu_mode_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:22,name:"delete_file_request",kind:"scalar",T:9,oneof:"payload_variant"},{no:23,name:"set_scale",kind:"scalar",T:13,oneof:"payload_variant"},{no:32,name:"set_owner",kind:"message",T:ue,oneof:"payload_variant"},{no:33,name:"set_channel",kind:"message",T:de,oneof:"payload_variant"},{no:34,name:"set_config",kind:"message",T:De,oneof:"payload_variant"},{no:35,name:"set_module_config",kind:"message",T:Le,oneof:"payload_variant"},{no:36,name:"set_canned_message_module_messages",kind:"scalar",T:9,oneof:"payload_variant"},{no:37,name:"set_ringtone_message",kind:"scalar",T:9,oneof:"payload_variant"},{no:38,name:"remove_by_nodenum",kind:"scalar",T:13,oneof:"payload_variant"},{no:39,name:"set_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:40,name:"remove_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:41,name:"set_fixed_position",kind:"message",T:$n,oneof:"payload_variant"},{no:42,name:"remove_fixed_position",kind:"scalar",T:8,oneof:"payload_variant"},{no:43,name:"set_time_only",kind:"scalar",T:7,oneof:"payload_variant"},{no:64,name:"begin_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:65,name:"commit_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:94,name:"factory_reset_device",kind:"scalar",T:5,oneof:"payload_variant"},{no:95,name:"reboot_ota_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:96,name:"exit_simulator",kind:"scalar",T:8,oneof:"payload_variant"},{no:97,name:"reboot_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:98,name:"shutdown_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:99,name:"factory_reset_config",kind:"scalar",T:5,oneof:"payload_variant"},{no:100,name:"nodedb_reset",kind:"scalar",T:5,oneof:"payload_variant"}]),Fa=l.makeEnum("meshtastic.AdminMessage.ConfigType",[{no:0,name:"DEVICE_CONFIG"},{no:1,name:"POSITION_CONFIG"},{no:2,name:"POWER_CONFIG"},{no:3,name:"NETWORK_CONFIG"},{no:4,name:"DISPLAY_CONFIG"},{no:5,name:"LORA_CONFIG"},{no:6,name:"BLUETOOTH_CONFIG"},{no:7,name:"SECURITY_CONFIG"},{no:8,name:"SESSIONKEY_CONFIG"}]),Ua=l.makeEnum("meshtastic.AdminMessage.ModuleConfigType",[{no:0,name:"MQTT_CONFIG"},{no:1,name:"SERIAL_CONFIG"},{no:2,name:"EXTNOTIF_CONFIG"},{no:3,name:"STOREFORWARD_CONFIG"},{no:4,name:"RANGETEST_CONFIG"},{no:5,name:"TELEMETRY_CONFIG"},{no:6,name:"CANNEDMSG_CONFIG"},{no:7,name:"AUDIO_CONFIG"},{no:8,name:"REMOTEHARDWARE_CONFIG"},{no:9,name:"NEIGHBORINFO_CONFIG"},{no:10,name:"AMBIENTLIGHTING_CONFIG"},{no:11,name:"DETECTIONSENSOR_CONFIG"},{no:12,name:"PAXCOUNTER_CONFIG"}]),Ha=l.makeMessageType("meshtastic.HamParameters",()=>[{no:1,name:"call_sign",kind:"scalar",T:9},{no:2,name:"tx_power",kind:"scalar",T:5},{no:3,name:"frequency",kind:"scalar",T:2},{no:4,name:"short_name",kind:"scalar",T:9}]),Ga=l.makeMessageType("meshtastic.NodeRemoteHardwarePinsResponse",()=>[{no:1,name:"node_remote_hardware_pins",kind:"message",T:Jn,repeated:!0}]),Va={};N(Va,{ChannelSet:()=>cr});var cr=l.makeMessageType("meshtastic.ChannelSet",()=>[{no:1,name:"settings",kind:"message",T:_n,repeated:!0},{no:2,name:"lora_config",kind:"message",T:Ke}]),$a={};N($a,{CannedMessageModuleConfig:()=>lr});var lr=l.makeMessageType("meshtastic.CannedMessageModuleConfig",()=>[{no:1,name:"messages",kind:"scalar",T:9}]),qa={};N(qa,{DeviceProfile:()=>mr});var Xa={};N(Xa,{LocalConfig:()=>zn,LocalModuleConfig:()=>Qn});var zn=l.makeMessageType("meshtastic.LocalConfig",()=>[{no:1,name:"device",kind:"message",T:Tn},{no:2,name:"position",kind:"message",T:kn},{no:3,name:"power",kind:"message",T:yn},{no:4,name:"network",kind:"message",T:Cn},{no:5,name:"display",kind:"message",T:En},{no:6,name:"lora",kind:"message",T:Ke},{no:7,name:"bluetooth",kind:"message",T:wn},{no:8,name:"version",kind:"scalar",T:13},{no:9,name:"security",kind:"message",T:Sn}]),Qn=l.makeMessageType("meshtastic.LocalModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:Mn},{no:2,name:"serial",kind:"message",T:Dn},{no:3,name:"external_notification",kind:"message",T:Ln},{no:4,name:"store_forward",kind:"message",T:Bn},{no:5,name:"range_test",kind:"message",T:xn},{no:6,name:"telemetry",kind:"message",T:Fn},{no:7,name:"canned_message",kind:"message",T:Un},{no:9,name:"audio",kind:"message",T:Pn},{no:10,name:"remote_hardware",kind:"message",T:In},{no:11,name:"neighbor_info",kind:"message",T:An},{no:12,name:"ambient_lighting",kind:"message",T:Hn},{no:13,name:"detection_sensor",kind:"message",T:Rn},{no:14,name:"paxcounter",kind:"message",T:On},{no:8,name:"version",kind:"scalar",T:13}]),mr=l.makeMessageType("meshtastic.DeviceProfile",()=>[{no:1,name:"long_name",kind:"scalar",T:9,opt:!0},{no:2,name:"short_name",kind:"scalar",T:9,opt:!0},{no:3,name:"channel_url",kind:"scalar",T:9,opt:!0},{no:4,name:"config",kind:"message",T:zn,opt:!0},{no:5,name:"module_config",kind:"message",T:Qn,opt:!0}]),Ka={};N(Ka,{ChannelFile:()=>ur,DeviceState:()=>dr,NodeInfoLite:()=>ja,OEMStore:()=>fr,PositionLite:()=>Ya,ScreenFonts:()=>Wa,UserLite:()=>Ja});var Wa=l.makeEnum("meshtastic.ScreenFonts",[{no:0,name:"FONT_SMALL"},{no:1,name:"FONT_MEDIUM"},{no:2,name:"FONT_LARGE"}]),Ya=l.makeMessageType("meshtastic.PositionLite",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15},{no:2,name:"longitude_i",kind:"scalar",T:15},{no:3,name:"altitude",kind:"scalar",T:5},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType(qn)}]),Ja=l.makeMessageType("meshtastic.UserLite",()=>[{no:1,name:"macaddr",kind:"scalar",T:12},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:5,name:"is_licensed",kind:"scalar",T:8},{no:6,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:7,name:"public_key",kind:"scalar",T:12}]),ja=l.makeMessageType("meshtastic.NodeInfoLite",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:Ja},{no:3,name:"position",kind:"message",T:Ya},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:We},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),dr=l.makeMessageType("meshtastic.DeviceState",()=>[{no:2,name:"my_node",kind:"message",T:Kn},{no:3,name:"owner",kind:"message",T:ue},{no:5,name:"receive_queue",kind:"message",T:Y,repeated:!0},{no:8,name:"version",kind:"scalar",T:13},{no:7,name:"rx_text_message",kind:"message",T:Y},{no:9,name:"no_save",kind:"scalar",T:8},{no:11,name:"did_gps_reset",kind:"scalar",T:8},{no:12,name:"rx_waypoint",kind:"message",T:Y},{no:13,name:"node_remote_hardware_pins",kind:"message",T:Jn,repeated:!0},{no:14,name:"node_db_lite",kind:"message",T:ja,repeated:!0}]),ur=l.makeMessageType("meshtastic.ChannelFile",()=>[{no:1,name:"channels",kind:"message",T:de,repeated:!0},{no:2,name:"version",kind:"scalar",T:13}]),fr=l.makeMessageType("meshtastic.OEMStore",()=>[{no:1,name:"oem_icon_width",kind:"scalar",T:13},{no:2,name:"oem_icon_height",kind:"scalar",T:13},{no:3,name:"oem_icon_bits",kind:"scalar",T:12},{no:4,name:"oem_font",kind:"enum",T:l.getEnumType(Wa)},{no:5,name:"oem_text",kind:"scalar",T:9},{no:6,name:"oem_aes_key",kind:"scalar",T:12},{no:7,name:"oem_local_config",kind:"message",T:zn},{no:8,name:"oem_local_module_config",kind:"message",T:Qn}]),za={};N(za,{MapReport:()=>hr,ServiceEnvelope:()=>gr});var gr=l.makeMessageType("meshtastic.ServiceEnvelope",()=>[{no:1,name:"packet",kind:"message",T:Y},{no:2,name:"channel_id",kind:"scalar",T:9},{no:3,name:"gateway_id",kind:"scalar",T:9}]),hr=l.makeMessageType("meshtastic.MapReport",()=>[{no:1,name:"long_name",kind:"scalar",T:9},{no:2,name:"short_name",kind:"scalar",T:9},{no:3,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:5,name:"firmware_version",kind:"scalar",T:9},{no:6,name:"region",kind:"enum",T:l.getEnumType(bn)},{no:7,name:"modem_preset",kind:"enum",T:l.getEnumType(vn)},{no:8,name:"has_default_channel",kind:"scalar",T:8},{no:9,name:"latitude_i",kind:"scalar",T:15},{no:10,name:"longitude_i",kind:"scalar",T:15},{no:11,name:"altitude",kind:"scalar",T:5},{no:12,name:"position_precision",kind:"scalar",T:13},{no:13,name:"num_online_local_nodes",kind:"scalar",T:13}]),Qa={};N(Qa,{Paxcount:()=>pr});var pr=l.makeMessageType("meshtastic.Paxcount",()=>[{no:1,name:"wifi",kind:"scalar",T:13},{no:2,name:"ble",kind:"scalar",T:13},{no:3,name:"uptime",kind:"scalar",T:13}]),Za={};N(Za,{HardwareMessage:()=>_r,HardwareMessage_Type:()=>eo});var _r=l.makeMessageType("meshtastic.HardwareMessage",()=>[{no:1,name:"type",kind:"enum",T:l.getEnumType(eo)},{no:2,name:"gpio_mask",kind:"scalar",T:4},{no:3,name:"gpio_value",kind:"scalar",T:4}]),eo=l.makeEnum("meshtastic.HardwareMessage.Type",[{no:0,name:"UNSET"},{no:1,name:"WRITE_GPIOS"},{no:2,name:"WATCH_GPIOS"},{no:3,name:"GPIOS_CHANGED"},{no:4,name:"READ_GPIOS"},{no:5,name:"READ_GPIOS_REPLY"}]),no={};N(no,{RTTTLConfig:()=>Tr});var Tr=l.makeMessageType("meshtastic.RTTTLConfig",()=>[{no:1,name:"ringtone",kind:"scalar",T:9}]),to={};N(to,{StoreAndForward:()=>kr,StoreAndForward_Heartbeat:()=>ro,StoreAndForward_History:()=>io,StoreAndForward_RequestResponse:()=>ao,StoreAndForward_Statistics:()=>oo});var kr=l.makeMessageType("meshtastic.StoreAndForward",()=>[{no:1,name:"rr",kind:"enum",T:l.getEnumType(ao)},{no:2,name:"stats",kind:"message",T:oo,oneof:"variant"},{no:3,name:"history",kind:"message",T:io,oneof:"variant"},{no:4,name:"heartbeat",kind:"message",T:ro,oneof:"variant"},{no:5,name:"text",kind:"scalar",T:12,oneof:"variant"}]),ao=l.makeEnum("meshtastic.StoreAndForward.RequestResponse",[{no:0,name:"UNSET"},{no:1,name:"ROUTER_ERROR"},{no:2,name:"ROUTER_HEARTBEAT"},{no:3,name:"ROUTER_PING"},{no:4,name:"ROUTER_PONG"},{no:5,name:"ROUTER_BUSY"},{no:6,name:"ROUTER_HISTORY"},{no:7,name:"ROUTER_STATS"},{no:8,name:"ROUTER_TEXT_DIRECT"},{no:9,name:"ROUTER_TEXT_BROADCAST"},{no:64,name:"CLIENT_ERROR"},{no:65,name:"CLIENT_HISTORY"},{no:66,name:"CLIENT_STATS"},{no:67,name:"CLIENT_PING"},{no:68,name:"CLIENT_PONG"},{no:106,name:"CLIENT_ABORT"}]),oo=l.makeMessageType("meshtastic.StoreAndForward.Statistics",()=>[{no:1,name:"messages_total",kind:"scalar",T:13},{no:2,name:"messages_saved",kind:"scalar",T:13},{no:3,name:"messages_max",kind:"scalar",T:13},{no:4,name:"up_time",kind:"scalar",T:13},{no:5,name:"requests",kind:"scalar",T:13},{no:6,name:"requests_history",kind:"scalar",T:13},{no:7,name:"heartbeat",kind:"scalar",T:8},{no:8,name:"return_max",kind:"scalar",T:13},{no:9,name:"return_window",kind:"scalar",T:13}],{localName:"StoreAndForward_Statistics"}),io=l.makeMessageType("meshtastic.StoreAndForward.History",()=>[{no:1,name:"history_messages",kind:"scalar",T:13},{no:2,name:"window",kind:"scalar",T:13},{no:3,name:"last_request",kind:"scalar",T:13}],{localName:"StoreAndForward_History"}),ro=l.makeMessageType("meshtastic.StoreAndForward.Heartbeat",()=>[{no:1,name:"period",kind:"scalar",T:13},{no:2,name:"secondary",kind:"scalar",T:13}],{localName:"StoreAndForward_Heartbeat"}),yr={};N(yr,{ChannelNumber:()=>mo,DeviceStatusEnum:()=>so,Emitter:()=>lo,EmitterScope:()=>co});var so=(e=>(e[e.DeviceRestarting=1]="DeviceRestarting",e[e.DeviceDisconnected=2]="DeviceDisconnected",e[e.DeviceConnecting=3]="DeviceConnecting",e[e.DeviceReconnecting=4]="DeviceReconnecting",e[e.DeviceConnected=5]="DeviceConnected",e[e.DeviceConfiguring=6]="DeviceConfiguring",e[e.DeviceConfigured=7]="DeviceConfigured",e))(so||{}),co=(e=>(e[e.MeshDevice=1]="MeshDevice",e[e.SerialConnection=2]="SerialConnection",e[e.NodeSerialConnection=3]="NodeSerialConnection",e[e.BleConnection=4]="BleConnection",e[e.HttpConnection=5]="HttpConnection",e))(co||{}),lo=(e=>(e[e.Constructor=0]="Constructor",e[e.SendText=1]="SendText",e[e.SendWaypoint=2]="SendWaypoint",e[e.SendPacket=3]="SendPacket",e[e.SendRaw=4]="SendRaw",e[e.SetConfig=5]="SetConfig",e[e.SetModuleConfig=6]="SetModuleConfig",e[e.ConfirmSetConfig=7]="ConfirmSetConfig",e[e.SetOwner=8]="SetOwner",e[e.SetChannel=9]="SetChannel",e[e.ConfirmSetChannel=10]="ConfirmSetChannel",e[e.ClearChannel=11]="ClearChannel",e[e.GetChannel=12]="GetChannel",e[e.GetAllChannels=13]="GetAllChannels",e[e.GetConfig=14]="GetConfig",e[e.GetModuleConfig=15]="GetModuleConfig",e[e.GetOwner=16]="GetOwner",e[e.Configure=17]="Configure",e[e.HandleFromRadio=18]="HandleFromRadio",e[e.HandleMeshPacket=19]="HandleMeshPacket",e[e.Connect=20]="Connect",e[e.Ping=21]="Ping",e[e.ReadFromRadio=22]="ReadFromRadio",e[e.WriteToRadio=23]="WriteToRadio",e[e.SetDebugMode=24]="SetDebugMode",e[e.GetMetadata=25]="GetMetadata",e[e.ResetNodes=26]="ResetNodes",e[e.Shutdown=27]="Shutdown",e[e.Reboot=28]="Reboot",e[e.RebootOta=29]="RebootOta",e[e.FactoryReset=30]="FactoryReset",e[e.EnterDfuMode=31]="EnterDfuMode",e[e.RemoveNodeByNum=32]="RemoveNodeByNum",e[e.SetCannedMessages=33]="SetCannedMessages",e))(lo||{}),mo=(e=>(e[e.Primary=0]="Primary",e[e.Channel1=1]="Channel1",e[e.Channel2=2]="Channel2",e[e.Channel3=3]="Channel3",e[e.Channel4=4]="Channel4",e[e.Channel5=5]="Channel5",e[e.Channel6=6]="Channel6",e[e.Admin=7]="Admin",e))(mo||{}),Cr={};N(Cr,{EventSystem:()=>Er,Queue:()=>vr,Xmodem:()=>Sr,transformHandler:()=>wr,typedArrayToBuffer:()=>br});var Er=class{constructor(){p(this,"onLogEvent",new C.SimpleEventDispatcher);p(this,"onFromRadio",new C.SimpleEventDispatcher);p(this,"onMeshPacket",new C.SimpleEventDispatcher);p(this,"onMyNodeInfo",new C.SimpleEventDispatcher);p(this,"onNodeInfoPacket",new C.SimpleEventDispatcher);p(this,"onChannelPacket",new C.SimpleEventDispatcher);p(this,"onConfigPacket",new C.SimpleEventDispatcher);p(this,"onModuleConfigPacket",new C.SimpleEventDispatcher);p(this,"onAtakPacket",new C.SimpleEventDispatcher);p(this,"onMessagePacket",new C.SimpleEventDispatcher);p(this,"onRemoteHardwarePacket",new C.SimpleEventDispatcher);p(this,"onPositionPacket",new C.SimpleEventDispatcher);p(this,"onUserPacket",new C.SimpleEventDispatcher);p(this,"onRoutingPacket",new C.SimpleEventDispatcher);p(this,"onDeviceMetadataPacket",new C.SimpleEventDispatcher);p(this,"onWaypointPacket",new C.SimpleEventDispatcher);p(this,"onAudioPacket",new C.SimpleEventDispatcher);p(this,"onDetectionSensorPacket",new C.SimpleEventDispatcher);p(this,"onPingPacket",new C.SimpleEventDispatcher);p(this,"onIpTunnelPacket",new C.SimpleEventDispatcher);p(this,"onPaxcounterPacket",new C.SimpleEventDispatcher);p(this,"onSerialPacket",new C.SimpleEventDispatcher);p(this,"onStoreForwardPacket",new C.SimpleEventDispatcher);p(this,"onRangeTestPacket",new C.SimpleEventDispatcher);p(this,"onTelemetryPacket",new C.SimpleEventDispatcher);p(this,"onZpsPacket",new C.SimpleEventDispatcher);p(this,"onSimulatorPacket",new C.SimpleEventDispatcher);p(this,"onTraceRoutePacket",new C.SimpleEventDispatcher);p(this,"onNeighborInfoPacket",new C.SimpleEventDispatcher);p(this,"onAtakPluginPacket",new C.SimpleEventDispatcher);p(this,"onMapReportPacket",new C.SimpleEventDispatcher);p(this,"onPrivatePacket",new C.SimpleEventDispatcher);p(this,"onAtakForwarderPacket",new C.SimpleEventDispatcher);p(this,"onDeviceStatus",new C.SimpleEventDispatcher);p(this,"onLogRecord",new C.SimpleEventDispatcher);p(this,"onMeshHeartbeat",new C.SimpleEventDispatcher);p(this,"onDeviceDebugLog",new C.SimpleEventDispatcher);p(this,"onPendingSettingsChange",new C.SimpleEventDispatcher);p(this,"onQueueStatus",new C.SimpleEventDispatcher)}},br=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),vr=class{constructor(){p(this,"queue",[]);p(this,"lock",!1);p(this,"ackNotifier",new C.SimpleEventDispatcher);p(this,"errorNotifier",new C.SimpleEventDispatcher);p(this,"timeout");this.timeout=6e4}getState(){return this.queue}clear(){this.queue=[]}push(e){const n={...e,sent:!1,added:new Date,promise:new Promise((t,o)=>{this.ackNotifier.subscribe(a=>{e.id===a&&(this.remove(e.id),t(a))}),this.errorNotifier.subscribe(a=>{e.id===a.id&&(this.remove(e.id),o(a))}),setTimeout(()=>{if(this.queue.findIndex(a=>a.id===e.id)!==-1){this.remove(e.id);const a=W.ToRadio.fromBinary(e.data);console.warn(`Packet ${e.id} of type ${a.payloadVariant.case} timed out`),o({id:e.id,error:W.Routing_Error.TIMEOUT})}},this.timeout)})};this.queue.push(n)}remove(e){if(this.lock){setTimeout(()=>this.remove(e),100);return}this.queue=this.queue.filter(n=>n.id!==e)}processAck(e){this.ackNotifier.dispatch(e)}processError(e){console.error(`Error received for packet ${e.id}: ${W.Routing_Error[e.error]}`),this.errorNotifier.dispatch(e)}async wait(e){const n=this.queue.find(t=>t.id===e);if(!n)throw new Error("Packet does not exist");return n.promise}async processQueue(e){if(!this.lock){for(this.lock=!0;this.queue.filter(n=>!n.sent).length>0;){const n=this.queue.filter(t=>!t.sent)[0];if(n){await new Promise(t=>setTimeout(t,200));try{await e(n.data),n.sent=!0}catch(t){console.error(`Error sending packet ${n.id}`,t)}}}this.lock=!1}}},wr=(e,n,t,o)=>{let a=new Uint8Array([]);return new TransformStream({transform(i,r){e=e.getSubLogger({name:"streamTransformer"}),n.subscribe(()=>{r.terminate()}),a=new Uint8Array([...a,...i]);let s=!1;for(;a.length!==0&&!s;){const c=a.findIndex(m=>m===148);if(a[c+1]===195){a.subarray(0,c).length&&(o?t.dispatch(a.subarray(0,c)):e.warn(2,20,`⚠️ Found unneccesary message padding, removing: ${a.subarray(0,c).toString()}`),a=a.subarray(c));const m=a[2],g=a[3];if(m!==void 0&&g!==void 0&&a.length>=4+(m<<8)+g){const f=a.subarray(4,4+(m<<8)+g),h=f.findIndex(_=>_===148);h!==-1&&f[h+1]===195?(e.warn(2,20,`⚠️ Malformed packet found, discarding: ${a.subarray(0,h-1).toString()}`,W.LogRecord_Level.WARNING),a=a.subarray(h)):(a=a.subarray(3+(m<<8)+g+1),r.enqueue(f))}else s=!0}else s=!0}}})},Sr=class{constructor(e){p(this,"sendRaw");p(this,"rxBuffer");p(this,"txBuffer");p(this,"textEncoder");p(this,"counter");this.sendRaw=e,this.rxBuffer=[],this.txBuffer=[],this.textEncoder=new TextEncoder,this.counter=0}async downloadFile(e){return await this.sendCommand(R.XModem_Control.STX,this.textEncoder.encode(e),0)}async uploadFile(e,n){for(let t=0;tsetTimeout(n,100)),e.control){case R.XModem_Control.NUL:break;case R.XModem_Control.SOH:return this.counter=e.seq,this.validateCrc16(e)?(this.rxBuffer[this.counter]=e.buffer,this.sendCommand(R.XModem_Control.ACK)):await this.sendCommand(R.XModem_Control.NAK,void 0,e.seq);case R.XModem_Control.STX:break;case R.XModem_Control.EOT:break;case R.XModem_Control.ACK:{if(this.counter++,this.txBuffer[this.counter-1])return this.sendCommand(R.XModem_Control.SOH,this.txBuffer[this.counter-1],this.counter,Ze(this.txBuffer[this.counter-1]??new Uint8Array));if(this.counter===this.txBuffer.length+1)return this.sendCommand(R.XModem_Control.EOT);this.clear();break}case R.XModem_Control.NAK:return this.sendCommand(R.XModem_Control.SOH,this.txBuffer[this.counter],this.counter,Ze(this.txBuffer[this.counter-1]??new Uint8Array));case R.XModem_Control.CAN:{this.clear();break}case R.XModem_Control.CTRLZ:break}return Promise.resolve(0)}validateCrc16(e){return Ze(e.buffer)===e.crc16}clear(){this.counter=0,this.rxBuffer=[],this.txBuffer=[]}};function Nr({channelName:e,psk:n,pskType:t,region:o,modemPreset:a,hopLimit:i,uplinkEnabled:r,downlinkEnabled:s,positionPrecision:c,isClientMuted:d,ignoreMqtt:m,configOkToMqtt:g}){const f=new se.Config.Config_LoRaConfig({region:o||5,usePreset:!0,modemPreset:a||0,hopLimit:i||3,ignoreMqtt:m||!1,configOkToMqtt:g||!1}),h=new se.Channel.ModuleSettings({positionPrecision:c||0,isClientMuted:d||!1}),_=new se.Channel.ChannelSettings({psk:t==="none"?new Uint8Array:new TextEncoder().encode(n),name:e,uplinkEnabled:r||!1,downlinkEnabled:s||!1,moduleSettings:h}),E=new se.AppOnly.ChannelSet({settings:[_],loraConfig:f});return console.log("Generated Protobuf message:",E),E}var ye={},Mr=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},uo={},O={};let Zn;const Ir=[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];O.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17};O.getSymbolTotalCodewords=function(n){return Ir[n]};O.getBCHDigit=function(e){let n=0;for(;e!==0;)n++,e>>>=1;return n};O.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');Zn=n};O.isKanjiModeEnabled=function(){return typeof Zn<"u"};O.toSJIS=function(n){return Zn(n)};var Ye={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function n(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.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: "+t)}}e.isValid=function(o){return o&&typeof o.bit<"u"&&o.bit>=0&&o.bit<4},e.from=function(o,a){if(e.isValid(o))return o;try{return n(o)}catch{return a}}})(Ye);function fo(){this.buffer=[],this.length=0}fo.prototype={get:function(e){const n=Math.floor(e/8);return(this.buffer[n]>>>7-e%8&1)===1},put:function(e,n){for(let t=0;t>>n-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),e&&(this.buffer[n]|=128>>>this.length%8),this.length++}};var Ar=fo;function Ce(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}Ce.prototype.set=function(e,n,t,o){const a=e*this.size+n;this.data[a]=t,o&&(this.reservedBit[a]=!0)};Ce.prototype.get=function(e,n){return this.data[e*this.size+n]};Ce.prototype.xor=function(e,n,t){this.data[e*this.size+n]^=t};Ce.prototype.isReserved=function(e,n){return this.reservedBit[e*this.size+n]};var Rr=Ce,go={};(function(e){const n=O.getSymbolSize;e.getRowColCoords=function(o){if(o===1)return[];const a=Math.floor(o/7)+2,i=n(o),r=i===145?26:Math.ceil((i-13)/(2*a-2))*2,s=[i-7];for(let c=1;c=0&&a<=7},e.from=function(a){return e.isValid(a)?parseInt(a,10):void 0},e.getPenaltyN1=function(a){const i=a.size;let r=0,s=0,c=0,d=null,m=null;for(let g=0;g=5&&(r+=n.N1+(s-5)),d=h,s=1),h=a.get(f,g),h===m?c++:(c>=5&&(r+=n.N1+(c-5)),m=h,c=1)}s>=5&&(r+=n.N1+(s-5)),c>=5&&(r+=n.N1+(c-5))}return r},e.getPenaltyN2=function(a){const i=a.size;let r=0;for(let s=0;s=10&&(s===1488||s===93)&&r++,c=c<<1&2047|a.get(m,d),m>=10&&(c===1488||c===93)&&r++}return r*n.N3},e.getPenaltyN4=function(a){let i=0;const r=a.data.length;for(let c=0;c=0;){const r=i[0];for(let c=0;c0){const i=new Uint8Array(this.degree);return i.set(o,a),i}return o};var Or=et,ko={},X={},nt={};nt.isValid=function(n){return!isNaN(n)&&n>=1&&n<=40};var F={};const yo="[0-9]+",Dr="[A-Z $%*+\\-./:]+";let fe="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";fe=fe.replace(/u/g,"\\u");const Lr="(?:(?![A-Z0-9 $%*+\\-./:]|"+fe+`)(?:.|[\r -]))+`;F.KANJI=new RegExp(fe,"g");F.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");F.BYTE=new RegExp(Lr,"g");F.NUMERIC=new RegExp(yo,"g");F.ALPHANUMERIC=new RegExp(Dr,"g");const Br=new RegExp("^"+fe+"$"),xr=new RegExp("^"+yo+"$"),Fr=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");F.testKanji=function(n){return Br.test(n)};F.testNumeric=function(n){return xr.test(n)};F.testAlphanumeric=function(n){return Fr.test(n)};(function(e){const n=nt,t=F;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(i,r){if(!i.ccBits)throw new Error("Invalid mode: "+i);if(!n.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?i.ccBits[0]:r<27?i.ccBits[1]:i.ccBits[2]},e.getBestModeForData=function(i){return t.testNumeric(i)?e.NUMERIC:t.testAlphanumeric(i)?e.ALPHANUMERIC:t.testKanji(i)?e.KANJI:e.BYTE},e.toString=function(i){if(i&&i.id)return i.id;throw new Error("Invalid mode")},e.isValid=function(i){return i&&i.bit&&i.ccBits};function o(a){if(typeof a!="string")throw new Error("Param is not a string");switch(a.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: "+a)}}e.from=function(i,r){if(e.isValid(i))return i;try{return o(i)}catch{return r}}})(X);(function(e){const n=O,t=Je,o=Ye,a=X,i=nt,r=7973,s=n.getBCHDigit(r);function c(f,h,_){for(let E=1;E<=40;E++)if(h<=e.getCapacity(E,_,f))return E}function d(f,h){return a.getCharCountIndicator(f,h)+4}function m(f,h){let _=0;return f.forEach(function(E){const A=d(E.mode,h);_+=A+E.getBitsLength()}),_}function g(f,h){for(let _=1;_<=40;_++)if(m(f,_)<=e.getCapacity(_,h,a.MIXED))return _}e.from=function(h,_){return i.isValid(h)?parseInt(h,10):_},e.getCapacity=function(h,_,E){if(!i.isValid(h))throw new Error("Invalid QR Code version");typeof E>"u"&&(E=a.BYTE);const A=n.getSymbolTotalCodewords(h),y=t.getTotalCodewordsCount(h,_),b=(A-y)*8;if(E===a.MIXED)return b;const k=b-d(E,h);switch(E){case a.NUMERIC:return Math.floor(k/10*3);case a.ALPHANUMERIC:return Math.floor(k/11*2);case a.KANJI:return Math.floor(k/13);case a.BYTE:default:return Math.floor(k/8)}},e.getBestVersionForData=function(h,_){let E;const A=o.from(_,o.M);if(Array.isArray(h)){if(h.length>1)return g(h,A);if(h.length===0)return 1;E=h[0]}else E=h;return c(E.mode,E.getLength(),A)},e.getEncodedBits=function(h){if(!i.isValid(h)||h<7)throw new Error("Invalid QR Code version");let _=h<<12;for(;n.getBCHDigit(_)-s>=0;)_^=r<=0;)a^=Eo<0&&(o=this.data.substr(t),a=parseInt(o,10),n.put(a,i*3+1))};var Gr=Q;const Vr=X,an=["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 Z(e){this.mode=Vr.ALPHANUMERIC,this.data=e}Z.getBitsLength=function(n){return 11*Math.floor(n/2)+6*(n%2)};Z.prototype.getLength=function(){return this.data.length};Z.prototype.getBitsLength=function(){return Z.getBitsLength(this.data.length)};Z.prototype.write=function(n){let t;for(t=0;t+2<=this.data.length;t+=2){let o=an.indexOf(this.data[t])*45;o+=an.indexOf(this.data[t+1]),n.put(o,11)}this.data.length%2&&n.put(an.indexOf(this.data[t]),6)};var $r=Z;const qr=X;function ee(e){this.mode=qr.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}ee.getBitsLength=function(n){return n*8};ee.prototype.getLength=function(){return this.data.length};ee.prototype.getBitsLength=function(){return ee.getBitsLength(this.data.length)};ee.prototype.write=function(e){for(let n=0,t=this.data.length;n=33088&&t<=40956)t-=33088;else if(t>=57408&&t<=60351)t-=49472;else throw new Error("Invalid SJIS character: "+this.data[n]+` -Make sure your charset is UTF-8`);t=(t>>>8&255)*192+(t&255),e.put(t,13)}};var Yr=ne,vo={exports:{}};(function(e){var n={single_source_shortest_paths:function(t,o,a){var i={},r={};r[o]=0;var s=n.PriorityQueue.make();s.push(o,0);for(var c,d,m,g,f,h,_,E,A;!s.empty();){c=s.pop(),d=c.value,g=c.cost,f=t[d]||{};for(m in f)f.hasOwnProperty(m)&&(h=f[m],_=g+h,E=r[m],A=typeof r[m]>"u",(A||E>_)&&(r[m]=_,s.push(m,_),i[m]=d))}if(typeof a<"u"&&typeof r[a]>"u"){var y=["Could not find a path from ",o," to ",a,"."].join("");throw new Error(y)}return i},extract_shortest_path_from_predecessor_list:function(t,o){for(var a=[],i=o;i;)a.push(i),t[i],i=t[i];return a.reverse(),a},find_path:function(t,o,a){var i=n.single_source_shortest_paths(t,o,a);return n.extract_shortest_path_from_predecessor_list(i,a)},PriorityQueue:{make:function(t){var o=n.PriorityQueue,a={},i;t=t||{};for(i in o)o.hasOwnProperty(i)&&(a[i]=o[i]);return a.queue=[],a.sorter=t.sorter||o.default_sorter,a},default_sorter:function(t,o){return t.cost-o.cost},push:function(t,o){var a={value:t,cost:o};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=n})(vo);var Jr=vo.exports;(function(e){const n=X,t=Gr,o=$r,a=Xr,i=Yr,r=F,s=O,c=Jr;function d(y){return unescape(encodeURIComponent(y)).length}function m(y,b,k){const T=[];let v;for(;(v=y.exec(k))!==null;)T.push({data:v[0],index:v.index,mode:b,length:v[0].length});return T}function g(y){const b=m(r.NUMERIC,n.NUMERIC,y),k=m(r.ALPHANUMERIC,n.ALPHANUMERIC,y);let T,v;return s.isKanjiModeEnabled()?(T=m(r.BYTE,n.BYTE,y),v=m(r.KANJI,n.KANJI,y)):(T=m(r.BYTE_KANJI,n.BYTE,y),v=[]),b.concat(k,T,v).sort(function(I,D){return I.index-D.index}).map(function(I){return{data:I.data,mode:I.mode,length:I.length}})}function f(y,b){switch(b){case n.NUMERIC:return t.getBitsLength(y);case n.ALPHANUMERIC:return o.getBitsLength(y);case n.KANJI:return i.getBitsLength(y);case n.BYTE:return a.getBitsLength(y)}}function h(y){return y.reduce(function(b,k){const T=b.length-1>=0?b[b.length-1]:null;return T&&T.mode===k.mode?(b[b.length-1].data+=k.data,b):(b.push(k),b)},[])}function _(y){const b=[];for(let k=0;k=0&&s<=6&&(c===0||c===6)||c>=0&&c<=6&&(s===0||s===6)||s>=2&&s<=4&&c>=2&&c<=4?e.set(i+s,r+c,!0,!0):e.set(i+s,r+c,!1,!0))}}function os(e){const n=e.size;for(let t=8;t>s&1)===1,e.set(a,i,r,!0),e.set(i,a,r,!0)}function sn(e,n,t){const o=e.size,a=ns.getEncodedBits(n,t);let i,r;for(i=0;i<15;i++)r=(a>>i&1)===1,i<6?e.set(i,8,r,!0):i<8?e.set(i+1,8,r,!0):e.set(o-15+i,8,r,!0),i<8?e.set(8,o-i-1,r,!0):i<9?e.set(8,15-i-1+1,r,!0):e.set(8,15-i-1,r,!0);e.set(o-8,8,1,!0)}function ss(e,n){const t=e.size;let o=-1,a=t-1,i=7,r=0;for(let s=t-1;s>0;s-=2)for(s===6&&s--;;){for(let c=0;c<2;c++)if(!e.isReserved(a,s-c)){let d=!1;r>>i&1)===1),e.set(a,s-c,d),i--,i===-1&&(r++,i=7)}if(a+=o,a<0||t<=a){a-=o,o=-o;break}}}function cs(e,n,t){const o=new jr;t.forEach(function(c){o.put(c.mode.bit,4),o.put(c.getLength(),ts.getCharCountIndicator(c.mode,e)),c.write(o)});const a=ze.getSymbolTotalCodewords(e),i=gn.getTotalCodewordsCount(e,n),r=(a-i)*8;for(o.getLengthInBits()+4<=r&&o.put(0,4);o.getLengthInBits()%8!==0;)o.putBit(0);const s=(r-o.getLengthInBits())/8;for(let c=0;c=7&&rs(c,n),ss(c,r),isNaN(o)&&(o=fn.getBestMask(c,sn.bind(null,c,t))),fn.applyMask(o,c),sn(c,t,o),{modules:c,version:n,errorCorrectionLevel:t,maskPattern:o,segments:a}}uo.create=function(n,t){if(typeof n>"u"||n==="")throw new Error("No input text");let o=on.M,a,i;return typeof t<"u"&&(o=on.from(t.errorCorrectionLevel,on.M),a=xe.from(t.version),i=fn.from(t.maskPattern),t.toSJISFunc&&ze.setToSJISFunction(t.toSJISFunc)),ms(n,a,o,i)};var wo={},tt={};(function(e){function n(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let o=t.slice().replace("#","").split("");if(o.length<3||o.length===5||o.length>8)throw new Error("Invalid hex color: "+t);(o.length===3||o.length===4)&&(o=Array.prototype.concat.apply([],o.map(function(i){return[i,i]}))),o.length===6&&o.push("F","F");const a=parseInt(o.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:a&255,hex:"#"+o.slice(0,6).join("")}}e.getOptions=function(o){o||(o={}),o.color||(o.color={});const a=typeof o.margin>"u"||o.margin===null||o.margin<0?4:o.margin,i=o.width&&o.width>=21?o.width:void 0,r=o.scale||4;return{width:i,scale:i?4:r,margin:a,color:{dark:n(o.color.dark||"#000000ff"),light:n(o.color.light||"#ffffffff")},type:o.type,rendererOpts:o.rendererOpts||{}}},e.getScale=function(o,a){return a.width&&a.width>=o+a.margin*2?a.width/(o+a.margin*2):a.scale},e.getImageWidth=function(o,a){const i=e.getScale(o,a);return Math.floor((o+a.margin*2)*i)},e.qrToImageData=function(o,a,i){const r=a.modules.size,s=a.modules.data,c=e.getScale(r,i),d=Math.floor((r+i.margin*2)*c),m=i.margin*c,g=[i.color.light,i.color.dark];for(let f=0;f=m&&h>=m&&f"u"&&(!r||!r.getContext)&&(c=r,r=void 0),r||(d=o()),c=n.getOptions(c);const m=n.getImageWidth(i.modules.size,c),g=d.getContext("2d"),f=g.createImageData(m,m);return n.qrToImageData(f.data,i,c),t(g,d,m),g.putImageData(f,0,0),d},e.renderToDataURL=function(i,r,s){let c=s;typeof c>"u"&&(!r||!r.getContext)&&(c=r,r=void 0),c||(c={});const d=e.render(i,r,c),m=c.type||"image/png",g=c.rendererOpts||{};return d.toDataURL(m,g.quality)}})(wo);var So={};const ds=tt;function Ct(e,n){const t=e.a/255,o=n+'="'+e.hex+'"';return t<1?o+" "+n+'-opacity="'+t.toFixed(2).slice(1)+'"':o}function cn(e,n,t){let o=e+n;return typeof t<"u"&&(o+=" "+t),o}function us(e,n,t){let o="",a=0,i=!1,r=0;for(let s=0;s0&&c>0&&e[s-1]||(o+=i?cn("M",c+t,.5+d+t):cn("m",a,0),a=0,i=!1),c+1':"",d="',m='viewBox="0 0 '+s+" "+s+'"',f=''+c+d+` -`;return typeof o=="function"&&o(null,f),f};const fs=Mr,hn=uo,No=wo,gs=So;function at(e,n,t,o,a){const i=[].slice.call(arguments,1),r=i.length,s=typeof i[r-1]=="function";if(!s&&!fs())throw new Error("Callback required as last argument");if(s){if(r<2)throw new Error("Too few arguments provided");r===2?(a=t,t=n,n=o=void 0):r===3&&(n.getContext&&typeof a>"u"?(a=o,o=void 0):(a=o,o=t,t=n,n=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(t=n,n=o=void 0):r===2&&!n.getContext&&(o=t,t=n,n=void 0),new Promise(function(c,d){try{const m=hn.create(t,o);c(e(m,n,o))}catch(m){d(m)}})}try{const c=hn.create(t,o);a(null,e(c,n,o))}catch(c){a(c)}}ye.create=hn.create;ye.toCanvas=at.bind(null,No.render);ye.toDataURL=at.bind(null,No.renderToDataURL);ye.toString=at.bind(null,function(e,n,t){return gs.render(e,t)});async function hs(e){const n=document.getElementById("qrcode");n.innerHTML="";try{await ye.toCanvas(n,e)}catch(t){t instanceof Error?(console.error(t.message),alert("QR Code generation failed: "+t.message)):(console.error("An unknown error occurred:",t),alert("An unknown error occurred"))}}var ps=ys,x=[],Et="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var we=0,_s=Et.length;we<_s;++we)x[we]=Et[we];function Ts(e){return x[e>>18&63]+x[e>>12&63]+x[e>>6&63]+x[e&63]}function ks(e,n,t){for(var o,a=[],i=n;is?s:r+i));return o===1?(n=e[t-1],a.push(x[n>>2]+x[n<<4&63]+"==")):o===2&&(n=(e[t-2]<<8)+e[t-1],a.push(x[n>>10]+x[n>>4&63]+x[n<<2&63]+"=")),a.join("")}function Cs(e){return new TextEncoder().encode(e).length}function Es(e){return ps(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}document.addEventListener("DOMContentLoaded",()=>{var e,n,t;document.querySelectorAll("#meshtasticForm input, #meshtasticForm select").forEach(o=>{o.addEventListener("input",Fe)}),(e=document.getElementById("generatePSK"))==null||e.addEventListener("click",Mo),(n=document.getElementById("pskType"))==null||n.addEventListener("change",bs),(t=document.getElementById("copyUrlButton"))==null||t.addEventListener("click",vs),Fe()});function bs(){const e=document.getElementById("pskType").value,n=document.getElementById("psk");e==="none"?(n.value="",n.disabled=!0):(n.disabled=!1,Mo()),Fe()}function Mo(){const e=document.getElementById("pskType").value,n=Po(e);document.getElementById("psk").value=n,Fe()}async function Fe(){const e=Ro(),n=Cs(e.channelName);if(n>12){alert(`Channel name must be less than or equal to 12 bytes (current byte length: ${n}).`);return}const o=Nr(e).toBinary(),i=`https://meshtastic.org/e/#${Es(o)}`;console.log("Generated Meshtastic URL:",i);const r=document.getElementById("generatedUrl");r.value=i,await hs(i)}function vs(){const e=document.getElementById("generatedUrl");navigator.clipboard.writeText(e.value).then(()=>{ws()}).catch(n=>{console.error("Failed to copy text: ",n),alert("Failed to copy URL")})}function ws(){const e=document.getElementById("copyNotification");e&&(e.classList.add("show"),setTimeout(()=>{e.classList.remove("show")},2e3))} diff --git a/index.html b/index.html index e64d699..ef20380 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ Meshtastic Configurator - +