@sableclient/sable-call-embedded 0.16.3-sable.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-AGPL-3.0 +661 -0
- package/LICENSE-COMMERCIAL +6 -0
- package/README.md +9 -0
- package/dist/assets/IndexedDBWorker-Dgn5IQFp.js +25 -0
- package/dist/assets/IndexedDBWorker-Dgn5IQFp.js.map +1 -0
- package/dist/assets/baduntss-Ca1ZuBEK.ogg +0 -0
- package/dist/assets/baduntss-DOe0oFuS.mp3 +0 -0
- package/dist/assets/call_declined-1jWRbd4p.mp3 +0 -0
- package/dist/assets/call_declined-C6gHsCGH.ogg +0 -0
- package/dist/assets/call_timeout-BCxXxRD8.mp3 +0 -0
- package/dist/assets/call_timeout-DPKAj6sz.ogg +0 -0
- package/dist/assets/cat-4r_NkDcK.ogg +0 -0
- package/dist/assets/cat-Dd8bv_2W.mp3 +0 -0
- package/dist/assets/clap-AxCMZLTd.ogg +0 -0
- package/dist/assets/clap-Dxm5qGyl.mp3 +0 -0
- package/dist/assets/crickets-CcwrRdbq.mp3 +0 -0
- package/dist/assets/crickets-DUJdcuUa.ogg +0 -0
- package/dist/assets/cs-app-Du_5mVg3.json +236 -0
- package/dist/assets/da-app-BBz-lePm.json +236 -0
- package/dist/assets/de-app-DjOuqT-j.json +237 -0
- package/dist/assets/decimal-CeJ0lJls.js +2 -0
- package/dist/assets/decimal-CeJ0lJls.js.map +1 -0
- package/dist/assets/deer-91r1Gyrx.mp3 +0 -0
- package/dist/assets/deer-DPSlVch4.ogg +0 -0
- package/dist/assets/dog-BoQdnF-w.mp3 +0 -0
- package/dist/assets/dog-CxIWtkNX.ogg +0 -0
- package/dist/assets/el-app-BBr3LLTK.json +122 -0
- package/dist/assets/en-app-B0mg0RDM.json +261 -0
- package/dist/assets/es-app-Q3c7lmEj.json +88 -0
- package/dist/assets/et-app-DLvuR7m2.json +234 -0
- package/dist/assets/fi-app-tnO3DMdi.json +224 -0
- package/dist/assets/fr-app-BxTYbDfK.json +111 -0
- package/dist/assets/generic-BBbS3Wph.ogg +0 -0
- package/dist/assets/generic-BFeSb6fL.mp3 +0 -0
- package/dist/assets/id-app-BEz8ptLJ.json +223 -0
- package/dist/assets/inconsolata-latin-400-normal-DTZQ6lD6.woff2 +0 -0
- package/dist/assets/inconsolata-latin-400-normal-HYADljCo.woff +0 -0
- package/dist/assets/inconsolata-latin-700-normal-ByjKuJjN.woff2 +0 -0
- package/dist/assets/inconsolata-latin-700-normal-DzgUY3Rl.woff +0 -0
- package/dist/assets/inconsolata-latin-ext-400-normal-BaHVOdFB.woff2 +0 -0
- package/dist/assets/inconsolata-latin-ext-400-normal-yvPjCxxx.woff +0 -0
- package/dist/assets/inconsolata-latin-ext-700-normal-D0Kpgs_9.woff2 +0 -0
- package/dist/assets/inconsolata-latin-ext-700-normal-Dlt-daqV.woff +0 -0
- package/dist/assets/inconsolata-vietnamese-400-normal-ByiM2lek.woff +0 -0
- package/dist/assets/inconsolata-vietnamese-400-normal-DfC_iMic.woff2 +0 -0
- package/dist/assets/inconsolata-vietnamese-700-normal-DLCFFAUf.woff +0 -0
- package/dist/assets/inconsolata-vietnamese-700-normal-DuasYmn8.woff2 +0 -0
- package/dist/assets/index-BOka8551.js +4 -0
- package/dist/assets/index-BOka8551.js.map +1 -0
- package/dist/assets/index-Cn2ez1d4.js +3 -0
- package/dist/assets/index-Cn2ez1d4.js.map +1 -0
- package/dist/assets/index-s-IzAUGa.css +1 -0
- package/dist/assets/index-tbZc77bo.js +296 -0
- package/dist/assets/index-tbZc77bo.js.map +1 -0
- package/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/dist/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
- package/dist/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
- package/dist/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
- package/dist/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
- package/dist/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
- package/dist/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
- package/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/dist/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
- package/dist/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
- package/dist/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
- package/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/dist/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
- package/dist/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
- package/dist/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
- package/dist/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
- package/dist/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
- package/dist/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
- package/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/dist/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
- package/dist/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
- package/dist/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
- package/dist/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
- package/dist/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
- package/dist/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
- package/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/dist/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- package/dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/dist/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
- package/dist/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
- package/dist/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
- package/dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
- package/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/dist/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
- package/dist/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
- package/dist/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
- package/dist/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
- package/dist/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
- package/dist/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
- package/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/dist/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
- package/dist/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
- package/dist/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
- package/dist/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
- package/dist/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
- package/dist/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
- package/dist/assets/it-app-Cik25Qgd.json +215 -0
- package/dist/assets/ja-app-Cp_00ujI.json +123 -0
- package/dist/assets/join_call-DlMV9nHk.ogg +0 -0
- package/dist/assets/join_call-dEJCP2wD.mp3 +0 -0
- package/dist/assets/left_call-BbqmRgnC.mp3 +0 -0
- package/dist/assets/left_call-C7NMl6WI.ogg +0 -0
- package/dist/assets/lightbulb-BIeJtAR_.ogg +0 -0
- package/dist/assets/lightbulb-BrnY00qi.mp3 +0 -0
- package/dist/assets/livekit-client.e2ee.worker-Bmrtztct.js.map +1 -0
- package/dist/assets/lv-app-D-ZV3Ytk.json +222 -0
- package/dist/assets/matrix-sdk-crypto-wasm-BsWSMcLv.js +3 -0
- package/dist/assets/matrix-sdk-crypto-wasm-BsWSMcLv.js.map +1 -0
- package/dist/assets/matrix_sdk_crypto_wasm_bg-DU_51VO6.wasm +0 -0
- package/dist/assets/pako.esm-Cf42LiW4.js +2 -0
- package/dist/assets/pako.esm-Cf42LiW4.js.map +1 -0
- package/dist/assets/party-BZPeTgC3.mp3 +0 -0
- package/dist/assets/party-D7rIOhAQ.ogg +0 -0
- package/dist/assets/pl-app-CUkXVSZk.json +221 -0
- package/dist/assets/polyfill-force-BrOePHdV.js +2 -0
- package/dist/assets/polyfill-force-BrOePHdV.js.map +1 -0
- package/dist/assets/polyfill-force-Btq0hGFe.js +3 -0
- package/dist/assets/polyfill-force-Btq0hGFe.js.map +1 -0
- package/dist/assets/raise_hand-Bzqn65WB.mp3 +0 -0
- package/dist/assets/raise_hand-CUbxEnt9.ogg +0 -0
- package/dist/assets/ringtone-B-nJXbbw.ogg +0 -0
- package/dist/assets/ringtone-B2csBdU4.mp3 +0 -0
- package/dist/assets/ro-app-CdYgKCOW.json +206 -0
- package/dist/assets/rock-BVCJXNC-.ogg +0 -0
- package/dist/assets/rock-CHdnB31m.mp3 +0 -0
- package/dist/assets/ru-app-CIijOjFj.json +229 -0
- package/dist/assets/screen_share_started-DH3qxml5.mp3 +0 -0
- package/dist/assets/screen_share_started-IZDL-kAw.ogg +0 -0
- package/dist/assets/selfie_segmenter-DF05sdL4.tflite +0 -0
- package/dist/assets/sk-app-DaVEeQWZ.json +230 -0
- package/dist/assets/spa-f1VkEIgz.js +2 -0
- package/dist/assets/spa-f1VkEIgz.js.map +1 -0
- package/dist/assets/sv-app-DHLBEOTp.json +236 -0
- package/dist/assets/tr-app-Dk--6BpP.json +209 -0
- package/dist/assets/uk-app-DZD01h76.json +222 -0
- package/dist/assets/vision_wasm_internal-CEyeacG0.js +20 -0
- package/dist/assets/vision_wasm_internal-TmjHuG4I.wasm +0 -0
- package/dist/assets/wave-Bzf1LSMH.mp3 +0 -0
- package/dist/assets/wave-FiiOzicp.ogg +0 -0
- package/dist/assets/zh-Hans-app-BY5jJGyr.json +133 -0
- package/dist/assets/zh-Hant-app-BV1LKS_j.json +114 -0
- package/dist/config.json +1 -0
- package/dist/index.html +1 -0
- package/package.json +14 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{b as Is,_ as d,g as Os,a as h,K as dr,L as sr,l as X,D as gr,E as J,H as Xt,T as Qt,C as K,M as D,d as Hr,e as ur,c as Ds,f as Cs,s as ke,h as is,i as ss,I as Ut,j as os,k as zt,A as Bs,m as Ts,n as Qr,o as qs,p as Ms,U as Kn,q as Zt,S as In,r as On,t as br,u as Dn,v as G,w as z,x as or,y as he,z as Fs,B as q,F as Us,G as js,J as Ns,N as Ps}from"./IndexedDBWorker-Dgn5IQFp.js";var jt=(function(n){return n.Change="change",n})({}),U=(function(n){return n[n.Unsent=1]="Unsent",n[n.Requested=2]="Requested",n[n.Ready=3]="Ready",n[n.Started=4]="Started",n[n.Cancelled=5]="Cancelled",n[n.Done=6]="Done",n})({}),_s=(function(n){return n.Cancel="cancel",n.ShowSas="show_sas",n.ShowReciprocateQr="show_reciprocate_qr",n})({}),yr=[139,1];function Cn(n){var e,t=new Uint8Array(yr.length+n.length+1);t.set(yr,0),t.set(n,yr.length);for(var r=0,s=0;s<t.length-1;++s)r^=t[s];t[t.length-1]=r;var o=Is.encode(t);return(e=o.match(/.{1,4}/g))===null||e===void 0?void 0:e.join(" ")}var xs=256;function as(n,e,t){return Yr.apply(this,arguments)}function Yr(){return Yr=d(function*(n,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:xs;if(!globalThis.crypto.subtle||!TextEncoder)throw new Error("Password-based backup is not available on this platform");var s=yield globalThis.crypto.subtle.importKey("raw",new TextEncoder().encode(n),{name:"PBKDF2"},!1,["deriveBits"]),o=yield globalThis.crypto.subtle.deriveBits({name:"PBKDF2",salt:new TextEncoder().encode(e),iterations:t,hash:"SHA-512"},s,r);return new Uint8Array(o)}),Yr.apply(this,arguments)}let i;function mn(n){i=n}function C(n){const e=i.__externref_table_alloc();return i.__wbindgen_externrefs.set(e,n),e}function w(n,e){if(!(n instanceof e))throw new Error(`expected instance of ${e.name}`)}const Bn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>n.dtor(n.a,n.b));function $r(n){const e=typeof n;if(e=="number"||e=="boolean"||n==null)return`${n}`;if(e=="string")return`"${n}"`;if(e=="symbol"){const s=n.description;return s==null?"Symbol":`Symbol(${s})`}if(e=="function"){const s=n.name;return typeof s=="string"&&s.length>0?`Function(${s})`:"Function"}if(Array.isArray(n)){const s=n.length;let o="[";s>0&&(o+=$r(n[0]));for(let _=1;_<s;_++)o+=", "+$r(n[_]);return o+="]",o}const t=/\[object ([^\]]+)\]/.exec(toString.call(n));let r;if(t&&t.length>1)r=t[1];else return toString.call(n);if(r=="Object")try{return"Object("+JSON.stringify(n)+")"}catch{return"Object"}return n instanceof Error?`${n.name}: ${n.message}
|
|
2
|
+
${n.stack}`:r}function He(n,e){n=n>>>0;const t=B(),r=[];for(let s=n;s<n+4*e;s+=4)r.push(i.__wbindgen_externrefs.get(t.getUint32(s,!0)));return i.__externref_drop_slice(n,e),r}function As(n,e){return n=n>>>0,zs().subarray(n/2,n/2+e)}function A(n,e){return n=n>>>0,Je().subarray(n/1,n/1+e)}let Ge=null;function B(){return(Ge===null||Ge.buffer.detached===!0||Ge.buffer.detached===void 0&&Ge.buffer!==i.memory.buffer)&&(Ge=new DataView(i.memory.buffer)),Ge}function y(n,e){return n=n>>>0,Ls(n,e)}let er=null;function zs(){return(er===null||er.byteLength===0)&&(er=new Uint16Array(i.memory.buffer)),er}let tr=null;function Je(){return(tr===null||tr.byteLength===0)&&(tr=new Uint8Array(i.memory.buffer)),tr}function k(n,e){try{return n.apply(this,e)}catch(t){const r=C(t);i.__wbindgen_exn_store(r)}}function m(n){return n==null}function lr(n,e,t,r){const s={a:n,b:e,cnt:1,dtor:t},o=(..._)=>{s.cnt++;const a=s.a;s.a=0;try{return r(a,s.b,..._)}finally{s.a=a,o._wbg_cb_unref()}};return o._wbg_cb_unref=()=>{--s.cnt===0&&(s.dtor(s.a,s.b),s.a=0,Bn.unregister(s))},Bn.register(o,s,s),o}function Z(n,e){const t=e(n.length*1,1)>>>0;return Je().set(n,t/1),l=n.length,t}function x(n,e){const t=e(n.length*4,4)>>>0;for(let r=0;r<n.length;r++){const s=C(n[r]);B().setUint32(t+4*r,s,!0)}return l=n.length,t}function b(n,e,t){if(t===void 0){const a=Vt.encode(n),c=e(a.length,1)>>>0;return Je().subarray(c,c+a.length).set(a),l=a.length,c}let r=n.length,s=e(r,1)>>>0;const o=Je();let _=0;for(;_<r;_++){const a=n.charCodeAt(_);if(a>127)break;o[s+_]=a}if(_!==r){_!==0&&(n=n.slice(_)),s=t(s,r,r=_+n.length*3,1)>>>0;const a=Je().subarray(s+_,s+r),c=Vt.encodeInto(n,a);_+=c.written,s=t(s,r,_,1)>>>0}return l=_,s}function p(n){const e=i.__wbindgen_externrefs.get(n);return i.__externref_table_dealloc(n),e}let _r=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});_r.decode();const Vs=2146435072;let fr=0;function Ls(n,e){return fr+=e,fr>=Vs&&(_r=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),_r.decode(),fr=e),_r.decode(Je().subarray(n,n+e))}const Vt=new TextEncoder;"encodeInto"in Vt||(Vt.encodeInto=function(n,e){const t=Vt.encode(n);return e.set(t),{read:n.length,written:t.length}});let l=0;function cs(n,e,t){i.wasm_bindgen__convert__closures_____invoke__h89fab44ead303aca(n,e,t)}function Gs(n,e){i.wasm_bindgen__convert__closures_____invoke__h22e674b566e32b64(n,e)}function Ws(n,e,t){const r=i.wasm_bindgen__convert__closures_____invoke__h35b0a77e54c2db90(n,e,t);if(r[1])throw p(r[0])}function Js(n,e,t,r){i.wasm_bindgen__convert__closures_____invoke__h8815fd477ac2dc7f(n,e,t,r)}const Hs=["pending","done"],ds=["readonly","readwrite","versionchange","readwriteflush","cleanup"],Qs=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_attachment_free(n>>>0,1)),Tn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_backupdecryptionkey_free(n>>>0,1)),qn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_backupkeys_free(n>>>0,1)),Mn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_backupsecretsbundle_free(n>>>0,1)),wr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_base64encodedpkmessage_free(n>>>0,1)),Fn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_basemigrationdata_free(n>>>0,1)),Un=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_cancelinfo_free(n>>>0,1)),jn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_checkcode_free(n>>>0,1)),Nn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_collectstrategy_free(n>>>0,1)),Pn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_crosssigningbootstraprequests_free(n>>>0,1)),xn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_crosssigningkeyexport_free(n>>>0,1)),An=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_crosssigningstatus_free(n>>>0,1)),hr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_curve25519publickey_free(n>>>0,1)),zn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_curve25519secretkey_free(n>>>0,1)),Vn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_decryptedroomevent_free(n>>>0,1)),Ln=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_decryptedtodeviceevent_free(n>>>0,1)),Gn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_decryptionsettings_free(n>>>0,1)),Wn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_dehydrateddevice_free(n>>>0,1)),Jn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_dehydrateddevicekey_free(n>>>0,1)),Hn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_dehydrateddevices_free(n>>>0,1)),Qn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_device_free(n>>>0,1)),vr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_deviceid_free(n>>>0,1)),Yn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_devicekey_free(n>>>0,1)),$n=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_devicekeyalgorithm_free(n>>>0,1)),mr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_devicekeyid_free(n>>>0,1)),Xn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_devicelists_free(n>>>0,1)),Zn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_ecies_free(n>>>0,1)),ei=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_ed25519publickey_free(n>>>0,1)),Sr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_ed25519signature_free(n>>>0,1)),ti=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_emoji_free(n>>>0,1)),kr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_encryptedattachment_free(n>>>0,1)),ri=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_encryptioninfo_free(n>>>0,1)),ni=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_encryptionsettings_free(n>>>0,1)),ii=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_establishedecies_free(n>>>0,1)),si=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_eventid_free(n>>>0,1)),oi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_identitykeys_free(n>>>0,1)),_i=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_inboundcreationresult_free(n>>>0,1)),ai=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_inboundgroupsession_free(n>>>0,1)),ci=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_invalidtodeviceevent_free(n>>>0,1)),Rr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_keysbackuprequest_free(n>>>0,1)),Er=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_keysclaimrequest_free(n>>>0,1)),Kr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_keysqueryrequest_free(n>>>0,1)),Ir=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_keysuploadrequest_free(n>>>0,1)),di=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_maybesignature_free(n>>>0,1)),gi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_megolmdecryptionerror_free(n>>>0,1)),ui=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_megolmv1backupkey_free(n>>>0,1)),Ys=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_migration_free(n>>>0,1)),Or=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_olmmachine_free(n>>>0,1)),li=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_otheruseridentity_free(n>>>0,1)),pi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_outboundcreationresult_free(n>>>0,1)),bi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_ownuseridentity_free(n>>>0,1)),yi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_pickledinboundgroupsession_free(n>>>0,1)),fi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_pickledsession_free(n>>>0,1)),Dr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_pkdecryption_free(n>>>0,1)),wi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_pkencryption_free(n>>>0,1)),hi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_pkmessage_free(n>>>0,1)),vi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_plaintexttodeviceevent_free(n>>>0,1)),Cr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_putdehydrateddevicerequest_free(n>>>0,1)),mi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_qr_free(n>>>0,1)),Si=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_qrcode_free(n>>>0,1)),Br=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_qrcodedata_free(n>>>0,1)),ki=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_qrcodescan_free(n>>>0,1)),Ri=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_rehydrateddevice_free(n>>>0,1)),Tr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_roomid_free(n>>>0,1)),Ei=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_roomkeycounts_free(n>>>0,1)),Ki=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_roomkeyimportresult_free(n>>>0,1)),Ii=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_roomkeyinfo_free(n>>>0,1)),Oi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_roomkeywithheldinfo_free(n>>>0,1)),qr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_roommessagerequest_free(n>>>0,1)),Mr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_roomsettings_free(n>>>0,1)),Di=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_sas_free(n>>>0,1)),Ci=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_secretsbundle_free(n>>>0,1)),Fr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_servername_free(n>>>0,1)),Bi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_shieldstate_free(n>>>0,1)),Ti=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_signature_free(n>>>0,1)),Ur=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_signatureuploadrequest_free(n>>>0,1)),qi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_signatureverification_free(n>>>0,1)),jr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_signatures_free(n>>>0,1)),Mi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_storehandle_free(n>>>0,1)),Fi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_storedroomkeybundledata_free(n>>>0,1)),Ui=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_todeviceencryptioninfo_free(n>>>0,1)),Nr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_todevicerequest_free(n>>>0,1)),ji=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_todeviceunabletodecryptinfo_free(n>>>0,1)),Ni=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_tracing_free(n>>>0,1)),Pi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_utdtodeviceevent_free(n>>>0,1)),Pr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_uploadsigningkeysrequest_free(n>>>0,1)),xi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_userdevices_free(n>>>0,1)),xr=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_userid_free(n>>>0,1)),Ai=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_verificationrequest_free(n>>>0,1)),zi=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(n=>i.__wbg_versions_free(n>>>0,1));class Xr{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Qs.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_attachment_free(e,0)}static decrypt(e){w(e,ge);const t=i.attachment_decrypt(e.__wbg_ptr);if(t[3])throw p(t[2]);var r=A(t[0],t[1]).slice();return i.__wbindgen_free(t[0],t[1]*1,1),r}static encrypt(e){const t=Z(e,i.__wbindgen_malloc),r=l,s=i.attachment_encrypt(t,r);if(s[2])throw p(s[1]);return ge.__wrap(s[0])}}Symbol.dispose&&(Xr.prototype[Symbol.dispose]=Xr.prototype.free);class j{static __wrap(e){e=e>>>0;const t=Object.create(j.prototype);return t.__wbg_ptr=e,Tn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Tn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_backupdecryptionkey_free(e,0)}decryptV1(e,t,r){let s,o;try{const c=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),g=l,u=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),f=l,S=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),R=l,N=i.backupdecryptionkey_decryptV1(this.__wbg_ptr,c,g,u,f,S,R);var _=N[0],a=N[1];if(N[3])throw _=0,a=0,p(N[2]);return s=_,o=a,y(_,a)}finally{i.__wbindgen_free(s,o,1)}}static fromBase64(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.backupdecryptionkey_fromBase64(t,r);if(s[2])throw p(s[1]);return j.__wrap(s[0])}static createRandomKey(){const e=i.backupdecryptionkey_createRandomKey();return j.__wrap(e)}get megolmV1PublicKey(){const e=i.backupdecryptionkey_megolmV1PublicKey(this.__wbg_ptr);return pt.__wrap(e)}toBase64(){return i.backupdecryptionkey_toBase64(this.__wbg_ptr)}}Symbol.dispose&&(j.prototype[Symbol.dispose]=j.prototype.free);class Qe{static __wrap(e){e=e>>>0;const t=Object.create(Qe.prototype);return t.__wbg_ptr=e,qn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,qn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_backupkeys_free(e,0)}get decryptionKeyBase64(){return i.backupkeys_decryptionKeyBase64(this.__wbg_ptr)}get decryptionKey(){const e=i.__wbg_get_backupkeys_decryptionKey(this.__wbg_ptr);return e===0?void 0:j.__wrap(e)}set decryptionKey(e){let t=0;m(e)||(w(e,j),t=e.__destroy_into_raw()),i.__wbg_set_backupkeys_decryptionKey(this.__wbg_ptr,t)}get backupVersion(){const e=i.__wbg_get_backupkeys_backupVersion(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set backupVersion(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupkeys_backupVersion(this.__wbg_ptr,t,r)}}Symbol.dispose&&(Qe.prototype[Symbol.dispose]=Qe.prototype.free);class Ye{static __wrap(e){e=e>>>0;const t=Object.create(Ye.prototype);return t.__wbg_ptr=e,Mn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Mn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_backupsecretsbundle_free(e,0)}get key(){let e,t;try{const r=i.__wbg_get_backupsecretsbundle_key(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set key(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}get backup_version(){let e,t;try{const r=i.__wbg_get_backupsecretsbundle_backup_version(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set backup_version(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_backup_version(this.__wbg_ptr,t,r)}}Symbol.dispose&&(Ye.prototype[Symbol.dispose]=Ye.prototype.free);class Ee{static __wrap(e){e=e>>>0;const t=Object.create(Ee.prototype);return t.__wbg_ptr=e,wr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,wr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_base64encodedpkmessage_free(e,0)}get ciphertext(){let e,t;try{const r=i.__wbg_get_base64encodedpkmessage_ciphertext(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set ciphertext(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}get mac(){let e,t;try{const r=i.__wbg_get_base64encodedpkmessage_mac(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set mac(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_backup_version(this.__wbg_ptr,t,r)}get ephemeralKey(){let e,t;try{const r=i.__wbg_get_base64encodedpkmessage_ephemeralKey(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set ephemeralKey(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_base64encodedpkmessage_ephemeralKey(this.__wbg_ptr,t,r)}constructor(e,t,r){const s=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l,c=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),g=l,u=i.base64encodedpkmessage_new(s,o,_,a,c,g);return this.__wbg_ptr=u>>>0,wr.register(this,this.__wbg_ptr,this),this}}Symbol.dispose&&(Ee.prototype[Symbol.dispose]=Ee.prototype.free);class Gt{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Fn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_basemigrationdata_free(e,0)}constructor(){const e=i.basemigrationdata_new();return this.__wbg_ptr=e>>>0,Fn.register(this,this.__wbg_ptr,this),this}get userId(){const e=i.__wbg_get_basemigrationdata_userId(this.__wbg_ptr);return e===0?void 0:v.__wrap(e)}set userId(e){let t=0;m(e)||(w(e,v),t=e.__destroy_into_raw()),i.__wbg_set_basemigrationdata_userId(this.__wbg_ptr,t)}get deviceId(){const e=i.__wbg_get_basemigrationdata_deviceId(this.__wbg_ptr);return e===0?void 0:I.__wrap(e)}set deviceId(e){let t=0;m(e)||(w(e,I),t=e.__destroy_into_raw()),i.__wbg_set_basemigrationdata_deviceId(this.__wbg_ptr,t)}get pickledAccount(){let e,t;try{const r=i.__wbg_get_basemigrationdata_pickledAccount(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set pickledAccount(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}get backupVersion(){const e=i.__wbg_get_basemigrationdata_backupVersion(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set backupVersion(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_basemigrationdata_backupVersion(this.__wbg_ptr,t,r)}get backupRecoveryKey(){const e=i.__wbg_get_basemigrationdata_backupRecoveryKey(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set backupRecoveryKey(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_basemigrationdata_backupRecoveryKey(this.__wbg_ptr,t,r)}get privateCrossSigningMasterKey(){const e=i.__wbg_get_basemigrationdata_privateCrossSigningMasterKey(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set privateCrossSigningMasterKey(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_basemigrationdata_privateCrossSigningMasterKey(this.__wbg_ptr,t,r)}get privateCrossSigningSelfSigningKey(){const e=i.__wbg_get_basemigrationdata_privateCrossSigningSelfSigningKey(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set privateCrossSigningSelfSigningKey(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_basemigrationdata_privateCrossSigningSelfSigningKey(this.__wbg_ptr,t,r)}get privateCrossSigningUserSigningKey(){const e=i.__wbg_get_basemigrationdata_privateCrossSigningUserSigningKey(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set privateCrossSigningUserSigningKey(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_basemigrationdata_privateCrossSigningUserSigningKey(this.__wbg_ptr,t,r)}}Symbol.dispose&&(Gt.prototype[Symbol.dispose]=Gt.prototype.free);class ae{static __wrap(e){e=e>>>0;const t=Object.create(ae.prototype);return t.__wbg_ptr=e,Un.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Un.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_cancelinfo_free(e,0)}cancelCode(){let e,t;try{const r=i.cancelinfo_cancelCode(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}cancelledbyUs(){return i.cancelinfo_cancelledbyUs(this.__wbg_ptr)!==0}reason(){return i.cancelinfo_reason(this.__wbg_ptr)}}Symbol.dispose&&(ae.prototype[Symbol.dispose]=ae.prototype.free);class $e{static __wrap(e){e=e>>>0;const t=Object.create($e.prototype);return t.__wbg_ptr=e,jn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,jn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_checkcode_free(e,0)}as_bytes(){const e=i.checkcode_as_bytes(this.__wbg_ptr);var t=A(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*1,1),t}to_digit(){return i.checkcode_to_digit(this.__wbg_ptr)}}Symbol.dispose&&($e.prototype[Symbol.dispose]=$e.prototype.free);class M{static __wrap(e){e=e>>>0;const t=Object.create(M.prototype);return t.__wbg_ptr=e,Nn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Nn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_collectstrategy_free(e,0)}static allDevices(){const e=i.collectstrategy_allDevices();return M.__wrap(e)}static onlyTrustedDevices(){const e=i.collectstrategy_onlyTrustedDevices();return M.__wrap(e)}static deviceBasedStrategy(e,t){const r=i.collectstrategy_deviceBasedStrategy(e,t);return M.__wrap(r)}static identityBasedStrategy(){const e=i.collectstrategy_identityBasedStrategy();return M.__wrap(e)}eq(e){return w(e,M),i.collectstrategy_eq(this.__wbg_ptr,e.__wbg_ptr)!==0}static errorOnUnverifiedUserProblem(){const e=i.collectstrategy_errorOnUnverifiedUserProblem();return M.__wrap(e)}}Symbol.dispose&&(M.prototype[Symbol.dispose]=M.prototype.free);class Xe{static __wrap(e){e=e>>>0;const t=Object.create(Xe.prototype);return t.__wbg_ptr=e,Pn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Pn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_crosssigningbootstraprequests_free(e,0)}get uploadKeysRequest(){return i.__wbg_get_crosssigningbootstraprequests_uploadKeysRequest(this.__wbg_ptr)}get uploadSigningKeysRequest(){const e=i.__wbg_get_crosssigningbootstraprequests_uploadSigningKeysRequest(this.__wbg_ptr);return Le.__wrap(e)}get uploadSignaturesRequest(){const e=i.__wbg_get_crosssigningbootstraprequests_uploadSignaturesRequest(this.__wbg_ptr);return fe.__wrap(e)}}Symbol.dispose&&(Xe.prototype[Symbol.dispose]=Xe.prototype.free);class Ze{static __wrap(e){e=e>>>0;const t=Object.create(Ze.prototype);return t.__wbg_ptr=e,xn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,xn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_crosssigningkeyexport_free(e,0)}get masterKey(){const e=i.crosssigningkeyexport_masterKey(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}get self_signing_key(){const e=i.crosssigningkeyexport_self_signing_key(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}get userSigningKey(){const e=i.crosssigningkeyexport_userSigningKey(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}}Symbol.dispose&&(Ze.prototype[Symbol.dispose]=Ze.prototype.free);class et{static __wrap(e){e=e>>>0;const t=Object.create(et.prototype);return t.__wbg_ptr=e,An.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,An.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_crosssigningstatus_free(e,0)}get hasMaster(){return i.crosssigningstatus_hasMaster(this.__wbg_ptr)!==0}get hasSelfSigning(){return i.crosssigningstatus_hasSelfSigning(this.__wbg_ptr)!==0}get hasUserSigning(){return i.crosssigningstatus_hasUserSigning(this.__wbg_ptr)!==0}}Symbol.dispose&&(et.prototype[Symbol.dispose]=et.prototype.free);class T{static __wrap(e){e=e>>>0;const t=Object.create(T.prototype);return t.__wbg_ptr=e,hr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,hr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_curve25519publickey_free(e,0)}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.curve25519publickey_new(t,r);if(s[2])throw p(s[1]);return this.__wbg_ptr=s[0]>>>0,hr.register(this,this.__wbg_ptr,this),this}get length(){return i.curve25519publickey_length(this.__wbg_ptr)>>>0}toBase64(){let e,t;try{const r=i.curve25519publickey_toBase64(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(T.prototype[Symbol.dispose]=T.prototype.free);class ${static __wrap(e){e=e>>>0;const t=Object.create($.prototype);return t.__wbg_ptr=e,zn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,zn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_curve25519secretkey_free(e,0)}static fromUint8Array(e){const t=Z(e,i.__wbindgen_malloc),r=l,s=i.curve25519secretkey_fromUint8Array(t,r);if(s[2])throw p(s[1]);return $.__wrap(s[0])}static fromBase64(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.curve25519secretkey_fromBase64(t,r);if(s[2])throw p(s[1]);return $.__wrap(s[0])}static new(){const e=i.curve25519secretkey_new();return $.__wrap(e)}toUint8Array(){const e=i.curve25519secretkey_toUint8Array(this.__wbg_ptr);var t=A(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*1,1),t}toBase64(){let e,t;try{const r=i.curve25519secretkey_toBase64(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&($.prototype[Symbol.dispose]=$.prototype.free);class tt{static __wrap(e){e=e>>>0;const t=Object.create(tt.prototype);return t.__wbg_ptr=e,Vn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Vn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_decryptedroomevent_free(e,0)}shieldState(e){const t=i.decryptedroomevent_shieldState(this.__wbg_ptr,e);return xe.__wrap(t)}get senderDevice(){const e=i.decryptedroomevent_senderDevice(this.__wbg_ptr);return e===0?void 0:I.__wrap(e)}get forwarderDevice(){const e=i.decryptedroomevent_forwarderDevice(this.__wbg_ptr);return e===0?void 0:I.__wrap(e)}get senderCurve25519Key(){let e,t;try{const r=i.decryptedroomevent_senderCurve25519Key(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get senderClaimedEd25519Key(){return i.decryptedroomevent_senderClaimedEd25519Key(this.__wbg_ptr)}get forwardingCurve25519KeyChain(){return i.decryptedroomevent_forwardingCurve25519KeyChain(this.__wbg_ptr)}get sender(){const e=i.decryptedroomevent_sender(this.__wbg_ptr);return v.__wrap(e)}get forwarder(){const e=i.decryptedroomevent_forwarder(this.__wbg_ptr);return e===0?void 0:v.__wrap(e)}get event(){return i.__wbg_get_decryptedroomevent_event(this.__wbg_ptr)}}Symbol.dispose&&(tt.prototype[Symbol.dispose]=tt.prototype.free);class rt{static __wrap(e){e=e>>>0;const t=Object.create(rt.prototype);return t.__wbg_ptr=e,Ln.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ln.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_decryptedtodeviceevent_free(e,0)}get rawEvent(){return i.__wbg_get_decryptedtodeviceevent_rawEvent(this.__wbg_ptr)}get encryptionInfo(){const e=i.__wbg_get_decryptedtodeviceevent_encryptionInfo(this.__wbg_ptr);return Ot.__wrap(e)}get type(){return i.decryptedtodeviceevent_type(this.__wbg_ptr)}}Symbol.dispose&&(rt.prototype[Symbol.dispose]=rt.prototype.free);const se=Object.freeze({MissingRoomKey:0,0:"MissingRoomKey",UnknownMessageIndex:1,1:"UnknownMessageIndex",MismatchedIdentityKeys:2,2:"MismatchedIdentityKeys",UnknownSenderDevice:3,3:"UnknownSenderDevice",UnsignedSenderDevice:4,4:"UnsignedSenderDevice",SenderIdentityVerificationViolation:5,5:"SenderIdentityVerificationViolation",UnableToDecrypt:6,6:"UnableToDecrypt",MismatchedSender:7,7:"MismatchedSender"});class Ke{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Gn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_decryptionsettings_free(e,0)}constructor(e){const t=i.decryptionsettings_new(e);return this.__wbg_ptr=t>>>0,Gn.register(this,this.__wbg_ptr,this),this}get sender_device_trust_requirement(){return i.__wbg_get_decryptionsettings_sender_device_trust_requirement(this.__wbg_ptr)}set sender_device_trust_requirement(e){i.__wbg_set_decryptionsettings_sender_device_trust_requirement(this.__wbg_ptr,e)}}Symbol.dispose&&(Ke.prototype[Symbol.dispose]=Ke.prototype.free);class nt{static __wrap(e){e=e>>>0;const t=Object.create(nt.prototype);return t.__wbg_ptr=e,Wn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Wn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_dehydrateddevice_free(e,0)}keysForUpload(e,t){return w(t,V),i.dehydrateddevice_keysForUpload(this.__wbg_ptr,e,t.__wbg_ptr)}}Symbol.dispose&&(nt.prototype[Symbol.dispose]=nt.prototype.free);class V{static __wrap(e){e=e>>>0;const t=Object.create(V.prototype);return t.__wbg_ptr=e,Jn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Jn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_dehydrateddevicekey_free(e,0)}static createRandomKey(){const e=i.dehydrateddevicekey_createRandomKey();if(e[2])throw p(e[1]);return V.__wrap(e[0])}static createKeyFromArray(e){const t=i.dehydrateddevicekey_createKeyFromArray(e);if(t[2])throw p(t[1]);return V.__wrap(t[0])}toBase64(){return i.dehydrateddevicekey_toBase64(this.__wbg_ptr)}}Symbol.dispose&&(V.prototype[Symbol.dispose]=V.prototype.free);class it{static __wrap(e){e=e>>>0;const t=Object.create(it.prototype);return t.__wbg_ptr=e,Hn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Hn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_dehydrateddevices_free(e,0)}getDehydratedDeviceKey(){return i.dehydrateddevices_getDehydratedDeviceKey(this.__wbg_ptr)}saveDehydratedDeviceKey(e){return w(e,V),i.dehydrateddevices_saveDehydratedDeviceKey(this.__wbg_ptr,e.__wbg_ptr)}deleteDehydratedDeviceKey(){return i.dehydrateddevices_deleteDehydratedDeviceKey(this.__wbg_ptr)}create(){return i.dehydrateddevices_create(this.__wbg_ptr)}rehydrate(e,t,r){w(e,V),w(t,I);const s=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l;return i.dehydrateddevices_rehydrate(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,s,o)}}Symbol.dispose&&(it.prototype[Symbol.dispose]=it.prototype.free);let Wt=class gs{static __wrap(e){e=e>>>0;const t=Object.create(gs.prototype);return t.__wbg_ptr=e,Qn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Qn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_device_free(e,0)}get algorithms(){return i.device_algorithms(this.__wbg_ptr)}isDeleted(){return i.device_isDeleted(this.__wbg_ptr)!==0}get signatures(){const e=i.device_signatures(this.__wbg_ptr);return Ae.__wrap(e)}get ed25519Key(){const e=i.device_ed25519Key(this.__wbg_ptr);return e===0?void 0:ee.__wrap(e)}isVerified(){return i.device_isVerified(this.__wbg_ptr)!==0}get displayName(){const e=i.device_displayName(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}get isDehydrated(){return i.device_isDehydrated(this.__wbg_ptr)!==0}get curve25519Key(){const e=i.device_curve25519Key(this.__wbg_ptr);return e===0?void 0:T.__wrap(e)}isBlacklisted(){return i.device_isBlacklisted(this.__wbg_ptr)!==0}firstTimeSeen(){const e=i.device_firstTimeSeen(this.__wbg_ptr);return BigInt.asUintN(64,e)}setLocalTrust(e){return i.device_setLocalTrust(this.__wbg_ptr,e)}get localTrustState(){return i.device_localTrustState(this.__wbg_ptr)}isLocallyTrusted(){return i.device_isLocallyTrusted(this.__wbg_ptr)!==0}requestVerification(e){var t=m(e)?0:x(e,i.__wbindgen_malloc),r=l;const s=i.device_requestVerification(this.__wbg_ptr,t,r);if(s[2])throw p(s[1]);return p(s[0])}encryptToDeviceEvent(e,t,r){const s=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l;let _=0;return m(r)||(w(r,M),_=r.__destroy_into_raw()),i.device_encryptToDeviceEvent(this.__wbg_ptr,s,o,t,_)}isCrossSignedByOwner(){return i.device_isCrossSignedByOwner(this.__wbg_ptr)!==0}isCrossSigningTrusted(){return i.device_isCrossSigningTrusted(this.__wbg_ptr)!==0}get keys(){return i.device_keys(this.__wbg_ptr)}verify(){return i.device_verify(this.__wbg_ptr)}getKey(e){const t=i.device_getKey(this.__wbg_ptr,e);if(t[2])throw p(t[1]);return t[0]===0?void 0:Ie.__wrap(t[0])}get userId(){const e=i.device_userId(this.__wbg_ptr);return v.__wrap(e)}get deviceId(){const e=i.device_deviceId(this.__wbg_ptr);return I.__wrap(e)}};Symbol.dispose&&(Wt.prototype[Symbol.dispose]=Wt.prototype.free);class I{static __wrap(e){e=e>>>0;const t=Object.create(I.prototype);return t.__wbg_ptr=e,vr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,vr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_deviceid_free(e,0)}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.deviceid_new(t,r);return this.__wbg_ptr=s>>>0,vr.register(this,this.__wbg_ptr,this),this}toString(){let e,t;try{const r=i.deviceid_toString(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(I.prototype[Symbol.dispose]=I.prototype.free);class Ie{static __wrap(e){e=e>>>0;const t=Object.create(Ie.prototype);return t.__wbg_ptr=e,Yn.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Yn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_devicekey_free(e,0)}get curve25519(){const e=i.devicekey_curve25519(this.__wbg_ptr);return e===0?void 0:T.__wrap(e)}get name(){return i.devicekey_name(this.__wbg_ptr)}get ed25519(){const e=i.devicekey_ed25519(this.__wbg_ptr);return e===0?void 0:ee.__wrap(e)}get unknown(){const e=i.devicekey_unknown(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}toBase64(){let e,t;try{const r=i.devicekey_toBase64(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(Ie.prototype[Symbol.dispose]=Ie.prototype.free);class st{static __wrap(e){e=e>>>0;const t=Object.create(st.prototype);return t.__wbg_ptr=e,$n.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,$n.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_devicekeyalgorithm_free(e,0)}get name(){return i.devicekeyalgorithm_name(this.__wbg_ptr)}toString(){let e,t;try{const r=i.devicekeyalgorithm_toString(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(st.prototype[Symbol.dispose]=st.prototype.free);const $s=Object.freeze({Ed25519:0,0:"Ed25519",Curve25519:1,1:"Curve25519",Unknown:3,3:"Unknown"});class ce{static __wrap(e){e=e>>>0;const t=Object.create(ce.prototype);return t.__wbg_ptr=e,mr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,mr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_devicekeyid_free(e,0)}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.devicekeyid_new(t,r);if(s[2])throw p(s[1]);return this.__wbg_ptr=s[0]>>>0,mr.register(this,this.__wbg_ptr,this),this}get algorithm(){const e=i.devicekeyid_algorithm(this.__wbg_ptr);return st.__wrap(e)}get deviceId(){const e=i.devicekeyid_deviceId(this.__wbg_ptr);return I.__wrap(e)}toString(){let e,t;try{const r=i.devicekeyid_toString(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(ce.prototype[Symbol.dispose]=ce.prototype.free);const Xs=Object.freeze({Curve25519:0,0:"Curve25519",Ed25519:1,1:"Ed25519",Unknown:2,2:"Unknown"});class ot{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Xn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_devicelists_free(e,0)}constructor(e,t){var r=m(e)?0:x(e,i.__wbindgen_malloc),s=l,o=m(t)?0:x(t,i.__wbindgen_malloc),_=l;const a=i.devicelists_new(r,s,o,_);if(a[2])throw p(a[1]);return this.__wbg_ptr=a[0]>>>0,Xn.register(this,this.__wbg_ptr,this),this}get left(){const e=i.devicelists_left(this.__wbg_ptr);var t=He(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*4,4),t}get changed(){const e=i.devicelists_changed(this.__wbg_ptr);var t=He(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*4,4),t}isEmpty(){return i.devicelists_isEmpty(this.__wbg_ptr)!==0}}Symbol.dispose&&(ot.prototype[Symbol.dispose]=ot.prototype.free);class Zr{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Zn.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_ecies_free(e,0)}public_key(){const e=i.ecies_public_key(this.__wbg_ptr);return T.__wrap(e)}establish_inbound_channel(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.ecies_establish_inbound_channel(this.__wbg_ptr,t,r);if(s[2])throw p(s[1]);return gt.__wrap(s[0])}establish_outbound_channel(e,t){w(e,T);const r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l,o=i.ecies_establish_outbound_channel(this.__wbg_ptr,e.__wbg_ptr,r,s);if(o[2])throw p(o[1]);return yt.__wrap(o[0])}constructor(){const e=i.ecies_new();return this.__wbg_ptr=e>>>0,Zn.register(this,this.__wbg_ptr,this),this}}Symbol.dispose&&(Zr.prototype[Symbol.dispose]=Zr.prototype.free);class ee{static __wrap(e){e=e>>>0;const t=Object.create(ee.prototype);return t.__wbg_ptr=e,ei.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ei.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_ed25519publickey_free(e,0)}get length(){return i.ed25519publickey_length(this.__wbg_ptr)>>>0}toBase64(){let e,t;try{const r=i.ed25519publickey_toBase64(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(ee.prototype[Symbol.dispose]=ee.prototype.free);class de{static __wrap(e){e=e>>>0;const t=Object.create(de.prototype);return t.__wbg_ptr=e,Sr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Sr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_ed25519signature_free(e,0)}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.ed25519signature_new(t,r);if(s[2])throw p(s[1]);return this.__wbg_ptr=s[0]>>>0,Sr.register(this,this.__wbg_ptr,this),this}toBase64(){let e,t;try{const r=i.ed25519signature_toBase64(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(de.prototype[Symbol.dispose]=de.prototype.free);class _t{static __wrap(e){e=e>>>0;const t=Object.create(_t.prototype);return t.__wbg_ptr=e,ti.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ti.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_emoji_free(e,0)}get description(){return i.emoji_description(this.__wbg_ptr)}get symbol(){return i.emoji_symbol(this.__wbg_ptr)}}Symbol.dispose&&(_t.prototype[Symbol.dispose]=_t.prototype.free);class ge{static __wrap(e){e=e>>>0;const t=Object.create(ge.prototype);return t.__wbg_ptr=e,kr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,kr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_encryptedattachment_free(e,0)}get encryptedData(){const e=i.encryptedattachment_encryptedData(this.__wbg_ptr);var t=A(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*1,1),t}get mediaEncryptionInfo(){const e=i.encryptedattachment_mediaEncryptionInfo(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}get hasMediaEncryptionInfoBeenConsumed(){return i.encryptedattachment_hasMediaEncryptionInfoBeenConsumed(this.__wbg_ptr)!==0}constructor(e,t){const r=Z(e,i.__wbindgen_malloc),s=l,o=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),_=l,a=i.encryptedattachment_new(r,s,o,_);if(a[2])throw p(a[1]);return this.__wbg_ptr=a[0]>>>0,kr.register(this,this.__wbg_ptr,this),this}}Symbol.dispose&&(ge.prototype[Symbol.dispose]=ge.prototype.free);const at=Object.freeze({OlmV1Curve25519AesSha2:0,0:"OlmV1Curve25519AesSha2",MegolmV1AesSha2:1,1:"MegolmV1AesSha2",Unknown:2,2:"Unknown"});class ct{static __wrap(e){e=e>>>0;const t=Object.create(ct.prototype);return t.__wbg_ptr=e,ri.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ri.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_encryptioninfo_free(e,0)}shieldState(e){const t=i.encryptioninfo_shieldState(this.__wbg_ptr,e);return xe.__wrap(t)}get sender(){const e=i.__wbg_get_encryptioninfo_sender(this.__wbg_ptr);return v.__wrap(e)}set sender(e){w(e,v);var t=e.__destroy_into_raw();i.__wbg_set_encryptioninfo_sender(this.__wbg_ptr,t)}get senderDevice(){const e=i.__wbg_get_encryptioninfo_senderDevice(this.__wbg_ptr);return e===0?void 0:I.__wrap(e)}set senderDevice(e){let t=0;m(e)||(w(e,I),t=e.__destroy_into_raw()),i.__wbg_set_encryptioninfo_senderDevice(this.__wbg_ptr,t)}get forwarder(){const e=i.__wbg_get_encryptioninfo_forwarder(this.__wbg_ptr);return e===0?void 0:v.__wrap(e)}set forwarder(e){let t=0;m(e)||(w(e,v),t=e.__destroy_into_raw()),i.__wbg_set_encryptioninfo_forwarder(this.__wbg_ptr,t)}get forwarderDevice(){const e=i.__wbg_get_encryptioninfo_forwarderDevice(this.__wbg_ptr);return e===0?void 0:I.__wrap(e)}set forwarderDevice(e){let t=0;m(e)||(w(e,I),t=e.__destroy_into_raw()),i.__wbg_set_encryptioninfo_forwarderDevice(this.__wbg_ptr,t)}get senderCurve25519Key(){let e,t;try{const r=i.__wbg_get_encryptioninfo_senderCurve25519Key(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set senderCurve25519Key(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}get senderClaimedEd25519Key(){const e=i.__wbg_get_encryptioninfo_senderClaimedEd25519Key(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set senderClaimedEd25519Key(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_basemigrationdata_backupVersion(this.__wbg_ptr,t,r)}}Symbol.dispose&&(ct.prototype[Symbol.dispose]=ct.prototype.free);class Jt{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ni.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_encryptionsettings_free(e,0)}constructor(){const e=i.encryptionsettings_new();return this.__wbg_ptr=e>>>0,ni.register(this,this.__wbg_ptr,this),this}get algorithm(){return i.__wbg_get_encryptionsettings_algorithm(this.__wbg_ptr)}set algorithm(e){i.__wbg_set_encryptionsettings_algorithm(this.__wbg_ptr,e)}get encryptStateEvents(){return i.__wbg_get_encryptionsettings_encryptStateEvents(this.__wbg_ptr)!==0}set encryptStateEvents(e){i.__wbg_set_encryptionsettings_encryptStateEvents(this.__wbg_ptr,e)}get rotationPeriod(){const e=i.__wbg_get_encryptionsettings_rotationPeriod(this.__wbg_ptr);return BigInt.asUintN(64,e)}set rotationPeriod(e){i.__wbg_set_encryptionsettings_rotationPeriod(this.__wbg_ptr,e)}get rotationPeriodMessages(){const e=i.__wbg_get_encryptionsettings_rotationPeriodMessages(this.__wbg_ptr);return BigInt.asUintN(64,e)}set rotationPeriodMessages(e){i.__wbg_set_encryptionsettings_rotationPeriodMessages(this.__wbg_ptr,e)}get historyVisibility(){return i.__wbg_get_encryptionsettings_historyVisibility(this.__wbg_ptr)}set historyVisibility(e){i.__wbg_set_encryptionsettings_historyVisibility(this.__wbg_ptr,e)}get sharingStrategy(){const e=i.__wbg_get_encryptionsettings_sharingStrategy(this.__wbg_ptr);return M.__wrap(e)}set sharingStrategy(e){w(e,M);var t=e.__destroy_into_raw();i.__wbg_set_encryptionsettings_sharingStrategy(this.__wbg_ptr,t)}}Symbol.dispose&&(Jt.prototype[Symbol.dispose]=Jt.prototype.free);class te{static __wrap(e){e=e>>>0;const t=Object.create(te.prototype);return t.__wbg_ptr=e,ii.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ii.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_establishedecies_free(e,0)}check_code(){const e=i.establishedecies_check_code(this.__wbg_ptr);return $e.__wrap(e)}public_key(){const e=i.establishedecies_public_key(this.__wbg_ptr);return T.__wrap(e)}decrypt(e){let t,r;try{const _=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l,c=i.establishedecies_decrypt(this.__wbg_ptr,_,a);var s=c[0],o=c[1];if(c[3])throw s=0,o=0,p(c[2]);return t=s,r=o,y(s,o)}finally{i.__wbindgen_free(t,r,1)}}encrypt(e){let t,r;try{const s=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=i.establishedecies_encrypt(this.__wbg_ptr,s,o);return t=_[0],r=_[1],y(_[0],_[1])}finally{i.__wbindgen_free(t,r,1)}}}Symbol.dispose&&(te.prototype[Symbol.dispose]=te.prototype.free);class Ht{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,si.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_eventid_free(e,0)}get serverName(){const e=i.eventid_serverName(this.__wbg_ptr);return e===0?void 0:Pe.__wrap(e)}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.eventid_new(t,r);if(s[2])throw p(s[1]);return this.__wbg_ptr=s[0]>>>0,si.register(this,this.__wbg_ptr,this),this}get localpart(){let e,t;try{const r=i.eventid_localpart(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}toString(){let e,t;try{const r=i.eventid_toString(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(Ht.prototype[Symbol.dispose]=Ht.prototype.free);const Nt=Object.freeze({Invited:0,0:"Invited",Joined:1,1:"Joined",Shared:2,2:"Shared",WorldReadable:3,3:"WorldReadable"});class dt{static __wrap(e){e=e>>>0;const t=Object.create(dt.prototype);return t.__wbg_ptr=e,oi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,oi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_identitykeys_free(e,0)}get ed25519(){const e=i.__wbg_get_identitykeys_ed25519(this.__wbg_ptr);return ee.__wrap(e)}set ed25519(e){w(e,ee);var t=e.__destroy_into_raw();i.__wbg_set_identitykeys_ed25519(this.__wbg_ptr,t)}get curve25519(){const e=i.__wbg_get_identitykeys_curve25519(this.__wbg_ptr);return T.__wrap(e)}set curve25519(e){w(e,T);var t=e.__destroy_into_raw();i.__wbg_set_identitykeys_curve25519(this.__wbg_ptr,t)}}Symbol.dispose&&(dt.prototype[Symbol.dispose]=dt.prototype.free);class gt{static __wrap(e){e=e>>>0;const t=Object.create(gt.prototype);return t.__wbg_ptr=e,_i.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,_i.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_inboundcreationresult_free(e,0)}get channel(){const e=i.__wbg_get_inboundcreationresult_channel(this.__wbg_ptr);return te.__wrap(e)}set channel(e){w(e,te);var t=e.__destroy_into_raw();i.__wbg_set_inboundcreationresult_channel(this.__wbg_ptr,t)}get message(){let e,t;try{const r=i.__wbg_get_inboundcreationresult_message(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set message(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}}Symbol.dispose&&(gt.prototype[Symbol.dispose]=gt.prototype.free);class ut{static __wrap(e){e=e>>>0;const t=Object.create(ut.prototype);return t.__wbg_ptr=e,ai.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ai.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_inboundgroupsession_free(e,0)}get senderKey(){const e=i.inboundgroupsession_senderKey(this.__wbg_ptr);return T.__wrap(e)}get sessionId(){let e,t;try{const r=i.inboundgroupsession_sessionId(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}hasBeenImported(){return i.inboundgroupsession_hasBeenImported(this.__wbg_ptr)!==0}get roomId(){const e=i.inboundgroupsession_roomId(this.__wbg_ptr);return E.__wrap(e)}}Symbol.dispose&&(ut.prototype[Symbol.dispose]=ut.prototype.free);class lt{static __wrap(e){e=e>>>0;const t=Object.create(lt.prototype);return t.__wbg_ptr=e,ci.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ci.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_invalidtodeviceevent_free(e,0)}get rawEvent(){return i.__wbg_get_invalidtodeviceevent_rawEvent(this.__wbg_ptr)}get type(){return i.invalidtodeviceevent_type(this.__wbg_ptr)}}Symbol.dispose&&(lt.prototype[Symbol.dispose]=lt.prototype.free);class Oe{static __wrap(e){e=e>>>0;const t=Object.create(Oe.prototype);return t.__wbg_ptr=e,Rr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Rr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_keysbackuprequest_free(e,0)}get type(){return i.keysbackuprequest_type(this.__wbg_ptr)}constructor(e,t,r){const s=i.keysbackuprequest_new(e,t,r);return this.__wbg_ptr=s>>>0,Rr.register(this,this.__wbg_ptr,this),this}get id(){return i.__wbg_get_keysbackuprequest_id(this.__wbg_ptr)}get body(){return i.__wbg_get_keysbackuprequest_body(this.__wbg_ptr)}get version(){return i.__wbg_get_keysbackuprequest_version(this.__wbg_ptr)}}Symbol.dispose&&(Oe.prototype[Symbol.dispose]=Oe.prototype.free);class De{static __wrap(e){e=e>>>0;const t=Object.create(De.prototype);return t.__wbg_ptr=e,Er.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Er.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_keysclaimrequest_free(e,0)}get type(){return i.keysclaimrequest_type(this.__wbg_ptr)}constructor(e,t){const r=i.keysclaimrequest_new(e,t);return this.__wbg_ptr=r>>>0,Er.register(this,this.__wbg_ptr,this),this}get id(){return i.__wbg_get_keysclaimrequest_id(this.__wbg_ptr)}get body(){return i.__wbg_get_keysclaimrequest_body(this.__wbg_ptr)}}Symbol.dispose&&(De.prototype[Symbol.dispose]=De.prototype.free);class ue{static __wrap(e){e=e>>>0;const t=Object.create(ue.prototype);return t.__wbg_ptr=e,Kr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Kr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_keysqueryrequest_free(e,0)}get type(){return i.keysqueryrequest_type(this.__wbg_ptr)}constructor(e,t){const r=i.keysqueryrequest_new(e,t);return this.__wbg_ptr=r>>>0,Kr.register(this,this.__wbg_ptr,this),this}get id(){return i.__wbg_get_keysqueryrequest_id(this.__wbg_ptr)}get body(){return i.__wbg_get_keysqueryrequest_body(this.__wbg_ptr)}}Symbol.dispose&&(ue.prototype[Symbol.dispose]=ue.prototype.free);class Ce{static __wrap(e){e=e>>>0;const t=Object.create(Ce.prototype);return t.__wbg_ptr=e,Ir.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ir.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_keysuploadrequest_free(e,0)}get type(){return i.keysuploadrequest_type(this.__wbg_ptr)}constructor(e,t){const r=i.keysuploadrequest_new(e,t);return this.__wbg_ptr=r>>>0,Ir.register(this,this.__wbg_ptr,this),this}get id(){return i.__wbg_get_keysuploadrequest_id(this.__wbg_ptr)}get body(){return i.__wbg_get_keysuploadrequest_body(this.__wbg_ptr)}}Symbol.dispose&&(Ce.prototype[Symbol.dispose]=Ce.prototype.free);const en=Object.freeze({Verified:0,0:"Verified",BlackListed:1,1:"BlackListed",Ignored:2,2:"Ignored",Unset:3,3:"Unset"}),Zs=Object.freeze({Trace:0,0:"Trace",Debug:1,1:"Debug",Info:2,2:"Info",Warn:3,3:"Warn",Error:4,4:"Error"});class Be{static __wrap(e){e=e>>>0;const t=Object.create(Be.prototype);return t.__wbg_ptr=e,di.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,di.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_maybesignature_free(e,0)}isInvalid(){return i.maybesignature_isInvalid(this.__wbg_ptr)!==0}get invalidSignatureSource(){const e=i.maybesignature_invalidSignatureSource(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}isValid(){return i.maybesignature_isValid(this.__wbg_ptr)!==0}get signature(){const e=i.maybesignature_signature(this.__wbg_ptr);return e===0?void 0:Kt.__wrap(e)}}Symbol.dispose&&(Be.prototype[Symbol.dispose]=Be.prototype.free);class le{static __wrap(e){e=e>>>0;const t=Object.create(le.prototype);return t.__wbg_ptr=e,gi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,gi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_megolmdecryptionerror_free(e,0)}get code(){return i.__wbg_get_megolmdecryptionerror_code(this.__wbg_ptr)}get description(){return i.__wbg_get_megolmdecryptionerror_description(this.__wbg_ptr)}get withheldCode(){const e=i.megolmdecryptionerror_withheldCode(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}get maybe_withheld(){const e=i.megolmdecryptionerror_maybe_withheld(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}static unable_to_decrypt(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.megolmdecryptionerror_unable_to_decrypt(t,r);return le.__wrap(s)}}Symbol.dispose&&(le.prototype[Symbol.dispose]=le.prototype.free);class pt{static __wrap(e){e=e>>>0;const t=Object.create(pt.prototype);return t.__wbg_ptr=e,ui.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ui.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_megolmv1backupkey_free(e,0)}get publicKeyBase64(){return i.megolmv1backupkey_publicKeyBase64(this.__wbg_ptr)}get algorithm(){return i.megolmv1backupkey_algorithm(this.__wbg_ptr)}}Symbol.dispose&&(pt.prototype[Symbol.dispose]=pt.prototype.free);class bt{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ys.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_migration_free(e,0)}static migrateBaseData(e,t,r,s){return w(e,Gt),w(r,L),i.migration_migrateBaseData(e.__wbg_ptr,t,r.__wbg_ptr,m(s)?0:C(s))}static migrateOlmSessions(e,t,r,s){const o=x(e,i.__wbindgen_malloc),_=l;w(r,L);const a=i.migration_migrateOlmSessions(o,_,t,r.__wbg_ptr,m(s)?0:C(s));if(a[2])throw p(a[1]);return p(a[0])}static migrateMegolmSessions(e,t,r,s){const o=x(e,i.__wbindgen_malloc),_=l;w(r,L);const a=i.migration_migrateMegolmSessions(o,_,t,r.__wbg_ptr,m(s)?0:C(s));if(a[2])throw p(a[1]);return p(a[0])}}Symbol.dispose&&(bt.prototype[Symbol.dispose]=bt.prototype.free);class Te{static __wrap(e){e=e>>>0;const t=Object.create(Te.prototype);return t.__wbg_ptr=e,Or.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Or.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_olmmachine_free(e,0)}getDevice(e,t,r){return w(e,v),w(t,I),i.olmmachine_getDevice(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,!m(r),m(r)?0:r)}static initialize(e,t,r,s,o){w(e,v),w(t,I);var _=m(r)?0:b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l,c=m(s)?0:b(s,i.__wbindgen_malloc,i.__wbindgen_realloc),g=l;return i.olmmachine_initialize(e.__wbg_ptr,t.__wbg_ptr,_,a,c,g,m(o)?0:C(o))}get displayName(){return i.olmmachine_displayName(this.__wbg_ptr)}getIdentity(e){return w(e,v),i.olmmachine_getIdentity(this.__wbg_ptr,e.__wbg_ptr)}get identityKeys(){const e=i.olmmachine_identityKeys(this.__wbg_ptr);return dt.__wrap(e)}trackedUsers(){const e=i.olmmachine_trackedUsers(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}verifyBackup(e){const t=i.olmmachine_verifyBackup(this.__wbg_ptr,e);if(t[2])throw p(t[1]);return p(t[0])}disableBackup(){return i.olmmachine_disableBackup(this.__wbg_ptr)}shareRoomKey(e,t,r){w(e,E);const s=x(t,i.__wbindgen_malloc),o=l;return w(r,Jt),i.olmmachine_shareRoomKey(this.__wbg_ptr,e.__wbg_ptr,s,o,r.__wbg_ptr)}getBackupKeys(){return i.olmmachine_getBackupKeys(this.__wbg_ptr)}static initFromStore(e,t,r,s){return w(e,v),w(t,I),w(r,L),i.olmmachine_initFromStore(e.__wbg_ptr,t.__wbg_ptr,r.__wbg_ptr,m(s)?0:C(s))}roomKeyCounts(){return i.olmmachine_roomKeyCounts(this.__wbg_ptr)}backupRoomKeys(){return i.olmmachine_backupRoomKeys(this.__wbg_ptr)}enableBackupV1(e,t){const r=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l,o=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),_=l,a=i.olmmachine_enableBackupV1(this.__wbg_ptr,r,s,o,_);if(a[2])throw p(a[1]);return p(a[0])}exportRoomKeys(e){return i.olmmachine_exportRoomKeys(this.__wbg_ptr,e)}getUserDevices(e,t){return w(e,v),i.olmmachine_getUserDevices(this.__wbg_ptr,e.__wbg_ptr,!m(t),m(t)?0:t)}getVerification(e,t){w(e,v);const r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l,o=i.olmmachine_getVerification(this.__wbg_ptr,e.__wbg_ptr,r,s);if(o[2])throw p(o[1]);return p(o[0])}importRoomKeys(e,t){const r=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l,o=i.olmmachine_importRoomKeys(this.__wbg_ptr,r,s,t);if(o[2])throw p(o[1]);return p(o[0])}getRoomSettings(e){return w(e,E),i.olmmachine_getRoomSettings(this.__wbg_ptr,e.__wbg_ptr)}isBackupEnabled(){return i.olmmachine_isBackupEnabled(this.__wbg_ptr)}outgoingRequests(){return i.olmmachine_outgoingRequests(this.__wbg_ptr)}setRoomSettings(e,t){return w(e,E),w(t,re),i.olmmachine_setRoomSettings(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr)}decryptRoomEvent(e,t,r){const s=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l;w(t,E),w(r,Ke);const _=i.olmmachine_decryptRoomEvent(this.__wbg_ptr,s,o,t.__wbg_ptr,r.__wbg_ptr);if(_[2])throw p(_[1]);return p(_[0])}dehydratedDevices(){const e=i.olmmachine_dehydratedDevices(this.__wbg_ptr);return it.__wrap(e)}encryptRoomEvent(e,t,r){w(e,E);const s=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l,c=i.olmmachine_encryptRoomEvent(this.__wbg_ptr,e.__wbg_ptr,s,o,_,a);if(c[2])throw p(c[1]);return p(c[0])}encryptStateEvent(e,t,r,s){w(e,E);const o=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),_=l,a=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),c=l,g=b(s,i.__wbindgen_malloc,i.__wbindgen_realloc),u=l,f=i.olmmachine_encryptStateEvent(this.__wbg_ptr,e.__wbg_ptr,o,_,a,c,g,u);if(f[2])throw p(f[1]);return p(f[0])}crossSigningStatus(){return i.olmmachine_crossSigningStatus(this.__wbg_ptr)}getMissingSessions(e){const t=x(e,i.__wbindgen_malloc),r=l;return i.olmmachine_getMissingSessions(this.__wbg_ptr,t,r)}markRequestAsSent(e,t,r){const s=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l,c=i.olmmachine_markRequestAsSent(this.__wbg_ptr,s,o,t,_,a);if(c[2])throw p(c[1]);return p(c[0])}queryKeysForUsers(e){const t=x(e,i.__wbindgen_malloc),r=l,s=i.olmmachine_queryKeysForUsers(this.__wbg_ptr,t,r);if(s[2])throw p(s[1]);return ue.__wrap(s[0])}receiveSyncChanges(e,t,r,s,o){const _=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l;w(t,ot);let c=0;m(o)||(w(o,Ke),c=o.__destroy_into_raw());const g=i.olmmachine_receiveSyncChanges(this.__wbg_ptr,_,a,t.__wbg_ptr,r,m(s)?0:C(s),c);if(g[2])throw p(g[1]);return p(g[0])}updateTrackedUsers(e){const t=x(e,i.__wbindgen_malloc),r=l;return i.olmmachine_updateTrackedUsers(this.__wbg_ptr,t,r)}buildRoomKeyBundle(e){return w(e,E),i.olmmachine_buildRoomKeyBundle(this.__wbg_ptr,e.__wbg_ptr)}exportSecretsBundle(){return i.olmmachine_exportSecretsBundle(this.__wbg_ptr)}importSecretsBundle(e){w(e,ne);var t=e.__destroy_into_raw();return i.olmmachine_importSecretsBundle(this.__wbg_ptr,t)}getSecretsFromInbox(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;return i.olmmachine_getSecretsFromInbox(this.__wbg_ptr,t,r)}bootstrapCrossSigning(e){return i.olmmachine_bootstrapCrossSigning(this.__wbg_ptr,e)}get deviceCreationTimeMs(){return i.olmmachine_deviceCreationTimeMs(this.__wbg_ptr)}receiveRoomKeyBundle(e,t){w(e,ze);var r=e.__destroy_into_raw();const s=Z(t,i.__wbindgen_malloc),o=l,_=i.olmmachine_receiveRoomKeyBundle(this.__wbg_ptr,r,s,o);if(_[2])throw p(_[1]);return p(_[0])}getVerificationRequest(e,t){w(e,v);const r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l,o=i.olmmachine_getVerificationRequest(this.__wbg_ptr,e.__wbg_ptr,r,s);return o===0?void 0:we.__wrap(o)}invalidateGroupSession(e){return w(e,E),i.olmmachine_invalidateGroupSession(this.__wbg_ptr,e.__wbg_ptr)}deleteSecretsFromInbox(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;return i.olmmachine_deleteSecretsFromInbox(this.__wbg_ptr,t,r)}exportCrossSigningKeys(){return i.olmmachine_exportCrossSigningKeys(this.__wbg_ptr)}getVerificationRequests(e){return w(e,v),i.olmmachine_getVerificationRequests(this.__wbg_ptr,e.__wbg_ptr)}importCrossSigningKeys(e,t,r){var s=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=m(t)?0:b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l,c=m(r)?0:b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),g=l;return i.olmmachine_importCrossSigningKeys(this.__wbg_ptr,s,o,_,a,c,g)}importExportedRoomKeys(e,t){const r=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l,o=i.olmmachine_importExportedRoomKeys(this.__wbg_ptr,r,s,t);if(o[2])throw p(o[1]);return p(o[0])}static decryptExportedRoomKeys(e,t){let r,s;try{const a=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),c=l,g=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),u=l,f=i.olmmachine_decryptExportedRoomKeys(a,c,g,u);var o=f[0],_=f[1];if(f[3])throw o=0,_=0,p(f[2]);return r=o,s=_,y(o,_)}finally{i.__wbindgen_free(r,s,1)}}static encryptExportedRoomKeys(e,t,r){let s,o;try{const c=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),g=l,u=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),f=l,S=i.olmmachine_encryptExportedRoomKeys(c,g,u,f,r);var _=S[0],a=S[1];if(S[3])throw _=0,a=0,p(S[2]);return s=_,o=a,y(_,a)}finally{i.__wbindgen_free(s,o,1)}}importBackedUpRoomKeys(e,t,r){const s=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=i.olmmachine_importBackedUpRoomKeys(this.__wbg_ptr,e,m(t)?0:C(t),s,o);if(_[2])throw p(_[1]);return p(_[0])}receiveVerificationEvent(e,t){const r=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;w(t,E);const o=i.olmmachine_receiveVerificationEvent(this.__wbg_ptr,r,s,t.__wbg_ptr);if(o[2])throw p(o[1]);return p(o[0])}saveBackupDecryptionKey(e,t){w(e,j);const r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;return i.olmmachine_saveBackupDecryptionKey(this.__wbg_ptr,e.__wbg_ptr,r,s)}shareRoomKeyBundleData(e,t,r,s,o){w(e,v),w(t,E);const _=b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l;var c=m(s)?0:b(s,i.__wbindgen_malloc,i.__wbindgen_realloc),g=l;w(o,M);var u=o.__destroy_into_raw();const f=i.olmmachine_shareRoomKeyBundleData(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,_,a,c,g,u);if(f[2])throw p(f[1]);return p(f[0])}get roomKeyRequestsEnabled(){return i.olmmachine_roomKeyRequestsEnabled(this.__wbg_ptr)!==0}set roomKeyRequestsEnabled(e){i.olmmachine_set_roomKeyRequestsEnabled(this.__wbg_ptr,e)}getRoomEventEncryptionInfo(e,t){const r=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;w(t,E);const o=i.olmmachine_getRoomEventEncryptionInfo(this.__wbg_ptr,r,s,t.__wbg_ptr);if(o[2])throw p(o[1]);return p(o[0])}get roomKeyForwardingEnabled(){return i.olmmachine_roomKeyForwardingEnabled(this.__wbg_ptr)!==0}markAllTrackedUsersAsDirty(){return i.olmmachine_markAllTrackedUsersAsDirty(this.__wbg_ptr)}set roomKeyForwardingEnabled(e){i.olmmachine_set_roomKeyForwardingEnabled(this.__wbg_ptr,e)}registerReceiveSecretCallback(e){i.olmmachine_registerReceiveSecretCallback(this.__wbg_ptr,e)}getReceivedRoomKeyBundleData(e,t){return w(e,E),w(t,v),i.olmmachine_getReceivedRoomKeyBundleData(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr)}registerDevicesUpdatedCallback(e){i.olmmachine_registerDevicesUpdatedCallback(this.__wbg_ptr,e)}requestMissingSecretsIfNeeded(){return i.olmmachine_requestMissingSecretsIfNeeded(this.__wbg_ptr)}registerRoomKeyUpdatedCallback(e){i.olmmachine_registerRoomKeyUpdatedCallback(this.__wbg_ptr,e)}registerRoomKeysWithheldCallback(e){i.olmmachine_registerRoomKeysWithheldCallback(this.__wbg_ptr,e)}registerUserIdentityUpdatedCallback(e){i.olmmachine_registerUserIdentityUpdatedCallback(this.__wbg_ptr,e)}constructor(){const e=i.olmmachine_new();if(e[2])throw p(e[1]);return this.__wbg_ptr=e[0]>>>0,Or.register(this,this.__wbg_ptr,this),this}sign(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;return i.olmmachine_sign(this.__wbg_ptr,t,r)}close(){const e=this.__destroy_into_raw();i.olmmachine_close(e)}get userId(){const e=i.olmmachine_userId(this.__wbg_ptr);return v.__wrap(e)}get deviceId(){const e=i.olmmachine_deviceId(this.__wbg_ptr);return I.__wrap(e)}}Symbol.dispose&&(Te.prototype[Symbol.dispose]=Te.prototype.free);class qe{static __wrap(e){e=e>>>0;const t=Object.create(qe.prototype);return t.__wbg_ptr=e,li.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,li.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_otheruseridentity_free(e,0)}get masterKey(){let e,t;try{const o=i.otheruseridentity_masterKey(this.__wbg_ptr);var r=o[0],s=o[1];if(o[3])throw r=0,s=0,p(o[2]);return e=r,t=s,y(r,s)}finally{i.__wbindgen_free(e,t,1)}}isVerified(){return i.otheruseridentity_isVerified(this.__wbg_ptr)!==0}get selfSigningKey(){let e,t;try{const o=i.otheruseridentity_selfSigningKey(this.__wbg_ptr);var r=o[0],s=o[1];if(o[3])throw r=0,s=0,p(o[2]);return e=r,t=s,y(r,s)}finally{i.__wbindgen_free(e,t,1)}}requestVerification(e,t,r){w(e,E),w(t,Ht);var s=m(r)?0:x(r,i.__wbindgen_malloc),o=l;const _=i.otheruseridentity_requestVerification(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,s,o);if(_[2])throw p(_[1]);return we.__wrap(_[0])}withdrawVerification(){return i.otheruseridentity_withdrawVerification(this.__wbg_ptr)}pinCurrentMasterKey(){return i.otheruseridentity_pinCurrentMasterKey(this.__wbg_ptr)}wasPreviouslyVerified(){return i.otheruseridentity_wasPreviouslyVerified(this.__wbg_ptr)!==0}hasVerificationViolation(){return i.otheruseridentity_hasVerificationViolation(this.__wbg_ptr)!==0}identityNeedsUserApproval(){return i.otheruseridentity_identityNeedsUserApproval(this.__wbg_ptr)!==0}verificationRequestContent(e){let t,r;try{var s=m(e)?0:x(e,i.__wbindgen_malloc),o=l;const c=i.otheruseridentity_verificationRequestContent(this.__wbg_ptr,s,o);var _=c[0],a=c[1];if(c[3])throw _=0,a=0,p(c[2]);return t=_,r=a,y(_,a)}finally{i.__wbindgen_free(t,r,1)}}verify(){return i.otheruseridentity_verify(this.__wbg_ptr)}}Symbol.dispose&&(qe.prototype[Symbol.dispose]=qe.prototype.free);class yt{static __wrap(e){e=e>>>0;const t=Object.create(yt.prototype);return t.__wbg_ptr=e,pi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,pi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_outboundcreationresult_free(e,0)}get channel(){const e=i.__wbg_get_inboundcreationresult_channel(this.__wbg_ptr);return te.__wrap(e)}set channel(e){w(e,te);var t=e.__destroy_into_raw();i.__wbg_set_inboundcreationresult_channel(this.__wbg_ptr,t)}get initial_message(){let e,t;try{const r=i.__wbg_get_outboundcreationresult_initial_message(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set initial_message(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}}Symbol.dispose&&(yt.prototype[Symbol.dispose]=yt.prototype.free);class Me{static __wrap(e){e=e>>>0;const t=Object.create(Me.prototype);return t.__wbg_ptr=e,bi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,bi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_ownuseridentity_free(e,0)}get masterKey(){let e,t;try{const o=i.ownuseridentity_masterKey(this.__wbg_ptr);var r=o[0],s=o[1];if(o[3])throw r=0,s=0,p(o[2]);return e=r,t=s,y(r,s)}finally{i.__wbindgen_free(e,t,1)}}isVerified(){return i.ownuseridentity_isVerified(this.__wbg_ptr)!==0}get selfSigningKey(){let e,t;try{const o=i.ownuseridentity_selfSigningKey(this.__wbg_ptr);var r=o[0],s=o[1];if(o[3])throw r=0,s=0,p(o[2]);return e=r,t=s,y(r,s)}finally{i.__wbindgen_free(e,t,1)}}get userSigningKey(){let e,t;try{const o=i.ownuseridentity_userSigningKey(this.__wbg_ptr);var r=o[0],s=o[1];if(o[3])throw r=0,s=0,p(o[2]);return e=r,t=s,y(r,s)}finally{i.__wbindgen_free(e,t,1)}}requestVerification(e){var t=m(e)?0:x(e,i.__wbindgen_malloc),r=l;const s=i.ownuseridentity_requestVerification(this.__wbg_ptr,t,r);if(s[2])throw p(s[1]);return p(s[0])}trustsOurOwnDevice(){return i.ownuseridentity_trustsOurOwnDevice(this.__wbg_ptr)}withdrawVerification(){return i.ownuseridentity_withdrawVerification(this.__wbg_ptr)}wasPreviouslyVerified(){return i.ownuseridentity_wasPreviouslyVerified(this.__wbg_ptr)!==0}hasVerificationViolation(){return i.ownuseridentity_hasVerificationViolation(this.__wbg_ptr)!==0}verify(){return i.ownuseridentity_verify(this.__wbg_ptr)}}Symbol.dispose&&(Me.prototype[Symbol.dispose]=Me.prototype.free);class Fe{static __unwrap(e){return e instanceof Fe?e.__destroy_into_raw():0}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,yi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_pickledinboundgroupsession_free(e,0)}get pickle(){let e,t;try{const r=i.__wbg_get_pickledinboundgroupsession_pickle(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set pickle(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}get senderKey(){let e,t;try{const r=i.__wbg_get_pickledinboundgroupsession_senderKey(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set senderKey(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_backup_version(this.__wbg_ptr,t,r)}get senderSigningKey(){const e=i.__wbg_get_pickledinboundgroupsession_senderSigningKey(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}set senderSigningKey(e){var t=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_basemigrationdata_backupRecoveryKey(this.__wbg_ptr,t,r)}get roomId(){const e=i.__wbg_get_pickledinboundgroupsession_roomId(this.__wbg_ptr);return e===0?void 0:E.__wrap(e)}set roomId(e){let t=0;m(e)||(w(e,E),t=e.__destroy_into_raw()),i.__wbg_set_pickledinboundgroupsession_roomId(this.__wbg_ptr,t)}get imported(){return i.__wbg_get_pickledinboundgroupsession_imported(this.__wbg_ptr)!==0}set imported(e){i.__wbg_set_pickledinboundgroupsession_imported(this.__wbg_ptr,e)}get backedUp(){return i.__wbg_get_pickledinboundgroupsession_backedUp(this.__wbg_ptr)!==0}set backedUp(e){i.__wbg_set_pickledinboundgroupsession_backedUp(this.__wbg_ptr,e)}constructor(){const e=i.pickledinboundgroupsession_new();return this.__wbg_ptr=e>>>0,yi.register(this,this.__wbg_ptr,this),this}}Symbol.dispose&&(Fe.prototype[Symbol.dispose]=Fe.prototype.free);class Ue{static __unwrap(e){return e instanceof Ue?e.__destroy_into_raw():0}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,fi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_pickledsession_free(e,0)}constructor(){const e=i.pickledsession_new();return this.__wbg_ptr=e>>>0,fi.register(this,this.__wbg_ptr,this),this}get pickle(){let e,t;try{const r=i.__wbg_get_pickledsession_pickle(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set pickle(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}get senderKey(){let e,t;try{const r=i.__wbg_get_pickledsession_senderKey(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set senderKey(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_backup_version(this.__wbg_ptr,t,r)}get createdUsingFallbackKey(){return i.__wbg_get_pickledsession_createdUsingFallbackKey(this.__wbg_ptr)!==0}set createdUsingFallbackKey(e){i.__wbg_set_pickledsession_createdUsingFallbackKey(this.__wbg_ptr,e)}get creationTime(){return i.__wbg_get_pickledsession_creationTime(this.__wbg_ptr)}set creationTime(e){i.__wbg_set_pickledsession_creationTime(this.__wbg_ptr,e)}get lastUseTime(){return i.__wbg_get_pickledsession_lastUseTime(this.__wbg_ptr)}set lastUseTime(e){i.__wbg_set_pickledsession_lastUseTime(this.__wbg_ptr,e)}}Symbol.dispose&&(Ue.prototype[Symbol.dispose]=Ue.prototype.free);class ft{static __wrap(e){e=e>>>0;const t=Object.create(ft.prototype);return t.__wbg_ptr=e,Dr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Dr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_pkdecryption_free(e,0)}publicKey(){const e=i.pkdecryption_publicKey(this.__wbg_ptr);return T.__wrap(e)}secretKey(){const e=i.pkdecryption_secretKey(this.__wbg_ptr);return $.__wrap(e)}decryptString(e){let t,r;try{w(e,Q);const _=i.pkdecryption_decryptString(this.__wbg_ptr,e.__wbg_ptr);var s=_[0],o=_[1];if(_[3])throw s=0,o=0,p(_[2]);return t=s,r=o,y(s,o)}finally{i.__wbindgen_free(t,r,1)}}constructor(){const e=i.pkdecryption_new();return this.__wbg_ptr=e>>>0,Dr.register(this,this.__wbg_ptr,this),this}decrypt(e){w(e,Q);const t=i.pkdecryption_decrypt(this.__wbg_ptr,e.__wbg_ptr);if(t[3])throw p(t[2]);var r=A(t[0],t[1]).slice();return i.__wbindgen_free(t[0],t[1]*1,1),r}static fromKey(e){w(e,$);const t=i.pkdecryption_fromKey(e.__wbg_ptr);return ft.__wrap(t)}}Symbol.dispose&&(ft.prototype[Symbol.dispose]=ft.prototype.free);class wt{static __wrap(e){e=e>>>0;const t=Object.create(wt.prototype);return t.__wbg_ptr=e,wi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,wi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_pkencryption_free(e,0)}encryptString(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.pkencryption_encrypt(this.__wbg_ptr,t,r);return Q.__wrap(s)}encrypt(e){const t=Z(e,i.__wbindgen_malloc),r=l,s=i.pkencryption_encrypt(this.__wbg_ptr,t,r);return Q.__wrap(s)}static fromKey(e){w(e,T);const t=i.pkencryption_fromKey(e.__wbg_ptr);return wt.__wrap(t)}}Symbol.dispose&&(wt.prototype[Symbol.dispose]=wt.prototype.free);class Q{static __wrap(e){e=e>>>0;const t=Object.create(Q.prototype);return t.__wbg_ptr=e,hi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,hi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_pkmessage_free(e,0)}ciphertext(){const e=i.pkmessage_ciphertext(this.__wbg_ptr);var t=A(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*1,1),t}static fromParts(e,t,r){const s=Z(e,i.__wbindgen_malloc),o=l,_=Z(t,i.__wbindgen_malloc),a=l;w(r,T);const c=i.pkmessage_fromParts(s,o,_,a,r.__wbg_ptr);return Q.__wrap(c)}static fromBase64(e){w(e,Ee);const t=i.pkmessage_fromBase64(e.__wbg_ptr);if(t[2])throw p(t[1]);return Q.__wrap(t[0])}ephemeralKey(){const e=i.pkmessage_ephemeralKey(this.__wbg_ptr);return T.__wrap(e)}mac(){const e=i.pkmessage_mac(this.__wbg_ptr);var t=A(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*1,1),t}toBase64(){const e=i.pkmessage_toBase64(this.__wbg_ptr);return Ee.__wrap(e)}}Symbol.dispose&&(Q.prototype[Symbol.dispose]=Q.prototype.free);class ht{static __wrap(e){e=e>>>0;const t=Object.create(ht.prototype);return t.__wbg_ptr=e,vi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,vi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_plaintexttodeviceevent_free(e,0)}get rawEvent(){return i.__wbg_get_plaintexttodeviceevent_rawEvent(this.__wbg_ptr)}get type(){return i.plaintexttodeviceevent_type(this.__wbg_ptr)}}Symbol.dispose&&(ht.prototype[Symbol.dispose]=ht.prototype.free);const Pt=Object.freeze({Decrypted:0,0:"Decrypted",UnableToDecrypt:1,1:"UnableToDecrypt",PlainText:2,2:"PlainText",Invalid:3,3:"Invalid"});class je{static __wrap(e){e=e>>>0;const t=Object.create(je.prototype);return t.__wbg_ptr=e,Cr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Cr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_putdehydrateddevicerequest_free(e,0)}get body(){return i.__wbg_get_putdehydrateddevicerequest_body(this.__wbg_ptr)}constructor(e){const t=i.putdehydrateddevicerequest_new(e);return this.__wbg_ptr=t>>>0,Cr.register(this,this.__wbg_ptr,this),this}}Symbol.dispose&&(je.prototype[Symbol.dispose]=je.prototype.free);class pe{static __wrap(e){e=e>>>0;const t=Object.create(pe.prototype);return t.__wbg_ptr=e,mi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,mi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_qr_free(e,0)}toQrCode(){const e=i.qr_toQrCode(this.__wbg_ptr);if(e[2])throw p(e[1]);return vt.__wrap(e[0])}weStarted(){return i.qr_weStarted(this.__wbg_ptr)!==0}cancelInfo(){const e=i.qr_cancelInfo(this.__wbg_ptr);return e===0?void 0:ae.__wrap(e)}reciprocate(){const e=i.qr_reciprocate(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}isCancelled(){return i.qr_isCancelled(this.__wbg_ptr)!==0}reciprocated(){return i.qr_reciprocated(this.__wbg_ptr)!==0}get otherUserId(){const e=i.qr_otherUserId(this.__wbg_ptr);return v.__wrap(e)}get otherDeviceId(){const e=i.qr_otherDeviceId(this.__wbg_ptr);return I.__wrap(e)}cancelWithCode(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.qr_cancelWithCode(this.__wbg_ptr,t,r);if(s[2])throw p(s[1]);return p(s[0])}confirmScanning(){const e=i.qr_confirmScanning(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}hasBeenScanned(){return i.qr_hasBeenScanned(this.__wbg_ptr)!==0}hasBeenConfirmed(){return i.qr_hasBeenConfirmed(this.__wbg_ptr)!==0}isSelfVerification(){return i.qr_isSelfVerification(this.__wbg_ptr)!==0}registerChangesCallback(e){i.qr_registerChangesCallback(this.__wbg_ptr,e)}state(){return i.qr_state(this.__wbg_ptr)}cancel(){const e=i.qr_cancel(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}get flowId(){let e,t;try{const r=i.qr_flowId(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}isDone(){return i.qr_isDone(this.__wbg_ptr)!==0}get roomId(){const e=i.qr_roomId(this.__wbg_ptr);return e===0?void 0:E.__wrap(e)}get userId(){const e=i.qr_userId(this.__wbg_ptr);return v.__wrap(e)}toBytes(){const e=i.qr_toBytes(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}}Symbol.dispose&&(pe.prototype[Symbol.dispose]=pe.prototype.free);class vt{static __wrap(e){e=e>>>0;const t=Object.create(vt.prototype);return t.__wbg_ptr=e,Si.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Si.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_qrcode_free(e,0)}renderIntoBuffer(){const e=i.qrcode_renderIntoBuffer(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}}Symbol.dispose&&(vt.prototype[Symbol.dispose]=vt.prototype.free);class Re{static __wrap(e){e=e>>>0;const t=Object.create(Re.prototype);return t.__wbg_ptr=e,Br.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Br.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_qrcodedata_free(e,0)}static fromBytes(e){const t=Z(e,i.__wbindgen_malloc),r=l,s=i.qrcodedata_fromBytes(t,r);if(s[2])throw p(s[1]);return Re.__wrap(s[0])}get publicKey(){const e=i.qrcodedata_publicKey(this.__wbg_ptr);return T.__wrap(e)}static fromBase64(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.qrcodedata_fromBase64(t,r);if(s[2])throw p(s[1]);return Re.__wrap(s[0])}get serverName(){const e=i.qrcodedata_serverName(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}get rendezvousUrl(){let e,t;try{const r=i.qrcodedata_rendezvousUrl(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}constructor(e,t,r){w(e,T);var s=e.__destroy_into_raw();const o=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),_=l;var a=m(r)?0:b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),c=l;const g=i.qrcodedata_new(s,o,_,a,c);if(g[2])throw p(g[1]);return this.__wbg_ptr=g[0]>>>0,Br.register(this,this.__wbg_ptr,this),this}get mode(){return i.qrcodedata_mode(this.__wbg_ptr)}toBytes(){const e=i.qrcodedata_toBytes(this.__wbg_ptr);var t=A(e[0],e[1]).slice();return i.__wbindgen_free(e[0],e[1]*1,1),t}toBase64(){let e,t;try{const r=i.qrcodedata_toBase64(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(Re.prototype[Symbol.dispose]=Re.prototype.free);const eo=Object.freeze({Login:0,0:"Login",Reciprocate:1,1:"Reciprocate"});class be{static __wrap(e){e=e>>>0;const t=Object.create(be.prototype);return t.__wbg_ptr=e,ki.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ki.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_qrcodescan_free(e,0)}static fromBytes(e){const t=i.qrcodescan_fromBytes(e);if(t[2])throw p(t[1]);return be.__wrap(t[0])}}Symbol.dispose&&(be.prototype[Symbol.dispose]=be.prototype.free);const me=Object.freeze({Created:0,0:"Created",Scanned:1,1:"Scanned",Confirmed:2,2:"Confirmed",Reciprocated:3,3:"Reciprocated",Done:4,4:"Done",Cancelled:5,5:"Cancelled"});class mt{static __wrap(e){e=e>>>0;const t=Object.create(mt.prototype);return t.__wbg_ptr=e,Ri.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ri.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_rehydrateddevice_free(e,0)}receiveEvents(e,t){const r=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;let o=0;return m(t)||(w(t,Ke),o=t.__destroy_into_raw()),i.rehydrateddevice_receiveEvents(this.__wbg_ptr,r,s,o)}}Symbol.dispose&&(mt.prototype[Symbol.dispose]=mt.prototype.free);const to=Object.freeze({KeysUpload:0,0:"KeysUpload",KeysQuery:1,1:"KeysQuery",KeysClaim:2,2:"KeysClaim",ToDevice:3,3:"ToDevice",SignatureUpload:4,4:"SignatureUpload",RoomMessage:5,5:"RoomMessage",KeysBackup:6,6:"KeysBackup"});class E{static __wrap(e){e=e>>>0;const t=Object.create(E.prototype);return t.__wbg_ptr=e,Tr.register(t,t.__wbg_ptr,t),t}static __unwrap(e){return e instanceof E?e.__destroy_into_raw():0}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Tr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_roomid_free(e,0)}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.roomid_new(t,r);if(s[2])throw p(s[1]);return this.__wbg_ptr=s[0]>>>0,Tr.register(this,this.__wbg_ptr,this),this}toString(){let e,t;try{const r=i.roomid_toString(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(E.prototype[Symbol.dispose]=E.prototype.free);class St{static __wrap(e){e=e>>>0;const t=Object.create(St.prototype);return t.__wbg_ptr=e,Ei.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ei.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_roomkeycounts_free(e,0)}get total(){return i.__wbg_get_roomkeycounts_total(this.__wbg_ptr)}set total(e){i.__wbg_set_roomkeycounts_total(this.__wbg_ptr,e)}get backedUp(){return i.__wbg_get_roomkeycounts_backedUp(this.__wbg_ptr)}set backedUp(e){i.__wbg_set_roomkeycounts_backedUp(this.__wbg_ptr,e)}}Symbol.dispose&&(St.prototype[Symbol.dispose]=St.prototype.free);class kt{static __wrap(e){e=e>>>0;const t=Object.create(kt.prototype);return t.__wbg_ptr=e,Ki.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ki.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_roomkeyimportresult_free(e,0)}keys(){return i.roomkeyimportresult_keys(this.__wbg_ptr)}get importedCount(){return i.__wbg_get_roomkeyimportresult_importedCount(this.__wbg_ptr)>>>0}get totalCount(){return i.__wbg_get_roomkeyimportresult_totalCount(this.__wbg_ptr)>>>0}}Symbol.dispose&&(kt.prototype[Symbol.dispose]=kt.prototype.free);class Rt{static __wrap(e){e=e>>>0;const t=Object.create(Rt.prototype);return t.__wbg_ptr=e,Ii.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ii.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_roomkeyinfo_free(e,0)}get senderKey(){const e=i.roomkeyinfo_senderKey(this.__wbg_ptr);return T.__wrap(e)}get sessionId(){let e,t;try{const r=i.roomkeyinfo_sessionId(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get roomId(){const e=i.roomkeyinfo_roomId(this.__wbg_ptr);return E.__wrap(e)}get algorithm(){return i.roomkeyinfo_algorithm(this.__wbg_ptr)}}Symbol.dispose&&(Rt.prototype[Symbol.dispose]=Rt.prototype.free);class Et{static __wrap(e){e=e>>>0;const t=Object.create(Et.prototype);return t.__wbg_ptr=e,Oi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Oi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_roomkeywithheldinfo_free(e,0)}get sessionId(){let e,t;try{const r=i.roomkeywithheldinfo_sessionId(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get withheldCode(){let e,t;try{const r=i.roomkeywithheldinfo_withheldCode(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get sender(){const e=i.roomkeywithheldinfo_sender(this.__wbg_ptr);return v.__wrap(e)}get roomId(){const e=i.roomkeywithheldinfo_roomId(this.__wbg_ptr);return E.__wrap(e)}get algorithm(){return i.roomkeywithheldinfo_algorithm(this.__wbg_ptr)}}Symbol.dispose&&(Et.prototype[Symbol.dispose]=Et.prototype.free);class Ne{static __wrap(e){e=e>>>0;const t=Object.create(Ne.prototype);return t.__wbg_ptr=e,qr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,qr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_roommessagerequest_free(e,0)}get type(){return i.roommessagerequest_type(this.__wbg_ptr)}constructor(e,t,r,s,o){const _=i.roommessagerequest_new(e,t,r,s,o);return this.__wbg_ptr=_>>>0,qr.register(this,this.__wbg_ptr,this),this}get id(){return i.__wbg_get_roommessagerequest_id(this.__wbg_ptr)}get room_id(){return i.__wbg_get_roommessagerequest_room_id(this.__wbg_ptr)}get txn_id(){return i.__wbg_get_roommessagerequest_txn_id(this.__wbg_ptr)}get event_type(){return i.__wbg_get_roommessagerequest_event_type(this.__wbg_ptr)}get body(){return i.__wbg_get_roommessagerequest_body(this.__wbg_ptr)}}Symbol.dispose&&(Ne.prototype[Symbol.dispose]=Ne.prototype.free);class re{static __wrap(e){e=e>>>0;const t=Object.create(re.prototype);return t.__wbg_ptr=e,Mr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Mr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_roomsettings_free(e,0)}constructor(){const e=i.roomsettings_new();return this.__wbg_ptr=e>>>0,Mr.register(this,this.__wbg_ptr,this),this}get algorithm(){return i.__wbg_get_roomsettings_algorithm(this.__wbg_ptr)}set algorithm(e){i.__wbg_set_roomsettings_algorithm(this.__wbg_ptr,e)}get encryptStateEvents(){return i.__wbg_get_roomsettings_encryptStateEvents(this.__wbg_ptr)!==0}set encryptStateEvents(e){i.__wbg_set_roomsettings_encryptStateEvents(this.__wbg_ptr,e)}get onlyAllowTrustedDevices(){return i.__wbg_get_roomsettings_onlyAllowTrustedDevices(this.__wbg_ptr)!==0}set onlyAllowTrustedDevices(e){i.__wbg_set_roomsettings_onlyAllowTrustedDevices(this.__wbg_ptr,e)}get sessionRotationPeriodMs(){const e=i.__wbg_get_roomsettings_sessionRotationPeriodMs(this.__wbg_ptr);return e[0]===0?void 0:e[1]}set sessionRotationPeriodMs(e){i.__wbg_set_roomsettings_sessionRotationPeriodMs(this.__wbg_ptr,!m(e),m(e)?0:e)}get sessionRotationPeriodMessages(){const e=i.__wbg_get_roomsettings_sessionRotationPeriodMessages(this.__wbg_ptr);return e[0]===0?void 0:e[1]}set sessionRotationPeriodMessages(e){i.__wbg_set_roomsettings_sessionRotationPeriodMessages(this.__wbg_ptr,!m(e),m(e)?0:e)}}Symbol.dispose&&(re.prototype[Symbol.dispose]=re.prototype.free);class ye{static __wrap(e){e=e>>>0;const t=Object.create(ye.prototype);return t.__wbg_ptr=e,Di.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Di.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_sas_free(e,0)}weStarted(){return i.sas_weStarted(this.__wbg_ptr)!==0}cancelInfo(){const e=i.sas_cancelInfo(this.__wbg_ptr);return e===0?void 0:ae.__wrap(e)}emojiIndex(){const e=i.sas_emojiIndex(this.__wbg_ptr);let t;return e[0]!==0&&(t=A(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}isCancelled(){return i.sas_isCancelled(this.__wbg_ptr)!==0}get otherUserId(){const e=i.sas_otherUserId(this.__wbg_ptr);return v.__wrap(e)}supportsEmoji(){return i.sas_supportsEmoji(this.__wbg_ptr)!==0}get otherDeviceId(){const e=i.sas_otherDeviceId(this.__wbg_ptr);return I.__wrap(e)}canBePresented(){return i.sas_canBePresented(this.__wbg_ptr)!==0}cancelWithCode(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.sas_cancelWithCode(this.__wbg_ptr,t,r);if(s[2])throw p(s[1]);return p(s[0])}hasBeenAccepted(){return i.sas_hasBeenAccepted(this.__wbg_ptr)!==0}haveWeConfirmed(){return i.sas_haveWeConfirmed(this.__wbg_ptr)!==0}isSelfVerification(){return i.sas_isSelfVerification(this.__wbg_ptr)!==0}startedFromRequest(){return i.sas_startedFromRequest(this.__wbg_ptr)!==0}registerChangesCallback(e){i.sas_registerChangesCallback(this.__wbg_ptr,e)}emoji(){const e=i.sas_emoji(this.__wbg_ptr);let t;return e[0]!==0&&(t=He(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*4,4)),t}accept(){const e=i.sas_accept(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}cancel(){const e=i.sas_cancel(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}confirm(){return i.sas_confirm(this.__wbg_ptr)}get flowId(){let e,t;try{const r=i.sas_flowId(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}isDone(){return i.sas_isDone(this.__wbg_ptr)!==0}get roomId(){const e=i.sas_roomId(this.__wbg_ptr);return e===0?void 0:E.__wrap(e)}get userId(){const e=i.sas_userId(this.__wbg_ptr);return v.__wrap(e)}decimals(){const e=i.sas_decimals(this.__wbg_ptr);let t;return e[0]!==0&&(t=As(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*2,2)),t}get deviceId(){const e=i.sas_deviceId(this.__wbg_ptr);return I.__wrap(e)}timedOut(){return i.sas_timedOut(this.__wbg_ptr)!==0}}Symbol.dispose&&(ye.prototype[Symbol.dispose]=ye.prototype.free);class ne{static __wrap(e){e=e>>>0;const t=Object.create(ne.prototype);return t.__wbg_ptr=e,Ci.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ci.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_secretsbundle_free(e,0)}get masterKey(){let e,t;try{const r=i.secretsbundle_masterKey(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get backupBundle(){const e=i.secretsbundle_backupBundle(this.__wbg_ptr);return e===0?void 0:Ye.__wrap(e)}get selfSigningKey(){let e,t;try{const r=i.secretsbundle_selfSigningKey(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get userSigningKey(){let e,t;try{const r=i.secretsbundle_userSigningKey(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}to_json(){const e=i.secretsbundle_to_json(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}static from_json(e){const t=i.secretsbundle_from_json(e);if(t[2])throw p(t[1]);return ne.__wrap(t[0])}}Symbol.dispose&&(ne.prototype[Symbol.dispose]=ne.prototype.free);class Pe{static __wrap(e){e=e>>>0;const t=Object.create(Pe.prototype);return t.__wbg_ptr=e,Fr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Fr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_servername_free(e,0)}isIpLiteral(){return i.servername_isIpLiteral(this.__wbg_ptr)!==0}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.servername_new(t,r);if(s[2])throw p(s[1]);return this.__wbg_ptr=s[0]>>>0,Fr.register(this,this.__wbg_ptr,this),this}get host(){let e,t;try{const r=i.servername_host(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get port(){const e=i.servername_port(this.__wbg_ptr);return e===16777215?void 0:e}}Symbol.dispose&&(Pe.prototype[Symbol.dispose]=Pe.prototype.free);const tn=Object.freeze({Red:0,0:"Red",Grey:1,1:"Grey",None:2,2:"None"});class xe{static __wrap(e){e=e>>>0;const t=Object.create(xe.prototype);return t.__wbg_ptr=e,Bi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Bi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_shieldstate_free(e,0)}get message(){const e=i.shieldstate_message(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*1,1)),t}get color(){return i.__wbg_get_shieldstate_color(this.__wbg_ptr)}set color(e){i.__wbg_set_shieldstate_color(this.__wbg_ptr,e)}get code(){const e=i.__wbg_get_shieldstate_code(this.__wbg_ptr);return e===6?void 0:e}set code(e){i.__wbg_set_shieldstate_code(this.__wbg_ptr,m(e)?6:e)}}Symbol.dispose&&(xe.prototype[Symbol.dispose]=xe.prototype.free);const Se=Object.freeze({AuthenticityNotGuaranteed:0,0:"AuthenticityNotGuaranteed",UnknownDevice:1,1:"UnknownDevice",UnsignedDevice:2,2:"UnsignedDevice",UnverifiedIdentity:3,3:"UnverifiedIdentity",VerificationViolation:4,4:"VerificationViolation",MismatchedSender:5,5:"MismatchedSender"});class Kt{static __wrap(e){e=e>>>0;const t=Object.create(Kt.prototype);return t.__wbg_ptr=e,Ti.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ti.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_signature_free(e,0)}get ed25519(){const e=i.signature_ed25519(this.__wbg_ptr);return e===0?void 0:de.__wrap(e)}toBase64(){let e,t;try{const r=i.signature_toBase64(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(Kt.prototype[Symbol.dispose]=Kt.prototype.free);const ro=Object.freeze({Missing:0,0:"Missing",Invalid:1,1:"Invalid",ValidButNotTrusted:2,2:"ValidButNotTrusted",ValidAndTrusted:3,3:"ValidAndTrusted"});class fe{static __wrap(e){e=e>>>0;const t=Object.create(fe.prototype);return t.__wbg_ptr=e,Ur.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ur.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_signatureuploadrequest_free(e,0)}get id(){return i.__wbg_get_signatureuploadrequest_id(this.__wbg_ptr)}get body(){return i.__wbg_get_signatureuploadrequest_body(this.__wbg_ptr)}get type(){return i.signatureuploadrequest_type(this.__wbg_ptr)}constructor(e,t){const r=i.signatureuploadrequest_new(e,t);return this.__wbg_ptr=r>>>0,Ur.register(this,this.__wbg_ptr,this),this}}Symbol.dispose&&(fe.prototype[Symbol.dispose]=fe.prototype.free);class It{static __wrap(e){e=e>>>0;const t=Object.create(It.prototype);return t.__wbg_ptr=e,qi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,qi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_signatureverification_free(e,0)}get userState(){return i.signatureverification_userState(this.__wbg_ptr)}get deviceState(){return i.signatureverification_deviceState(this.__wbg_ptr)}trusted(){return i.signatureverification_trusted(this.__wbg_ptr)!==0}}Symbol.dispose&&(It.prototype[Symbol.dispose]=It.prototype.free);class Ae{static __wrap(e){e=e>>>0;const t=Object.create(Ae.prototype);return t.__wbg_ptr=e,jr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,jr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_signatures_free(e,0)}addSignature(e,t,r){w(e,v),w(t,ce),w(r,de);const s=i.signatures_addSignature(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,r.__wbg_ptr);return s===0?void 0:Be.__wrap(s)}getSignature(e,t){w(e,v),w(t,ce);const r=i.signatures_getSignature(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr);return r===0?void 0:de.__wrap(r)}get(e){return w(e,v),i.signatures_get(this.__wbg_ptr,e.__wbg_ptr)}constructor(){const e=i.signatures_new();return this.__wbg_ptr=e>>>0,jr.register(this,this.__wbg_ptr,this),this}clear(){i.signatures_clear(this.__wbg_ptr)}get count(){return i.signatures_count(this.__wbg_ptr)>>>0}asJSON(){const e=i.signatures_asJSON(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}isEmpty(){return i.signatures_isEmpty(this.__wbg_ptr)!==0}}Symbol.dispose&&(Ae.prototype[Symbol.dispose]=Ae.prototype.free);class L{static __wrap(e){e=e>>>0;const t=Object.create(L.prototype);return t.__wbg_ptr=e,Mi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Mi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_storehandle_free(e,0)}static open(e,t,r){var s=m(e)?0:b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=m(t)?0:b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),a=l;return i.storehandle_open(s,o,_,a,m(r)?0:C(r))}static openWithKey(e,t,r){const s=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l,_=Z(t,i.__wbindgen_malloc),a=l;return i.storehandle_openWithKey(s,o,_,a,m(r)?0:C(r))}}Symbol.dispose&&(L.prototype[Symbol.dispose]=L.prototype.free);class ze{static __wrap(e){e=e>>>0;const t=Object.create(ze.prototype);return t.__wbg_ptr=e,Fi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Fi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_storedroomkeybundledata_free(e,0)}get senderUser(){const e=i.storedroomkeybundledata_senderUser(this.__wbg_ptr);return v.__wrap(e)}get encryptionInfo(){let e,t;try{const r=i.storedroomkeybundledata_encryptionInfo(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get url(){let e,t;try{const r=i.storedroomkeybundledata_url(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}get roomId(){const e=i.storedroomkeybundledata_roomId(this.__wbg_ptr);return E.__wrap(e)}}Symbol.dispose&&(ze.prototype[Symbol.dispose]=ze.prototype.free);class Ot{static __wrap(e){e=e>>>0;const t=Object.create(Ot.prototype);return t.__wbg_ptr=e,Ui.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ui.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_todeviceencryptioninfo_free(e,0)}get senderCurve25519Key(){let e,t;try{const r=i.__wbg_get_todeviceencryptioninfo_senderCurve25519Key(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}set senderCurve25519Key(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l;i.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,r)}get sender(){const e=i.__wbg_get_todeviceencryptioninfo_sender(this.__wbg_ptr);return v.__wrap(e)}set sender(e){w(e,v);var t=e.__destroy_into_raw();i.__wbg_set_todeviceencryptioninfo_sender(this.__wbg_ptr,t)}get senderDevice(){const e=i.__wbg_get_todeviceencryptioninfo_senderDevice(this.__wbg_ptr);return e===0?void 0:I.__wrap(e)}set senderDevice(e){let t=0;m(e)||(w(e,I),t=e.__destroy_into_raw()),i.__wbg_set_todeviceencryptioninfo_senderDevice(this.__wbg_ptr,t)}isSenderVerified(){return i.todeviceencryptioninfo_isSenderVerified(this.__wbg_ptr)!==0}}Symbol.dispose&&(Ot.prototype[Symbol.dispose]=Ot.prototype.free);class Ve{static __wrap(e){e=e>>>0;const t=Object.create(Ve.prototype);return t.__wbg_ptr=e,Nr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Nr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_todevicerequest_free(e,0)}get type(){return i.todevicerequest_type(this.__wbg_ptr)}constructor(e,t,r,s){const o=i.todevicerequest_new(e,t,r,s);return this.__wbg_ptr=o>>>0,Nr.register(this,this.__wbg_ptr,this),this}get id(){return i.__wbg_get_todevicerequest_id(this.__wbg_ptr)}get event_type(){return i.__wbg_get_todevicerequest_event_type(this.__wbg_ptr)}get txn_id(){return i.__wbg_get_todevicerequest_txn_id(this.__wbg_ptr)}get body(){return i.__wbg_get_todevicerequest_body(this.__wbg_ptr)}}Symbol.dispose&&(Ve.prototype[Symbol.dispose]=Ve.prototype.free);class Dt{static __wrap(e){e=e>>>0;const t=Object.create(Dt.prototype);return t.__wbg_ptr=e,ji.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ji.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_todeviceunabletodecryptinfo_free(e,0)}get reason(){return i.__wbg_get_todeviceunabletodecryptinfo_reason(this.__wbg_ptr)}set reason(e){i.__wbg_set_todeviceunabletodecryptinfo_reason(this.__wbg_ptr,e)}}Symbol.dispose&&(Dt.prototype[Symbol.dispose]=Dt.prototype.free);const no=Object.freeze({DecryptionFailure:0,0:"DecryptionFailure",UnverifiedSenderDevice:1,1:"UnverifiedSenderDevice",NoOlmMachine:2,2:"NoOlmMachine",EncryptionIsDisabled:3,3:"EncryptionIsDisabled"});class rn{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ni.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_tracing_free(e,0)}static isAvailable(){return i.tracing_isAvailable()!==0}constructor(e){const t=i.tracing_new(e);if(t[2])throw p(t[1]);return this.__wbg_ptr=t[0]>>>0,Ni.register(this,this.__wbg_ptr,this),this}turnOn(){const e=i.tracing_turnOn(this.__wbg_ptr);if(e[1])throw p(e[0])}turnOff(){const e=i.tracing_turnOff(this.__wbg_ptr);if(e[1])throw p(e[0])}set minLevel(e){const t=i.tracing_set_minLevel(this.__wbg_ptr,e);if(t[1])throw p(t[0])}}Symbol.dispose&&(rn.prototype[Symbol.dispose]=rn.prototype.free);const nn=Object.freeze({Untrusted:0,0:"Untrusted",CrossSignedOrLegacy:1,1:"CrossSignedOrLegacy",CrossSigned:2,2:"CrossSigned"});class Ct{static __wrap(e){e=e>>>0;const t=Object.create(Ct.prototype);return t.__wbg_ptr=e,Pi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Pi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_utdtodeviceevent_free(e,0)}get type(){return i.utdtodeviceevent_type(this.__wbg_ptr)}get rawEvent(){return i.__wbg_get_utdtodeviceevent_rawEvent(this.__wbg_ptr)}get utdInfo(){const e=i.__wbg_get_utdtodeviceevent_utdInfo(this.__wbg_ptr);return Dt.__wrap(e)}}Symbol.dispose&&(Ct.prototype[Symbol.dispose]=Ct.prototype.free);class Le{static __wrap(e){e=e>>>0;const t=Object.create(Le.prototype);return t.__wbg_ptr=e,Pr.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Pr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_uploadsigningkeysrequest_free(e,0)}get body(){return i.__wbg_get_uploadsigningkeysrequest_body(this.__wbg_ptr)}constructor(e){const t=i.uploadsigningkeysrequest_new(e);return this.__wbg_ptr=t>>>0,Pr.register(this,this.__wbg_ptr,this),this}}Symbol.dispose&&(Le.prototype[Symbol.dispose]=Le.prototype.free);class Bt{static __wrap(e){e=e>>>0;const t=Object.create(Bt.prototype);return t.__wbg_ptr=e,xi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,xi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_userdevices_free(e,0)}isAnyVerified(){return i.userdevices_isAnyVerified(this.__wbg_ptr)!==0}get(e){w(e,I);const t=i.userdevices_get(this.__wbg_ptr,e.__wbg_ptr);return t===0?void 0:Wt.__wrap(t)}keys(){return i.userdevices_keys(this.__wbg_ptr)}devices(){return i.userdevices_devices(this.__wbg_ptr)}}Symbol.dispose&&(Bt.prototype[Symbol.dispose]=Bt.prototype.free);class v{static __wrap(e){e=e>>>0;const t=Object.create(v.prototype);return t.__wbg_ptr=e,xr.register(t,t.__wbg_ptr,t),t}static __unwrap(e){return e instanceof v?e.__destroy_into_raw():0}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,xr.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_userid_free(e,0)}get serverName(){const e=i.userid_serverName(this.__wbg_ptr);return Pe.__wrap(e)}isHistorical(){return i.userid_isHistorical(this.__wbg_ptr)!==0}constructor(e){const t=b(e,i.__wbindgen_malloc,i.__wbindgen_realloc),r=l,s=i.userid_new(t,r);if(s[2])throw p(s[1]);return this.__wbg_ptr=s[0]>>>0,xr.register(this,this.__wbg_ptr,this),this}clone(){const e=i.userid_clone(this.__wbg_ptr);return v.__wrap(e)}get localpart(){let e,t;try{const r=i.userid_localpart(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}toString(){let e,t;try{const r=i.userid_toString(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(v.prototype[Symbol.dispose]=v.prototype.free);const xt=Object.freeze({SasV1:0,0:"SasV1",QrCodeScanV1:1,1:"QrCodeScanV1",QrCodeShowV1:2,2:"QrCodeShowV1",ReciprocateV1:3,3:"ReciprocateV1"});class we{static __wrap(e){e=e>>>0;const t=Object.create(we.prototype);return t.__wbg_ptr=e,Ai.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Ai.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_verificationrequest_free(e,0)}isPassive(){return i.verificationrequest_isPassive(this.__wbg_ptr)!==0}weStarted(){return i.verificationrequest_weStarted(this.__wbg_ptr)!==0}get cancelInfo(){const e=i.verificationrequest_cancelInfo(this.__wbg_ptr);return e===0?void 0:ae.__wrap(e)}get ownUserId(){const e=i.verificationrequest_ownUserId(this.__wbg_ptr);return v.__wrap(e)}isCancelled(){return i.verificationrequest_isCancelled(this.__wbg_ptr)!==0}scanQrCode(e){return w(e,be),i.verificationrequest_scanQrCode(this.__wbg_ptr,e.__wbg_ptr)}get otherUserId(){const e=i.verificationrequest_otherUserId(this.__wbg_ptr);return v.__wrap(e)}get otherDeviceId(){const e=i.verificationrequest_otherDeviceId(this.__wbg_ptr);return e===0?void 0:I.__wrap(e)}generateQrCode(){return i.verificationrequest_generateQrCode(this.__wbg_ptr)}getVerification(){return i.verificationrequest_getVerification(this.__wbg_ptr)}acceptWithMethods(e){const t=x(e,i.__wbindgen_malloc),r=l,s=i.verificationrequest_acceptWithMethods(this.__wbg_ptr,t,r);if(s[2])throw p(s[1]);return p(s[0])}isSelfVerification(){return i.verificationrequest_isSelfVerification(this.__wbg_ptr)!==0}get ourSupportedMethods(){const e=i.verificationrequest_ourSupportedMethods(this.__wbg_ptr);if(e[3])throw p(e[2]);let t;return e[0]!==0&&(t=He(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*4,4)),t}timeRemainingMillis(){return i.verificationrequest_timeRemainingMillis(this.__wbg_ptr)}get theirSupportedMethods(){const e=i.verificationrequest_theirSupportedMethods(this.__wbg_ptr);if(e[3])throw p(e[2]);let t;return e[0]!==0&&(t=He(e[0],e[1]).slice(),i.__wbindgen_free(e[0],e[1]*4,4)),t}registerChangesCallback(e){i.verificationrequest_registerChangesCallback(this.__wbg_ptr,e)}phase(){return i.verificationrequest_phase(this.__wbg_ptr)}accept(){const e=i.verificationrequest_accept(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}cancel(){const e=i.verificationrequest_cancel(this.__wbg_ptr);if(e[2])throw p(e[1]);return p(e[0])}get flowId(){let e,t;try{const r=i.verificationrequest_flowId(this.__wbg_ptr);return e=r[0],t=r[1],y(r[0],r[1])}finally{i.__wbindgen_free(e,t,1)}}isDone(){return i.verificationrequest_isDone(this.__wbg_ptr)!==0}static request(e,t,r,s){let o,_;try{w(e,v),w(t,I),w(r,v);var a=m(s)?0:x(s,i.__wbindgen_malloc),c=l;const f=i.verificationrequest_request(e.__wbg_ptr,t.__wbg_ptr,r.__wbg_ptr,a,c);var g=f[0],u=f[1];if(f[3])throw g=0,u=0,p(f[2]);return o=g,_=u,y(g,u)}finally{i.__wbindgen_free(o,_,1)}}get roomId(){const e=i.verificationrequest_roomId(this.__wbg_ptr);return e===0?void 0:E.__wrap(e)}isReady(){return i.verificationrequest_isReady(this.__wbg_ptr)!==0}startSas(){return i.verificationrequest_startSas(this.__wbg_ptr)}timedOut(){return i.verificationrequest_timedOut(this.__wbg_ptr)!==0}}Symbol.dispose&&(we.prototype[Symbol.dispose]=we.prototype.free);const oe=Object.freeze({Created:0,0:"Created",Requested:1,1:"Requested",Ready:2,2:"Ready",Transitioned:3,3:"Transitioned",Done:4,4:"Done",Cancelled:5,5:"Cancelled"});class Tt{static __wrap(e){e=e>>>0;const t=Object.create(Tt.prototype);return t.__wbg_ptr=e,zi.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,zi.unregister(this),e}free(){const e=this.__destroy_into_raw();i.__wbg_versions_free(e,0)}get vodozemac(){return i.__wbg_get_versions_vodozemac(this.__wbg_ptr)}get matrix_sdk_crypto(){return i.__wbg_get_versions_matrix_sdk_crypto(this.__wbg_ptr)}get git_sha(){return i.__wbg_get_versions_git_sha(this.__wbg_ptr)}get git_description(){return i.__wbg_get_versions_git_description(this.__wbg_ptr)}}Symbol.dispose&&(Tt.prototype[Symbol.dispose]=Tt.prototype.free);function us(){const n=i.getVersions();return Tt.__wrap(n)}function io(){i.start()}function so(n,e){return Error(y(n,e))}function oo(n){return Number(n)}function _o(n,e){const t=String(e),r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;B().setInt32(n+4,s,!0),B().setInt32(n+0,r,!0)}function ao(n){return n.Window}function co(n){return n.WorkerGlobalScope}function go(n,e){const t=e,r=typeof t=="bigint"?t:void 0;B().setBigInt64(n+8,m(r)?BigInt(0):r,!0),B().setInt32(n+0,!m(r),!0)}function uo(n){const e=n,t=typeof e=="boolean"?e:void 0;return m(t)?16777215:t?1:0}function lo(n,e){const t=$r(e),r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;B().setInt32(n+4,s,!0),B().setInt32(n+0,r,!0)}function po(n,e){return n in e}function bo(n){return typeof n=="bigint"}function yo(n){return typeof n=="function"}function fo(n){return n===null}function wo(n){const e=n;return typeof e=="object"&&e!==null}function ho(n){return typeof n=="string"}function vo(n){return n===void 0}function mo(n,e){return n===e}function So(n,e){return n==e}function ko(n,e){const t=e,r=typeof t=="number"?t:void 0;B().setFloat64(n+8,m(r)?0:r,!0),B().setInt32(n+0,!m(r),!0)}function Ro(n,e){const t=e,r=typeof t=="string"?t:void 0;var s=m(r)?0:b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l;B().setInt32(n+4,o,!0),B().setInt32(n+0,s,!0)}function Eo(n,e){throw new Error(y(n,e))}function Ko(n){let e;try{e=+n}catch(r){e=r}return e}function Io(n){n._wbg_cb_unref()}function Oo(){return k(function(n){n.abort()},arguments)}function Do(){return k(function(n,e,t){return n.add(e,t)},arguments)}function Co(n,e){return n.add(e)}function Bo(n,e){return n.at(e)}function To(n){return Qe.__wrap(n)}function qo(){return k(function(n,e,t,r){return IDBKeyRange.bound(n,e,t!==0,r!==0)},arguments)}function Mo(){return k(function(n,e,t){return n.call(e,t)},arguments)}function Fo(){return k(function(n,e,t,r,s){return n.call(e,t,r,s)},arguments)}function Uo(){return k(function(n,e){return n.call(e)},arguments)}function jo(){return k(function(n,e,t,r){return n.call(e,t,r)},arguments)}function No(n){return clearTimeout(n)}function Po(){return k(function(n){return n.clear()},arguments)}function xo(n){n.close()}function Ao(n){return n.code}function zo(){return k(function(n){n.commit()},arguments)}function Vo(){return k(function(n){n.continue()},arguments)}function Lo(){return k(function(n){return n.count()},arguments)}function Go(){return k(function(n){return n.count()},arguments)}function Wo(){return k(function(n,e,t,r,s){return n.createIndex(y(e,t),r,s)},arguments)}function Jo(){return k(function(n,e,t,r){return n.createIndex(y(e,t),r)},arguments)}function Ho(){return k(function(n,e,t){return n.createObjectStore(y(e,t))},arguments)}function Qo(n){return Xe.__wrap(n)}function Yo(n){return Ze.__wrap(n)}function $o(n){return et.__wrap(n)}function Xo(n){return n.crypto}function Zo(n,e){n.debug(e)}function e_(n){console.debug(n)}function t_(n){return tt.__wrap(n)}function r_(n){return rt.__wrap(n)}function n_(n){return nt.__wrap(n)}function i_(n){return V.__wrap(n)}function s_(){return k(function(n,e,t){n.deleteObjectStore(y(e,t))},arguments)}function o_(){return k(function(n){return n.delete()},arguments)}function __(){return k(function(n,e){return n.delete(e)},arguments)}function a_(n){return Wt.__wrap(n)}function c_(n){return I.__wrap(n)}function d_(n){return Ie.__wrap(n)}function g_(n){return ce.__wrap(n)}function u_(n){return n.done}function l_(n){return _t.__wrap(n)}function p_(n){return ge.__wrap(n)}function b_(n){return ct.__wrap(n)}function y_(n){return Object.entries(n)}function f_(n){return n.entries()}function w_(n,e){let t,r;try{t=n,r=e,console.error(y(n,e))}finally{i.__wbindgen_free(t,r,1)}}function h_(n,e){n.error(e)}function v_(n){console.error(n)}function m_(){return k(function(n){const e=n.error;return m(e)?0:C(e)},arguments)}function S_(n){return Array.from(n)}function k_(){return k(function(n){return n.getAllKeys()},arguments)}function R_(){return k(function(n){return n.getAll()},arguments)}function E_(){return k(function(n,e){return n.getAll(e)},arguments)}function K_(){return k(function(n,e,t){return n.getAll(e,t>>>0)},arguments)}function I_(){return k(function(n,e){globalThis.crypto.getRandomValues(A(n,e))},arguments)}function O_(){return k(function(n,e){n.getRandomValues(e)},arguments)}function D_(n){return n.getTime()}function C_(){return k(function(n,e){return n.get(e)},arguments)}function B_(n,e){return n[e>>>0]}function T_(){return k(function(n,e){return n.get(e)},arguments)}function q_(){return k(function(n,e){return Reflect.get(n,e)},arguments)}function M_(n,e){return n[e]}function F_(n){return n.global}function U_(n){return ut.__wrap(n)}function j_(){return k(function(n,e,t){return n.index(y(e,t))},arguments)}function N_(){return k(function(n){const e=n.indexedDB;return m(e)?0:C(e)},arguments)}function P_(){return k(function(n){const e=n.indexedDB;return m(e)?0:C(e)},arguments)}function x_(){return k(function(n){const e=n.indexedDB;return m(e)?0:C(e)},arguments)}function A_(n){console.info(n)}function z_(n,e){n.info(e)}function V_(n){let e;try{e=n instanceof ArrayBuffer}catch{e=!1}return e}function L_(n){let e;try{e=n instanceof IDBCursorWithValue}catch{e=!1}return e}function G_(n){let e;try{e=n instanceof DOMException}catch{e=!1}return e}function W_(n){let e;try{e=n instanceof Error}catch{e=!1}return e}function J_(n){let e;try{e=n instanceof IDBCursor}catch{e=!1}return e}function H_(n){let e;try{e=n instanceof IDBDatabase}catch{e=!1}return e}function Q_(n){let e;try{e=n instanceof IDBOpenDBRequest}catch{e=!1}return e}function Y_(n){let e;try{e=n instanceof IDBRequest}catch{e=!1}return e}function $_(n){let e;try{e=n instanceof Map}catch{e=!1}return e}function X_(n){let e;try{e=n instanceof Promise}catch{e=!1}return e}function Z_(n){let e;try{e=n instanceof Uint8Array}catch{e=!1}return e}function ea(n){return lt.__wrap(n)}function ta(n){return Array.isArray(n)}function ra(n){return Array.isArray(n)}function na(n){return Number.isSafeInteger(n)}function ia(n,e,t){const r=e.item(t>>>0);var s=m(r)?0:b(r,i.__wbindgen_malloc,i.__wbindgen_realloc),o=l;B().setInt32(n+4,o,!0),B().setInt32(n+0,s,!0)}function sa(){return Symbol.iterator}function oa(){return k(function(n){return n.key},arguments)}function _a(n){return Oe.__wrap(n)}function aa(n){return De.__wrap(n)}function ca(n){return ue.__wrap(n)}function da(n){return Ce.__wrap(n)}function ga(n){return n.length}function ua(n){return n.length}function la(n){return n.length}function pa(){return k(function(n,e){return IDBKeyRange.lowerBound(n,e!==0)},arguments)}function ba(n){return Be.__wrap(n)}function ya(n){return le.__wrap(n)}function fa(n){return n.message}function wa(n,e){const t=e.message,r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;B().setInt32(n+4,s,!0),B().setInt32(n+0,r,!0)}function ha(n){return n.msCrypto}function va(n,e){const t=e.name,r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;B().setInt32(n+4,s,!0),B().setInt32(n+0,r,!0)}function ma(){return new Object}function Sa(){return new Array}function ka(n){return new Uint8Array(n)}function Ra(n){return new Set(n)}function Ea(){return new Error}function Ka(n){return new Date(n)}function Ia(){return new Map}function Oa(n,e){return new Error(y(n,e))}function Da(n,e){try{var t={a:n,b:e},r=(o,_)=>{const a=t.a;t.a=0;try{return Js(a,t.b,o,_)}finally{t.a=a}};return new Promise(r)}finally{t.a=t.b=0}}function Ca(n,e){return new Function(y(n,e))}function Ba(n){return new Uint8ClampedArray(n>>>0)}function Ta(n){return new Uint8Array(n>>>0)}function qa(n){return n.next}function Ma(){return k(function(n){return n.next()},arguments)}function Fa(n){return n.node}function Ua(n){return n.now()}function ja(){return Date.now()}function Na(n){return n.objectStoreNames}function Pa(){return k(function(n,e,t){return n.objectStore(y(e,t))},arguments)}function xa(n){return n.oldVersion}function Aa(n){return Te.__wrap(n)}function za(){return k(function(n){return n.openCursor()},arguments)}function Va(){return k(function(n){return n.openCursor()},arguments)}function La(){return k(function(n,e){return n.openCursor(e)},arguments)}function Ga(){return k(function(n,e,t,r){return n.open(y(e,t),r>>>0)},arguments)}function Wa(){return k(function(n,e,t){return n.open(y(e,t))},arguments)}function Ja(n){return qe.__wrap(n)}function Ha(n){return Me.__wrap(n)}function Qa(){return k(function(n,e){return JSON.parse(y(n,e))},arguments)}function Ya(n){return n.performance}function $a(n){return Fe.__unwrap(n)}function Xa(n){return Ue.__unwrap(n)}function Za(n){return ht.__wrap(n)}function ec(n){return n.process}function tc(n,e,t){Uint8ClampedArray.prototype.set.call(A(n,e),t)}function rc(n,e,t){Uint8Array.prototype.set.call(A(n,e),t)}function nc(n,e){return n.push(e)}function ic(){return k(function(n,e,t){return n.put(e,t)},arguments)}function sc(n){return je.__wrap(n)}function oc(n){return pe.__wrap(n)}function _c(n){return n.queueMicrotask}function ac(n){queueMicrotask(n)}function cc(){return k(function(n,e){n.randomFillSync(e)},arguments)}function dc(n){const e=n.readyState;return(Hs.indexOf(e)+1||3)-1}function gc(n){return mt.__wrap(n)}function uc(n){return n.request}function lc(n){return n.request}function pc(){return k(function(){return module.require},arguments)}function bc(n){return Promise.resolve(n)}function yc(){return k(function(n){return n.result},arguments)}function fc(n){return E.__unwrap(n)}function wc(n){return St.__wrap(n)}function hc(n){return kt.__wrap(n)}function vc(n){return Rt.__wrap(n)}function mc(n){return Et.__wrap(n)}function Sc(n){return Ne.__wrap(n)}function kc(n){return re.__wrap(n)}function Rc(n){return ye.__wrap(n)}function Ec(n){return ne.__wrap(n)}function Kc(){return k(function(n,e){return setTimeout(n,e)},arguments)}function Ic(n,e,t){n[e]=t}function Oc(n,e,t){n[e>>>0]=t}function Dc(n,e,t){n.set(A(e,t))}function Cc(n,e,t){return n.set(e,t)}function Bc(n,e){n.onabort=e}function Tc(n,e){n.oncomplete=e}function qc(n,e){n.onerror=e}function Mc(n,e){n.onerror=e}function Fc(n,e){n.onsuccess=e}function Uc(n,e){n.onupgradeneeded=e}function jc(n,e){n.unique=e!==0}function Nc(n){return Ae.__wrap(n)}function Pc(n){return fe.__wrap(n)}function xc(n){return It.__wrap(n)}function Ac(n,e){const t=e.stack,r=b(t,i.__wbindgen_malloc,i.__wbindgen_realloc),s=l;B().setInt32(n+4,s,!0),B().setInt32(n+0,r,!0)}function zc(){const n=typeof global>"u"?null:global;return m(n)?0:C(n)}function Vc(){const n=typeof globalThis>"u"?null:globalThis;return m(n)?0:C(n)}function Lc(){const n=typeof self>"u"?null:self;return m(n)?0:C(n)}function Gc(){const n=typeof window>"u"?null:window;return m(n)?0:C(n)}function Wc(n){return ze.__wrap(n)}function Jc(n){return L.__wrap(n)}function Hc(){return k(function(n){return JSON.stringify(n)},arguments)}function Qc(n,e,t){return n.subarray(e>>>0,t>>>0)}function Yc(n){const e=n.target;return m(e)?0:C(e)}function $c(n,e,t){return n.then(e,t)}function Xc(n,e){return n.then(e)}function Zc(n){return n.toString()}function ed(n){return Ve.__wrap(n)}function td(){return k(function(n,e,t){return n.transaction(e,ds[t])},arguments)}function rd(){return k(function(n,e,t,r){return n.transaction(y(e,t),ds[r])},arguments)}function nd(n){return n.transaction}function id(n){const e=n.transaction;return m(e)?0:C(e)}function sd(){return k(function(n,e){return n.update(e)},arguments)}function od(){return k(function(n,e){return IDBKeyRange.upperBound(n,e!==0)},arguments)}function _d(n){return Bt.__wrap(n)}function ad(n){return v.__wrap(n)}function cd(n){return v.__unwrap(n)}function dd(n){return Ct.__wrap(n)}function gd(){return k(function(n){return n.value},arguments)}function ud(n){return n.value}function ld(n){return n.values()}function pd(n){return we.__wrap(n)}function bd(n){return n.version}function yd(n){return n.versions}function fd(n){console.warn(n)}function wd(n,e){n.warn(e)}function hd(n,e){return lr(n,e,i.wasm_bindgen__closure__destroy__h3add1a2c74cd908e,Ws)}function vd(n,e){return y(n,e)}function md(n,e){return lr(n,e,i.wasm_bindgen__closure__destroy__h3f1bc9bbb4835e8f,cs)}function Sd(n){return BigInt.asUintN(64,n)}function kd(n,e){return lr(n,e,i.wasm_bindgen__closure__destroy__h3f1bc9bbb4835e8f,Gs)}function Rd(n){return n}function Ed(n,e){return lr(n,e,i.wasm_bindgen__closure__destroy__h3f1bc9bbb4835e8f,cs)}function Kd(n,e){return A(n,e)}function Id(n){return n}function Od(n,e){var t=He(n,e).slice();return i.__wbindgen_free(n,e*4,4),t}function Dd(){const n=i.__wbindgen_externrefs,e=n.grow(4);n.set(0,void 0),n.set(e+0,void 0),n.set(e+1,null),n.set(e+2,!0),n.set(e+3,!1)}var Cd=Object.freeze({__proto__:null,Attachment:Xr,BackupDecryptionKey:j,BackupKeys:Qe,BackupSecretsBundle:Ye,Base64EncodedPkMessage:Ee,BaseMigrationData:Gt,CancelInfo:ae,CheckCode:$e,CollectStrategy:M,CrossSigningBootstrapRequests:Xe,CrossSigningKeyExport:Ze,CrossSigningStatus:et,Curve25519PublicKey:T,Curve25519SecretKey:$,DecryptedRoomEvent:tt,DecryptedToDeviceEvent:rt,DecryptionErrorCode:se,DecryptionSettings:Ke,DehydratedDevice:nt,DehydratedDeviceKey:V,DehydratedDevices:it,Device:Wt,DeviceId:I,DeviceKey:Ie,DeviceKeyAlgorithm:st,DeviceKeyAlgorithmName:$s,DeviceKeyId:ce,DeviceKeyName:Xs,DeviceLists:ot,Ecies:Zr,Ed25519PublicKey:ee,Ed25519Signature:de,Emoji:_t,EncryptedAttachment:ge,EncryptionAlgorithm:at,EncryptionInfo:ct,EncryptionSettings:Jt,EstablishedEcies:te,EventId:Ht,HistoryVisibility:Nt,IdentityKeys:dt,InboundCreationResult:gt,InboundGroupSession:ut,InvalidToDeviceEvent:lt,KeysBackupRequest:Oe,KeysClaimRequest:De,KeysQueryRequest:ue,KeysUploadRequest:Ce,LocalTrust:en,LoggerLevel:Zs,MaybeSignature:Be,MegolmDecryptionError:le,MegolmV1BackupKey:pt,Migration:bt,OlmMachine:Te,OtherUserIdentity:qe,OutboundCreationResult:yt,OwnUserIdentity:Me,PickledInboundGroupSession:Fe,PickledSession:Ue,PkDecryption:ft,PkEncryption:wt,PkMessage:Q,PlainTextToDeviceEvent:ht,ProcessedToDeviceEventType:Pt,PutDehydratedDeviceRequest:je,Qr:pe,QrCode:vt,QrCodeData:Re,QrCodeMode:eo,QrCodeScan:be,QrState:me,RehydratedDevice:mt,RequestType:to,RoomId:E,RoomKeyCounts:St,RoomKeyImportResult:kt,RoomKeyInfo:Rt,RoomKeyWithheldInfo:Et,RoomMessageRequest:Ne,RoomSettings:re,Sas:ye,SecretsBundle:ne,ServerName:Pe,ShieldColor:tn,ShieldState:xe,ShieldStateCode:Se,Signature:Kt,SignatureState:ro,SignatureUploadRequest:fe,SignatureVerification:It,Signatures:Ae,StoreHandle:L,StoredRoomKeyBundleData:ze,ToDeviceEncryptionInfo:Ot,ToDeviceRequest:Ve,ToDeviceUnableToDecryptInfo:Dt,ToDeviceUnableToDecryptReason:no,Tracing:rn,TrustRequirement:nn,UTDToDeviceEvent:Ct,UploadSigningKeysRequest:Le,UserDevices:Bt,UserId:v,VerificationMethod:xt,VerificationRequest:we,VerificationRequestPhase:oe,Versions:Tt,__wbg_Error_52673b7de5a0ca89:so,__wbg_Number_2d1dcfcf4ec51736:oo,__wbg_String_8f0eb39a4a4c2f66:_o,__wbg_Window_bad6cc2ef3d218d1:ao,__wbg_WorkerGlobalScope_ce34368dd76f04b5:co,__wbg___wbindgen_bigint_get_as_i64_6e32f5e6aff02e1d:go,__wbg___wbindgen_boolean_get_dea25b33882b895b:uo,__wbg___wbindgen_debug_string_adfb662ae34724b6:lo,__wbg___wbindgen_in_0d3e1e8f0c669317:po,__wbg___wbindgen_is_bigint_0e1a2e3f55cfae27:bo,__wbg___wbindgen_is_function_8d400b8b1af978cd:yo,__wbg___wbindgen_is_null_dfda7d66506c95b5:fo,__wbg___wbindgen_is_object_ce774f3490692386:wo,__wbg___wbindgen_is_string_704ef9c8fc131030:ho,__wbg___wbindgen_is_undefined_f6b95eab589e0269:vo,__wbg___wbindgen_jsval_eq_b6101cc9cef1fe36:mo,__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d:So,__wbg___wbindgen_number_get_9619185a74197f95:ko,__wbg___wbindgen_string_get_a2a31e16edf96e42:Ro,__wbg___wbindgen_throw_dd24417ed36fc46e:Eo,__wbg___wbindgen_try_into_number_9d33ffe037a9f5e5:Ko,__wbg__wbg_cb_unref_87dfb5aaa0cbcea7:Io,__wbg_abort_45186b2c363ae467:Oo,__wbg_add_c1fb373a6e8701af:Do,__wbg_add_f0bf6d9527665471:Co,__wbg_at_505937f1c4b80bfa:Bo,__wbg_backupkeys_new:To,__wbg_bound_6fa641bacd961cc0:qo,__wbg_call_3020136f7a2d6e44:Mo,__wbg_call_78f94eb02ec7f9b2:Fo,__wbg_call_abb4ff46ce38be40:Uo,__wbg_call_c8baa5c5e72d274e:jo,__wbg_clearTimeout_5a54f8841c30079a:No,__wbg_clear_0e6ff4790cdabf11:Po,__wbg_close_cf7ef4e294ac3858:xo,__wbg_code_c2a85f2863ec11b3:Ao,__wbg_commit_073afc947129550a:zo,__wbg_continue_f42217c3ef5cf6dd:Vo,__wbg_count_3fa291ea0e8fceec:Lo,__wbg_count_c05e51d4a5d263a1:Go,__wbg_createIndex_3889f4177a3fa5d0:Wo,__wbg_createIndex_3c576f3c5564f5d7:Jo,__wbg_createObjectStore_dba64acfe84d4191:Ho,__wbg_crosssigningbootstraprequests_new:Qo,__wbg_crosssigningkeyexport_new:Yo,__wbg_crosssigningstatus_new:$o,__wbg_crypto_574e78ad8b13b65f:Xo,__wbg_debug_949d8a9c97c02a01:Zo,__wbg_debug_9d0c87ddda3dc485:e_,__wbg_decryptedroomevent_new:t_,__wbg_decryptedtodeviceevent_new:r_,__wbg_dehydrateddevice_new:n_,__wbg_dehydrateddevicekey_new:i_,__wbg_deleteObjectStore_88e9fff1fbbc6189:s_,__wbg_delete_91010f5a5282eb97:o_,__wbg_delete_a8cf58aab29e18d2:__,__wbg_device_new:a_,__wbg_deviceid_new:c_,__wbg_devicekey_new:d_,__wbg_devicekeyid_new:g_,__wbg_done_62ea16af4ce34b24:u_,__wbg_emoji_new:l_,__wbg_encryptedattachment_new:p_,__wbg_encryptioninfo_new:b_,__wbg_entries_83c79938054e065f:y_,__wbg_entries_9af46b7eaf7dfefa:f_,__wbg_error_7534b8e9a36f1ab4:w_,__wbg_error_7bc79084e71bc74a:h_,__wbg_error_7bc7d576a6aaf855:v_,__wbg_error_ad02a286da74488a:m_,__wbg_from_29a8414a7a7cd19d:S_,__wbg_getAllKeys_925405ffbd671e86:k_,__wbg_getAll_236edca313646f4d:R_,__wbg_getAll_48e288420773a079:E_,__wbg_getAll_eec11317662a8eba:K_,__wbg_getRandomValues_9b655bdd369112f2:I_,__wbg_getRandomValues_b8f5dbd5f3995a9e:O_,__wbg_getTime_ad1e9878a735af08:D_,__wbg_get_10889f5b611cd1c6:C_,__wbg_get_6b7bd52aca3f9671:B_,__wbg_get_7d8b665fa88606d5:T_,__wbg_get_af9dab7e9603ea93:q_,__wbg_get_with_ref_key_1dc361bd10053bfe:M_,__wbg_global_e78add1f0bdfe974:F_,__wbg_inboundgroupsession_new:U_,__wbg_index_6af68133e0cdd5f8:j_,__wbg_indexedDB_121c33bea2560f72:N_,__wbg_indexedDB_23c232e00a1e28ad:P_,__wbg_indexedDB_769a3833286f42f3:x_,__wbg_info_ce6bcc489c22f6f0:A_,__wbg_info_fd876dbb310ad775:z_,__wbg_instanceof_ArrayBuffer_f3320d2419cd0355:V_,__wbg_instanceof_CursorSys_383984afc1fa1bbc:L_,__wbg_instanceof_DomException_d430cd4fb5284a83:G_,__wbg_instanceof_Error_3443650560328fa9:W_,__wbg_instanceof_IdbCursor_5641812dc2120a05:J_,__wbg_instanceof_IdbDatabase_f4e157055e32c479:H_,__wbg_instanceof_IdbOpenDbRequest_e4a587961e53201e:Q_,__wbg_instanceof_IdbRequest_9000a361b4bf0dc6:Y_,__wbg_instanceof_Map_084be8da74364158:$_,__wbg_instanceof_Promise_eca6c43a2610558d:X_,__wbg_instanceof_Uint8Array_da54ccc9d3e09434:Z_,__wbg_invalidtodeviceevent_new:ea,__wbg_isArray_51fd9e6422c0a395:ta,__wbg_isArray_ca6bc609f742df3f:ra,__wbg_isSafeInteger_ae7d3f054d55fa16:na,__wbg_item_fa6253e690a05e50:ia,__wbg_iterator_27b7c8b35ab3e86b:sa,__wbg_key_5ffb2273b5ffc24a:oa,__wbg_keysbackuprequest_new:_a,__wbg_keysclaimrequest_new:aa,__wbg_keysqueryrequest_new:ca,__wbg_keysuploadrequest_new:da,__wbg_length_22ac23eaec9d8053:ga,__wbg_length_9b7368e374b28279:ua,__wbg_length_d45040a40c570362:la,__wbg_lowerBound_13747835b262040c:pa,__wbg_maybesignature_new:ba,__wbg_megolmdecryptionerror_new:ya,__wbg_message_0305fa7903f4b3d9:fa,__wbg_message_a4e9a39ee8f92b17:wa,__wbg_msCrypto_a61aeb35a24c1329:ha,__wbg_name_9136863a055402ff:va,__wbg_new_1ba21ce319a06297:ma,__wbg_new_25f239778d6112b9:Sa,__wbg_new_6421f6084cc5bc5a:ka,__wbg_new_746bb58304020083:Ra,__wbg_new_8a6f238a6ece86ea:Ea,__wbg_new_b2db8aa2650f793a:Ka,__wbg_new_b546ae120718850e:Ia,__wbg_new_df1173567d5ff028:Oa,__wbg_new_ff12d2b041fb48f1:Da,__wbg_new_no_args_cb138f77cf6151ee:Ca,__wbg_new_with_length_30843b434774b4c6:Ba,__wbg_new_with_length_aa5eaf41d35235e5:Ta,__wbg_next_138a17bbf04e926c:qa,__wbg_next_3cfe5c0fe2a4cc53:Ma,__wbg_node_905d3e251edff8a2:Fa,__wbg_now_2c95c9de01293173:Ua,__wbg_now_69d776cd24f5215b:ja,__wbg_objectStoreNames_90900f9a531513ac:Na,__wbg_objectStore_da9a077b8849dbe9:Pa,__wbg_oldVersion_2950700d81809b3e:xa,__wbg_olmmachine_new:Aa,__wbg_openCursor_065c5304428cc4d8:za,__wbg_openCursor_99b45bb4fa3166ab:Va,__wbg_openCursor_c5d6ba9ba92d3ab5:La,__wbg_open_0d7b85f4c0a38ffe:Ga,__wbg_open_2a2740c93beabe29:Wa,__wbg_otheruseridentity_new:Ja,__wbg_ownuseridentity_new:Ha,__wbg_parse_a09a54cf72639456:Qa,__wbg_performance_7a3ffd0b17f663ad:Ya,__wbg_pickledinboundgroupsession_unwrap:$a,__wbg_pickledsession_unwrap:Xa,__wbg_plaintexttodeviceevent_new:Za,__wbg_process_dc0fbacc7c1c06f7:ec,__wbg_prototypesetcall_d3dc3532c827f7d3:tc,__wbg_prototypesetcall_dfe9b766cdc1f1fd:rc,__wbg_push_7d9be8f38fc13975:nc,__wbg_put_d40a68e5a8902a46:ic,__wbg_putdehydrateddevicerequest_new:sc,__wbg_qr_new:oc,__wbg_queueMicrotask_9b549dfce8865860:_c,__wbg_queueMicrotask_fca69f5bfad613a5:ac,__wbg_randomFillSync_ac0988aba3254290:cc,__wbg_readyState_e534bc496011c2fd:dc,__wbg_rehydrateddevice_new:gc,__wbg_request_c533970ff464e9b2:uc,__wbg_request_d3cccab75790c6a3:lc,__wbg_require_60cc747a6bc5215a:pc,__wbg_resolve_fd5bfbaa4ce36e1e:bc,__wbg_result_084f962aedb54250:yc,__wbg_roomid_unwrap:fc,__wbg_roomkeycounts_new:wc,__wbg_roomkeyimportresult_new:hc,__wbg_roomkeyinfo_new:vc,__wbg_roomkeywithheldinfo_new:mc,__wbg_roommessagerequest_new:Sc,__wbg_roomsettings_new:kc,__wbg_sas_new:Rc,__wbg_secretsbundle_new:Ec,__wbg_setTimeout_db2dbaeefb6f39c7:Kc,__wbg_set_3f1d0b984ed272ed:Ic,__wbg_set_7df433eea03a5c14:Oc,__wbg_set_e2f933902557a0b5:Dc,__wbg_set_efaaf145b9377369:Cc,__wbg_set_onabort_e3f60791db69f136:Bc,__wbg_set_oncomplete_e4a04a9244826e8b:Tc,__wbg_set_onerror_08fecec3bdc9d24d:qc,__wbg_set_onerror_e6509e1998f7da91:Mc,__wbg_set_onsuccess_94332a00452de699:Fc,__wbg_set_onupgradeneeded_3dc6e233a6d13fe2:Uc,__wbg_set_unique_3dd7b4ef717ec230:jc,__wbg_set_wasm:mn,__wbg_signatures_new:Nc,__wbg_signatureuploadrequest_new:Pc,__wbg_signatureverification_new:xc,__wbg_stack_0ed75d68575b0f3c:Ac,__wbg_static_accessor_GLOBAL_769e6b65d6557335:zc,__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1:Vc,__wbg_static_accessor_SELF_08f5a74c69739274:Lc,__wbg_static_accessor_WINDOW_a8924b26aa92d024:Gc,__wbg_storedroomkeybundledata_new:Wc,__wbg_storehandle_new:Jc,__wbg_stringify_655a6390e1f5eb6b:Hc,__wbg_subarray_845f2f5bce7d061a:Qc,__wbg_target_0e3e05a6263c37a0:Yc,__wbg_then_429f7caf1026411d:$c,__wbg_then_4f95312d68691235:Xc,__wbg_toString_f07112df359c997f:Zc,__wbg_todevicerequest_new:ed,__wbg_transaction_257422def49a0094:td,__wbg_transaction_790ec170b8fbc74b:rd,__wbg_transaction_94648249df85f2b3:nd,__wbg_transaction_edb5bc8f37fa6aec:id,__wbg_update_9d3d984f3dbd9e8d:sd,__wbg_upperBound_91858b3be3dd9f34:od,__wbg_userdevices_new:_d,__wbg_userid_new:ad,__wbg_userid_unwrap:cd,__wbg_utdtodeviceevent_new:dd,__wbg_value_3ed795eaabbd91d4:gd,__wbg_value_57b7b035e117f7ee:ud,__wbg_values_9152c8c1ab032dfa:ld,__wbg_verificationrequest_new:pd,__wbg_version_261774ad92018a58:bd,__wbg_versions_c01dfd4722a88165:yd,__wbg_warn_6e567d0d926ff881:fd,__wbg_warn_d7dd2130cf9e44bb:wd,__wbindgen_cast_21f3b7099c9334bc:hd,__wbindgen_cast_2241b6af4c4b2941:vd,__wbindgen_cast_3d323378c35251b8:md,__wbindgen_cast_4625c577ab2ec9ee:Sd,__wbindgen_cast_7c76986129f237a3:kd,__wbindgen_cast_9ae0607507abb057:Rd,__wbindgen_cast_c415cbf6e3c3f6d4:Ed,__wbindgen_cast_cb9088102bce6b30:Kd,__wbindgen_cast_d6cd19b81560fd6e:Id,__wbindgen_cast_e481686c74984159:Od,__wbindgen_init_externref_table:Dd,getVersions:us,start:io});const Bd=new URL(""+new URL("matrix_sdk_crypto_wasm_bg-DU_51VO6.wasm",import.meta.url).href,import.meta.url);mn(new Proxy({},{get(){throw new Error("@matrix-org/matrix-sdk-crypto-wasm was used before it was initialized. Call `initAsync` first.")}}));let Ar=null;async function Td(n){const{instance:e}=await WebAssembly.instantiateStreaming(fetch(n),{"./matrix_sdk_crypto_wasm_bg.js":Cd});mn(e.exports),e.exports.__wbindgen_start()}async function ls(n=Bd){Ar||(Ar=Td(n)),await Ar}var zr,Vi;function qd(){if(Vi)return zr;Vi=1;for(var n=/[\\\"\x00-\x1F]/g,e={},t=0;t<32;++t)e[String.fromCharCode(t)]="\\U"+("0000"+t.toString(16)).slice(-4).toUpperCase();e["\b"]="\\b",e[" "]="\\t",e[`
|
|
3
|
+
`]="\\n",e["\f"]="\\f",e["\r"]="\\r",e['"']='\\"',e["\\"]="\\\\";function r(a){return n.lastIndex=0,a.replace(n,function(c){return e[c]})}function s(a){switch(typeof a){case"string":return'"'+r(a)+'"';case"number":return isFinite(a)?a:"null";case"boolean":return a;case"object":return a===null?"null":Array.isArray(a)?o(a):_(a);default:throw new Error("Cannot stringify: "+typeof a)}}function o(a){for(var c="[",g="",u=0;u<a.length;++u)g+=c,c=",",g+=s(a[u]);return c!=","?"[]":g+"]"}function _(a){var c="{",g="",u=Object.keys(a);u.sort();for(var f=0;f<u.length;++f){var S=u[f];g+=c+'"'+r(S)+'":',c=",",g+=s(a[S])}return c!=","?"{}":g+"}"}return zr={stringify:s},zr}var Md=qd(),Fd=Os(Md);class Ud{constructor(e,t,r,s,o,_){this.prefixedLogger=e,this.olmMachine=t,this.keyClaimManager=r,this.outgoingRequestManager=s,this.room=o,this.encryptionSettings=_,h(this,"lazyLoadedMembersResolved",!1),h(this,"currentEncryptionPromise",Promise.resolve());var a=o.getJoinedMembers();this.olmMachine.updateTrackedUsers(a.map(c=>new v(c.userId))).catch(c=>this.prefixedLogger.error("Error initializing tracked users",c))}onCryptoEvent(e){if(JSON.stringify(this.encryptionSettings)!=JSON.stringify(e))throw new Error("Cannot reconfigure an active RoomEncryptor")}onRoomMembership(e){(e.membership==dr.Join||e.membership==dr.Invite&&this.room.shouldEncryptForInvitedMembers())&&this.olmMachine.updateTrackedUsers([new v(e.userId)]).catch(t=>{this.prefixedLogger.error("Unable to update tracked users",t)})}prepareForEncryption(e,t){var r=this;return d(function*(){yield r.encryptEvent(null,e,t)})()}encryptEvent(e,t,r){var s,o=this,_=new sr(this.prefixedLogger,e?(s=e.getTxnId())!==null&&s!==void 0?s:"":"prepareForEncryption"),a=this.currentEncryptionPromise.catch(()=>{}).then(d(function*(){yield X(_,"ensureEncryptionSession",d(function*(){yield o.ensureEncryptionSession(_,t,r)})),e&&(yield X(_,"encryptEventInner",d(function*(){yield o.encryptEventInner(_,e)})))}));return this.currentEncryptionPromise=a,a}ensureEncryptionSession(e,t,r){var s=this;return d(function*(){if(s.encryptionSettings.algorithm!=="m.megolm.v1.aes-sha2")throw new Error("Cannot encrypt in ".concat(s.room.roomId," for unsupported algorithm '").concat(s.encryptionSettings.algorithm,"'"));e.debug("Starting encryption");var o=yield s.room.getEncryptionTargetMembers();s.lazyLoadedMembersResolved?(e.debug("Processing outgoing requests in background"),s.outgoingRequestManager.doProcessOutgoingRequests()):(yield X(e,"loadMembersIfNeeded: updateTrackedUsers",d(function*(){yield s.olmMachine.updateTrackedUsers(o.map(u=>new v(u.userId)))})),e.debug("Updated tracked users"),s.lazyLoadedMembersResolved=!0,e.debug("Processing outgoing requests"),yield X(e,"doProcessOutgoingRequests",d(function*(){yield s.outgoingRequestManager.doProcessOutgoingRequests()}))),e.debug("Encrypting for users (shouldEncryptForInvitedMembers: ".concat(s.room.shouldEncryptForInvitedMembers(),"):"),o.map(u=>"".concat(u.userId," (").concat(u.membership,")")));var _=o.map(u=>new v(u.userId));yield X(e,"ensureSessionsForUsers",d(function*(){yield s.keyClaimManager.ensureSessionsForUsers(e,_)}));var a=new Jt;switch(a.historyVisibility=jd(s.room.getHistoryVisibility()),a.algorithm=at.MegolmV1AesSha2,typeof s.encryptionSettings.rotation_period_ms=="number"&&(a.rotationPeriod=BigInt(s.encryptionSettings.rotation_period_ms*1e3)),typeof s.encryptionSettings.rotation_period_msgs=="number"&&(a.rotationPeriodMessages=BigInt(s.encryptionSettings.rotation_period_msgs)),r.kind){case gr.AllDevicesIsolationMode:{var c,g=(c=s.room.getBlacklistUnverifiedDevices())!==null&&c!==void 0?c:t;a.sharingStrategy=M.deviceBasedStrategy(g,r.errorOnVerifiedUserProblems)}break;case gr.OnlySignedDevicesIsolationMode:a.sharingStrategy=M.identityBasedStrategy();break}yield X(e,"shareRoomKey",d(function*(){var u=yield s.olmMachine.shareRoomKey(new E(s.room.roomId),_,a);if(u)for(var f of u)yield s.outgoingRequestManager.outgoingRequestProcessor.makeOutgoingRequest(f)}))})()}forceDiscardSession(){var e=this;return d(function*(){var t=yield e.olmMachine.invalidateGroupSession(new E(e.room.roomId));t&&e.prefixedLogger.info("Discarded existing group session")})()}encryptEventInner(e,t){var r=this;return d(function*(){e.debug("Encrypting actual message content");var s=new E(r.room.roomId),o=t.getType(),_=JSON.stringify(t.getContent()),a;t.isState()?a=yield r.olmMachine.encryptStateEvent(s,o,t.getStateKey(),_):a=yield r.olmMachine.encryptRoomEvent(s,o,_),t.makeEncrypted(J.RoomMessageEncrypted,JSON.parse(a),r.olmMachine.identityKeys.curve25519.toBase64(),r.olmMachine.identityKeys.ed25519.toBase64()),e.debug("Encrypted event successfully")})()}}function jd(n){switch(n){case Xt.Invited:return Nt.Invited;case Xt.Joined:return Nt.Joined;case Xt.Shared:return Nt.Shared;case Xt.WorldReadable:return Nt.WorldReadable}}var At="/_matrix/client/unstable/org.matrix.msc3814.v1",Vr="org.matrix.msc3814",Nd=10080*60*1e3;class Pd extends Qt{constructor(e,t,r,s,o){super(),this.logger=e,this.olmMachine=t,this.http=r,this.outgoingRequestProcessor=s,this.secretStorage=o,h(this,"intervalId",void 0)}cacheKey(e){var t=this;return d(function*(){yield t.olmMachine.dehydratedDevices().saveDehydratedDeviceKey(e),t.emit(K.DehydrationKeyCached)})()}isSupported(){var e=this;return d(function*(){try{yield e.http.authedRequest(D.Get,"/dehydrated_device",void 0,void 0,{prefix:At})}catch(r){var t=r;if(t.errcode==="M_UNRECOGNIZED")return!1;if(t.errcode==="M_NOT_FOUND")return!0;throw r}return!0})()}start(){var e=arguments,t=this;return d(function*(){var r=e.length>0&&e[0]!==void 0?e[0]:{};if(typeof r=="boolean"&&(r={createNewKey:r}),!(r.onlyIfKeyCached&&!(yield t.olmMachine.dehydratedDevices().getDehydratedDeviceKey()))){if(t.stop(),r.rehydrate!==!1)try{yield t.rehydrateDeviceIfAvailable()}catch(s){t.logger.info("dehydration: Error rehydrating device:",s),t.emit(K.RehydrationError,s.message)}r.createNewKey&&(yield t.resetKey()),yield t.scheduleDeviceDehydration()}})()}isKeyStored(){var e=this;return d(function*(){return!!(yield e.secretStorage.isStored(Vr))})()}resetKey(){var e=this;return d(function*(){var t=V.createRandomKey();return yield e.secretStorage.store(Vr,t.toBase64()),yield e.cacheKey(t),t})()}getKey(e){var t=this;return d(function*(){var r=yield t.olmMachine.dehydratedDevices().getDehydratedDeviceKey();if(r)return r;var s=yield t.secretStorage.get(Vr);if(s===void 0)return e?yield t.resetKey():null;var o=Hr(s);try{var _=V.createKeyFromArray(o);return yield t.cacheKey(_),_}finally{o.fill(0)}})()}rehydrateDeviceIfAvailable(){var e=this;return d(function*(){var t=yield e.getKey(!1);if(!t)return!1;var r;try{r=yield e.http.authedRequest(D.Get,"/dehydrated_device",void 0,void 0,{prefix:At})}catch(S){var s=S;if(s.errcode==="M_NOT_FOUND"||s.errcode==="M_UNRECOGNIZED")return e.logger.info("dehydration: No dehydrated device"),!1;throw s}e.logger.info("dehydration: dehydrated device found"),e.emit(K.RehydrationStarted);var o=yield e.olmMachine.dehydratedDevices().rehydrate(t,new I(r.device_id),JSON.stringify(r.device_data));e.logger.info("dehydration: device rehydrated");for(var _=void 0,a=0,c=0,g=ur("/dehydrated_device/$device_id/events",{$device_id:r.device_id});;){var u=yield e.http.authedRequest(D.Post,g,void 0,_?{next_batch:_}:{},{prefix:At});if(u.events.length===0)break;a+=u.events.length,_=u.next_batch;var f=yield o.receiveEvents(JSON.stringify(u.events));c+=f.length,e.emit(K.RehydrationProgress,c,a)}return e.logger.info("dehydration: received ".concat(c," room keys from ").concat(a," to-device events")),e.emit(K.RehydrationCompleted),!0})()}createAndUploadDehydratedDevice(){var e=this;return d(function*(){var t=yield e.getKey(!0),r=yield e.olmMachine.dehydratedDevices().create();e.emit(K.DehydratedDeviceCreated);var s=yield r.keysForUpload("Dehydrated device",t);yield e.outgoingRequestProcessor.makeOutgoingRequest(s),e.emit(K.DehydratedDeviceUploaded),e.logger.info("dehydration: uploaded device")})()}scheduleDeviceDehydration(){var e=this;return d(function*(){e.stop(),yield e.createAndUploadDehydratedDevice(),e.intervalId=setInterval(()=>{e.createAndUploadDehydratedDevice().catch(t=>{e.emit(K.DehydratedDeviceRotationError,t.message),e.logger.error("Error creating dehydrated device:",t)})},Nd)})()}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0)}delete(){var e=this;return d(function*(){e.stop();try{yield e.http.authedRequest(D.Delete,"/dehydrated_device",void 0,{},{prefix:At})}catch(r){var t=r;if(t.errcode==="M_UNRECOGNIZED")return;if(t.errcode==="M_NOT_FOUND")return;throw r}})()}}function Li(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(n,s).enumerable})),t.push.apply(t,r)}return t}function xd(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Li(Object(t),!0).forEach(function(r){h(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Li(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}class Ad{constructor(e,t,r){this.logger=e,this.olmMachine=t,this.http=r}makeOutgoingRequest(e,t){var r=this;return d(function*(){var s;if(e instanceof Ce)s=yield r.requestWithRetry(D.Post,"/_matrix/client/v3/keys/upload",{},e.body);else if(e instanceof ue)s=yield r.requestWithRetry(D.Post,"/_matrix/client/v3/keys/query",{},e.body);else if(e instanceof De)s=yield r.requestWithRetry(D.Post,"/_matrix/client/v3/keys/claim",{},e.body);else if(e instanceof fe)s=yield r.requestWithRetry(D.Post,"/_matrix/client/v3/keys/signatures/upload",{},e.body);else if(e instanceof Oe)s=yield r.requestWithRetry(D.Put,"/_matrix/client/v3/room_keys/keys",{version:e.version},e.body);else if(e instanceof Ve)s=yield r.sendToDeviceRequest(e);else if(e instanceof Ne){var o="/_matrix/client/v3/rooms/".concat(encodeURIComponent(e.room_id),"/send/")+"".concat(encodeURIComponent(e.event_type),"/").concat(encodeURIComponent(e.txn_id));s=yield r.requestWithRetry(D.Put,o,{},e.body)}else if(e instanceof Le){yield r.makeRequestWithUIA(D.Post,"/_matrix/client/v3/keys/device_signing/upload",{},e.body,t);return}else if(e instanceof je){var _=At+"/dehydrated_device";yield r.rawJsonRequest(D.Put,_,{},e.body);return}else r.logger.warn("Unsupported outgoing message",Object.getPrototypeOf(e)),s="";if(e.id)try{yield X(r.logger,"Mark Request as sent ".concat(e.type),d(function*(){yield r.olmMachine.markRequestAsSent(e.id,e.type,s)}))}catch(a){if(a instanceof Error&&(a.message==="Attempt to use a moved value"||a.message==="null pointer passed to rust"))r.logger.debug("Ignoring error '".concat(a.message,"': client is likely shutting down"));else throw a}else r.logger.trace("Outgoing request type:".concat(e.type," does not have an ID"))})()}sendToDeviceRequest(e){var t=this;return d(function*(){var r=JSON.parse(e.body),s=[];for(var[o,_]of Object.entries(r.messages))for(var[a,c]of Object.entries(_))s.push("".concat(o,"/").concat(a," (msgid ").concat(c[Ds],")"));t.logger.info("Sending batch of to-device messages. type=".concat(e.event_type," txnid=").concat(e.txn_id),s);var g="/_matrix/client/v3/sendToDevice/".concat(encodeURIComponent(e.event_type),"/")+encodeURIComponent(e.txn_id);return yield t.requestWithRetry(D.Put,g,{},e.body)})()}makeRequestWithUIA(e,t,r,s,o){var _=this;return d(function*(){if(!o)return yield _.requestWithRetry(e,t,r,s);var a=JSON.parse(s),c=(function(){var u=d(function*(f){var S=xd({},a);f!==null&&(S.auth=f);var R=yield _.requestWithRetry(e,t,r,JSON.stringify(S));return JSON.parse(R)});return function(S){return u.apply(this,arguments)}})(),g=yield o(c);return JSON.stringify(g)})()}requestWithRetry(e,t,r,s){var o=this;return d(function*(){for(var _=0;;)try{return yield o.rawJsonRequest(e,t,r,s)}catch(c){_++;var a=Cs(c,_,!0);if(a<0)throw c;yield ke(a)}})()}rawJsonRequest(e,t,r,s){var o=this;return d(function*(){var _={json:!1,headers:{"Content-Type":"application/json",Accept:"application/json"},prefix:"",localTimeoutMs:6e4};return yield o.http.authedRequest(e,t,r,s,_)})()}}class zd{constructor(e,t){this.olmMachine=e,this.outgoingRequestProcessor=t,h(this,"currentClaimPromise",void 0),h(this,"stopped",!1),this.currentClaimPromise=Promise.resolve()}stop(){this.stopped=!0}ensureSessionsForUsers(e,t){var r=this.currentClaimPromise.catch(()=>{}).then(()=>this.ensureSessionsForUsersInner(e,t));return this.currentClaimPromise=r,r}ensureSessionsForUsersInner(e,t){var r=this;return d(function*(){if(r.stopped)throw new Error("Cannot ensure Olm sessions: shutting down");e.info("Checking for missing Olm sessions");var s=yield r.olmMachine.getMissingSessions(t.map(o=>o.clone()));s&&(e.info("Making /keys/claim request"),yield r.outgoingRequestProcessor.makeOutgoingRequest(s)),e.info("Olm sessions prepared")})()}}var Lt=(function(n){return n[n.Blocked=-1]="Blocked",n[n.Unverified=0]="Unverified",n[n.Verified=1]="Verified",n})({});class ps{constructor(e){h(this,"deviceId",void 0),h(this,"userId",void 0),h(this,"algorithms",void 0),h(this,"keys",void 0),h(this,"verified",void 0),h(this,"signatures",void 0),h(this,"displayName",void 0),h(this,"dehydrated",!1),this.deviceId=e.deviceId,this.userId=e.userId,this.algorithms=e.algorithms,this.keys=e.keys,this.verified=e.verified||Lt.Unverified,this.signatures=e.signatures||new Map,this.displayName=e.displayName,this.dehydrated=!!e.dehydrated}getFingerprint(){return this.keys.get("ed25519:".concat(this.deviceId))}getIdentityKey(){return this.keys.get("curve25519:".concat(this.deviceId))}}function Vd(n,e){var t=new Map;for(var[r,s]of n.keys.entries())t.set(r.toString(),s.toBase64());var o=Lt.Unverified;n.isBlacklisted()?o=Lt.Blocked:n.isVerified()&&(o=Lt.Verified);var _=new Map,a=n.signatures.get(e);if(a){var c=new Map;for(var[g,u]of a.entries())u.isValid()&&u.signature&&c.set(g,u.signature.toBase64());_.set(e.toString(),c)}var f=n.algorithms,S=new Set;return f.forEach(R=>{switch(R){case at.MegolmV1AesSha2:S.add("m.megolm.v1.aes-sha2");break;case at.OlmV1Curve25519AesSha2:default:S.add("m.olm.v1.curve25519-aes-sha2");break}}),new ps({deviceId:n.deviceId.toString(),userId:e.toString(),keys:t,algorithms:Array.from(S),verified:o,signatures:_,displayName:n.displayName,dehydrated:n.isDehydrated})}function Ld(n){return new Map(Object.entries(n).map(e=>{var[t,r]=e;return[t,Gd(r)]}))}function Gd(n){var e,t=new Map(Object.entries(n.keys)),r=(e=n.unsigned)===null||e===void 0?void 0:e.device_display_name,s=new Map;if(n.signatures)for(var o in n.signatures)s.set(o,new Map(Object.entries(n.signatures[o])));return new ps({deviceId:n.device_id,userId:n.user_id,keys:t,algorithms:n.algorithms,verified:Lt.Unverified,signatures:s,displayName:r})}class Wd{constructor(e,t,r,s){this.logger=e,this.olmMachine=t,this.outgoingRequestProcessor=r,this.secretStorage=s}bootstrapCrossSigning(e){var t=this;return d(function*(){if(e.setupNewCrossSigning){yield t.resetCrossSigning(e.authUploadDeviceSigningKeys);return}var r=yield t.olmMachine.crossSigningStatus(),s=yield t.secretStorage.get("m.cross_signing.master"),o=yield t.secretStorage.get("m.cross_signing.self_signing"),_=yield t.secretStorage.get("m.cross_signing.user_signing"),a=!!(s&&o&&_),c=r.hasMaster&&r.hasUserSigning&&r.hasSelfSigning;if(t.logger.debug("bootstrapCrossSigning: starting",{setupNewCrossSigning:e.setupNewCrossSigning,olmDeviceHasMaster:r.hasMaster,olmDeviceHasUserSigning:r.hasUserSigning,olmDeviceHasSelfSigning:r.hasSelfSigning,privateKeysInSecretStorage:a}),c)(yield t.secretStorage.hasKey())?a?t.logger.debug("bootstrapCrossSigning: Olm device has private keys and they are saved in secret storage; doing nothing"):(t.logger.debug("bootstrapCrossSigning: Olm device has private keys: exporting to secret storage"),yield t.exportCrossSigningKeysToStorage()):t.logger.warn("bootstrapCrossSigning: Olm device has private keys, but secret storage is not yet set up; doing nothing for now.");else if(a){t.logger.debug("bootstrapCrossSigning: Cross-signing private keys not found locally, but they are available in secret storage, reading storage and caching locally");var g=yield t.olmMachine.importCrossSigningKeys(s,o,_);if(!g.hasMaster||!g.hasSelfSigning||!g.hasUserSigning)throw new Error("importCrossSigningKeys failed to import the keys");var u=yield t.olmMachine.getDevice(t.olmMachine.userId,t.olmMachine.deviceId);try{var f=yield u.verify();yield t.outgoingRequestProcessor.makeOutgoingRequest(f)}finally{u.free()}}else t.logger.debug("bootstrapCrossSigning: Cross-signing private keys not found locally or in secret storage, creating new keys"),yield t.resetCrossSigning(e.authUploadDeviceSigningKeys);t.logger.debug("bootstrapCrossSigning: complete")})()}resetCrossSigning(e){var t=this;return d(function*(){var r=yield t.olmMachine.bootstrapCrossSigning(!0);(yield t.secretStorage.hasKey())?(t.logger.debug("resetCrossSigning: exporting private keys to secret storage"),yield t.exportCrossSigningKeysToStorage()):t.logger.warn("resetCrossSigning: Secret storage is not yet set up; not exporting keys to secret storage yet."),t.logger.debug("resetCrossSigning: publishing public keys to server");for(var s of[r.uploadKeysRequest,r.uploadSigningKeysRequest,r.uploadSignaturesRequest])s&&(yield t.outgoingRequestProcessor.makeOutgoingRequest(s,e))})()}exportCrossSigningKeysToStorage(){var e=this;return d(function*(){var t=yield e.olmMachine.exportCrossSigningKeys();t!=null&&t.masterKey?yield e.secretStorage.store("m.cross_signing.master",t.masterKey):e.logger.error("Cannot export MSK to secret storage, private key unknown"),t!=null&&t.self_signing_key?yield e.secretStorage.store("m.cross_signing.self_signing",t.self_signing_key):e.logger.error("Cannot export SSK to secret storage, private key unknown"),t!=null&&t.userSigningKey?yield e.secretStorage.store("m.cross_signing.user_signing",t.userSigningKey):e.logger.error("Cannot export USK to secret storage, private key unknown")})()}}function Gi(n){return sn.apply(this,arguments)}function sn(){return sn=d(function*(n){return Jd(n,["m.cross_signing.master","m.cross_signing.user_signing","m.cross_signing.self_signing"])}),sn.apply(this,arguments)}function Jd(n,e){return on.apply(this,arguments)}function on(){return on=d(function*(n,e){var t=yield n.getDefaultKeyId();if(!t)return!1;for(var r of e){var s=(yield n.isStored(r))||{};if(!(t in s))return!1}return!0}),on.apply(this,arguments)}var H=(function(n){return n.Sas="m.sas.v1",n.ShowQrCode="m.qr_code.show.v1",n.ScanQrCode="m.qr_code.scan.v1",n.Reciprocate="m.reciprocate.v1",n})({});class Hd extends Qt{constructor(e,t,r,s,o){super(),this.logger=e,this.olmMachine=t,this.inner=r,this.outgoingRequestProcessor=s,this.supportedVerificationMethods=o,h(this,"reEmitter",void 0),h(this,"_accepting",!1),h(this,"_cancelling",!1),h(this,"_verifier",void 0),this.reEmitter=new is(this);var _=new WeakRef(this);r.registerChangesCallback(d(function*(){var a;return(a=_.deref())===null||a===void 0?void 0:a.onChange()}))}onChange(){var e=this.inner.getVerification();e instanceof ye?this._verifier===void 0||this._verifier instanceof Wi?this.setVerifier(new Ji(e,this,this.outgoingRequestProcessor)):this._verifier instanceof Ji&&this._verifier.replaceInner(e):e instanceof pe&&this._verifier===void 0&&this.setVerifier(new Wi(e,this.outgoingRequestProcessor)),this.emit(jt.Change)}setVerifier(e){this._verifier&&this.reEmitter.stopReEmitting(this._verifier,[jt.Change]),this._verifier=e,this.reEmitter.reEmit(this._verifier,[jt.Change])}get transactionId(){return this.inner.flowId}get roomId(){var e;return(e=this.inner.roomId)===null||e===void 0?void 0:e.toString()}get initiatedByMe(){return this.inner.weStarted()}get otherUserId(){return this.inner.otherUserId.toString()}get otherDeviceId(){var e;return(e=this.inner.otherDeviceId)===null||e===void 0?void 0:e.toString()}getOtherDevice(){var e=this;return d(function*(){var t=e.inner.otherDeviceId;if(t)return yield e.olmMachine.getDevice(e.inner.otherUserId,t,5)})()}get isSelfVerification(){return this.inner.isSelfVerification()}get phase(){var e=this.inner.phase();switch(e){case oe.Created:case oe.Requested:return U.Requested;case oe.Ready:return this._accepting?U.Requested:U.Ready;case oe.Transitioned:if(!this._verifier)throw new Error("VerificationRequest: inner phase == Transitioned but no verifier!");return this._verifier.verificationPhase;case oe.Done:return U.Done;case oe.Cancelled:return U.Cancelled}throw new Error("Unknown verification phase ".concat(e))}get pending(){if(this.inner.isPassive())return!1;var e=this.phase;return e!==U.Done&&e!==U.Cancelled}get accepting(){return this._accepting}get declining(){return this._cancelling}get timeout(){return this.inner.timeRemainingMillis()}get methods(){throw new Error("not implemented")}get chosenMethod(){if(this.phase!==U.Started)return null;var e=this.inner.getVerification();return e instanceof ye?H.Sas:e instanceof pe?H.Reciprocate:null}otherPartySupportsMethod(e){var t=this.inner.theirSupportedMethods;if(t===void 0)return!1;var r=ys[e];return t.some(s=>s===r)}accept(){var e=this;return d(function*(){if(e.inner.phase()!==oe.Requested||e._accepting)throw new Error("Cannot accept a verification request in phase ".concat(e.phase));e._accepting=!0;try{var t=e.inner.acceptWithMethods(e.supportedVerificationMethods.map(ar));t&&(yield e.outgoingRequestProcessor.makeOutgoingRequest(t))}finally{e._accepting=!1}e.emit(jt.Change)})()}cancel(e){var t=this;return d(function*(){if(!t._cancelling){t.logger.info("Cancelling verification request with params:",e),t._cancelling=!0;try{var r=t.inner.cancel();r&&(yield t.outgoingRequestProcessor.makeOutgoingRequest(r))}finally{t._cancelling=!1}}})()}beginKeyVerification(e,t){throw new Error("not implemented")}startVerification(e){var t=this;return d(function*(){if(e!==H.Sas)throw new Error("Unsupported verification method ".concat(e));if(!(yield t.getOtherDevice()))throw new Error("startVerification(): other device is unknown");var r=yield t.inner.startSas();if(r){var[,s]=r;yield t.outgoingRequestProcessor.makeOutgoingRequest(s)}if(!t._verifier)throw new Error("Still no verifier after startSas() call");return t._verifier})()}scanQRCode(e){var t=this;return d(function*(){var r=be.fromBytes(e),s=yield t.inner.scanQrCode(r);if(!t._verifier)throw new Error("Still no verifier after scanQrCode() call");var o=s.reciprocate();return o&&(yield t.outgoingRequestProcessor.makeOutgoingRequest(o)),t._verifier})()}get verifier(){return this.phase===U.Started?this._verifier:void 0}getQRCodeBytes(){throw new Error("getQRCodeBytes() unsupported in Rust Crypto; use generateQRCode() instead.")}generateQRCode(){var e=this;return d(function*(){if(!(yield e.getOtherDevice()))throw new Error("generateQRCode(): other device is unknown");var t=yield e.inner.generateQrCode();if(t)return t.toBytes()})()}get cancellationCode(){var e,t;return(e=(t=this.inner.cancelInfo)===null||t===void 0?void 0:t.cancelCode())!==null&&e!==void 0?e:null}get cancellingUserId(){var e=this.inner.cancelInfo;if(e)return e.cancelledbyUs()?this.olmMachine.userId.toString():this.inner.otherUserId.toString()}}class bs extends Qt{constructor(e,t){super(),this.inner=e,this.outgoingRequestProcessor=t,h(this,"completionDeferred",void 0),this.completionDeferred=Promise.withResolvers();var r=new WeakRef(this);e.registerChangesCallback(d(function*(){var s;return(s=r.deref())===null||s===void 0?void 0:s.onChange()})),this.completionDeferred.promise.catch(()=>null)}onChange(){if(this.inner.isDone())this.completionDeferred.resolve(void 0);else if(this.inner.isCancelled()){var e=this.inner.cancelInfo();this.completionDeferred.reject(new Error("Verification cancelled by ".concat(e.cancelledbyUs()?"us":"them"," with code ").concat(e.cancelCode(),": ").concat(e.reason())))}this.emit(jt.Change)}get hasBeenCancelled(){return this.inner.isCancelled()}get userId(){return this.inner.otherUserId.toString()}cancel(e){var t=this.inner.cancel();t&&this.outgoingRequestProcessor.makeOutgoingRequest(t)}getShowSasCallbacks(){return null}getReciprocateQrCodeCallbacks(){return null}}class Wi extends bs{constructor(e,t){super(e,t),h(this,"callbacks",null)}onChange(){this.callbacks===null&&this.inner.hasBeenScanned()&&(this.callbacks={confirm:()=>{this.confirmScanning()},cancel:()=>this.cancel()}),super.onChange()}verify(){var e=this;return d(function*(){e.callbacks!==null&&e.emit(_s.ShowReciprocateQr,e.callbacks),yield e.completionDeferred.promise})()}get verificationPhase(){switch(this.inner.state()){case me.Created:return U.Ready;case me.Scanned:return U.Started;case me.Confirmed:return U.Started;case me.Reciprocated:return U.Started;case me.Done:return U.Done;case me.Cancelled:return U.Cancelled;default:throw new Error("Unknown qr code state ".concat(this.inner.state()))}}getReciprocateQrCodeCallbacks(){return this.callbacks}confirmScanning(){var e=this;return d(function*(){var t=e.inner.confirmScanning();t&&(yield e.outgoingRequestProcessor.makeOutgoingRequest(t))})()}}class Ji extends bs{constructor(e,t,r){super(e,r),h(this,"callbacks",null)}verify(){var e=this;return d(function*(){yield e.sendAccept(),yield e.completionDeferred.promise})()}sendAccept(){var e=this;return d(function*(){var t=e.inner.accept();t&&(yield e.outgoingRequestProcessor.makeOutgoingRequest(t))})()}onChange(){var e=this;if(super.onChange(),this.callbacks===null){var t=this.inner.emoji(),r=this.inner.decimals();if(t===void 0&&r===void 0)return;var s={};t&&(s.emoji=t.map(o=>[o.symbol,o.description])),r&&(s.decimal=[r[0],r[1],r[2]]),this.callbacks={sas:s,confirm:(function(){var o=d(function*(){var a=yield e.inner.confirm();for(var c of a)yield e.outgoingRequestProcessor.makeOutgoingRequest(c)});function _(){return o.apply(this,arguments)}return _})(),mismatch:()=>{var o=this.inner.cancelWithCode("m.mismatched_sas");o&&this.outgoingRequestProcessor.makeOutgoingRequest(o)},cancel:()=>{var o=this.inner.cancelWithCode("m.user");o&&this.outgoingRequestProcessor.makeOutgoingRequest(o)}},this.emit(_s.ShowSas,this.callbacks)}}get verificationPhase(){return U.Started}getShowSasCallbacks(){return this.callbacks}replaceInner(e){if(this.inner!=e){this.inner=e;var t=new WeakRef(this);e.registerChangesCallback(d(function*(){var r;return(r=t.deref())===null||r===void 0?void 0:r.onChange()})),this.sendAccept(),this.onChange()}}}var ys={[H.Sas]:xt.SasV1,[H.ScanQrCode]:xt.QrCodeScanV1,[H.ShowQrCode]:xt.QrCodeShowV1,[H.Reciprocate]:xt.ReciprocateV1};function ar(n){var e=ys[n];if(e===void 0)throw new Error("Unknown verification method ".concat(n));return e}function Qd(n){switch(n.getType()){case J.KeyVerificationCancel:case J.KeyVerificationDone:case J.KeyVerificationMac:case J.KeyVerificationStart:case J.KeyVerificationKey:case J.KeyVerificationReady:case J.KeyVerificationAccept:return!0;case J.RoomMessage:return n.getContent().msgtype===ss.KeyVerificationRequest;default:return!1}}class Yd extends Qt{constructor(e,t,r,s){super(),this.logger=e,this.olmMachine=t,this.http=r,this.outgoingRequestProcessor=s,h(this,"checkedForBackup",!1),h(this,"serverBackupInfo",void 0),h(this,"activeBackupVersion",null),h(this,"stopped",!1),h(this,"backupKeysLoopRunning",!1),h(this,"keyBackupCheckInProgress",null)}stop(){this.stopped=!0}getActiveBackupVersion(){var e=this;return d(function*(){return(yield e.olmMachine.isBackupEnabled())?e.activeBackupVersion:null})()}getServerBackupInfo(){var e=this;return d(function*(){return yield e.checkKeyBackupAndEnable(!1),e.serverBackupInfo})()}isKeyBackupTrusted(e){var t=this;return d(function*(){var r=yield t.olmMachine.verifyBackup(e),s=yield t.olmMachine.getBackupKeys(),o=s?.decryptionKey,_=!!o&&t.backupInfoMatchesBackupDecryptionKey(e,o);return{matchesDecryptionKey:_,trusted:r.trusted()}})()}checkKeyBackupAndEnable(e){return!e&&this.checkedForBackup?Promise.resolve(null):(this.keyBackupCheckInProgress||(this.keyBackupCheckInProgress=this.doCheckKeyBackup().finally(()=>{this.keyBackupCheckInProgress=null})),this.keyBackupCheckInProgress)}handleBackupSecretReceived(e){var t=this;return d(function*(){var r,s;try{s=yield t.requestKeyBackupVersion()}catch(a){return t.logger.warn("handleBackupSecretReceived: Error checking for latest key backup",a),!1}if(!((r=s)!==null&&r!==void 0&&r.version))return t.logger.warn("handleBackupSecretReceived: Received a backup decryption key, but there is no trusted server-side key backup"),!1;try{var o=j.fromBase64(e),_=t.backupInfoMatchesBackupDecryptionKey(s,o);return _?(t.logger.info("handleBackupSecretReceived: A valid backup decryption key has been received and stored in cache."),yield t.saveBackupDecryptionKey(o,s.version),!0):(t.logger.warn("handleBackupSecretReceived: Private decryption key does not match the public key of the current remote backup."),!1)}catch(a){t.logger.warn("handleBackupSecretReceived: Invalid backup decryption key",a)}return!1})()}saveBackupDecryptionKey(e,t){var r=this;return d(function*(){yield r.olmMachine.saveBackupDecryptionKey(e,t),r.emit(K.KeyBackupDecryptionKeyCached,t)})()}importRoomKeys(e,t){var r=this;return d(function*(){yield r.importRoomKeysAsJson(JSON.stringify(e),t)})()}importRoomKeysAsJson(e,t){var r=this;return d(function*(){yield r.olmMachine.importExportedRoomKeys(e,(s,o)=>{var _,a={total:Number(o),successes:Number(s),stage:Ut.LoadKeys,failures:0};t==null||(_=t.progressCallback)===null||_===void 0||_.call(t,a)})})()}importBackedUpRoomKeys(e,t,r){var s=this;return d(function*(){var o=new Map;for(var _ of e){var a=new E(_.room_id);o.has(a)||o.set(a,new Map),o.get(a).set(_.session_id,_)}yield s.olmMachine.importBackedUpRoomKeys(o,(c,g,u)=>{var f,S={total:Number(g),successes:Number(c),stage:Ut.LoadKeys,failures:Number(u)};r==null||(f=r.progressCallback)===null||f===void 0||f.call(r,S)},t)})()}doCheckKeyBackup(){var e=this;return d(function*(){e.logger.debug("Checking key backup status...");var t;try{t=yield e.requestKeyBackupVersion()}catch(o){return e.logger.warn("Error checking for active key backup",o),e.serverBackupInfo=void 0,null}e.checkedForBackup=!0,t&&!t.version&&(e.logger.warn("active backup lacks a useful 'version'; ignoring it"),t=void 0),e.serverBackupInfo=t;var r=yield e.getActiveBackupVersion();if(!t)return r!==null?(e.logger.debug("No key backup present on server: disabling key backup"),yield e.disableKeyBackup()):e.logger.debug("No key backup present on server: not enabling key backup"),null;var s=yield e.isKeyBackupTrusted(t);return!s.matchesDecryptionKey&&!s.trusted?r!==null?(e.logger.debug("Key backup present on server but not trusted: disabling key backup"),yield e.disableKeyBackup()):e.logger.debug("Key backup present on server but not trusted: not enabling key backup"):r===null?(e.logger.debug("Found usable key backup v".concat(t.version,": enabling key backups")),yield e.enableKeyBackup(t)):r!==t.version?(e.logger.debug("On backup version ".concat(r," but found version ").concat(t.version,": switching.")),yield e.disableKeyBackup(),yield e.enableKeyBackup(t)):e.logger.debug("Backup version ".concat(t.version," still current")),{backupInfo:t,trustInfo:s}})()}enableKeyBackup(e){var t=this;return d(function*(){yield t.olmMachine.enableBackupV1(e.auth_data.public_key,e.version),t.activeBackupVersion=e.version,t.emit(K.KeyBackupStatus,!0),t.backupKeysLoop()})()}maybeUploadKey(){var e=this;return d(function*(){e.activeBackupVersion!=null&&e.backupKeysLoop()})()}disableKeyBackup(){var e=this;return d(function*(){yield e.olmMachine.disableBackup(),e.activeBackupVersion=null,e.emit(K.KeyBackupStatus,!1)})()}backupKeysLoop(){var e=arguments,t=this;return d(function*(){var r=e.length>0&&e[0]!==void 0?e[0]:1e4;if(t.backupKeysLoopRunning){t.logger.debug("Backup loop already running");return}t.backupKeysLoopRunning=!0,t.logger.debug("Backup: Starting keys upload loop for backup version:".concat(t.activeBackupVersion,"."));var s=Math.random()*r;yield ke(s);try{for(var o=0,_=null,a=!0;!t.stopped;){var c=void 0;try{c=yield X(t.logger,"BackupRoomKeys: Get keys to backup from rust crypto-sdk",d(function*(){return yield t.olmMachine.backupRoomKeys()}))}catch(R){t.logger.error("Backup: Failed to get keys to backup from rust crypto-sdk",R)}if(!c||t.stopped||!t.activeBackupVersion){t.logger.debug("Backup: Ending loop for version ".concat(t.activeBackupVersion,".")),c||t.emit(K.KeyBackupSessionsRemaining,0);return}try{if(yield t.outgoingRequestProcessor.makeOutgoingRequest(c),o=0,t.stopped)break;if(!a&&_===null)try{var g=yield t.olmMachine.roomKeyCounts();_=g.total-g.backedUp}catch(R){t.logger.error("Backup: Failed to get key counts from rust crypto-sdk",R)}if(_!==null){t.emit(K.KeyBackupSessionsRemaining,_);var u=t.keysCountInBatch(c);_=Math.max(_-u,0)}}catch(R){if(o++,t.logger.error("Backup: Error processing backup request for rust crypto-sdk",R),R instanceof os){var f=R.data.errcode;if(f=="M_NOT_FOUND"||f=="M_WRONG_ROOM_KEYS_VERSION"){t.logger.debug("Backup: Failed to upload keys to current vesion: ".concat(f,"."));try{yield t.disableKeyBackup()}catch(N){t.logger.error("Backup: An error occurred while disabling key backup:",N)}t.emit(K.KeyBackupFailed,R.data.errcode),t.backupKeysLoopRunning=!1,t.checkKeyBackupAndEnable(!0);return}else if(R.isRateLimitError())try{var S=R.getRetryAfterMs();if(S&&S>0){yield ke(S);continue}}catch(N){t.logger.warn("Backup: An error occurred while retrieving a rate-limit retry delay",N)}}yield ke(1e3*Math.pow(2,Math.min(o-1,4)))}a=!1}}finally{t.backupKeysLoopRunning=!1}})()}keysCountInBatch(e){var t=JSON.parse(e.body);return Hi(t)}requestKeyBackupVersion(e){var t=this;return d(function*(){return yield fs(t.http,e)})()}setupKeyBackup(e){var t=this;return d(function*(){yield t.deleteAllKeyBackupVersions();var r=j.createRandomKey(),s=r.megolmV1PublicKey,o={public_key:s.publicKeyBase64};yield e(o);var _=yield t.http.authedRequest(D.Post,"/room_keys/version",void 0,{algorithm:s.algorithm,auth_data:o},{prefix:zt.V3});return yield t.saveBackupDecryptionKey(r,_.version),{version:_.version,algorithm:s.algorithm,authData:o,decryptionKey:r}})()}deleteAllKeyBackupVersions(){var e=this;return d(function*(){for(var t,r,s=(t=(r=yield e.requestKeyBackupVersion())===null||r===void 0?void 0:r.version)!==null&&t!==void 0?t:null;s!=null;){var o,_;yield e.deleteKeyBackupVersion(s),s=(o=(_=yield e.requestKeyBackupVersion())===null||_===void 0?void 0:_.version)!==null&&o!==void 0?o:null}})()}deleteKeyBackupVersion(e){var t=this;return d(function*(){t.logger.debug("deleteKeyBackupVersion v:".concat(e));var r=ur("/room_keys/version/$version",{$version:e});yield t.http.authedRequest(D.Delete,r,void 0,void 0,{prefix:zt.V3}),t.activeBackupVersion===e&&(t.serverBackupInfo=null,yield t.disableKeyBackup())})()}createBackupDecryptor(e){return new $d(this.logger,e)}restoreKeyBackup(e,t,r){var s=this;return d(function*(){var o=yield s.downloadKeyBackup(e);return s.importKeyBackup(o,e,t,r)})()}downloadKeyBackup(e){return this.http.authedRequest(D.Get,"/room_keys/keys",{version:e},void 0,{prefix:zt.V3})}importKeyBackup(e,t,r,s){var o=this;return d(function*(){var _,a=200,c=Hi(e),g=0,u=0;s==null||(_=s.progressCallback)===null||_===void 0||_.call(s,{total:c,successes:g,stage:Ut.LoadKeys,failures:u});var f=(function(){var ks=d(function*(pr){var Yt,$t=[],Rs=function*(Rn){var Ks=yield r.decryptSessions(pr.get(Rn));Ks.forEach(En=>{En.room_id=Rn,$t.push(En)})};for(var Es of pr.keys())yield*Rs(Es);try{yield o.importBackedUpRoomKeys($t,t),g+=$t.length}catch(kn){u+=$t.length,o.logger.error("Error importing keys from backup",kn)}s==null||(Yt=s.progressCallback)===null||Yt===void 0||Yt.call(s,{total:c,successes:g,stage:Ut.LoadKeys,failures:u})});return function(Yt){return ks.apply(this,arguments)}})(),S=0,R=new Map;for(var[N,ie]of Object.entries(e.rooms))if(ie.sessions){R.set(N,{});for(var[Mt,ms]of Object.entries(ie.sessions)){var Ss=R.get(N);Ss[Mt]=ms,S+=1,S>=a&&(yield f(R),R=new Map,R.set(N,{}),S=0)}}return S>0&&(yield f(R)),{total:c,imported:g}})()}backupInfoMatchesBackupDecryptionKey(e,t){var r;return e.algorithm!=="m.megolm_backup.v1.curve25519-aes-sha2"?(this.logger.warn("backupMatchesPrivateKey: Unsupported backup algorithm",e.algorithm),!1):((r=e.auth_data)===null||r===void 0?void 0:r.public_key)===t.megolmV1PublicKey.publicKeyBase64}}class $d{constructor(e,t){this.logger=e,h(this,"decryptionKey",void 0),h(this,"sourceTrusted",void 0),this.decryptionKey=t,this.sourceTrusted=!1}decryptSessions(e){var t=this;return d(function*(){var r=[];for(var[s,o]of Object.entries(e))try{var _=JSON.parse(t.decryptionKey.decryptV1(o.session_data.ephemeral,o.session_data.mac,o.session_data.ciphertext));_.session_id=s,r.push(_)}catch(a){t.logger.debug("Failed to decrypt megolm session from backup",a,o)}return r})()}free(){this.decryptionKey.free()}}function fs(n,e){return _n.apply(this,arguments)}function _n(){return _n=d(function*(n,e){try{var t=e?ur("/room_keys/version/$version",{$version:e}):"/room_keys/version";return yield n.authedRequest(D.Get,t,void 0,void 0,{prefix:zt.V3})}catch(r){if(r.errcode==="M_NOT_FOUND")return null;throw r}}),_n.apply(this,arguments)}function Lr(n,e){var t=e.auth_data;return t.public_key===n.megolmV1PublicKey.publicKeyBase64}function Hi(n){var e=0;for(var{sessions:t}of Object.values(n.rooms))e+=Object.keys(t).length;return e}class Xd{constructor(e,t,r){this.logger=e,this.olmMachine=t,this.outgoingRequestProcessor=r,h(this,"stopped",!1),h(this,"outgoingRequestLoopRunning",!1),h(this,"nextLoopDeferred",void 0)}stop(){this.stopped=!0}doProcessOutgoingRequests(){this.nextLoopDeferred||(this.nextLoopDeferred=Promise.withResolvers());var e=this.nextLoopDeferred.promise;return this.outgoingRequestLoopRunning||this.outgoingRequestLoop().catch(t=>{this.logger.error("Uncaught error in outgoing request loop",t)}),e}outgoingRequestLoop(){var e=this;return d(function*(){if(e.outgoingRequestLoopRunning)throw new Error("Cannot run two outgoing request loops");e.outgoingRequestLoopRunning=!0;try{for(;!e.stopped&&e.nextLoopDeferred;){var t=e.nextLoopDeferred;e.nextLoopDeferred=void 0,yield e.processOutgoingRequests().then(t.resolve,t.reject)}}finally{e.outgoingRequestLoopRunning=!1}e.nextLoopDeferred&&e.nextLoopDeferred.reject(new Error("OutgoingRequestsManager was stopped"))})()}processOutgoingRequests(){var e=this;return d(function*(){if(!e.stopped){var t=yield e.olmMachine.outgoingRequests(),r=0,s=function*(c){if(e.stopped)return{v:void 0};try{yield X(e.logger,"Make outgoing request ".concat(c.type),d(function*(){yield e.outgoingRequestProcessor.makeOutgoingRequest(c),r++}))}catch(g){e.logger.error("Failed to process outgoing request ".concat(c.type,": ").concat(g))}},o;for(var _ of t)if(o=yield*s(_),o)return o.v;r>0&&e.doProcessOutgoingRequests().catch(a=>{e.logger.warn("processOutgoingRequests: Error re-checking outgoing requests",a)})}})()}}var rr=5e3,_e=(function(n){return n.MISSING_DECRYPTION_KEY="MISSING_DECRYPTION_KEY",n.NETWORK_ERROR="NETWORK_ERROR",n.STOPPED="STOPPED",n})(_e||{});class Ft extends Error{constructor(e){super("Failed to get key from backup: ".concat(e)),this.code=e,this.name="KeyDownloadError"}}class Qi extends Error{constructor(e){super("Failed to get key from backup: rate limited"),this.retryMillis=e,this.name="KeyDownloadRateLimitError"}}class Zd{constructor(e,t,r,s){this.olmMachine=t,this.http=r,this.backupManager=s,h(this,"stopped",!1),h(this,"configuration",null),h(this,"sessionLastCheckAttemptedTime",new Map),h(this,"logger",void 0),h(this,"downloadLoopRunning",!1),h(this,"queuedRequests",[]),h(this,"hasConfigurationProblem",!1),h(this,"currentBackupVersionCheck",null),h(this,"onBackupStatusChanged",()=>{this.hasConfigurationProblem=!1,this.configuration=null,this.getOrCreateBackupConfiguration().then(o=>{o&&this.downloadKeysLoop()})}),this.logger=e.getChild("[PerSessionKeyBackupDownloader]"),s.on(K.KeyBackupStatus,this.onBackupStatusChanged),s.on(K.KeyBackupFailed,this.onBackupStatusChanged),s.on(K.KeyBackupDecryptionKeyCached,this.onBackupStatusChanged)}isKeyBackupDownloadConfigured(){return this.configuration!==null}getServerBackupInfo(){var e=this;return d(function*(){return yield e.backupManager.getServerBackupInfo()})()}onDecryptionKeyMissingError(e,t){if(this.isAlreadyInQueue(e,t)){this.logger.trace("Not checking key backup for session ".concat(t," as it is already queued"));return}if(this.wasRequestedRecently(t)){this.logger.trace("Not checking key backup for session ".concat(t," as it was already requested recently"));return}this.queuedRequests.push({roomId:e,megolmSessionId:t}),this.downloadKeysLoop()}stop(){this.stopped=!0,this.backupManager.off(K.KeyBackupStatus,this.onBackupStatusChanged),this.backupManager.off(K.KeyBackupFailed,this.onBackupStatusChanged),this.backupManager.off(K.KeyBackupDecryptionKeyCached,this.onBackupStatusChanged)}isAlreadyInQueue(e,t){return this.queuedRequests.some(r=>r.roomId==e&&r.megolmSessionId==t)}markAsNotFoundInBackup(e){var t=Date.now();this.sessionLastCheckAttemptedTime.set(e,t),this.sessionLastCheckAttemptedTime.size>100&&(this.sessionLastCheckAttemptedTime=new Map(Array.from(this.sessionLastCheckAttemptedTime).filter((r,s)=>Math.max(t-s,0)<rr)))}wasRequestedRecently(e){var t=this.sessionLastCheckAttemptedTime.get(e);return t?Math.max(Date.now()-t,0)<rr:!1}getBackupDecryptionKey(){var e=this;return d(function*(){try{return yield e.olmMachine.getBackupKeys()}catch{return null}})()}requestRoomKeyFromBackup(e,t,r){var s=this;return d(function*(){var o=ur("/room_keys/keys/$roomId/$sessionId",{$roomId:t,$sessionId:r});return yield s.http.authedRequest(D.Get,o,{version:e},void 0,{prefix:zt.V3})})()}downloadKeysLoop(){var e=this;return d(function*(){if(!e.downloadLoopRunning&&!e.hasConfigurationProblem){e.downloadLoopRunning=!0;try{for(;e.queuedRequests.length>0;){var t=e.queuedRequests[0];try{var r=yield e.getOrCreateBackupConfiguration();if(!r){e.downloadLoopRunning=!1;return}var s=yield e.queryKeyBackup(t.roomId,t.megolmSessionId,r);if(e.stopped)return;try{yield e.decryptAndImport(t,s,r)}catch(o){e.logger.error("Error while decrypting and importing key backup for session ".concat(t.megolmSessionId),o)}e.queuedRequests.shift()}catch(o){if(o instanceof Ft)switch(o.code){case _e.MISSING_DECRYPTION_KEY:e.markAsNotFoundInBackup(t.megolmSessionId),e.queuedRequests.shift();break;case _e.NETWORK_ERROR:yield ke(rr);break;case _e.STOPPED:e.downloadLoopRunning=!1;return}else o instanceof Qi&&(yield ke(o.retryMillis))}}}finally{e.downloadLoopRunning=!1}}})()}queryKeyBackup(e,t,r){var s=this;return d(function*(){if(s.logger.debug("Checking key backup for session ".concat(t)),s.stopped)throw new Ft(_e.STOPPED);try{var o=yield s.requestRoomKeyFromBackup(r.backupVersion,e,t);return s.logger.debug("Got key from backup for sessionId:".concat(t)),o}catch(g){if(s.stopped)throw new Ft(_e.STOPPED);if(s.logger.info("No luck requesting key backup for session ".concat(t,": ").concat(g)),g instanceof os){var _=g.data.errcode;if(_=="M_NOT_FOUND")throw new Ft(_e.MISSING_DECRYPTION_KEY);if(g.isRateLimitError()){var a;try{var c;a=(c=g.getRetryAfterMs())!==null&&c!==void 0?c:void 0}catch(u){s.logger.warn("Error while retrieving a rate-limit retry delay",u)}throw a&&a>0&&s.logger.info("Rate limited by server, waiting ".concat(a,"ms")),new Qi(a??rr)}}throw new Ft(_e.NETWORK_ERROR)}})()}decryptAndImport(e,t,r){var s=this;return d(function*(){var o={[e.megolmSessionId]:t},_=yield r.decryptor.decryptSessions(o);for(var a of _)a.room_id=e.roomId;yield s.backupManager.importBackedUpRoomKeys(_,r.backupVersion)})()}getOrCreateBackupConfiguration(){var e=this;return d(function*(){if(e.configuration)return e.configuration;if(e.hasConfigurationProblem)return null;if(e.currentBackupVersionCheck!=null)return e.logger.debug("Already checking server version, use current promise"),yield e.currentBackupVersionCheck;e.currentBackupVersionCheck=e.internalCheckFromServer();try{return yield e.currentBackupVersionCheck}finally{e.currentBackupVersionCheck=null}})()}internalCheckFromServer(){var e=this;return d(function*(){var t,r,s,o=null;try{o=yield e.backupManager.getServerBackupInfo()}catch(f){return e.logger.debug("Backup: error while checking server version: ".concat(f)),e.hasConfigurationProblem=!0,null}if(e.logger.debug("Got current backup version from server: ".concat((t=o)===null||t===void 0?void 0:t.version)),((r=o)===null||r===void 0?void 0:r.algorithm)!="m.megolm_backup.v1.curve25519-aes-sha2"){var _;return e.logger.info("Unsupported algorithm ".concat((_=o)===null||_===void 0?void 0:_.algorithm)),e.hasConfigurationProblem=!0,null}if(!((s=o)!==null&&s!==void 0&&s.version))return e.logger.info("No current key backup"),e.hasConfigurationProblem=!0,null;var a=yield e.backupManager.getActiveBackupVersion();if(a==null||o.version!=a)return e.logger.info("The current backup version on the server (".concat(o.version,") is not trusted. Version we are currently backing up to: ").concat(a)),e.hasConfigurationProblem=!0,null;var c=yield e.getBackupDecryptionKey();if(!(c!=null&&c.decryptionKey))return e.logger.debug("Not checking key backup for session (no decryption key)"),e.hasConfigurationProblem=!0,null;if(a!=c.backupVersion)return e.logger.debug("Version for which we have a decryption key (".concat(c.backupVersion,") doesn't match the version we are backing up to (").concat(a,")")),e.hasConfigurationProblem=!0,null;var g=o.auth_data;if(g.public_key!=c.decryptionKey.megolmV1PublicKey.publicKeyBase64)return e.logger.debug("Key backup on server does not match our decryption key"),e.hasConfigurationProblem=!0,null;var u=e.backupManager.createBackupDecryptor(c.decryptionKey);return e.hasConfigurationProblem=!1,e.configuration={decryptor:u,backupVersion:a},e.configuration})()}}function eg(n,e){if(!n.private_key_salt||!n.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return as(e,n.private_key_salt,n.private_key_iterations,n.private_key_bits)}function Yi(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(n,s).enumerable})),t.push.apply(t,r)}return t}function $i(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yi(Object(t),!0).forEach(function(r){h(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Yi(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}var Xi=[H.Sas,H.ScanQrCode,H.ShowQrCode,H.Reciprocate];class tg extends Qt{constructor(e,t,r,s,o,_,a){var c=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;super(),this.logger=e,this.olmMachine=t,this.http=r,this.userId=s,this.secretStorage=_,this.cryptoCallbacks=a,this.enableEncryptedStateEvents=c,h(this,"RECOVERY_KEY_DERIVATION_ITERATIONS",5e5),h(this,"_trustCrossSignedDevices",!0),h(this,"deviceIsolationMode",new Bs(!1)),h(this,"stopped",!1),h(this,"roomEncryptors",{}),h(this,"roomsPendingKeyBundles",new Map),h(this,"eventDecryptor",void 0),h(this,"keyClaimManager",void 0),h(this,"outgoingRequestProcessor",void 0),h(this,"crossSigningIdentity",void 0),h(this,"backupManager",void 0),h(this,"outgoingRequestsManager",void 0),h(this,"perSessionBackupDownloader",void 0),h(this,"dehydratedDeviceManager",void 0),h(this,"reemitter",new is(this)),h(this,"globalBlacklistUnverifiedDevices",!1),h(this,"_supportedVerificationMethods",Xi),this.outgoingRequestProcessor=new Ad(e,t,r),this.outgoingRequestsManager=new Xd(this.logger,t,this.outgoingRequestProcessor),this.keyClaimManager=new zd(t,this.outgoingRequestProcessor),this.backupManager=new Yd(e,t,r,this.outgoingRequestProcessor),this.perSessionBackupDownloader=new Zd(this.logger,this.olmMachine,this.http,this.backupManager),this.dehydratedDeviceManager=new Pd(this.logger,t,r,this.outgoingRequestProcessor,_),this.eventDecryptor=new rg(this.logger,t,this.perSessionBackupDownloader),this.reemitter.reEmit(this.backupManager,[K.KeyBackupStatus,K.KeyBackupSessionsRemaining,K.KeyBackupFailed,K.KeyBackupDecryptionKeyCached]),this.reemitter.reEmit(this.dehydratedDeviceManager,[K.DehydratedDeviceCreated,K.DehydratedDeviceUploaded,K.RehydrationStarted,K.RehydrationProgress,K.RehydrationCompleted,K.RehydrationError,K.DehydrationKeyCached,K.DehydratedDeviceRotationError]),this.crossSigningIdentity=new Wd(e,t,this.outgoingRequestProcessor,_),this.checkKeyBackupAndEnable()}getOlmMachineOrThrow(){if(this.stopped)throw new Ts;return this.olmMachine}set globalErrorOnUnknownDevices(e){}get globalErrorOnUnknownDevices(){return!1}stop(){this.stopped||(this.stopped=!0,this.keyClaimManager.stop(),this.backupManager.stop(),this.outgoingRequestsManager.stop(),this.perSessionBackupDownloader.stop(),this.dehydratedDeviceManager.stop(),this.olmMachine.close())}encryptEvent(e,t){var r=this;return d(function*(){var s=e.getRoomId(),o=r.roomEncryptors[s];if(!o)throw new Error("Cannot encrypt event in unconfigured room ".concat(s));yield o.encryptEvent(e,r.globalBlacklistUnverifiedDevices,r.deviceIsolationMode)})()}decryptEvent(e){var t=this;return d(function*(){var r=e.getRoomId();if(!r)throw new Error("to-device event was not decrypted in preprocessToDeviceMessages");return yield t.eventDecryptor.attemptEventDecryption(e,t.deviceIsolationMode)})()}getBackupDecryptor(e,t){var r=this;return d(function*(){if(!(t instanceof Uint8Array))throw new Error("getBackupDecryptor: expects Uint8Array");if(e.algorithm!="m.megolm_backup.v1.curve25519-aes-sha2")throw new Error("getBackupDecryptor: Unsupported algorithm ".concat(e.algorithm));var s=j.fromBase64(Qr(t));if(!Lr(s,e))throw new Error("getBackupDecryptor: key backup on server does not match the decryption key");return r.backupManager.createBackupDecryptor(s)})()}importBackedUpRoomKeys(e,t,r){var s=this;return d(function*(){return yield s.backupManager.importBackedUpRoomKeys(e,t,r)})()}maybeAcceptKeyBundle(e,t){var r=this;return d(function*(){var s=new sr(r.logger,"maybeAcceptKeyBundle(".concat(e,", ").concat(t,")"));s.info("Checking inviter cross-signing keys");var o=r.olmMachine.queryKeysForUsers([new v(t)]);yield r.outgoingRequestProcessor.makeOutgoingRequest(o);var _=yield r.olmMachine.getReceivedRoomKeyBundleData(new E(e),new v(t));if(!_)return s.info("No key bundle found for user"),!1;s.info("Fetching key bundle ".concat(_.url));var a=qs(r.http.opts.baseUrl,_.url,void 0,void 0,void 0,!1,!0,!0),c;try{var g=new URL(a);c=yield r.http.authedRequest(D.Get,g.pathname+g.search,{},void 0,{rawResponseBody:!0,prefix:""})}catch(u){throw s.warn("Error downloading encrypted bundle from ".concat(a,":"),u),u}s.info("Received blob of length ".concat(c.size));try{yield r.olmMachine.receiveRoomKeyBundle(_,new Uint8Array(yield c.arrayBuffer()))}catch(u){throw s.warn("Error receiving encrypted bundle:",u),u}return!0})()}markRoomAsPendingKeyBundle(e,t){this.roomsPendingKeyBundles.set(e,t)}getVersion(){var e=us();return"Rust SDK ".concat(e.matrix_sdk_crypto," (").concat(e.git_sha,"), Vodozemac ").concat(e.vodozemac)}setDeviceIsolationMode(e){this.deviceIsolationMode=e}isEncryptionEnabledInRoom(e){var t=this;return d(function*(){var r=yield t.olmMachine.getRoomSettings(new E(e));return!!r?.algorithm})()}isStateEncryptionEnabledInRoom(e){var t=this;return d(function*(){var r=yield t.olmMachine.getRoomSettings(new E(e));return!!r?.encryptStateEvents})()}getOwnDeviceKeys(){var e=this;return d(function*(){var t=e.olmMachine.identityKeys;return{ed25519:t.ed25519.toBase64(),curve25519:t.curve25519.toBase64()}})()}prepareToEncrypt(e){var t=this.roomEncryptors[e.roomId];t&&t.prepareForEncryption(this.globalBlacklistUnverifiedDevices,this.deviceIsolationMode)}forceDiscardSession(e){var t;return(t=this.roomEncryptors[e])===null||t===void 0?void 0:t.forceDiscardSession()}exportRoomKeys(){var e=this;return d(function*(){var t=yield e.olmMachine.exportRoomKeys(()=>!0);return JSON.parse(t)})()}exportRoomKeysAsJson(){var e=this;return d(function*(){return yield e.olmMachine.exportRoomKeys(()=>!0)})()}importRoomKeys(e,t){var r=this;return d(function*(){return yield r.backupManager.importRoomKeys(e,t)})()}importRoomKeysAsJson(e,t){var r=this;return d(function*(){return yield r.backupManager.importRoomKeysAsJson(e,t)})()}userHasCrossSigningKeys(){var e=arguments,t=this;return d(function*(){var r=e.length>0&&e[0]!==void 0?e[0]:t.userId,s=e.length>1&&e[1]!==void 0?e[1]:!1,o=yield t.olmMachine.trackedUsers(),_;for(var a of o)if(r===a.toString()){_=a;break}if(_!==void 0){if(r===t.userId){var c=t.olmMachine.queryKeysForUsers([_.clone()]);yield t.outgoingRequestProcessor.makeOutgoingRequest(c)}var g=yield t.olmMachine.getIdentity(_);return g?.free(),g!==void 0}else if(s){var u,f=yield t.downloadDeviceList(new Set([r])),S=(u=f.master_keys)===null||u===void 0?void 0:u[r];return S?!!Object.values(S.keys)[0]:!1}else return!1})()}getUserDeviceInfo(e){var t=arguments,r=this;return d(function*(){var s=t.length>1&&t[1]!==void 0?t[1]:!1,o=new Map,_=yield r.getOlmMachineOrThrow().trackedUsers(),a=new Set;_.forEach(f=>a.add(f.toString()));var c=new Set;for(var g of e)a.has(g)?o.set(g,yield r.getUserDevices(g)):c.add(g);if(s&&c.size>=1){var u=yield r.downloadDeviceList(c);Object.entries(u.device_keys).forEach(f=>{var[S,R]=f;return o.set(S,Ld(R))})}return o})()}getUserDevices(e){var t=this;return d(function*(){var r=new v(e),s=yield t.olmMachine.getUserDevices(r,1);try{var o=s.devices();try{return new Map(o.map(_=>[_.deviceId.toString(),Vd(_,r)]))}finally{o.forEach(_=>_.free())}}finally{s.free()}})()}downloadDeviceList(e){var t=this;return d(function*(){var r={device_keys:{}};return e.forEach(s=>r.device_keys[s]=[]),yield t.http.authedRequest(D.Post,"/_matrix/client/v3/keys/query",void 0,r,{prefix:""})})()}getTrustCrossSignedDevices(){return this._trustCrossSignedDevices}setTrustCrossSignedDevices(e){this._trustCrossSignedDevices=e}setDeviceVerified(e,t){var r=arguments,s=this;return d(function*(){var o=r.length>2&&r[2]!==void 0?r[2]:!0,_=yield s.olmMachine.getDevice(new v(e),new I(t));if(!_)throw new Error("Unknown device ".concat(e,"|").concat(t));try{yield _.setLocalTrust(o?en.Verified:en.Unset)}finally{_.free()}})()}crossSignDevice(e){var t=this;return d(function*(){var r=yield t.olmMachine.getDevice(new v(t.userId),new I(e));if(!r)throw new Error("Unknown device ".concat(e));try{var s=yield r.verify();yield t.outgoingRequestProcessor.makeOutgoingRequest(s)}finally{r.free()}})()}getDeviceVerificationStatus(e,t){var r=this;return d(function*(){var s=yield r.olmMachine.getDevice(new v(e),new I(t));if(!s)return null;try{return new Ms({signedByOwner:s.isCrossSignedByOwner(),crossSigningVerified:s.isCrossSigningTrusted(),localVerified:s.isLocallyTrusted(),trustCrossSignedDevices:r._trustCrossSignedDevices})}finally{s.free()}})()}getUserVerificationStatus(e){var t=this;return d(function*(){var r=yield t.getOlmMachineOrThrow().getIdentity(new v(e));if(r===void 0)return new Kn(!1,!1,!1);var s=r.isVerified(),o=r.wasPreviouslyVerified(),_=r instanceof qe?r.identityNeedsUserApproval():!1;return r.free(),new Kn(s,o,!1,_)})()}pinCurrentUserIdentity(e){var t=this;return d(function*(){var r=yield t.getOlmMachineOrThrow().getIdentity(new v(e));if(r===void 0)throw new Error("Cannot pin identity of unknown user");if(r instanceof Me)throw new Error("Cannot pin identity of own user");yield r.pinCurrentMasterKey()})()}withdrawVerificationRequirement(e){var t=this;return d(function*(){var r=yield t.getOlmMachineOrThrow().getIdentity(new v(e));if(r===void 0)throw new Error("Cannot withdraw verification of unknown user");yield r.withdrawVerification()})()}isCrossSigningReady(){var e=this;return d(function*(){var{privateKeysInSecretStorage:t,privateKeysCachedLocally:r}=yield e.getCrossSigningStatus(),s=!!r.masterKey&&!!r.selfSigningKey&&!!r.userSigningKey,o=yield e.getOwnIdentity();return!!(o!=null&&o.isVerified())&&(s||t)})()}getCrossSigningKeyId(){var e=arguments,t=this;return d(function*(){var r=e.length>0&&e[0]!==void 0?e[0]:Zt.Master,s=yield t.olmMachine.getIdentity(new v(t.userId));if(!s)return null;try{var o=yield t.olmMachine.crossSigningStatus(),_=o.hasMaster&&o.hasUserSigning&&o.hasSelfSigning;if(!_||!s.isVerified())return null;var a;switch(r){case Zt.Master:a=s.masterKey;break;case Zt.SelfSigning:a=s.selfSigningKey;break;case Zt.UserSigning:a=s.userSigningKey;break;default:return null}var c=JSON.parse(a);return Object.values(c.keys)[0]}finally{s.free()}})()}bootstrapCrossSigning(e){var t=this;return d(function*(){yield t.crossSigningIdentity.bootstrapCrossSigning(e)})()}isSecretStorageReady(){var e=this;return d(function*(){return(yield e.getSecretStorageStatus()).ready})()}getSecretStorageStatus(){var e=this;return d(function*(){var t=["m.cross_signing.master","m.cross_signing.user_signing","m.cross_signing.self_signing"],r=(yield e.backupManager.getActiveBackupVersion())!=null;r&&t.push("m.megolm_backup.v1");var s=yield e.secretStorage.getDefaultKeyId(),o={ready:!0,defaultKeyId:s,secretStorageKeyValidityMap:{}};for(var _ of t){var a=(yield e.secretStorage.isStored(_))||{},c=!!s&&s in a;o.secretStorageKeyValidityMap[_]=c,o.ready=o.ready&&c}return o})()}bootstrapSecretStorage(){var e=arguments,t=this;return d(function*(){var{createSecretStorageKey:r,setupNewSecretStorage:s,setupNewKeyBackup:o}=e.length>0&&e[0]!==void 0?e[0]:{},_=s||!(yield t.secretStorageHasAESKey());if(_){if(!r)throw new Error("unable to create a new secret storage key, createSecretStorageKey is not set");t.logger.info("bootstrapSecretStorage: creating new secret storage key");var a=yield r();if(!a)throw new Error("createSecretStorageKey() callback did not return a secret storage key");yield t.addSecretStorageKeyToSecretStorage(a)}var c=yield t.olmMachine.exportCrossSigningKeys(),g=c&&c.masterKey!==void 0&&c.self_signing_key!==void 0&&c.userSigningKey!==void 0;g&&(_||!(yield Gi(t.secretStorage)))&&(t.logger.info("bootstrapSecretStorage: cross-signing keys not yet exported; doing so now."),yield t.secretStorage.store("m.cross_signing.master",c.masterKey),yield t.secretStorage.store("m.cross_signing.user_signing",c.userSigningKey),yield t.secretStorage.store("m.cross_signing.self_signing",c.self_signing_key)),o?yield t.resetKeyBackup():yield t.saveBackupKeyToStorage()})()}saveBackupKeyToStorage(){var e=this;return d(function*(){var t=yield e.backupManager.getServerBackupInfo();if(!t||!t.version){e.logger.info("Not saving backup key to secret storage: no backup info");return}var r=yield e.olmMachine.getBackupKeys();if(!r.decryptionKey){e.logger.info("Not saving backup key to secret storage: no backup key");return}if(!Lr(r.decryptionKey,t)){e.logger.info("Not saving backup key to secret storage: decryption key does not match backup info");return}var s=r.decryptionKey.toBase64();yield e.secretStorage.store("m.megolm_backup.v1",s)})()}addSecretStorageKeyToSecretStorage(e){var t=this;return d(function*(){var r,s,o,_,a=yield t.secretStorage.addKey(In,{passphrase:(r=e.keyInfo)===null||r===void 0?void 0:r.passphrase,name:(s=e.keyInfo)===null||s===void 0?void 0:s.name,key:e.privateKey});yield t.secretStorage.setDefaultKeyId(a.keyId),(o=(_=t.cryptoCallbacks).cacheSecretStorageKey)===null||o===void 0||o.call(_,a.keyId,a.keyInfo,e.privateKey)})()}secretStorageHasAESKey(){var e=this;return d(function*(){var t=yield e.secretStorage.getKey();if(!t)return!1;var[,r]=t;return r.algorithm===In})()}getCrossSigningStatus(){var e=this;return d(function*(){var t=yield e.getOlmMachineOrThrow().getIdentity(new v(e.userId)),r=!!t?.masterKey&&!!t?.selfSigningKey&&!!t?.userSigningKey;t?.free();var s=yield Gi(e.secretStorage),o=yield e.getOlmMachineOrThrow().crossSigningStatus();return{publicKeysOnDevice:r,privateKeysInSecretStorage:s,privateKeysCachedLocally:{masterKey:!!o?.hasMaster,userSigningKey:!!o?.hasUserSigning,selfSigningKey:!!o?.hasSelfSigning}}})()}createRecoveryKeyFromPassphrase(e){var t=this;return d(function*(){if(e){var r=On(32),s=yield as(e,r,t.RECOVERY_KEY_DERIVATION_ITERATIONS);return{keyInfo:{passphrase:{algorithm:"m.pbkdf2",iterations:t.RECOVERY_KEY_DERIVATION_ITERATIONS,salt:r}},privateKey:s,encodedPrivateKey:Cn(s)}}else{var o=new Uint8Array(32);return globalThis.crypto.getRandomValues(o),{privateKey:o,encodedPrivateKey:Cn(o)}}})()}getEncryptionInfoForEvent(e){var t=this;return d(function*(){return t.eventDecryptor.getEncryptionInfoForEvent(e)})()}getVerificationRequestsToDeviceInProgress(e){var t=this.olmMachine.getVerificationRequests(new v(e));return t.filter(r=>r.roomId===void 0&&!r.isCancelled()).map(r=>this.makeVerificationRequest(r))}findVerificationRequestDMInProgress(e,t){if(!t)throw new Error("missing userId");var r=this.olmMachine.getVerificationRequests(new v(t)),s=r.find(o=>{var _;return((_=o.roomId)===null||_===void 0?void 0:_.toString())===e&&!o.isCancelled()});if(s)return this.makeVerificationRequest(s)}requestVerificationDM(e,t){var r=this;return d(function*(){var s=yield r.olmMachine.getIdentity(new v(e));if(!s)throw new Error("unknown userId ".concat(e));try{var o=r._supportedVerificationMethods.map(f=>ar(f)),_=yield s.verificationRequestContent(o),a=JSON.parse(_);a.msgtype="m.key.verification.request";var c=JSON.stringify(a),g=yield r.sendVerificationRequestContent(t,c),u=yield s.requestVerification(new E(t),new Ht(g),o);return r.makeVerificationRequest(u)}finally{s.free()}})()}sendVerificationRequestContent(e,t){var r=this;return d(function*(){var s=On(32),{event_id:o}=yield r.http.authedRequest(D.Put,"/_matrix/client/v3/rooms/".concat(encodeURIComponent(e),"/send/m.room.message/").concat(encodeURIComponent(s)),void 0,t,{prefix:""});return o})()}setSupportedVerificationMethods(e){this._supportedVerificationMethods=e??Xi}requestOwnUserVerification(){var e=this;return d(function*(){var t=yield e.olmMachine.getIdentity(new v(e.userId));if(t===void 0)throw new Error("cannot request verification for this device when there is no existing cross-signing key");try{var[r,s]=yield t.requestVerification(e._supportedVerificationMethods.map(ar));return yield e.outgoingRequestProcessor.makeOutgoingRequest(s),e.makeVerificationRequest(r)}finally{t.free()}})()}requestDeviceVerification(e,t){var r=this;return d(function*(){var s=yield r.olmMachine.getDevice(new v(e),new I(t));if(!s)throw new Error("Not a known device");try{var[o,_]=s.requestVerification(r._supportedVerificationMethods.map(ar));return yield r.outgoingRequestProcessor.makeOutgoingRequest(_),r.makeVerificationRequest(o)}finally{s.free()}})()}getSessionBackupPrivateKey(){var e=this;return d(function*(){var t=yield e.olmMachine.getBackupKeys();return t.decryptionKey?Hr(t.decryptionKey.toBase64()):null})()}storeSessionBackupPrivateKey(e,t){var r=this;return d(function*(){var s=Qr(e);if(!t)throw new Error("storeSessionBackupPrivateKey: version is required");yield r.backupManager.saveBackupDecryptionKey(j.fromBase64(s),t)})()}loadSessionBackupPrivateKeyFromSecretStorage(){var e=this;return d(function*(){var t=yield e.secretStorage.get("m.megolm_backup.v1");if(!t)throw new Error("loadSessionBackupPrivateKeyFromSecretStorage: missing decryption key in secret storage");var r=yield e.backupManager.getServerBackupInfo();if(!r||!r.version)throw new Error("loadSessionBackupPrivateKeyFromSecretStorage: unable to get backup version");var s=j.fromBase64(t);if(!Lr(s,r))throw new Error("loadSessionBackupPrivateKeyFromSecretStorage: decryption key does not match backup info");yield e.backupManager.saveBackupDecryptionKey(s,r.version)})()}getActiveSessionBackupVersion(){var e=this;return d(function*(){return yield e.backupManager.getActiveBackupVersion()})()}getKeyBackupInfo(){var e=this;return d(function*(){return(yield e.backupManager.getServerBackupInfo())||null})()}isKeyBackupTrusted(e){var t=this;return d(function*(){return yield t.backupManager.isKeyBackupTrusted(e)})()}checkKeyBackupAndEnable(){var e=this;return d(function*(){return yield e.backupManager.checkKeyBackupAndEnable(!0)})()}deleteKeyBackupVersion(e){var t=this;return d(function*(){yield t.backupManager.deleteKeyBackupVersion(e)})()}resetKeyBackup(){var e=this;return d(function*(){var t=yield e.backupManager.setupKeyBackup(r=>e.signObject(r));(yield e.secretStorageHasAESKey())&&(yield e.secretStorage.store("m.megolm_backup.v1",t.decryptionKey.toBase64())),e.checkKeyBackupAndEnable()})()}disableKeyStorage(){var e=this;return d(function*(){var t=yield e.getKeyBackupInfo();t!=null&&t.version?yield e.deleteKeyBackupVersion(t.version):e.logger.error("Can't delete key backup version: no version available"),yield e.deleteSecretStorage(),yield e.dehydratedDeviceManager.delete()})()}signObject(e){var t=this;return d(function*(){var r=new Map(Object.entries(e.signatures||{})),s=e.unsigned;delete e.signatures,delete e.unsigned;var o=r.get(t.userId)||{},_=Fd.stringify(e),a=yield t.olmMachine.sign(_),c=JSON.parse(a.asJSON());r.set(t.userId,$i($i({},o),c[t.userId])),s!==void 0&&(e.unsigned=s),e.signatures=Object.fromEntries(r.entries())})()}restoreKeyBackupWithPassphrase(e,t){var r=this;return d(function*(){var s=yield r.backupManager.getServerBackupInfo();if(!(s!=null&&s.version))throw new Error("No backup info available");var o=yield eg(s.auth_data,e);return yield r.storeSessionBackupPrivateKey(o,s.version),r.restoreKeyBackup(t)})()}restoreKeyBackup(e){var t=this;return d(function*(){var r=yield t.olmMachine.getBackupKeys(),{decryptionKey:s,backupVersion:o}=r;if(!s||!o)throw new Error("No decryption key found in crypto store");var _=Hr(s.toBase64()),a=yield t.backupManager.requestKeyBackupVersion(o);if(!a)throw new Error("Backup version to restore ".concat(o," not found on server"));var c=yield t.getBackupDecryptor(a,_);try{var g;return e==null||(g=e.progressCallback)===null||g===void 0||g.call(e,{stage:Ut.Fetch}),yield t.backupManager.restoreKeyBackup(o,c,e)}finally{c.free()}})()}isDehydrationSupported(){var e=this;return d(function*(){return yield e.dehydratedDeviceManager.isSupported()})()}startDehydration(){var e=arguments,t=this;return d(function*(){var r=e.length>0&&e[0]!==void 0?e[0]:{};if(!(yield t.isCrossSigningReady())||!(yield t.isSecretStorageReady()))throw new Error("Device dehydration requires cross-signing and secret storage to be set up");return yield t.dehydratedDeviceManager.start(r||{})})()}importSecretsBundle(e){var t=this;return d(function*(){var r=ne.from_json(e);yield t.getOlmMachineOrThrow().importSecretsBundle(r)})()}exportSecretsBundle(){var e=this;return d(function*(){var t=yield e.getOlmMachineOrThrow().exportSecretsBundle(),r=t.to_json();return t.free(),r})()}encryptToDeviceMessages(e,t,r){var s=this;return d(function*(){var o=new sr(s.logger,"encryptToDeviceMessages"),_=new Set(t.map(c=>{var{userId:g}=c;return g}));yield s.keyClaimManager.ensureSessionsForUsers(o,Array.from(_).map(c=>new v(c)));var a={batch:[],eventType:J.RoomMessageEncrypted};return yield Promise.all(t.map((function(){var c=d(function*(g){var{userId:u,deviceId:f}=g,S=yield s.olmMachine.getDevice(new v(u),new I(f));if(S){var R=JSON.parse(yield S.encryptToDeviceEvent(e,r));a.batch.push({deviceId:f,userId:u,payload:R})}else s.logger.warn("encryptToDeviceMessages: unknown device ".concat(u,":").concat(f))});return function(g){return c.apply(this,arguments)}})())),a})()}resetEncryption(e){var t=this;return d(function*(){t.logger.debug("resetEncryption: resetting encryption"),t.dehydratedDeviceManager.delete(),yield t.backupManager.deleteAllKeyBackupVersions(),yield t.deleteSecretStorage(),yield t.crossSigningIdentity.bootstrapCrossSigning({setupNewCrossSigning:!0,authUploadDeviceSigningKeys:e}),yield t.resetKeyBackup(),t.logger.debug("resetEncryption: ended")})()}deleteSecretStorage(){var e=this;return d(function*(){yield e.secretStorage.store("m.cross_signing.master",null),yield e.secretStorage.store("m.cross_signing.self_signing",null),yield e.secretStorage.store("m.cross_signing.user_signing",null),yield e.secretStorage.store("m.megolm_backup.v1",null);var t=yield e.secretStorage.getDefaultKeyId();t&&(yield e.secretStorage.store("m.secret_storage.key.".concat(t),null)),yield e.secretStorage.setDefaultKeyId(null)})()}shareRoomHistoryWithUser(e,t){var r=this;return d(function*(){var s=new sr(r.logger,"shareRoomHistoryWithUser(".concat(e,", ").concat(t,")")),o=yield r.getOwnIdentity();if(!(o!=null&&o.isVerified())){s.warn("Not sharing message history as the current device is not verified by our cross-signing identity");return}s.info("Sharing message history");var _=yield r.getOlmMachineOrThrow().buildRoomKeyBundle(new E(e));if(!_){s.info("No keys to share");return}var a=yield r.http.uploadContent(_.encryptedData);s.info("Uploaded encrypted key blob: ".concat(JSON.stringify(a)));var c=r.getOlmMachineOrThrow().queryKeysForUsers([new v(t)]);yield r.outgoingRequestProcessor.makeOutgoingRequest(c),yield r.keyClaimManager.ensureSessionsForUsers(s,[new v(t)]);var g=yield r.getOlmMachineOrThrow().shareRoomKeyBundleData(new v(t),new E(e),a.content_uri,_.mediaEncryptionInfo,M.identityBasedStrategy());for(var u of g)yield r.outgoingRequestProcessor.makeOutgoingRequest(u)})()}receiveSyncChanges(e){var t=this;return d(function*(){var{events:r,oneTimeKeysCounts:s=new Map,unusedFallbackKeys:o,devices:_=new ot}=e;return yield t.olmMachine.receiveSyncChanges(r?JSON.stringify(r):"[]",_,s,o)})()}preprocessToDeviceMessages(e){var t=this;return d(function*(){var r=yield t.receiveSyncChanges({events:e}),s=[],o=function*(){var c=JSON.parse(_.rawEvent);if(c.type===J.KeyVerificationRequest){var g=c.sender,u=c.content.transaction_id;u&&g&&t.onIncomingKeyVerificationRequest(g,u)}switch(_.type){case Pt.Decrypted:{var f,S=_.encryptionInfo;s.push({message:c,encryptionInfo:{sender:S.sender.toString(),senderDevice:(f=S.senderDevice)===null||f===void 0?void 0:f.toString(),senderCurve25519KeyBase64:S.senderCurve25519Key,senderVerified:S.isSenderVerified()}}),ig(c)&&t.roomsPendingKeyBundles.has(c.content.room_id)&&t.maybeAcceptKeyBundle(c.content.room_id,t.roomsPendingKeyBundles.get(c.content.room_id)).then(R=>{R&&t.roomsPendingKeyBundles.delete(c.content.room_id)},R=>{t.logger.error("Error attempting to download key bundle for room ".concat(c.content.room_id)),t.logger.error(R)});break}case Pt.PlainText:{s.push({message:c,encryptionInfo:null});break}case Pt.UnableToDecrypt:break;case Pt.Invalid:break}};for(var _ of r)yield*o();return s})()}processKeyCounts(e,t){var r=this;return d(function*(){var s=e&&new Map(Object.entries(e)),o=t&&new Set(t);(s!==void 0||o!==void 0)&&(yield r.receiveSyncChanges({oneTimeKeysCounts:s,unusedFallbackKeys:o}))})()}processDeviceLists(e){var t=this;return d(function*(){var r,s,o=new ot((r=e.changed)===null||r===void 0?void 0:r.map(_=>new v(_)),(s=e.left)===null||s===void 0?void 0:s.map(_=>new v(_)));yield t.receiveSyncChanges({devices:o})})()}onCryptoEvent(e,t){var r=this;return d(function*(){var s=t.getContent(),o=new re;if(s.algorithm==="m.megolm.v1.aes-sha2")o.algorithm=at.MegolmV1AesSha2;else{r.logger.warn("Room ".concat(e.roomId,": ignoring crypto event with invalid algorithm ").concat(s.algorithm));return}s["io.element.msc4362.encrypt_state_events"]&&r.enableEncryptedStateEvents&&(r.logger.info("crypto Enabling state event encryption..."),o.encryptStateEvents=!0);try{o.sessionRotationPeriodMs=s.rotation_period_ms,o.sessionRotationPeriodMessages=s.rotation_period_msgs,yield r.olmMachine.setRoomSettings(new E(e.roomId),o)}catch(a){r.logger.warn("Room ".concat(e.roomId,": ignoring crypto event which caused error: ").concat(a));return}var _=r.roomEncryptors[e.roomId];_?_.onCryptoEvent(s):r.roomEncryptors[e.roomId]=new Ud(r.logger.getChild("[".concat(e.roomId," encryption]")),r.olmMachine,r.keyClaimManager,r.outgoingRequestsManager,e,s)})()}onSyncCompleted(e){this.outgoingRequestsManager.doProcessOutgoingRequests().catch(t=>{this.logger.warn("onSyncCompleted: Error processing outgoing requests",t)})}markAllTrackedUsersAsDirty(){var e=this;return d(function*(){yield e.olmMachine.markAllTrackedUsersAsDirty()})()}onIncomingKeyVerificationRequest(e,t){var r=this.olmMachine.getVerificationRequest(new v(e),t);r?this.emit(K.VerificationRequestReceived,this.makeVerificationRequest(r)):this.logger.info("Ignoring just-received verification request ".concat(t," which did not start a rust-side verification"))}makeVerificationRequest(e){return new Hd(this.logger,this.olmMachine,e,this.outgoingRequestProcessor,this._supportedVerificationMethods)}onRoomMembership(e,t,r){var s=this.roomEncryptors[e.getRoomId()];s&&s.onRoomMembership(t)}onRoomKeysUpdated(e){var t=this;return d(function*(){for(var r of e)t.onRoomKeyUpdated(r);t.backupManager.maybeUploadKey()})()}onRoomKeyUpdated(e){var t=this;if(!this.stopped){this.logger.debug("Got update for session ".concat(e.sessionId," from sender ").concat(e.senderKey.toBase64()," in ").concat(e.roomId.toString()));var r=this.eventDecryptor.getEventsPendingRoomKey(e.roomId.toString(),e.sessionId);if(r.length!==0){this.logger.debug("Retrying decryption on events:",r.map(_=>"".concat(_.getId())));var s=function(a){a.attemptDecryption(t,{isRetry:!0}).catch(c=>{t.logger.info("Still unable to decrypt event ".concat(a.getId()," after receiving key"))})};for(var o of r)s(o)}}}onRoomKeysWithheld(e){var t=this;return d(function*(){for(var r of e){t.logger.debug("Got withheld message for session ".concat(r.sessionId," in ").concat(r.roomId.toString()));var s=t.eventDecryptor.getEventsPendingRoomKey(r.roomId.toString(),r.sessionId);if(s.length===0)return;t.logger.debug("Retrying decryption on events:",s.map(_=>"".concat(_.getId())));for(var o of s)o.attemptDecryption(t,{isRetry:!0}).catch(_=>{})}})()}onUserIdentityUpdated(e){var t=this;return d(function*(){var r=yield t.getUserVerificationStatus(e.toString());t.emit(K.UserTrustStatusChanged,e.toString(),r),e.toString()===t.userId&&(t.emit(K.KeysChanged,{}),yield t.checkKeyBackupAndEnable())})()}onDevicesUpdated(e){var t=this;return d(function*(){t.emit(K.WillUpdateDevices,e,!1),t.emit(K.DevicesUpdated,e,!1)})()}handleSecretReceived(e,t){var r=this;return d(function*(){return r.logger.debug("onReceiveSecret: Received secret ".concat(e)),e==="m.megolm_backup.v1"?yield r.backupManager.handleBackupSecretReceived(t):!1})()}checkSecrets(e){var t=this;return d(function*(){var r=yield t.olmMachine.getSecretsFromInbox(e);for(var s of r)if(yield t.handleSecretReceived(e,s))break;yield t.olmMachine.deleteSecretsFromInbox(e)})()}onLiveEventFromSync(e){var t=this;return d(function*(){if(!(e.isState()||e.getUnsigned().transaction_id)){var r=(function(){var a=d(function*(c){Qd(e)&&(yield t.onKeyVerificationEvent(c))});return function(g){return a.apply(this,arguments)}})();if(e.isDecryptionFailure()||e.isEncrypted()){var s=3e5,o=setTimeout(()=>e.off(br.Decrypted,_),s),_=(a,c)=>{c||(clearTimeout(o),e.off(br.Decrypted,_),r(a))};e.on(br.Decrypted,_)}else yield r(e)}})()}onKeyVerificationEvent(e){var t=this;return d(function*(){var r=e.getRoomId(),s=e.getSender();if(!r)throw new Error("missing roomId in the event");if(!s)throw new Error("missing sender in the event");t.logger.debug("Incoming verification event ".concat(e.getId()," type ").concat(e.getType()," from ").concat(e.getSender()));var o=e.getType()===J.RoomMessage&&e.getContent().msgtype===ss.KeyVerificationRequest;if(o){var _=t.getOlmMachineOrThrow().queryKeysForUsers([new v(s)]);yield t.outgoingRequestProcessor.makeOutgoingRequest(_)}yield t.getOlmMachineOrThrow().receiveVerificationEvent(JSON.stringify({event_id:e.getId(),type:e.getType(),sender:s,state_key:e.getStateKey(),content:e.getContent(),origin_server_ts:e.getTs()}),new E(r)),o&&t.onIncomingKeyVerificationRequest(s,e.getId()),t.outgoingRequestsManager.doProcessOutgoingRequests().catch(a=>{t.logger.warn("onKeyVerificationRequest: Error processing outgoing requests",a)})})()}getOwnIdentity(){var e=this;return d(function*(){return yield e.olmMachine.getIdentity(new v(e.userId))})()}}class rg{constructor(e,t,r){this.logger=e,this.olmMachine=t,this.perSessionBackupDownloader=r,h(this,"eventsPendingKey",new Dn(()=>new Dn(()=>new Set)))}attemptEventDecryption(e,t){var r=this;return d(function*(){r.addEventToPendingList(e);var s;switch(t.kind){case gr.AllDevicesIsolationMode:s=nn.Untrusted;break;case gr.OnlySignedDevicesIsolationMode:s=nn.CrossSignedOrLegacy;break}try{var o,_=yield r.olmMachine.decryptRoomEvent(Zi(e),new E(e.getRoomId()),new Ke(s));return r.removeEventFromPendingList(e),{clearEvent:JSON.parse(_.event),claimedEd25519Key:_.senderClaimedEd25519Key,senderCurve25519Key:_.senderCurve25519Key,keyForwardedBy:(o=_.forwarder)===null||o===void 0?void 0:o.toString()}}catch(a){if(a instanceof le)r.onMegolmDecryptionError(e,a,yield r.perSessionBackupDownloader.getServerBackupInfo());else throw new G(z.UNKNOWN_ERROR,"Unknown error")}})()}onMegolmDecryptionError(e,t,r){var s=e.getWireContent(),o={sender_key:s.sender_key,session_id:s.session_id};if(t.code===se.MissingRoomKey||t.code===se.UnknownMessageIndex){this.perSessionBackupDownloader.onDecryptionKeyMissingError(e.getRoomId(),s.session_id);var _=e.getMembershipAtEvent();if(_&&_!==dr.Join&&_!==dr.Invite)throw new G(z.HISTORICAL_MESSAGE_USER_NOT_JOINED,"This message was sent when we were not a member of the room.",o);if(e.getTs()<=this.olmMachine.deviceCreationTimeMs)throw r===null?new G(z.HISTORICAL_MESSAGE_NO_KEY_BACKUP,"This message was sent before this device logged in, and there is no key backup on the server.",o):this.perSessionBackupDownloader.isKeyBackupDownloadConfigured()?new G(z.HISTORICAL_MESSAGE_WORKING_BACKUP,"This message was sent before this device logged in. Key backup is working, but we still do not (yet) have the key.",o):new G(z.HISTORICAL_MESSAGE_BACKUP_UNCONFIGURED,"This message was sent before this device logged in, and key backup is not working.",o)}if(t.maybe_withheld){var a=t.maybe_withheld==="The sender has disabled encrypting to unverified devices."?z.MEGOLM_KEY_WITHHELD_FOR_UNVERIFIED_DEVICE:z.MEGOLM_KEY_WITHHELD;throw new G(a,t.maybe_withheld,o)}switch(t.code){case se.MissingRoomKey:throw new G(z.MEGOLM_UNKNOWN_INBOUND_SESSION_ID,"The sender's device has not sent us the keys for this message.",o);case se.UnknownMessageIndex:throw new G(z.OLM_UNKNOWN_MESSAGE_INDEX,"The sender's device has not sent us the keys for this message at this index.",o);case se.SenderIdentityVerificationViolation:throw this.removeEventFromPendingList(e),new G(z.SENDER_IDENTITY_PREVIOUSLY_VERIFIED,"The sender identity is unverified, but was previously verified.");case se.UnknownSenderDevice:throw this.removeEventFromPendingList(e),new G(z.UNKNOWN_SENDER_DEVICE,"The sender device is not known.");case se.UnsignedSenderDevice:throw this.removeEventFromPendingList(e),new G(z.UNSIGNED_SENDER_DEVICE,"The sender identity is not cross-signed.");default:throw new G(z.UNKNOWN_ERROR,t.description,o)}}getEncryptionInfoForEvent(e){var t=this;return d(function*(){if(!e.getClearContent()||e.isDecryptionFailure())return null;if(e.status!==null)return{shieldColour:or.NONE,shieldReason:null};var r=yield t.olmMachine.getRoomEventEncryptionInfo(Zi(e),new E(e.getRoomId()));return ng(t.logger,r)})()}getEventsPendingRoomKey(e,t){var r=this.eventsPendingKey.get(e);if(!r)return[];var s=r.get(t);return s?[...s]:[]}addEventToPendingList(e){var t=e.getRoomId();if(t){var r=this.eventsPendingKey.getOrCreate(t),s=r.getOrCreate(e.getWireContent().session_id);s.add(e)}}removeEventFromPendingList(e){var t=e.getRoomId();if(t){var r=this.eventsPendingKey.getOrCreate(t);if(r){var s=r.get(e.getWireContent().session_id);s&&(s.delete(e),s.size===0&&(r.delete(e.getWireContent().session_id),r.size===0&&this.eventsPendingKey.delete(t)))}}}}function Zi(n){return JSON.stringify({event_id:n.getId(),type:n.getWireType(),sender:n.getSender(),state_key:n.getStateKey(),content:n.getWireContent(),origin_server_ts:n.getTs()})}function ng(n,e){if(e===void 0)return null;var t=e.shieldState(!1),r;switch(t.color){case tn.Grey:r=or.GREY;break;case tn.None:r=or.NONE;break;default:r=or.RED}var s;switch(t.code){case void 0:case null:s=null;break;case Se.AuthenticityNotGuaranteed:s=he.AUTHENTICITY_NOT_GUARANTEED;break;case Se.UnknownDevice:s=he.UNKNOWN_DEVICE;break;case Se.UnsignedDevice:s=he.UNSIGNED_DEVICE;break;case Se.UnverifiedIdentity:s=he.UNVERIFIED_IDENTITY;break;case Se.VerificationViolation:s=he.VERIFICATION_VIOLATION;break;case Se.MismatchedSender:s=he.MISMATCHED_SENDER;break;default:s=he.UNKNOWN;break}return{shieldColour:r,shieldReason:s}}function ig(n){return n.type==="io.element.msc4268.room_key_bundle"&&typeof n.content.room_id=="string"}var an="migrationState",F=(function(n){return n[n.NOT_STARTED=0]="NOT_STARTED",n[n.INITIAL_DATA_MIGRATED=1]="INITIAL_DATA_MIGRATED",n[n.OLM_SESSIONS_MIGRATED=2]="OLM_SESSIONS_MIGRATED",n[n.MEGOLM_SESSIONS_MIGRATED=3]="MEGOLM_SESSIONS_MIGRATED",n[n.ROOM_SETTINGS_MIGRATED=4]="ROOM_SETTINGS_MIGRATED",n[n.INITIAL_OWN_KEY_QUERY_DONE=5]="INITIAL_OWN_KEY_QUERY_DONE",n})({}),qt=50;function es(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(n,s).enumerable})),t.push.apply(t,r)}return t}function ts(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?es(Object(t),!0).forEach(function(r){h(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):es(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function nr(n,e){return encodeURIComponent(n)+"/"+encodeURIComponent(e)}function sg(n){var e=n.split("/"),t=decodeURIComponent(e[0]),r=decodeURIComponent(e[1]);return{senderKey:t,sessionId:r}}class ws{constructor(){h(this,"migrationState",F.NOT_STARTED),h(this,"account",null),h(this,"crossSigningKeys",null),h(this,"privateKeys",{}),h(this,"sessions",{}),h(this,"inboundGroupSessions",{}),h(this,"inboundGroupSessionsWithheld",{}),h(this,"rooms",{}),h(this,"sessionsNeedingBackup",{})}containsData(){var e=this;return d(function*(){return e.account!==null})()}startup(){var e=this;return d(function*(){return e})()}deleteAllData(){return Promise.resolve()}getMigrationState(){var e=this;return d(function*(){return e.migrationState})()}setMigrationState(e){var t=this;return d(function*(){t.migrationState=e})()}getAccount(e,t){t(this.account)}storeAccount(e,t){this.account=t}getCrossSigningKeys(e,t){t(this.crossSigningKeys)}getSecretStorePrivateKey(e,t,r){var s=this.privateKeys[r];t(s||null)}storeSecretStorePrivateKey(e,t,r){this.privateKeys[t]=r}countEndToEndSessions(e,t){var r=0;for(var s of Object.values(this.sessions))r+=Object.keys(s).length;t(r)}getEndToEndSession(e,t,r,s){var o=this.sessions[e]||{};s(o[t]||null)}getEndToEndSessions(e,t,r){r(this.sessions[e]||{})}storeEndToEndSession(e,t,r,s){var o=this.sessions[e];o===void 0&&(o={},this.sessions[e]=o),Fs(o,t,r)}getEndToEndSessionsBatch(){var e=this;return d(function*(){var t=[];for(var r of Object.values(e.sessions))for(var s of Object.values(r))if(t.push(s),t.length>=qt)return t;return t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return d(function*(){for(var{deviceKey:r,sessionId:s}of e){var o=t.sessions[r]||{};delete o[s],Object.keys(o).length===0&&delete t.sessions[r]}})()}getEndToEndInboundGroupSession(e,t,r,s){var o=nr(e,t);s(this.inboundGroupSessions[o]||null,this.inboundGroupSessionsWithheld[o]||null)}storeEndToEndInboundGroupSession(e,t,r,s){var o=nr(e,t);this.inboundGroupSessions[o]=r}countEndToEndInboundGroupSessions(){var e=this;return d(function*(){return Object.keys(e.inboundGroupSessions).length})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return d(function*(){var t=[];for(var[r,s]of Object.entries(e.inboundGroupSessions))if(t.push(ts(ts({},sg(r)),{},{sessionData:s,needsBackup:r in e.sessionsNeedingBackup})),t.length>=qt)return t;return t.length===0?null:t})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return d(function*(){for(var{senderKey:r,sessionId:s}of e){var o=nr(r,s);delete t.inboundGroupSessions[o]}})()}getEndToEndRooms(e,t){t(this.rooms)}markSessionsNeedingBackup(e){for(var t of e){var r=nr(t.senderKey,t.sessionId);this.sessionsNeedingBackup[r]=!0}return Promise.resolve()}doTxn(e,t,r){return Promise.resolve(r(null))}}var Y="crypto.",rs=Y+"migration",Gr=Y+"account",og=Y+"cross_signing_keys",cr=Y+"inboundgroupsessions/",_g=Y+"inboundgroupsessions.withheld/",ag=Y+"rooms/",Wr=Y+"sessionsneedingbackup";function We(n){return Y+"sessions/"+n}function Jr(n,e){return cr+n+"/"+e}function cg(n,e){return _g+n+"/"+e}function dg(n){return ag+n}class Sn extends ws{static exists(e){for(var t=e.length,r=0;r<t;r++){var s;if((s=e.key(r))!==null&&s!==void 0&&s.startsWith(Y))return!0}return!1}constructor(e){super(),this.store=e}containsData(){var e=this;return d(function*(){return Sn.exists(e.store)})()}getMigrationState(){var e=this;return d(function*(){var t;return(t=W(e.store,rs))!==null&&t!==void 0?t:F.NOT_STARTED})()}setMigrationState(e){var t=this;return d(function*(){ve(t.store,rs,e)})()}countEndToEndSessions(e,t){for(var r=0,s=0;s<this.store.length;++s){var o=this.store.key(s);if(o!=null&&o.startsWith(We(""))){var _=W(this.store,o);r+=Object.keys(_??{}).length}}t(r)}_getEndToEndSessions(e){var t=W(this.store,We(e)),r={};for(var[s,o]of Object.entries(t||{}))typeof o=="string"?r[s]={session:o}:r[s]=o;return r}getEndToEndSession(e,t,r,s){var o,_=this._getEndToEndSessions(e);s((o=_[t])!==null&&o!==void 0?o:{})}getEndToEndSessions(e,t,r){var s;r((s=this._getEndToEndSessions(e))!==null&&s!==void 0?s:{})}storeEndToEndSession(e,t,r,s){var o=this._getEndToEndSessions(e)||{};o[t]=r,ve(this.store,We(e),o)}getEndToEndSessionsBatch(){var e=this;return d(function*(){for(var t=[],r=0;r<e.store.length;++r){var s;if((s=e.store.key(r))!==null&&s!==void 0&&s.startsWith(We(""))){var o=e.store.key(r).split("/")[1];for(var _ of Object.values(e._getEndToEndSessions(o)))if(t.push(_),t.length>=qt)return t}}return t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return d(function*(){for(var{deviceKey:r,sessionId:s}of e){var o=t._getEndToEndSessions(r)||{};delete o[s],Object.keys(o).length===0?t.store.removeItem(We(r)):ve(t.store,We(r),o)}})()}getEndToEndInboundGroupSession(e,t,r,s){s(W(this.store,Jr(e,t)),W(this.store,cg(e,t)))}storeEndToEndInboundGroupSession(e,t,r,s){ve(this.store,Jr(e,t),r)}countEndToEndInboundGroupSessions(){var e=this;return d(function*(){for(var t=0,r=0;r<e.store.length;++r){var s=e.store.key(r);s!=null&&s.startsWith(cr)&&(t+=1)}return t})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return d(function*(){for(var t=W(e.store,Wr)||{},r=[],s=0;s<e.store.length;++s){var o=e.store.key(s);if(o!=null&&o.startsWith(cr)){var _=o.slice(cr.length);if(r.push({senderKey:_.slice(0,43),sessionId:_.slice(44),sessionData:W(e.store,o),needsBackup:_ in t}),r.length>=qt)return r}}return r.length===0?null:r})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return d(function*(){for(var{senderKey:r,sessionId:s}of e){var o=Jr(r,s);t.store.removeItem(o)}})()}getEndToEndRooms(e,t){for(var r={},s=dg(""),o=0;o<this.store.length;++o){var _=this.store.key(o);if(_!=null&&_.startsWith(s)){var a=_.slice(s.length);r[a]=W(this.store,_)}}t(r)}markSessionsNeedingBackup(e){var t=W(this.store,Wr)||{};for(var r of e)t[r.senderKey+"/"+r.sessionId]=!0;return ve(this.store,Wr,t),Promise.resolve()}deleteAllData(){return this.store.removeItem(Gr),Promise.resolve()}getAccount(e,t){var r=W(this.store,Gr);t(r)}storeAccount(e,t){ve(this.store,Gr,t)}getCrossSigningKeys(e,t){var r=W(this.store,og);t(r)}getSecretStorePrivateKey(e,t,r){var s=W(this.store,Y+"ssss_cache.".concat(r));t(s)}storeSecretStorePrivateKey(e,t,r){ve(this.store,Y+"ssss_cache.".concat(t),r)}doTxn(e,t,r){return Promise.resolve(r(null))}}function W(n,e){try{return JSON.parse(n.getItem(e))}catch(t){q.log("Error: Failed to get key %s: %s",e,t.message),q.log(t.stack)}return null}function ve(n,e,t){n.setItem(e,JSON.stringify(t))}class gg{constructor(e){this.db=e,h(this,"nextTxnId",0),e.onversionchange=()=>{q.log("versionchange for indexeddb ".concat(this.db.name,": closing")),e.close()}}containsData(){return d(function*(){throw Error("Not implemented for Backend")})()}startup(){var e=this;return d(function*(){return e})()}deleteAllData(){return d(function*(){throw Error("This is not implemented, call IDBFactory::deleteDatabase(dbName) instead.")})()}getMigrationState(){var e=this;return d(function*(){var t=F.NOT_STARTED;return yield e.doTxn("readonly",[O.STORE_ACCOUNT],r=>{var s=r.objectStore(O.STORE_ACCOUNT),o=s.get(an);o.onsuccess=()=>{var _;t=(_=o.result)!==null&&_!==void 0?_:F.NOT_STARTED}}),t})()}setMigrationState(e){var t=this;return d(function*(){yield t.doTxn("readwrite",[O.STORE_ACCOUNT],r=>{var s=r.objectStore(O.STORE_ACCOUNT);s.put(e,an)})})()}getAccount(e,t){var r=e.objectStore("account"),s=r.get("-");s.onsuccess=function(){try{t(s.result||null)}catch(o){P(e,o)}}}storeAccount(e,t){var r=e.objectStore("account");r.put(t,"-")}getCrossSigningKeys(e,t){var r=e.objectStore("account"),s=r.get("crossSigningKeys");s.onsuccess=function(){try{t(s.result||null)}catch(o){P(e,o)}}}getSecretStorePrivateKey(e,t,r){var s=e.objectStore("account"),o=s.get("ssss_cache:".concat(r));o.onsuccess=function(){try{t(o.result||null)}catch(_){P(e,_)}}}storeSecretStorePrivateKey(e,t,r){var s=e.objectStore("account");s.put(r,"ssss_cache:".concat(t))}countEndToEndSessions(e,t){var r=e.objectStore("sessions"),s=r.count();s.onsuccess=function(){try{t(s.result)}catch(o){P(e,o)}}}getEndToEndSessions(e,t,r){var s=t.objectStore("sessions"),o=s.index("deviceKey"),_=o.openCursor(e),a={};_.onsuccess=function(){var c=_.result;if(c)a[c.value.sessionId]={session:c.value.session,lastReceivedMessageTs:c.value.lastReceivedMessageTs},c.continue();else try{r(a)}catch(g){P(t,g)}}}getEndToEndSession(e,t,r,s){var o=r.objectStore("sessions"),_=o.get([e,t]);_.onsuccess=function(){try{_.result?s({session:_.result.session,lastReceivedMessageTs:_.result.lastReceivedMessageTs}):s(null)}catch(a){P(r,a)}}}storeEndToEndSession(e,t,r,s){var o=s.objectStore("sessions");o.put({deviceKey:e,sessionId:t,session:r.session,lastReceivedMessageTs:r.lastReceivedMessageTs})}getEndToEndSessionsBatch(){var e=this;return d(function*(){var t=[];return yield e.doTxn("readonly",[O.STORE_SESSIONS],r=>{var s=r.objectStore(O.STORE_SESSIONS),o=s.openCursor();o.onsuccess=function(){try{var _=o.result;_&&(t.push(_.value),t.length<qt&&_.continue())}catch(a){P(r,a)}}}),t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return d(function*(){yield t.doTxn("readwrite",[O.STORE_SESSIONS],(function(){var r=d(function*(s){try{var o=s.objectStore(O.STORE_SESSIONS),_=function*(){var u=o.delete([a,c]);yield new Promise(f=>{u.onsuccess=f})};for(var{deviceKey:a,sessionId:c}of e)yield*_()}catch(g){P(s,g)}});return function(s){return r.apply(this,arguments)}})())})()}getEndToEndInboundGroupSession(e,t,r,s){var o=!1,_=!1,a=r.objectStore("inbound_group_sessions"),c=a.get([e,t]);c.onsuccess=function(){try{c.result?o=c.result.session:o=null,_!==!1&&s(o,_)}catch(f){P(r,f)}};var g=r.objectStore("inbound_group_sessions_withheld"),u=g.get([e,t]);u.onsuccess=function(){try{u.result?_=u.result.session:_=null,o!==!1&&s(o,_)}catch(f){P(r,f)}}}storeEndToEndInboundGroupSession(e,t,r,s){var o=s.objectStore("inbound_group_sessions");o.put({senderCurve25519Key:e,sessionId:t,session:r})}countEndToEndInboundGroupSessions(){var e=this;return d(function*(){var t=0;return yield e.doTxn("readonly",[O.STORE_INBOUND_GROUP_SESSIONS],r=>{var s=r.objectStore(O.STORE_INBOUND_GROUP_SESSIONS),o=s.count();o.onsuccess=()=>{t=o.result}}),t})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return d(function*(){var t=[];return yield e.doTxn("readonly",[O.STORE_INBOUND_GROUP_SESSIONS,O.STORE_BACKUP],r=>{var s=r.objectStore(O.STORE_INBOUND_GROUP_SESSIONS),o=r.objectStore(O.STORE_BACKUP),_=s.openCursor();_.onsuccess=function(){try{var a=_.result;if(a){var c=o.get(a.key);c.onsuccess=()=>{t.push({senderKey:a.value.senderCurve25519Key,sessionId:a.value.sessionId,sessionData:a.value.session,needsBackup:c.result!==void 0}),t.length<qt&&a.continue()}}}catch(g){P(r,g)}}}),t.length===0?null:t})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return d(function*(){yield t.doTxn("readwrite",[O.STORE_INBOUND_GROUP_SESSIONS],(function(){var r=d(function*(s){try{var o=s.objectStore(O.STORE_INBOUND_GROUP_SESSIONS),_=function*(){var u=o.delete([a,c]);yield new Promise(f=>{u.onsuccess=f})};for(var{senderKey:a,sessionId:c}of e)yield*_()}catch(g){P(s,g)}});return function(s){return r.apply(this,arguments)}})())})()}getEndToEndDeviceData(e,t){var r=e.objectStore("device_data"),s=r.get("-");s.onsuccess=function(){try{t(s.result||null)}catch(o){P(e,o)}}}getEndToEndRooms(e,t){var r={},s=e.objectStore("rooms"),o=s.openCursor();o.onsuccess=function(){var _=o.result;if(_)r[_.key]=_.value,_.continue();else try{t(r)}catch(a){P(e,a)}}}markSessionsNeedingBackup(e,t){var r=this;return d(function*(){t||(t=r.db.transaction("sessions_needing_backup","readwrite"));var s=t.objectStore("sessions_needing_backup");yield Promise.all(e.map(o=>new Promise((_,a)=>{var c=s.put({senderCurve25519Key:o.senderKey,sessionId:o.sessionId});c.onsuccess=_,c.onerror=a})))})()}doTxn(e,t,r){var s=this.db.transaction(t,e),o=pg(s),_=r(s);return o.then(()=>_)}}var hs=[n=>{lg(n)},n=>{n.createObjectStore("account")},n=>{var e=n.createObjectStore("sessions",{keyPath:["deviceKey","sessionId"]});e.createIndex("deviceKey","deviceKey")},n=>{n.createObjectStore("inbound_group_sessions",{keyPath:["senderCurve25519Key","sessionId"]})},n=>{n.createObjectStore("device_data")},n=>{n.createObjectStore("rooms")},n=>{n.createObjectStore("sessions_needing_backup",{keyPath:["senderCurve25519Key","sessionId"]})},n=>{n.createObjectStore("inbound_group_sessions_withheld",{keyPath:["senderCurve25519Key","sessionId"]})},n=>{var e=n.createObjectStore("session_problems",{keyPath:["deviceKey","time"]});e.createIndex("deviceKey","deviceKey"),n.createObjectStore("notified_error_devices",{keyPath:["userId","deviceId"]})},n=>{n.createObjectStore("shared_history_inbound_group_sessions",{keyPath:["roomId"]})},n=>{n.createObjectStore("parked_shared_history",{keyPath:["roomId"]})}],vs=hs.length;function ug(n,e){q.log("Upgrading IndexedDBCryptoStore from version ".concat(e)+" to ".concat(vs)),hs.forEach((t,r)=>{e<=r&&t(n)})}function lg(n){var e=n.createObjectStore("outgoingRoomKeyRequests",{keyPath:"requestId"});e.createIndex("session",["requestBody.room_id","requestBody.session_id"]),e.createIndex("state","state")}function P(n,e){n._mx_abortexception=e;try{n.abort()}catch{}}function pg(n){return new Promise((e,t)=>{n.oncomplete=()=>{n._mx_abortexception!==void 0&&t(n._mx_abortexception),e(null)},n.onerror=r=>{n._mx_abortexception!==void 0?t(n._mx_abortexception):(q.log("Error performing indexeddb txn",r),t(n.error))},n.onabort=r=>{n._mx_abortexception!==void 0?t(n._mx_abortexception):(q.log("Error performing indexeddb txn",r),t(n.error))}})}class O{static exists(e,t){return Us(e,t)}static existsAndIsNotMigrated(e,t){return new Promise((r,s)=>{var o=!0,_=e.open(t);_.onupgradeneeded=()=>{o=!1},_.onblocked=()=>s(_.error),_.onsuccess=()=>{var a=_.result;if(!o)a.close(),e.deleteDatabase(t),r(!1);else{var c=a.transaction([O.STORE_ACCOUNT],"readonly"),g=c.objectStore(O.STORE_ACCOUNT),u=g.get(an);u.onsuccess=()=>{var f,S=(f=u.result)!==null&&f!==void 0?f:F.NOT_STARTED;r(S===F.NOT_STARTED)},u.onerror=()=>{s(u.error)},a.close()}},_.onerror=()=>s(_.error)})}constructor(e,t){this.indexedDB=e,this.dbName=t,h(this,"backendPromise",void 0),h(this,"backend",void 0)}containsData(){var e=this;return d(function*(){return O.exists(e.indexedDB,e.dbName)})()}startup(){return this.backendPromise?this.backendPromise:(this.backendPromise=new Promise((e,t)=>{if(!this.indexedDB){t(new Error("no indexeddb support available"));return}q.log("connecting to indexeddb ".concat(this.dbName));var r=this.indexedDB.open(this.dbName,vs);r.onupgradeneeded=s=>{var o=r.result,_=s.oldVersion;ug(o,_)},r.onblocked=()=>{q.log("can't yet open IndexedDBCryptoStore because it is open elsewhere")},r.onerror=s=>{q.log("Error connecting to indexeddb",s),t(r.error)},r.onsuccess=()=>{var s=r.result;q.log("connected to indexeddb ".concat(this.dbName)),e(new gg(s))}}).then(e=>e.doTxn("readonly",[O.STORE_INBOUND_GROUP_SESSIONS,O.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],t=>{e.getEndToEndInboundGroupSession("","",t,()=>{})}).then(()=>e)).catch(e=>{if(e.name==="VersionError")throw q.warn("Crypto DB is too new for us to use!",e),new js(Ns.TooNew);q.warn("unable to connect to indexeddb ".concat(this.dbName)+": falling back to localStorage store: ".concat(e));try{if(!(globalThis.localStorage instanceof Storage))throw new Error("localStorage is not available");return new Sn(globalThis.localStorage)}catch(t){return q.warn("Unable to open localStorage: falling back to in-memory store: ".concat(t)),new ws}}).then(e=>(this.backend=e,e)),this.backendPromise)}deleteAllData(){return new Promise((e,t)=>{if(!this.indexedDB){t(new Error("no indexeddb support available"));return}q.log("Removing indexeddb instance: ".concat(this.dbName));var r=this.indexedDB.deleteDatabase(this.dbName);r.onblocked=()=>{q.log("can't yet delete IndexedDBCryptoStore because it is open elsewhere")},r.onerror=s=>{q.log("Error deleting data from indexeddb",s),t(r.error)},r.onsuccess=()=>{q.log("Removed indexeddb instance: ".concat(this.dbName)),e()}}).catch(e=>{q.warn("unable to delete IndexedDBCryptoStore: ".concat(e))})}getMigrationState(){return this.backend.getMigrationState()}setMigrationState(e){return this.backend.setMigrationState(e)}getAccount(e,t){this.backend.getAccount(e,t)}storeAccount(e,t){this.backend.storeAccount(e,t)}getCrossSigningKeys(e,t){this.backend.getCrossSigningKeys(e,t)}getSecretStorePrivateKey(e,t,r){this.backend.getSecretStorePrivateKey(e,t,r)}storeSecretStorePrivateKey(e,t,r){this.backend.storeSecretStorePrivateKey(e,t,r)}countEndToEndSessions(e,t){this.backend.countEndToEndSessions(e,t)}getEndToEndSession(e,t,r,s){this.backend.getEndToEndSession(e,t,r,s)}getEndToEndSessions(e,t,r){this.backend.getEndToEndSessions(e,t,r)}storeEndToEndSession(e,t,r,s){this.backend.storeEndToEndSession(e,t,r,s)}countEndToEndInboundGroupSessions(){return this.backend.countEndToEndInboundGroupSessions()}getEndToEndSessionsBatch(){return this.backend.getEndToEndSessionsBatch()}deleteEndToEndSessionsBatch(e){return this.backend.deleteEndToEndSessionsBatch(e)}getEndToEndInboundGroupSession(e,t,r,s){this.backend.getEndToEndInboundGroupSession(e,t,r,s)}storeEndToEndInboundGroupSession(e,t,r,s){this.backend.storeEndToEndInboundGroupSession(e,t,r,s)}getEndToEndInboundGroupSessionsBatch(){return this.backend.getEndToEndInboundGroupSessionsBatch()}deleteEndToEndInboundGroupSessionsBatch(e){return this.backend.deleteEndToEndInboundGroupSessionsBatch(e)}getEndToEndRooms(e,t){this.backend.getEndToEndRooms(e,t)}markSessionsNeedingBackup(e,t){return this.backend.markSessionsNeedingBackup(e,t)}doTxn(e,t,r,s){return this.backend.doTxn(e,t,r,s)}}h(O,"STORE_ACCOUNT","account");h(O,"STORE_SESSIONS","sessions");h(O,"STORE_INBOUND_GROUP_SESSIONS","inbound_group_sessions");h(O,"STORE_INBOUND_GROUP_SESSIONS_WITHHELD","inbound_group_sessions_withheld");h(O,"STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS","shared_history_inbound_group_sessions");h(O,"STORE_PARKED_SHARED_HISTORY","parked_shared_history");h(O,"STORE_DEVICE_DATA","device_data");h(O,"STORE_ROOMS","rooms");h(O,"STORE_BACKUP","sessions_needing_backup");function bg(n){return cn.apply(this,arguments)}function cn(){return cn=d(function*(n){var e,{logger:t,legacyStore:r}=n;if(yield ls(),!(yield r.containsData()))return;yield r.startup();var s=null;if(yield r.doTxn("readonly",[O.STORE_ACCOUNT],S=>{r.getAccount(S,R=>{s=R})}),!s){t.debug("Legacy crypto store is not set up (no account found). Not migrating.");return}var o=yield r.getMigrationState();if(o>=F.MEGOLM_SESSIONS_MIGRATED)return;var _=yield fg(t,r),a=yield wg(t,r),c=1+_+a;t.info("Migrating data from legacy crypto store. ".concat(_," olm sessions and ").concat(a," megolm sessions to migrate."));var g=0;function u(S){var R;g+=S,(R=n.legacyMigrationProgressListener)===null||R===void 0||R.call(n,g,c)}u(0);var f=new TextEncoder().encode(n.legacyPickleKey).slice();o===F.NOT_STARTED&&(t.info("Migrating data from legacy crypto store. Step 1: base data"),yield yg(n.http,n.userId,n.deviceId,r,f,n.storeHandle,t),o=F.INITIAL_DATA_MIGRATED,yield r.setMigrationState(o)),u(1),o===F.INITIAL_DATA_MIGRATED&&(t.info("Migrating data from legacy crypto store. Step 2: olm sessions (".concat(_," sessions to migrate).")),yield hg(t,r,f,n.storeHandle,u),o=F.OLM_SESSIONS_MIGRATED,yield r.setMigrationState(o)),o===F.OLM_SESSIONS_MIGRATED&&(t.info("Migrating data from legacy crypto store. Step 3: megolm sessions (".concat(a," sessions to migrate).")),yield vg(t,r,f,n.storeHandle,u),o=F.MEGOLM_SESSIONS_MIGRATED,yield r.setMigrationState(o)),(e=n.legacyMigrationProgressListener)===null||e===void 0||e.call(n,-1,-1),t.info("Migration from legacy crypto store complete")}),cn.apply(this,arguments)}function yg(n,e,t,r,s,o,_){return dn.apply(this,arguments)}function dn(){return dn=d(function*(n,e,t,r,s,o,_){var a=new Gt;a.userId=new v(e),a.deviceId=new I(t),yield r.doTxn("readonly",[O.STORE_ACCOUNT],ie=>r.getAccount(ie,Mt=>{a.pickledAccount=Mt??""}));var c=yield ir(r,s,"m.megolm_backup.v1");if(c){for(var g=!1,u=null;!g;)try{u=yield fs(n),g=!0}catch(ie){_.info("Failed to get backup version during migration, retrying in 2 seconds",ie),yield ke(2e3)}if(u&&u.algorithm=="m.megolm_backup.v1.curve25519-aes-sha2")try{var f,S=j.fromBase64(c),R=(f=u.auth_data)===null||f===void 0?void 0:f.public_key,N=S.megolmV1PublicKey.publicKeyBase64==R;N?(a.backupVersion=u.version,a.backupRecoveryKey=c):_.debug("The backup key to migrate does not match the active backup version","Cached pub key: ".concat(S.megolmV1PublicKey.publicKeyBase64),"Active pub key: ".concat(R))}catch(ie){_.warn("Failed to check if the backup key to migrate matches the active backup version",ie)}}a.privateCrossSigningMasterKey=yield ir(r,s,"master"),a.privateCrossSigningSelfSigningKey=yield ir(r,s,"self_signing"),a.privateCrossSigningUserSigningKey=yield ir(r,s,"user_signing"),yield bt.migrateBaseData(a,s,o,_)}),dn.apply(this,arguments)}function fg(n,e){return gn.apply(this,arguments)}function gn(){return gn=d(function*(n,e){n.debug("Counting olm sessions to be migrated");var t;return yield e.doTxn("readonly",[O.STORE_SESSIONS],r=>e.countEndToEndSessions(r,s=>t=s)),t}),gn.apply(this,arguments)}function wg(n,e){return un.apply(this,arguments)}function un(){return un=d(function*(n,e){return n.debug("Counting megolm sessions to be migrated"),yield e.countEndToEndInboundGroupSessions()}),un.apply(this,arguments)}function hg(n,e,t,r,s){return ln.apply(this,arguments)}function ln(){return ln=d(function*(n,e,t,r,s){for(;;){var o=yield e.getEndToEndSessionsBatch();if(o===null)return;n.debug("Migrating batch of ".concat(o.length," olm sessions"));var _=[];for(var a of o){var c=new Ue;c.senderKey=a.deviceKey,c.pickle=a.session,c.lastUseTime=c.creationTime=new Date(a.lastReceivedMessageTs),_.push(c)}yield bt.migrateOlmSessions(_,t,r,n),yield e.deleteEndToEndSessionsBatch(o),s(o.length)}}),ln.apply(this,arguments)}function vg(n,e,t,r,s){return pn.apply(this,arguments)}function pn(){return pn=d(function*(n,e,t,r,s){for(;;){var o=yield e.getEndToEndInboundGroupSessionsBatch();if(o===null)return;n.debug("Migrating batch of ".concat(o.length," megolm sessions"));var _=[];for(var a of o){var c,g=a.sessionData,u=new Fe;u.pickle=g.session,u.roomId=new E(g.room_id),u.senderKey=a.senderKey,u.senderSigningKey=(c=g.keysClaimed)===null||c===void 0?void 0:c.ed25519,u.backedUp=!a.needsBackup,u.imported=g.untrusted===!0,_.push(u)}yield bt.migrateMegolmSessions(_,t,r,n),yield e.deleteEndToEndInboundGroupSessionsBatch(o),s(o.length)}}),pn.apply(this,arguments)}function mg(n){return bn.apply(this,arguments)}function bn(){return bn=d(function*(n){var{logger:e,legacyStore:t,olmMachine:r}=n;if(yield t.containsData()){var s=yield t.getMigrationState();if(!(s>=F.ROOM_SETTINGS_MIGRATED)){var o={};yield t.doTxn("readwrite",[O.STORE_ROOMS],g=>{t.getEndToEndRooms(g,u=>{o=u})}),e.debug("Migrating ".concat(Object.keys(o).length," sets of room settings"));for(var[_,a]of Object.entries(o))try{var c=new re;if(a.algorithm!=="m.megolm.v1.aes-sha2"){e.warn("Room ".concat(_,": ignoring room with invalid algorithm ").concat(a.algorithm));continue}c.algorithm=at.MegolmV1AesSha2,c.sessionRotationPeriodMs=a.rotation_period_ms,c.sessionRotationPeriodMessages=a.rotation_period_msgs,yield r.setRoomSettings(new E(_),c)}catch(g){e.warn("Room ".concat(_,": ignoring settings ").concat(JSON.stringify(a)," which caused error ").concat(g))}e.debug("Completed room settings migration"),yield t.setMigrationState(F.ROOM_SETTINGS_MIGRATED)}}}),bn.apply(this,arguments)}function ir(n,e,t){return yn.apply(this,arguments)}function yn(){return yn=d(function*(n,e,t){var r=yield new Promise(s=>{n.doTxn("readonly",[O.STORE_ACCOUNT],o=>{n.getSecretStorePrivateKey(o,s,t)})});return r&&r.ciphertext&&r.iv&&r.mac?yield Ps(r,e,t):r instanceof Uint8Array?Qr(r):void 0}),yn.apply(this,arguments)}function Sg(n){return fn.apply(this,arguments)}function fn(){return fn=d(function*(n){var{legacyCryptoStore:e,rustCrypto:t,logger:r}=n,s=yield t.getOwnIdentity();if(s&&!s.isVerified()){var o=yield kg(e);if(o){var _=JSON.parse(s.masterKey);if(!_.keys||Object.keys(_.keys).length===0){r.error("Post Migration | Unexpected error: no master key in the rust session.");return}var a=Object.values(_.keys)[0];a&&a==o&&(r.info("Post Migration: Migrating legacy trusted MSK: ".concat(o," to locally verified.")),yield s.verify())}}}),fn.apply(this,arguments)}function kg(n){return wn.apply(this,arguments)}function wn(){return wn=d(function*(n){var e=null;return yield n.doTxn("readonly","account",t=>{n.getCrossSigningKeys(t,r=>{var s=r?.master;s&&Object.keys(s.keys).length!=0&&(e=Object.values(s.keys)[0])})}),e}),wn.apply(this,arguments)}function ns(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(n,s).enumerable})),t.push.apply(t,r)}return t}function Rg(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ns(Object(t),!0).forEach(function(r){h(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ns(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ig(n){return hn.apply(this,arguments)}function hn(){return hn=d(function*(n){var{logger:e}=n;e.debug("Initialising Rust crypto-sdk WASM artifact"),yield ls(),e.debug("Opening Rust CryptoStore");var t;n.storePrefix?n.storeKey?t=yield L.openWithKey(n.storePrefix,n.storeKey,e):t=yield L.open(n.storePrefix,n.storePassphrase,e):t=yield L.open(null,null,e),n.legacyCryptoStore&&(yield bg(Rg({legacyStore:n.legacyCryptoStore,storeHandle:t},n)));var r=yield Eg(e,n.http,n.userId,n.deviceId,n.secretStorage,n.cryptoCallbacks,t,n.legacyCryptoStore,n.enableEncryptedStateEvents);return t.free(),e.debug("Completed rust crypto-sdk setup"),r}),hn.apply(this,arguments)}function Eg(n,e,t,r,s,o,_,a,c){return vn.apply(this,arguments)}function vn(){return vn=d(function*(n,e,t,r,s,o,_,a,c){n.debug("Init OlmMachine");var g=yield Te.initFromStore(new v(t),new I(r),_,n);a&&(yield mg({logger:n,legacyStore:a,olmMachine:g})),g.roomKeyRequestsEnabled=!1;var u=new tg(n,g,e,t,r,s,o,c);if(yield g.registerRoomKeyUpdatedCallback(R=>u.onRoomKeysUpdated(R)),yield g.registerRoomKeysWithheldCallback(R=>u.onRoomKeysWithheld(R)),yield g.registerUserIdentityUpdatedCallback(R=>u.onUserIdentityUpdated(R)),yield g.registerDevicesUpdatedCallback(R=>u.onDevicesUpdated(R)),u.checkSecrets("m.megolm_backup.v1"),yield g.registerReceiveSecretCallback((R,N)=>u.checkSecrets(R)),yield g.outgoingRequests(),a&&(yield a.containsData())){var f=yield a.getMigrationState();if(f<F.INITIAL_OWN_KEY_QUERY_DONE){n.debug("Performing initial key query after migration");for(var S=!1;!S;)try{yield u.userHasCrossSigningKeys(t),S=!0}catch(R){n.error("Failed to check for cross-signing keys after migration, retrying",R)}yield Sg({legacyCryptoStore:a,rustCrypto:u,logger:n}),yield a.setMigrationState(F.INITIAL_OWN_KEY_QUERY_DONE)}}return u}),vn.apply(this,arguments)}export{Ig as initRustCrypto};
|
|
4
|
+
//# sourceMappingURL=index-BOka8551.js.map
|