element-web-synapse01pim.gr.jp

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

3912.js.map (616359B)


      1 {"version":3,"file":"bundles/12c8185ea2689492c07b/3912.js","mappings":"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","sources":["webpack://element-web/javascript/node_modules/.pnpm/@matrix-org+matrix-sdk-crypto-wasm@18.3.1/node_modules/@matrix-org/matrix-sdk-crypto-wasm/index-wasm-esm.mjs","webpack://element-web/javascript/node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.108.4/node_modules/source-map-loader/dist/node_modules/.pnpm/@matrix-org+matrix-sdk-crypto-wasm@18.3.1/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js"],"sourcesContent":["// Copyright 2024 The Matrix.org Foundation C.I.C.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n//     http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n// @ts-check\n\n/**\n * This is the entry point for ESM environments which support the ES Module Integration Proposal for WebAssembly [1].\n *\n * [1]: https://github.com/webassembly/esm-integration\n */\n\nimport * as bindings from \"./pkg/matrix_sdk_crypto_wasm_bg.js\";\n\n// Although we could simply instantiate the WASM at import time with a top-level `await`,\n// we avoid that, to make it easier for callers to delay loading the WASM (and instead\n// wait until `initAsync` is called). (Also, Safari 14 doesn't support top-level `await`.)\n//\n// However, having done so, there is no way to synchronously load the WASM if the user ends\n// up using the bindings before calling `initAsync` (unlike under Node.js), so we just throw\n// an error.\nbindings.__wbg_set_wasm(\n    new Proxy(\n        {},\n        {\n            get() {\n                throw new Error(\n                    \"@matrix-org/matrix-sdk-crypto-wasm was used before it was initialized. Call `initAsync` first.\",\n                );\n            },\n        },\n    ),\n);\n\n/**\n * Stores a promise of the `loadModuleAsync` call\n * @type {Promise<void> | null}\n */\nlet modPromise = null;\n\n/**\n * Loads and instantiates the WASM module asynchronously\n *\n * @returns {Promise<void>}\n */\nasync function loadModuleAsync() {\n    /** @type {typeof import(\"./pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts\")} */\n    // @ts-expect-error TSC can't find the definitions file, for some reason.\n    const wasm = await import(\"./pkg/matrix_sdk_crypto_wasm_bg.wasm\");\n    bindings.__wbg_set_wasm(wasm);\n    wasm.__wbindgen_start();\n}\n\n/**\n * Load the WebAssembly module in the background, if it has not already been loaded.\n *\n * Returns a promise which will resolve once the other methods are ready.\n *\n * @returns {Promise<void>}\n */\nexport async function initAsync() {\n    if (!modPromise) modPromise = loadModuleAsync();\n    await modPromise;\n}\n\n// Re-export everything from the generated javascript wrappers\nexport * from \"./pkg/matrix_sdk_crypto_wasm_bg.js\";\n","/**\n * A type to encrypt and to decrypt anything that can fit in an\n * `Uint8Array`, usually big buffer.\n */\nexport class Attachment {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        AttachmentFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_attachment_free(ptr, 0);\n    }\n    /**\n     * Decrypt an `EncryptedAttachment`.\n     *\n     * The encrypted attachment can be created manually, or from the\n     * `encrypt` method.\n     *\n     * **Warning**: The encrypted attachment can be used only\n     * **once**! The encrypted data will still be present, but the\n     * media encryption info (which contain secrets) will be\n     * destroyed. It is still possible to get a JSON-encoded backup\n     * by calling `EncryptedAttachment.mediaEncryptionInfo`.\n     * @param {EncryptedAttachment} attachment\n     * @returns {Uint8Array}\n     */\n    static decrypt(attachment) {\n        _assertClass(attachment, EncryptedAttachment);\n        const ret = wasm.attachment_decrypt(attachment.__wbg_ptr);\n        if (ret[3]) {\n            throw takeFromExternrefTable0(ret[2]);\n        }\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n    /**\n     * Encrypt the content of the `Uint8Array`.\n     *\n     * It produces an `EncryptedAttachment`, which can be used to\n     * retrieve the media encryption information, or the encrypted\n     * data.\n     * @param {Uint8Array} array\n     * @returns {EncryptedAttachment}\n     */\n    static encrypt(array) {\n        const ptr0 = passArray8ToWasm0(array, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.attachment_encrypt(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return EncryptedAttachment.__wrap(ret[0]);\n    }\n}\nif (Symbol.dispose) Attachment.prototype[Symbol.dispose] = Attachment.prototype.free;\n\n/**\n * The private part of the backup key, the one used for recovery.\n */\nexport class BackupDecryptionKey {\n    static __wrap(ptr) {\n        const obj = Object.create(BackupDecryptionKey.prototype);\n        obj.__wbg_ptr = ptr;\n        BackupDecryptionKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        BackupDecryptionKeyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_backupdecryptionkey_free(ptr, 0);\n    }\n    /**\n     * Create a new random [`BackupDecryptionKey`].\n     * @returns {BackupDecryptionKey}\n     */\n    static createRandomKey() {\n        const ret = wasm.backupdecryptionkey_createRandomKey();\n        return BackupDecryptionKey.__wrap(ret);\n    }\n    /**\n     * Try to decrypt a message that was encrypted using the public part of the\n     * backup key.\n     * @param {string} ephemeral_key\n     * @param {string} mac\n     * @param {string} ciphertext\n     * @returns {string}\n     */\n    decryptV1(ephemeral_key, mac, ciphertext) {\n        let deferred5_0;\n        let deferred5_1;\n        try {\n            const ptr0 = passStringToWasm0(ephemeral_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len0 = WASM_VECTOR_LEN;\n            const ptr1 = passStringToWasm0(mac, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len1 = WASM_VECTOR_LEN;\n            const ptr2 = passStringToWasm0(ciphertext, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len2 = WASM_VECTOR_LEN;\n            const ret = wasm.backupdecryptionkey_decryptV1(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\n            var ptr4 = ret[0];\n            var len4 = ret[1];\n            if (ret[3]) {\n                ptr4 = 0; len4 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred5_0 = ptr4;\n            deferred5_1 = len4;\n            return getStringFromWasm0(ptr4, len4);\n        } finally {\n            wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);\n        }\n    }\n    /**\n     * Try to create a [`BackupDecryptionKey`] from a base 64 encoded string.\n     * @param {string} key\n     * @returns {BackupDecryptionKey}\n     */\n    static fromBase64(key) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.backupdecryptionkey_fromBase64(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return BackupDecryptionKey.__wrap(ret[0]);\n    }\n    /**\n     * Get the public part of the backup key.\n     * @returns {MegolmV1BackupKey}\n     */\n    get megolmV1PublicKey() {\n        const ret = wasm.backupdecryptionkey_megolmV1PublicKey(this.__wbg_ptr);\n        return MegolmV1BackupKey.__wrap(ret);\n    }\n    /**\n     * Convert the backup decryption key to a base 64 encoded string.\n     * @returns {string}\n     */\n    toBase64() {\n        const ret = wasm.backupdecryptionkey_toBase64(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) BackupDecryptionKey.prototype[Symbol.dispose] = BackupDecryptionKey.prototype.free;\n\n/**\n * Stored versions of the backup keys.\n */\nexport class BackupKeys {\n    static __wrap(ptr) {\n        const obj = Object.create(BackupKeys.prototype);\n        obj.__wbg_ptr = ptr;\n        BackupKeysFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        BackupKeysFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_backupkeys_free(ptr, 0);\n    }\n    /**\n     * The key used to decrypt backed up room keys, encoded as base64\n     *\n     * @deprecated Use `BackupKeys.decryptionKey.toBase64()`\n     * @returns {string | undefined}\n     */\n    get decryptionKeyBase64() {\n        const ret = wasm.backupkeys_decryptionKeyBase64(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The version that we are using for backups.\n     * @returns {string | undefined}\n     */\n    get backupVersion() {\n        const ret = wasm.__wbg_get_backupkeys_backupVersion(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The key used to decrypt backed up room keys\n     * @returns {BackupDecryptionKey | undefined}\n     */\n    get decryptionKey() {\n        const ret = wasm.__wbg_get_backupkeys_decryptionKey(this.__wbg_ptr);\n        return ret === 0 ? undefined : BackupDecryptionKey.__wrap(ret);\n    }\n    /**\n     * The version that we are using for backups.\n     * @param {string | null} [arg0]\n     */\n    set backupVersion(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_backupkeys_backupVersion(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The key used to decrypt backed up room keys\n     * @param {BackupDecryptionKey | null} [arg0]\n     */\n    set decryptionKey(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, BackupDecryptionKey);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_backupkeys_decryptionKey(this.__wbg_ptr, ptr0);\n    }\n}\nif (Symbol.dispose) BackupKeys.prototype[Symbol.dispose] = BackupKeys.prototype.free;\n\n/**\n * The backup-specific parts of a secrets bundle.\n */\nexport class BackupSecretsBundle {\n    static __wrap(ptr) {\n        const obj = Object.create(BackupSecretsBundle.prototype);\n        obj.__wbg_ptr = ptr;\n        BackupSecretsBundleFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        BackupSecretsBundleFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_backupsecretsbundle_free(ptr, 0);\n    }\n    /**\n     * The backup version which this backup decryption key is used with.\n     * @returns {string}\n     */\n    get backup_version() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_backupsecretsbundle_backup_version(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The backup decryption key, encoded as unpadded base64.\n     * @returns {string}\n     */\n    get key() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_backupsecretsbundle_key(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The backup version which this backup decryption key is used with.\n     * @param {string} arg0\n     */\n    set backup_version(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_backupsecretsbundle_backup_version(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The backup decryption key, encoded as unpadded base64.\n     * @param {string} arg0\n     */\n    set key(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) BackupSecretsBundle.prototype[Symbol.dispose] = BackupSecretsBundle.prototype.free;\n\n/**\n * The base64-encoded variant of a {@link PkMessage}.\n *\n * This can be useful if the encrypted message should be put into JSON.\n */\nexport class Base64EncodedPkMessage {\n    static __wrap(ptr) {\n        const obj = Object.create(Base64EncodedPkMessage.prototype);\n        obj.__wbg_ptr = ptr;\n        Base64EncodedPkMessageFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        Base64EncodedPkMessageFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_base64encodedpkmessage_free(ptr, 0);\n    }\n    /**\n     * Creates a new base64-encoded encrypted message from its parts.\n     * @param {string} ciphertext\n     * @param {string} mac\n     * @param {string} ephemeral_key\n     */\n    constructor(ciphertext, mac, ephemeral_key) {\n        const ptr0 = passStringToWasm0(ciphertext, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(mac, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passStringToWasm0(ephemeral_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len2 = WASM_VECTOR_LEN;\n        const ret = wasm.base64encodedpkmessage_new(ptr0, len0, ptr1, len1, ptr2, len2);\n        this.__wbg_ptr = ret;\n        Base64EncodedPkMessageFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * The base64-encoded ciphertext.\n     * @returns {string}\n     */\n    get ciphertext() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_base64encodedpkmessage_ciphertext(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The base64-encoded ephemeral public key.\n     * @returns {string}\n     */\n    get ephemeralKey() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_base64encodedpkmessage_ephemeralKey(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The base64-encoded message authentication code (MAC).\n     * @returns {string}\n     */\n    get mac() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_base64encodedpkmessage_mac(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The base64-encoded ciphertext.\n     * @param {string} arg0\n     */\n    set ciphertext(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_base64encodedpkmessage_ciphertext(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The base64-encoded ephemeral public key.\n     * @param {string} arg0\n     */\n    set ephemeralKey(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_base64encodedpkmessage_ephemeralKey(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The base64-encoded message authentication code (MAC).\n     * @param {string} arg0\n     */\n    set mac(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_base64encodedpkmessage_mac(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) Base64EncodedPkMessage.prototype[Symbol.dispose] = Base64EncodedPkMessage.prototype.free;\n\n/**\n * The base dataset that is important to migrate to the Rust SDK.\n *\n * Can be imported into the rust store with {@link Migration::migrateBaseData}.\n */\nexport class BaseMigrationData {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        BaseMigrationDataFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_basemigrationdata_free(ptr, 0);\n    }\n    /**\n     * Create a new `BaseMigrationData` with default values.\n     */\n    constructor() {\n        const ret = wasm.basemigrationdata_new();\n        this.__wbg_ptr = ret;\n        BaseMigrationDataFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * The backup recovery key, as a base64-encoded string.\n     * @returns {string | undefined}\n     */\n    get backupRecoveryKey() {\n        const ret = wasm.__wbg_get_basemigrationdata_backupRecoveryKey(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The backup version that is currently active.\n     * @returns {string | undefined}\n     */\n    get backupVersion() {\n        const ret = wasm.__wbg_get_basemigrationdata_backupVersion(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The device ID of the account owner.\n     * @returns {DeviceId | undefined}\n     */\n    get deviceId() {\n        const ret = wasm.__wbg_get_basemigrationdata_deviceId(this.__wbg_ptr);\n        return ret === 0 ? undefined : DeviceId.__wrap(ret);\n    }\n    /**\n     * The pickle string holding the Olm Account, as returned by\n     * `olm_pickle_account` in libolm.\n     * @returns {string}\n     */\n    get pickledAccount() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_basemigrationdata_pickledAccount(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The private, base64-encoded, master cross-signing key.\n     * @returns {string | undefined}\n     */\n    get privateCrossSigningMasterKey() {\n        const ret = wasm.__wbg_get_basemigrationdata_privateCrossSigningMasterKey(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The private, base64-encoded, self-signing key.\n     * @returns {string | undefined}\n     */\n    get privateCrossSigningSelfSigningKey() {\n        const ret = wasm.__wbg_get_basemigrationdata_privateCrossSigningSelfSigningKey(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The private, base64-encoded, user-signing key.\n     * @returns {string | undefined}\n     */\n    get privateCrossSigningUserSigningKey() {\n        const ret = wasm.__wbg_get_basemigrationdata_privateCrossSigningUserSigningKey(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The user id of the account owner.\n     * @returns {UserId | undefined}\n     */\n    get userId() {\n        const ret = wasm.__wbg_get_basemigrationdata_userId(this.__wbg_ptr);\n        return ret === 0 ? undefined : UserId.__wrap(ret);\n    }\n    /**\n     * The backup recovery key, as a base64-encoded string.\n     * @param {string | null} [arg0]\n     */\n    set backupRecoveryKey(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_basemigrationdata_backupRecoveryKey(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The backup version that is currently active.\n     * @param {string | null} [arg0]\n     */\n    set backupVersion(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_basemigrationdata_backupVersion(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The device ID of the account owner.\n     * @param {DeviceId | null} [arg0]\n     */\n    set deviceId(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, DeviceId);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_basemigrationdata_deviceId(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The pickle string holding the Olm Account, as returned by\n     * `olm_pickle_account` in libolm.\n     * @param {string} arg0\n     */\n    set pickledAccount(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_basemigrationdata_pickledAccount(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The private, base64-encoded, master cross-signing key.\n     * @param {string | null} [arg0]\n     */\n    set privateCrossSigningMasterKey(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_basemigrationdata_privateCrossSigningMasterKey(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The private, base64-encoded, self-signing key.\n     * @param {string | null} [arg0]\n     */\n    set privateCrossSigningSelfSigningKey(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_basemigrationdata_privateCrossSigningSelfSigningKey(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The private, base64-encoded, user-signing key.\n     * @param {string | null} [arg0]\n     */\n    set privateCrossSigningUserSigningKey(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_basemigrationdata_privateCrossSigningUserSigningKey(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The user id of the account owner.\n     * @param {UserId | null} [arg0]\n     */\n    set userId(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, UserId);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_basemigrationdata_userId(this.__wbg_ptr, ptr0);\n    }\n}\nif (Symbol.dispose) BaseMigrationData.prototype[Symbol.dispose] = BaseMigrationData.prototype.free;\n\n/**\n * Information about the cancellation of a verification request or\n * verification flow.\n */\nexport class CancelInfo {\n    static __wrap(ptr) {\n        const obj = Object.create(CancelInfo.prototype);\n        obj.__wbg_ptr = ptr;\n        CancelInfoFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        CancelInfoFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_cancelinfo_free(ptr, 0);\n    }\n    /**\n     * Get the `code` (e.g. `m.user`) that was used to cancel the\n     * verification.\n     * @returns {string}\n     */\n    cancelCode() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.cancelinfo_cancelCode(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Was the verification cancelled by us?\n     * @returns {boolean}\n     */\n    cancelledbyUs() {\n        const ret = wasm.cancelinfo_cancelledbyUs(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Get the human readable reason of the cancellation.\n     * @returns {string}\n     */\n    reason() {\n        const ret = wasm.cancelinfo_reason(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) CancelInfo.prototype[Symbol.dispose] = CancelInfo.prototype.free;\n\n/**\n * A check code that can be used to confirm that two [`EstablishedEcies`]\n * objects share the same secret. This is supposed to be shared out-of-band to\n * protect against active Man-in-the-middle (MITM) attacks.\n *\n * Since the initiator device can always tell whether a MITM attack is in\n * progress after channel establishment, this code technically carries only a\n * single bit of information, representing whether the initiator has determined\n * that the channel is \"secure\" or \"not secure\".\n *\n * However, given this will need to be interactively confirmed by the user,\n * there is risk that the user would confirm the dialogue without paying\n * attention to its content. By expanding this single bit into a deterministic\n * two-digit check code, the user is forced to pay more attention by having to\n * enter it instead of just clicking through a dialogue.\n */\nexport class CheckCode {\n    static __wrap(ptr) {\n        const obj = Object.create(CheckCode.prototype);\n        obj.__wbg_ptr = ptr;\n        CheckCodeFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        CheckCodeFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_checkcode_free(ptr, 0);\n    }\n    /**\n     * Convert the check code to an array of two bytes.\n     *\n     * The bytes can be converted to a more user-friendly representation. The\n     * [`CheckCode::to_digit`] converts the bytes to a two-digit number.\n     * @returns {Uint8Array}\n     */\n    as_bytes() {\n        const ret = wasm.checkcode_as_bytes(this.__wbg_ptr);\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n    /**\n     * Convert the check code to two base-10 numbers.\n     *\n     * The number should be displayed with a leading 0 in case the first digit\n     * is a 0.\n     * @returns {number}\n     */\n    to_digit() {\n        const ret = wasm.checkcode_to_digit(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) CheckCode.prototype[Symbol.dispose] = CheckCode.prototype.free;\n\n/**\n * Strategy to collect the devices that should receive room keys for the\n * current discussion.\n */\nexport class CollectStrategy {\n    static __wrap(ptr) {\n        const obj = Object.create(CollectStrategy.prototype);\n        obj.__wbg_ptr = ptr;\n        CollectStrategyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        CollectStrategyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_collectstrategy_free(ptr, 0);\n    }\n    /**\n     * Share with all (unblacklisted) devices.\n     * @returns {CollectStrategy}\n     */\n    static allDevices() {\n        const ret = wasm.collectstrategy_allDevices();\n        return CollectStrategy.__wrap(ret);\n    }\n    /**\n     * Device based sharing strategy.\n     *\n     * @deprecated: use one of {@link allDevices}, {@link\n     * errorOnUnverifiedUserProblem} or {@link onlyTrustedDevices}.\n     * @param {boolean} only_allow_trusted_devices\n     * @param {boolean} error_on_verified_user_problem\n     * @returns {CollectStrategy}\n     */\n    static deviceBasedStrategy(only_allow_trusted_devices, error_on_verified_user_problem) {\n        const ret = wasm.collectstrategy_deviceBasedStrategy(only_allow_trusted_devices, error_on_verified_user_problem);\n        return CollectStrategy.__wrap(ret);\n    }\n    /**\n     * Tests for equality between two [`CollectStrategy`]s.\n     * @param {CollectStrategy} other\n     * @returns {boolean}\n     */\n    eq(other) {\n        _assertClass(other, CollectStrategy);\n        const ret = wasm.collectstrategy_eq(this.__wbg_ptr, other.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Share with all devices, except that errors for *verified* users cause\n     * sharing to fail with an error.\n     *\n     * In this strategy, if a verified user has an unsigned device, or\n     * a verified user has replaced their identity, key\n     * sharing will fail with an error.\n     *\n     * Otherwise, keys are shared with unsigned devices as normal.\n     *\n     * Once the problematic devices are blacklisted or whitelisted the\n     * caller can try sharing a second time.\n     * @returns {CollectStrategy}\n     */\n    static errorOnUnverifiedUserProblem() {\n        const ret = wasm.collectstrategy_errorOnUnverifiedUserProblem();\n        return CollectStrategy.__wrap(ret);\n    }\n    /**\n     * Share based on identity. Only distribute to devices signed by their\n     * owner. If a user has no published identity he will not receive\n     * any room keys.\n     * @returns {CollectStrategy}\n     */\n    static identityBasedStrategy() {\n        const ret = wasm.collectstrategy_identityBasedStrategy();\n        return CollectStrategy.__wrap(ret);\n    }\n    /**\n     * Only share keys with devices that we \"trust\". A device is trusted if any\n     * of the following is true:\n     *     - It was manually marked as trusted.\n     *     - It was marked as verified via interactive verification.\n     *     - It is signed by its owner identity, and this identity has been\n     *       trusted via interactive verification.\n     *     - It is the current own device of the user.\n     * @returns {CollectStrategy}\n     */\n    static onlyTrustedDevices() {\n        const ret = wasm.collectstrategy_onlyTrustedDevices();\n        return CollectStrategy.__wrap(ret);\n    }\n}\nif (Symbol.dispose) CollectStrategy.prototype[Symbol.dispose] = CollectStrategy.prototype.free;\n\n/**\n * A set of requests to be executed when bootstrapping cross-signing using\n * {@link OlmMachine.bootstrapCrossSigning}.\n */\nexport class CrossSigningBootstrapRequests {\n    static __wrap(ptr) {\n        const obj = Object.create(CrossSigningBootstrapRequests.prototype);\n        obj.__wbg_ptr = ptr;\n        CrossSigningBootstrapRequestsFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        CrossSigningBootstrapRequestsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_crosssigningbootstraprequests_free(ptr, 0);\n    }\n    /**\n     * An optional request to upload a device key.\n     *\n     * This will either be `undefined`, or an \"outgoing request\" as returned by\n     * {@link OlmMachine.outgoingRequests}.\n     *\n     * If it is defined, the request should be sent first, and the result sent\n     * back with {@link OlmMachine.markRequestAsSent}.\n     * @returns {any}\n     */\n    get uploadKeysRequest() {\n        const ret = wasm.__wbg_get_crosssigningbootstraprequests_uploadKeysRequest(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Request to upload key signatures, including those for the cross-signing\n     * keys, and maybe some for the optional uploaded key too.\n     *\n     * Should be sent last.\n     * @returns {SignatureUploadRequest}\n     */\n    get uploadSignaturesRequest() {\n        const ret = wasm.__wbg_get_crosssigningbootstraprequests_uploadSignaturesRequest(this.__wbg_ptr);\n        return SignatureUploadRequest.__wrap(ret);\n    }\n    /**\n     * Request to upload the cross-signing keys.\n     *\n     * Should be sent second.\n     * @returns {UploadSigningKeysRequest}\n     */\n    get uploadSigningKeysRequest() {\n        const ret = wasm.__wbg_get_crosssigningbootstraprequests_uploadSigningKeysRequest(this.__wbg_ptr);\n        return UploadSigningKeysRequest.__wrap(ret);\n    }\n}\nif (Symbol.dispose) CrossSigningBootstrapRequests.prototype[Symbol.dispose] = CrossSigningBootstrapRequests.prototype.free;\n\n/**\n * A struct containing private cross signing keys that can be backed\n * up or uploaded to the secret store.\n */\nexport class CrossSigningKeyExport {\n    static __wrap(ptr) {\n        const obj = Object.create(CrossSigningKeyExport.prototype);\n        obj.__wbg_ptr = ptr;\n        CrossSigningKeyExportFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        CrossSigningKeyExportFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_crosssigningkeyexport_free(ptr, 0);\n    }\n    /**\n     * The seed of the master key encoded as unpadded base64.\n     * @returns {string | undefined}\n     */\n    get masterKey() {\n        const ret = wasm.crosssigningkeyexport_masterKey(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The seed of the self signing key encoded as unpadded base64.\n     * @returns {string | undefined}\n     */\n    get self_signing_key() {\n        const ret = wasm.crosssigningkeyexport_self_signing_key(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The seed of the user signing key encoded as unpadded base64.\n     * @returns {string | undefined}\n     */\n    get userSigningKey() {\n        const ret = wasm.crosssigningkeyexport_userSigningKey(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n}\nif (Symbol.dispose) CrossSigningKeyExport.prototype[Symbol.dispose] = CrossSigningKeyExport.prototype.free;\n\n/**\n * Struct representing the state of our private cross signing keys,\n * it shows which private cross signing keys we have locally stored.\n */\nexport class CrossSigningStatus {\n    static __wrap(ptr) {\n        const obj = Object.create(CrossSigningStatus.prototype);\n        obj.__wbg_ptr = ptr;\n        CrossSigningStatusFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        CrossSigningStatusFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_crosssigningstatus_free(ptr, 0);\n    }\n    /**\n     * Do we have the master key?\n     * @returns {boolean}\n     */\n    get hasMaster() {\n        const ret = wasm.crosssigningstatus_hasMaster(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Do we have the self signing key? This one is necessary to sign\n     * our own devices.\n     * @returns {boolean}\n     */\n    get hasSelfSigning() {\n        const ret = wasm.crosssigningstatus_hasSelfSigning(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Do we have the user signing key? This one is necessary to sign\n     * other users.\n     * @returns {boolean}\n     */\n    get hasUserSigning() {\n        const ret = wasm.crosssigningstatus_hasUserSigning(this.__wbg_ptr);\n        return ret !== 0;\n    }\n}\nif (Symbol.dispose) CrossSigningStatus.prototype[Symbol.dispose] = CrossSigningStatus.prototype.free;\n\n/**\n * A Curve25519 public key.\n */\nexport class Curve25519PublicKey {\n    static __wrap(ptr) {\n        const obj = Object.create(Curve25519PublicKey.prototype);\n        obj.__wbg_ptr = ptr;\n        Curve25519PublicKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        Curve25519PublicKeyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_curve25519publickey_free(ptr, 0);\n    }\n    /**\n     * The number of bytes a Curve25519 public key has.\n     * @returns {number}\n     */\n    get length() {\n        const ret = wasm.curve25519publickey_length(this.__wbg_ptr);\n        return ret >>> 0;\n    }\n    /**\n     * Create a new [`Curve25519PublicKey`] from a base64 encoded string.\n     * @param {string} key\n     */\n    constructor(key) {\n        const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.curve25519publickey_new(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        Curve25519PublicKeyFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Serialize an Curve25519 public key to an unpadded base64\n     * representation.\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.curve25519publickey_toBase64(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) Curve25519PublicKey.prototype[Symbol.dispose] = Curve25519PublicKey.prototype.free;\n\n/**\n * A Curve25519 secret key.\n */\nexport class Curve25519SecretKey {\n    static __wrap(ptr) {\n        const obj = Object.create(Curve25519SecretKey.prototype);\n        obj.__wbg_ptr = ptr;\n        Curve25519SecretKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        Curve25519SecretKeyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_curve25519secretkey_free(ptr, 0);\n    }\n    /**\n     * Creates a `Curve25519SecretKey` from a base64-encoded representation of\n     * the key.\n     * @param {string} string\n     * @returns {Curve25519SecretKey}\n     */\n    static fromBase64(string) {\n        const ptr0 = passStringToWasm0(string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.curve25519secretkey_fromBase64(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return Curve25519SecretKey.__wrap(ret[0]);\n    }\n    /**\n     * Creates a `Curve25519SecretKey` from a raw byte slice.\n     * @param {Uint8Array} slice\n     * @returns {Curve25519SecretKey}\n     */\n    static fromUint8Array(slice) {\n        const ptr0 = passArray8ToWasm0(slice, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.curve25519secretkey_fromUint8Array(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return Curve25519SecretKey.__wrap(ret[0]);\n    }\n    /**\n     * Generates a new random Curve25519 secret key.\n     * @returns {Curve25519SecretKey}\n     */\n    static new() {\n        const ret = wasm.curve25519secretkey_new();\n        return Curve25519SecretKey.__wrap(ret);\n    }\n    /**\n     * Encodes the secret key into a base64 string.\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.curve25519secretkey_toBase64(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Converts the secret key into a raw byte vector.\n     * @returns {Uint8Array}\n     */\n    toUint8Array() {\n        const ret = wasm.curve25519secretkey_toUint8Array(this.__wbg_ptr);\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n}\nif (Symbol.dispose) Curve25519SecretKey.prototype[Symbol.dispose] = Curve25519SecretKey.prototype.free;\n\n/**\n * A decrypted room event.\n */\nexport class DecryptedRoomEvent {\n    static __wrap(ptr) {\n        const obj = Object.create(DecryptedRoomEvent.prototype);\n        obj.__wbg_ptr = ptr;\n        DecryptedRoomEventFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DecryptedRoomEventFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_decryptedroomevent_free(ptr, 0);\n    }\n    /**\n     * If the keys for this message were shared-on-invite as part of an\n     * [MSC4268] key bundle, the ID of the user who sent us the bundle.\n     *\n     * [MSC4268]: https://github.com/matrix-org/matrix-spec-proposals/pull/4268\n     * @returns {UserId | undefined}\n     */\n    get forwarder() {\n        const ret = wasm.decryptedroomevent_forwarder(this.__wbg_ptr);\n        return ret === 0 ? undefined : UserId.__wrap(ret);\n    }\n    /**\n     * If the keys for this message were shared-on-invite as part of an\n     * [MSC4268] key bundle, the ID of the device from which this bundle\n     * was sent.\n     *\n     * [MSC4268]: https://github.com/matrix-org/matrix-spec-proposals/pull/4268\n     * @returns {DeviceId | undefined}\n     */\n    get forwarderDevice() {\n        const ret = wasm.decryptedroomevent_forwarderDevice(this.__wbg_ptr);\n        return ret === 0 ? undefined : DeviceId.__wrap(ret);\n    }\n    /**\n     * Returns an empty array\n     *\n     * Previously, this returned the chain of Curve25519 keys through which\n     * this session was forwarded, via `m.forwarded_room_key` events.\n     * However, that is not cryptographically reliable, and clients should not\n     * be using it.\n     *\n     * @see https://github.com/matrix-org/matrix-spec/issues/1089\n     * @returns {string[]}\n     */\n    get forwardingCurve25519KeyChain() {\n        const ret = wasm.decryptedroomevent_forwardingCurve25519KeyChain(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The user ID of the event sender, note this is untrusted data\n     * unless the `verification_state` is as well trusted.\n     * @returns {UserId}\n     */\n    get sender() {\n        const ret = wasm.decryptedroomevent_sender(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * The signing Ed25519 key that have created the megolm key that\n     * was used to decrypt this session.\n     * @returns {string | undefined}\n     */\n    get senderClaimedEd25519Key() {\n        const ret = wasm.decryptedroomevent_senderClaimedEd25519Key(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The Curve25519 key of the device that created the megolm\n     * decryption key originally.\n     * @returns {string}\n     */\n    get senderCurve25519Key() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.decryptedroomevent_senderCurve25519Key(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The device ID of the device that sent us the event, note this\n     * is untrusted data unless `verification_state` is as well\n     * trusted.\n     * @returns {DeviceId | undefined}\n     */\n    get senderDevice() {\n        const ret = wasm.decryptedroomevent_senderDevice(this.__wbg_ptr);\n        return ret === 0 ? undefined : DeviceId.__wrap(ret);\n    }\n    /**\n     * The verification state of the device that sent us the event.\n     * Note this is the state of the device at the time of\n     * decryption. It may change in the future if a device gets\n     * verified or deleted.\n     * @param {boolean} strict\n     * @returns {ShieldState}\n     */\n    shieldState(strict) {\n        const ret = wasm.decryptedroomevent_shieldState(this.__wbg_ptr, strict);\n        return ShieldState.__wrap(ret);\n    }\n    /**\n     * The JSON-encoded decrypted event.\n     * @returns {string}\n     */\n    get event() {\n        const ret = wasm.__wbg_get_decryptedroomevent_event(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) DecryptedRoomEvent.prototype[Symbol.dispose] = DecryptedRoomEvent.prototype.free;\n\n/**\n * Represents an encrypted to-device event, after it has been decrypted.\n */\nexport class DecryptedToDeviceEvent {\n    static __wrap(ptr) {\n        const obj = Object.create(DecryptedToDeviceEvent.prototype);\n        obj.__wbg_ptr = ptr;\n        DecryptedToDeviceEventFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DecryptedToDeviceEventFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_decryptedtodeviceevent_free(ptr, 0);\n    }\n    /**\n     * The type of processed to-device event. Always {@link\n     * ProcessedToDeviceEventType.Decrypted} for this type.\n     * @returns {ProcessedToDeviceEventType}\n     */\n    get type() {\n        const ret = wasm.decryptedtodeviceevent_type(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The encryption information for the event.\n     * @returns {ToDeviceEncryptionInfo}\n     */\n    get encryptionInfo() {\n        const ret = wasm.__wbg_get_decryptedtodeviceevent_encryptionInfo(this.__wbg_ptr);\n        return ToDeviceEncryptionInfo.__wrap(ret);\n    }\n    /**\n     * The decrypted event, as if it had been sent in the clear, encoded as\n     * JSON.\n     *\n     * Typically contains properties `type`, `sender` and `content`.\n     *\n     * (For room keys or secrets, some part of the content might have been\n     * zeroized).\n     * @returns {string}\n     */\n    get rawEvent() {\n        const ret = wasm.__wbg_get_decryptedtodeviceevent_rawEvent(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) DecryptedToDeviceEvent.prototype[Symbol.dispose] = DecryptedToDeviceEvent.prototype.free;\n\n/**\n * Decryption error codes\n * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7}\n */\nexport const DecryptionErrorCode = Object.freeze({\n    /**\n     * The room key is not known\n     */\n    MissingRoomKey: 0, \"0\": \"MissingRoomKey\",\n    /**\n     * The room key is known but ratcheted\n     */\n    UnknownMessageIndex: 1, \"1\": \"UnknownMessageIndex\",\n    /**\n     * Decryption failed because of a mismatch between the identity keys of the\n     * device we received the room key from and the identity keys recorded in\n     * the plaintext of the room key to-device message.\n     */\n    MismatchedIdentityKeys: 2, \"2\": \"MismatchedIdentityKeys\",\n    /**\n     * We weren't able to link the message back to any known device.\n     */\n    UnknownSenderDevice: 3, \"3\": \"UnknownSenderDevice\",\n    /**\n     * The sender device is not cross-signed.\n     */\n    UnsignedSenderDevice: 4, \"4\": \"UnsignedSenderDevice\",\n    /**\n     * The sender's identity is unverified, but was previously verified.\n     */\n    SenderIdentityVerificationViolation: 5, \"5\": \"SenderIdentityVerificationViolation\",\n    /**\n     * Other failure.\n     */\n    UnableToDecrypt: 6, \"6\": \"UnableToDecrypt\",\n    /**\n     * The `sender` field on the event does not match the owner of the device\n     * that established the Megolm session.\n     */\n    MismatchedSender: 7, \"7\": \"MismatchedSender\",\n});\n\n/**\n * Settings for decrypting messages\n */\nexport class DecryptionSettings {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DecryptionSettingsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_decryptionsettings_free(ptr, 0);\n    }\n    /**\n     * Create a new `DecryptionSettings` with the given trust requirement.\n     * @param {TrustRequirement} sender_device_trust_requirement\n     */\n    constructor(sender_device_trust_requirement) {\n        const ret = wasm.decryptionsettings_new(sender_device_trust_requirement);\n        this.__wbg_ptr = ret;\n        DecryptionSettingsFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * The trust level required to decrypt the event\n     * @returns {TrustRequirement}\n     */\n    get sender_device_trust_requirement() {\n        const ret = wasm.__wbg_get_decryptionsettings_sender_device_trust_requirement(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The trust level required to decrypt the event\n     * @param {TrustRequirement} arg0\n     */\n    set sender_device_trust_requirement(arg0) {\n        wasm.__wbg_set_decryptionsettings_sender_device_trust_requirement(this.__wbg_ptr, arg0);\n    }\n}\nif (Symbol.dispose) DecryptionSettings.prototype[Symbol.dispose] = DecryptionSettings.prototype.free;\n\n/**\n * A dehydrated device that can be uploaded to the server\n */\nexport class DehydratedDevice {\n    static __wrap(ptr) {\n        const obj = Object.create(DehydratedDevice.prototype);\n        obj.__wbg_ptr = ptr;\n        DehydratedDeviceFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DehydratedDeviceFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_dehydrateddevice_free(ptr, 0);\n    }\n    /**\n     * Create the request to upload the dehydrated device\n     * @param {string} initial_device_display_name\n     * @param {DehydratedDeviceKey} dehydrated_device_key\n     * @returns {Promise<PutDehydratedDeviceRequest>}\n     */\n    keysForUpload(initial_device_display_name, dehydrated_device_key) {\n        _assertClass(dehydrated_device_key, DehydratedDeviceKey);\n        const ret = wasm.dehydrateddevice_keysForUpload(this.__wbg_ptr, initial_device_display_name, dehydrated_device_key.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) DehydratedDevice.prototype[Symbol.dispose] = DehydratedDevice.prototype.free;\n\n/**\n * Dehydrated device key\n */\nexport class DehydratedDeviceKey {\n    static __wrap(ptr) {\n        const obj = Object.create(DehydratedDeviceKey.prototype);\n        obj.__wbg_ptr = ptr;\n        DehydratedDeviceKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DehydratedDeviceKeyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_dehydrateddevicekey_free(ptr, 0);\n    }\n    /**\n     * Generates a dehydrated device key from a given array.\n     * @param {Uint8Array} array\n     * @returns {DehydratedDeviceKey}\n     */\n    static createKeyFromArray(array) {\n        const ret = wasm.dehydrateddevicekey_createKeyFromArray(array);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return DehydratedDeviceKey.__wrap(ret[0]);\n    }\n    /**\n     * Generates a new random dehydrated device key.\n     * @returns {DehydratedDeviceKey}\n     */\n    static createRandomKey() {\n        const ret = wasm.dehydrateddevicekey_createRandomKey();\n        return DehydratedDeviceKey.__wrap(ret);\n    }\n    /**\n     * Convert the dehydrated device key to a base64-encoded string.\n     * @returns {string}\n     */\n    toBase64() {\n        const ret = wasm.dehydrateddevicekey_toBase64(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) DehydratedDeviceKey.prototype[Symbol.dispose] = DehydratedDeviceKey.prototype.free;\n\n/**\n * Struct collecting methods to create and rehydrate dehydrated devices.\n */\nexport class DehydratedDevices {\n    static __wrap(ptr) {\n        const obj = Object.create(DehydratedDevices.prototype);\n        obj.__wbg_ptr = ptr;\n        DehydratedDevicesFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DehydratedDevicesFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_dehydrateddevices_free(ptr, 0);\n    }\n    /**\n     * Create a new {@link DehydratedDevice} which can be uploaded to the\n     * server.\n     * @returns {Promise<DehydratedDevice>}\n     */\n    create() {\n        const ret = wasm.dehydrateddevices_create(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Clear the dehydrated device key saved in the crypto store.\n     * @returns {Promise<void>}\n     */\n    deleteDehydratedDeviceKey() {\n        const ret = wasm.dehydrateddevices_deleteDehydratedDeviceKey(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the cached dehydrated device key if any.\n     *\n     * `None` if the key was not previously cached (via\n     * {@link DehydratedDevices.saveDehydratedDeviceKey}).\n     * @returns {Promise<DehydratedDeviceKey | undefined>}\n     */\n    getDehydratedDeviceKey() {\n        const ret = wasm.dehydrateddevices_getDehydratedDeviceKey(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Rehydrate a dehydrated device.\n     * @param {DehydratedDeviceKey} dehydrated_device_key\n     * @param {DeviceId} device_id\n     * @param {string} device_data\n     * @returns {Promise<RehydratedDevice>}\n     */\n    rehydrate(dehydrated_device_key, device_id, device_data) {\n        _assertClass(dehydrated_device_key, DehydratedDeviceKey);\n        _assertClass(device_id, DeviceId);\n        const ptr0 = passStringToWasm0(device_data, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.dehydrateddevices_rehydrate(this.__wbg_ptr, dehydrated_device_key.__wbg_ptr, device_id.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * Store the dehydrated device key in the crypto store.\n     * @param {DehydratedDeviceKey} dehydrated_device_key\n     * @returns {Promise<void>}\n     */\n    saveDehydratedDeviceKey(dehydrated_device_key) {\n        _assertClass(dehydrated_device_key, DehydratedDeviceKey);\n        const ret = wasm.dehydrateddevices_saveDehydratedDeviceKey(this.__wbg_ptr, dehydrated_device_key.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) DehydratedDevices.prototype[Symbol.dispose] = DehydratedDevices.prototype.free;\n\n/**\n * A device represents a E2EE capable client of an user.\n */\nexport class Device {\n    static __wrap(ptr) {\n        const obj = Object.create(Device.prototype);\n        obj.__wbg_ptr = ptr;\n        DeviceFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DeviceFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_device_free(ptr, 0);\n    }\n    /**\n     * Get the list of algorithms this device supports.\n     *\n     * Returns `Array<EncryptionAlgorithm>`.\n     * @returns {EncryptionAlgorithm[]}\n     */\n    get algorithms() {\n        const ret = wasm.device_algorithms(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the Curve25519 key of the given device.\n     * @returns {Curve25519PublicKey | undefined}\n     */\n    get curve25519Key() {\n        const ret = wasm.device_curve25519Key(this.__wbg_ptr);\n        return ret === 0 ? undefined : Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * The unique ID of the device.\n     * @returns {DeviceId}\n     */\n    get deviceId() {\n        const ret = wasm.device_deviceId(this.__wbg_ptr);\n        return DeviceId.__wrap(ret);\n    }\n    /**\n     * Get the human readable name of the device.\n     * @returns {string | undefined}\n     */\n    get displayName() {\n        const ret = wasm.device_displayName(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Get the Ed25519 key of the given device.\n     * @returns {Ed25519PublicKey | undefined}\n     */\n    get ed25519Key() {\n        const ret = wasm.device_ed25519Key(this.__wbg_ptr);\n        return ret === 0 ? undefined : Ed25519PublicKey.__wrap(ret);\n    }\n    /**\n     * Encrypt a to-device message to be sent to this device, using Olm\n     * encryption.\n     *\n     * Prior to calling this method you must ensure that an Olm session is\n     * available for the target device. This can be done by calling\n     * {@link OlmMachine.getMissingSessions}.\n     *\n     * The caller is responsible for sending the encrypted\n     * event to the target device. If multiple messages are\n     * encrypted for the same device using this method they should be sent in\n     * the same order as they are encrypted.\n     *\n     * # Returns\n     *\n     * Returns a promise for a JSON string containing the `content` of an\n     * encrypted event, which be used to create the payload for a\n     * `/sendToDevice` API.\n     * @param {string} event_type\n     * @param {any} content\n     * @param {CollectStrategy | null} [share_strategy]\n     * @returns {Promise<string>}\n     */\n    encryptToDeviceEvent(event_type, content, share_strategy) {\n        const ptr0 = passStringToWasm0(event_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        let ptr1 = 0;\n        if (!isLikeNone(share_strategy)) {\n            _assertClass(share_strategy, CollectStrategy);\n            ptr1 = share_strategy.__destroy_into_raw();\n        }\n        const ret = wasm.device_encryptToDeviceEvent(this.__wbg_ptr, ptr0, len0, content, ptr1);\n        return ret;\n    }\n    /**\n     * Timestamp representing the first time this device has been seen (in\n     * milliseconds).\n     * @returns {bigint}\n     */\n    firstTimeSeen() {\n        const ret = wasm.device_firstTimeSeen(this.__wbg_ptr);\n        return BigInt.asUintN(64, ret);\n    }\n    /**\n     * Get the key of the given key algorithm belonging to this device.\n     * @param {DeviceKeyAlgorithmName} algorithm\n     * @returns {DeviceKey | undefined}\n     */\n    getKey(algorithm) {\n        const ret = wasm.device_getKey(this.__wbg_ptr, algorithm);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return ret[0] === 0 ? undefined : DeviceKey.__wrap(ret[0]);\n    }\n    /**\n     * Is the device locally marked as blacklisted?\n     *\n     * Blacklisted devices won’t receive any group sessions.\n     * @returns {boolean}\n     */\n    isBlacklisted() {\n        const ret = wasm.device_isBlacklisted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this device cross-signed by its owner?\n     * @returns {boolean}\n     */\n    isCrossSignedByOwner() {\n        const ret = wasm.device_isCrossSignedByOwner(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this device considered to be verified using cross signing.\n     * @returns {boolean}\n     */\n    isCrossSigningTrusted() {\n        const ret = wasm.device_isCrossSigningTrusted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Whether or not the device is a dehydrated device.\n     * @returns {boolean}\n     */\n    get isDehydrated() {\n        const ret = wasm.device_isDehydrated(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is the device deleted?\n     * @returns {boolean}\n     */\n    isDeleted() {\n        const ret = wasm.device_isDeleted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is the device locally marked as trusted?\n     * @returns {boolean}\n     */\n    isLocallyTrusted() {\n        const ret = wasm.device_isLocallyTrusted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this device considered to be verified.\n     *\n     * This method returns true if either the `is_locally_trusted`\n     * method returns `true` or if the `is_cross_signing_trusted`\n     * method returns `true`.\n     * @returns {boolean}\n     */\n    isVerified() {\n        const ret = wasm.device_isVerified(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Get a map containing all the device keys.\n     * @returns {Map<DeviceKeyId, DeviceKey>}\n     */\n    get keys() {\n        const ret = wasm.device_keys(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the trust state of the device.\n     * @returns {LocalTrust}\n     */\n    get localTrustState() {\n        const ret = wasm.device_localTrustState(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Request an interactive verification with this device.\n     *\n     * Returns a 2-element array `[VerificationRequest, ToDeviceRequest]`.\n     * @param {VerificationMethod[]} [methods]\n     * @returns {[VerificationRequest, ToDeviceRequest]}\n     */\n    requestVerification(methods) {\n        var ptr0 = isLikeNone(methods) ? 0 : passArrayJsValueToWasm0(methods, wasm.__wbindgen_malloc);\n        var len0 = WASM_VECTOR_LEN;\n        const ret = wasm.device_requestVerification(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Set the local trust state of the device to the given state.\n     *\n     * This won’t affect any cross signing trust state, this only\n     * sets a flag marking to have the given trust state.\n     *\n     * `trust_state` represents the new trust state that should be\n     * set for the device.\n     * @param {LocalTrust} local_state\n     * @returns {Promise<null>}\n     */\n    setLocalTrust(local_state) {\n        const ret = wasm.device_setLocalTrust(this.__wbg_ptr, local_state);\n        return ret;\n    }\n    /**\n     * Get a map containing all the device signatures.\n     * @returns {Signatures}\n     */\n    get signatures() {\n        const ret = wasm.device_signatures(this.__wbg_ptr);\n        return Signatures.__wrap(ret);\n    }\n    /**\n     * The user ID of the device owner.\n     * @returns {UserId}\n     */\n    get userId() {\n        const ret = wasm.device_userId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Mark this device as verified.\n     * Works only if the device is owned by the current user.\n     *\n     * Returns a signature upload request that needs to be sent out.\n     * @returns {Promise<SignatureUploadRequest>}\n     */\n    verify() {\n        const ret = wasm.device_verify(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) Device.prototype[Symbol.dispose] = Device.prototype.free;\n\n/**\n * A Matrix key ID.\n *\n * Device identifiers in Matrix are completely opaque character\n * sequences. This type is provided simply for its semantic value.\n */\nexport class DeviceId {\n    static __wrap(ptr) {\n        const obj = Object.create(DeviceId.prototype);\n        obj.__wbg_ptr = ptr;\n        DeviceIdFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DeviceIdFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_deviceid_free(ptr, 0);\n    }\n    /**\n     * Create a new `DeviceId`.\n     * @param {string} id\n     */\n    constructor(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.deviceid_new(ptr0, len0);\n        this.__wbg_ptr = ret;\n        DeviceIdFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Return the device ID as a string.\n     * @returns {string}\n     */\n    toString() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.deviceid_toString(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) DeviceId.prototype[Symbol.dispose] = DeviceId.prototype.free;\n\n/**\n * An enum over the different key types a device can have.\n *\n * Currently devices have a curve25519 and ed25519 keypair. The keys\n * transport format is a base64 encoded string, any unknown key type\n * will be left as such a string.\n */\nexport class DeviceKey {\n    static __wrap(ptr) {\n        const obj = Object.create(DeviceKey.prototype);\n        obj.__wbg_ptr = ptr;\n        DeviceKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DeviceKeyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_devicekey_free(ptr, 0);\n    }\n    /**\n     * Get the value associated to the `Curve25519` device key name.\n     * @returns {Curve25519PublicKey | undefined}\n     */\n    get curve25519() {\n        const ret = wasm.devicekey_curve25519(this.__wbg_ptr);\n        return ret === 0 ? undefined : Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * Get the value associated to the `Ed25519` device key name.\n     * @returns {Ed25519PublicKey | undefined}\n     */\n    get ed25519() {\n        const ret = wasm.devicekey_ed25519(this.__wbg_ptr);\n        return ret === 0 ? undefined : Ed25519PublicKey.__wrap(ret);\n    }\n    /**\n     * Get the name of the device key.\n     * @returns {DeviceKeyName}\n     */\n    get name() {\n        const ret = wasm.devicekey_name(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Convert the `DeviceKey` into a base64 encoded string.\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.devicekey_toBase64(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Get the value associated to the `Unknown` device key name.\n     * @returns {string | undefined}\n     */\n    get unknown() {\n        const ret = wasm.devicekey_unknown(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n}\nif (Symbol.dispose) DeviceKey.prototype[Symbol.dispose] = DeviceKey.prototype.free;\n\n/**\n * The basic key algorithms in the specification.\n */\nexport class DeviceKeyAlgorithm {\n    static __wrap(ptr) {\n        const obj = Object.create(DeviceKeyAlgorithm.prototype);\n        obj.__wbg_ptr = ptr;\n        DeviceKeyAlgorithmFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DeviceKeyAlgorithmFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_devicekeyalgorithm_free(ptr, 0);\n    }\n    /**\n     * Read the device key algorithm's name. If the name is\n     * `Unknown`, one may be interested by the `to_string` method to\n     * read the original name.\n     * @returns {DeviceKeyAlgorithmName}\n     */\n    get name() {\n        const ret = wasm.devicekeyalgorithm_name(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Return the device key algorithm as a string.\n     * @returns {string}\n     */\n    toString() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.devicekeyalgorithm_toString(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) DeviceKeyAlgorithm.prototype[Symbol.dispose] = DeviceKeyAlgorithm.prototype.free;\n\n/**\n * The basic key algorithm names in the specification.\n * @enum {0 | 1 | 3}\n */\nexport const DeviceKeyAlgorithmName = Object.freeze({\n    /**\n     * The Ed25519 signature algorithm.\n     */\n    Ed25519: 0, \"0\": \"Ed25519\",\n    /**\n     * The Curve25519 ECDH algorithm.\n     */\n    Curve25519: 1, \"1\": \"Curve25519\",\n    /**\n     * An unknown device key algorithm.\n     */\n    Unknown: 3, \"3\": \"Unknown\",\n});\n\n/**\n * A Matrix device key ID.\n *\n * A key algorithm and a device ID, combined with a ‘:’.\n */\nexport class DeviceKeyId {\n    static __wrap(ptr) {\n        const obj = Object.create(DeviceKeyId.prototype);\n        obj.__wbg_ptr = ptr;\n        DeviceKeyIdFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DeviceKeyIdFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_devicekeyid_free(ptr, 0);\n    }\n    /**\n     * Returns key algorithm of the device key ID.\n     * @returns {DeviceKeyAlgorithm}\n     */\n    get algorithm() {\n        const ret = wasm.devicekeyid_algorithm(this.__wbg_ptr);\n        return DeviceKeyAlgorithm.__wrap(ret);\n    }\n    /**\n     * Returns device ID of the device key ID.\n     * @returns {DeviceId}\n     */\n    get deviceId() {\n        const ret = wasm.devicekeyid_deviceId(this.__wbg_ptr);\n        return DeviceId.__wrap(ret);\n    }\n    /**\n     * Parse/validate and create a new `DeviceKeyId`.\n     * @param {string} id\n     */\n    constructor(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.devicekeyid_new(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        DeviceKeyIdFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Return the device key ID as a string.\n     * @returns {string}\n     */\n    toString() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.devicekeyid_toString(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) DeviceKeyId.prototype[Symbol.dispose] = DeviceKeyId.prototype.free;\n\n/**\n * An enum over the different key types a device can have.\n *\n * Currently devices have a curve25519 and ed25519 keypair. The keys\n * transport format is a base64 encoded string, any unknown key type\n * will be left as such a string.\n * @enum {0 | 1 | 2}\n */\nexport const DeviceKeyName = Object.freeze({\n    /**\n     * The curve25519 device key.\n     */\n    Curve25519: 0, \"0\": \"Curve25519\",\n    /**\n     * The ed25519 device key.\n     */\n    Ed25519: 1, \"1\": \"Ed25519\",\n    /**\n     * An unknown device key.\n     */\n    Unknown: 2, \"2\": \"Unknown\",\n});\n\n/**\n * Information on E2E device updates.\n */\nexport class DeviceLists {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        DeviceListsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_devicelists_free(ptr, 0);\n    }\n    /**\n     * List of users who have updated their device identity keys or\n     * who now share an encrypted room with the client since the\n     * previous sync\n     * @returns {UserId[]}\n     */\n    get changed() {\n        const ret = wasm.devicelists_changed(this.__wbg_ptr);\n        var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n        return v1;\n    }\n    /**\n     * Returns true if there are no device list updates.\n     * @returns {boolean}\n     */\n    isEmpty() {\n        const ret = wasm.devicelists_isEmpty(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * List of users who no longer share encrypted rooms since the\n     * previous sync response.\n     * @returns {UserId[]}\n     */\n    get left() {\n        const ret = wasm.devicelists_left(this.__wbg_ptr);\n        var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n        return v1;\n    }\n    /**\n     * Create an empty `DeviceLists`.\n     *\n     * `changed` and `left` must be an array of `UserId`.\n     *\n     * Items inside `changed` and `left` will be invalidated by this method. Be\n     * careful not to use the `UserId`s after this method has been called.\n     * @param {UserId[] | null} [changed]\n     * @param {UserId[] | null} [left]\n     */\n    constructor(changed, left) {\n        var ptr0 = isLikeNone(changed) ? 0 : passArrayJsValueToWasm0(changed, wasm.__wbindgen_malloc);\n        var len0 = WASM_VECTOR_LEN;\n        var ptr1 = isLikeNone(left) ? 0 : passArrayJsValueToWasm0(left, wasm.__wbindgen_malloc);\n        var len1 = WASM_VECTOR_LEN;\n        const ret = wasm.devicelists_new(ptr0, len0, ptr1, len1);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        DeviceListsFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n}\nif (Symbol.dispose) DeviceLists.prototype[Symbol.dispose] = DeviceLists.prototype.free;\n\n/**\n * An unestablished ECIES session.\n */\nexport class Ecies {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        EciesFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_ecies_free(ptr, 0);\n    }\n    /**\n     * Create a [`EstablishedEcies`] from an initial message encrypted by the\n     * other side.\n     * @param {string} initial_message\n     * @returns {InboundCreationResult}\n     */\n    establish_inbound_channel(initial_message) {\n        const ptr0 = passStringToWasm0(initial_message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.ecies_establish_inbound_channel(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return InboundCreationResult.__wrap(ret[0]);\n    }\n    /**\n     * Create an [`EstablishedEcies`] session using the other side's Curve25519\n     * public key and an initial plaintext.\n     *\n     * After the channel has been established, we can encrypt messages to send\n     * to the other side. The other side uses the initial message to\n     * establishes the same channel on its side.\n     * @param {Curve25519PublicKey} public_key\n     * @param {string} initial_message\n     * @returns {OutboundCreationResult}\n     */\n    establish_outbound_channel(public_key, initial_message) {\n        _assertClass(public_key, Curve25519PublicKey);\n        const ptr0 = passStringToWasm0(initial_message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.ecies_establish_outbound_channel(this.__wbg_ptr, public_key.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return OutboundCreationResult.__wrap(ret[0]);\n    }\n    /**\n     * Create a new, random, unestablished ECIES session.\n     *\n     * This method will use the\n     * [`MATRIX_QR_CODE_LOGIN`](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)\n     * info for domain separation when creating the session.\n     */\n    constructor() {\n        const ret = wasm.ecies_new();\n        this.__wbg_ptr = ret;\n        EciesFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get our [`Curve25519PublicKey`].\n     *\n     * This public key needs to be sent to the other side to be able to\n     * establish an ECIES channel.\n     * @returns {Curve25519PublicKey}\n     */\n    public_key() {\n        const ret = wasm.ecies_public_key(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n}\nif (Symbol.dispose) Ecies.prototype[Symbol.dispose] = Ecies.prototype.free;\n\n/**\n * An Ed25519 public key, used to verify digital signatures.\n */\nexport class Ed25519PublicKey {\n    static __wrap(ptr) {\n        const obj = Object.create(Ed25519PublicKey.prototype);\n        obj.__wbg_ptr = ptr;\n        Ed25519PublicKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        Ed25519PublicKeyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_ed25519publickey_free(ptr, 0);\n    }\n    /**\n     * The number of bytes an Ed25519 public key has.\n     * @returns {number}\n     */\n    get length() {\n        const ret = wasm.ed25519publickey_length(this.__wbg_ptr);\n        return ret >>> 0;\n    }\n    /**\n     * Serialize an Ed25519 public key to an unpadded base64\n     * representation.\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.ed25519publickey_toBase64(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) Ed25519PublicKey.prototype[Symbol.dispose] = Ed25519PublicKey.prototype.free;\n\n/**\n * An Ed25519 digital signature, can be used to verify the\n * authenticity of a message.\n */\nexport class Ed25519Signature {\n    static __wrap(ptr) {\n        const obj = Object.create(Ed25519Signature.prototype);\n        obj.__wbg_ptr = ptr;\n        Ed25519SignatureFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        Ed25519SignatureFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_ed25519signature_free(ptr, 0);\n    }\n    /**\n     * Try to create an Ed25519 signature from an unpadded base64\n     * representation.\n     * @param {string} signature\n     */\n    constructor(signature) {\n        const ptr0 = passStringToWasm0(signature, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.ed25519signature_new(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        Ed25519SignatureFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Serialize a Ed25519 signature to an unpadded base64\n     * representation.\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.ed25519signature_toBase64(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) Ed25519Signature.prototype[Symbol.dispose] = Ed25519Signature.prototype.free;\n\n/**\n * An emoji that is used for interactive verification using a short\n * auth string.\n *\n * This will contain a single emoji and description from the list of\n * emojis from [the specification].\n *\n * [the specification]: https://spec.matrix.org/unstable/client-server-api/#sas-method-emoji\n */\nexport class Emoji {\n    static __wrap(ptr) {\n        const obj = Object.create(Emoji.prototype);\n        obj.__wbg_ptr = ptr;\n        EmojiFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        EmojiFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_emoji_free(ptr, 0);\n    }\n    /**\n     * The description of the emoji, for example ‘Dog’.\n     * @returns {string}\n     */\n    get description() {\n        const ret = wasm.emoji_description(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The emoji symbol that represents a part of the short auth\n     * string, for example: 🐶\n     * @returns {string}\n     */\n    get symbol() {\n        const ret = wasm.emoji_symbol(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) Emoji.prototype[Symbol.dispose] = Emoji.prototype.free;\n\n/**\n * An encrypted attachment, usually created from `Attachment.encrypt`.\n */\nexport class EncryptedAttachment {\n    static __wrap(ptr) {\n        const obj = Object.create(EncryptedAttachment.prototype);\n        obj.__wbg_ptr = ptr;\n        EncryptedAttachmentFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        EncryptedAttachmentFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_encryptedattachment_free(ptr, 0);\n    }\n    /**\n     * The actual encrypted data.\n     *\n     * **Warning**: It returns a **copy** of the entire encrypted\n     * data; be nice with your memory.\n     * @returns {Uint8Array}\n     */\n    get encryptedData() {\n        const ret = wasm.encryptedattachment_encryptedData(this.__wbg_ptr);\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n    /**\n     * Check whether the media encryption info has been consumed by\n     * `Attachment.decrypt` already.\n     * @returns {boolean}\n     */\n    get hasMediaEncryptionInfoBeenConsumed() {\n        const ret = wasm.encryptedattachment_hasMediaEncryptionInfoBeenConsumed(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Return the media encryption info as a JSON-encoded object. The\n     * structure is fully valid.\n     *\n     * If the media encryption info have been consumed already, it\n     * will return `null`.\n     * @returns {string | undefined}\n     */\n    get mediaEncryptionInfo() {\n        const ret = wasm.encryptedattachment_mediaEncryptionInfo(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Create a new encrypted attachment manually.\n     *\n     * It needs encrypted data, stored in an `Uint8Array`, and a\n     * [media encryption\n     * information](https://docs.rs/matrix-sdk-crypto/latest/matrix_sdk_crypto/struct.MediaEncryptionInfo.html),\n     * as a JSON-encoded object.\n     *\n     * The media encryption information aren't stored as a string:\n     * they are parsed, validated and fully deserialized.\n     *\n     * See [the specification to learn\n     * more](https://spec.matrix.org/unstable/client-server-api/#extensions-to-mroommessage-msgtypes).\n     * @param {Uint8Array} encrypted_data\n     * @param {string} media_encryption_info\n     */\n    constructor(encrypted_data, media_encryption_info) {\n        const ptr0 = passArray8ToWasm0(encrypted_data, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(media_encryption_info, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.encryptedattachment_new(ptr0, len0, ptr1, len1);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        EncryptedAttachmentFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n}\nif (Symbol.dispose) EncryptedAttachment.prototype[Symbol.dispose] = EncryptedAttachment.prototype.free;\n\n/**\n * An encryption algorithm to be used to encrypt messages sent to a\n * room.\n * @enum {0 | 1 | 2}\n */\nexport const EncryptionAlgorithm = Object.freeze({\n    /**\n     * Olm version 1 using Curve25519, AES-256, and SHA-256.\n     */\n    OlmV1Curve25519AesSha2: 0, \"0\": \"OlmV1Curve25519AesSha2\",\n    /**\n     * Megolm version 1 using AES-256 and SHA-256.\n     */\n    MegolmV1AesSha2: 1, \"1\": \"MegolmV1AesSha2\",\n    /**\n     * Unsupported algorithm.\n     *\n     * Applications should ignore this value if it is received, and should\n     * never set it.\n     */\n    Unknown: 2, \"2\": \"Unknown\",\n});\n\n/**\n * Struct containing information on how a room event was decrypted.\n */\nexport class EncryptionInfo {\n    static __wrap(ptr) {\n        const obj = Object.create(EncryptionInfo.prototype);\n        obj.__wbg_ptr = ptr;\n        EncryptionInfoFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        EncryptionInfoFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_encryptioninfo_free(ptr, 0);\n    }\n    /**\n     * The verification state of the device that sent us the event.\n     * Note this is the state of the device at the time of\n     * decryption. It may change in the future if a device gets\n     * verified or deleted.\n     *\n     * # Arguments\n     *\n     * * `strict` - whether to enable \"strict mode\" verification. In non-strict\n     *   mode, unverified users are given no shield, and keys that have been\n     *   forwarded or restored from an insecure backup are given a grey shield\n     *   (both get a red shield in strict mode).\n     * @param {boolean} strict\n     * @returns {ShieldState}\n     */\n    shieldState(strict) {\n        const ret = wasm.encryptioninfo_shieldState(this.__wbg_ptr, strict);\n        return ShieldState.__wrap(ret);\n    }\n    /**\n     * The device ID of the user who sent us the keys with which we decrypted\n     * this event as part of an MSC4268 key bundle, if present. Only applicable\n     * for room events.\n     * @returns {DeviceId | undefined}\n     */\n    get forwarderDevice() {\n        const ret = wasm.__wbg_get_encryptioninfo_forwarderDevice(this.__wbg_ptr);\n        return ret === 0 ? undefined : DeviceId.__wrap(ret);\n    }\n    /**\n     * The ID of the user who sent us the keys with which we decrypted this\n     * event as part of an MSC4268 key bundle, if present. Only applicable for\n     * room events.\n     * @returns {UserId | undefined}\n     */\n    get forwarder() {\n        const ret = wasm.__wbg_get_encryptioninfo_forwarder(this.__wbg_ptr);\n        return ret === 0 ? undefined : UserId.__wrap(ret);\n    }\n    /**\n     * The signing Ed25519 key that created the megolm key that\n     * was used to decrypt this session.\n     * @returns {string | undefined}\n     */\n    get senderClaimedEd25519Key() {\n        const ret = wasm.__wbg_get_encryptioninfo_senderClaimedEd25519Key(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * The base64-encoded public Curve25519 key of the device that created the\n     * megolm decryption key originally.\n     * @returns {string}\n     */\n    get senderCurve25519Key() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_encryptioninfo_senderCurve25519Key(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The device ID of the device that sent us the event.\n     *\n     * Note this is untrusted data unless {@link shieldState} shows that the\n     * sender is verified.\n     * @returns {DeviceId | undefined}\n     */\n    get senderDevice() {\n        const ret = wasm.__wbg_get_encryptioninfo_senderDevice(this.__wbg_ptr);\n        return ret === 0 ? undefined : DeviceId.__wrap(ret);\n    }\n    /**\n     * The user ID of the sender of the event.\n     *\n     * Note this is untrusted data unless {@link shieldState} shows that the\n     * sender is verified.\n     * @returns {UserId}\n     */\n    get sender() {\n        const ret = wasm.__wbg_get_encryptioninfo_sender(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * The device ID of the user who sent us the keys with which we decrypted\n     * this event as part of an MSC4268 key bundle, if present. Only applicable\n     * for room events.\n     * @param {DeviceId | null} [arg0]\n     */\n    set forwarderDevice(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, DeviceId);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_encryptioninfo_forwarderDevice(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The ID of the user who sent us the keys with which we decrypted this\n     * event as part of an MSC4268 key bundle, if present. Only applicable for\n     * room events.\n     * @param {UserId | null} [arg0]\n     */\n    set forwarder(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, UserId);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_encryptioninfo_forwarder(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The signing Ed25519 key that created the megolm key that\n     * was used to decrypt this session.\n     * @param {string | null} [arg0]\n     */\n    set senderClaimedEd25519Key(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_encryptioninfo_senderClaimedEd25519Key(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The base64-encoded public Curve25519 key of the device that created the\n     * megolm decryption key originally.\n     * @param {string} arg0\n     */\n    set senderCurve25519Key(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_encryptioninfo_senderCurve25519Key(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The device ID of the device that sent us the event.\n     *\n     * Note this is untrusted data unless {@link shieldState} shows that the\n     * sender is verified.\n     * @param {DeviceId | null} [arg0]\n     */\n    set senderDevice(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, DeviceId);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_encryptioninfo_senderDevice(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The user ID of the sender of the event.\n     *\n     * Note this is untrusted data unless {@link shieldState} shows that the\n     * sender is verified.\n     * @param {UserId} arg0\n     */\n    set sender(arg0) {\n        _assertClass(arg0, UserId);\n        var ptr0 = arg0.__destroy_into_raw();\n        wasm.__wbg_set_encryptioninfo_sender(this.__wbg_ptr, ptr0);\n    }\n}\nif (Symbol.dispose) EncryptionInfo.prototype[Symbol.dispose] = EncryptionInfo.prototype.free;\n\n/**\n * Settings for an encrypted room.\n *\n * This determines the algorithm and rotation periods of a group\n * session.\n */\nexport class EncryptionSettings {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        EncryptionSettingsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_encryptionsettings_free(ptr, 0);\n    }\n    /**\n     * Create a new `EncryptionSettings` with default values.\n     */\n    constructor() {\n        const ret = wasm.encryptionsettings_new();\n        this.__wbg_ptr = ret;\n        EncryptionSettingsFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * The encryption algorithm that should be used in the room.\n     * @returns {EncryptionAlgorithm}\n     */\n    get algorithm() {\n        const ret = wasm.__wbg_get_encryptionsettings_algorithm(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Whether state event encryption is enabled.\n     * @returns {boolean}\n     */\n    get encryptStateEvents() {\n        const ret = wasm.__wbg_get_encryptionsettings_encryptStateEvents(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * The history visibility of the room when the session was\n     * created.\n     * @returns {HistoryVisibility}\n     */\n    get historyVisibility() {\n        const ret = wasm.__wbg_get_encryptionsettings_historyVisibility(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * How many messages should be sent before changing the session.\n     * @returns {bigint}\n     */\n    get rotationPeriodMessages() {\n        const ret = wasm.__wbg_get_encryptionsettings_rotationPeriodMessages(this.__wbg_ptr);\n        return BigInt.asUintN(64, ret);\n    }\n    /**\n     * How long the session should be used before changing it,\n     * expressed in microseconds.\n     * @returns {bigint}\n     */\n    get rotationPeriod() {\n        const ret = wasm.__wbg_get_encryptionsettings_rotationPeriod(this.__wbg_ptr);\n        return BigInt.asUintN(64, ret);\n    }\n    /**\n     * Should untrusted devices receive the room key, or should they be\n     * excluded from the conversation.\n     * @returns {CollectStrategy}\n     */\n    get sharingStrategy() {\n        const ret = wasm.__wbg_get_encryptionsettings_sharingStrategy(this.__wbg_ptr);\n        return CollectStrategy.__wrap(ret);\n    }\n    /**\n     * The encryption algorithm that should be used in the room.\n     * @param {EncryptionAlgorithm} arg0\n     */\n    set algorithm(arg0) {\n        wasm.__wbg_set_encryptionsettings_algorithm(this.__wbg_ptr, arg0);\n    }\n    /**\n     * Whether state event encryption is enabled.\n     * @param {boolean} arg0\n     */\n    set encryptStateEvents(arg0) {\n        wasm.__wbg_set_encryptionsettings_encryptStateEvents(this.__wbg_ptr, arg0);\n    }\n    /**\n     * The history visibility of the room when the session was\n     * created.\n     * @param {HistoryVisibility} arg0\n     */\n    set historyVisibility(arg0) {\n        wasm.__wbg_set_encryptionsettings_historyVisibility(this.__wbg_ptr, arg0);\n    }\n    /**\n     * How many messages should be sent before changing the session.\n     * @param {bigint} arg0\n     */\n    set rotationPeriodMessages(arg0) {\n        wasm.__wbg_set_encryptionsettings_rotationPeriodMessages(this.__wbg_ptr, arg0);\n    }\n    /**\n     * How long the session should be used before changing it,\n     * expressed in microseconds.\n     * @param {bigint} arg0\n     */\n    set rotationPeriod(arg0) {\n        wasm.__wbg_set_encryptionsettings_rotationPeriod(this.__wbg_ptr, arg0);\n    }\n    /**\n     * Should untrusted devices receive the room key, or should they be\n     * excluded from the conversation.\n     * @param {CollectStrategy} arg0\n     */\n    set sharingStrategy(arg0) {\n        _assertClass(arg0, CollectStrategy);\n        var ptr0 = arg0.__destroy_into_raw();\n        wasm.__wbg_set_encryptionsettings_sharingStrategy(this.__wbg_ptr, ptr0);\n    }\n}\nif (Symbol.dispose) EncryptionSettings.prototype[Symbol.dispose] = EncryptionSettings.prototype.free;\n\n/**\n * An established ECIES session.\n *\n * This session can be used to encrypt and decrypt messages between the two\n * sides of the channel.\n */\nexport class EstablishedEcies {\n    static __wrap(ptr) {\n        const obj = Object.create(EstablishedEcies.prototype);\n        obj.__wbg_ptr = ptr;\n        EstablishedEciesFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        EstablishedEciesFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_establishedecies_free(ptr, 0);\n    }\n    /**\n     * Get the [`CheckCode`] which uniquely identifies this\n     * [`EstablishedEcies`] session.\n     *\n     * This check code can be used to verify and confirm that both sides of the\n     * session are indeed using the same shared secret.\n     * @returns {CheckCode}\n     */\n    check_code() {\n        const ret = wasm.establishedecies_check_code(this.__wbg_ptr);\n        return CheckCode.__wrap(ret);\n    }\n    /**\n     * Decrypt the given message using this [`EstablishedEcies`] session.\n     * @param {string} message\n     * @returns {string}\n     */\n    decrypt(message) {\n        let deferred3_0;\n        let deferred3_1;\n        try {\n            const ptr0 = passStringToWasm0(message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len0 = WASM_VECTOR_LEN;\n            const ret = wasm.establishedecies_decrypt(this.__wbg_ptr, ptr0, len0);\n            var ptr2 = ret[0];\n            var len2 = ret[1];\n            if (ret[3]) {\n                ptr2 = 0; len2 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred3_0 = ptr2;\n            deferred3_1 = len2;\n            return getStringFromWasm0(ptr2, len2);\n        } finally {\n            wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);\n        }\n    }\n    /**\n     * Encrypt the given plaintext using this [`EstablishedEcies`] session.\n     * @param {string} message\n     * @returns {string}\n     */\n    encrypt(message) {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            const ptr0 = passStringToWasm0(message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len0 = WASM_VECTOR_LEN;\n            const ret = wasm.establishedecies_encrypt(this.__wbg_ptr, ptr0, len0);\n            deferred2_0 = ret[0];\n            deferred2_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Get our [`Curve25519PublicKey`].\n     *\n     * This public key needs to be sent to the other side so that it can\n     * complete the ECIES channel establishment.\n     * @returns {Curve25519PublicKey}\n     */\n    public_key() {\n        const ret = wasm.establishedecies_public_key(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n}\nif (Symbol.dispose) EstablishedEcies.prototype[Symbol.dispose] = EstablishedEcies.prototype.free;\n\n/**\n * A Matrix [event ID].\n *\n * An `EventId` is generated randomly or converted from a string\n * slice, and can be converted back into a string as needed.\n *\n * [event ID]: https://spec.matrix.org/v1.2/appendices/#room-ids-and-event-ids\n */\nexport class EventId {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        EventIdFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_eventid_free(ptr, 0);\n    }\n    /**\n     * Returns the event's localpart.\n     * @returns {string}\n     */\n    get localpart() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.eventid_localpart(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Parse/validate and create a new `EventId`.\n     * @param {string} id\n     */\n    constructor(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.eventid_new(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        EventIdFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Returns the server name of the event ID.\n     * @returns {ServerName | undefined}\n     */\n    get serverName() {\n        const ret = wasm.eventid_serverName(this.__wbg_ptr);\n        return ret === 0 ? undefined : ServerName.__wrap(ret);\n    }\n    /**\n     * Return the event ID as a string.\n     * @returns {string}\n     */\n    toString() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.eventid_toString(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) EventId.prototype[Symbol.dispose] = EventId.prototype.free;\n\n/**\n * Who can see a room's history.\n * @enum {0 | 1 | 2 | 3}\n */\nexport const HistoryVisibility = Object.freeze({\n    /**\n     * Previous events are accessible to newly joined members from\n     * the point they were invited onwards.\n     *\n     * Events stop being accessible when the member's state changes\n     * to something other than *invite* or *join*.\n     */\n    Invited: 0, \"0\": \"Invited\",\n    /**\n     * Previous events are accessible to newly joined members from\n     * the point they joined the room onwards.\n     *\n     * Events stop being accessible when the member's state changes\n     * to something other than *join*.\n     */\n    Joined: 1, \"1\": \"Joined\",\n    /**\n     * Previous events are always accessible to newly joined members.\n     *\n     * All events in the room are accessible, even those sent when\n     * the member was not a part of the room.\n     */\n    Shared: 2, \"2\": \"Shared\",\n    /**\n     * All events while this is the `HistoryVisibility` value may be\n     * shared by any participating homeserver with anyone, regardless\n     * of whether they have ever joined the room.\n     */\n    WorldReadable: 3, \"3\": \"WorldReadable\",\n});\n\n/**\n * Struct holding the two public identity keys of an account.\n */\nexport class IdentityKeys {\n    static __wrap(ptr) {\n        const obj = Object.create(IdentityKeys.prototype);\n        obj.__wbg_ptr = ptr;\n        IdentityKeysFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        IdentityKeysFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_identitykeys_free(ptr, 0);\n    }\n    /**\n     * The Curve25519 public key, used for establish shared secrets.\n     * @returns {Curve25519PublicKey}\n     */\n    get curve25519() {\n        const ret = wasm.__wbg_get_identitykeys_curve25519(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * The Ed25519 public key, used for signing.\n     * @returns {Ed25519PublicKey}\n     */\n    get ed25519() {\n        const ret = wasm.__wbg_get_identitykeys_ed25519(this.__wbg_ptr);\n        return Ed25519PublicKey.__wrap(ret);\n    }\n    /**\n     * The Curve25519 public key, used for establish shared secrets.\n     * @param {Curve25519PublicKey} arg0\n     */\n    set curve25519(arg0) {\n        _assertClass(arg0, Curve25519PublicKey);\n        var ptr0 = arg0.__destroy_into_raw();\n        wasm.__wbg_set_identitykeys_curve25519(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The Ed25519 public key, used for signing.\n     * @param {Ed25519PublicKey} arg0\n     */\n    set ed25519(arg0) {\n        _assertClass(arg0, Ed25519PublicKey);\n        var ptr0 = arg0.__destroy_into_raw();\n        wasm.__wbg_set_identitykeys_ed25519(this.__wbg_ptr, ptr0);\n    }\n}\nif (Symbol.dispose) IdentityKeys.prototype[Symbol.dispose] = IdentityKeys.prototype.free;\n\n/**\n * The result of an inbound ECIES channel establishment.\n */\nexport class InboundCreationResult {\n    static __wrap(ptr) {\n        const obj = Object.create(InboundCreationResult.prototype);\n        obj.__wbg_ptr = ptr;\n        InboundCreationResultFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        InboundCreationResultFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_inboundcreationresult_free(ptr, 0);\n    }\n    /**\n     * The established ECIES channel.\n     * @returns {EstablishedEcies}\n     */\n    get channel() {\n        const ret = wasm.__wbg_get_inboundcreationresult_channel(this.__wbg_ptr);\n        return EstablishedEcies.__wrap(ret);\n    }\n    /**\n     * The plaintext of the initial message.\n     * @returns {string}\n     */\n    get message() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_inboundcreationresult_message(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The established ECIES channel.\n     * @param {EstablishedEcies} arg0\n     */\n    set channel(arg0) {\n        _assertClass(arg0, EstablishedEcies);\n        var ptr0 = arg0.__destroy_into_raw();\n        wasm.__wbg_set_inboundcreationresult_channel(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The plaintext of the initial message.\n     * @param {string} arg0\n     */\n    set message(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_inboundcreationresult_message(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) InboundCreationResult.prototype[Symbol.dispose] = InboundCreationResult.prototype.free;\n\n/**\n * Inbound group session.\n *\n * Inbound group sessions are used to exchange room messages between a group of\n * participants. Inbound group sessions are used to decrypt the room messages.\n */\nexport class InboundGroupSession {\n    static __wrap(ptr) {\n        const obj = Object.create(InboundGroupSession.prototype);\n        obj.__wbg_ptr = ptr;\n        InboundGroupSessionFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        InboundGroupSessionFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_inboundgroupsession_free(ptr, 0);\n    }\n    /**\n     * Has the session been imported from a file or server-side backup? As\n     * opposed to being directly received as an `m.room_key` event.\n     * @returns {boolean}\n     */\n    hasBeenImported() {\n        const ret = wasm.inboundgroupsession_hasBeenImported(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * The room where this session is used in.\n     * @returns {RoomId}\n     */\n    get roomId() {\n        const ret = wasm.inboundgroupsession_roomId(this.__wbg_ptr);\n        return RoomId.__wrap(ret);\n    }\n    /**\n     * The Curve25519 key of the sender of this session, as a\n     * [Curve25519PublicKey].\n     * @returns {Curve25519PublicKey}\n     */\n    get senderKey() {\n        const ret = wasm.inboundgroupsession_senderKey(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * Returns the unique identifier for this session.\n     * @returns {string}\n     */\n    get sessionId() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.inboundgroupsession_sessionId(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) InboundGroupSession.prototype[Symbol.dispose] = InboundGroupSession.prototype.free;\n\n/**\n * Represents an invalid to-device event that was ignored (because it is\n * missing some mandatory fields, for example).\n */\nexport class InvalidToDeviceEvent {\n    static __wrap(ptr) {\n        const obj = Object.create(InvalidToDeviceEvent.prototype);\n        obj.__wbg_ptr = ptr;\n        InvalidToDeviceEventFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        InvalidToDeviceEventFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_invalidtodeviceevent_free(ptr, 0);\n    }\n    /**\n     * The original message as received from sync, encoded as JSON.\n     * @returns {string}\n     */\n    get rawEvent() {\n        const ret = wasm.__wbg_get_invalidtodeviceevent_rawEvent(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The type of processed to-device event. Always {@link\n     * ProcessedToDeviceEventType.Invalid} for this type.\n     * @returns {ProcessedToDeviceEventType}\n     */\n    get type() {\n        const ret = wasm.invalidtodeviceevent_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) InvalidToDeviceEvent.prototype[Symbol.dispose] = InvalidToDeviceEvent.prototype.free;\n\n/**\n * A request that will back up a batch of room keys to the server\n * ([specification]).\n *\n * [specification]: https://spec.matrix.org/unstable/client-server-api/#put_matrixclientv3room_keyskeys\n */\nexport class KeysBackupRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(KeysBackupRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        KeysBackupRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        KeysBackupRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_keysbackuprequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the rest of the payload: `rooms`.\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_keysbackuprequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The request ID.\n     * @returns {string}\n     */\n    get id() {\n        const ret = wasm.__wbg_get_keysbackuprequest_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The backup version that these room keys should be part of.\n     * @returns {string}\n     */\n    get version() {\n        const ret = wasm.__wbg_get_keysbackuprequest_version(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `KeysBackupRequest`.\n     * @param {string} id\n     * @param {string} body\n     * @param {string} version\n     */\n    constructor(id, body, version) {\n        const ret = wasm.keysbackuprequest_new(id, body, version);\n        this.__wbg_ptr = ret;\n        KeysBackupRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get its request type.\n     * @returns {RequestType}\n     */\n    get type() {\n        const ret = wasm.keysbackuprequest_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) KeysBackupRequest.prototype[Symbol.dispose] = KeysBackupRequest.prototype.free;\n\n/**\n * Data for a request to the `/keys/claim` API endpoint\n * ([specification]).\n *\n * Claims one-time keys that can be used to establish 1-to-1 E2EE\n * sessions.\n *\n * [specification]: https://spec.matrix.org/unstable/client-server-api/#post_matrixclientv3keysclaim\n */\nexport class KeysClaimRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(KeysClaimRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        KeysClaimRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        KeysClaimRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_keysclaimrequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the rest of the payload: `timeout`,\n     * `one_time_keys`.\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_keysclaimrequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The request ID.\n     * @returns {string}\n     */\n    get id() {\n        const ret = wasm.__wbg_get_keysclaimrequest_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `KeysClaimRequest`.\n     * @param {string} id\n     * @param {string} body\n     */\n    constructor(id, body) {\n        const ret = wasm.keysclaimrequest_new(id, body);\n        this.__wbg_ptr = ret;\n        KeysClaimRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get its request type.\n     * @returns {RequestType}\n     */\n    get type() {\n        const ret = wasm.keysclaimrequest_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) KeysClaimRequest.prototype[Symbol.dispose] = KeysClaimRequest.prototype.free;\n\n/**\n * Data for a request to the `/keys/query` API endpoint\n * ([specification]).\n *\n * Returns the current devices and identity keys for the given users.\n *\n * [specification]: https://spec.matrix.org/unstable/client-server-api/#post_matrixclientv3keysquery\n */\nexport class KeysQueryRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(KeysQueryRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        KeysQueryRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        KeysQueryRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_keysqueryrequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the rest of the payload: `timeout`,\n     * `device_keys`, `token`.\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_keysqueryrequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The request ID.\n     * @returns {string}\n     */\n    get id() {\n        const ret = wasm.__wbg_get_keysqueryrequest_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `KeysQueryRequest`.\n     * @param {string} id\n     * @param {string} body\n     */\n    constructor(id, body) {\n        const ret = wasm.keysqueryrequest_new(id, body);\n        this.__wbg_ptr = ret;\n        KeysQueryRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get its request type.\n     * @returns {RequestType}\n     */\n    get type() {\n        const ret = wasm.keysqueryrequest_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) KeysQueryRequest.prototype[Symbol.dispose] = KeysQueryRequest.prototype.free;\n\n/**\n * Data for a request to the `/keys/upload` API endpoint\n * ([specification]).\n *\n * Publishes end-to-end encryption keys for the device.\n *\n * [specification]: https://spec.matrix.org/unstable/client-server-api/#post_matrixclientv3keysupload\n */\nexport class KeysUploadRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(KeysUploadRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        KeysUploadRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        KeysUploadRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_keysuploadrequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the rest of the payload: `device_keys`,\n     * `one_time_keys`, `fallback_keys`.\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_keysuploadrequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The request ID.\n     * @returns {string}\n     */\n    get id() {\n        const ret = wasm.__wbg_get_keysuploadrequest_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `KeysUploadRequest`.\n     * @param {string} id\n     * @param {string} body\n     */\n    constructor(id, body) {\n        const ret = wasm.keysuploadrequest_new(id, body);\n        this.__wbg_ptr = ret;\n        KeysUploadRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get its request type.\n     * @returns {RequestType}\n     */\n    get type() {\n        const ret = wasm.keysuploadrequest_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) KeysUploadRequest.prototype[Symbol.dispose] = KeysUploadRequest.prototype.free;\n\n/**\n * The local trust state of a device.\n * @enum {0 | 1 | 2 | 3}\n */\nexport const LocalTrust = Object.freeze({\n    /**\n     * The device has been verified and is trusted.\n     */\n    Verified: 0, \"0\": \"Verified\",\n    /**\n     * The device been blacklisted from communicating.\n     */\n    BlackListed: 1, \"1\": \"BlackListed\",\n    /**\n     * The trust state of the device is being ignored.\n     */\n    Ignored: 2, \"2\": \"Ignored\",\n    /**\n     * The trust state is unset.\n     */\n    Unset: 3, \"3\": \"Unset\",\n});\n\n/**\n * Logger level.\n * @enum {0 | 1 | 2 | 3 | 4}\n */\nexport const LoggerLevel = Object.freeze({\n    /**\n     * `TRACE` level.\n     *\n     * Designate very low priority, often extremely verbose,\n     * information.\n     */\n    Trace: 0, \"0\": \"Trace\",\n    /**\n     * `DEBUG` level.\n     *\n     * Designate lower priority information.\n     */\n    Debug: 1, \"1\": \"Debug\",\n    /**\n     * `INFO` level.\n     *\n     * Designate useful information.\n     */\n    Info: 2, \"2\": \"Info\",\n    /**\n     * `WARN` level.\n     *\n     * Designate hazardous situations.\n     */\n    Warn: 3, \"3\": \"Warn\",\n    /**\n     * `ERROR` level.\n     *\n     * Designate very serious errors.\n     */\n    Error: 4, \"4\": \"Error\",\n});\n\n/**\n * Represents a signature that is either valid _or_ that could not be\n * decoded.\n */\nexport class MaybeSignature {\n    static __wrap(ptr) {\n        const obj = Object.create(MaybeSignature.prototype);\n        obj.__wbg_ptr = ptr;\n        MaybeSignatureFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        MaybeSignatureFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_maybesignature_free(ptr, 0);\n    }\n    /**\n     * The base64 encoded string that is claimed to contain a\n     * signature but could not be decoded, if any.\n     * @returns {string | undefined}\n     */\n    get invalidSignatureSource() {\n        const ret = wasm.maybesignature_invalidSignatureSource(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Check whether the signature could not be successfully decoded.\n     * @returns {boolean}\n     */\n    isInvalid() {\n        const ret = wasm.maybesignature_isInvalid(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Check whether the signature has been successfully decoded.\n     * @returns {boolean}\n     */\n    isValid() {\n        const ret = wasm.maybesignature_isValid(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * The signature, if successfully decoded.\n     * @returns {Signature | undefined}\n     */\n    get signature() {\n        const ret = wasm.maybesignature_signature(this.__wbg_ptr);\n        return ret === 0 ? undefined : Signature.__wrap(ret);\n    }\n}\nif (Symbol.dispose) MaybeSignature.prototype[Symbol.dispose] = MaybeSignature.prototype.free;\n\n/**\n * Js Decryption error with code.\n */\nexport class MegolmDecryptionError {\n    static __wrap(ptr) {\n        const obj = Object.create(MegolmDecryptionError.prototype);\n        obj.__wbg_ptr = ptr;\n        MegolmDecryptionErrorFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        MegolmDecryptionErrorFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_megolmdecryptionerror_free(ptr, 0);\n    }\n    /**\n     * Description code for the error. See `DecryptionErrorCode`\n     * @returns {DecryptionErrorCode}\n     */\n    get code() {\n        const ret = wasm.__wbg_get_megolmdecryptionerror_code(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * detailed description\n     * @returns {string}\n     */\n    get description() {\n        const ret = wasm.__wbg_get_megolmdecryptionerror_description(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Textual description of the withheld code, if any.\n     *\n     * Example: \"The sender has disabled encrypting to unverified devices.\"\n     *\n     * `undefined` if we have not received a withheld code for the megolm\n     * session.\n     * @returns {string | undefined}\n     */\n    get maybe_withheld() {\n        const ret = wasm.megolmdecryptionerror_maybe_withheld(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Creates generic error with description\n     * @param {string} desc\n     * @returns {MegolmDecryptionError}\n     */\n    static unable_to_decrypt(desc) {\n        const ptr0 = passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.megolmdecryptionerror_unable_to_decrypt(ptr0, len0);\n        return MegolmDecryptionError.__wrap(ret);\n    }\n    /**\n     * The withheld code, if any.\n     *\n     * Example: \"m.unverified\"\n     *\n     * `undefined` if we have not received a withheld code for the megolm\n     * session.\n     * @returns {string | undefined}\n     */\n    get withheldCode() {\n        const ret = wasm.megolmdecryptionerror_withheldCode(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n}\nif (Symbol.dispose) MegolmDecryptionError.prototype[Symbol.dispose] = MegolmDecryptionError.prototype.free;\n\n/**\n * The public part of the backup key.\n */\nexport class MegolmV1BackupKey {\n    static __wrap(ptr) {\n        const obj = Object.create(MegolmV1BackupKey.prototype);\n        obj.__wbg_ptr = ptr;\n        MegolmV1BackupKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        MegolmV1BackupKeyFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_megolmv1backupkey_free(ptr, 0);\n    }\n    /**\n     * Get the full name of the backup algorithm this backup key supports.\n     * @returns {string}\n     */\n    get algorithm() {\n        const ret = wasm.megolmv1backupkey_algorithm(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The actual base64 encoded public key.\n     * @returns {string}\n     */\n    get publicKeyBase64() {\n        const ret = wasm.megolmv1backupkey_publicKeyBase64(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) MegolmV1BackupKey.prototype[Symbol.dispose] = MegolmV1BackupKey.prototype.free;\n\n/**\n * Migration routines\n *\n * The public methods are exposed as static methods on this class, for\n * namespacing and to enable easier mocking in unit tests.\n */\nexport class Migration {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        MigrationFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_migration_free(ptr, 0);\n    }\n    /**\n     * Import the base dataset from a libolm-based setup to a vodozemac-based\n     * setup stored in IndexedDB.\n     *\n     * Populates the user credentials, Olm account, backup data, etc. This is\n     * the first step in the migration process. Once this base data is\n     * imported, further data can be imported with {@link\n     * migrateOlmSessions}, {@link migrateMegolmSessions}, and TODO room\n     * settings.\n     *\n     * # Arguments\n     *\n     * * `data` - The data to be migrated\n     * * `pickle_key` - The libolm pickle key that was used to pickle the olm\n     *   account objects.\n     * * `store_handle` - A connection to the CryptoStore which will be used to\n     *   store the vodozemac data.\n     * * `logger` - An optional logger instance to use for writing log messages\n     *   during the migration operation. An instance of `JsLogger`.\n     * @param {BaseMigrationData} data\n     * @param {Uint8Array} pickle_key\n     * @param {StoreHandle} store_handle\n     * @param {JsLogger} [logger]\n     * @returns {Promise<void>}\n     */\n    static migrateBaseData(data, pickle_key, store_handle, logger) {\n        _assertClass(data, BaseMigrationData);\n        _assertClass(store_handle, StoreHandle);\n        const ret = wasm.migration_migrateBaseData(data.__wbg_ptr, pickle_key, store_handle.__wbg_ptr, isLikeNone(logger) ? 0 : addToExternrefTable0(logger));\n        return ret;\n    }\n    /**\n     * Migrate Megolm sessions of a libolm-based setup to a vodozemac-based\n     * setup stored in an indexedDB crypto store.\n     *\n     * Before this method can be used, {@link migrateBaseData} must be used to\n     * import the base data into the crypto store.\n     *\n     * This method should be called a number of times, with separate batches of\n     * `sessions`. If a progress display is given, it can be updated after\n     * each batch is successfully imported.\n     *\n     * # Arguments\n     *\n     * * `sessions` - An `Array` of {@link PickledInboundGroupSession}s to\n     *   import. Items inside `sessions` will be invalidated by this method.\n     * * `pickle_key` - The libolm pickle key that was used to pickle the\n     *   megolm session objects.\n     * * `store_handle` - A connection to the CryptoStore which will be used to\n     *   store the vodozemac data.\n     * * `logger` - An optional logger instance to use for writing log messages\n     *   during the migration operation. An instance of `JsLogger`.\n     * @param {PickledInboundGroupSession[]} sessions\n     * @param {Uint8Array} pickle_key\n     * @param {StoreHandle} store_handle\n     * @param {JsLogger} [logger]\n     * @returns {Promise<void>}\n     */\n    static migrateMegolmSessions(sessions, pickle_key, store_handle, logger) {\n        const ptr0 = passArrayJsValueToWasm0(sessions, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(store_handle, StoreHandle);\n        const ret = wasm.migration_migrateMegolmSessions(ptr0, len0, pickle_key, store_handle.__wbg_ptr, isLikeNone(logger) ? 0 : addToExternrefTable0(logger));\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Migrate Olm sessions of a libolm-based setup to a vodozemac-based setup\n     * stored in an indexedDB crypto store.\n     *\n     * Before this method can be used, {@link migrateBaseData} must be used to\n     * import the base data into the crypto store.\n     *\n     * This method should be called a number of times, with separate batches of\n     * `sessions`. If a progress display is given, it can be updated after\n     * each batch is successfully imported.\n     *\n     * # Arguments\n     *\n     * * `sessions` - An `Array` of {@link PickledSession}s to import. Items\n     *   inside `sessions` will be invalidated by this method.\n     * * `pickle_key` - The libolm pickle key that was used to pickle the olm\n     *   session objects.\n     * * `store_handle` - A connection to the CryptoStore which will be used to\n     *   store the vodozemac data.\n     * * `logger` - An optional logger instance to use for writing log messages\n     *   during the migration operation. An instance of `JsLogger`.\n     * @param {PickledSession[]} sessions\n     * @param {Uint8Array} pickle_key\n     * @param {StoreHandle} store_handle\n     * @param {JsLogger} [logger]\n     * @returns {Promise<void>}\n     */\n    static migrateOlmSessions(sessions, pickle_key, store_handle, logger) {\n        const ptr0 = passArrayJsValueToWasm0(sessions, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(store_handle, StoreHandle);\n        const ret = wasm.migration_migrateOlmSessions(ptr0, len0, pickle_key, store_handle.__wbg_ptr, isLikeNone(logger) ? 0 : addToExternrefTable0(logger));\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n}\nif (Symbol.dispose) Migration.prototype[Symbol.dispose] = Migration.prototype.free;\n\n/**\n * Intent-specific data in the case the QR code adheres to\n * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/4108 MSC4108} of the QR code\n * data format.\n */\nexport class Msc4108IntentData {\n    static __wrap(ptr) {\n        const obj = Object.create(Msc4108IntentData.prototype);\n        obj.__wbg_ptr = ptr;\n        Msc4108IntentDataFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        Msc4108IntentDataFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_msc4108intentdata_free(ptr, 0);\n    }\n    /**\n     * Get the URL of the rendezvous server which will be used to exchange\n     * messages between the two devices.\n     * @returns {string}\n     */\n    get rendezvousUrl() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_msc4108intentdata_rendezvousUrl(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Get the server name of the homeserver which the new device will be\n     * logged in to.\n     *\n     * This will be only available if the existing device has generated the QR\n     * code and the new device is the one scanning the QR code.\n     * @returns {string | undefined}\n     */\n    get serverName() {\n        const ret = wasm.__wbg_get_msc4108intentdata_serverName(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Get the URL of the rendezvous server which will be used to exchange\n     * messages between the two devices.\n     * @param {string} arg0\n     */\n    set rendezvousUrl(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_msc4108intentdata_rendezvousUrl(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * Get the server name of the homeserver which the new device will be\n     * logged in to.\n     *\n     * This will be only available if the existing device has generated the QR\n     * code and the new device is the one scanning the QR code.\n     * @param {string | null} [arg0]\n     */\n    set serverName(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_msc4108intentdata_serverName(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) Msc4108IntentData.prototype[Symbol.dispose] = Msc4108IntentData.prototype.free;\n\n/**\n * Intent-specific data in the case the QR code adheres to\n * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/4388 MSC4388} of the QR code\n * data format.\n */\nexport class Msc4388IntentData {\n    static __wrap(ptr) {\n        const obj = Object.create(Msc4388IntentData.prototype);\n        obj.__wbg_ptr = ptr;\n        Msc4388IntentDataFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        Msc4388IntentDataFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_msc4388intentdata_free(ptr, 0);\n    }\n    /**\n     * The base URL of the homeserver that the device generating the QR is\n     * using.\n     * @returns {string}\n     */\n    get baseUrl() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_msc4388intentdata_baseUrl(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The ID of the rendezvous session, can be used to exchange messages with\n     * the other device.\n     * @returns {string}\n     */\n    get rendezvousId() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_msc4388intentdata_rendezvousId(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The base URL of the homeserver that the device generating the QR is\n     * using.\n     * @param {string} arg0\n     */\n    set baseUrl(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_msc4388intentdata_baseUrl(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The ID of the rendezvous session, can be used to exchange messages with\n     * the other device.\n     * @param {string} arg0\n     */\n    set rendezvousId(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_msc4388intentdata_rendezvousId(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) Msc4388IntentData.prototype[Symbol.dispose] = Msc4388IntentData.prototype.free;\n\n/**\n * State machine implementation of the Olm/Megolm encryption protocol\n * used for Matrix end to end encryption.\n */\nexport class OlmMachine {\n    static __wrap(ptr) {\n        const obj = Object.create(OlmMachine.prototype);\n        obj.__wbg_ptr = ptr;\n        OlmMachineFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        OlmMachineFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_olmmachine_free(ptr, 0);\n    }\n    /**\n     * Encrypt a batch of room keys and return a request that needs to be sent\n     * out to backup the room keys.\n     *\n     * Returns an optional {@link KeysBackupRequest}.\n     * @returns {Promise<KeysBackupRequest | undefined>}\n     */\n    backupRoomKeys() {\n        const ret = wasm.olmmachine_backupRoomKeys(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new cross signing identity and get the upload request\n     * to push the new public keys to the server.\n     *\n     * Warning: This will delete any existing cross signing keys that\n     * might exist on the server and thus will reset the trust\n     * between all the devices.\n     *\n     * Uploading these keys will require user interactive auth.\n     *\n     * # Arguments\n     *\n     * * `reset`, whether the method should create a new identity or use the\n     *   existing one during the request. If set to true, the request will\n     *   attempt to upload a new identity. If set to false, the request will\n     *   attempt to upload the existing identity. Since the uploading process\n     *   requires user interactive authentication, which involves sending out\n     *   the same request multiple times, setting this argument to false\n     *   enables you to reuse the same request.\n     *\n     * Returns a {@link CrossSigningBootstrapRequests}.\n     * @param {boolean} reset\n     * @returns {Promise<CrossSigningBootstrapRequests>}\n     */\n    bootstrapCrossSigning(reset) {\n        const ret = wasm.olmmachine_bootstrapCrossSigning(this.__wbg_ptr, reset);\n        return ret;\n    }\n    /**\n     * Assemble, and encrypt, a room key bundle for sharing encrypted history,\n     * as per {@link https://github.com/matrix-org/matrix-spec-proposals/pull/4268|MSC4268}.\n     *\n     * Returns `undefined` if there are no keys to share in the given room,\n     * otherwise an {@link EncryptedAttachment}.\n     *\n     * The data should be uploaded to the media server, and the details then\n     * passed to {@link shareRoomKeyBundleData}.\n     *\n     * @experimental\n     * @param {RoomId} room_id\n     * @returns {Promise<EncryptedAttachment | undefined>}\n     */\n    buildRoomKeyBundle(room_id) {\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_buildRoomKeyBundle(this.__wbg_ptr, room_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Store the fact that we are no longer waiting for a key bundle in the\n     * given room.\n     *\n     * The counterpart to {@link storeRoomPendingKeyBundle}. Should be called\n     * when, for example, we leave a room, or have successfully imported a\n     * bundle.\n     *\n     * @experimental\n     * @param {RoomId} room_id\n     * @returns {Promise<void>}\n     */\n    clearRoomPendingKeyBundle(room_id) {\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_clearRoomPendingKeyBundle(this.__wbg_ptr, room_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Shut down the `OlmMachine`.\n     *\n     * The `OlmMachine` cannot be used after this method has been called.\n     *\n     * All associated resources will be closed too, like IndexedDB\n     * connections.\n     */\n    close() {\n        const ptr = this.__destroy_into_raw();\n        wasm.olmmachine_close(ptr);\n    }\n    /**\n     * Get the status of the private cross signing keys.\n     *\n     * This can be used to check which private cross signing keys we\n     * have stored locally.\n     * @returns {Promise<CrossSigningStatus>}\n     */\n    crossSigningStatus() {\n        const ret = wasm.olmmachine_crossSigningStatus(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Try to decrypt a reader into a list of exported room keys.\n     *\n     * `encrypted_exported_room_keys` is the result from\n     * `encrypt_exported_room_keys`. `passphrase` is the passphrase that was\n     * used when calling `encrypt_exported_room_keys`.\n     * @param {string} encrypted_exported_room_keys\n     * @param {string} passphrase\n     * @returns {string}\n     */\n    static decryptExportedRoomKeys(encrypted_exported_room_keys, passphrase) {\n        let deferred4_0;\n        let deferred4_1;\n        try {\n            const ptr0 = passStringToWasm0(encrypted_exported_room_keys, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len0 = WASM_VECTOR_LEN;\n            const ptr1 = passStringToWasm0(passphrase, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len1 = WASM_VECTOR_LEN;\n            const ret = wasm.olmmachine_decryptExportedRoomKeys(ptr0, len0, ptr1, len1);\n            var ptr3 = ret[0];\n            var len3 = ret[1];\n            if (ret[3]) {\n                ptr3 = 0; len3 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred4_0 = ptr3;\n            deferred4_1 = len3;\n            return getStringFromWasm0(ptr3, len3);\n        } finally {\n            wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);\n        }\n    }\n    /**\n     * Decrypt an event from a room timeline.\n     *\n     * # Arguments\n     *\n     * * `event`, the event that should be decrypted.\n     * * `room_id`, the ID of the room where the event was sent to.\n     *\n     * # Returns\n     *\n     * A `Promise` which resolves to a {@link DecryptedRoomEvent} instance, or\n     * rejects with a {@link MegolmDecryptionError} instance.\n     * @param {string} event\n     * @param {RoomId} room_id\n     * @param {DecryptionSettings} decryption_settings\n     * @returns {Promise<DecryptedRoomEvent>}\n     */\n    decryptRoomEvent(event, room_id, decryption_settings) {\n        const ptr0 = passStringToWasm0(event, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(room_id, RoomId);\n        _assertClass(decryption_settings, DecryptionSettings);\n        const ret = wasm.olmmachine_decryptRoomEvent(this.__wbg_ptr, ptr0, len0, room_id.__wbg_ptr, decryption_settings.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Manage dehydrated devices\n     * @returns {DehydratedDevices}\n     */\n    dehydratedDevices() {\n        const ret = wasm.olmmachine_dehydratedDevices(this.__wbg_ptr);\n        return DehydratedDevices.__wrap(ret);\n    }\n    /**\n     * Delete all secrets with the given secret name from the inbox.\n     *\n     * Should be called after handling the secrets with\n     * `get_secrets_from_inbox`.\n     *\n     * # Arguments\n     *\n     * * `secret_name` - The name of the secret to delete.\n     * @param {string} secret_name\n     * @returns {Promise<void>}\n     */\n    deleteSecretsFromInbox(secret_name) {\n        const ptr0 = passStringToWasm0(secret_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_deleteSecretsFromInbox(this.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * The time, in milliseconds since the unix epoch, at which the `Account`\n     * backing this `OlmMachine` was created.\n     *\n     * An `Account` is created when an `OlmMachine` is first instantiated\n     * against a given `Store`, at which point it creates identity keys etc.\n     * This method returns the timestamp, according to the local clock, at\n     * which that happened.\n     * @returns {number}\n     */\n    get deviceCreationTimeMs() {\n        const ret = wasm.olmmachine_deviceCreationTimeMs(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The unique device ID that identifies this `OlmMachine`.\n     * @returns {DeviceId}\n     */\n    get deviceId() {\n        const ret = wasm.olmmachine_deviceId(this.__wbg_ptr);\n        return DeviceId.__wrap(ret);\n    }\n    /**\n     * Disable and reset our backup state.\n     *\n     * This will remove any pending backup request, remove the backup key and\n     * reset the backup state of each room key we have.\n     *\n     * Returns `Promise<void>`.\n     * @returns {Promise<void>}\n     */\n    disableBackup() {\n        const ret = wasm.olmmachine_disableBackup(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the display name of our own device.\n     * @returns {Promise<string | undefined>}\n     */\n    get displayName() {\n        const ret = wasm.olmmachine_displayName(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Activate the given backup key to be used with the given backup version.\n     *\n     * **Warning**: The caller needs to make sure that the given `BackupKey` is\n     * trusted, otherwise we might be encrypting room keys that a malicious\n     * party could decrypt.\n     *\n     * The {@link verifyBackup} method can be used to do so.\n     *\n     * Returns `Promise<void>`.\n     * @param {string} public_key_base_64\n     * @param {string} version\n     * @returns {Promise<void>}\n     */\n    enableBackupV1(public_key_base_64, version) {\n        const ptr0 = passStringToWasm0(public_key_base_64, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_enableBackupV1(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Encrypt the list of exported room keys using the given passphrase.\n     *\n     * `exported_room_keys` is a list of sessions that should be encrypted\n     * (it's generally returned by `export_room_keys`). `passphrase` is the\n     * passphrase that will be used to encrypt the exported room keys. And\n     * `rounds` is the number of rounds that should be used for the key\n     * derivation when the passphrase gets turned into an AES key. More rounds\n     * are increasingly computationnally intensive and as such help against\n     * brute-force attacks. Should be at least `10_000`, while values in the\n     * `100_000` ranges should be preferred.\n     * @param {string} exported_room_keys\n     * @param {string} passphrase\n     * @param {number} rounds\n     * @returns {string}\n     */\n    static encryptExportedRoomKeys(exported_room_keys, passphrase, rounds) {\n        let deferred4_0;\n        let deferred4_1;\n        try {\n            const ptr0 = passStringToWasm0(exported_room_keys, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len0 = WASM_VECTOR_LEN;\n            const ptr1 = passStringToWasm0(passphrase, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n            const len1 = WASM_VECTOR_LEN;\n            const ret = wasm.olmmachine_encryptExportedRoomKeys(ptr0, len0, ptr1, len1, rounds);\n            var ptr3 = ret[0];\n            var len3 = ret[1];\n            if (ret[3]) {\n                ptr3 = 0; len3 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred4_0 = ptr3;\n            deferred4_1 = len3;\n            return getStringFromWasm0(ptr3, len3);\n        } finally {\n            wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);\n        }\n    }\n    /**\n     * Encrypt a room message for the given room.\n     *\n     * **Note**: A room key needs to be shared with the group of users that are\n     * members in the given room. If this is not done this method will panic.\n     *\n     * The usual flow to encrypt an event using this state machine is as\n     * follows:\n     *\n     * 1. Get the one-time key claim request to establish 1:1 Olm sessions for\n     *    the room members of the room we wish to participate in. This is done\n     *    using the [`get_missing_sessions()`](Self::get_missing_sessions)\n     *    method. This method call should be locked per call.\n     *\n     * 2. Share a room key with all the room members using the\n     *    [`share_room_key()`](Self::share_room_key). This method call should\n     *    be locked per room.\n     *\n     * 3. Encrypt the event using this method.\n     *\n     * 4. Send the encrypted event to the server.\n     *\n     * After the room key is shared steps 1 and 2 will become noops, unless\n     * there's some changes in the room membership or in the list of devices a\n     * member has.\n     *\n     *\n     * `room_id` is the ID of the room for which the message should\n     * be encrypted. `event_type` is the type of the event. `content`\n     * is the plaintext content of the message that should be\n     * encrypted.\n     *\n     * # Panics\n     *\n     * Panics if a group session for the given room wasn't shared\n     * beforehand.\n     * @param {RoomId} room_id\n     * @param {string} event_type\n     * @param {string} content\n     * @returns {Promise<string>}\n     */\n    encryptRoomEvent(room_id, event_type, content) {\n        _assertClass(room_id, RoomId);\n        const ptr0 = passStringToWasm0(event_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_encryptRoomEvent(this.__wbg_ptr, room_id.__wbg_ptr, ptr0, len0, ptr1, len1);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Encrypt a state event for the given room.\n     *\n     * This method encrypts a state event for the specified room, using the\n     * current group session. The event will be encrypted so that only\n     * authorized room members can decrypt it.\n     *\n     * **Note**: A room key must have been shared with the group of users in\n     * the room before calling this method. If not, this method will panic.\n     *\n     * The usual flow to encrypt a state event using this machine is identical\n     * to that outlined for [`OlmMachine::encrypt_room_event`].\n     *\n     * # Arguments\n     *\n     * * `room_id` - The ID of the room for which the state event should be\n     *   encrypted.\n     * * `event_type` - The type of the state event.\n     * * `state_key` - The state key for the event.\n     * * `content` - The plaintext JSON content of the event to encrypt.\n     *\n     * # Returns\n     *\n     * A `Promise` resolving to a JSON string containing the encrypted event.\n     *\n     * # Panics\n     *\n     * Panics if a group session for the given room was not previously shared.\n     * @param {RoomId} room_id\n     * @param {string} event_type\n     * @param {string} state_key\n     * @param {string} content\n     * @returns {Promise<string>}\n     */\n    encryptStateEvent(room_id, event_type, state_key, content) {\n        _assertClass(room_id, RoomId);\n        const ptr0 = passStringToWasm0(event_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(state_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len2 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_encryptStateEvent(this.__wbg_ptr, room_id.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Export all the private cross signing keys we have.\n     *\n     * The export will contain the seeds for the ed25519 keys as\n     * unpadded base64 encoded strings.\n     *\n     * Returns `undefined` if we don’t have any private cross signing keys;\n     * otherwise returns a `CrossSigningKeyExport`.\n     * @returns {Promise<CrossSigningKeyExport | undefined>}\n     */\n    exportCrossSigningKeys() {\n        const ret = wasm.olmmachine_exportCrossSigningKeys(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Export the keys that match the given predicate.\n     *\n     * `predicate` is a closure that will be called for every known\n     * `InboundGroupSession`, which represents a room key. If the closure\n     * returns `true`, the `InboundGroupSession` will be included in the\n     * export; otherwise it won't.\n     *\n     * Returns a Promise containing a Result containing a String which is a\n     * JSON-encoded array of ExportedRoomKey objects.\n     * @param {(session: InboundGroupSession) => boolean} predicate\n     * @returns {Promise<string>}\n     */\n    exportRoomKeys(predicate) {\n        const ret = wasm.olmmachine_exportRoomKeys(this.__wbg_ptr, predicate);\n        return ret;\n    }\n    /**\n     * Export all the secrets we have in the store into a {@link\n     * SecretsBundle}.\n     *\n     * This method will export all the private cross-signing keys and, if\n     * available, the private part of a backup key and its accompanying\n     * version.\n     *\n     * The method will fail if we don't have all three private cross-signing\n     * keys available.\n     *\n     * **Warning**: Only export this and share it with a trusted recipient,\n     * i.e. if an existing device is sharing this with a new device.\n     * @returns {Promise<SecretsBundle>}\n     */\n    exportSecretsBundle() {\n        const ret = wasm.olmmachine_exportSecretsBundle(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get a list of all rooms where we are waiting for a key bundle.\n     *\n     * @see getPendingKeyBundleDetailsForRoom\n     *\n     * @experimental\n     * @returns {Promise<Array<RoomPendingKeyBundleDetails>>}\n     */\n    getAllRoomsPendingKeyBundles() {\n        const ret = wasm.olmmachine_getAllRoomsPendingKeyBundles(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the backup keys we have saved in our store.\n     * Returns a `Promise` for {@link BackupKeys}.\n     * @returns {Promise<BackupKeys>}\n     */\n    getBackupKeys() {\n        const ret = wasm.olmmachine_getBackupKeys(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get a specific device of a user.\n     *\n     * ### Parameters\n     *\n     * * `user_id` - The unique ID of the user that the device belongs to.\n     *\n     * * `device_id` - The unique ID of the device.\n     *\n     * * `timeout_secs` - The amount of time we should wait for a `/keys/query`\n     *   response before returning if the user's device list has been marked as\n     *   stale. **Note**, this assumes that the requests from {@link\n     *   OlmMachine.outgoingRequests} are being processed and sent out.\n     *\n     *   If unset, we will return immediately even if the device list is stale.\n     *\n     * ### Returns\n     *\n     * If the device is known, a {@link Device}. Otherwise, `undefined`.\n     * @param {UserId} user_id\n     * @param {DeviceId} device_id\n     * @param {number | null} [timeout_secs]\n     * @returns {Promise<Device | undefined>}\n     */\n    getDevice(user_id, device_id, timeout_secs) {\n        _assertClass(user_id, UserId);\n        _assertClass(device_id, DeviceId);\n        const ret = wasm.olmmachine_getDevice(this.__wbg_ptr, user_id.__wbg_ptr, device_id.__wbg_ptr, !isLikeNone(timeout_secs), isLikeNone(timeout_secs) ? 0 : timeout_secs);\n        return ret;\n    }\n    /**\n     * Get the cross signing user identity of a user.\n     *\n     * Returns a promise for an {@link OwnUserIdentity}, a\n     * {@link OtherUserIdentity}, or `undefined`.\n     * @param {UserId} user_id\n     * @returns {Promise<OwnUserIdentity | OtherUserIdentity | undefined>}\n     */\n    getIdentity(user_id) {\n        _assertClass(user_id, UserId);\n        const ret = wasm.olmmachine_getIdentity(this.__wbg_ptr, user_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the a key claiming request for the user/device pairs that\n     * we are missing Olm sessions for.\n     *\n     * Returns `null` if no key claiming request needs to be sent\n     * out, otherwise it returns a `KeysClaimRequest` object.\n     *\n     * Sessions need to be established between devices so group\n     * sessions for a room can be shared with them.\n     *\n     * This should be called every time a group session needs to be\n     * shared as well as between sync calls. After a sync some\n     * devices may request room keys without us having a valid Olm\n     * session with them, making it impossible to server the room key\n     * request, thus it’s necessary to check for missing sessions\n     * between sync as well.\n     *\n     * Note: Care should be taken that only one such request at a\n     * time is in flight, e.g. using a lock.\n     *\n     * The response of a successful key claiming requests needs to be\n     * passed to the `OlmMachine` with the `mark_request_as_sent`.\n     *\n     * `users` represents the list of users that we should check if\n     * we lack a session with one of their devices. This can be an\n     * empty iterator when calling this method between sync requests.\n     *\n     * Items inside `users` will be invalidated by this method. Be careful not\n     * to use the `UserId`s after this method has been called.\n     * @param {UserId[]} users\n     * @returns {Promise<KeysClaimRequest | null>}\n     */\n    getMissingSessions(users) {\n        const ptr0 = passArrayJsValueToWasm0(users, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_getMissingSessions(this.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * See if we have recently accepted an invitation to the given room.\n     *\n     * If we have accepted an invite to a room without finding an\n     * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/4268|MSC4268}\n     * key bundle, we should accept a key bundle once one arrives.\n     *\n     * The data returned here is populated by the application, via {@link\n     * storeRoomPendingKeyBundle}.\n     *\n     * @experimental\n     * @param {RoomId} room_id\n     * @returns {Promise<RoomPendingKeyBundleDetails | undefined>}\n     */\n    getPendingKeyBundleDetailsForRoom(room_id) {\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_getPendingKeyBundleDetailsForRoom(this.__wbg_ptr, room_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * See if we have received an {@link https://github.com/matrix-org/matrix-spec-proposals/pull/4268|MSC4268}\n     * room key bundle for the given room from the given user.\n     *\n     * Before calling this, the application must make sure that we have an\n     * up-to-date copy of the inviter's cross-signing keys, so that we can\n     * verify the device that sent us the key bundle data message. (For\n     * now, the easiest way to do that is by calling {@link queryKeysForUsers}\n     * for the inviter, and making the resultant request.)\n     *\n     * Returns either `undefined` if no suitable bundle has been received,\n     * or an {@link StoredRoomKeyBundleData}, in which case, the bundle\n     * should be downloaded, and then passed to {@link\n     * receiveRoomKeyBundle}.\n     *\n     * @experimental\n     * @param {RoomId} room_id\n     * @param {UserId} inviter\n     * @returns {Promise<StoredRoomKeyBundleData | undefined>}\n     */\n    getReceivedRoomKeyBundleData(room_id, inviter) {\n        _assertClass(room_id, RoomId);\n        _assertClass(inviter, UserId);\n        const ret = wasm.olmmachine_getReceivedRoomKeyBundleData(this.__wbg_ptr, room_id.__wbg_ptr, inviter.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get encryption info for a decrypted timeline event.\n     *\n     * This recalculates the `EncryptionInfo` data that is returned by\n     * `decryptRoomEvent`, based on the current\n     * verification status of the sender, etc.\n     *\n     * Returns an error for an unencrypted event.\n     *\n     * # Arguments\n     *\n     * * `event` - The event to get information for.\n     * * `room_id` - The ID of the room where the event was sent to.\n     *\n     * # Returns\n     *\n     * {@link EncryptionInfo}\n     * @param {string} event\n     * @param {RoomId} room_id\n     * @returns {Promise<EncryptionInfo>}\n     */\n    getRoomEventEncryptionInfo(event, room_id) {\n        const ptr0 = passStringToWasm0(event, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_getRoomEventEncryptionInfo(this.__wbg_ptr, ptr0, len0, room_id.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Get the stored room settings, such as the encryption algorithm or\n     * whether to encrypt only for trusted devices.\n     *\n     * These settings can be modified via {@link setRoomSettings}.\n     *\n     * # Returns\n     *\n     * `Promise<RoomSettings|undefined>`\n     * @param {RoomId} room_id\n     * @returns {Promise<RoomSettings|undefined>}\n     */\n    getRoomSettings(room_id) {\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_getRoomSettings(this.__wbg_ptr, room_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get all the secrets with the given secret_name we have currently\n     * stored.\n     * The only secret this will currently return is the\n     * `m.megolm_backup.v1` secret.\n     *\n     * Usually you would just register a callback with\n     * [`register_receive_secret_callback`], but if the client is shut down\n     * before handling them, this method can be used to retrieve them.\n     * This method should therefore be called at client startup to retrieve any\n     * secrets received during the previous session.\n     *\n     * The secrets are guaranteed to have been received over a 1-to-1 encrypted\n     * to_device message from one of the user's own verified devices.\n     *\n     * Returns a `Promise` for a `Set` of `String` corresponding to the secret\n     * values.\n     *\n     * If the secret is valid and handled, the secret inbox should be cleared\n     * by calling `delete_secrets_from_inbox`.\n     * @param {string} secret_name\n     * @returns {Promise<Set<string>>}\n     */\n    getSecretsFromInbox(secret_name) {\n        const ptr0 = passStringToWasm0(secret_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_getSecretsFromInbox(this.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * Get a map holding all the devices of a user.\n     *\n     * ### Parameters\n     *\n     * * `user_id` - The unique ID of the user that the device belongs to.\n     *\n     * * `timeout_secs` - The amount of time we should wait for a `/keys/query`\n     *   response before returning if the user's device list has been marked as\n     *   stale. **Note**, this assumes that the requests from {@link\n     *   OlmMachine.outgoingRequests} are being processed and sent out.\n     *\n     *   If unset, we will return immediately even if the device list is stale.\n     *\n     * ### Returns\n     *\n     * A {@link UserDevices} object.\n     * @param {UserId} user_id\n     * @param {number | null} [timeout_secs]\n     * @returns {Promise<UserDevices>}\n     */\n    getUserDevices(user_id, timeout_secs) {\n        _assertClass(user_id, UserId);\n        const ret = wasm.olmmachine_getUserDevices(this.__wbg_ptr, user_id.__wbg_ptr, !isLikeNone(timeout_secs), isLikeNone(timeout_secs) ? 0 : timeout_secs);\n        return ret;\n    }\n    /**\n     * Get a verification object for the given user ID with the given\n     * flow ID (a to-device request ID if the verification has been\n     * requested by a to-device request, or a room event ID if the\n     * verification has been requested by a room event).\n     *\n     * It returns a “`Verification` object”, which is either a `Sas`\n     * or `Qr` object.\n     * @param {UserId} user_id\n     * @param {string} flow_id\n     * @returns {Sas | Qr | undefined}\n     */\n    getVerification(user_id, flow_id) {\n        _assertClass(user_id, UserId);\n        const ptr0 = passStringToWasm0(flow_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_getVerification(this.__wbg_ptr, user_id.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Get a verification request object with the given flow ID.\n     * @param {UserId} user_id\n     * @param {string} flow_id\n     * @returns {VerificationRequest | undefined}\n     */\n    getVerificationRequest(user_id, flow_id) {\n        _assertClass(user_id, UserId);\n        const ptr0 = passStringToWasm0(flow_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_getVerificationRequest(this.__wbg_ptr, user_id.__wbg_ptr, ptr0, len0);\n        return ret === 0 ? undefined : VerificationRequest.__wrap(ret);\n    }\n    /**\n     * Get all the verification requests of a given user.\n     * @param {UserId} user_id\n     * @returns {VerificationRequest[]}\n     */\n    getVerificationRequests(user_id) {\n        _assertClass(user_id, UserId);\n        const ret = wasm.olmmachine_getVerificationRequests(this.__wbg_ptr, user_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get whether we have previously downloaded all message keys for a\n     * particular room from the key backup. Typically called in advance of\n     * building a room key bundle.\n     * @param {RoomId} room_id\n     * @returns {Promise<boolean>}\n     */\n    hasDownloadedAllRoomKeys(room_id) {\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_hasDownloadedAllRoomKeys(this.__wbg_ptr, room_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the public parts of our Olm identity keys.\n     * @returns {IdentityKeys}\n     */\n    get identityKeys() {\n        const ret = wasm.olmmachine_identityKeys(this.__wbg_ptr);\n        return IdentityKeys.__wrap(ret);\n    }\n    /**\n     * Import the given room keys into our store.\n     *\n     * # Arguments\n     *\n     * * `backed_up_room_keys`: keys that were retrieved from backup and that\n     *   should be added to our store (provided they are better than our\n     *   current versions of those keys). Specifically, it should be a Map from\n     *   {@link RoomId}, to a Map from session ID to a (decrypted) session data\n     *   structure.\n     *\n     * * `progress_listener`: an optional callback that takes 3 arguments:\n     *   `progress` (the number of keys that have successfully been imported),\n     *   `total` (the total number of keys), and `failures` (the number of keys\n     *   that failed to import), and returns nothing.\n     *\n     * # Returns\n     *\n     * A {@link RoomKeyImportResult}.\n     * @param {Map<RoomId, Map<string, any>>} backed_up_room_keys\n     * @param {(progress: bigint, total: bigint, failures: bigint) => void | undefined} progress_listener\n     * @param {string} backup_version\n     * @returns {Promise<RoomKeyImportResult>}\n     */\n    importBackedUpRoomKeys(backed_up_room_keys, progress_listener, backup_version) {\n        const ptr0 = passStringToWasm0(backup_version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_importBackedUpRoomKeys(this.__wbg_ptr, backed_up_room_keys, isLikeNone(progress_listener) ? 0 : addToExternrefTable0(progress_listener), ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Import our private cross signing keys.\n     *\n     * The keys should be provided as unpadded-base64-encoded strings.\n     *\n     * Returns a `CrossSigningStatus`.\n     * @param {string | null} [master_key]\n     * @param {string | null} [self_signing_key]\n     * @param {string | null} [user_signing_key]\n     * @returns {Promise<CrossSigningStatus>}\n     */\n    importCrossSigningKeys(master_key, self_signing_key, user_signing_key) {\n        var ptr0 = isLikeNone(master_key) ? 0 : passStringToWasm0(master_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        var ptr1 = isLikeNone(self_signing_key) ? 0 : passStringToWasm0(self_signing_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len1 = WASM_VECTOR_LEN;\n        var ptr2 = isLikeNone(user_signing_key) ? 0 : passStringToWasm0(user_signing_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len2 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_importCrossSigningKeys(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\n        return ret;\n    }\n    /**\n     * Import the given room keys into our store.\n     *\n     * `exported_keys` is a JSON-encoded list of previously exported keys that\n     * should be imported into our store. If we already have a better\n     * version of a key, the key will _not_ be imported.\n     *\n     * `progress_listener` is a closure that takes 2 `BigInt` arguments:\n     * `progress` and `total`, and returns nothing.\n     *\n     * Returns a {@link RoomKeyImportResult}.\n     * @param {string} exported_room_keys\n     * @param {(progress: bigint, total: bigint) => void} progress_listener\n     * @returns {Promise<RoomKeyImportResult>}\n     */\n    importExportedRoomKeys(exported_room_keys, progress_listener) {\n        const ptr0 = passStringToWasm0(exported_room_keys, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_importExportedRoomKeys(this.__wbg_ptr, ptr0, len0, progress_listener);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Import the given room keys into our store.\n     *\n     * Mostly, a deprecated alias for `importExportedRoomKeys`, though the\n     * return type is different.\n     *\n     * Returns a String containing a JSON-encoded object, holding three\n     * properties:\n     *  * `total_count` (the total number of keys found in the export data).\n     *  * `imported_count` (the number of keys that were imported).\n     *  * `keys` (the keys that were imported; a map from room id to a map of\n     *    the sender key to a list of session ids).\n     *\n     * @deprecated Use `importExportedRoomKeys` or `importBackedUpRoomKeys`.\n     * @param {string} exported_room_keys\n     * @param {(imported: bigint, total: bigint) => void} progress_listener\n     * @returns {Promise<string>}\n     */\n    importRoomKeys(exported_room_keys, progress_listener) {\n        const ptr0 = passStringToWasm0(exported_room_keys, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_importRoomKeys(this.__wbg_ptr, ptr0, len0, progress_listener);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Import and persists secrets from a {@link SecretsBundle}.\n     *\n     * This method will import all the private cross-signing keys and, if\n     * available, the private part of a backup key and its accompanying\n     * version into the store.\n     *\n     * **Warning**: Only import this from a trusted source, i.e. if an existing\n     * device is sharing this with a new device. The imported cross-signing\n     * keys will create a {@link OwnUserIdentity} and mark it as verified.\n     *\n     * The backup key will be persisted in the store and can be enabled using\n     * the BackupMachine.\n     *\n     * The provided `SecretsBundle` is freed by this method; be careful not to\n     * use it once this method has been called.\n     * @param {SecretsBundle} bundle\n     * @returns {Promise<void>}\n     */\n    importSecretsBundle(bundle) {\n        _assertClass(bundle, SecretsBundle);\n        var ptr0 = bundle.__destroy_into_raw();\n        const ret = wasm.olmmachine_importSecretsBundle(this.__wbg_ptr, ptr0);\n        return ret;\n    }\n    /**\n     * Create a new `OlmMachine` backed by an existing store.\n     *\n     * # Arguments\n     *\n     * * `user_id` - represents the unique ID of the user that owns this\n     * machine.\n     *\n     * * `device_id` - represents the unique ID of the device\n     * that owns this machine.\n     *\n     * * `store_handle` - the connection to the crypto store to be used for\n     *   this machine.\n     *\n     * * `logger` - Optional logger to use for all operations on this machine.\n     *   An instance of `JsLogger`.\n     * @param {UserId} user_id\n     * @param {DeviceId} device_id\n     * @param {StoreHandle} store_handle\n     * @param {JsLogger} [logger]\n     * @returns {Promise<OlmMachine>}\n     */\n    static initFromStore(user_id, device_id, store_handle, logger) {\n        _assertClass(user_id, UserId);\n        _assertClass(device_id, DeviceId);\n        _assertClass(store_handle, StoreHandle);\n        const ret = wasm.olmmachine_initFromStore(user_id.__wbg_ptr, device_id.__wbg_ptr, store_handle.__wbg_ptr, isLikeNone(logger) ? 0 : addToExternrefTable0(logger));\n        return ret;\n    }\n    /**\n     * Create a new `OlmMachine`.\n     *\n     * The created machine will keep the encryption keys either in a IndexedDB\n     * based store, or in a memory store and once the objects is dropped,\n     * the keys will be lost.\n     *\n     * # Arguments\n     *\n     * * `user_id` - represents the unique ID of the user that owns this\n     * machine.\n     *\n     * * `device_id` - represents the unique ID of the device\n     * that owns this machine.\n     *\n     * * `store_name` - The name that should be used to open the IndexedDB\n     *   based database. If this isn't provided, a memory-only store will be\n     *   used. *Note* the memory-only store will lose your E2EE keys when the\n     *   `OlmMachine` gets dropped.\n     *\n     * * `store_passphrase` - The passphrase that should be used to encrypt the\n     *   IndexedDB-based store.\n     *\n     * * `logger` - Optional logger to use for all operations on this machine.\n     *   An instance of `JsLogger`.\n     * @param {UserId} user_id\n     * @param {DeviceId} device_id\n     * @param {string} [store_name]\n     * @param {string} [store_passphrase]\n     * @param {JsLogger} [logger]\n     * @returns {Promise<OlmMachine>}\n     */\n    static initialize(user_id, device_id, store_name, store_passphrase, logger) {\n        _assertClass(user_id, UserId);\n        _assertClass(device_id, DeviceId);\n        var ptr0 = isLikeNone(store_name) ? 0 : passStringToWasm0(store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        var ptr1 = isLikeNone(store_passphrase) ? 0 : passStringToWasm0(store_passphrase, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len1 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_initialize(user_id.__wbg_ptr, device_id.__wbg_ptr, ptr0, len0, ptr1, len1, isLikeNone(logger) ? 0 : addToExternrefTable0(logger));\n        return ret;\n    }\n    /**\n     * Invalidate the currently active outbound group session for the\n     * given room.\n     *\n     * Returns true if a session was invalidated, false if there was\n     * no session to invalidate.\n     * @param {RoomId} room_id\n     * @returns {Promise<boolean>}\n     */\n    invalidateGroupSession(room_id) {\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_invalidateGroupSession(this.__wbg_ptr, room_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Are we able to encrypt room keys.\n     *\n     * This returns true if we have an active `BackupKey` and backup version\n     * registered with the state machine.\n     *\n     * Returns `Promise<boolean>`.\n     * @returns {Promise<boolean>}\n     */\n    isBackupEnabled() {\n        const ret = wasm.olmmachine_isBackupEnabled(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Mark all tracked users as dirty.\n     *\n     * All users *whose device lists we are tracking* are flagged as needing a\n     * key query. Users whose devices we are not tracking are ignored.\n     * @returns {Promise<void>}\n     */\n    markAllTrackedUsersAsDirty() {\n        const ret = wasm.olmmachine_markAllTrackedUsersAsDirty(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Mark the request with the given request ID as sent (see\n     * `outgoing_requests`).\n     *\n     * Arguments are:\n     *\n     * * `request_id` represents the unique ID of the request that was sent\n     *   out. This is needed to couple the response with the now sent out\n     *   request.\n     * * `response_type` represents the type of the request that was sent out.\n     * * `response` represents the response that was received from the server\n     *   after the outgoing request was sent out.\n     * @param {string} request_id\n     * @param {RequestType} request_type\n     * @param {string} response\n     * @returns {Promise<true>}\n     */\n    markRequestAsSent(request_id, request_type, response) {\n        const ptr0 = passStringToWasm0(request_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(response, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_markRequestAsSent(this.__wbg_ptr, ptr0, len0, request_type, ptr1, len1);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Constructor will always fail. To create a new `OlmMachine`, please use\n     * the `initialize` method.\n     *\n     * Why this pattern? `initialize` returns a `Promise`. Returning a\n     * `Promise` from a constructor is not idiomatic in JavaScript.\n     */\n    constructor() {\n        const ret = wasm.olmmachine_new();\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        OlmMachineFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get the outgoing requests that need to be sent out.\n     *\n     * This returns a list of values, each of which can be any of:\n     *   * {@link KeysUploadRequest},\n     *   * {@link KeysQueryRequest},\n     *   * {@link KeysClaimRequest},\n     *   * {@link ToDeviceRequest},\n     *   * {@link SignatureUploadRequest},\n     *   * {@link RoomMessageRequest}, or\n     *   * {@link KeysBackupRequest}.\n     *\n     * Those requests need to be sent out to the server and the\n     * responses need to be passed back to the state machine\n     * using {@link OlmMachine.markRequestAsSent}.\n     * @returns {Promise<OutgoingRequest[]>}\n     */\n    outgoingRequests() {\n        const ret = wasm.olmmachine_outgoingRequests(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Push a secret to all of our other verified devices\n     *\n     * This function assumes that we already have Olm sessions with the other\n     * devices.  This can be done by calling {@link\n     * OlmMachine.getMissingSessions}.\n     *\n     * # Arguments\n     *\n     * * `secret_name` - The name of the secret to push.\n     * @param {string} name\n     * @returns {Promise<any>}\n     */\n    pushSecretToVerifiedDevices(name) {\n        const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_pushSecretToVerifiedDevices(this.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * Generate an \"out-of-band\" key query request for the given set of users.\n     *\n     * This can be useful if we need the results from `getIdentity` or\n     * `getUserDevices` to be as up-to-date as possible.\n     *\n     * Returns a `KeysQueryRequest` object. The response of the request should\n     * be passed to the `OlmMachine` with the `mark_request_as_sent`.\n     *\n     * Items inside `users` will be invalidated by this method. Be careful not\n     * to use the `UserId`s after this method has been called.\n     * @param {UserId[]} users\n     * @returns {KeysQueryRequest}\n     */\n    queryKeysForUsers(users) {\n        const ptr0 = passArrayJsValueToWasm0(users, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_queryKeysForUsers(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return KeysQueryRequest.__wrap(ret[0]);\n    }\n    /**\n     * Import the message keys from a downloaded room key bundle.\n     *\n     * After {@link getReceivedRoomKeyBundleData} returns a truthy result, the\n     * media file should be downloaded and then passed into this method to\n     * actually do the import.\n     *\n     * @experimental\n     * @param {StoredRoomKeyBundleData} bundle_data\n     * @param {Uint8Array} encrypted_bundle\n     * @returns {Promise<undefined>}\n     */\n    receiveRoomKeyBundle(bundle_data, encrypted_bundle) {\n        _assertClass(bundle_data, StoredRoomKeyBundleData);\n        var ptr0 = bundle_data.__destroy_into_raw();\n        const ptr1 = passArray8ToWasm0(encrypted_bundle, wasm.__wbindgen_malloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_receiveRoomKeyBundle(this.__wbg_ptr, ptr0, ptr1, len1);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Handle to-device events and one-time key counts from a sync\n     * response.\n     *\n     * This will decrypt and handle to-device events returning the\n     * decrypted versions of them.\n     *\n     * To decrypt an event from the room timeline call\n     * `decrypt_room_event`.\n     *\n     * # Arguments\n     *\n     * * `to_device_events`: the JSON-encoded to-device evens from the `/sync`\n     *   response\n     * * `changed_devices`: the mapping of changed and left devices, from the\n     *   `/sync` response\n     * * `one_time_keys_counts`: The number of one-time keys on the server,\n     *   from the `/sync` response. A `Map` from string (encryption algorithm)\n     *   to number (number of keys).\n     * * `unused_fallback_keys`: Optionally, a `Set` of unused fallback keys on\n     *   the server, from the `/sync` response. If this is set, it is used to\n     *   determine if new fallback keys should be uploaded.\n     * * `decryption_settings`: Optionally, the settings to use when decrypting\n     *   to-device events. If not set, to-device events will be decrypted with\n     *   a {@link TrustRequirement} of `Untrusted`.\n     *\n     * # Returns\n     *\n     * A list of values, each of which can be any of:\n     *   * {@link DecryptedToDeviceEvent}\n     *   * {@link PlainTextToDeviceEvent}\n     *   * {@link UTDToDeviceEvent}\n     *   * {@link InvalidToDeviceEvent}\n     * @param {string} to_device_events\n     * @param {DeviceLists} changed_devices\n     * @param {Map<string, number>} one_time_keys_counts\n     * @param {Set<string>} [unused_fallback_keys]\n     * @param {DecryptionSettings} [decryption_settings]\n     * @returns {Promise<ProcessedToDeviceEvent[]>}\n     */\n    receiveSyncChanges(to_device_events, changed_devices, one_time_keys_counts, unused_fallback_keys, decryption_settings) {\n        const ptr0 = passStringToWasm0(to_device_events, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(changed_devices, DeviceLists);\n        let ptr1 = 0;\n        if (!isLikeNone(decryption_settings)) {\n            _assertClass(decryption_settings, DecryptionSettings);\n            ptr1 = decryption_settings.__destroy_into_raw();\n        }\n        const ret = wasm.olmmachine_receiveSyncChanges(this.__wbg_ptr, ptr0, len0, changed_devices.__wbg_ptr, one_time_keys_counts, isLikeNone(unused_fallback_keys) ? 0 : addToExternrefTable0(unused_fallback_keys), ptr1);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Receive a verification event.\n     *\n     * This method can be used to pass verification events that are happening\n     * in rooms to the `OlmMachine`. The event should be in the decrypted form.\n     * @param {string} event\n     * @param {RoomId} room_id\n     * @returns {Promise<void>}\n     */\n    receiveVerificationEvent(event, room_id) {\n        const ptr0 = passStringToWasm0(event, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_receiveVerificationEvent(this.__wbg_ptr, ptr0, len0, room_id.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Register a callback which will be called whenever there is an update to\n     * a device.\n     *\n     * `callback` should be a function that takes a single argument (an array\n     * of user IDs as strings) and returns a Promise.\n     * @param {(userIds: string[]) => Promise<void>} callback\n     */\n    registerDevicesUpdatedCallback(callback) {\n        wasm.olmmachine_registerDevicesUpdatedCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Register a callback which will be called whenever a secret\n     * (`m.secret.send`) is received.\n     *\n     * The only secret this will currently broadcast is the\n     * `m.megolm_backup.v1` (the cross signing secrets are handled internally).\n     *\n     * To request a secret from other devices, a client sends an\n     * `m.secret.request` device event with `action` set to `request` and\n     * `name` set to the identifier of the secret. A device that wishes to\n     * share the secret will reply with an `m.secret.send` event, encrypted\n     * using olm.\n     *\n     * The secrets are guaranteed to have been received over a 1-to-1 encrypted\n     * to_device message from a one of the user's own verified devices.\n     *\n     * See https://matrix-org.github.io/matrix-rust-sdk/matrix_sdk_crypto/store/struct.Store.html#method.secrets_stream for more information.\n     *\n     * `callback` should be a function that takes 2 arguments: the secret name\n     * (string) and value (string).\n     *\n     * **Note**: if the secret is valid and handled on the javascript side, the\n     * secret inbox should be cleared by calling\n     * `delete_secrets_from_inbox`.\n     * @param {(name: string, value: string) => Promise<void>} callback\n     */\n    registerReceiveSecretCallback(callback) {\n        wasm.olmmachine_registerReceiveSecretCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Register a callback which will be called whenever there is an update to\n     * a room key.\n     *\n     * `callback` should be a function that takes a single argument (an array\n     * of {@link RoomKeyInfo}) and returns a Promise.\n     * @param {(info: RoomKeyInfo[]) => Promise<void>} callback\n     */\n    registerRoomKeyUpdatedCallback(callback) {\n        wasm.olmmachine_registerRoomKeyUpdatedCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Register a callback which will be called whenever we receive a\n     * notification that some room keys have been withheld.\n     *\n     * `callback` should be a function that takes a single argument (an array\n     * of {@link RoomKeyWithheldInfo}) and returns a Promise.\n     * @param {(info: RoomKeyWithheldInfo[]) => Promise<void>} callback\n     */\n    registerRoomKeysWithheldCallback(callback) {\n        wasm.olmmachine_registerRoomKeysWithheldCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Register a callback which will be called whenever there is an update to\n     * a user identity.\n     *\n     * `callback` should be a function that takes a single argument (a {@link\n     * UserId}) and returns a Promise.\n     * @param {(id: UserId) => Promise<void>} callback\n     */\n    registerUserIdentityUpdatedCallback(callback) {\n        wasm.olmmachine_registerUserIdentityUpdatedCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Request missing local secrets from our other trusted devices.\n     *\n     * \"Local secrets\" refers to secrets which can be shared between trusted\n     * devices, such as private cross-signing keys, and the megolm backup\n     * decryption key.\n     *\n     * This method will cause the sdk to generated outgoing secret requests\n     * (`m.secret.request`) to get the missing secrets. These requests will\n     * then be returned by a future call to {@link\n     * OlmMachine#outgoingRequests}.\n     *\n     * # Returns\n     *\n     * A `Promise` for a `bool` result, which will be true if  secrets were\n     * missing, and a request was generated.\n     * @returns {Promise<boolean>}\n     */\n    requestMissingSecretsIfNeeded() {\n        const ret = wasm.olmmachine_requestMissingSecretsIfNeeded(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the number of backed up room keys and the total number of room keys.\n     * Returns a {@link RoomKeyCounts}.\n     * @returns {Promise<RoomKeyCounts>}\n     */\n    roomKeyCounts() {\n        const ret = wasm.olmmachine_roomKeyCounts(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Whether room key forwarding is enabled.\n     *\n     * If room key forwarding is enabled, we will automatically reply to\n     * incoming `m.room_key_request` messages from verified devices by\n     * forwarding the requested key (if we have it).\n     * @returns {boolean}\n     */\n    get roomKeyForwardingEnabled() {\n        const ret = wasm.olmmachine_roomKeyForwardingEnabled(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Whether automatic transmission of room key requests is enabled.\n     *\n     * Room key requests allow the device to request room keys that it might\n     * have missed in the original share using `m.room_key_request`\n     * events.\n     * @returns {boolean}\n     */\n    get roomKeyRequestsEnabled() {\n        const ret = wasm.olmmachine_roomKeyRequestsEnabled(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Store the backup decryption key in the crypto store.\n     *\n     * This is useful if the client wants to support gossiping of the backup\n     * key.\n     *\n     * Returns `Promise<void>`.\n     * @param {BackupDecryptionKey} decryption_key\n     * @param {string} version\n     * @returns {Promise<void>}\n     */\n    saveBackupDecryptionKey(decryption_key, version) {\n        _assertClass(decryption_key, BackupDecryptionKey);\n        const ptr0 = passStringToWasm0(version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_saveBackupDecryptionKey(this.__wbg_ptr, decryption_key.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * Record that we have downloaded all message keys for the given room.\n     * @param {RoomId} room_id\n     * @returns {Promise<void>}\n     */\n    setHasDownloadedAllRoomKeys(room_id) {\n        _assertClass(room_id, RoomId);\n        const ret = wasm.olmmachine_setHasDownloadedAllRoomKeys(this.__wbg_ptr, room_id.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Store encryption settings for the given room.\n     *\n     * This method checks if the new settings are \"safe\" -- ie, that they do\n     * not represent a downgrade in encryption security from any previous\n     * settings. Attempts to downgrade security will result in an error.\n     *\n     * If the settings are valid, they will be persisted to the crypto store.\n     * These settings are not used directly by this library, but the saved\n     * settings can be retrieved via {@link getRoomSettings}.\n     * @param {RoomId} room_id\n     * @param {RoomSettings} room_settings\n     * @returns {Promise<void>}\n     */\n    setRoomSettings(room_id, room_settings) {\n        _assertClass(room_id, RoomId);\n        _assertClass(room_settings, RoomSettings);\n        const ret = wasm.olmmachine_setRoomSettings(this.__wbg_ptr, room_id.__wbg_ptr, room_settings.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Enable or disable room key forwarding.\n     * @param {boolean} enabled\n     */\n    set roomKeyForwardingEnabled(enabled) {\n        wasm.olmmachine_set_roomKeyForwardingEnabled(this.__wbg_ptr, enabled);\n    }\n    /**\n     * Enable or disable automatic transmission of room key requests.\n     * @param {boolean} enabled\n     */\n    set roomKeyRequestsEnabled(enabled) {\n        wasm.olmmachine_set_roomKeyRequestsEnabled(this.__wbg_ptr, enabled);\n    }\n    /**\n     * Get to-device requests to share a room key with users in a room.\n     *\n     * `room_id` is the room ID. `users` is an array of `UserId`\n     * objects. `encryption_settings` are an `EncryptionSettings`\n     * object.\n     *\n     * Note: Care should be taken that only one such request at a\n     * time is in flight for the same room, e.g. using a lock.\n     *\n     * Returns an array of `ToDeviceRequest`s.\n     *\n     * Items inside `users` will be invalidated by this method. Be careful not\n     * to use the `UserId`s after this method has been called.\n     * @param {RoomId} room_id\n     * @param {UserId[]} users\n     * @param {EncryptionSettings} encryption_settings\n     * @returns {Promise<ToDeviceRequest[]>}\n     */\n    shareRoomKey(room_id, users, encryption_settings) {\n        _assertClass(room_id, RoomId);\n        const ptr0 = passArrayJsValueToWasm0(users, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(encryption_settings, EncryptionSettings);\n        const ret = wasm.olmmachine_shareRoomKey(this.__wbg_ptr, room_id.__wbg_ptr, ptr0, len0, encryption_settings.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Collect the devices belonging to the given user, and send the details\n     * of a room key bundle to those devices.\n     *\n     * Returns a list of to-device requests which must be sent.\n     *\n     * @experimental\n     * @param {UserId} user\n     * @param {RoomId} room\n     * @param {string} url\n     * @param {string | null | undefined} media_encryption_info\n     * @param {CollectStrategy} sharing_strategy\n     * @returns {Promise<ToDeviceRequest[]>}\n     */\n    shareRoomKeyBundleData(user, room, url, media_encryption_info, sharing_strategy) {\n        _assertClass(user, UserId);\n        _assertClass(room, RoomId);\n        const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        var ptr1 = isLikeNone(media_encryption_info) ? 0 : passStringToWasm0(media_encryption_info, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len1 = WASM_VECTOR_LEN;\n        _assertClass(sharing_strategy, CollectStrategy);\n        var ptr2 = sharing_strategy.__destroy_into_raw();\n        const ret = wasm.olmmachine_shareRoomKeyBundleData(this.__wbg_ptr, user.__wbg_ptr, room.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Sign the given message using our device key and if available\n     * cross-signing master key.\n     * @param {string} message\n     * @returns {Promise<Signatures>}\n     */\n    sign(message) {\n        const ptr0 = passStringToWasm0(message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_sign(this.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * Store the fact that we have accepted an invitation to the given room, so\n     * should accept a key bundle if one arrives soon.\n     *\n     * This should be called whenever we join a room following an invite, but\n     * it has no effect other than that the room will be returned by a future\n     * call to {@link getPendingKeyBundleDetailsForRoom}.\n     *\n     * @experimental\n     * @param {RoomId} room_id\n     * @param {UserId} inviter\n     * @returns {Promise<void>}\n     */\n    storeRoomPendingKeyBundle(room_id, inviter) {\n        _assertClass(room_id, RoomId);\n        _assertClass(inviter, UserId);\n        const ret = wasm.olmmachine_storeRoomPendingKeyBundle(this.__wbg_ptr, room_id.__wbg_ptr, inviter.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the list of users whose devices we are currently tracking.\n     *\n     * A user can be marked for tracking using the\n     * [`update_tracked_users`](#method.update_tracked_users) method.\n     *\n     * Returns a `Set<UserId>`.\n     * @returns {Promise<Set<UserId>>}\n     */\n    trackedUsers() {\n        const ret = wasm.olmmachine_trackedUsers(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Update the list of tracked users.\n     *\n     * The OlmMachine maintains a list of users whose devices we are keeping\n     * track of: these are known as \"tracked users\". These must be users\n     * that we share a room with, so that the server sends us updates for\n     * their device lists.\n     *\n     * # Arguments\n     *\n     * * `users` - An array of user ids that should be added to the list of\n     *   tracked users\n     *\n     * Any users that hadn't been seen before will be flagged for a key query\n     * immediately, and whenever `receive_sync_changes` receives a\n     * \"changed\" notification for that user in the future.\n     *\n     * Users that were already in the list are unaffected.\n     *\n     * Items inside `users` will be invalidated by this method. Be careful not\n     * to use the `UserId`s after this method has been called.\n     * @param {UserId[]} users\n     * @returns {Promise<void>}\n     */\n    updateTrackedUsers(users) {\n        const ptr0 = passArrayJsValueToWasm0(users, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.olmmachine_updateTrackedUsers(this.__wbg_ptr, ptr0, len0);\n        return ret;\n    }\n    /**\n     * The unique user ID that owns this `OlmMachine` instance.\n     * @returns {UserId}\n     */\n    get userId() {\n        const ret = wasm.olmmachine_userId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Check if the given backup has been verified by us or by another of our\n     * devices that we trust.\n     *\n     * The `backup_info` should be a Javascript object with the following\n     * format:\n     *\n     * ```json\n     * {\n     *     \"algorithm\": \"m.megolm_backup.v1.curve25519-aes-sha2\",\n     *     \"auth_data\": {\n     *         \"public_key\":\"XjhWTCjW7l59pbfx9tlCBQolfnIQWARoKOzjTOPSlWM\",\n     *         \"signatures\": {}\n     *     }\n     * }\n     * ```\n     *\n     * Returns a {@link SignatureVerification} object.\n     * @param {any} backup_info\n     * @returns {Promise<SignatureVerification>}\n     */\n    verifyBackup(backup_info) {\n        const ret = wasm.olmmachine_verifyBackup(this.__wbg_ptr, backup_info);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n}\nif (Symbol.dispose) OlmMachine.prototype[Symbol.dispose] = OlmMachine.prototype.free;\n\n/**\n * Struct representing a cross signing identity of a user.\n *\n * This is the user identity of a user that isn't our own. Other users will\n * only contain a master key and a self signing key, meaning that only device\n * signatures can be checked with this identity.\n *\n * This struct wraps a read-only version of the struct and allows verifications\n * to be requested to verify our own device with the user identity.\n */\nexport class OtherUserIdentity {\n    static __wrap(ptr) {\n        const obj = Object.create(OtherUserIdentity.prototype);\n        obj.__wbg_ptr = ptr;\n        OtherUserIdentityFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        OtherUserIdentityFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_otheruseridentity_free(ptr, 0);\n    }\n    /**\n     * Was this identity verified since initial observation and is not anymore?\n     *\n     * Such a violation should be reported to the local user by the\n     * application, and resolved by\n     *\n     * - Verifying the new identity with {@link requestVerification}, or:\n     * - Withdrawing the verification requirement with {@link\n     *   withdrawVerification}.\n     * @returns {boolean}\n     */\n    hasVerificationViolation() {\n        const ret = wasm.otheruseridentity_hasVerificationViolation(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Has the identity changed in a way that requires approval from the user?\n     *\n     * A user identity needs approval if it changed after the crypto machine\n     * has already observed (\"pinned\") a different identity for that user,\n     * unless it is an explicitly verified identity (using for example\n     * interactive verification).\n     *\n     * This situation can be resolved by:\n     *\n     * - Verifying the new identity with {@link requestVerification}, or:\n     * - Updating the pin to the new identity with {@link pinCurrentMasterKey}.\n     * @returns {boolean}\n     */\n    identityNeedsUserApproval() {\n        const ret = wasm.otheruseridentity_identityNeedsUserApproval(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this user identity verified?\n     * @returns {boolean}\n     */\n    isVerified() {\n        const ret = wasm.otheruseridentity_isVerified(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Get the master key of the identity.\n     * @returns {string}\n     */\n    get masterKey() {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            const ret = wasm.otheruseridentity_masterKey(this.__wbg_ptr);\n            var ptr1 = ret[0];\n            var len1 = ret[1];\n            if (ret[3]) {\n                ptr1 = 0; len1 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred2_0 = ptr1;\n            deferred2_1 = len1;\n            return getStringFromWasm0(ptr1, len1);\n        } finally {\n            wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Pin the current identity (public part of the master signing key).\n     * @returns {Promise<void>}\n     */\n    pinCurrentMasterKey() {\n        const ret = wasm.otheruseridentity_pinCurrentMasterKey(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a `VerificationRequest` object after the verification\n     * request content has been sent out.\n     * @param {RoomId} room_id\n     * @param {EventId} request_event_id\n     * @param {VerificationMethod[]} [methods]\n     * @returns {VerificationRequest}\n     */\n    requestVerification(room_id, request_event_id, methods) {\n        _assertClass(room_id, RoomId);\n        _assertClass(request_event_id, EventId);\n        var ptr0 = isLikeNone(methods) ? 0 : passArrayJsValueToWasm0(methods, wasm.__wbindgen_malloc);\n        var len0 = WASM_VECTOR_LEN;\n        const ret = wasm.otheruseridentity_requestVerification(this.__wbg_ptr, room_id.__wbg_ptr, request_event_id.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return VerificationRequest.__wrap(ret[0]);\n    }\n    /**\n     * Get the self-signing key of the identity.\n     * @returns {string}\n     */\n    get selfSigningKey() {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            const ret = wasm.otheruseridentity_selfSigningKey(this.__wbg_ptr);\n            var ptr1 = ret[0];\n            var len1 = ret[1];\n            if (ret[3]) {\n                ptr1 = 0; len1 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred2_0 = ptr1;\n            deferred2_1 = len1;\n            return getStringFromWasm0(ptr1, len1);\n        } finally {\n            wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Send a verification request to the given user.\n     *\n     * The returned content needs to be sent out into a DM room with the given\n     * user.\n     *\n     * After the content has been sent out a VerificationRequest can be started\n     * with the `request_verification` method.\n     * @param {VerificationMethod[]} [methods]\n     * @returns {string}\n     */\n    verificationRequestContent(methods) {\n        let deferred3_0;\n        let deferred3_1;\n        try {\n            var ptr0 = isLikeNone(methods) ? 0 : passArrayJsValueToWasm0(methods, wasm.__wbindgen_malloc);\n            var len0 = WASM_VECTOR_LEN;\n            const ret = wasm.otheruseridentity_verificationRequestContent(this.__wbg_ptr, ptr0, len0);\n            var ptr2 = ret[0];\n            var len2 = ret[1];\n            if (ret[3]) {\n                ptr2 = 0; len2 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred3_0 = ptr2;\n            deferred3_1 = len2;\n            return getStringFromWasm0(ptr2, len2);\n        } finally {\n            wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);\n        }\n    }\n    /**\n     * Manually verify this user.\n     *\n     * This method will attempt to sign the user identity using our private\n     * cross signing key.\n     *\n     * This method fails if we don't have the private part of our user-signing\n     * key.\n     *\n     * Returns a request that needs to be sent out for the user to be marked as\n     * verified.\n     * @returns {Promise<SignatureUploadRequest>}\n     */\n    verify() {\n        const ret = wasm.otheruseridentity_verify(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * True if we verified this identity (with any own identity, at any\n     * point).\n     *\n     * To set this latch back to false, call {@link withdrawVerification}.\n     * @returns {boolean}\n     */\n    wasPreviouslyVerified() {\n        const ret = wasm.otheruseridentity_wasPreviouslyVerified(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Remove the requirement for this identity to be verified.\n     *\n     * If an identity was previously verified and is not anymore it will be\n     * reported to the user. In order to remove this notice users have to\n     * verify again or to withdraw the verification requirement.\n     * @returns {Promise<void>}\n     */\n    withdrawVerification() {\n        const ret = wasm.otheruseridentity_withdrawVerification(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) OtherUserIdentity.prototype[Symbol.dispose] = OtherUserIdentity.prototype.free;\n\n/**\n * The result of an outbound ECIES channel establishment.\n */\nexport class OutboundCreationResult {\n    static __wrap(ptr) {\n        const obj = Object.create(OutboundCreationResult.prototype);\n        obj.__wbg_ptr = ptr;\n        OutboundCreationResultFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        OutboundCreationResultFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_outboundcreationresult_free(ptr, 0);\n    }\n    /**\n     * The established ECIES channel.\n     * @returns {EstablishedEcies}\n     */\n    get channel() {\n        const ret = wasm.__wbg_get_outboundcreationresult_channel(this.__wbg_ptr);\n        return EstablishedEcies.__wrap(ret);\n    }\n    /**\n     * The initial encrypted message.\n     * @returns {string}\n     */\n    get initial_message() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_outboundcreationresult_initial_message(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The established ECIES channel.\n     * @param {EstablishedEcies} arg0\n     */\n    set channel(arg0) {\n        _assertClass(arg0, EstablishedEcies);\n        var ptr0 = arg0.__destroy_into_raw();\n        wasm.__wbg_set_outboundcreationresult_channel(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The initial encrypted message.\n     * @param {string} arg0\n     */\n    set initial_message(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_outboundcreationresult_initial_message(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) OutboundCreationResult.prototype[Symbol.dispose] = OutboundCreationResult.prototype.free;\n\n/**\n * Struct representing a cross signing identity of a user.\n *\n * This is the user identity of a user that is our own.\n */\nexport class OwnUserIdentity {\n    static __wrap(ptr) {\n        const obj = Object.create(OwnUserIdentity.prototype);\n        obj.__wbg_ptr = ptr;\n        OwnUserIdentityFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        OwnUserIdentityFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_ownuseridentity_free(ptr, 0);\n    }\n    /**\n     * Was this identity verified since initial observation and is not anymore?\n     *\n     * Such a violation should be reported to the local user by the\n     * application, and resolved by\n     *\n     * - Verifying the new identity with {@link requestVerification}, or:\n     * - Withdrawing the verification requirement with {@link\n     *   withdrawVerification}.\n     * @returns {boolean}\n     */\n    hasVerificationViolation() {\n        const ret = wasm.ownuseridentity_hasVerificationViolation(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this user identity verified?\n     * @returns {boolean}\n     */\n    isVerified() {\n        const ret = wasm.ownuseridentity_isVerified(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Get the master key of the identity.\n     * @returns {string}\n     */\n    get masterKey() {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            const ret = wasm.ownuseridentity_masterKey(this.__wbg_ptr);\n            var ptr1 = ret[0];\n            var len1 = ret[1];\n            if (ret[3]) {\n                ptr1 = 0; len1 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred2_0 = ptr1;\n            deferred2_1 = len1;\n            return getStringFromWasm0(ptr1, len1);\n        } finally {\n            wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Send a verification request to our other devices.\n     * @param {VerificationMethod[]} [methods]\n     * @returns {Promise<[VerificationRequest, OutgoingVerificationRequest]>}\n     */\n    requestVerification(methods) {\n        var ptr0 = isLikeNone(methods) ? 0 : passArrayJsValueToWasm0(methods, wasm.__wbindgen_malloc);\n        var len0 = WASM_VECTOR_LEN;\n        const ret = wasm.ownuseridentity_requestVerification(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Get the self-signing key of the identity.\n     * @returns {string}\n     */\n    get selfSigningKey() {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            const ret = wasm.ownuseridentity_selfSigningKey(this.__wbg_ptr);\n            var ptr1 = ret[0];\n            var len1 = ret[1];\n            if (ret[3]) {\n                ptr1 = 0; len1 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred2_0 = ptr1;\n            deferred2_1 = len1;\n            return getStringFromWasm0(ptr1, len1);\n        } finally {\n            wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Does our user identity trust our own device, i.e. have we signed our own\n     * device keys with our self-signing key?\n     * @returns {Promise<boolean>}\n     */\n    trustsOurOwnDevice() {\n        const ret = wasm.ownuseridentity_trustsOurOwnDevice(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the user-signing key of the identity. This is only present for our\n     * own user identity.\n     * @returns {string}\n     */\n    get userSigningKey() {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            const ret = wasm.ownuseridentity_userSigningKey(this.__wbg_ptr);\n            var ptr1 = ret[0];\n            var len1 = ret[1];\n            if (ret[3]) {\n                ptr1 = 0; len1 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred2_0 = ptr1;\n            deferred2_1 = len1;\n            return getStringFromWasm0(ptr1, len1);\n        } finally {\n            wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Mark our user identity as verified.\n     *\n     * This will mark the identity locally as verified and sign it with our own\n     * device.\n     *\n     * Returns a signature upload request that needs to be sent out.\n     * @returns {Promise<SignatureUploadRequest>}\n     */\n    verify() {\n        const ret = wasm.ownuseridentity_verify(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * True if we verified our own identity at some point in the past.\n     *\n     * To reset this latch back to `false`, call {@link withdrawVerification}.\n     * @returns {boolean}\n     */\n    wasPreviouslyVerified() {\n        const ret = wasm.ownuseridentity_wasPreviouslyVerified(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Remove the requirement for this identity to be verified.\n     *\n     * If an identity was previously verified and is not any longer, it will be\n     * reported to the user. In order to remove this notice users have to\n     * verify again or to withdraw the verification requirement.\n     * @returns {Promise<void>}\n     */\n    withdrawVerification() {\n        const ret = wasm.ownuseridentity_withdrawVerification(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) OwnUserIdentity.prototype[Symbol.dispose] = OwnUserIdentity.prototype.free;\n\n/**\n * A pickled version of an `InboundGroupSession`.\n *\n * Holds all the information that needs to be stored in a database to restore\n * an InboundGroupSession.\n */\nexport class PickledInboundGroupSession {\n    static __unwrap(jsValue) {\n        if (!(jsValue instanceof PickledInboundGroupSession)) {\n            return 0;\n        }\n        return jsValue.__destroy_into_raw();\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        PickledInboundGroupSessionFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_pickledinboundgroupsession_free(ptr, 0);\n    }\n    /**\n     * Flag remembering if the session has been backed up.\n     * @returns {boolean}\n     */\n    get backedUp() {\n        const ret = wasm.__wbg_get_pickledinboundgroupsession_backedUp(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Flag remembering if the session was directly sent to us by the sender\n     * or if it was imported.\n     * @returns {boolean}\n     */\n    get imported() {\n        const ret = wasm.__wbg_get_pickledinboundgroupsession_imported(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * The pickle string holding the Megolm Session, as returned by\n     * `olm_pickle_inbound_group_session` in libolm.\n     * @returns {string}\n     */\n    get pickle() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_pickledinboundgroupsession_pickle(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The id of the room that the session is used in.\n     *\n     * Nullable so that a `PickledInboundGroupSession` can be constructed\n     * incrementally. Must be populated!\n     * @returns {RoomId | undefined}\n     */\n    get roomId() {\n        const ret = wasm.__wbg_get_pickledinboundgroupsession_roomId(this.__wbg_ptr);\n        return ret === 0 ? undefined : RoomId.__wrap(ret);\n    }\n    /**\n     * The public curve25519 key of the account that sent us the session.\n     * @returns {string}\n     */\n    get senderKey() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_pickledinboundgroupsession_senderKey(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The public ed25519 key of the account that is believed to have initiated\n     * the session, if known.\n     *\n     * If the session was received directly from the creator via an\n     * Olm-encrypted `m.room_key` event, this value is taken from the `keys`\n     * property of the plaintext payload of that event (see\n     * [`m.olm.v1.curve25519-aes-sha2`]).\n     *\n     * If the session was forwarded to us using an [`m.forwarded_room_key`],\n     * this value is a copy of the `sender_claimed_ed25519_key` from the\n     * content of the event.\n     *\n     * [`m.olm.v1.curve25519-aes-sha2`]: https://spec.matrix.org/v1.9/client-server-api/#molmv1curve25519-aes-sha2\n     * [`m.forwarded_room_key`]: https://spec.matrix.org/v1.9/client-server-api/#mforwarded_room_key\n     * @returns {string | undefined}\n     */\n    get senderSigningKey() {\n        const ret = wasm.__wbg_get_pickledinboundgroupsession_senderSigningKey(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Construct a new `PickledInboundGroupSession`, with default values.\n     */\n    constructor() {\n        const ret = wasm.pickledinboundgroupsession_new();\n        this.__wbg_ptr = ret;\n        PickledInboundGroupSessionFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Flag remembering if the session has been backed up.\n     * @param {boolean} arg0\n     */\n    set backedUp(arg0) {\n        wasm.__wbg_set_pickledinboundgroupsession_backedUp(this.__wbg_ptr, arg0);\n    }\n    /**\n     * Flag remembering if the session was directly sent to us by the sender\n     * or if it was imported.\n     * @param {boolean} arg0\n     */\n    set imported(arg0) {\n        wasm.__wbg_set_pickledinboundgroupsession_imported(this.__wbg_ptr, arg0);\n    }\n    /**\n     * The pickle string holding the Megolm Session, as returned by\n     * `olm_pickle_inbound_group_session` in libolm.\n     * @param {string} arg0\n     */\n    set pickle(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_pickledinboundgroupsession_pickle(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The id of the room that the session is used in.\n     *\n     * Nullable so that a `PickledInboundGroupSession` can be constructed\n     * incrementally. Must be populated!\n     * @param {RoomId | null} [arg0]\n     */\n    set roomId(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, RoomId);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_pickledinboundgroupsession_roomId(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The public curve25519 key of the account that sent us the session.\n     * @param {string} arg0\n     */\n    set senderKey(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_pickledinboundgroupsession_senderKey(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The public ed25519 key of the account that is believed to have initiated\n     * the session, if known.\n     *\n     * If the session was received directly from the creator via an\n     * Olm-encrypted `m.room_key` event, this value is taken from the `keys`\n     * property of the plaintext payload of that event (see\n     * [`m.olm.v1.curve25519-aes-sha2`]).\n     *\n     * If the session was forwarded to us using an [`m.forwarded_room_key`],\n     * this value is a copy of the `sender_claimed_ed25519_key` from the\n     * content of the event.\n     *\n     * [`m.olm.v1.curve25519-aes-sha2`]: https://spec.matrix.org/v1.9/client-server-api/#molmv1curve25519-aes-sha2\n     * [`m.forwarded_room_key`]: https://spec.matrix.org/v1.9/client-server-api/#mforwarded_room_key\n     * @param {string | null} [arg0]\n     */\n    set senderSigningKey(arg0) {\n        var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_pickledinboundgroupsession_senderSigningKey(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) PickledInboundGroupSession.prototype[Symbol.dispose] = PickledInboundGroupSession.prototype.free;\n\n/**\n * A pickled version of a `Session`.\n *\n * Holds all the information that needs to be stored in a database to restore\n * an Olm Session. Can be imported into the rust store with {@link\n * Migration::migrateOlmSessions}.\n */\nexport class PickledSession {\n    static __unwrap(jsValue) {\n        if (!(jsValue instanceof PickledSession)) {\n            return 0;\n        }\n        return jsValue.__destroy_into_raw();\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        PickledSessionFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_pickledsession_free(ptr, 0);\n    }\n    /**\n     * Was the session created using a fallback key?\n     * @returns {boolean}\n     */\n    get createdUsingFallbackKey() {\n        const ret = wasm.__wbg_get_pickledsession_createdUsingFallbackKey(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * When the session was created.\n     * @returns {Date}\n     */\n    get creationTime() {\n        const ret = wasm.__wbg_get_pickledsession_creationTime(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * When the session was last used.\n     * @returns {Date}\n     */\n    get lastUseTime() {\n        const ret = wasm.__wbg_get_pickledsession_lastUseTime(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The pickle string holding the Olm Session, as returned by\n     * `olm_pickle_session` in libolm.\n     * @returns {string}\n     */\n    get pickle() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_pickledsession_pickle(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The base64-encoded public curve25519 key of the other user that we share\n     * this session with.\n     * @returns {string}\n     */\n    get senderKey() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_pickledsession_senderKey(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Construct a new `PickledSession`, with default values.\n     */\n    constructor() {\n        const ret = wasm.pickledsession_new();\n        this.__wbg_ptr = ret;\n        PickledSessionFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Was the session created using a fallback key?\n     * @param {boolean} arg0\n     */\n    set createdUsingFallbackKey(arg0) {\n        wasm.__wbg_set_pickledsession_createdUsingFallbackKey(this.__wbg_ptr, arg0);\n    }\n    /**\n     * When the session was created.\n     * @param {Date} arg0\n     */\n    set creationTime(arg0) {\n        wasm.__wbg_set_pickledsession_creationTime(this.__wbg_ptr, arg0);\n    }\n    /**\n     * When the session was last used.\n     * @param {Date} arg0\n     */\n    set lastUseTime(arg0) {\n        wasm.__wbg_set_pickledsession_lastUseTime(this.__wbg_ptr, arg0);\n    }\n    /**\n     * The pickle string holding the Olm Session, as returned by\n     * `olm_pickle_session` in libolm.\n     * @param {string} arg0\n     */\n    set pickle(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_pickledsession_pickle(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The base64-encoded public curve25519 key of the other user that we share\n     * this session with.\n     * @param {string} arg0\n     */\n    set senderKey(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_pickledsession_senderKey(this.__wbg_ptr, ptr0, len0);\n    }\n}\nif (Symbol.dispose) PickledSession.prototype[Symbol.dispose] = PickledSession.prototype.free;\n\n/**\n * A class representing a public-key decryption instance.\n *\n * This implements the decryption part of the\n * `m.megolm_backup.v1.curve25519-aes-sha2` algorithm described in the Matrix\n * {@link https://spec.matrix.org/v1.11/client-server-api/#backup-algorithm-mmegolm_backupv1curve25519-aes-sha2 | spec}.\n *\n * @see {@link PkEncryption}\n *\n * More details can be found in the official {@link https://docs.rs/vodozemac/latest/vodozemac/pk_encryption/ | vodozemac documentation}.\n */\nexport class PkDecryption {\n    static __wrap(ptr) {\n        const obj = Object.create(PkDecryption.prototype);\n        obj.__wbg_ptr = ptr;\n        PkDecryptionFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        PkDecryptionFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_pkdecryption_free(ptr, 0);\n    }\n    /**\n     * Decrypts an encrypted message and returns the raw `Uint8Array`.\n     * @param {PkMessage} message\n     * @returns {Uint8Array}\n     */\n    decrypt(message) {\n        _assertClass(message, PkMessage);\n        const ret = wasm.pkdecryption_decrypt(this.__wbg_ptr, message.__wbg_ptr);\n        if (ret[3]) {\n            throw takeFromExternrefTable0(ret[2]);\n        }\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n    /**\n     * Decrypts an encrypted message and returns the plaintext as a UTF-8\n     * string.\n     * @param {PkMessage} message\n     * @returns {string}\n     */\n    decryptString(message) {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            _assertClass(message, PkMessage);\n            const ret = wasm.pkdecryption_decryptString(this.__wbg_ptr, message.__wbg_ptr);\n            var ptr1 = ret[0];\n            var len1 = ret[1];\n            if (ret[3]) {\n                ptr1 = 0; len1 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred2_0 = ptr1;\n            deferred2_1 = len1;\n            return getStringFromWasm0(ptr1, len1);\n        } finally {\n            wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Creates a `PkDecryption` instance from a secret key.\n     * @param {Curve25519SecretKey} key\n     * @returns {PkDecryption}\n     */\n    static fromKey(key) {\n        _assertClass(key, Curve25519SecretKey);\n        const ret = wasm.pkdecryption_fromKey(key.__wbg_ptr);\n        return PkDecryption.__wrap(ret);\n    }\n    /**\n     * Creates a new `PkDecryption` instance with a newly generated key pair.\n     */\n    constructor() {\n        const ret = wasm.pkdecryption_new();\n        this.__wbg_ptr = ret;\n        PkDecryptionFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Returns the public key associated with this decryption instance.\n     *\n     * This can be used to construct a {@link PkEncryption} object to encrypt a\n     * message for this `PkDecryption` object.\n     * @returns {Curve25519PublicKey}\n     */\n    publicKey() {\n        const ret = wasm.pkdecryption_publicKey(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * Returns the secret key associated with this `PkDecryption` instance.\n     * @returns {Curve25519SecretKey}\n     */\n    secretKey() {\n        const ret = wasm.pkdecryption_secretKey(this.__wbg_ptr);\n        return Curve25519SecretKey.__wrap(ret);\n    }\n}\nif (Symbol.dispose) PkDecryption.prototype[Symbol.dispose] = PkDecryption.prototype.free;\n\n/**\n * A class representing a public-key encryption instance.\n *\n * This implements the encryption part of the\n * `m.megolm_backup.v1.curve25519-aes-sha2` algorithm described in the Matrix\n * {@link https://spec.matrix.org/v1.11/client-server-api/#backup-algorithm-mmegolm_backupv1curve25519-aes-sha2 | spec}.\n *\n * @see {@link PkDecryption}\n *\n * More details can be found in the official {@link https://docs.rs/vodozemac/latest/vodozemac/pk_encryption/ | vodozemac documentation}.\n */\nexport class PkEncryption {\n    static __wrap(ptr) {\n        const obj = Object.create(PkEncryption.prototype);\n        obj.__wbg_ptr = ptr;\n        PkEncryptionFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        PkEncryptionFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_pkencryption_free(ptr, 0);\n    }\n    /**\n     * Encrypts a byte message and returns an encrypted {@link PkMessage}.\n     * @param {Uint8Array} message\n     * @returns {PkMessage}\n     */\n    encrypt(message) {\n        const ptr0 = passArray8ToWasm0(message, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.pkencryption_encrypt(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return PkMessage.__wrap(ret[0]);\n    }\n    /**\n     * Encrypts a string message and returns an encrypted {@link PkMessage}.\n     * @param {string} message\n     * @returns {PkMessage}\n     */\n    encryptString(message) {\n        const ptr0 = passStringToWasm0(message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.pkencryption_encryptString(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return PkMessage.__wrap(ret[0]);\n    }\n    /**\n     * Creates a new `PkEncryption` instance from a public key.\n     * @param {Curve25519PublicKey} public_key\n     * @returns {PkEncryption}\n     */\n    static fromKey(public_key) {\n        _assertClass(public_key, Curve25519PublicKey);\n        const ret = wasm.pkencryption_fromKey(public_key.__wbg_ptr);\n        return PkEncryption.__wrap(ret);\n    }\n}\nif (Symbol.dispose) PkEncryption.prototype[Symbol.dispose] = PkEncryption.prototype.free;\n\n/**\n * A class representing an encrypted message using {@link PkEncryption}.\n */\nexport class PkMessage {\n    static __wrap(ptr) {\n        const obj = Object.create(PkMessage.prototype);\n        obj.__wbg_ptr = ptr;\n        PkMessageFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        PkMessageFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_pkmessage_free(ptr, 0);\n    }\n    /**\n     * Returns the raw ciphertext as a `Uint8Array`.\n     * @returns {Uint8Array}\n     */\n    ciphertext() {\n        const ret = wasm.pkmessage_ciphertext(this.__wbg_ptr);\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n    /**\n     * Returns the ephemeral public key used during encryption.\n     * @returns {Curve25519PublicKey}\n     */\n    ephemeralKey() {\n        const ret = wasm.pkmessage_ephemeralKey(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * Constructs a `PkMessage` from a base64-encoded representation.\n     * @param {Base64EncodedPkMessage} message\n     * @returns {PkMessage}\n     */\n    static fromBase64(message) {\n        _assertClass(message, Base64EncodedPkMessage);\n        const ret = wasm.pkmessage_fromBase64(message.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return PkMessage.__wrap(ret[0]);\n    }\n    /**\n     * Constructs a `PkMessage` from its parts: ciphertext, MAC, and ephemeral\n     * key.\n     * @param {Uint8Array} ciphertext\n     * @param {Uint8Array} mac\n     * @param {Curve25519PublicKey} ephemeral_key\n     * @returns {PkMessage}\n     */\n    static fromParts(ciphertext, mac, ephemeral_key) {\n        const ptr0 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(mac, wasm.__wbindgen_malloc);\n        const len1 = WASM_VECTOR_LEN;\n        _assertClass(ephemeral_key, Curve25519PublicKey);\n        const ret = wasm.pkmessage_fromParts(ptr0, len0, ptr1, len1, ephemeral_key.__wbg_ptr);\n        return PkMessage.__wrap(ret);\n    }\n    /**\n     * Returns the raw message authentication code (MAC) as a `Uint8Array`.\n     * @returns {Uint8Array}\n     */\n    mac() {\n        const ret = wasm.pkmessage_mac(this.__wbg_ptr);\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n    /**\n     * Converts the `PkMessage` into a base64-encoded representation.\n     * @returns {Base64EncodedPkMessage}\n     */\n    toBase64() {\n        const ret = wasm.pkmessage_toBase64(this.__wbg_ptr);\n        return Base64EncodedPkMessage.__wrap(ret);\n    }\n}\nif (Symbol.dispose) PkMessage.prototype[Symbol.dispose] = PkMessage.prototype.free;\n\n/**\n * Represents a to-device event sent in the clear.\n */\nexport class PlainTextToDeviceEvent {\n    static __wrap(ptr) {\n        const obj = Object.create(PlainTextToDeviceEvent.prototype);\n        obj.__wbg_ptr = ptr;\n        PlainTextToDeviceEventFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        PlainTextToDeviceEventFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_plaintexttodeviceevent_free(ptr, 0);\n    }\n    /**\n     * The to-device message, containing `type`, `sender` and `content` fields,\n     * encoded as JSON.\n     * @returns {string}\n     */\n    get rawEvent() {\n        const ret = wasm.__wbg_get_plaintexttodeviceevent_rawEvent(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The type of processed to-device event. Always {@link\n     * ProcessedToDeviceEventType.PlainText} for this type.\n     * @returns {ProcessedToDeviceEventType}\n     */\n    get type() {\n        const ret = wasm.plaintexttodeviceevent_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) PlainTextToDeviceEvent.prototype[Symbol.dispose] = PlainTextToDeviceEvent.prototype.free;\n\n/**\n * The type of a {@link ProcessedToDeviceEvent}.\n * @enum {0 | 1 | 2 | 3}\n */\nexport const ProcessedToDeviceEventType = Object.freeze({\n    /**\n     * A successfully-decrypted encrypted to-device message.\n     */\n    Decrypted: 0, \"0\": \"Decrypted\",\n    /**\n     * An encrypted to-device message which could not be decrypted.\n     */\n    UnableToDecrypt: 1, \"1\": \"UnableToDecrypt\",\n    /**\n     * An unencrypted to-device message (sent in clear).\n     */\n    PlainText: 2, \"2\": \"PlainText\",\n    /**\n     * An invalid to-device message that was ignored because it is missing some\n     * required information to be processed (like no event `type` for\n     * example)\n     */\n    Invalid: 3, \"3\": \"Invalid\",\n});\n\n/**\n * A request that will upload a dehydrated device to the server.\n */\nexport class PutDehydratedDeviceRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(PutDehydratedDeviceRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        PutDehydratedDeviceRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        PutDehydratedDeviceRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_putdehydrateddevicerequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the rest of the payload: `rooms`.\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_putdehydrateddevicerequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `PutDehydratedDeviceRequest`\n     * @param {string} body\n     */\n    constructor(body) {\n        const ret = wasm.putdehydrateddevicerequest_new(body);\n        this.__wbg_ptr = ret;\n        PutDehydratedDeviceRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n}\nif (Symbol.dispose) PutDehydratedDeviceRequest.prototype[Symbol.dispose] = PutDehydratedDeviceRequest.prototype.free;\n\n/**\n * QR code based verification.\n */\nexport class Qr {\n    static __wrap(ptr) {\n        const obj = Object.create(Qr.prototype);\n        obj.__wbg_ptr = ptr;\n        QrFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        QrFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_qr_free(ptr, 0);\n    }\n    /**\n     * Cancel the verification flow.\n     *\n     * Returns either an `OutgoingVerificationRequest` which should be sent\n     * out, or `undefined` if the verification is already cancelled.\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    cancel() {\n        const ret = wasm.qr_cancel(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Get info about the cancellation if the verification flow has\n     * been cancelled.\n     * @returns {CancelInfo | undefined}\n     */\n    cancelInfo() {\n        const ret = wasm.qr_cancelInfo(this.__wbg_ptr);\n        return ret === 0 ? undefined : CancelInfo.__wrap(ret);\n    }\n    /**\n     * Cancel the verification.\n     *\n     * This cancels the verification with given code (e.g. `m.user`).\n     *\n     * Returns either an `OutgoingVerificationRequest` which should be sent\n     * out, or `undefined` if the verification is already cancelled.\n     * @param {string} code\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    cancelWithCode(code) {\n        const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.qr_cancelWithCode(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Confirm that the other side has scanned our QR code.\n     *\n     * Returns either an `OutgoingVerificationRequest` which should be sent\n     * out, or `undefined` if the verification is already confirmed.\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    confirmScanning() {\n        const ret = wasm.qr_confirmScanning(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Get the unique ID that identifies this QR verification flow,\n     * be either a to-device request ID or a room event ID.\n     * @returns {string}\n     */\n    get flowId() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.qr_flowId(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Has the scanning of the QR code been confirmed by us?\n     * @returns {boolean}\n     */\n    hasBeenConfirmed() {\n        const ret = wasm.qr_hasBeenConfirmed(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Has the QR verification been scanned by the other side.\n     *\n     * When the verification object is in this state it’s required\n     * that the user confirms that the other side has scanned the QR\n     * code.\n     * @returns {boolean}\n     */\n    hasBeenScanned() {\n        const ret = wasm.qr_hasBeenScanned(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Has the verification flow been cancelled?\n     * @returns {boolean}\n     */\n    isCancelled() {\n        const ret = wasm.qr_isCancelled(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Has the verification flow completed?\n     * @returns {boolean}\n     */\n    isDone() {\n        const ret = wasm.qr_isDone(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this a verification that is verifying one of our own devices?\n     * @returns {boolean}\n     */\n    isSelfVerification() {\n        const ret = wasm.qr_isSelfVerification(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Get the device ID of the other side.\n     * @returns {DeviceId}\n     */\n    get otherDeviceId() {\n        const ret = wasm.qr_otherDeviceId(this.__wbg_ptr);\n        return DeviceId.__wrap(ret);\n    }\n    /**\n     * Get the user id of the other user that is participating in\n     * this verification flow.\n     * @returns {UserId}\n     */\n    get otherUserId() {\n        const ret = wasm.qr_otherUserId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Notify the other side that we have successfully scanned the QR\n     * code and that the QR verification flow can start.\n     *\n     * This will return some OutgoingContent if the object is in the\n     * correct state to start the verification flow, otherwise None.\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    reciprocate() {\n        const ret = wasm.qr_reciprocate(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Have we successfully scanned the QR code and are able to send\n     * a reciprocation event?\n     * @returns {boolean}\n     */\n    reciprocated() {\n        const ret = wasm.qr_reciprocated(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Register a callback which will be called whenever there is an update to\n     * the request\n     *\n     * The `callback` is called with no parameters.\n     * @param {() => Promise<void>} callback\n     */\n    registerChangesCallback(callback) {\n        wasm.qr_registerChangesCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Get the room id if the verification is happening inside a\n     * room.\n     * @returns {RoomId | undefined}\n     */\n    get roomId() {\n        const ret = wasm.qr_roomId(this.__wbg_ptr);\n        return ret === 0 ? undefined : RoomId.__wrap(ret);\n    }\n    /**\n     * Get the current state of this request.\n     *\n     * Returns a `QrState`.\n     * @returns {QrState}\n     */\n    state() {\n        const ret = wasm.qr_state(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Generate a the raw bytes that should be encoded as a QR code\n     * is representing this verification flow.\n     *\n     * The `to_qr_code` method can be used to instead output a QrCode\n     * object that can be rendered.\n     * @returns {Uint8ClampedArray}\n     */\n    toBytes() {\n        const ret = wasm.qr_toBytes(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Generate a QR code object that is representing this\n     * verification flow.\n     *\n     * The QrCode can then be rendered as an image or as an unicode\n     * string.\n     *\n     * The `to_bytes` method can be used to instead output the raw\n     * bytes that should be encoded as a QR code.\n     *\n     * Returns a `QrCode`.\n     * @returns {QrCode}\n     */\n    toQrCode() {\n        const ret = wasm.qr_toQrCode(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return QrCode.__wrap(ret[0]);\n    }\n    /**\n     * Get our own user ID.\n     * @returns {UserId}\n     */\n    get userId() {\n        const ret = wasm.qr_userId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Did we initiate the verification request?\n     * @returns {boolean}\n     */\n    weStarted() {\n        const ret = wasm.qr_weStarted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n}\nif (Symbol.dispose) Qr.prototype[Symbol.dispose] = Qr.prototype.free;\n\n/**\n * A QR code.\n */\nexport class QrCode {\n    static __wrap(ptr) {\n        const obj = Object.create(QrCode.prototype);\n        obj.__wbg_ptr = ptr;\n        QrCodeFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        QrCodeFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_qrcode_free(ptr, 0);\n    }\n    /**\n     * Render the QR code into a `Uint8ClampedArray` where 1 represents a\n     * dark pixel and 0 a white pixel.\n     * @returns {Uint8ClampedArray}\n     */\n    renderIntoBuffer() {\n        const ret = wasm.qrcode_renderIntoBuffer(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n}\nif (Symbol.dispose) QrCode.prototype[Symbol.dispose] = QrCode.prototype.free;\n\n/**\n * Data for the QR code login mechanism.\n *\n * The {@link QrCodeData} can be serialized and encoded as a QR code or it can\n * be decoded from a QR code.\n *\n * This type supports both the format originally speicied in\n * {link https://github.com/matrix-org/matrix-spec-proposals/pull/4108 MSC4108} as well as the\n * updated format found in\n * {link https://github.com/matrix-org/matrix-spec-proposals/pull/4388 MSC4388}.\n */\nexport class QrCodeData {\n    static __wrap(ptr) {\n        const obj = Object.create(QrCodeData.prototype);\n        obj.__wbg_ptr = ptr;\n        QrCodeDataFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        QrCodeDataFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_qrcodedata_free(ptr, 0);\n    }\n    /**\n     * Attempt to decode a base64 encoded string into a {@link QrCodeData}\n     * object.\n     * @param {string} data\n     * @returns {QrCodeData}\n     */\n    static fromBase64(data) {\n        const ptr0 = passStringToWasm0(data, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.qrcodedata_fromBase64(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return QrCodeData.__wrap(ret[0]);\n    }\n    /**\n     * Attempt to decode a slice of bytes into a {@link QrCodeData} object.\n     *\n     * The slice of bytes would generally be returned by a QR code decoder.\n     * @param {Uint8Array} bytes\n     * @returns {QrCodeData}\n     */\n    static fromBytes(bytes) {\n        const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.qrcodedata_fromBytes(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return QrCodeData.__wrap(ret[0]);\n    }\n    /**\n     * Get the intent-specific data embedded in the {@link QrCodeData}.\n     * @returns {QrCodeIntentData}\n     */\n    get intentData() {\n        const ret = wasm.qrcodedata_intentData(this.__wbg_ptr);\n        return QrCodeIntentData.__wrap(ret);\n    }\n    /**\n     * Get the mode of this {@link QrCodeData} instance.\n     * @returns {QrCodeIntent}\n     */\n    get mode() {\n        const ret = wasm.qrcodedata_mode(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create new {@link QrCodeData} from a given public key, a rendezvous URL\n     * and, optionally, a server name for the homeserver.\n     *\n     * If a server name is given, then the {@link QrCodeData} mode will be\n     * {@link QrCodeIntent.Reciprocate}, i.e. the QR code will contain data for\n     * the existing device to display the QR code.\n     *\n     * If no server name is given, the {@link QrCodeData} mode will be\n     * {@link QrCodeIntent.Login}, i.e. the QR code will contain data for the\n     * new device to display the QR code.\n     * @param {Curve25519PublicKey} public_key\n     * @param {string} rendezvous_url\n     * @param {string | null} [server_name]\n     */\n    constructor(public_key, rendezvous_url, server_name) {\n        _assertClass(public_key, Curve25519PublicKey);\n        var ptr0 = public_key.__destroy_into_raw();\n        const ptr1 = passStringToWasm0(rendezvous_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        var ptr2 = isLikeNone(server_name) ? 0 : passStringToWasm0(server_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len2 = WASM_VECTOR_LEN;\n        const ret = wasm.qrcodedata_new(ptr0, ptr1, len1, ptr2, len2);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        QrCodeDataFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Create new {@link QrCodeData} from a given public key, a rendezvous ID\n     * and, a base homeserver URL.\n     *\n     * This creates a QR code which conforms to\n     * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/4388 MSC4388} of the data\n     * format for QR login.\n     * @param {Curve25519PublicKey} public_key\n     * @param {string} rendezvous_id\n     * @param {string} base_url\n     * @param {QrCodeIntent} intent\n     * @returns {QrCodeData}\n     */\n    static newMsc4388(public_key, rendezvous_id, base_url, intent) {\n        _assertClass(public_key, Curve25519PublicKey);\n        var ptr0 = public_key.__destroy_into_raw();\n        const ptr1 = passStringToWasm0(rendezvous_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passStringToWasm0(base_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len2 = WASM_VECTOR_LEN;\n        const ret = wasm.qrcodedata_newMsc4388(ptr0, ptr1, len1, ptr2, len2, intent);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return QrCodeData.__wrap(ret[0]);\n    }\n    /**\n     * Get the Curve25519 public key embedded in the {@link QrCodeData}.\n     *\n     * This Curve25519 public key should be used to establish an\n     * [HPKE](https://www.rfc-editor.org/rfc/rfc9180.html)\n     * (Hybrid Public Key Encryption) channel with the other device.\n     * @returns {Curve25519PublicKey}\n     */\n    get publicKey() {\n        const ret = wasm.qrcodedata_publicKey(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * Get the URL of the rendezvous server which will be used to exchange\n     * messages between the two devices.\n     * @returns {string | undefined}\n     */\n    get rendezvousUrl() {\n        const ret = wasm.qrcodedata_rendezvousUrl(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Get the server name of the homeserver which the new device will be\n     * logged in to.\n     *\n     * This will be only available if the existing device has generated the QR\n     * code and the new device is the one scanning the QR code.\n     * @returns {string | undefined}\n     */\n    get serverName() {\n        const ret = wasm.qrcodedata_serverName(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Encode the {@link QrCodeData} into a string using base64.\n     *\n     * This format can be used for debugging purposes and the\n     * [`QrcodeData::from_base64()`] method can be used to parse the string\n     * again.\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.qrcodedata_toBase64(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Encode the {@link QrCodeData} into a list of bytes.\n     *\n     * The list of bytes can be used by a QR code generator to create an image\n     * containing a QR code.\n     * @returns {Uint8Array}\n     */\n    toBytes() {\n        const ret = wasm.qrcodedata_toBytes(this.__wbg_ptr);\n        var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n        wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        return v1;\n    }\n}\nif (Symbol.dispose) QrCodeData.prototype[Symbol.dispose] = QrCodeData.prototype.free;\n\n/**\n * The mode of the QR code login.\n *\n * The QR code login mechanism supports both, the new device, as well as the\n * existing device to display the QR code.\n *\n * The different modes have an explicit one-byte identifier which gets added to\n * the QR code data.\n * @enum {0 | 1}\n */\nexport const QrCodeIntent = Object.freeze({\n    /**\n     * The new device is displaying the QR code.\n     */\n    Login: 0, \"0\": \"Login\",\n    /**\n     * The existing device is displaying the QR code.\n     */\n    Reciprocate: 1, \"1\": \"Reciprocate\",\n});\n\n/**\n * Intent and MSC-specific data class for the QR code login support.\n */\nexport class QrCodeIntentData {\n    static __wrap(ptr) {\n        const obj = Object.create(QrCodeIntentData.prototype);\n        obj.__wbg_ptr = ptr;\n        QrCodeIntentDataFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        QrCodeIntentDataFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_qrcodeintentdata_free(ptr, 0);\n    }\n    /**\n     * The MSC4108-specific intent data.\n     *\n     * This will not be `null` only if the {@link QrCodeData} contains data as\n     * specified in the QR code format of MSC4108. Otherwise it will contain\n     * MSC4388-specific intent data.\n     * @returns {Msc4108IntentData | undefined}\n     */\n    get msc4108() {\n        const ret = wasm.__wbg_get_qrcodeintentdata_msc4108(this.__wbg_ptr);\n        return ret === 0 ? undefined : Msc4108IntentData.__wrap(ret);\n    }\n    /**\n     * The MSC4833-specific intent data.\n     *\n     * This will not be `null` only if the {@link QrCodeData} contains data as\n     * specified in the QR code format of MSC4388. Otherwise it will contain\n     * MSC4108-specific intent data.\n     * @returns {Msc4388IntentData | undefined}\n     */\n    get msc4388() {\n        const ret = wasm.__wbg_get_qrcodeintentdata_msc4388(this.__wbg_ptr);\n        return ret === 0 ? undefined : Msc4388IntentData.__wrap(ret);\n    }\n    /**\n     * The MSC4108-specific intent data.\n     *\n     * This will not be `null` only if the {@link QrCodeData} contains data as\n     * specified in the QR code format of MSC4108. Otherwise it will contain\n     * MSC4388-specific intent data.\n     * @param {Msc4108IntentData | null} [arg0]\n     */\n    set msc4108(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, Msc4108IntentData);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_qrcodeintentdata_msc4108(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The MSC4833-specific intent data.\n     *\n     * This will not be `null` only if the {@link QrCodeData} contains data as\n     * specified in the QR code format of MSC4388. Otherwise it will contain\n     * MSC4108-specific intent data.\n     * @param {Msc4388IntentData | null} [arg0]\n     */\n    set msc4388(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, Msc4388IntentData);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_qrcodeintentdata_msc4388(this.__wbg_ptr, ptr0);\n    }\n}\nif (Symbol.dispose) QrCodeIntentData.prototype[Symbol.dispose] = QrCodeIntentData.prototype.free;\n\n/**\n * A scanned QR code.\n */\nexport class QrCodeScan {\n    static __wrap(ptr) {\n        const obj = Object.create(QrCodeScan.prototype);\n        obj.__wbg_ptr = ptr;\n        QrCodeScanFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        QrCodeScanFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_qrcodescan_free(ptr, 0);\n    }\n    /**\n     * Parse the decoded payload of a QR code in byte slice form.\n     *\n     * This method is useful if you would like to do your own custom QR code\n     * decoding.\n     * @param {Uint8ClampedArray} buffer\n     * @returns {QrCodeScan}\n     */\n    static fromBytes(buffer) {\n        const ret = wasm.qrcodescan_fromBytes(buffer);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return QrCodeScan.__wrap(ret[0]);\n    }\n}\nif (Symbol.dispose) QrCodeScan.prototype[Symbol.dispose] = QrCodeScan.prototype.free;\n\n/**\n * List of `Qr` states\n * @enum {0 | 1 | 2 | 3 | 4 | 5}\n */\nexport const QrState = Object.freeze({\n    /**\n     * We have received the other device's details (from the\n     * `m.key.verification.request` or `m.key.verification.ready`) and\n     * established the shared secret, so can\n     * display the QR code.\n     */\n    Created: 0, \"0\": \"Created\",\n    /**\n     * The other side has scanned our QR code and sent an\n     * `m.key.verification.start` message with `method: m.reciprocate.v1` with\n     * matching shared secret.\n     */\n    Scanned: 1, \"1\": \"Scanned\",\n    /**\n     * Our user has confirmed that the other device scanned successfully. We\n     * have sent an `m.key.verification.done`.\n     */\n    Confirmed: 2, \"2\": \"Confirmed\",\n    /**\n     * We have scanned the other side's QR code and are able to send a\n     * `m.key.verification.start` message with `method: m.reciprocate.v1`.\n     *\n     * Call `Qr::reciprocate` to build the start message.\n     *\n     * Note that, despite the name of this state, we have not necessarily\n     * yet sent the `m.reciprocate.v1` message.\n     */\n    Reciprocated: 3, \"3\": \"Reciprocated\",\n    /**\n     * Verification complete: we have received an `m.key.verification.done`\n     * from the other side.\n     */\n    Done: 4, \"4\": \"Done\",\n    /**\n     * Verification cancelled or failed.\n     */\n    Cancelled: 5, \"5\": \"Cancelled\",\n});\n\n/**\n * A rehydrated device\n *\n * This device can receive to-device events to get room keys that were send to\n * it.\n */\nexport class RehydratedDevice {\n    static __wrap(ptr) {\n        const obj = Object.create(RehydratedDevice.prototype);\n        obj.__wbg_ptr = ptr;\n        RehydratedDeviceFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RehydratedDeviceFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_rehydrateddevice_free(ptr, 0);\n    }\n    /**\n     * Receive the to-device events that sent to the dehydrated device\n     *\n     * The rehydrated device will decrypt the events and pass the room keys\n     * into the `OlmMachine`.\n     *\n     * # Arguments\n     *\n     * * `to_device_events` is a JSON-encoded result of the `events` array from\n     *   `/dehydrated_device/{device_id}/events`.\n     * * `decryption_settings`: Optionally, the settings to use when decrypting\n     *   to-device events. If not set, to-device events will be decrypted with\n     *   a {@link TrustRequirement} of `Untrusted`.\n     *\n     * Returns an array of `RoomKeyInfo`, indicating the room keys that were\n     * received.\n     * @param {string} to_device_events\n     * @param {DecryptionSettings | null} [decryption_settings]\n     * @returns {Promise<RoomKeyInfo[]>}\n     */\n    receiveEvents(to_device_events, decryption_settings) {\n        const ptr0 = passStringToWasm0(to_device_events, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        let ptr1 = 0;\n        if (!isLikeNone(decryption_settings)) {\n            _assertClass(decryption_settings, DecryptionSettings);\n            ptr1 = decryption_settings.__destroy_into_raw();\n        }\n        const ret = wasm.rehydrateddevice_receiveEvents(this.__wbg_ptr, ptr0, len0, ptr1);\n        return ret;\n    }\n}\nif (Symbol.dispose) RehydratedDevice.prototype[Symbol.dispose] = RehydratedDevice.prototype.free;\n\n/**\n * Represent the type of a request.\n * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6}\n */\nexport const RequestType = Object.freeze({\n    /**\n     * Represents a `KeysUploadRequest`.\n     */\n    KeysUpload: 0, \"0\": \"KeysUpload\",\n    /**\n     * Represents a `KeysQueryRequest`.\n     */\n    KeysQuery: 1, \"1\": \"KeysQuery\",\n    /**\n     * Represents a `KeysClaimRequest`.\n     */\n    KeysClaim: 2, \"2\": \"KeysClaim\",\n    /**\n     * Represents a `ToDeviceRequest`.\n     */\n    ToDevice: 3, \"3\": \"ToDevice\",\n    /**\n     * Represents a `SignatureUploadRequest`.\n     */\n    SignatureUpload: 4, \"4\": \"SignatureUpload\",\n    /**\n     * Represents a `RoomMessageRequest`.\n     */\n    RoomMessage: 5, \"5\": \"RoomMessage\",\n    /**\n     * Represents a `KeysBackupRequest`.\n     */\n    KeysBackup: 6, \"6\": \"KeysBackup\",\n});\n\n/**\n * A Matrix [room ID].\n *\n * [room ID]: https://spec.matrix.org/v1.2/appendices/#room-ids-and-event-ids\n */\nexport class RoomId {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomId.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomIdFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    static __unwrap(jsValue) {\n        if (!(jsValue instanceof RoomId)) {\n            return 0;\n        }\n        return jsValue.__destroy_into_raw();\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomIdFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roomid_free(ptr, 0);\n    }\n    /**\n     * Parse/validate and create a new `RoomId`.\n     * @param {string} id\n     */\n    constructor(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.roomid_new(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        RoomIdFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Return the room ID as a string.\n     * @returns {string}\n     */\n    toString() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.roomid_toString(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) RoomId.prototype[Symbol.dispose] = RoomId.prototype.free;\n\n/**\n * Struct holding the number of room keys we have.\n */\nexport class RoomKeyCounts {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomKeyCounts.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomKeyCountsFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomKeyCountsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roomkeycounts_free(ptr, 0);\n    }\n    /**\n     * The number of backed up room keys.\n     * @returns {number}\n     */\n    get backedUp() {\n        const ret = wasm.__wbg_get_roomkeycounts_backedUp(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The total number of room keys.\n     * @returns {number}\n     */\n    get total() {\n        const ret = wasm.__wbg_get_roomkeycounts_total(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The number of backed up room keys.\n     * @param {number} arg0\n     */\n    set backedUp(arg0) {\n        wasm.__wbg_set_roomkeycounts_backedUp(this.__wbg_ptr, arg0);\n    }\n    /**\n     * The total number of room keys.\n     * @param {number} arg0\n     */\n    set total(arg0) {\n        wasm.__wbg_set_roomkeycounts_total(this.__wbg_ptr, arg0);\n    }\n}\nif (Symbol.dispose) RoomKeyCounts.prototype[Symbol.dispose] = RoomKeyCounts.prototype.free;\n\n/**\n * The result of a call to {@link OlmMachine.importExportedRoomKeys} or\n * {@link OlmMachine.importBackedUpRoomKeys}.\n */\nexport class RoomKeyImportResult {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomKeyImportResult.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomKeyImportResultFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomKeyImportResultFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roomkeyimportresult_free(ptr, 0);\n    }\n    /**\n     * The number of room keys that were imported.\n     * @returns {number}\n     */\n    get importedCount() {\n        const ret = wasm.__wbg_get_roomkeyimportresult_importedCount(this.__wbg_ptr);\n        return ret >>> 0;\n    }\n    /**\n     * The total number of room keys that were found in the export.\n     * @returns {number}\n     */\n    get totalCount() {\n        const ret = wasm.__wbg_get_roomkeyimportresult_totalCount(this.__wbg_ptr);\n        return ret >>> 0;\n    }\n    /**\n     * The keys that were imported.\n     *\n     * A Map from room id to a Map of the sender key to a Set of session ids.\n     *\n     * Typescript type: `Map<string, Map<string, Set<string>>`.\n     * @returns {Map<string, Map<string, Set<string>>>}\n     */\n    keys() {\n        const ret = wasm.roomkeyimportresult_keys(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) RoomKeyImportResult.prototype[Symbol.dispose] = RoomKeyImportResult.prototype.free;\n\n/**\n * Information on a room key that has been received or imported.\n */\nexport class RoomKeyInfo {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomKeyInfo.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomKeyInfoFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomKeyInfoFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roomkeyinfo_free(ptr, 0);\n    }\n    /**\n     * The {@link EncryptionAlgorithm} that this key is used for. Will be one\n     * of the `m.megolm.*` algorithms.\n     * @returns {EncryptionAlgorithm}\n     */\n    get algorithm() {\n        const ret = wasm.roomkeyinfo_algorithm(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The room where the key is used.\n     * @returns {RoomId}\n     */\n    get roomId() {\n        const ret = wasm.roomkeyinfo_roomId(this.__wbg_ptr);\n        return RoomId.__wrap(ret);\n    }\n    /**\n     * The Curve25519 key of the device which initiated the session originally.\n     * @returns {Curve25519PublicKey}\n     */\n    get senderKey() {\n        const ret = wasm.roomkeyinfo_senderKey(this.__wbg_ptr);\n        return Curve25519PublicKey.__wrap(ret);\n    }\n    /**\n     * The ID of the session that the key is for.\n     * @returns {string}\n     */\n    get sessionId() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.roomkeyinfo_sessionId(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) RoomKeyInfo.prototype[Symbol.dispose] = RoomKeyInfo.prototype.free;\n\n/**\n * Information on a received `m.room_key.withheld` event.\n */\nexport class RoomKeyWithheldInfo {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomKeyWithheldInfo.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomKeyWithheldInfoFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomKeyWithheldInfoFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roomkeywithheldinfo_free(ptr, 0);\n    }\n    /**\n     * The encryption algorithm of the session that is being withheld.\n     *\n     * This may be from an `m.room_key.withheld` event, or from a shared room\n     * key bundle under MSC4268.\n     * @returns {EncryptionAlgorithm}\n     */\n    get algorithm() {\n        const ret = wasm.roomkeywithheldinfo_algorithm(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The room ID of the session that is being withheld.\n     * @returns {RoomId}\n     */\n    get roomId() {\n        const ret = wasm.roomkeywithheldinfo_roomId(this.__wbg_ptr);\n        return RoomId.__wrap(ret);\n    }\n    /**\n     * The User ID of the sender of the withheld information.\n     *\n     * This may be the sender of an `m.room_key.withheld` event, or the sender\n     * of a shared room key bundle under MSC4268.\n     * @returns {UserId}\n     */\n    get sender() {\n        const ret = wasm.roomkeywithheldinfo_sender(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * The session ID of the session that is being withheld.\n     * @returns {string}\n     */\n    get sessionId() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.roomkeywithheldinfo_sessionId(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The `code` indicating why the key was withheld, such as `m.unverified`.\n     *\n     * This may be from an `m.room_key.withheld` event (such as\n     * `m.unverified`), or from a shared room key bundle under MSC4268.\n     * @returns {string}\n     */\n    get withheldCode() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.roomkeywithheldinfo_withheldCode(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) RoomKeyWithheldInfo.prototype[Symbol.dispose] = RoomKeyWithheldInfo.prototype.free;\n\n/**\n * A customized owned request type for sending out room messages\n * ([specification]).\n *\n * [specification]: https://spec.matrix.org/unstable/client-server-api/#put_matrixclientv3roomsroomidsendeventtypetxnid\n */\nexport class RoomMessageRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomMessageRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomMessageRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomMessageRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roommessagerequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the message's content.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_roommessagerequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * A string representing the type of event to be sent.\n     * @returns {string}\n     */\n    get event_type() {\n        const ret = wasm.__wbg_get_roommessagerequest_event_type(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The request ID.\n     * @returns {string}\n     */\n    get id() {\n        const ret = wasm.__wbg_get_roommessagerequest_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * A string representing the room to send the event to.\n     * @returns {string}\n     */\n    get room_id() {\n        const ret = wasm.__wbg_get_roommessagerequest_room_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * A string representing the transaction ID for this event.\n     *\n     * Clients should generate an ID unique across requests with the same\n     * access token; it will be used by the server to ensure idempotency of\n     * requests.\n     * @returns {string}\n     */\n    get txn_id() {\n        const ret = wasm.__wbg_get_roommessagerequest_txn_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `RoomMessageRequest`.\n     * @param {string} id\n     * @param {string} room_id\n     * @param {string} txn_id\n     * @param {string} event_type\n     * @param {string} content\n     */\n    constructor(id, room_id, txn_id, event_type, content) {\n        const ret = wasm.roommessagerequest_new(id, room_id, txn_id, event_type, content);\n        this.__wbg_ptr = ret;\n        RoomMessageRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get its request type.\n     * @returns {RequestType}\n     */\n    get type() {\n        const ret = wasm.roommessagerequest_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) RoomMessageRequest.prototype[Symbol.dispose] = RoomMessageRequest.prototype.free;\n\n/**\n * Information on a room which is waiting for a key bundle to arrive.\n */\nexport class RoomPendingKeyBundleDetails {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomPendingKeyBundleDetails.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomPendingKeyBundleDetailsFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomPendingKeyBundleDetailsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roompendingkeybundledetails_free(ptr, 0);\n    }\n    /**\n     * The time that the invite was accepted.\n     * @returns {number}\n     */\n    get inviteAcceptedAtMillis() {\n        const ret = wasm.roompendingkeybundledetails_inviteAcceptedAtMillis(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The ID of the user that invited us\n     * @returns {UserId}\n     */\n    get inviterId() {\n        const ret = wasm.roompendingkeybundledetails_inviterId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * The room that is waiting for a key bundle.\n     * @returns {RoomId}\n     */\n    get roomId() {\n        const ret = wasm.roompendingkeybundledetails_roomId(this.__wbg_ptr);\n        return RoomId.__wrap(ret);\n    }\n}\nif (Symbol.dispose) RoomPendingKeyBundleDetails.prototype[Symbol.dispose] = RoomPendingKeyBundleDetails.prototype.free;\n\n/**\n * Room encryption settings which are modified by state events or user options\n */\nexport class RoomSettings {\n    static __wrap(ptr) {\n        const obj = Object.create(RoomSettings.prototype);\n        obj.__wbg_ptr = ptr;\n        RoomSettingsFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        RoomSettingsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_roomsettings_free(ptr, 0);\n    }\n    /**\n     * The encryption algorithm that should be used in the room.\n     *\n     * Should be one of the members of {@link EncryptionAlgorithm}.\n     * @returns {EncryptionAlgorithm}\n     */\n    get algorithm() {\n        const ret = wasm.__wbg_get_roomsettings_algorithm(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Whether state event encryption is enabled.\n     * @returns {boolean}\n     */\n    get encryptStateEvents() {\n        const ret = wasm.__wbg_get_roomsettings_encryptStateEvents(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Whether untrusted devices should receive room keys. If this is `false`,\n     * they will be excluded from the conversation.\n     * @returns {boolean}\n     */\n    get onlyAllowTrustedDevices() {\n        const ret = wasm.__wbg_get_roomsettings_onlyAllowTrustedDevices(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * The maximum number of messages an encryption session should be used for,\n     * before it is rotated.\n     * @returns {number | undefined}\n     */\n    get sessionRotationPeriodMessages() {\n        const ret = wasm.__wbg_get_roomsettings_sessionRotationPeriodMessages(this.__wbg_ptr);\n        return ret[0] === 0 ? undefined : ret[1];\n    }\n    /**\n     * The maximum time, in milliseconds, that an encryption session should be\n     * used for, before it is rotated.\n     * @returns {number | undefined}\n     */\n    get sessionRotationPeriodMs() {\n        const ret = wasm.__wbg_get_roomsettings_sessionRotationPeriodMs(this.__wbg_ptr);\n        return ret[0] === 0 ? undefined : ret[1];\n    }\n    /**\n     * Create a new `RoomSettings` with default values.\n     */\n    constructor() {\n        const ret = wasm.roomsettings_new();\n        this.__wbg_ptr = ret;\n        RoomSettingsFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * The encryption algorithm that should be used in the room.\n     *\n     * Should be one of the members of {@link EncryptionAlgorithm}.\n     * @param {EncryptionAlgorithm} arg0\n     */\n    set algorithm(arg0) {\n        wasm.__wbg_set_roomsettings_algorithm(this.__wbg_ptr, arg0);\n    }\n    /**\n     * Whether state event encryption is enabled.\n     * @param {boolean} arg0\n     */\n    set encryptStateEvents(arg0) {\n        wasm.__wbg_set_roomsettings_encryptStateEvents(this.__wbg_ptr, arg0);\n    }\n    /**\n     * Whether untrusted devices should receive room keys. If this is `false`,\n     * they will be excluded from the conversation.\n     * @param {boolean} arg0\n     */\n    set onlyAllowTrustedDevices(arg0) {\n        wasm.__wbg_set_roomsettings_onlyAllowTrustedDevices(this.__wbg_ptr, arg0);\n    }\n    /**\n     * The maximum number of messages an encryption session should be used for,\n     * before it is rotated.\n     * @param {number | null} [arg0]\n     */\n    set sessionRotationPeriodMessages(arg0) {\n        wasm.__wbg_set_roomsettings_sessionRotationPeriodMessages(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n    }\n    /**\n     * The maximum time, in milliseconds, that an encryption session should be\n     * used for, before it is rotated.\n     * @param {number | null} [arg0]\n     */\n    set sessionRotationPeriodMs(arg0) {\n        wasm.__wbg_set_roomsettings_sessionRotationPeriodMs(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n    }\n}\nif (Symbol.dispose) RoomSettings.prototype[Symbol.dispose] = RoomSettings.prototype.free;\n\n/**\n * Short Authentication String (SAS) verification.\n */\nexport class Sas {\n    static __wrap(ptr) {\n        const obj = Object.create(Sas.prototype);\n        obj.__wbg_ptr = ptr;\n        SasFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        SasFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_sas_free(ptr, 0);\n    }\n    /**\n     * Accept the SAS verification.\n     *\n     * This does nothing (and returns `undefined`) if the verification was\n     * already accepted, otherwise it returns an `OutgoingVerificationRequest`\n     * that needs to be sent out.\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    accept() {\n        const ret = wasm.sas_accept(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Are we in a state where we can show the short auth string?\n     * @returns {boolean}\n     */\n    canBePresented() {\n        const ret = wasm.sas_canBePresented(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Cancel the verification.\n     *\n     * Returns either an `OutgoingVerificationRequest` which should be sent\n     * out, or `undefined` if the verification is already cancelled.\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    cancel() {\n        const ret = wasm.sas_cancel(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Get info about the cancellation if the verification flow has\n     * been cancelled.\n     * @returns {CancelInfo | undefined}\n     */\n    cancelInfo() {\n        const ret = wasm.sas_cancelInfo(this.__wbg_ptr);\n        return ret === 0 ? undefined : CancelInfo.__wrap(ret);\n    }\n    /**\n     * Cancel the verification.\n     *\n     * This cancels the verification with given code (e.g. `m.user`).\n     *\n     * Returns either an `OutgoingVerificationRequest` which should be sent\n     * out, or `undefined` if the verification is already cancelled.\n     * @param {string} code\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    cancelWithCode(code) {\n        const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.sas_cancelWithCode(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Confirm the SAS verification.\n     *\n     * This confirms that the short auth strings match on both sides.\n     *\n     * Does nothing if we’re not in a state where we can confirm the\n     * short auth string.\n     *\n     * Returns a `Promise` for an array of `OutgoingVerificationRequest`s.\n     * @returns {Promise<OutgoingVerificationRequest[]>}\n     */\n    confirm() {\n        const ret = wasm.sas_confirm(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the decimal version of the short auth string.\n     *\n     * Returns None if we can’t yet present the short auth string,\n     * otherwise a tuple containing three 4-digit integers that\n     * represent the short auth string.\n     * @returns {Uint16Array | undefined}\n     */\n    decimals() {\n        const ret = wasm.sas_decimals(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getArrayU16FromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 2, 2);\n        }\n        return v1;\n    }\n    /**\n     * Get our own device ID.\n     * @returns {DeviceId}\n     */\n    get deviceId() {\n        const ret = wasm.sas_deviceId(this.__wbg_ptr);\n        return DeviceId.__wrap(ret);\n    }\n    /**\n     * Get the emoji version of the short auth string.\n     *\n     * Returns `undefined` if we can't yet present the short auth string,\n     * otherwise an array of seven `Emoji` objects.\n     * @returns {Emoji[] | undefined}\n     */\n    emoji() {\n        const ret = wasm.sas_emoji(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n        }\n        return v1;\n    }\n    /**\n     * Get the index of the emoji representing the short auth string\n     *\n     * Returns `undefined` if we can’t yet present the short auth\n     * string, otherwise seven `u8` numbers in the range from 0 to 63\n     * inclusive which can be converted to an emoji using [the\n     * relevant specification\n     * entry](https://spec.matrix.org/unstable/client-server-api/#sas-method-emoji).\n     * @returns {Uint8Array | undefined}\n     */\n    emojiIndex() {\n        const ret = wasm.sas_emojiIndex(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n    /**\n     * Get the unique ID that identifies this SAS verification flow,\n     * be either a to-device request ID or a room event ID.\n     * @returns {string}\n     */\n    get flowId() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.sas_flowId(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Has the verification been accepted by both parties?\n     * @returns {boolean}\n     */\n    hasBeenAccepted() {\n        const ret = wasm.sas_hasBeenAccepted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Have we confirmed that the short auth string matches?\n     * @returns {boolean}\n     */\n    haveWeConfirmed() {\n        const ret = wasm.sas_haveWeConfirmed(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is the SAS flow cancelled?\n     * @returns {boolean}\n     */\n    isCancelled() {\n        const ret = wasm.sas_isCancelled(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is the SAS flow done?\n     * @returns {boolean}\n     */\n    isDone() {\n        const ret = wasm.sas_isDone(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this a verification that is verifying one of our own\n     * devices?\n     * @returns {boolean}\n     */\n    isSelfVerification() {\n        const ret = wasm.sas_isSelfVerification(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Get the device ID of the other side.\n     * @returns {DeviceId}\n     */\n    get otherDeviceId() {\n        const ret = wasm.sas_otherDeviceId(this.__wbg_ptr);\n        return DeviceId.__wrap(ret);\n    }\n    /**\n     * Get the user id of the other side.\n     * @returns {UserId}\n     */\n    get otherUserId() {\n        const ret = wasm.sas_otherUserId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Register a callback which will be called whenever there is an update to\n     * the request.\n     *\n     * The `callback` is called with no parameters.\n     * @param {() => Promise<void>} callback\n     */\n    registerChangesCallback(callback) {\n        wasm.sas_registerChangesCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Get the room ID if the verification is happening inside a\n     * room.\n     * @returns {RoomId | undefined}\n     */\n    get roomId() {\n        const ret = wasm.sas_roomId(this.__wbg_ptr);\n        return ret === 0 ? undefined : RoomId.__wrap(ret);\n    }\n    /**\n     * Did this verification flow start from a verification request?\n     * @returns {boolean}\n     */\n    startedFromRequest() {\n        const ret = wasm.sas_startedFromRequest(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Does this verification flow support displaying emoji for the\n     * short authentication string?\n     * @returns {boolean}\n     */\n    supportsEmoji() {\n        const ret = wasm.sas_supportsEmoji(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Has the SAS verification flow timed out?\n     * @returns {boolean}\n     */\n    timedOut() {\n        const ret = wasm.sas_timedOut(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Get our own user ID.\n     * @returns {UserId}\n     */\n    get userId() {\n        const ret = wasm.sas_userId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * True if we initiated the verification flow (ie, we sent the\n     * `m.key.verification.request`).\n     * @returns {boolean}\n     */\n    weStarted() {\n        const ret = wasm.sas_weStarted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n}\nif (Symbol.dispose) Sas.prototype[Symbol.dispose] = Sas.prototype.free;\n\n/**\n * Struct containing the bundle of secrets to fully activate a new device for\n * end-to-end encryption.\n */\nexport class SecretsBundle {\n    static __wrap(ptr) {\n        const obj = Object.create(SecretsBundle.prototype);\n        obj.__wbg_ptr = ptr;\n        SecretsBundleFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        SecretsBundleFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_secretsbundle_free(ptr, 0);\n    }\n    /**\n     * The bundle of the backup decryption key and backup version if any.\n     * @returns {BackupSecretsBundle | undefined}\n     */\n    get backupBundle() {\n        const ret = wasm.secretsbundle_backupBundle(this.__wbg_ptr);\n        return ret === 0 ? undefined : BackupSecretsBundle.__wrap(ret);\n    }\n    /**\n     * Deserialize the [`SecretsBundle`] from a JSON object.\n     * @param {unknown} json\n     * @returns {SecretsBundle}\n     */\n    static from_json(json) {\n        const ret = wasm.secretsbundle_from_json(json);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return SecretsBundle.__wrap(ret[0]);\n    }\n    /**\n     * The seed of the master key encoded as unpadded base64.\n     * @returns {string}\n     */\n    get masterKey() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.secretsbundle_masterKey(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The seed of the self signing key encoded as unpadded base64.\n     * @returns {string}\n     */\n    get selfSigningKey() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.secretsbundle_selfSigningKey(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Serialize the [`SecretsBundle`] to a JSON object.\n     * @returns {unknown}\n     */\n    to_json() {\n        const ret = wasm.secretsbundle_to_json(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * The seed of the user signing key encoded as unpadded base64.\n     * @returns {string}\n     */\n    get userSigningKey() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.secretsbundle_userSigningKey(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) SecretsBundle.prototype[Symbol.dispose] = SecretsBundle.prototype.free;\n\n/**\n * A Matrix-spec compliant [server name].\n *\n * It consists of a host and an optional port (separated by a colon if\n * present).\n *\n * [server name]: https://spec.matrix.org/v1.2/appendices/#server-name\n */\nexport class ServerName {\n    static __wrap(ptr) {\n        const obj = Object.create(ServerName.prototype);\n        obj.__wbg_ptr = ptr;\n        ServerNameFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        ServerNameFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_servername_free(ptr, 0);\n    }\n    /**\n     * Returns the host of the server name.\n     *\n     * That is: Return the part of the server before `:<port>` or the\n     * full server name if there is no port.\n     * @returns {string}\n     */\n    get host() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.servername_host(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Returns true if and only if the server name is an IPv4 or IPv6\n     * address.\n     * @returns {boolean}\n     */\n    isIpLiteral() {\n        const ret = wasm.servername_isIpLiteral(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Parse/validate and create a new `ServerName`.\n     * @param {string} name\n     */\n    constructor(name) {\n        const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.servername_new(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        ServerNameFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Returns the port of the server name if any.\n     * @returns {number | undefined}\n     */\n    get port() {\n        const ret = wasm.servername_port(this.__wbg_ptr);\n        return ret === 0xFFFFFF ? undefined : ret;\n    }\n}\nif (Symbol.dispose) ServerName.prototype[Symbol.dispose] = ServerName.prototype.free;\n\n/**\n * Take a look at [`matrix_sdk_common::deserialized_responses::ShieldState`]\n * for more info.\n * @enum {0 | 1 | 2}\n */\nexport const ShieldColor = Object.freeze({\n    /**\n     * Important warning\n     */\n    Red: 0, \"0\": \"Red\",\n    /**\n     * Low warning\n     */\n    Grey: 1, \"1\": \"Grey\",\n    /**\n     * No warning\n     */\n    None: 2, \"2\": \"None\",\n});\n\n/**\n * Take a look at [`matrix_sdk_common::deserialized_responses::ShieldState`]\n * for more info.\n */\nexport class ShieldState {\n    static __wrap(ptr) {\n        const obj = Object.create(ShieldState.prototype);\n        obj.__wbg_ptr = ptr;\n        ShieldStateFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        ShieldStateFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_shieldstate_free(ptr, 0);\n    }\n    /**\n     * A machine-readable representation of the authenticity for a\n     * `ShieldState`.\n     * @returns {ShieldStateCode | undefined}\n     */\n    get code() {\n        const ret = wasm.__wbg_get_shieldstate_code(this.__wbg_ptr);\n        return ret === 6 ? undefined : ret;\n    }\n    /**\n     * The shield color\n     * @returns {ShieldColor}\n     */\n    get color() {\n        const ret = wasm.__wbg_get_shieldstate_color(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * A machine-readable representation of the authenticity for a\n     * `ShieldState`.\n     * @param {ShieldStateCode | null} [arg0]\n     */\n    set code(arg0) {\n        wasm.__wbg_set_shieldstate_code(this.__wbg_ptr, isLikeNone(arg0) ? 6 : arg0);\n    }\n    /**\n     * The shield color\n     * @param {ShieldColor} arg0\n     */\n    set color(arg0) {\n        wasm.__wbg_set_shieldstate_color(this.__wbg_ptr, arg0);\n    }\n    /**\n     * Error message that can be displayed as a tooltip\n     * @returns {string | undefined}\n     */\n    get message() {\n        const ret = wasm.shieldstate_message(this.__wbg_ptr);\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n        }\n        return v1;\n    }\n}\nif (Symbol.dispose) ShieldState.prototype[Symbol.dispose] = ShieldState.prototype.free;\n\n/**\n * A machine-readable representation of the authenticity for a `ShieldState`.\n * @enum {0 | 1 | 2 | 3 | 4 | 5}\n */\nexport const ShieldStateCode = Object.freeze({\n    /**\n     * Not enough information available to check the authenticity.\n     */\n    AuthenticityNotGuaranteed: 0, \"0\": \"AuthenticityNotGuaranteed\",\n    /**\n     * The sending device isn't yet known by the Client.\n     */\n    UnknownDevice: 1, \"1\": \"UnknownDevice\",\n    /**\n     * The sending device hasn't been verified by the sender.\n     */\n    UnsignedDevice: 2, \"2\": \"UnsignedDevice\",\n    /**\n     * The sender hasn't been verified by the Client's user.\n     */\n    UnverifiedIdentity: 3, \"3\": \"UnverifiedIdentity\",\n    /**\n     * The sender was previously verified but changed their identity.\n     */\n    VerificationViolation: 4, \"4\": \"VerificationViolation\",\n    /**\n     * The `sender` field on the event does not match the owner of the device\n     * that established the Megolm session.\n     */\n    MismatchedSender: 5, \"5\": \"MismatchedSender\",\n});\n\n/**\n * Represents a potentially decoded signature (but not a validated\n * one).\n */\nexport class Signature {\n    static __wrap(ptr) {\n        const obj = Object.create(Signature.prototype);\n        obj.__wbg_ptr = ptr;\n        SignatureFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        SignatureFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_signature_free(ptr, 0);\n    }\n    /**\n     * Get the Ed25519 signature, if this is one.\n     * @returns {Ed25519Signature | undefined}\n     */\n    get ed25519() {\n        const ret = wasm.signature_ed25519(this.__wbg_ptr);\n        return ret === 0 ? undefined : Ed25519Signature.__wrap(ret);\n    }\n    /**\n     * Convert the signature to a base64 encoded string.\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.signature_toBase64(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) Signature.prototype[Symbol.dispose] = Signature.prototype.free;\n\n/**\n * The result of a signature check.\n * @enum {0 | 1 | 2 | 3}\n */\nexport const SignatureState = Object.freeze({\n    /**\n     * The signature is missing.\n     */\n    Missing: 0, \"0\": \"Missing\",\n    /**\n     * The signature is invalid.\n     */\n    Invalid: 1, \"1\": \"Invalid\",\n    /**\n     * The signature is valid but the device or user identity that created the\n     * signature is not trusted.\n     */\n    ValidButNotTrusted: 2, \"2\": \"ValidButNotTrusted\",\n    /**\n     * The signature is valid and the device or user identity that created the\n     * signature is trusted.\n     */\n    ValidAndTrusted: 3, \"3\": \"ValidAndTrusted\",\n});\n\n/**\n * Data for a request to the `/keys/signatures/upload` API endpoint\n * ([specification]).\n *\n * Publishes cross-signing signatures for the user.\n *\n * [specification]: https://spec.matrix.org/unstable/client-server-api/#post_matrixclientv3keyssignaturesupload\n */\nexport class SignatureUploadRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(SignatureUploadRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        SignatureUploadRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        SignatureUploadRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_signatureuploadrequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the payload of the request\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_signatureuploadrequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The request ID.\n     * Some signature upload will have to an `id` field, some won't.\n     * They have one when they are created automatically during an interactive\n     * verification, otherwise they don't.\n     * @returns {string | undefined}\n     */\n    get id() {\n        const ret = wasm.__wbg_get_signatureuploadrequest_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `SignatureUploadRequest`.\n     * @param {string} id\n     * @param {string} signed_keys\n     */\n    constructor(id, signed_keys) {\n        const ret = wasm.signatureuploadrequest_new(id, signed_keys);\n        this.__wbg_ptr = ret;\n        SignatureUploadRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get its request type.\n     * @returns {RequestType}\n     */\n    get type() {\n        const ret = wasm.signatureuploadrequest_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) SignatureUploadRequest.prototype[Symbol.dispose] = SignatureUploadRequest.prototype.free;\n\n/**\n * The result of a signature verification of a signed JSON object.\n */\nexport class SignatureVerification {\n    static __wrap(ptr) {\n        const obj = Object.create(SignatureVerification.prototype);\n        obj.__wbg_ptr = ptr;\n        SignatureVerificationFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        SignatureVerificationFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_signatureverification_free(ptr, 0);\n    }\n    /**\n     * Give the backup signature state from the current device.\n     * See SignatureState for values\n     * @returns {SignatureState}\n     */\n    get deviceState() {\n        const ret = wasm.signatureverification_deviceState(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Is the result considered to be trusted?\n     *\n     * This tells us if the result has a valid signature from any of the\n     * following:\n     *\n     * * Our own device\n     * * Our own user identity, provided the identity is trusted as well\n     * * Any of our own devices, provided the device is trusted as well\n     * @returns {boolean}\n     */\n    trusted() {\n        const ret = wasm.signatureverification_trusted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Give the backup signature state from the current user identity.\n     * See SignatureState for values\n     * @returns {SignatureState}\n     */\n    get userState() {\n        const ret = wasm.signatureverification_userState(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) SignatureVerification.prototype[Symbol.dispose] = SignatureVerification.prototype.free;\n\n/**\n * A collection of `Signature`.\n */\nexport class Signatures {\n    static __wrap(ptr) {\n        const obj = Object.create(Signatures.prototype);\n        obj.__wbg_ptr = ptr;\n        SignaturesFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        SignaturesFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_signatures_free(ptr, 0);\n    }\n    /**\n     * Add the given signature from the given signer and the given key ID to\n     * the collection.\n     * @param {UserId} signer\n     * @param {DeviceKeyId} key_id\n     * @param {Ed25519Signature} signature\n     * @returns {MaybeSignature | undefined}\n     */\n    addSignature(signer, key_id, signature) {\n        _assertClass(signer, UserId);\n        _assertClass(key_id, DeviceKeyId);\n        _assertClass(signature, Ed25519Signature);\n        const ret = wasm.signatures_addSignature(this.__wbg_ptr, signer.__wbg_ptr, key_id.__wbg_ptr, signature.__wbg_ptr);\n        return ret === 0 ? undefined : MaybeSignature.__wrap(ret);\n    }\n    /**\n     * Get the json with all signatures\n     * @returns {string}\n     */\n    asJSON() {\n        const ret = wasm.signatures_asJSON(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Remove all the signatures we currently hold.\n     */\n    clear() {\n        wasm.signatures_clear(this.__wbg_ptr);\n    }\n    /**\n     * How many signatures do we currently hold.\n     * @returns {number}\n     */\n    get count() {\n        const ret = wasm.signatures_count(this.__wbg_ptr);\n        return ret >>> 0;\n    }\n    /**\n     * Get the map of signatures that belong to the given user.\n     * @param {UserId} signer\n     * @returns {Map<string, MaybeSignature> | undefined}\n     */\n    get(signer) {\n        _assertClass(signer, UserId);\n        const ret = wasm.signatures_get(this.__wbg_ptr, signer.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Try to find an Ed25519 signature from the given signer with\n     * the given key ID.\n     * @param {UserId} signer\n     * @param {DeviceKeyId} key_id\n     * @returns {Ed25519Signature | undefined}\n     */\n    getSignature(signer, key_id) {\n        _assertClass(signer, UserId);\n        _assertClass(key_id, DeviceKeyId);\n        const ret = wasm.signatures_getSignature(this.__wbg_ptr, signer.__wbg_ptr, key_id.__wbg_ptr);\n        return ret === 0 ? undefined : Ed25519Signature.__wrap(ret);\n    }\n    /**\n     * Do we hold any signatures or is our collection completely\n     * empty.\n     * @returns {boolean}\n     */\n    isEmpty() {\n        const ret = wasm.signatures_isEmpty(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Creates a new, empty, signatures collection.\n     */\n    constructor() {\n        const ret = wasm.signatures_new();\n        this.__wbg_ptr = ret;\n        SignaturesFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n}\nif (Symbol.dispose) Signatures.prototype[Symbol.dispose] = Signatures.prototype.free;\n\n/**\n * A struct containing an open connection to a CryptoStore.\n *\n * Opening the CryptoStore can take some time, due to the PBKDF calculation\n * involved, so if multiple operations are being done on the same store, it is\n * more efficient to open it once.\n */\nexport class StoreHandle {\n    static __wrap(ptr) {\n        const obj = Object.create(StoreHandle.prototype);\n        obj.__wbg_ptr = ptr;\n        StoreHandleFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        StoreHandleFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_storehandle_free(ptr, 0);\n    }\n    /**\n     * Open a crypto store.\n     *\n     * The created store will be based on IndexedDB if a `store_name` is\n     * provided; otherwise it will be based on a memory store and once the\n     * objects is dropped, the keys will be lost.\n     *\n     * # Arguments\n     *\n     * * `store_name` - The name that should be used to open the IndexedDB\n     *   based database. If this isn't provided, a memory-only store will be\n     *   used. *Note* the memory-only store will lose your E2EE keys when the\n     *   `StoreHandle` gets dropped.\n     *\n     * * `store_passphrase` - The passphrase that should be used to encrypt the\n     *   store, for IndexedDB-based stores\n     *\n     * * `logger` - An optional logger instance to use for writing log messages\n     *   during the open operation. An instance of `JsLogger`.\n     * @param {string | null | undefined} store_name\n     * @param {string | null | undefined} store_passphrase\n     * @param {JsLogger} [logger]\n     * @returns {Promise<StoreHandle>}\n     */\n    static open(store_name, store_passphrase, logger) {\n        var ptr0 = isLikeNone(store_name) ? 0 : passStringToWasm0(store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        var ptr1 = isLikeNone(store_passphrase) ? 0 : passStringToWasm0(store_passphrase, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len1 = WASM_VECTOR_LEN;\n        const ret = wasm.storehandle_open(ptr0, len0, ptr1, len1, isLikeNone(logger) ? 0 : addToExternrefTable0(logger));\n        return ret;\n    }\n    /**\n     * Open a crypto store based on IndexedDB, using the given key for\n     * encryption.\n     *\n     * # Arguments\n     *\n     * * `store_name` - The name that should be used to open the IndexedDB\n     *   based database.\n     *\n     * * `store_key` - The key that should be used to encrypt the store, for\n     *   IndexedDB-based stores. Must be a 32-byte array.\n     *\n     * * `logger` - An optional logger instance to use for writing log messages\n     *   during the open operation. An instance of `JsLogger`.\n     * @param {string} store_name\n     * @param {Uint8Array} store_key\n     * @param {JsLogger} [logger]\n     * @returns {Promise<StoreHandle>}\n     */\n    static openWithKey(store_name, store_key, logger) {\n        const ptr0 = passStringToWasm0(store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(store_key, wasm.__wbindgen_malloc);\n        const len1 = WASM_VECTOR_LEN;\n        const ret = wasm.storehandle_openWithKey(ptr0, len0, ptr1, len1, isLikeNone(logger) ? 0 : addToExternrefTable0(logger));\n        return ret;\n    }\n}\nif (Symbol.dispose) StoreHandle.prototype[Symbol.dispose] = StoreHandle.prototype.free;\n\n/**\n * Information on a stored room key bundle data event.\n */\nexport class StoredRoomKeyBundleData {\n    static __wrap(ptr) {\n        const obj = Object.create(StoredRoomKeyBundleData.prototype);\n        obj.__wbg_ptr = ptr;\n        StoredRoomKeyBundleDataFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        StoredRoomKeyBundleDataFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_storedroomkeybundledata_free(ptr, 0);\n    }\n    /**\n     * The JSON-encoded encryption info for the key bundle.\n     *\n     * @deprecated Should not be used within applications.\n     * @returns {string}\n     */\n    get encryptionInfo() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.storedroomkeybundledata_encryptionInfo(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The room that these keys are for.\n     * @returns {RoomId}\n     */\n    get roomId() {\n        const ret = wasm.storedroomkeybundledata_roomId(this.__wbg_ptr);\n        return RoomId.__wrap(ret);\n    }\n    /**\n     * The user that sent us this data.\n     * @returns {UserId}\n     */\n    get senderUser() {\n        const ret = wasm.storedroomkeybundledata_senderUser(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * The location of the bundle.\n     * @returns {string}\n     */\n    get url() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.storedroomkeybundledata_url(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) StoredRoomKeyBundleData.prototype[Symbol.dispose] = StoredRoomKeyBundleData.prototype.free;\n\n/**\n * Struct containing information on how a to-device message was decrypted.\n */\nexport class ToDeviceEncryptionInfo {\n    static __wrap(ptr) {\n        const obj = Object.create(ToDeviceEncryptionInfo.prototype);\n        obj.__wbg_ptr = ptr;\n        ToDeviceEncryptionInfoFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        ToDeviceEncryptionInfoFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_todeviceencryptioninfo_free(ptr, 0);\n    }\n    /**\n     * The base64-encoded public Curve25519 key of the device that encrypted\n     * the message.\n     * @returns {string}\n     */\n    get senderCurve25519Key() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.__wbg_get_todeviceencryptioninfo_senderCurve25519Key(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * The device ID of the device that sent us the to-device message.\n     *\n     * Could be `undefined` in the case where the to-device message sender\n     * checks are delayed. There is no delay for to-device messages other\n     * than `m.room_key`, so this will always be truthy for other\n     * message types (the decryption would fail if the sender device keys\n     * cannot be found).\n     *\n     * Note this is untrusted data unless {@link isSenderVerified} is true.\n     * @returns {DeviceId | undefined}\n     */\n    get senderDevice() {\n        const ret = wasm.__wbg_get_todeviceencryptioninfo_senderDevice(this.__wbg_ptr);\n        return ret === 0 ? undefined : DeviceId.__wrap(ret);\n    }\n    /**\n     * The user ID of the sender of the event.\n     *\n     * Note this is untrusted data unless {@link isSenderVerified} is true.\n     * @returns {UserId}\n     */\n    get sender() {\n        const ret = wasm.__wbg_get_todeviceencryptioninfo_sender(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * The base64-encoded public Curve25519 key of the device that encrypted\n     * the message.\n     * @param {string} arg0\n     */\n    set senderCurve25519Key(arg0) {\n        const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.__wbg_set_todeviceencryptioninfo_senderCurve25519Key(this.__wbg_ptr, ptr0, len0);\n    }\n    /**\n     * The device ID of the device that sent us the to-device message.\n     *\n     * Could be `undefined` in the case where the to-device message sender\n     * checks are delayed. There is no delay for to-device messages other\n     * than `m.room_key`, so this will always be truthy for other\n     * message types (the decryption would fail if the sender device keys\n     * cannot be found).\n     *\n     * Note this is untrusted data unless {@link isSenderVerified} is true.\n     * @param {DeviceId | null} [arg0]\n     */\n    set senderDevice(arg0) {\n        let ptr0 = 0;\n        if (!isLikeNone(arg0)) {\n            _assertClass(arg0, DeviceId);\n            ptr0 = arg0.__destroy_into_raw();\n        }\n        wasm.__wbg_set_todeviceencryptioninfo_senderDevice(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * The user ID of the sender of the event.\n     *\n     * Note this is untrusted data unless {@link isSenderVerified} is true.\n     * @param {UserId} arg0\n     */\n    set sender(arg0) {\n        _assertClass(arg0, UserId);\n        var ptr0 = arg0.__destroy_into_raw();\n        wasm.__wbg_set_todeviceencryptioninfo_sender(this.__wbg_ptr, ptr0);\n    }\n    /**\n     * Returns whether the sender device is in a verified state.\n     * This reflects the state at the time of decryption.\n     * @returns {boolean}\n     */\n    isSenderVerified() {\n        const ret = wasm.todeviceencryptioninfo_isSenderVerified(this.__wbg_ptr);\n        return ret !== 0;\n    }\n}\nif (Symbol.dispose) ToDeviceEncryptionInfo.prototype[Symbol.dispose] = ToDeviceEncryptionInfo.prototype.free;\n\n/**\n * Data for a request to the `/sendToDevice` API endpoint\n * ([specification]).\n *\n * Send an event to a single device or to a group of devices.\n *\n * [specification]: https://spec.matrix.org/unstable/client-server-api/#put_matrixclientv3sendtodeviceeventtypetxnid\n */\nexport class ToDeviceRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(ToDeviceRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        ToDeviceRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        ToDeviceRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_todevicerequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the rest of the payload: `messages`.\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_todevicerequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * A string representing the type of event being sent to each devices.\n     * @returns {string}\n     */\n    get event_type() {\n        const ret = wasm.__wbg_get_todevicerequest_event_type(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The request ID.\n     * For to-device request this would be the same value as `txn_id`. It is\n     * exposed also as `id` so that the js bindings are consistent with the\n     * other request types by using this field to mark as sent.\n     * @returns {string}\n     */\n    get id() {\n        const ret = wasm.__wbg_get_todevicerequest_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * A string representing a request identifier unique to the access token\n     * used to send the request.\n     * @returns {string}\n     */\n    get txn_id() {\n        const ret = wasm.__wbg_get_todevicerequest_txn_id(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `ToDeviceRequest`.\n     * @param {string} id\n     * @param {string} event_type\n     * @param {string} txn_id\n     * @param {string} body\n     */\n    constructor(id, event_type, txn_id, body) {\n        const ret = wasm.todevicerequest_new(id, event_type, txn_id, body);\n        this.__wbg_ptr = ret;\n        ToDeviceRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Get its request type.\n     * @returns {RequestType}\n     */\n    get type() {\n        const ret = wasm.todevicerequest_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) ToDeviceRequest.prototype[Symbol.dispose] = ToDeviceRequest.prototype.free;\n\n/**\n * Metadata about a to-device event that could not be decrypted.\n */\nexport class ToDeviceUnableToDecryptInfo {\n    static __wrap(ptr) {\n        const obj = Object.create(ToDeviceUnableToDecryptInfo.prototype);\n        obj.__wbg_ptr = ptr;\n        ToDeviceUnableToDecryptInfoFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        ToDeviceUnableToDecryptInfoFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_todeviceunabletodecryptinfo_free(ptr, 0);\n    }\n    /**\n     * Reason code for the decryption failure\n     * @returns {ToDeviceUnableToDecryptReason}\n     */\n    get reason() {\n        const ret = wasm.__wbg_get_todeviceunabletodecryptinfo_reason(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Reason code for the decryption failure\n     * @param {ToDeviceUnableToDecryptReason} arg0\n     */\n    set reason(arg0) {\n        wasm.__wbg_set_todeviceunabletodecryptinfo_reason(this.__wbg_ptr, arg0);\n    }\n}\nif (Symbol.dispose) ToDeviceUnableToDecryptInfo.prototype[Symbol.dispose] = ToDeviceUnableToDecryptInfo.prototype.free;\n\n/**\n * Reason code for a to-device decryption failure\n * @enum {0 | 1 | 2 | 3}\n */\nexport const ToDeviceUnableToDecryptReason = Object.freeze({\n    /**\n     * An error occurred while encrypting the event. This covers all\n     * `OlmError` types.\n     */\n    DecryptionFailure: 0, \"0\": \"DecryptionFailure\",\n    /**\n     * We refused to decrypt the message because the sender's device is not\n     * verified, or more generally, the sender's identity did not match the\n     * trust requirement we were asked to provide.\n     */\n    UnverifiedSenderDevice: 1, \"1\": \"UnverifiedSenderDevice\",\n    /**\n     * We have no `OlmMachine`. This should not happen unless we forget to set\n     * things up by calling `OlmMachine::activate()`.\n     */\n    NoOlmMachine: 2, \"2\": \"NoOlmMachine\",\n    /**\n     * The Matrix SDK was compiled without encryption support.\n     */\n    EncryptionIsDisabled: 3, \"3\": \"EncryptionIsDisabled\",\n});\n\n/**\n * Type to install and to manipulate the tracing layer.\n */\nexport class Tracing {\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        TracingFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_tracing_free(ptr, 0);\n    }\n    /**\n     * Check whether the `tracing` feature has been enabled.\n     *\n     * @deprecated: `tracing` is now always enabled.\n     * @returns {boolean}\n     */\n    static isAvailable() {\n        const ret = wasm.tracing_isAvailable();\n        return ret !== 0;\n    }\n    /**\n     * Install the tracing layer.\n     * @param {LoggerLevel} min_level\n     */\n    constructor(min_level) {\n        const ret = wasm.tracing_new(min_level);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        TracingFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Re-define the minimum logger level.\n     * @param {LoggerLevel} min_level\n     */\n    set minLevel(min_level) {\n        const ret = wasm.tracing_set_minLevel(this.__wbg_ptr, min_level);\n        if (ret[1]) {\n            throw takeFromExternrefTable0(ret[0]);\n        }\n    }\n    /**\n     * Turn the logger off, i.e. it no longer emits logs.\n     */\n    turnOff() {\n        const ret = wasm.tracing_turnOff(this.__wbg_ptr);\n        if (ret[1]) {\n            throw takeFromExternrefTable0(ret[0]);\n        }\n    }\n    /**\n     * Turn the logger on, i.e. it emits logs again if it was turned\n     * off.\n     */\n    turnOn() {\n        const ret = wasm.tracing_turnOn(this.__wbg_ptr);\n        if (ret[1]) {\n            throw takeFromExternrefTable0(ret[0]);\n        }\n    }\n}\nif (Symbol.dispose) Tracing.prototype[Symbol.dispose] = Tracing.prototype.free;\n\n/**\n * The trust level required to decrypt an event\n * @enum {0 | 1 | 2}\n */\nexport const TrustRequirement = Object.freeze({\n    /**\n     * Decrypt events from everyone regardless of trust\n     */\n    Untrusted: 0, \"0\": \"Untrusted\",\n    /**\n     * Only decrypt events from cross-signed or legacy devices\n     */\n    CrossSignedOrLegacy: 1, \"1\": \"CrossSignedOrLegacy\",\n    /**\n     * Only decrypt events from cross-signed devices\n     */\n    CrossSigned: 2, \"2\": \"CrossSigned\",\n});\n\n/**\n * Represents an encrypted to-device event that could not be decrypted.\n */\nexport class UTDToDeviceEvent {\n    static __wrap(ptr) {\n        const obj = Object.create(UTDToDeviceEvent.prototype);\n        obj.__wbg_ptr = ptr;\n        UTDToDeviceEventFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        UTDToDeviceEventFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_utdtodeviceevent_free(ptr, 0);\n    }\n    /**\n     * The original message (of type `m.room.encrypted`) that failed to be\n     * decrypted, encoded as JSON.\n     * @returns {string}\n     */\n    get rawEvent() {\n        const ret = wasm.__wbg_get_utdtodeviceevent_rawEvent(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Information on the reason we failed to decrypt\n     * @returns {ToDeviceUnableToDecryptInfo}\n     */\n    get utdInfo() {\n        const ret = wasm.__wbg_get_utdtodeviceevent_utdInfo(this.__wbg_ptr);\n        return ToDeviceUnableToDecryptInfo.__wrap(ret);\n    }\n    /**\n     * The type of processed to-device event. Always {@link\n     * ProcessedToDeviceEventType.UnableToDecrypt} for this type.\n     * @returns {ProcessedToDeviceEventType}\n     */\n    get type() {\n        const ret = wasm.utdtodeviceevent_type(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) UTDToDeviceEvent.prototype[Symbol.dispose] = UTDToDeviceEvent.prototype.free;\n\n/**\n * Other Requests *\n * Request that will publish a cross signing identity.\n *\n * This uploads the public cross signing key triplet.\n */\nexport class UploadSigningKeysRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(UploadSigningKeysRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        UploadSigningKeysRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        UploadSigningKeysRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_uploadsigningkeysrequest_free(ptr, 0);\n    }\n    /**\n     * A JSON-encoded object containing the rest of the payload: `master_key`,\n     * `self_signing_key`, `user_signing_key`.\n     *\n     * It represents the body of the HTTP request.\n     * @returns {string}\n     */\n    get body() {\n        const ret = wasm.__wbg_get_uploadsigningkeysrequest_body(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Create a new `UploadSigningKeysRequest`.\n     * @param {string} body\n     */\n    constructor(body) {\n        const ret = wasm.uploadsigningkeysrequest_new(body);\n        this.__wbg_ptr = ret;\n        UploadSigningKeysRequestFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n}\nif (Symbol.dispose) UploadSigningKeysRequest.prototype[Symbol.dispose] = UploadSigningKeysRequest.prototype.free;\n\n/**\n * A read only view over all devices belonging to a user.\n */\nexport class UserDevices {\n    static __wrap(ptr) {\n        const obj = Object.create(UserDevices.prototype);\n        obj.__wbg_ptr = ptr;\n        UserDevicesFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        UserDevicesFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_userdevices_free(ptr, 0);\n    }\n    /**\n     * Iterator over all the devices of the user devices.\n     * @returns {Device[]}\n     */\n    devices() {\n        const ret = wasm.userdevices_devices(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the specific device with the given device ID.\n     * @param {DeviceId} device_id\n     * @returns {Device | undefined}\n     */\n    get(device_id) {\n        _assertClass(device_id, DeviceId);\n        const ret = wasm.userdevices_get(this.__wbg_ptr, device_id.__wbg_ptr);\n        return ret === 0 ? undefined : Device.__wrap(ret);\n    }\n    /**\n     * Returns true if there is at least one devices of this user\n     * that is considered to be verified, false otherwise.\n     *\n     * This won't consider your own device as verified, as your own\n     * device is always implicitly verified.\n     * @returns {boolean}\n     */\n    isAnyVerified() {\n        const ret = wasm.userdevices_isAnyVerified(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Array over all the device IDs of the user devices.\n     * @returns {DeviceId[]}\n     */\n    keys() {\n        const ret = wasm.userdevices_keys(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) UserDevices.prototype[Symbol.dispose] = UserDevices.prototype.free;\n\n/**\n * A Matrix [user ID].\n *\n * [user ID]: https://spec.matrix.org/v1.2/appendices/#user-identifiers\n */\nexport class UserId {\n    static __wrap(ptr) {\n        const obj = Object.create(UserId.prototype);\n        obj.__wbg_ptr = ptr;\n        UserIdFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    static __unwrap(jsValue) {\n        if (!(jsValue instanceof UserId)) {\n            return 0;\n        }\n        return jsValue.__destroy_into_raw();\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        UserIdFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_userid_free(ptr, 0);\n    }\n    /**\n     * Create a clone of this `UserId`.\n     *\n     * This can be useful when passing a `UserId` instance to methods such as\n     * {@link OlmMachine.updateTrackedUsers} which destroy the instance.\n     * @returns {UserId}\n     */\n    clone() {\n        const ret = wasm.userid_clone(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Whether this user ID is a historical one.\n     *\n     * A historical user ID is one that doesn't conform to the latest\n     * specification of the user ID grammar but is still accepted\n     * because it was previously allowed.\n     * @returns {boolean}\n     */\n    isHistorical() {\n        const ret = wasm.userid_isHistorical(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Returns the user's localpart.\n     * @returns {string}\n     */\n    get localpart() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.userid_localpart(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Parse/validate and create a new `UserId`.\n     * @param {string} id\n     */\n    constructor(id) {\n        const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.userid_new(ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        this.__wbg_ptr = ret[0];\n        UserIdFinalization.register(this, this.__wbg_ptr, this);\n        return this;\n    }\n    /**\n     * Returns the server name of the user ID.\n     * @returns {ServerName}\n     */\n    get serverName() {\n        const ret = wasm.userid_serverName(this.__wbg_ptr);\n        return ServerName.__wrap(ret);\n    }\n    /**\n     * Return the user ID as a string.\n     * @returns {string}\n     */\n    toString() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.userid_toString(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) UserId.prototype[Symbol.dispose] = UserId.prototype.free;\n\n/**\n * List of available verification methods.\n * @enum {0 | 1 | 2 | 3}\n */\nexport const VerificationMethod = Object.freeze({\n    /**\n     * The `m.sas.v1` verification method.\n     *\n     * SAS means Short Authentication String.\n     */\n    SasV1: 0, \"0\": \"SasV1\",\n    /**\n     * The `m.qr_code.scan.v1` verification method.\n     */\n    QrCodeScanV1: 1, \"1\": \"QrCodeScanV1\",\n    /**\n     * The `m.qr_code.show.v1` verification method.\n     */\n    QrCodeShowV1: 2, \"2\": \"QrCodeShowV1\",\n    /**\n     * The `m.reciprocate.v1` verification method.\n     */\n    ReciprocateV1: 3, \"3\": \"ReciprocateV1\",\n});\n\n/**\n * An object controlling key verification requests.\n *\n * Interactive verification flows usually start with a verification\n * request, this object lets you send and reply to such a\n * verification request.\n *\n * After the initial handshake the verification flow transitions into\n * one of the verification methods.\n */\nexport class VerificationRequest {\n    static __wrap(ptr) {\n        const obj = Object.create(VerificationRequest.prototype);\n        obj.__wbg_ptr = ptr;\n        VerificationRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        VerificationRequestFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_verificationrequest_free(ptr, 0);\n    }\n    /**\n     * Accept the verification request.\n     *\n     * This method will accept the request and signal that it\n     * supports the `m.sas.v1`, the `m.qr_code.show.v1`, and\n     * `m.reciprocate.v1` method.\n     *\n     * `m.qr_code.show.v1` will only be signaled if the `qrcode`\n     * feature is enabled. This feature is disabled by default. If\n     * it's enabled and QR code scanning should be supported or QR\n     * code showing shouldn't be supported the `accept_with_methods`\n     * method should be used instead.\n     *\n     * It returns either a `ToDeviceRequest`, a `RoomMessageRequest`\n     * or `undefined`.\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    accept() {\n        const ret = wasm.verificationrequest_accept(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Accept the verification request signaling that our client\n     * supports the given verification methods.\n     *\n     * `methods` represents the methods that we should advertise as\n     * supported by us.\n     *\n     * It returns either a `ToDeviceRequest`, a `RoomMessageRequest`\n     * or `undefined`.\n     * @param {VerificationMethod[]} methods\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    acceptWithMethods(methods) {\n        const ptr0 = passArrayJsValueToWasm0(methods, wasm.__wbindgen_malloc);\n        const len0 = WASM_VECTOR_LEN;\n        const ret = wasm.verificationrequest_acceptWithMethods(this.__wbg_ptr, ptr0, len0);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Cancel the verification request.\n     *\n     * It returns either a `ToDeviceRequest`, a `RoomMessageRequest`\n     * or `undefined`.\n     * @returns {OutgoingVerificationRequest | undefined}\n     */\n    cancel() {\n        const ret = wasm.verificationrequest_cancel(this.__wbg_ptr);\n        if (ret[2]) {\n            throw takeFromExternrefTable0(ret[1]);\n        }\n        return takeFromExternrefTable0(ret[0]);\n    }\n    /**\n     * Get info about the cancellation if the verification request\n     * has been cancelled.\n     * @returns {CancelInfo | undefined}\n     */\n    get cancelInfo() {\n        const ret = wasm.verificationrequest_cancelInfo(this.__wbg_ptr);\n        return ret === 0 ? undefined : CancelInfo.__wrap(ret);\n    }\n    /**\n     * Get the unique ID of this verification request.\n     * @returns {string}\n     */\n    get flowId() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const ret = wasm.verificationrequest_flowId(this.__wbg_ptr);\n            deferred1_0 = ret[0];\n            deferred1_1 = ret[1];\n            return getStringFromWasm0(ret[0], ret[1]);\n        } finally {\n            wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Generate a QR code that can be used by another client to start\n     * a QR code based verification.\n     *\n     * Returns a `Qr` or `undefined`.\n     * @returns {Promise<Qr | undefined>}\n     */\n    generateQrCode() {\n        const ret = wasm.verificationrequest_generateQrCode(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * If this request has transitioned into a concrete verification\n     * flow (and not yet been completed or cancelled), returns a `Verification`\n     * object.\n     *\n     * Returns: a `Sas`, a `Qr`, or `undefined`.\n     * @returns {Sas | Qr | undefined}\n     */\n    getVerification() {\n        const ret = wasm.verificationrequest_getVerification(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Has the verification flow that was started with this request\n     * been cancelled?\n     * @returns {boolean}\n     */\n    isCancelled() {\n        const ret = wasm.verificationrequest_isCancelled(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Has the verification flow that was started with this request\n     * finished?\n     * @returns {boolean}\n     */\n    isDone() {\n        const ret = wasm.verificationrequest_isDone(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Has the verification request been answered by another device?\n     * @returns {boolean}\n     */\n    isPassive() {\n        const ret = wasm.verificationrequest_isPassive(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is the verification request ready to start a verification flow?\n     * @returns {boolean}\n     */\n    isReady() {\n        const ret = wasm.verificationrequest_isReady(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Is this a verification that is verifying one of our own\n     * devices?\n     * @returns {boolean}\n     */\n    isSelfVerification() {\n        const ret = wasm.verificationrequest_isSelfVerification(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * The ID of the other device that is participating in this\n     * verification.\n     * @returns {DeviceId | undefined}\n     */\n    get otherDeviceId() {\n        const ret = wasm.verificationrequest_otherDeviceId(this.__wbg_ptr);\n        return ret === 0 ? undefined : DeviceId.__wrap(ret);\n    }\n    /**\n     * The ID of the other user that is participating in this\n     * verification request.\n     * @returns {UserId}\n     */\n    get otherUserId() {\n        const ret = wasm.verificationrequest_otherUserId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Get our own supported verification methods that we advertised.\n     *\n     * Will be present only we requested the verification or if we’re\n     * in the ready state.\n     * @returns {VerificationMethod[] | undefined}\n     */\n    get ourSupportedMethods() {\n        const ret = wasm.verificationrequest_ourSupportedMethods(this.__wbg_ptr);\n        if (ret[3]) {\n            throw takeFromExternrefTable0(ret[2]);\n        }\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n        }\n        return v1;\n    }\n    /**\n     * Our own user id.\n     * @returns {UserId}\n     */\n    get ownUserId() {\n        const ret = wasm.verificationrequest_ownUserId(this.__wbg_ptr);\n        return UserId.__wrap(ret);\n    }\n    /**\n     * Get the current phase of this request.\n     *\n     * Returns a `VerificationRequestPhase`.\n     * @returns {VerificationRequestPhase}\n     */\n    phase() {\n        const ret = wasm.verificationrequest_phase(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Register a callback which will be called whenever there is an update to\n     * the request.\n     *\n     * The `callback` is called with no parameters.\n     * @param {() => Promise<void>} callback\n     */\n    registerChangesCallback(callback) {\n        wasm.verificationrequest_registerChangesCallback(this.__wbg_ptr, callback);\n    }\n    /**\n     * Create an event content that can be sent as a room event to\n     * request verification from the other side. This should be used\n     * only for verifications of other users and it should be sent to\n     * a room we consider to be a DM with the other user.\n     * @param {UserId} own_user_id\n     * @param {DeviceId} own_device_id\n     * @param {UserId} other_user_id\n     * @param {VerificationMethod[]} [methods]\n     * @returns {string}\n     */\n    static request(own_user_id, own_device_id, other_user_id, methods) {\n        let deferred3_0;\n        let deferred3_1;\n        try {\n            _assertClass(own_user_id, UserId);\n            _assertClass(own_device_id, DeviceId);\n            _assertClass(other_user_id, UserId);\n            var ptr0 = isLikeNone(methods) ? 0 : passArrayJsValueToWasm0(methods, wasm.__wbindgen_malloc);\n            var len0 = WASM_VECTOR_LEN;\n            const ret = wasm.verificationrequest_request(own_user_id.__wbg_ptr, own_device_id.__wbg_ptr, other_user_id.__wbg_ptr, ptr0, len0);\n            var ptr2 = ret[0];\n            var len2 = ret[1];\n            if (ret[3]) {\n                ptr2 = 0; len2 = 0;\n                throw takeFromExternrefTable0(ret[2]);\n            }\n            deferred3_0 = ptr2;\n            deferred3_1 = len2;\n            return getStringFromWasm0(ptr2, len2);\n        } finally {\n            wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);\n        }\n    }\n    /**\n     * Get the room ID if the verification is happening inside a\n     * room.\n     * @returns {RoomId | undefined}\n     */\n    get roomId() {\n        const ret = wasm.verificationrequest_roomId(this.__wbg_ptr);\n        return ret === 0 ? undefined : RoomId.__wrap(ret);\n    }\n    /**\n     * Start a QR code verification by providing a scanned QR code\n     * for this verification flow.\n     * @param {QrCodeScan} data\n     * @returns {Promise<Qr>}\n     */\n    scanQrCode(data) {\n        _assertClass(data, QrCodeScan);\n        const ret = wasm.verificationrequest_scanQrCode(this.__wbg_ptr, data.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Transition from this verification request into a SAS verification flow.\n     *\n     * Returns `Promise<[Sas, OutgoingVerificationRequest] | undefined>`\n     * @returns {Promise<[Sas, OutgoingVerificationRequest] | undefined>}\n     */\n    startSas() {\n        const ret = wasm.verificationrequest_startSas(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get the supported verification methods of the other side.\n     *\n     * Will be present only if the other side requested the\n     * verification or if we’re in the ready state.\n     *\n     * # Returns\n     *\n     * `undefined` if we do not yet know the supported methods; otherwise, an\n     * array of `VerificationMethod`s.\n     * @returns {VerificationMethod[] | undefined}\n     */\n    get theirSupportedMethods() {\n        const ret = wasm.verificationrequest_theirSupportedMethods(this.__wbg_ptr);\n        if (ret[3]) {\n            throw takeFromExternrefTable0(ret[2]);\n        }\n        let v1;\n        if (ret[0] !== 0) {\n            v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n            wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n        }\n        return v1;\n    }\n    /**\n     * The number of milliseconds remaining before this verification flow times\n     * out.\n     *\n     * Returns zero if the time has already passed.\n     * @returns {number}\n     */\n    timeRemainingMillis() {\n        const ret = wasm.verificationrequest_timeRemainingMillis(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Has the verification flow timed out?\n     * @returns {boolean}\n     */\n    timedOut() {\n        const ret = wasm.verificationrequest_timedOut(this.__wbg_ptr);\n        return ret !== 0;\n    }\n    /**\n     * Did we initiate the verification request?\n     * @returns {boolean}\n     */\n    weStarted() {\n        const ret = wasm.verificationrequest_weStarted(this.__wbg_ptr);\n        return ret !== 0;\n    }\n}\nif (Symbol.dispose) VerificationRequest.prototype[Symbol.dispose] = VerificationRequest.prototype.free;\n\n/**\n * List of VerificationRequestState phases\n * @enum {0 | 1 | 2 | 3 | 4 | 5}\n */\nexport const VerificationRequestPhase = Object.freeze({\n    /**\n     * The verification request has been newly created by us.\n     */\n    Created: 0, \"0\": \"Created\",\n    /**\n     * The verification request was received from the other party.\n     */\n    Requested: 1, \"1\": \"Requested\",\n    /**\n     * The verification request is ready to start a verification flow.\n     */\n    Ready: 2, \"2\": \"Ready\",\n    /**\n     * The verification request has transitioned into a concrete verification\n     * flow. For example it transitioned into the emoji based SAS\n     * verification.\n     */\n    Transitioned: 3, \"3\": \"Transitioned\",\n    /**\n     * The verification flow that was started with this request has finished.\n     */\n    Done: 4, \"4\": \"Done\",\n    /**\n     * The verification process has been cancelled.\n     */\n    Cancelled: 5, \"5\": \"Cancelled\",\n});\n\n/**\n * Object containing the versions of the Rust libraries we are using.\n */\nexport class Versions {\n    static __wrap(ptr) {\n        const obj = Object.create(Versions.prototype);\n        obj.__wbg_ptr = ptr;\n        VersionsFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        VersionsFinalization.unregister(this);\n        return ptr;\n    }\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_versions_free(ptr, 0);\n    }\n    /**\n     * The build-time output of the `git describe` command of the source tree\n     * of crate.\n     * @returns {string}\n     */\n    get git_description() {\n        const ret = wasm.__wbg_get_versions_git_description(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The Git commit hash of the crate's source tree at build time.\n     * @returns {string}\n     */\n    get git_sha() {\n        const ret = wasm.__wbg_get_versions_git_sha(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The version of the matrix-sdk-crypto crate.\n     * @returns {string}\n     */\n    get matrix_sdk_crypto() {\n        const ret = wasm.__wbg_get_versions_matrix_sdk_crypto(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * The version of the vodozemac crate.\n     * @returns {string}\n     */\n    get vodozemac() {\n        const ret = wasm.__wbg_get_versions_vodozemac(this.__wbg_ptr);\n        return ret;\n    }\n}\nif (Symbol.dispose) Versions.prototype[Symbol.dispose] = Versions.prototype.free;\n\n/**\n * Get the versions of the Rust libraries we are using.\n * @returns {Versions}\n */\nexport function getVersions() {\n    const ret = wasm.getVersions();\n    return Versions.__wrap(ret);\n}\n\n/**\n * Run some stuff when the Wasm module is instantiated.\n *\n * Right now, it does the following:\n *\n * * Redirect Rust panics to JavaScript console.\n */\nexport function start() {\n    wasm.start();\n}\nexport function __wbg_Error_bce6d499ff0a4aff(arg0, arg1) {\n    const ret = Error(getStringFromWasm0(arg0, arg1));\n    return ret;\n}\nexport function __wbg_Number_b7972a139bfbfdf0(arg0) {\n    const ret = Number(arg0);\n    return ret;\n}\nexport function __wbg_String_8564e559799eccda(arg0, arg1) {\n    const ret = String(arg1);\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n}\nexport function __wbg_Window_241244be8c9776c1(arg0) {\n    const ret = arg0.Window;\n    return ret;\n}\nexport function __wbg_WorkerGlobalScope_8623a7c9030fbce2(arg0) {\n    const ret = arg0.WorkerGlobalScope;\n    return ret;\n}\nexport function __wbg___wbindgen_bigint_get_as_i64_410e28c7b761ad83(arg0, arg1) {\n    const v = arg1;\n    const ret = typeof(v) === 'bigint' ? v : undefined;\n    getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n}\nexport function __wbg___wbindgen_boolean_get_2304fb8c853028c8(arg0) {\n    const v = arg0;\n    const ret = typeof(v) === 'boolean' ? v : undefined;\n    return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n}\nexport function __wbg___wbindgen_debug_string_edece8177ad01481(arg0, arg1) {\n    const ret = debugString(arg1);\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n}\nexport function __wbg___wbindgen_in_07056af4f902c445(arg0, arg1) {\n    const ret = arg0 in arg1;\n    return ret;\n}\nexport function __wbg___wbindgen_is_bigint_aeae3893f30ed54e(arg0) {\n    const ret = typeof(arg0) === 'bigint';\n    return ret;\n}\nexport function __wbg___wbindgen_is_function_5cd60d5cf78b4eef(arg0) {\n    const ret = typeof(arg0) === 'function';\n    return ret;\n}\nexport function __wbg___wbindgen_is_null_2042690d351e14f0(arg0) {\n    const ret = arg0 === null;\n    return ret;\n}\nexport function __wbg___wbindgen_is_object_b4593df85baada48(arg0) {\n    const val = arg0;\n    const ret = typeof(val) === 'object' && val !== null;\n    return ret;\n}\nexport function __wbg___wbindgen_is_string_dde0fd9020db4434(arg0) {\n    const ret = typeof(arg0) === 'string';\n    return ret;\n}\nexport function __wbg___wbindgen_is_undefined_35bb9f4c7fd651d5(arg0) {\n    const ret = arg0 === undefined;\n    return ret;\n}\nexport function __wbg___wbindgen_jsval_eq_c0ed08b3e0f393b9(arg0, arg1) {\n    const ret = arg0 === arg1;\n    return ret;\n}\nexport function __wbg___wbindgen_jsval_loose_eq_0ad77b7717db155c(arg0, arg1) {\n    const ret = arg0 == arg1;\n    return ret;\n}\nexport function __wbg___wbindgen_number_get_f73a1244370fcc2c(arg0, arg1) {\n    const obj = arg1;\n    const ret = typeof(obj) === 'number' ? obj : undefined;\n    getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n}\nexport function __wbg___wbindgen_string_get_d109740c0d18f4d7(arg0, arg1) {\n    const obj = arg1;\n    const ret = typeof(obj) === 'string' ? obj : undefined;\n    var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n    var len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n}\nexport function __wbg___wbindgen_throw_9c31b086c2b26051(arg0, arg1) {\n    throw new Error(getStringFromWasm0(arg0, arg1));\n}\nexport function __wbg__wbg_cb_unref_3fa391f3fcdb55f8(arg0) {\n    arg0._wbg_cb_unref();\n}\nexport function __wbg_abort_70a701fced9ad53a() { return handleError(function (arg0) {\n    arg0.abort();\n}, arguments); }\nexport function __wbg_add_07a7ab95134233b9(arg0, arg1) {\n    const ret = arg0.add(arg1);\n    return ret;\n}\nexport function __wbg_add_2d9a55f3b0313ab0() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.add(arg1, arg2);\n    return ret;\n}, arguments); }\nexport function __wbg_at_3bffe427b0245c4e(arg0, arg1) {\n    const ret = arg0.at(arg1);\n    return ret;\n}\nexport function __wbg_backupkeys_new(arg0) {\n    const ret = BackupKeys.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_bound_8d5dfa042d13a74b() { return handleError(function (arg0, arg1, arg2, arg3) {\n    const ret = IDBKeyRange.bound(arg0, arg1, arg2 !== 0, arg3 !== 0);\n    return ret;\n}, arguments); }\nexport function __wbg_call_084ee3e860ee9f92() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n    const ret = arg0.call(arg1, arg2, arg3, arg4);\n    return ret;\n}, arguments); }\nexport function __wbg_call_13665d9f14390edc() { return handleError(function (arg0, arg1) {\n    const ret = arg0.call(arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_call_dfde26266607c996() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.call(arg1, arg2);\n    return ret;\n}, arguments); }\nexport function __wbg_call_faa0a261f288f846() { return handleError(function (arg0, arg1, arg2, arg3) {\n    const ret = arg0.call(arg1, arg2, arg3);\n    return ret;\n}, arguments); }\nexport function __wbg_clearTimeout_113b1cde814ec762(arg0) {\n    const ret = clearTimeout(arg0);\n    return ret;\n}\nexport function __wbg_clear_bb1b3ff877b62598() { return handleError(function (arg0) {\n    const ret = arg0.clear();\n    return ret;\n}, arguments); }\nexport function __wbg_close_b66c780bfc7dd92c(arg0) {\n    arg0.close();\n}\nexport function __wbg_code_b725fad05a5aceb3(arg0) {\n    const ret = arg0.code;\n    return ret;\n}\nexport function __wbg_commit_ebd6d9676954e0d2() { return handleError(function (arg0) {\n    arg0.commit();\n}, arguments); }\nexport function __wbg_continue_6f5a7d3d3bc4a125() { return handleError(function (arg0) {\n    arg0.continue();\n}, arguments); }\nexport function __wbg_count_048ba344d77978d6() { return handleError(function (arg0) {\n    const ret = arg0.count();\n    return ret;\n}, arguments); }\nexport function __wbg_count_0e78b9f66eb6a1d6() { return handleError(function (arg0) {\n    const ret = arg0.count();\n    return ret;\n}, arguments); }\nexport function __wbg_createIndex_4dedb55a60318332() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n    const ret = arg0.createIndex(getStringFromWasm0(arg1, arg2), arg3, arg4);\n    return ret;\n}, arguments); }\nexport function __wbg_createIndex_82392a1ffeb84021() { return handleError(function (arg0, arg1, arg2, arg3) {\n    const ret = arg0.createIndex(getStringFromWasm0(arg1, arg2), arg3);\n    return ret;\n}, arguments); }\nexport function __wbg_createObjectStore_ce6be0d6715f0760() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.createObjectStore(getStringFromWasm0(arg1, arg2));\n    return ret;\n}, arguments); }\nexport function __wbg_crosssigningbootstraprequests_new(arg0) {\n    const ret = CrossSigningBootstrapRequests.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_crosssigningkeyexport_new(arg0) {\n    const ret = CrossSigningKeyExport.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_crosssigningstatus_new(arg0) {\n    const ret = CrossSigningStatus.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_crypto_38df2bab126b63dc(arg0) {\n    const ret = arg0.crypto;\n    return ret;\n}\nexport function __wbg_debug_1ac2ea5532f70f4c(arg0, arg1) {\n    arg0.debug(arg1);\n}\nexport function __wbg_debug_83758bc0b77ada71(arg0) {\n    console.debug(arg0);\n}\nexport function __wbg_decryptedroomevent_new(arg0) {\n    const ret = DecryptedRoomEvent.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_decryptedtodeviceevent_new(arg0) {\n    const ret = DecryptedToDeviceEvent.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_dehydrateddevice_new(arg0) {\n    const ret = DehydratedDevice.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_dehydrateddevicekey_new(arg0) {\n    const ret = DehydratedDeviceKey.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_deleteObjectStore_91d035f22c860ba0() { return handleError(function (arg0, arg1, arg2) {\n    arg0.deleteObjectStore(getStringFromWasm0(arg1, arg2));\n}, arguments); }\nexport function __wbg_delete_9c4e8b22a8b0ff3c() { return handleError(function (arg0) {\n    const ret = arg0.delete();\n    return ret;\n}, arguments); }\nexport function __wbg_delete_bc03f88e7f14db56() { return handleError(function (arg0, arg1) {\n    const ret = arg0.delete(arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_device_new(arg0) {\n    const ret = Device.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_deviceid_new(arg0) {\n    const ret = DeviceId.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_devicekey_new(arg0) {\n    const ret = DeviceKey.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_devicekeyid_new(arg0) {\n    const ret = DeviceKeyId.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_done_54b8da57023b7ed2(arg0) {\n    const ret = arg0.done;\n    return ret;\n}\nexport function __wbg_emoji_new(arg0) {\n    const ret = Emoji.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_encryptedattachment_new(arg0) {\n    const ret = EncryptedAttachment.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_encryptioninfo_new(arg0) {\n    const ret = EncryptionInfo.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_entries_564a7e8b1e54ede5(arg0) {\n    const ret = Object.entries(arg0);\n    return ret;\n}\nexport function __wbg_entries_c5ae2149eef72ab2(arg0) {\n    const ret = arg0.entries();\n    return ret;\n}\nexport function __wbg_error_a6fa202b58aa1cd3(arg0, arg1) {\n    let deferred0_0;\n    let deferred0_1;\n    try {\n        deferred0_0 = arg0;\n        deferred0_1 = arg1;\n        console.error(getStringFromWasm0(arg0, arg1));\n    } finally {\n        wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n    }\n}\nexport function __wbg_error_dbd3752906405f8d(arg0, arg1) {\n    arg0.error(arg1);\n}\nexport function __wbg_error_ef9cbaece146d1d5() { return handleError(function (arg0) {\n    const ret = arg0.error;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}, arguments); }\nexport function __wbg_error_f085d7e62279b703(arg0) {\n    console.error(arg0);\n}\nexport function __wbg_from_fa561fa561dc8031(arg0) {\n    const ret = Array.from(arg0);\n    return ret;\n}\nexport function __wbg_getAllKeys_07d656e168400060() { return handleError(function (arg0) {\n    const ret = arg0.getAllKeys();\n    return ret;\n}, arguments); }\nexport function __wbg_getAll_31747a1df22443f5() { return handleError(function (arg0) {\n    const ret = arg0.getAll();\n    return ret;\n}, arguments); }\nexport function __wbg_getAll_a0a54eef6ac20915() { return handleError(function (arg0, arg1) {\n    const ret = arg0.getAll(arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_getAll_bc4f4ec6a1504163() { return handleError(function (arg0) {\n    const ret = arg0.getAll();\n    return ret;\n}, arguments); }\nexport function __wbg_getAll_f658d6ff0380c8c0() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.getAll(arg1, arg2 >>> 0);\n    return ret;\n}, arguments); }\nexport function __wbg_getRandomValues_76dfc69825c9c552() { return handleError(function (arg0, arg1) {\n    globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));\n}, arguments); }\nexport function __wbg_getRandomValues_c44a50d8cfdaebeb() { return handleError(function (arg0, arg1) {\n    arg0.getRandomValues(arg1);\n}, arguments); }\nexport function __wbg_getRandomValues_ef12552bf5acd2fe() { return handleError(function (arg0, arg1) {\n    globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));\n}, arguments); }\nexport function __wbg_getTime_09f1dd40a44edb30(arg0) {\n    const ret = arg0.getTime();\n    return ret;\n}\nexport function __wbg_get_335f027bf0ad3391() { return handleError(function (arg0, arg1) {\n    const ret = arg0.get(arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_get_3e9a707ab7d352eb() { return handleError(function (arg0, arg1) {\n    const ret = Reflect.get(arg0, arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_get_98fdf51d029a75eb(arg0, arg1) {\n    const ret = arg0[arg1 >>> 0];\n    return ret;\n}\nexport function __wbg_get_b6f278d067d9edad() { return handleError(function (arg0, arg1) {\n    const ret = arg0.get(arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_get_dcf82ab8aad1a593() { return handleError(function (arg0, arg1) {\n    const ret = Reflect.get(arg0, arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_get_unchecked_1dfe6d05ad91d9b7(arg0, arg1) {\n    const ret = arg0[arg1 >>> 0];\n    return ret;\n}\nexport function __wbg_get_with_ref_key_6412cf3094599694(arg0, arg1) {\n    const ret = arg0[arg1];\n    return ret;\n}\nexport function __wbg_global_94a489d2e6a0c5fd(arg0) {\n    const ret = arg0.global;\n    return ret;\n}\nexport function __wbg_inboundgroupsession_new(arg0) {\n    const ret = InboundGroupSession.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_index_1eb6fae6472ecb14() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.index(getStringFromWasm0(arg1, arg2));\n    return ret;\n}, arguments); }\nexport function __wbg_indexedDB_2e82cb845ce6b3ad() { return handleError(function (arg0) {\n    const ret = arg0.indexedDB;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}, arguments); }\nexport function __wbg_indexedDB_47c354eb27472a00() { return handleError(function (arg0) {\n    const ret = arg0.indexedDB;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}, arguments); }\nexport function __wbg_indexedDB_cbfeacc981615a77() { return handleError(function (arg0) {\n    const ret = arg0.indexedDB;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}, arguments); }\nexport function __wbg_info_929f1b00bd4820a9(arg0, arg1) {\n    arg0.info(arg1);\n}\nexport function __wbg_info_d2226ca1698bd09c(arg0) {\n    console.info(arg0);\n}\nexport function __wbg_instanceof_ArrayBuffer_53db37b06f6b9afe(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof ArrayBuffer;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_CursorSys_383984afc1fa1bbc(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof IDBCursorWithValue;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_DomException_bc16ce893e8c7439(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof DOMException;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_Error_b3f7e146d654031a(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof Error;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_IdbCursor_9dd6ddde8160efcf(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof IDBCursor;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_IdbDatabase_102b0fe5255eee9c(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof IDBDatabase;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_IdbOpenDbRequest_2cce7fd687448f0f(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof IDBOpenDBRequest;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_IdbRequest_eef501cff5d0b7c1(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof IDBRequest;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_Map_16f217b9a2a08d8c(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof Map;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_Promise_09012cfa9708520a(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof Promise;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_instanceof_Uint8Array_abd07d4bd221d50b(arg0) {\n    let result;\n    try {\n        result = arg0 instanceof Uint8Array;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n}\nexport function __wbg_invalidtodeviceevent_new(arg0) {\n    const ret = InvalidToDeviceEvent.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_isArray_74b636a53056fecb(arg0) {\n    const ret = Array.isArray(arg0);\n    return ret;\n}\nexport function __wbg_isArray_94898ed3aad6947b(arg0) {\n    const ret = Array.isArray(arg0);\n    return ret;\n}\nexport function __wbg_isSafeInteger_01e964d144ad3a55(arg0) {\n    const ret = Number.isSafeInteger(arg0);\n    return ret;\n}\nexport function __wbg_item_c9a2ae22eb138d82(arg0, arg1, arg2) {\n    const ret = arg1.item(arg2 >>> 0);\n    var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n    var len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n}\nexport function __wbg_iterator_1441b47f341dc34f() {\n    const ret = Symbol.iterator;\n    return ret;\n}\nexport function __wbg_key_387cdde352276f3a() { return handleError(function (arg0) {\n    const ret = arg0.key;\n    return ret;\n}, arguments); }\nexport function __wbg_keysbackuprequest_new(arg0) {\n    const ret = KeysBackupRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_keysclaimrequest_new(arg0) {\n    const ret = KeysClaimRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_keysqueryrequest_new(arg0) {\n    const ret = KeysQueryRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_keysuploadrequest_new(arg0) {\n    const ret = KeysUploadRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_length_2591a0f4f659a55c(arg0) {\n    const ret = arg0.length;\n    return ret;\n}\nexport function __wbg_length_56fcd3e2b7e0299d(arg0) {\n    const ret = arg0.length;\n    return ret;\n}\nexport function __wbg_length_949f85b73ce6595d(arg0) {\n    const ret = arg0.length;\n    return ret;\n}\nexport function __wbg_lowerBound_a64226f683db77bb() { return handleError(function (arg0, arg1) {\n    const ret = IDBKeyRange.lowerBound(arg0, arg1 !== 0);\n    return ret;\n}, arguments); }\nexport function __wbg_maybesignature_new(arg0) {\n    const ret = MaybeSignature.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_megolmdecryptionerror_new(arg0) {\n    const ret = MegolmDecryptionError.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_message_324ac511aeaf710e(arg0) {\n    const ret = arg0.message;\n    return ret;\n}\nexport function __wbg_message_e88a8d3ba2b91c2a(arg0, arg1) {\n    const ret = arg1.message;\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n}\nexport function __wbg_msCrypto_bd5a034af96bcba6(arg0) {\n    const ret = arg0.msCrypto;\n    return ret;\n}\nexport function __wbg_name_fe88cfc178ec40b8(arg0, arg1) {\n    const ret = arg1.name;\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n}\nexport function __wbg_new_02d162bc6cf02f60() {\n    const ret = new Object();\n    return ret;\n}\nexport function __wbg_new_070df68d66325372() {\n    const ret = new Map();\n    return ret;\n}\nexport function __wbg_new_1f236d63ba0c4784(arg0, arg1) {\n    const ret = new Error(getStringFromWasm0(arg0, arg1));\n    return ret;\n}\nexport function __wbg_new_227d7c05414eb861() {\n    const ret = new Error();\n    return ret;\n}\nexport function __wbg_new_310879b66b6e95e1() {\n    const ret = new Array();\n    return ret;\n}\nexport function __wbg_new_6c6169c583e23af8(arg0) {\n    const ret = new Set(arg0);\n    return ret;\n}\nexport function __wbg_new_7ddec6de44ff8f5d(arg0) {\n    const ret = new Uint8Array(arg0);\n    return ret;\n}\nexport function __wbg_new_859b9002e2668e82(arg0) {\n    const ret = new Date(arg0);\n    return ret;\n}\nexport function __wbg_new_d8dfd33fa007511d(arg0, arg1) {\n    try {\n        var state0 = {a: arg0, b: arg1};\n        var cb0 = (arg0, arg1) => {\n            const a = state0.a;\n            state0.a = 0;\n            try {\n                return wasm_bindgen__convert__closures_____invoke__h33afbfdbaf3c68e2(a, state0.b, arg0, arg1);\n            } finally {\n                state0.a = a;\n            }\n        };\n        const ret = new Promise(cb0);\n        return ret;\n    } finally {\n        state0.a = 0;\n    }\n}\nexport function __wbg_new_typed_c072c4ce9a2a0cdf(arg0, arg1) {\n    try {\n        var state0 = {a: arg0, b: arg1};\n        var cb0 = (arg0, arg1) => {\n            const a = state0.a;\n            state0.a = 0;\n            try {\n                return wasm_bindgen__convert__closures_____invoke__h33afbfdbaf3c68e2(a, state0.b, arg0, arg1);\n            } finally {\n                state0.a = a;\n            }\n        };\n        const ret = new Promise(cb0);\n        return ret;\n    } finally {\n        state0.a = 0;\n    }\n}\nexport function __wbg_new_with_length_99887c91eae4abab(arg0) {\n    const ret = new Uint8Array(arg0 >>> 0);\n    return ret;\n}\nexport function __wbg_new_with_length_f193d8561d89261d(arg0) {\n    const ret = new Uint8ClampedArray(arg0 >>> 0);\n    return ret;\n}\nexport function __wbg_next_2a4e19f4f5083b0f(arg0) {\n    const ret = arg0.next;\n    return ret;\n}\nexport function __wbg_next_6429a146bf756f93() { return handleError(function (arg0) {\n    const ret = arg0.next();\n    return ret;\n}, arguments); }\nexport function __wbg_node_84ea875411254db1(arg0) {\n    const ret = arg0.node;\n    return ret;\n}\nexport function __wbg_now_81363d44c96dd239() {\n    const ret = Date.now();\n    return ret;\n}\nexport function __wbg_now_e7c6795a7f81e10f(arg0) {\n    const ret = arg0.now();\n    return ret;\n}\nexport function __wbg_objectStoreNames_7eb10221ec542d29(arg0) {\n    const ret = arg0.objectStoreNames;\n    return ret;\n}\nexport function __wbg_objectStore_b28adb984a77902e() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.objectStore(getStringFromWasm0(arg1, arg2));\n    return ret;\n}, arguments); }\nexport function __wbg_oldVersion_afd7254bce31480c(arg0) {\n    const ret = arg0.oldVersion;\n    return ret;\n}\nexport function __wbg_olmmachine_new(arg0) {\n    const ret = OlmMachine.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_openCursor_3f4e3e61d07887e9() { return handleError(function (arg0) {\n    const ret = arg0.openCursor();\n    return ret;\n}, arguments); }\nexport function __wbg_openCursor_61c49273b7c65183() { return handleError(function (arg0, arg1) {\n    const ret = arg0.openCursor(arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_openCursor_7423d75422835a48() { return handleError(function (arg0) {\n    const ret = arg0.openCursor();\n    return ret;\n}, arguments); }\nexport function __wbg_open_40ab11cdd8f5ac5a() { return handleError(function (arg0, arg1, arg2, arg3) {\n    const ret = arg0.open(getStringFromWasm0(arg1, arg2), arg3 >>> 0);\n    return ret;\n}, arguments); }\nexport function __wbg_open_a9584db064190886() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.open(getStringFromWasm0(arg1, arg2));\n    return ret;\n}, arguments); }\nexport function __wbg_otheruseridentity_new(arg0) {\n    const ret = OtherUserIdentity.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_ownuseridentity_new(arg0) {\n    const ret = OwnUserIdentity.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_parse_2c1cad6215e84999() { return handleError(function (arg0, arg1) {\n    const ret = JSON.parse(getStringFromWasm0(arg0, arg1));\n    return ret;\n}, arguments); }\nexport function __wbg_performance_3fcf6e32a7e1ed0a(arg0) {\n    const ret = arg0.performance;\n    return ret;\n}\nexport function __wbg_pickledinboundgroupsession_unwrap(arg0) {\n    const ret = PickledInboundGroupSession.__unwrap(arg0);\n    return ret;\n}\nexport function __wbg_pickledsession_unwrap(arg0) {\n    const ret = PickledSession.__unwrap(arg0);\n    return ret;\n}\nexport function __wbg_plaintexttodeviceevent_new(arg0) {\n    const ret = PlainTextToDeviceEvent.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_process_44c7a14e11e9f69e(arg0) {\n    const ret = arg0.process;\n    return ret;\n}\nexport function __wbg_prototypesetcall_337df880a7679568(arg0, arg1, arg2) {\n    Uint8ClampedArray.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n}\nexport function __wbg_prototypesetcall_5f9bdc8d75e07276(arg0, arg1, arg2) {\n    Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n}\nexport function __wbg_push_b77c476b01548d0a(arg0, arg1) {\n    const ret = arg0.push(arg1);\n    return ret;\n}\nexport function __wbg_put_ad17713e2c2f12fa() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.put(arg1, arg2);\n    return ret;\n}, arguments); }\nexport function __wbg_putdehydrateddevicerequest_new(arg0) {\n    const ret = PutDehydratedDeviceRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_qr_new(arg0) {\n    const ret = Qr.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_queueMicrotask_78d584b53af520f5(arg0) {\n    const ret = arg0.queueMicrotask;\n    return ret;\n}\nexport function __wbg_queueMicrotask_b39ea83c7f01971a(arg0) {\n    queueMicrotask(arg0);\n}\nexport function __wbg_randomFillSync_6c25eac9869eb53c() { return handleError(function (arg0, arg1) {\n    arg0.randomFillSync(arg1);\n}, arguments); }\nexport function __wbg_readyState_b7c530197b76b93b(arg0) {\n    const ret = arg0.readyState;\n    return (__wbindgen_enum_IdbRequestReadyState.indexOf(ret) + 1 || 3) - 1;\n}\nexport function __wbg_rehydrateddevice_new(arg0) {\n    const ret = RehydratedDevice.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_request_64abeba15a72c084(arg0) {\n    const ret = arg0.request;\n    return ret;\n}\nexport function __wbg_request_72a78988f2edecad(arg0) {\n    const ret = arg0.request;\n    return ret;\n}\nexport function __wbg_require_b4edbdcf3e2a1ef0() { return handleError(function () {\n    const ret = module.require;\n    return ret;\n}, arguments); }\nexport function __wbg_resolve_d17db9352f5a220e(arg0) {\n    const ret = Promise.resolve(arg0);\n    return ret;\n}\nexport function __wbg_result_c4cb33cd39c97cac() { return handleError(function (arg0) {\n    const ret = arg0.result;\n    return ret;\n}, arguments); }\nexport function __wbg_roomid_unwrap(arg0) {\n    const ret = RoomId.__unwrap(arg0);\n    return ret;\n}\nexport function __wbg_roomkeycounts_new(arg0) {\n    const ret = RoomKeyCounts.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_roomkeyimportresult_new(arg0) {\n    const ret = RoomKeyImportResult.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_roomkeyinfo_new(arg0) {\n    const ret = RoomKeyInfo.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_roomkeywithheldinfo_new(arg0) {\n    const ret = RoomKeyWithheldInfo.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_roommessagerequest_new(arg0) {\n    const ret = RoomMessageRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_roompendingkeybundledetails_new(arg0) {\n    const ret = RoomPendingKeyBundleDetails.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_roomsettings_new(arg0) {\n    const ret = RoomSettings.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_sas_new(arg0) {\n    const ret = Sas.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_secretsbundle_new(arg0) {\n    const ret = SecretsBundle.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_setTimeout_ef24d2fc3ad97385() { return handleError(function (arg0, arg1) {\n    const ret = setTimeout(arg0, arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_set_6be42768c690e380(arg0, arg1, arg2) {\n    arg0[arg1] = arg2;\n}\nexport function __wbg_set_78ea6a19f4818587(arg0, arg1, arg2) {\n    arg0[arg1 >>> 0] = arg2;\n}\nexport function __wbg_set_bf22f3de29cb1fce(arg0, arg1, arg2) {\n    arg0.set(getArrayU8FromWasm0(arg1, arg2));\n}\nexport function __wbg_set_facb7a5914e0fa39(arg0, arg1, arg2) {\n    const ret = arg0.set(arg1, arg2);\n    return ret;\n}\nexport function __wbg_set_onabort_ed56d2172d920901(arg0, arg1) {\n    arg0.onabort = arg1;\n}\nexport function __wbg_set_oncomplete_3f428ec13b20d7cc(arg0, arg1) {\n    arg0.oncomplete = arg1;\n}\nexport function __wbg_set_onerror_38740b892815eedc(arg0, arg1) {\n    arg0.onerror = arg1;\n}\nexport function __wbg_set_onerror_457b093a5063c7ec(arg0, arg1) {\n    arg0.onerror = arg1;\n}\nexport function __wbg_set_onsuccess_b556141053d02ea7(arg0, arg1) {\n    arg0.onsuccess = arg1;\n}\nexport function __wbg_set_onupgradeneeded_f885fa17614acd2b(arg0, arg1) {\n    arg0.onupgradeneeded = arg1;\n}\nexport function __wbg_set_unique_c307b08264e831b2(arg0, arg1) {\n    arg0.unique = arg1 !== 0;\n}\nexport function __wbg_signatures_new(arg0) {\n    const ret = Signatures.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_signatureuploadrequest_new(arg0) {\n    const ret = SignatureUploadRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_signatureverification_new(arg0) {\n    const ret = SignatureVerification.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_stack_3b0d974bbf31e44f(arg0, arg1) {\n    const ret = arg1.stack;\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n}\nexport function __wbg_static_accessor_GLOBAL_THIS_02344c9b09eb08a9() {\n    const ret = typeof globalThis === 'undefined' ? null : globalThis;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}\nexport function __wbg_static_accessor_GLOBAL_ac6d4ac874d5cd54() {\n    const ret = typeof global === 'undefined' ? null : global;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}\nexport function __wbg_static_accessor_SELF_9b2406c23aeb2023() {\n    const ret = typeof self === 'undefined' ? null : self;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}\nexport function __wbg_static_accessor_WINDOW_b34d2126934e16ba() {\n    const ret = typeof window === 'undefined' ? null : window;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}\nexport function __wbg_storedroomkeybundledata_new(arg0) {\n    const ret = StoredRoomKeyBundleData.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_storehandle_new(arg0) {\n    const ret = StoreHandle.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_stringify_ef0c105b1ccc3849() { return handleError(function (arg0) {\n    const ret = JSON.stringify(arg0);\n    return ret;\n}, arguments); }\nexport function __wbg_subarray_7c6a0da8f3b4a1ba(arg0, arg1, arg2) {\n    const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0);\n    return ret;\n}\nexport function __wbg_target_84e05e84ffc12989(arg0) {\n    const ret = arg0.target;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}\nexport function __wbg_then_837494e384b37459(arg0, arg1) {\n    const ret = arg0.then(arg1);\n    return ret;\n}\nexport function __wbg_then_bd927500e8905df2(arg0, arg1, arg2) {\n    const ret = arg0.then(arg1, arg2);\n    return ret;\n}\nexport function __wbg_toString_1dda136fd8f30a5f(arg0) {\n    const ret = arg0.toString();\n    return ret;\n}\nexport function __wbg_todevicerequest_new(arg0) {\n    const ret = ToDeviceRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_transaction_213e4f585d3d1b40(arg0) {\n    const ret = arg0.transaction;\n    return ret;\n}\nexport function __wbg_transaction_38cea079a9d82352() { return handleError(function (arg0, arg1, arg2) {\n    const ret = arg0.transaction(arg1, __wbindgen_enum_IdbTransactionMode[arg2]);\n    return ret;\n}, arguments); }\nexport function __wbg_transaction_623d0b0d88e248ee(arg0) {\n    const ret = arg0.transaction;\n    return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n}\nexport function __wbg_transaction_b7261fed68fa4264() { return handleError(function (arg0, arg1, arg2, arg3) {\n    const ret = arg0.transaction(getStringFromWasm0(arg1, arg2), __wbindgen_enum_IdbTransactionMode[arg3]);\n    return ret;\n}, arguments); }\nexport function __wbg_update_5c0f974a3c0850fc() { return handleError(function (arg0, arg1) {\n    const ret = arg0.update(arg1);\n    return ret;\n}, arguments); }\nexport function __wbg_upperBound_f7daa7529e579cfc() { return handleError(function (arg0, arg1) {\n    const ret = IDBKeyRange.upperBound(arg0, arg1 !== 0);\n    return ret;\n}, arguments); }\nexport function __wbg_userdevices_new(arg0) {\n    const ret = UserDevices.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_userid_new(arg0) {\n    const ret = UserId.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_userid_unwrap(arg0) {\n    const ret = UserId.__unwrap(arg0);\n    return ret;\n}\nexport function __wbg_utdtodeviceevent_new(arg0) {\n    const ret = UTDToDeviceEvent.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_value_308a5bab6b4eb311() { return handleError(function (arg0) {\n    const ret = arg0.value;\n    return ret;\n}, arguments); }\nexport function __wbg_value_9cc0518af87a489c(arg0) {\n    const ret = arg0.value;\n    return ret;\n}\nexport function __wbg_values_2e4d34d52f9540dc(arg0) {\n    const ret = arg0.values();\n    return ret;\n}\nexport function __wbg_verificationrequest_new(arg0) {\n    const ret = VerificationRequest.__wrap(arg0);\n    return ret;\n}\nexport function __wbg_version_0fcb42f756365cc1(arg0) {\n    const ret = arg0.version;\n    return ret;\n}\nexport function __wbg_versions_276b2795b1c6a219(arg0) {\n    const ret = arg0.versions;\n    return ret;\n}\nexport function __wbg_warn_b62de6508e8608cc(arg0, arg1) {\n    arg0.warn(arg1);\n}\nexport function __wbg_warn_c4e0780980765a86(arg0) {\n    console.warn(arg0);\n}\nexport function __wbindgen_cast_0000000000000001(arg0, arg1) {\n    // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 144, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.\n    const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523);\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000002(arg0, arg1) {\n    // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref(\"Event\")], shim_idx: 498, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n    const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__hc98e844383b6010d);\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000003(arg0, arg1) {\n    // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref(\"IDBVersionChangeEvent\")], shim_idx: 144, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.\n    const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523_2);\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000004(arg0, arg1) {\n    // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 128, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n    const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h3fc5f4d47ac7b23e);\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000005(arg0) {\n    // Cast intrinsic for `F64 -> Externref`.\n    const ret = arg0;\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000006(arg0) {\n    // Cast intrinsic for `I64 -> Externref`.\n    const ret = arg0;\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000007(arg0, arg1) {\n    // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n    const ret = getArrayU8FromWasm0(arg0, arg1);\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000008(arg0, arg1) {\n    // Cast intrinsic for `Ref(String) -> Externref`.\n    const ret = getStringFromWasm0(arg0, arg1);\n    return ret;\n}\nexport function __wbindgen_cast_0000000000000009(arg0) {\n    // Cast intrinsic for `U64 -> Externref`.\n    const ret = BigInt.asUintN(64, arg0);\n    return ret;\n}\nexport function __wbindgen_cast_000000000000000a(arg0, arg1) {\n    var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n    wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n    // Cast intrinsic for `Vector(Externref) -> Externref`.\n    const ret = v0;\n    return ret;\n}\nexport function __wbindgen_init_externref_table() {\n    const table = wasm.__wbindgen_externrefs;\n    const offset = table.grow(4);\n    table.set(0, undefined);\n    table.set(offset + 0, undefined);\n    table.set(offset + 1, null);\n    table.set(offset + 2, true);\n    table.set(offset + 3, false);\n}\nfunction wasm_bindgen__convert__closures_____invoke__h3fc5f4d47ac7b23e(arg0, arg1) {\n    wasm.wasm_bindgen__convert__closures_____invoke__h3fc5f4d47ac7b23e(arg0, arg1);\n}\n\nfunction wasm_bindgen__convert__closures_____invoke__hc98e844383b6010d(arg0, arg1, arg2) {\n    wasm.wasm_bindgen__convert__closures_____invoke__hc98e844383b6010d(arg0, arg1, arg2);\n}\n\nfunction wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523(arg0, arg1, arg2) {\n    const ret = wasm.wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523(arg0, arg1, arg2);\n    if (ret[1]) {\n        throw takeFromExternrefTable0(ret[0]);\n    }\n}\n\nfunction wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523_2(arg0, arg1, arg2) {\n    const ret = wasm.wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523_2(arg0, arg1, arg2);\n    if (ret[1]) {\n        throw takeFromExternrefTable0(ret[0]);\n    }\n}\n\nfunction wasm_bindgen__convert__closures_____invoke__h33afbfdbaf3c68e2(arg0, arg1, arg2, arg3) {\n    wasm.wasm_bindgen__convert__closures_____invoke__h33afbfdbaf3c68e2(arg0, arg1, arg2, arg3);\n}\n\n\nconst __wbindgen_enum_IdbRequestReadyState = [\"pending\", \"done\"];\n\n\nconst __wbindgen_enum_IdbTransactionMode = [\"readonly\", \"readwrite\", \"versionchange\", \"readwriteflush\", \"cleanup\"];\nconst AttachmentFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_attachment_free(ptr, 1));\nconst BackupDecryptionKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_backupdecryptionkey_free(ptr, 1));\nconst BackupKeysFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_backupkeys_free(ptr, 1));\nconst BackupSecretsBundleFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_backupsecretsbundle_free(ptr, 1));\nconst Base64EncodedPkMessageFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_base64encodedpkmessage_free(ptr, 1));\nconst BaseMigrationDataFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_basemigrationdata_free(ptr, 1));\nconst CancelInfoFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_cancelinfo_free(ptr, 1));\nconst CheckCodeFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_checkcode_free(ptr, 1));\nconst CollectStrategyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_collectstrategy_free(ptr, 1));\nconst CrossSigningBootstrapRequestsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_crosssigningbootstraprequests_free(ptr, 1));\nconst CrossSigningKeyExportFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_crosssigningkeyexport_free(ptr, 1));\nconst CrossSigningStatusFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_crosssigningstatus_free(ptr, 1));\nconst Curve25519PublicKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_curve25519publickey_free(ptr, 1));\nconst Curve25519SecretKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_curve25519secretkey_free(ptr, 1));\nconst DecryptedRoomEventFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_decryptedroomevent_free(ptr, 1));\nconst DecryptedToDeviceEventFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_decryptedtodeviceevent_free(ptr, 1));\nconst DecryptionSettingsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_decryptionsettings_free(ptr, 1));\nconst DehydratedDeviceFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_dehydrateddevice_free(ptr, 1));\nconst DehydratedDeviceKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_dehydrateddevicekey_free(ptr, 1));\nconst DehydratedDevicesFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_dehydrateddevices_free(ptr, 1));\nconst DeviceFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_device_free(ptr, 1));\nconst DeviceIdFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_deviceid_free(ptr, 1));\nconst DeviceKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_devicekey_free(ptr, 1));\nconst DeviceKeyAlgorithmFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_devicekeyalgorithm_free(ptr, 1));\nconst DeviceKeyIdFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_devicekeyid_free(ptr, 1));\nconst DeviceListsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_devicelists_free(ptr, 1));\nconst EciesFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_ecies_free(ptr, 1));\nconst Ed25519PublicKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_ed25519publickey_free(ptr, 1));\nconst Ed25519SignatureFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_ed25519signature_free(ptr, 1));\nconst EmojiFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_emoji_free(ptr, 1));\nconst EncryptedAttachmentFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_encryptedattachment_free(ptr, 1));\nconst EncryptionInfoFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_encryptioninfo_free(ptr, 1));\nconst EncryptionSettingsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_encryptionsettings_free(ptr, 1));\nconst EstablishedEciesFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_establishedecies_free(ptr, 1));\nconst EventIdFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_eventid_free(ptr, 1));\nconst IdentityKeysFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_identitykeys_free(ptr, 1));\nconst InboundCreationResultFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_inboundcreationresult_free(ptr, 1));\nconst InboundGroupSessionFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_inboundgroupsession_free(ptr, 1));\nconst InvalidToDeviceEventFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_invalidtodeviceevent_free(ptr, 1));\nconst KeysBackupRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_keysbackuprequest_free(ptr, 1));\nconst KeysClaimRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_keysclaimrequest_free(ptr, 1));\nconst KeysQueryRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_keysqueryrequest_free(ptr, 1));\nconst KeysUploadRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_keysuploadrequest_free(ptr, 1));\nconst MaybeSignatureFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_maybesignature_free(ptr, 1));\nconst MegolmDecryptionErrorFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_megolmdecryptionerror_free(ptr, 1));\nconst MegolmV1BackupKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_megolmv1backupkey_free(ptr, 1));\nconst MigrationFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_migration_free(ptr, 1));\nconst Msc4108IntentDataFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_msc4108intentdata_free(ptr, 1));\nconst Msc4388IntentDataFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_msc4388intentdata_free(ptr, 1));\nconst OlmMachineFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_olmmachine_free(ptr, 1));\nconst OtherUserIdentityFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_otheruseridentity_free(ptr, 1));\nconst OutboundCreationResultFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_outboundcreationresult_free(ptr, 1));\nconst OwnUserIdentityFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_ownuseridentity_free(ptr, 1));\nconst PickledInboundGroupSessionFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_pickledinboundgroupsession_free(ptr, 1));\nconst PickledSessionFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_pickledsession_free(ptr, 1));\nconst PkDecryptionFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_pkdecryption_free(ptr, 1));\nconst PkEncryptionFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_pkencryption_free(ptr, 1));\nconst PkMessageFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_pkmessage_free(ptr, 1));\nconst PlainTextToDeviceEventFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_plaintexttodeviceevent_free(ptr, 1));\nconst PutDehydratedDeviceRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_putdehydrateddevicerequest_free(ptr, 1));\nconst QrFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_qr_free(ptr, 1));\nconst QrCodeFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_qrcode_free(ptr, 1));\nconst QrCodeDataFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_qrcodedata_free(ptr, 1));\nconst QrCodeIntentDataFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_qrcodeintentdata_free(ptr, 1));\nconst QrCodeScanFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_qrcodescan_free(ptr, 1));\nconst RehydratedDeviceFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_rehydrateddevice_free(ptr, 1));\nconst RoomIdFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roomid_free(ptr, 1));\nconst RoomKeyCountsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roomkeycounts_free(ptr, 1));\nconst RoomKeyImportResultFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roomkeyimportresult_free(ptr, 1));\nconst RoomKeyInfoFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roomkeyinfo_free(ptr, 1));\nconst RoomKeyWithheldInfoFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roomkeywithheldinfo_free(ptr, 1));\nconst RoomMessageRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roommessagerequest_free(ptr, 1));\nconst RoomPendingKeyBundleDetailsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roompendingkeybundledetails_free(ptr, 1));\nconst RoomSettingsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_roomsettings_free(ptr, 1));\nconst SasFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_sas_free(ptr, 1));\nconst SecretsBundleFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_secretsbundle_free(ptr, 1));\nconst ServerNameFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_servername_free(ptr, 1));\nconst ShieldStateFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_shieldstate_free(ptr, 1));\nconst SignatureFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_signature_free(ptr, 1));\nconst SignatureUploadRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_signatureuploadrequest_free(ptr, 1));\nconst SignatureVerificationFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_signatureverification_free(ptr, 1));\nconst SignaturesFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_signatures_free(ptr, 1));\nconst StoreHandleFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_storehandle_free(ptr, 1));\nconst StoredRoomKeyBundleDataFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_storedroomkeybundledata_free(ptr, 1));\nconst ToDeviceEncryptionInfoFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_todeviceencryptioninfo_free(ptr, 1));\nconst ToDeviceRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_todevicerequest_free(ptr, 1));\nconst ToDeviceUnableToDecryptInfoFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_todeviceunabletodecryptinfo_free(ptr, 1));\nconst TracingFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_tracing_free(ptr, 1));\nconst UTDToDeviceEventFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_utdtodeviceevent_free(ptr, 1));\nconst UploadSigningKeysRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_uploadsigningkeysrequest_free(ptr, 1));\nconst UserDevicesFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_userdevices_free(ptr, 1));\nconst UserIdFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_userid_free(ptr, 1));\nconst VerificationRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_verificationrequest_free(ptr, 1));\nconst VersionsFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_versions_free(ptr, 1));\n\nfunction addToExternrefTable0(obj) {\n    const idx = wasm.__externref_table_alloc();\n    wasm.__wbindgen_externrefs.set(idx, obj);\n    return idx;\n}\n\nfunction _assertClass(instance, klass) {\n    if (!(instance instanceof klass)) {\n        throw new Error(`expected instance of ${klass.name}`);\n    }\n}\n\nconst CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(state => wasm.__wbindgen_destroy_closure(state.a, state.b));\n\nfunction debugString(val) {\n    // primitive types\n    const type = typeof val;\n    if (type == 'number' || type == 'boolean' || val == null) {\n        return  `${val}`;\n    }\n    if (type == 'string') {\n        return `\"${val}\"`;\n    }\n    if (type == 'symbol') {\n        const description = val.description;\n        if (description == null) {\n            return 'Symbol';\n        } else {\n            return `Symbol(${description})`;\n        }\n    }\n    if (type == 'function') {\n        const name = val.name;\n        if (typeof name == 'string' && name.length > 0) {\n            return `Function(${name})`;\n        } else {\n            return 'Function';\n        }\n    }\n    // objects\n    if (Array.isArray(val)) {\n        const length = val.length;\n        let debug = '[';\n        if (length > 0) {\n            debug += debugString(val[0]);\n        }\n        for(let i = 1; i < length; i++) {\n            debug += ', ' + debugString(val[i]);\n        }\n        debug += ']';\n        return debug;\n    }\n    // Test for built-in\n    const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n    let className;\n    if (builtInMatches && builtInMatches.length > 1) {\n        className = builtInMatches[1];\n    } else {\n        // Failed to match the standard '[object ClassName]'\n        return toString.call(val);\n    }\n    if (className == 'Object') {\n        // we're a user defined class or Object\n        // JSON.stringify avoids problems with cycles, and is generally much\n        // easier than looping through ownProperties of `val`.\n        try {\n            return 'Object(' + JSON.stringify(val) + ')';\n        } catch (_) {\n            return 'Object';\n        }\n    }\n    // errors\n    if (val instanceof Error) {\n        return `${val.name}: ${val.message}\\n${val.stack}`;\n    }\n    // TODO we could test for more things here, like `Set`s and `Map`s.\n    return className;\n}\n\nfunction getArrayJsValueFromWasm0(ptr, len) {\n    ptr = ptr >>> 0;\n    const mem = getDataViewMemory0();\n    const result = [];\n    for (let i = ptr; i < ptr + 4 * len; i += 4) {\n        result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i, true)));\n    }\n    wasm.__externref_drop_slice(ptr, len);\n    return result;\n}\n\nfunction getArrayU16FromWasm0(ptr, len) {\n    ptr = ptr >>> 0;\n    return getUint16ArrayMemory0().subarray(ptr / 2, ptr / 2 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n    ptr = ptr >>> 0;\n    return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n    if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n        cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n    }\n    return cachedDataViewMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n    return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint16ArrayMemory0 = null;\nfunction getUint16ArrayMemory0() {\n    if (cachedUint16ArrayMemory0 === null || cachedUint16ArrayMemory0.byteLength === 0) {\n        cachedUint16ArrayMemory0 = new Uint16Array(wasm.memory.buffer);\n    }\n    return cachedUint16ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n    if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n        cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n    }\n    return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n    try {\n        return f.apply(this, args);\n    } catch (e) {\n        const idx = addToExternrefTable0(e);\n        wasm.__wbindgen_exn_store(idx);\n    }\n}\n\nfunction isLikeNone(x) {\n    return x === undefined || x === null;\n}\n\nfunction makeMutClosure(arg0, arg1, f) {\n    const state = { a: arg0, b: arg1, cnt: 1 };\n    const real = (...args) => {\n\n        // First up with a closure we increment the internal reference\n        // count. This ensures that the Rust closure environment won't\n        // be deallocated while we're invoking it.\n        state.cnt++;\n        const a = state.a;\n        state.a = 0;\n        try {\n            return f(a, state.b, ...args);\n        } finally {\n            state.a = a;\n            real._wbg_cb_unref();\n        }\n    };\n    real._wbg_cb_unref = () => {\n        if (--state.cnt === 0) {\n            wasm.__wbindgen_destroy_closure(state.a, state.b);\n            state.a = 0;\n            CLOSURE_DTORS.unregister(state);\n        }\n    };\n    CLOSURE_DTORS.register(real, state, state);\n    return real;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n    const ptr = malloc(arg.length * 1, 1) >>> 0;\n    getUint8ArrayMemory0().set(arg, ptr / 1);\n    WASM_VECTOR_LEN = arg.length;\n    return ptr;\n}\n\nfunction passArrayJsValueToWasm0(array, malloc) {\n    const ptr = malloc(array.length * 4, 4) >>> 0;\n    for (let i = 0; i < array.length; i++) {\n        const add = addToExternrefTable0(array[i]);\n        getDataViewMemory0().setUint32(ptr + 4 * i, add, true);\n    }\n    WASM_VECTOR_LEN = array.length;\n    return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n    if (realloc === undefined) {\n        const buf = cachedTextEncoder.encode(arg);\n        const ptr = malloc(buf.length, 1) >>> 0;\n        getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n        WASM_VECTOR_LEN = buf.length;\n        return ptr;\n    }\n\n    let len = arg.length;\n    let ptr = malloc(len, 1) >>> 0;\n\n    const mem = getUint8ArrayMemory0();\n\n    let offset = 0;\n\n    for (; offset < len; offset++) {\n        const code = arg.charCodeAt(offset);\n        if (code > 0x7F) break;\n        mem[ptr + offset] = code;\n    }\n    if (offset !== len) {\n        if (offset !== 0) {\n            arg = arg.slice(offset);\n        }\n        ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n        const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n        const ret = cachedTextEncoder.encodeInto(arg, view);\n\n        offset += ret.written;\n        ptr = realloc(ptr, len, offset, 1) >>> 0;\n    }\n\n    WASM_VECTOR_LEN = offset;\n    return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n    const value = wasm.__wbindgen_externrefs.get(idx);\n    wasm.__externref_table_dealloc(idx);\n    return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n    numBytesDecoded += len;\n    if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n        cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n        cachedTextDecoder.decode();\n        numBytesDecoded = len;\n    }\n    return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n    cachedTextEncoder.encodeInto = function (arg, view) {\n        const buf = cachedTextEncoder.encode(arg);\n        view.set(buf);\n        return {\n            read: arg.length,\n            written: buf.length\n        };\n    };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\n\nlet wasm;\nexport function __wbg_set_wasm(val) {\n    wasm = val;\n}\n"],"names":["_pkg_matrix_sdk_crypto_wasm_bg_js__WEBPACK_IMPORTED_MODULE_0__","lIU","Proxy","get","Error","modPromise","async","initAsync","wasm","__webpack_require__","e","then","bind","__wbindgen_start","loadModuleAsync","Attachment","__destroy_into_raw","ptr","this","__wbg_ptr","AttachmentFinalization","unregister","free","__wbg_attachment_free","decrypt","attachment","_assertClass","EncryptedAttachment","ret","attachment_decrypt","takeFromExternrefTable0","v1","getArrayU8FromWasm0","slice","__wbindgen_free","encrypt","array","ptr0","passArray8ToWasm0","__wbindgen_malloc","len0","WASM_VECTOR_LEN","attachment_encrypt","__wrap","Symbol","dispose","prototype","BackupDecryptionKey","obj","Object","create","BackupDecryptionKeyFinalization","register","__wbg_backupdecryptionkey_free","createRandomKey","backupdecryptionkey_createRandomKey","decryptV1","ephemeral_key","mac","ciphertext","deferred5_0","deferred5_1","passStringToWasm0","__wbindgen_realloc","ptr1","len1","ptr2","len2","backupdecryptionkey_decryptV1","ptr4","len4","getStringFromWasm0","fromBase64","key","backupdecryptionkey_fromBase64","megolmV1PublicKey","backupdecryptionkey_megolmV1PublicKey","MegolmV1BackupKey","toBase64","backupdecryptionkey_toBase64","BackupKeys","BackupKeysFinalization","__wbg_backupkeys_free","decryptionKeyBase64","backupkeys_decryptionKeyBase64","backupVersion","__wbg_get_backupkeys_backupVersion","decryptionKey","__wbg_get_backupkeys_decryptionKey","undefined","arg0","isLikeNone","__wbg_set_backupkeys_backupVersion","__wbg_set_backupkeys_decryptionKey","BackupSecretsBundle","BackupSecretsBundleFinalization","__wbg_backupsecretsbundle_free","backup_version","deferred1_0","deferred1_1","__wbg_get_backupsecretsbundle_backup_version","__wbg_get_backupsecretsbundle_key","__wbg_set_backupsecretsbundle_backup_version","__wbg_set_backupsecretsbundle_key","Base64EncodedPkMessage","Base64EncodedPkMessageFinalization","__wbg_base64encodedpkmessage_free","constructor","base64encodedpkmessage_new","__wbg_get_base64encodedpkmessage_ciphertext","ephemeralKey","__wbg_get_base64encodedpkmessage_ephemeralKey","__wbg_get_base64encodedpkmessage_mac","__wbg_set_base64encodedpkmessage_ciphertext","__wbg_set_base64encodedpkmessage_ephemeralKey","__wbg_set_base64encodedpkmessage_mac","BaseMigrationData","BaseMigrationDataFinalization","__wbg_basemigrationdata_free","basemigrationdata_new","backupRecoveryKey","__wbg_get_basemigrationdata_backupRecoveryKey","__wbg_get_basemigrationdata_backupVersion","deviceId","__wbg_get_basemigrationdata_deviceId","DeviceId","pickledAccount","__wbg_get_basemigrationdata_pickledAccount","privateCrossSigningMasterKey","__wbg_get_basemigrationdata_privateCrossSigningMasterKey","privateCrossSigningSelfSigningKey","__wbg_get_basemigrationdata_privateCrossSigningSelfSigningKey","privateCrossSigningUserSigningKey","__wbg_get_basemigrationdata_privateCrossSigningUserSigningKey","userId","__wbg_get_basemigrationdata_userId","UserId","__wbg_set_basemigrationdata_backupRecoveryKey","__wbg_set_basemigrationdata_backupVersion","__wbg_set_basemigrationdata_deviceId","__wbg_set_basemigrationdata_pickledAccount","__wbg_set_basemigrationdata_privateCrossSigningMasterKey","__wbg_set_basemigrationdata_privateCrossSigningSelfSigningKey","__wbg_set_basemigrationdata_privateCrossSigningUserSigningKey","__wbg_set_basemigrationdata_userId","CancelInfo","CancelInfoFinalization","__wbg_cancelinfo_free","cancelCode","cancelinfo_cancelCode","cancelledbyUs","cancelinfo_cancelledbyUs","reason","cancelinfo_reason","CheckCode","CheckCodeFinalization","__wbg_checkcode_free","as_bytes","checkcode_as_bytes","to_digit","checkcode_to_digit","CollectStrategy","CollectStrategyFinalization","__wbg_collectstrategy_free","allDevices","collectstrategy_allDevices","deviceBasedStrategy","only_allow_trusted_devices","error_on_verified_user_problem","collectstrategy_deviceBasedStrategy","eq","other","collectstrategy_eq","errorOnUnverifiedUserProblem","collectstrategy_errorOnUnverifiedUserProblem","identityBasedStrategy","collectstrategy_identityBasedStrategy","onlyTrustedDevices","collectstrategy_onlyTrustedDevices","CrossSigningBootstrapRequests","CrossSigningBootstrapRequestsFinalization","__wbg_crosssigningbootstraprequests_free","uploadKeysRequest","__wbg_get_crosssigningbootstraprequests_uploadKeysRequest","uploadSignaturesRequest","__wbg_get_crosssigningbootstraprequests_uploadSignaturesRequest","SignatureUploadRequest","uploadSigningKeysRequest","__wbg_get_crosssigningbootstraprequests_uploadSigningKeysRequest","UploadSigningKeysRequest","CrossSigningKeyExport","CrossSigningKeyExportFinalization","__wbg_crosssigningkeyexport_free","masterKey","crosssigningkeyexport_masterKey","self_signing_key","crosssigningkeyexport_self_signing_key","userSigningKey","crosssigningkeyexport_userSigningKey","CrossSigningStatus","CrossSigningStatusFinalization","__wbg_crosssigningstatus_free","hasMaster","crosssigningstatus_hasMaster","hasSelfSigning","crosssigningstatus_hasSelfSigning","hasUserSigning","crosssigningstatus_hasUserSigning","Curve25519PublicKey","Curve25519PublicKeyFinalization","__wbg_curve25519publickey_free","length","curve25519publickey_length","curve25519publickey_new","curve25519publickey_toBase64","Curve25519SecretKey","Curve25519SecretKeyFinalization","__wbg_curve25519secretkey_free","string","curve25519secretkey_fromBase64","fromUint8Array","curve25519secretkey_fromUint8Array","curve25519secretkey_new","curve25519secretkey_toBase64","toUint8Array","curve25519secretkey_toUint8Array","DecryptedRoomEvent","DecryptedRoomEventFinalization","__wbg_decryptedroomevent_free","forwarder","decryptedroomevent_forwarder","forwarderDevice","decryptedroomevent_forwarderDevice","forwardingCurve25519KeyChain","decryptedroomevent_forwardingCurve25519KeyChain","sender","decryptedroomevent_sender","senderClaimedEd25519Key","decryptedroomevent_senderClaimedEd25519Key","senderCurve25519Key","decryptedroomevent_senderCurve25519Key","senderDevice","decryptedroomevent_senderDevice","shieldState","strict","decryptedroomevent_shieldState","ShieldState","event","__wbg_get_decryptedroomevent_event","DecryptedToDeviceEvent","DecryptedToDeviceEventFinalization","__wbg_decryptedtodeviceevent_free","type","decryptedtodeviceevent_type","encryptionInfo","__wbg_get_decryptedtodeviceevent_encryptionInfo","ToDeviceEncryptionInfo","rawEvent","__wbg_get_decryptedtodeviceevent_rawEvent","DecryptionErrorCode","freeze","MissingRoomKey","UnknownMessageIndex","MismatchedIdentityKeys","UnknownSenderDevice","UnsignedSenderDevice","SenderIdentityVerificationViolation","UnableToDecrypt","MismatchedSender","DecryptionSettings","DecryptionSettingsFinalization","__wbg_decryptionsettings_free","sender_device_trust_requirement","decryptionsettings_new","__wbg_get_decryptionsettings_sender_device_trust_requirement","__wbg_set_decryptionsettings_sender_device_trust_requirement","DehydratedDevice","DehydratedDeviceFinalization","__wbg_dehydrateddevice_free","keysForUpload","initial_device_display_name","dehydrated_device_key","DehydratedDeviceKey","dehydrateddevice_keysForUpload","DehydratedDeviceKeyFinalization","__wbg_dehydrateddevicekey_free","createKeyFromArray","dehydrateddevicekey_createKeyFromArray","dehydrateddevicekey_createRandomKey","dehydrateddevicekey_toBase64","DehydratedDevices","DehydratedDevicesFinalization","__wbg_dehydrateddevices_free","dehydrateddevices_create","deleteDehydratedDeviceKey","dehydrateddevices_deleteDehydratedDeviceKey","getDehydratedDeviceKey","dehydrateddevices_getDehydratedDeviceKey","rehydrate","device_id","device_data","dehydrateddevices_rehydrate","saveDehydratedDeviceKey","dehydrateddevices_saveDehydratedDeviceKey","Device","DeviceFinalization","__wbg_device_free","algorithms","device_algorithms","curve25519Key","device_curve25519Key","device_deviceId","displayName","device_displayName","ed25519Key","device_ed25519Key","Ed25519PublicKey","encryptToDeviceEvent","event_type","content","share_strategy","device_encryptToDeviceEvent","firstTimeSeen","device_firstTimeSeen","BigInt","asUintN","getKey","algorithm","device_getKey","DeviceKey","isBlacklisted","device_isBlacklisted","isCrossSignedByOwner","device_isCrossSignedByOwner","isCrossSigningTrusted","device_isCrossSigningTrusted","isDehydrated","device_isDehydrated","isDeleted","device_isDeleted","isLocallyTrusted","device_isLocallyTrusted","isVerified","device_isVerified","keys","device_keys","localTrustState","device_localTrustState","requestVerification","methods","passArrayJsValueToWasm0","device_requestVerification","setLocalTrust","local_state","device_setLocalTrust","signatures","device_signatures","Signatures","device_userId","verify","device_verify","DeviceIdFinalization","__wbg_deviceid_free","id","deviceid_new","toString","deviceid_toString","DeviceKeyFinalization","__wbg_devicekey_free","curve25519","devicekey_curve25519","ed25519","devicekey_ed25519","name","devicekey_name","devicekey_toBase64","unknown","devicekey_unknown","DeviceKeyAlgorithm","DeviceKeyAlgorithmFinalization","__wbg_devicekeyalgorithm_free","devicekeyalgorithm_name","devicekeyalgorithm_toString","Ed25519","Curve25519","Unknown","DeviceKeyId","DeviceKeyIdFinalization","__wbg_devicekeyid_free","devicekeyid_algorithm","devicekeyid_deviceId","devicekeyid_new","devicekeyid_toString","DeviceLists","DeviceListsFinalization","__wbg_devicelists_free","changed","devicelists_changed","getArrayJsValueFromWasm0","isEmpty","devicelists_isEmpty","left","devicelists_left","devicelists_new","Ecies","EciesFinalization","__wbg_ecies_free","establish_inbound_channel","initial_message","ecies_establish_inbound_channel","InboundCreationResult","establish_outbound_channel","public_key","ecies_establish_outbound_channel","OutboundCreationResult","ecies_new","ecies_public_key","Ed25519PublicKeyFinalization","__wbg_ed25519publickey_free","ed25519publickey_length","ed25519publickey_toBase64","Ed25519Signature","Ed25519SignatureFinalization","__wbg_ed25519signature_free","signature","ed25519signature_new","ed25519signature_toBase64","Emoji","EmojiFinalization","__wbg_emoji_free","description","emoji_description","symbol","emoji_symbol","EncryptedAttachmentFinalization","__wbg_encryptedattachment_free","encryptedData","encryptedattachment_encryptedData","hasMediaEncryptionInfoBeenConsumed","encryptedattachment_hasMediaEncryptionInfoBeenConsumed","mediaEncryptionInfo","encryptedattachment_mediaEncryptionInfo","encrypted_data","media_encryption_info","encryptedattachment_new","EncryptionAlgorithm","OlmV1Curve25519AesSha2","MegolmV1AesSha2","EncryptionInfo","EncryptionInfoFinalization","__wbg_encryptioninfo_free","encryptioninfo_shieldState","__wbg_get_encryptioninfo_forwarderDevice","__wbg_get_encryptioninfo_forwarder","__wbg_get_encryptioninfo_senderClaimedEd25519Key","__wbg_get_encryptioninfo_senderCurve25519Key","__wbg_get_encryptioninfo_senderDevice","__wbg_get_encryptioninfo_sender","__wbg_set_encryptioninfo_forwarderDevice","__wbg_set_encryptioninfo_forwarder","__wbg_set_encryptioninfo_senderClaimedEd25519Key","__wbg_set_encryptioninfo_senderCurve25519Key","__wbg_set_encryptioninfo_senderDevice","__wbg_set_encryptioninfo_sender","EncryptionSettings","EncryptionSettingsFinalization","__wbg_encryptionsettings_free","encryptionsettings_new","__wbg_get_encryptionsettings_algorithm","encryptStateEvents","__wbg_get_encryptionsettings_encryptStateEvents","historyVisibility","__wbg_get_encryptionsettings_historyVisibility","rotationPeriodMessages","__wbg_get_encryptionsettings_rotationPeriodMessages","rotationPeriod","__wbg_get_encryptionsettings_rotationPeriod","sharingStrategy","__wbg_get_encryptionsettings_sharingStrategy","__wbg_set_encryptionsettings_algorithm","__wbg_set_encryptionsettings_encryptStateEvents","__wbg_set_encryptionsettings_historyVisibility","__wbg_set_encryptionsettings_rotationPeriodMessages","__wbg_set_encryptionsettings_rotationPeriod","__wbg_set_encryptionsettings_sharingStrategy","EstablishedEcies","EstablishedEciesFinalization","__wbg_establishedecies_free","check_code","establishedecies_check_code","message","deferred3_0","deferred3_1","establishedecies_decrypt","deferred2_0","deferred2_1","establishedecies_encrypt","establishedecies_public_key","EventId","EventIdFinalization","__wbg_eventid_free","localpart","eventid_localpart","eventid_new","serverName","eventid_serverName","ServerName","eventid_toString","HistoryVisibility","Invited","Joined","Shared","WorldReadable","IdentityKeys","IdentityKeysFinalization","__wbg_identitykeys_free","__wbg_get_identitykeys_curve25519","__wbg_get_identitykeys_ed25519","__wbg_set_identitykeys_curve25519","__wbg_set_identitykeys_ed25519","InboundCreationResultFinalization","__wbg_inboundcreationresult_free","channel","__wbg_get_inboundcreationresult_channel","__wbg_get_inboundcreationresult_message","__wbg_set_inboundcreationresult_channel","__wbg_set_inboundcreationresult_message","InboundGroupSession","InboundGroupSessionFinalization","__wbg_inboundgroupsession_free","hasBeenImported","inboundgroupsession_hasBeenImported","roomId","inboundgroupsession_roomId","RoomId","senderKey","inboundgroupsession_senderKey","sessionId","inboundgroupsession_sessionId","InvalidToDeviceEvent","InvalidToDeviceEventFinalization","__wbg_invalidtodeviceevent_free","__wbg_get_invalidtodeviceevent_rawEvent","invalidtodeviceevent_type","KeysBackupRequest","KeysBackupRequestFinalization","__wbg_keysbackuprequest_free","body","__wbg_get_keysbackuprequest_body","__wbg_get_keysbackuprequest_id","version","__wbg_get_keysbackuprequest_version","keysbackuprequest_new","keysbackuprequest_type","KeysClaimRequest","KeysClaimRequestFinalization","__wbg_keysclaimrequest_free","__wbg_get_keysclaimrequest_body","__wbg_get_keysclaimrequest_id","keysclaimrequest_new","keysclaimrequest_type","KeysQueryRequest","KeysQueryRequestFinalization","__wbg_keysqueryrequest_free","__wbg_get_keysqueryrequest_body","__wbg_get_keysqueryrequest_id","keysqueryrequest_new","keysqueryrequest_type","KeysUploadRequest","KeysUploadRequestFinalization","__wbg_keysuploadrequest_free","__wbg_get_keysuploadrequest_body","__wbg_get_keysuploadrequest_id","keysuploadrequest_new","keysuploadrequest_type","LocalTrust","Verified","BlackListed","Ignored","Unset","Trace","Debug","Info","Warn","MaybeSignature","MaybeSignatureFinalization","__wbg_maybesignature_free","invalidSignatureSource","maybesignature_invalidSignatureSource","isInvalid","maybesignature_isInvalid","isValid","maybesignature_isValid","maybesignature_signature","Signature","MegolmDecryptionError","MegolmDecryptionErrorFinalization","__wbg_megolmdecryptionerror_free","code","__wbg_get_megolmdecryptionerror_code","__wbg_get_megolmdecryptionerror_description","maybe_withheld","megolmdecryptionerror_maybe_withheld","unable_to_decrypt","desc","megolmdecryptionerror_unable_to_decrypt","withheldCode","megolmdecryptionerror_withheldCode","MegolmV1BackupKeyFinalization","__wbg_megolmv1backupkey_free","megolmv1backupkey_algorithm","publicKeyBase64","megolmv1backupkey_publicKeyBase64","Migration","MigrationFinalization","__wbg_migration_free","migrateBaseData","data","pickle_key","store_handle","logger","StoreHandle","migration_migrateBaseData","addToExternrefTable0","migrateMegolmSessions","sessions","migration_migrateMegolmSessions","migrateOlmSessions","migration_migrateOlmSessions","Msc4108IntentData","Msc4108IntentDataFinalization","__wbg_msc4108intentdata_free","rendezvousUrl","__wbg_get_msc4108intentdata_rendezvousUrl","__wbg_get_msc4108intentdata_serverName","__wbg_set_msc4108intentdata_rendezvousUrl","__wbg_set_msc4108intentdata_serverName","Msc4388IntentData","Msc4388IntentDataFinalization","__wbg_msc4388intentdata_free","baseUrl","__wbg_get_msc4388intentdata_baseUrl","rendezvousId","__wbg_get_msc4388intentdata_rendezvousId","__wbg_set_msc4388intentdata_baseUrl","__wbg_set_msc4388intentdata_rendezvousId","OlmMachine","OlmMachineFinalization","__wbg_olmmachine_free","backupRoomKeys","olmmachine_backupRoomKeys","bootstrapCrossSigning","reset","olmmachine_bootstrapCrossSigning","buildRoomKeyBundle","room_id","olmmachine_buildRoomKeyBundle","clearRoomPendingKeyBundle","olmmachine_clearRoomPendingKeyBundle","close","olmmachine_close","crossSigningStatus","olmmachine_crossSigningStatus","decryptExportedRoomKeys","encrypted_exported_room_keys","passphrase","deferred4_0","deferred4_1","olmmachine_decryptExportedRoomKeys","ptr3","len3","decryptRoomEvent","decryption_settings","olmmachine_decryptRoomEvent","dehydratedDevices","olmmachine_dehydratedDevices","deleteSecretsFromInbox","secret_name","olmmachine_deleteSecretsFromInbox","deviceCreationTimeMs","olmmachine_deviceCreationTimeMs","olmmachine_deviceId","disableBackup","olmmachine_disableBackup","olmmachine_displayName","enableBackupV1","public_key_base_64","olmmachine_enableBackupV1","encryptExportedRoomKeys","exported_room_keys","rounds","olmmachine_encryptExportedRoomKeys","encryptRoomEvent","olmmachine_encryptRoomEvent","encryptStateEvent","state_key","olmmachine_encryptStateEvent","exportCrossSigningKeys","olmmachine_exportCrossSigningKeys","exportRoomKeys","predicate","olmmachine_exportRoomKeys","exportSecretsBundle","olmmachine_exportSecretsBundle","getAllRoomsPendingKeyBundles","olmmachine_getAllRoomsPendingKeyBundles","getBackupKeys","olmmachine_getBackupKeys","getDevice","user_id","timeout_secs","olmmachine_getDevice","getIdentity","olmmachine_getIdentity","getMissingSessions","users","olmmachine_getMissingSessions","getPendingKeyBundleDetailsForRoom","olmmachine_getPendingKeyBundleDetailsForRoom","getReceivedRoomKeyBundleData","inviter","olmmachine_getReceivedRoomKeyBundleData","getRoomEventEncryptionInfo","olmmachine_getRoomEventEncryptionInfo","getRoomSettings","olmmachine_getRoomSettings","getSecretsFromInbox","olmmachine_getSecretsFromInbox","getUserDevices","olmmachine_getUserDevices","getVerification","flow_id","olmmachine_getVerification","getVerificationRequest","olmmachine_getVerificationRequest","VerificationRequest","getVerificationRequests","olmmachine_getVerificationRequests","hasDownloadedAllRoomKeys","olmmachine_hasDownloadedAllRoomKeys","identityKeys","olmmachine_identityKeys","importBackedUpRoomKeys","backed_up_room_keys","progress_listener","olmmachine_importBackedUpRoomKeys","importCrossSigningKeys","master_key","user_signing_key","olmmachine_importCrossSigningKeys","importExportedRoomKeys","olmmachine_importExportedRoomKeys","importRoomKeys","olmmachine_importRoomKeys","importSecretsBundle","bundle","SecretsBundle","olmmachine_importSecretsBundle","initFromStore","olmmachine_initFromStore","initialize","store_name","store_passphrase","olmmachine_initialize","invalidateGroupSession","olmmachine_invalidateGroupSession","isBackupEnabled","olmmachine_isBackupEnabled","markAllTrackedUsersAsDirty","olmmachine_markAllTrackedUsersAsDirty","markRequestAsSent","request_id","request_type","response","olmmachine_markRequestAsSent","olmmachine_new","outgoingRequests","olmmachine_outgoingRequests","pushSecretToVerifiedDevices","olmmachine_pushSecretToVerifiedDevices","queryKeysForUsers","olmmachine_queryKeysForUsers","receiveRoomKeyBundle","bundle_data","encrypted_bundle","StoredRoomKeyBundleData","olmmachine_receiveRoomKeyBundle","receiveSyncChanges","to_device_events","changed_devices","one_time_keys_counts","unused_fallback_keys","olmmachine_receiveSyncChanges","receiveVerificationEvent","olmmachine_receiveVerificationEvent","registerDevicesUpdatedCallback","callback","olmmachine_registerDevicesUpdatedCallback","registerReceiveSecretCallback","olmmachine_registerReceiveSecretCallback","registerRoomKeyUpdatedCallback","olmmachine_registerRoomKeyUpdatedCallback","registerRoomKeysWithheldCallback","olmmachine_registerRoomKeysWithheldCallback","registerUserIdentityUpdatedCallback","olmmachine_registerUserIdentityUpdatedCallback","requestMissingSecretsIfNeeded","olmmachine_requestMissingSecretsIfNeeded","roomKeyCounts","olmmachine_roomKeyCounts","roomKeyForwardingEnabled","olmmachine_roomKeyForwardingEnabled","roomKeyRequestsEnabled","olmmachine_roomKeyRequestsEnabled","saveBackupDecryptionKey","decryption_key","olmmachine_saveBackupDecryptionKey","setHasDownloadedAllRoomKeys","olmmachine_setHasDownloadedAllRoomKeys","setRoomSettings","room_settings","RoomSettings","olmmachine_setRoomSettings","enabled","olmmachine_set_roomKeyForwardingEnabled","olmmachine_set_roomKeyRequestsEnabled","shareRoomKey","encryption_settings","olmmachine_shareRoomKey","shareRoomKeyBundleData","user","room","url","sharing_strategy","olmmachine_shareRoomKeyBundleData","sign","olmmachine_sign","storeRoomPendingKeyBundle","olmmachine_storeRoomPendingKeyBundle","trackedUsers","olmmachine_trackedUsers","updateTrackedUsers","olmmachine_updateTrackedUsers","olmmachine_userId","verifyBackup","backup_info","olmmachine_verifyBackup","OtherUserIdentity","OtherUserIdentityFinalization","__wbg_otheruseridentity_free","hasVerificationViolation","otheruseridentity_hasVerificationViolation","identityNeedsUserApproval","otheruseridentity_identityNeedsUserApproval","otheruseridentity_isVerified","otheruseridentity_masterKey","pinCurrentMasterKey","otheruseridentity_pinCurrentMasterKey","request_event_id","otheruseridentity_requestVerification","selfSigningKey","otheruseridentity_selfSigningKey","verificationRequestContent","otheruseridentity_verificationRequestContent","otheruseridentity_verify","wasPreviouslyVerified","otheruseridentity_wasPreviouslyVerified","withdrawVerification","otheruseridentity_withdrawVerification","OutboundCreationResultFinalization","__wbg_outboundcreationresult_free","__wbg_get_outboundcreationresult_channel","__wbg_get_outboundcreationresult_initial_message","__wbg_set_outboundcreationresult_channel","__wbg_set_outboundcreationresult_initial_message","OwnUserIdentity","OwnUserIdentityFinalization","__wbg_ownuseridentity_free","ownuseridentity_hasVerificationViolation","ownuseridentity_isVerified","ownuseridentity_masterKey","ownuseridentity_requestVerification","ownuseridentity_selfSigningKey","trustsOurOwnDevice","ownuseridentity_trustsOurOwnDevice","ownuseridentity_userSigningKey","ownuseridentity_verify","ownuseridentity_wasPreviouslyVerified","ownuseridentity_withdrawVerification","PickledInboundGroupSession","__unwrap","jsValue","PickledInboundGroupSessionFinalization","__wbg_pickledinboundgroupsession_free","backedUp","__wbg_get_pickledinboundgroupsession_backedUp","imported","__wbg_get_pickledinboundgroupsession_imported","pickle","__wbg_get_pickledinboundgroupsession_pickle","__wbg_get_pickledinboundgroupsession_roomId","__wbg_get_pickledinboundgroupsession_senderKey","senderSigningKey","__wbg_get_pickledinboundgroupsession_senderSigningKey","pickledinboundgroupsession_new","__wbg_set_pickledinboundgroupsession_backedUp","__wbg_set_pickledinboundgroupsession_imported","__wbg_set_pickledinboundgroupsession_pickle","__wbg_set_pickledinboundgroupsession_roomId","__wbg_set_pickledinboundgroupsession_senderKey","__wbg_set_pickledinboundgroupsession_senderSigningKey","PickledSession","PickledSessionFinalization","__wbg_pickledsession_free","createdUsingFallbackKey","__wbg_get_pickledsession_createdUsingFallbackKey","creationTime","__wbg_get_pickledsession_creationTime","lastUseTime","__wbg_get_pickledsession_lastUseTime","__wbg_get_pickledsession_pickle","__wbg_get_pickledsession_senderKey","pickledsession_new","__wbg_set_pickledsession_createdUsingFallbackKey","__wbg_set_pickledsession_creationTime","__wbg_set_pickledsession_lastUseTime","__wbg_set_pickledsession_pickle","__wbg_set_pickledsession_senderKey","PkDecryption","PkDecryptionFinalization","__wbg_pkdecryption_free","PkMessage","pkdecryption_decrypt","decryptString","pkdecryption_decryptString","fromKey","pkdecryption_fromKey","pkdecryption_new","publicKey","pkdecryption_publicKey","secretKey","pkdecryption_secretKey","PkEncryption","PkEncryptionFinalization","__wbg_pkencryption_free","pkencryption_encrypt","encryptString","pkencryption_encryptString","pkencryption_fromKey","PkMessageFinalization","__wbg_pkmessage_free","pkmessage_ciphertext","pkmessage_ephemeralKey","pkmessage_fromBase64","fromParts","pkmessage_fromParts","pkmessage_mac","pkmessage_toBase64","PlainTextToDeviceEvent","PlainTextToDeviceEventFinalization","__wbg_plaintexttodeviceevent_free","__wbg_get_plaintexttodeviceevent_rawEvent","plaintexttodeviceevent_type","ProcessedToDeviceEventType","Decrypted","PlainText","Invalid","PutDehydratedDeviceRequest","PutDehydratedDeviceRequestFinalization","__wbg_putdehydrateddevicerequest_free","__wbg_get_putdehydrateddevicerequest_body","putdehydrateddevicerequest_new","Qr","QrFinalization","__wbg_qr_free","cancel","qr_cancel","cancelInfo","qr_cancelInfo","cancelWithCode","qr_cancelWithCode","confirmScanning","qr_confirmScanning","flowId","qr_flowId","hasBeenConfirmed","qr_hasBeenConfirmed","hasBeenScanned","qr_hasBeenScanned","isCancelled","qr_isCancelled","isDone","qr_isDone","isSelfVerification","qr_isSelfVerification","otherDeviceId","qr_otherDeviceId","otherUserId","qr_otherUserId","reciprocate","qr_reciprocate","reciprocated","qr_reciprocated","registerChangesCallback","qr_registerChangesCallback","qr_roomId","state","qr_state","toBytes","qr_toBytes","toQrCode","qr_toQrCode","QrCode","qr_userId","weStarted","qr_weStarted","QrCodeFinalization","__wbg_qrcode_free","renderIntoBuffer","qrcode_renderIntoBuffer","QrCodeData","QrCodeDataFinalization","__wbg_qrcodedata_free","qrcodedata_fromBase64","fromBytes","bytes","qrcodedata_fromBytes","intentData","qrcodedata_intentData","QrCodeIntentData","mode","qrcodedata_mode","rendezvous_url","server_name","qrcodedata_new","newMsc4388","rendezvous_id","base_url","intent","qrcodedata_newMsc4388","qrcodedata_publicKey","qrcodedata_rendezvousUrl","qrcodedata_serverName","qrcodedata_toBase64","qrcodedata_toBytes","QrCodeIntent","Login","Reciprocate","QrCodeIntentDataFinalization","__wbg_qrcodeintentdata_free","msc4108","__wbg_get_qrcodeintentdata_msc4108","msc4388","__wbg_get_qrcodeintentdata_msc4388","__wbg_set_qrcodeintentdata_msc4108","__wbg_set_qrcodeintentdata_msc4388","QrCodeScan","QrCodeScanFinalization","__wbg_qrcodescan_free","buffer","qrcodescan_fromBytes","QrState","Created","Scanned","Confirmed","Reciprocated","Done","Cancelled","RehydratedDevice","RehydratedDeviceFinalization","__wbg_rehydrateddevice_free","receiveEvents","rehydrateddevice_receiveEvents","KeysUpload","KeysQuery","KeysClaim","ToDevice","SignatureUpload","RoomMessage","KeysBackup","RoomIdFinalization","__wbg_roomid_free","roomid_new","roomid_toString","RoomKeyCounts","RoomKeyCountsFinalization","__wbg_roomkeycounts_free","__wbg_get_roomkeycounts_backedUp","total","__wbg_get_roomkeycounts_total","__wbg_set_roomkeycounts_backedUp","__wbg_set_roomkeycounts_total","RoomKeyImportResult","RoomKeyImportResultFinalization","__wbg_roomkeyimportresult_free","importedCount","__wbg_get_roomkeyimportresult_importedCount","totalCount","__wbg_get_roomkeyimportresult_totalCount","roomkeyimportresult_keys","RoomKeyInfo","RoomKeyInfoFinalization","__wbg_roomkeyinfo_free","roomkeyinfo_algorithm","roomkeyinfo_roomId","roomkeyinfo_senderKey","roomkeyinfo_sessionId","RoomKeyWithheldInfo","RoomKeyWithheldInfoFinalization","__wbg_roomkeywithheldinfo_free","roomkeywithheldinfo_algorithm","roomkeywithheldinfo_roomId","roomkeywithheldinfo_sender","roomkeywithheldinfo_sessionId","roomkeywithheldinfo_withheldCode","RoomMessageRequest","RoomMessageRequestFinalization","__wbg_roommessagerequest_free","__wbg_get_roommessagerequest_body","__wbg_get_roommessagerequest_event_type","__wbg_get_roommessagerequest_id","__wbg_get_roommessagerequest_room_id","txn_id","__wbg_get_roommessagerequest_txn_id","roommessagerequest_new","roommessagerequest_type","RoomPendingKeyBundleDetails","RoomPendingKeyBundleDetailsFinalization","__wbg_roompendingkeybundledetails_free","inviteAcceptedAtMillis","roompendingkeybundledetails_inviteAcceptedAtMillis","inviterId","roompendingkeybundledetails_inviterId","roompendingkeybundledetails_roomId","RoomSettingsFinalization","__wbg_roomsettings_free","__wbg_get_roomsettings_algorithm","__wbg_get_roomsettings_encryptStateEvents","onlyAllowTrustedDevices","__wbg_get_roomsettings_onlyAllowTrustedDevices","sessionRotationPeriodMessages","__wbg_get_roomsettings_sessionRotationPeriodMessages","sessionRotationPeriodMs","__wbg_get_roomsettings_sessionRotationPeriodMs","roomsettings_new","__wbg_set_roomsettings_algorithm","__wbg_set_roomsettings_encryptStateEvents","__wbg_set_roomsettings_onlyAllowTrustedDevices","__wbg_set_roomsettings_sessionRotationPeriodMessages","__wbg_set_roomsettings_sessionRotationPeriodMs","Sas","SasFinalization","__wbg_sas_free","accept","sas_accept","canBePresented","sas_canBePresented","sas_cancel","sas_cancelInfo","sas_cancelWithCode","confirm","sas_confirm","decimals","sas_decimals","len","cachedUint16ArrayMemory0","byteLength","Uint16Array","memory","subarray","sas_deviceId","emoji","sas_emoji","emojiIndex","sas_emojiIndex","sas_flowId","hasBeenAccepted","sas_hasBeenAccepted","haveWeConfirmed","sas_haveWeConfirmed","sas_isCancelled","sas_isDone","sas_isSelfVerification","sas_otherDeviceId","sas_otherUserId","sas_registerChangesCallback","sas_roomId","startedFromRequest","sas_startedFromRequest","supportsEmoji","sas_supportsEmoji","timedOut","sas_timedOut","sas_userId","sas_weStarted","SecretsBundleFinalization","__wbg_secretsbundle_free","backupBundle","secretsbundle_backupBundle","from_json","json","secretsbundle_from_json","secretsbundle_masterKey","secretsbundle_selfSigningKey","to_json","secretsbundle_to_json","secretsbundle_userSigningKey","ServerNameFinalization","__wbg_servername_free","host","servername_host","isIpLiteral","servername_isIpLiteral","servername_new","port","servername_port","ShieldColor","Red","Grey","None","ShieldStateFinalization","__wbg_shieldstate_free","__wbg_get_shieldstate_code","color","__wbg_get_shieldstate_color","__wbg_set_shieldstate_code","__wbg_set_shieldstate_color","shieldstate_message","ShieldStateCode","AuthenticityNotGuaranteed","UnknownDevice","UnsignedDevice","UnverifiedIdentity","VerificationViolation","SignatureFinalization","__wbg_signature_free","signature_ed25519","signature_toBase64","Missing","ValidButNotTrusted","ValidAndTrusted","SignatureUploadRequestFinalization","__wbg_signatureuploadrequest_free","__wbg_get_signatureuploadrequest_body","__wbg_get_signatureuploadrequest_id","signed_keys","signatureuploadrequest_new","signatureuploadrequest_type","SignatureVerification","SignatureVerificationFinalization","__wbg_signatureverification_free","deviceState","signatureverification_deviceState","trusted","signatureverification_trusted","userState","signatureverification_userState","SignaturesFinalization","__wbg_signatures_free","addSignature","signer","key_id","signatures_addSignature","asJSON","signatures_asJSON","clear","signatures_clear","count","signatures_count","signatures_get","getSignature","signatures_getSignature","signatures_isEmpty","signatures_new","StoreHandleFinalization","__wbg_storehandle_free","open","storehandle_open","openWithKey","store_key","storehandle_openWithKey","StoredRoomKeyBundleDataFinalization","__wbg_storedroomkeybundledata_free","storedroomkeybundledata_encryptionInfo","storedroomkeybundledata_roomId","senderUser","storedroomkeybundledata_senderUser","storedroomkeybundledata_url","ToDeviceEncryptionInfoFinalization","__wbg_todeviceencryptioninfo_free","__wbg_get_todeviceencryptioninfo_senderCurve25519Key","__wbg_get_todeviceencryptioninfo_senderDevice","__wbg_get_todeviceencryptioninfo_sender","__wbg_set_todeviceencryptioninfo_senderCurve25519Key","__wbg_set_todeviceencryptioninfo_senderDevice","__wbg_set_todeviceencryptioninfo_sender","isSenderVerified","todeviceencryptioninfo_isSenderVerified","ToDeviceRequest","ToDeviceRequestFinalization","__wbg_todevicerequest_free","__wbg_get_todevicerequest_body","__wbg_get_todevicerequest_event_type","__wbg_get_todevicerequest_id","__wbg_get_todevicerequest_txn_id","todevicerequest_new","todevicerequest_type","ToDeviceUnableToDecryptInfo","ToDeviceUnableToDecryptInfoFinalization","__wbg_todeviceunabletodecryptinfo_free","__wbg_get_todeviceunabletodecryptinfo_reason","__wbg_set_todeviceunabletodecryptinfo_reason","DecryptionFailure","UnverifiedSenderDevice","NoOlmMachine","EncryptionIsDisabled","Tracing","TracingFinalization","__wbg_tracing_free","isAvailable","tracing_isAvailable","min_level","tracing_new","minLevel","tracing_set_minLevel","turnOff","tracing_turnOff","turnOn","tracing_turnOn","TrustRequirement","Untrusted","CrossSignedOrLegacy","CrossSigned","UTDToDeviceEvent","UTDToDeviceEventFinalization","__wbg_utdtodeviceevent_free","__wbg_get_utdtodeviceevent_rawEvent","utdInfo","__wbg_get_utdtodeviceevent_utdInfo","utdtodeviceevent_type","UploadSigningKeysRequestFinalization","__wbg_uploadsigningkeysrequest_free","__wbg_get_uploadsigningkeysrequest_body","uploadsigningkeysrequest_new","UserDevices","UserDevicesFinalization","__wbg_userdevices_free","devices","userdevices_devices","userdevices_get","isAnyVerified","userdevices_isAnyVerified","userdevices_keys","UserIdFinalization","__wbg_userid_free","clone","userid_clone","isHistorical","userid_isHistorical","userid_localpart","userid_new","userid_serverName","userid_toString","VerificationMethod","SasV1","QrCodeScanV1","QrCodeShowV1","ReciprocateV1","VerificationRequestFinalization","__wbg_verificationrequest_free","verificationrequest_accept","acceptWithMethods","verificationrequest_acceptWithMethods","verificationrequest_cancel","verificationrequest_cancelInfo","verificationrequest_flowId","generateQrCode","verificationrequest_generateQrCode","verificationrequest_getVerification","verificationrequest_isCancelled","verificationrequest_isDone","isPassive","verificationrequest_isPassive","isReady","verificationrequest_isReady","verificationrequest_isSelfVerification","verificationrequest_otherDeviceId","verificationrequest_otherUserId","ourSupportedMethods","verificationrequest_ourSupportedMethods","ownUserId","verificationrequest_ownUserId","phase","verificationrequest_phase","verificationrequest_registerChangesCallback","request","own_user_id","own_device_id","other_user_id","verificationrequest_request","verificationrequest_roomId","scanQrCode","verificationrequest_scanQrCode","startSas","verificationrequest_startSas","theirSupportedMethods","verificationrequest_theirSupportedMethods","timeRemainingMillis","verificationrequest_timeRemainingMillis","verificationrequest_timedOut","verificationrequest_weStarted","VerificationRequestPhase","Requested","Ready","Transitioned","Versions","VersionsFinalization","__wbg_versions_free","git_description","__wbg_get_versions_git_description","git_sha","__wbg_get_versions_git_sha","matrix_sdk_crypto","__wbg_get_versions_matrix_sdk_crypto","vodozemac","__wbg_get_versions_vodozemac","getVersions","__wbg_Error_bce6d499ff0a4aff","arg1","__wbg_Number_b7972a139bfbfdf0","Number","__wbg_String_8564e559799eccda","String","getDataViewMemory0","setInt32","__wbg_Window_241244be8c9776c1","Window","__wbg_WorkerGlobalScope_8623a7c9030fbce2","WorkerGlobalScope","__wbg___wbindgen_bigint_get_as_i64_410e28c7b761ad83","setBigInt64","__wbg___wbindgen_boolean_get_2304fb8c853028c8","__wbg___wbindgen_debug_string_edece8177ad01481","debugString","__wbg___wbindgen_in_07056af4f902c445","__wbg___wbindgen_is_bigint_aeae3893f30ed54e","__wbg___wbindgen_is_function_5cd60d5cf78b4eef","__wbg___wbindgen_is_null_2042690d351e14f0","__wbg___wbindgen_is_object_b4593df85baada48","__wbg___wbindgen_is_string_dde0fd9020db4434","__wbg___wbindgen_is_undefined_35bb9f4c7fd651d5","__wbg___wbindgen_jsval_eq_c0ed08b3e0f393b9","__wbg___wbindgen_jsval_loose_eq_0ad77b7717db155c","__wbg___wbindgen_number_get_f73a1244370fcc2c","setFloat64","__wbg___wbindgen_string_get_d109740c0d18f4d7","__wbg___wbindgen_throw_9c31b086c2b26051","__wbg__wbg_cb_unref_3fa391f3fcdb55f8","_wbg_cb_unref","__wbg_abort_70a701fced9ad53a","handleError","abort","arguments","__wbg_add_07a7ab95134233b9","add","__wbg_add_2d9a55f3b0313ab0","arg2","__wbg_at_3bffe427b0245c4e","at","__wbg_backupkeys_new","__wbg_bound_8d5dfa042d13a74b","arg3","IDBKeyRange","bound","__wbg_call_084ee3e860ee9f92","arg4","call","__wbg_call_13665d9f14390edc","__wbg_call_dfde26266607c996","__wbg_call_faa0a261f288f846","__wbg_clearTimeout_113b1cde814ec762","clearTimeout","__wbg_clear_bb1b3ff877b62598","__wbg_close_b66c780bfc7dd92c","__wbg_code_b725fad05a5aceb3","__wbg_commit_ebd6d9676954e0d2","commit","__wbg_continue_6f5a7d3d3bc4a125","continue","__wbg_count_048ba344d77978d6","__wbg_count_0e78b9f66eb6a1d6","__wbg_createIndex_4dedb55a60318332","createIndex","__wbg_createIndex_82392a1ffeb84021","__wbg_createObjectStore_ce6be0d6715f0760","createObjectStore","__wbg_crosssigningbootstraprequests_new","__wbg_crosssigningkeyexport_new","__wbg_crosssigningstatus_new","__wbg_crypto_38df2bab126b63dc","crypto","__wbg_debug_1ac2ea5532f70f4c","debug","__wbg_debug_83758bc0b77ada71","console","__wbg_decryptedroomevent_new","__wbg_decryptedtodeviceevent_new","__wbg_dehydrateddevice_new","__wbg_dehydrateddevicekey_new","__wbg_deleteObjectStore_91d035f22c860ba0","deleteObjectStore","__wbg_delete_9c4e8b22a8b0ff3c","delete","__wbg_delete_bc03f88e7f14db56","__wbg_device_new","__wbg_deviceid_new","__wbg_devicekey_new","__wbg_devicekeyid_new","__wbg_done_54b8da57023b7ed2","done","__wbg_emoji_new","__wbg_encryptedattachment_new","__wbg_encryptioninfo_new","__wbg_entries_564a7e8b1e54ede5","entries","__wbg_entries_c5ae2149eef72ab2","__wbg_error_a6fa202b58aa1cd3","deferred0_0","deferred0_1","error","__wbg_error_dbd3752906405f8d","__wbg_error_ef9cbaece146d1d5","__wbg_error_f085d7e62279b703","__wbg_from_fa561fa561dc8031","Array","from","__wbg_getAllKeys_07d656e168400060","getAllKeys","__wbg_getAll_31747a1df22443f5","getAll","__wbg_getAll_a0a54eef6ac20915","__wbg_getAll_bc4f4ec6a1504163","__wbg_getAll_f658d6ff0380c8c0","__wbg_getRandomValues_76dfc69825c9c552","globalThis","getRandomValues","__wbg_getRandomValues_c44a50d8cfdaebeb","__wbg_getRandomValues_ef12552bf5acd2fe","__wbg_getTime_09f1dd40a44edb30","getTime","__wbg_get_335f027bf0ad3391","__wbg_get_3e9a707ab7d352eb","Reflect","__wbg_get_98fdf51d029a75eb","__wbg_get_b6f278d067d9edad","__wbg_get_dcf82ab8aad1a593","__wbg_get_unchecked_1dfe6d05ad91d9b7","__wbg_get_with_ref_key_6412cf3094599694","__wbg_global_94a489d2e6a0c5fd","global","__wbg_inboundgroupsession_new","__wbg_index_1eb6fae6472ecb14","index","__wbg_indexedDB_2e82cb845ce6b3ad","indexedDB","__wbg_indexedDB_47c354eb27472a00","__wbg_indexedDB_cbfeacc981615a77","__wbg_info_929f1b00bd4820a9","info","__wbg_info_d2226ca1698bd09c","__wbg_instanceof_ArrayBuffer_53db37b06f6b9afe","result","ArrayBuffer","_","__wbg_instanceof_CursorSys_383984afc1fa1bbc","IDBCursorWithValue","__wbg_instanceof_DomException_bc16ce893e8c7439","DOMException","__wbg_instanceof_Error_b3f7e146d654031a","__wbg_instanceof_IdbCursor_9dd6ddde8160efcf","IDBCursor","__wbg_instanceof_IdbDatabase_102b0fe5255eee9c","IDBDatabase","__wbg_instanceof_IdbOpenDbRequest_2cce7fd687448f0f","IDBOpenDBRequest","__wbg_instanceof_IdbRequest_eef501cff5d0b7c1","IDBRequest","__wbg_instanceof_Map_16f217b9a2a08d8c","Map","__wbg_instanceof_Promise_09012cfa9708520a","Promise","__wbg_instanceof_Uint8Array_abd07d4bd221d50b","Uint8Array","__wbg_invalidtodeviceevent_new","__wbg_isArray_74b636a53056fecb","isArray","__wbg_isArray_94898ed3aad6947b","__wbg_isSafeInteger_01e964d144ad3a55","isSafeInteger","__wbg_item_c9a2ae22eb138d82","item","__wbg_iterator_1441b47f341dc34f","iterator","__wbg_key_387cdde352276f3a","__wbg_keysbackuprequest_new","__wbg_keysclaimrequest_new","__wbg_keysqueryrequest_new","__wbg_keysuploadrequest_new","__wbg_length_2591a0f4f659a55c","__wbg_length_56fcd3e2b7e0299d","__wbg_length_949f85b73ce6595d","__wbg_lowerBound_a64226f683db77bb","lowerBound","__wbg_maybesignature_new","__wbg_megolmdecryptionerror_new","__wbg_message_324ac511aeaf710e","__wbg_message_e88a8d3ba2b91c2a","__wbg_msCrypto_bd5a034af96bcba6","msCrypto","__wbg_name_fe88cfc178ec40b8","__wbg_new_02d162bc6cf02f60","__wbg_new_070df68d66325372","__wbg_new_1f236d63ba0c4784","__wbg_new_227d7c05414eb861","__wbg_new_310879b66b6e95e1","__wbg_new_6c6169c583e23af8","Set","__wbg_new_7ddec6de44ff8f5d","__wbg_new_859b9002e2668e82","Date","__wbg_new_d8dfd33fa007511d","state0","a","b","wasm_bindgen__convert__closures_____invoke__h33afbfdbaf3c68e2","__wbg_new_typed_c072c4ce9a2a0cdf","__wbg_new_with_length_99887c91eae4abab","__wbg_new_with_length_f193d8561d89261d","Uint8ClampedArray","__wbg_next_2a4e19f4f5083b0f","next","__wbg_next_6429a146bf756f93","__wbg_node_84ea875411254db1","node","__wbg_now_81363d44c96dd239","now","__wbg_now_e7c6795a7f81e10f","__wbg_objectStoreNames_7eb10221ec542d29","objectStoreNames","__wbg_objectStore_b28adb984a77902e","objectStore","__wbg_oldVersion_afd7254bce31480c","oldVersion","__wbg_olmmachine_new","__wbg_openCursor_3f4e3e61d07887e9","openCursor","__wbg_openCursor_61c49273b7c65183","__wbg_openCursor_7423d75422835a48","__wbg_open_40ab11cdd8f5ac5a","__wbg_open_a9584db064190886","__wbg_otheruseridentity_new","__wbg_ownuseridentity_new","__wbg_parse_2c1cad6215e84999","JSON","parse","__wbg_performance_3fcf6e32a7e1ed0a","performance","__wbg_pickledinboundgroupsession_unwrap","__wbg_pickledsession_unwrap","__wbg_plaintexttodeviceevent_new","__wbg_process_44c7a14e11e9f69e","process","__wbg_prototypesetcall_337df880a7679568","set","__wbg_prototypesetcall_5f9bdc8d75e07276","__wbg_push_b77c476b01548d0a","push","__wbg_put_ad17713e2c2f12fa","put","__wbg_putdehydrateddevicerequest_new","__wbg_qr_new","__wbg_queueMicrotask_78d584b53af520f5","queueMicrotask","__wbg_queueMicrotask_b39ea83c7f01971a","__wbg_randomFillSync_6c25eac9869eb53c","randomFillSync","__wbg_readyState_b7c530197b76b93b","readyState","__wbindgen_enum_IdbRequestReadyState","indexOf","__wbg_rehydrateddevice_new","__wbg_request_64abeba15a72c084","__wbg_request_72a78988f2edecad","__wbg_require_b4edbdcf3e2a1ef0","module","require","__wbg_resolve_d17db9352f5a220e","resolve","__wbg_result_c4cb33cd39c97cac","__wbg_roomid_unwrap","__wbg_roomkeycounts_new","__wbg_roomkeyimportresult_new","__wbg_roomkeyinfo_new","__wbg_roomkeywithheldinfo_new","__wbg_roommessagerequest_new","__wbg_roompendingkeybundledetails_new","__wbg_roomsettings_new","__wbg_sas_new","__wbg_secretsbundle_new","__wbg_setTimeout_ef24d2fc3ad97385","setTimeout","__wbg_set_6be42768c690e380","__wbg_set_78ea6a19f4818587","__wbg_set_bf22f3de29cb1fce","__wbg_set_facb7a5914e0fa39","__wbg_set_onabort_ed56d2172d920901","onabort","__wbg_set_oncomplete_3f428ec13b20d7cc","oncomplete","__wbg_set_onerror_38740b892815eedc","onerror","__wbg_set_onerror_457b093a5063c7ec","__wbg_set_onsuccess_b556141053d02ea7","onsuccess","__wbg_set_onupgradeneeded_f885fa17614acd2b","onupgradeneeded","__wbg_set_unique_c307b08264e831b2","unique","__wbg_signatures_new","__wbg_signatureuploadrequest_new","__wbg_signatureverification_new","__wbg_stack_3b0d974bbf31e44f","stack","__wbg_static_accessor_GLOBAL_THIS_02344c9b09eb08a9","__wbg_static_accessor_GLOBAL_ac6d4ac874d5cd54","g","__wbg_static_accessor_SELF_9b2406c23aeb2023","self","__wbg_static_accessor_WINDOW_b34d2126934e16ba","window","__wbg_storedroomkeybundledata_new","__wbg_storehandle_new","__wbg_stringify_ef0c105b1ccc3849","stringify","__wbg_subarray_7c6a0da8f3b4a1ba","__wbg_target_84e05e84ffc12989","target","__wbg_then_837494e384b37459","__wbg_then_bd927500e8905df2","__wbg_toString_1dda136fd8f30a5f","__wbg_todevicerequest_new","__wbg_transaction_213e4f585d3d1b40","transaction","__wbg_transaction_38cea079a9d82352","__wbindgen_enum_IdbTransactionMode","__wbg_transaction_623d0b0d88e248ee","__wbg_transaction_b7261fed68fa4264","__wbg_update_5c0f974a3c0850fc","update","__wbg_upperBound_f7daa7529e579cfc","upperBound","__wbg_userdevices_new","__wbg_userid_new","__wbg_userid_unwrap","__wbg_utdtodeviceevent_new","__wbg_value_308a5bab6b4eb311","value","__wbg_value_9cc0518af87a489c","__wbg_values_2e4d34d52f9540dc","values","__wbg_verificationrequest_new","__wbg_version_0fcb42f756365cc1","__wbg_versions_276b2795b1c6a219","versions","__wbg_warn_b62de6508e8608cc","warn","__wbg_warn_c4e0780980765a86","__wbindgen_cast_0000000000000001","makeMutClosure","wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523","__wbindgen_cast_0000000000000002","wasm_bindgen__convert__closures_____invoke__hc98e844383b6010d","__wbindgen_cast_0000000000000003","wasm_bindgen__convert__closures_____invoke__h6cc6e60feaea7523_2","__wbindgen_cast_0000000000000004","wasm_bindgen__convert__closures_____invoke__h3fc5f4d47ac7b23e","__wbindgen_cast_0000000000000005","__wbindgen_cast_0000000000000006","__wbindgen_cast_0000000000000007","__wbindgen_cast_0000000000000008","__wbindgen_cast_0000000000000009","__wbindgen_cast_000000000000000a","v0","__wbindgen_init_externref_table","table","__wbindgen_externrefs","offset","grow","FinalizationRegistry","idx","__externref_table_alloc","instance","klass","CLOSURE_DTORS","__wbindgen_destroy_closure","val","i","builtInMatches","exec","className","mem","getUint32","__externref_drop_slice","getUint8ArrayMemory0","cachedDataViewMemory0","detached","DataView","numBytesDecoded","MAX_SAFARI_DECODE_BYTES","cachedTextDecoder","TextDecoder","ignoreBOM","fatal","decode","decodeText","cachedUint8ArrayMemory0","f","args","apply","__wbindgen_exn_store","x","cnt","real","arg","malloc","setUint32","realloc","buf","cachedTextEncoder","encode","charCodeAt","view","encodeInto","written","__externref_table_dealloc","TextEncoder","read","__wbg_set_wasm"],"sourceRoot":""}