]> nmode's Git Repositories - signal-cli/blobdiff - graalvm-config-dir/reflect-config.json
Update hypfvieh dbus-java 4.0 beta which uses native java unix sockets
[signal-cli] / graalvm-config-dir / reflect-config.json
index cd6599a8f1d5d97a5f48b3e3826b976fadeaa232..c4b6d4988403ece54a1fa8bafeff57ab15beb5ac 100644 (file)
 [
+{
+  "name":"[B",
+  "queryAllDeclaredMethods":true,
+  "queryAllPublicMethods":true}
+,
+{
+  "name":"[C"}
+,
+{
+  "name":"[I",
+  "queryAllDeclaredMethods":true,
+  "queryAllPublicMethods":true}
+,
+{
+  "name":"[J"}
+,
+{
+  "name":"[Lorg.whispersystems.signalservice.api.groupsv2.TemporalCredential;"}
+,
 {
   "name":"byte[]",
   "allDeclaredMethods":true,
-  "allPublicMethods":true
-},
+  "allPublicMethods":true}
+,
+{
+  "name":"char[]"}
+,
 {
-  "name":"char[]"
-},
+  "name":"com.fasterxml.jackson.databind.ext.Java7HandlersImpl",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"com.fasterxml.jackson.databind.ext.Java7SupportImpl",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"com.google.protobuf.AbstractProtobufList",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
+{
+  "name":"com.google.protobuf.GeneratedMessageLite",
+  "fields":[{"name":"unknownFields"}]}
+,
 {
   "name":"com.google.protobuf.Internal$LongList",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"com.google.protobuf.Internal$ProtobufList",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"com.google.protobuf.LongArrayList",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"com.google.protobuf.PrimitiveNonBoxingCollection",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
-  "name":"com.kenai.jffi.Invoker",
-  "methods":[
-    {"name":"invokeI6","parameterTypes":["com.kenai.jffi.CallContext","long","int","int","int","int","int","int"] }, 
-    {"name":"invokeL6","parameterTypes":["com.kenai.jffi.CallContext","long","long","long","long","long","long","long"] }, 
-    {"name":"invokeN6","parameterTypes":["com.kenai.jffi.CallContext","long","long","long","long","long","long","long"] }
-  ]
-},
+  "name":"com.sun.crypto.provider.AESCipher$General",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"com.kenai.jffi.Version",
-  "fields":[
-    {"name":"MAJOR"}, 
-    {"name":"MICRO"}, 
-    {"name":"MINOR"}
-  ]
-},
+  "name":"com.sun.crypto.provider.ARCFOURCipher",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"com.kenai.jffi.internal.StubLoader",
-  "methods":[{"name":"isLoaded","parameterTypes":[] }]
-},
+  "name":"com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"com.sun.crypto.provider.AESCipher$General",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"com.sun.crypto.provider.DESCipher",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"com.sun.crypto.provider.DESedeCipher",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"com.sun.crypto.provider.DHParameters",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"com.sun.crypto.provider.GaloisCounterMode$AESGCM",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"com.sun.crypto.provider.HmacCore$HmacSHA256",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"com.sun.crypto.provider.HmacCore$HmacSHA384",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"com.sun.crypto.provider.TlsKeyMaterialGenerator",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"com.sun.crypto.provider.TlsMasterSecretGenerator",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"com.sun.crypto.provider.TlsPrfGenerator$V12",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"int",
   "allDeclaredMethods":true,
-  "allPublicMethods":true
-},
+  "allPublicMethods":true}
+,
 {
   "name":"int[]",
   "allDeclaredMethods":true,
-  "allPublicMethods":true
-},
+  "allPublicMethods":true}
+,
 {
   "name":"java.io.Serializable",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.lang.Boolean",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
+{
+  "name":"java.lang.Class",
+  "methods":[{"name":"getRecordComponents","parameterTypes":[] }]}
+,
 {
   "name":"java.lang.Comparable",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.lang.Double",
-  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
-},
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]}
+,
 {
   "name":"java.lang.Enum",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.lang.Integer",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"java.lang.Iterable",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.lang.Long",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"java.lang.Number",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
+{
+  "name":"java.lang.Record",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true}
+,
 {
   "name":"java.lang.String",
-  "allPublicMethods":true
-},
+  "allPublicMethods":true}
+,
 {
   "name":"java.lang.reflect.Method",
-  "methods":[{"name":"isDefault","parameterTypes":[] }]
-},
+  "methods":[{"name":"isDefault","parameterTypes":[] }]}
+,
+{
+  "name":"java.lang.reflect.RecordComponent",
+  "methods":[
+    {"name":"getName","parameterTypes":[] }, 
+    {"name":"getType","parameterTypes":[] }
+  ]}
+,
 {
   "name":"java.nio.Buffer",
   "allDeclaredMethods":true,
-  "fields":[{"name":"address", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"address"}]}
+,
 {
   "name":"java.nio.ByteBuffer",
   "allDeclaredMethods":true,
-  "allPublicMethods":true
-},
+  "allPublicMethods":true}
+,
 {
-  "name":"java.security.KeyStoreSpi"
-},
+  "name":"java.security.KeyStoreSpi"}
+,
 {
-  "name":"java.security.SecureRandomParameters"
-},
+  "name":"java.security.SecureRandomParameters"}
+,
 {
-  "name":"java.security.cert.PKIXRevocationChecker"
-},
+  "name":"java.security.cert.PKIXRevocationChecker"}
+,
 {
-  "name":"java.security.interfaces.ECPrivateKey"
-},
+  "name":"java.security.interfaces.ECPrivateKey"}
+,
 {
-  "name":"java.security.interfaces.ECPublicKey"
-},
+  "name":"java.security.interfaces.ECPublicKey"}
+,
 {
-  "name":"java.security.interfaces.RSAPrivateKey"
-},
+  "name":"java.security.interfaces.RSAPrivateKey"}
+,
 {
-  "name":"java.security.interfaces.RSAPublicKey"
-},
+  "name":"java.security.interfaces.RSAPublicKey"}
+,
 {
   "name":"java.util.AbstractCollection",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.util.AbstractList",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.util.ArrayList",
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"java.util.Collection",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.util.HashSet",
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"java.util.LinkedHashMap",
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"java.util.List",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.util.Locale",
-  "methods":[{"name":"getUnicodeLocaleType","parameterTypes":["java.lang.String"] }]
-},
+  "methods":[{"name":"getUnicodeLocaleType","parameterTypes":["java.lang.String"] }]}
+,
 {
   "name":"java.util.RandomAccess",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"java.util.UUID",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
-{
-  "name":"jnr.constants.platform.linux.ProtocolFamily"
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"jnr.constants.platform.linux.Shutdown"
-},
+  "name":"javax.security.auth.x500.X500Principal",
+  "methods":[{"name":"<init>","parameterTypes":["sun.security.x509.X500Name"] }]}
+,
 {
-  "name":"jnr.constants.platform.linux.Sock"
-},
+  "name":"long",
+  "allDeclaredMethods":true,
+  "allPublicMethods":true}
+,
 {
-  "name":"jnr.constants.platform.linux.SocketLevel"
-},
+  "name":"long[]"}
+,
 {
-  "name":"jnr.constants.platform.linux.SocketOption"
-},
+  "name":"org.asamk.Signal",
+  "allDeclaredMethods":true,
+  "allDeclaredClasses":true}
+,
 {
-  "name":"jnr.enxio.channels.Native$LibC",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.Signal$Configuration",
+  "allDeclaredClasses":true,
+  "queryAllDeclaredMethods":true}
+,
 {
-  "name":"jnr.enxio.channels.Native$LibC$jnr$ffi$1",
-  "methods":[{"name":"<init>","parameterTypes":["jnr.ffi.Runtime","jnr.ffi.provider.jffi.NativeLibrary","java.lang.Object[]"] }]
-},
+  "name":"org.asamk.Signal$Device",
+  "allDeclaredMethods":true,
+  "allDeclaredClasses":true}
+,
 {
-  "name":"jnr.ffi.Pointer",
+  "name":"org.asamk.Signal$Group",
   "allDeclaredMethods":true,
-  "allPublicMethods":true
-},
+  "allDeclaredClasses":true}
+,
 {
-  "name":"jnr.ffi.StructLayout$gid_t",
-  "methods":[{"name":"<init>","parameterTypes":["jnr.ffi.StructLayout"] }]
-},
+  "name":"org.asamk.Signal$MessageReceived",
+  "allDeclaredConstructors":true,
+  "allPublicConstructors":true}
+,
 {
-  "name":"jnr.ffi.byref.IntByReference",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.Signal$MessageReceivedV2",
+  "queryAllDeclaredConstructors":true,
+  "queryAllPublicConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","long","java.lang.String","byte[]","java.lang.String","java.util.Map"] }]}
+,
 {
-  "name":"jnr.ffi.provider.converters.ByReferenceParameterConverter",
-  "methods":[{"name":"nativeType","parameterTypes":[] }]
-},
+  "name":"org.asamk.Signal$ReceiptReceived",
+  "allDeclaredConstructors":true,
+  "allPublicConstructors":true}
+,
 {
-  "name":"jnr.ffi.provider.converters.ByReferenceParameterConverter$Out",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.Signal$ReceiptReceivedV2",
+  "queryAllDeclaredConstructors":true,
+  "queryAllPublicConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","long","java.lang.String","java.lang.String","java.util.Map"] }]}
+,
 {
-  "name":"jnr.ffi.provider.converters.StringResultConverter",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.Signal$StructDevice",
+  "allDeclaredFields":true}
+,
 {
-  "name":"jnr.ffi.provider.converters.StructByReferenceToNativeConverter",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.Signal$StructGroup",
+  "allDeclaredFields":true}
+,
 {
-  "name":"jnr.ffi.provider.jffi.BufferParameterStrategy",
-  "methods":[{"name":"address","parameterTypes":["java.nio.Buffer"] }]
-},
+  "name":"org.asamk.Signal$SyncMessageReceived",
+  "allDeclaredConstructors":true,
+  "allPublicConstructors":true}
+,
 {
-  "name":"jnr.ffi.provider.jffi.PointerParameterStrategy",
-  "methods":[{"name":"address","parameterTypes":["jnr.ffi.Pointer"] }]
-},
+  "name":"org.asamk.Signal$SyncMessageReceivedV2",
+  "queryAllDeclaredConstructors":true,
+  "queryAllPublicConstructors":true}
+,
 {
-  "name":"jnr.ffi.provider.jffi.Provider",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.SignalControl",
+  "allDeclaredMethods":true,
+  "allDeclaredClasses":true}
+,
 {
-  "name":"jnr.ffi.provider.jffi.platform.x86_64.linux.TypeAliases",
-  "fields":[{"name":"ALIASES"}]
-},
+  "name":"org.asamk.signal.commands.FinishLinkCommand$FinishLinkParams",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }]}
+,
 {
-  "name":"jnr.posix.Timeval",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.signal.commands.FinishLinkCommand$JsonFinishLink",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"number","parameterTypes":[] }]}
+,
 {
-  "name":"jnr.unixsocket.Native$LibC",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.signal.commands.GetUserStatusCommand$JsonUserStatus",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"jnr.unixsocket.Native$LibC$jnr$ffi$0",
-  "methods":[{"name":"<init>","parameterTypes":["jnr.ffi.Runtime","jnr.ffi.provider.jffi.NativeLibrary","java.lang.Object[]"] }]
-},
+  "name":"org.asamk.signal.commands.ListAccountsCommand$JsonAccount",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"number","parameterTypes":[] }]}
+,
 {
-  "name":"jnr.unixsocket.SockAddrUnix",
-  "allPublicMethods":true
-},
+  "name":"org.asamk.signal.commands.ListContactsCommand$JsonContact",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"long",
+  "name":"org.asamk.signal.commands.ListDevicesCommand$JsonDevice",
+  "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allPublicMethods":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"long[]"
-},
+  "name":"org.asamk.signal.commands.ListGroupsCommand$JsonGroup",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.Signal",
+  "name":"org.asamk.signal.commands.ListGroupsCommand$JsonGroupMember",
+  "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.Signal$MessageReceived",
-  "allDeclaredConstructors":true,
-  "allPublicConstructors":true
-},
+  "name":"org.asamk.signal.commands.ListIdentitiesCommand$JsonIdentity",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.Signal$ReceiptReceived",
-  "allDeclaredConstructors":true,
-  "allPublicConstructors":true
-},
+  "name":"org.asamk.signal.commands.RegisterCommand$RegistrationParams",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.String"] }]}
+,
 {
-  "name":"org.asamk.Signal$SyncMessageReceived",
-  "allDeclaredConstructors":true,
-  "allPublicConstructors":true
-},
+  "name":"org.asamk.signal.commands.StartLinkCommand$JsonLink",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"deviceLinkUri","parameterTypes":[] }]}
+,
+{
+  "name":"org.asamk.signal.commands.VerifyCommand$VerifyParams",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }]}
+,
 {
   "name":"org.asamk.signal.json.JsonAttachment",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonCallMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
+{
+  "name":"org.asamk.signal.json.JsonCallMessage$Answer",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true}
+,
+{
+  "name":"org.asamk.signal.json.JsonCallMessage$Busy",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true}
+,
+{
+  "name":"org.asamk.signal.json.JsonCallMessage$Hangup",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true}
+,
+{
+  "name":"org.asamk.signal.json.JsonCallMessage$Offer",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonContactAddress",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonContactAvatar",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonContactEmail",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonContactName",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonContactPhone",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonDataMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonError",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonGroupInfo",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonMention",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonMessageEnvelope",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonQuote",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonQuotedAttachment",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonReaction",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonReceiptMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonRemoteDelete",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonSharedContact",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonSticker",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonSyncDataMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonSyncMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonSyncMessageType",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.asamk.signal.json.JsonSyncReadMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.json.JsonTypingMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.contacts.ContactInfo",
+  "name":"org.asamk.signal.jsonrpc.JsonRpcBatchMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.contacts.JsonContactsStore",
+  "name":"org.asamk.signal.jsonrpc.JsonRpcException",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupInfo",
+  "name":"org.asamk.signal.jsonrpc.JsonRpcMessage",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1",
+  "name":"org.asamk.signal.jsonrpc.JsonRpcRequest",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
+{
+  "name":"org.asamk.signal.jsonrpc.JsonRpcResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1$JsonSignalServiceAddress",
+  "name":"org.asamk.signal.jsonrpc.JsonRpcResponse$Error",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1$MembersDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.JsonStickerPack",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"author","parameterTypes":[] }, 
+    {"name":"cover","parameterTypes":[] }, 
+    {"name":"stickers","parameterTypes":[] }, 
+    {"name":"title","parameterTypes":[] }
+  ]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1$MembersSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.JsonStickerPack$JsonSticker",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"contentType","parameterTypes":[] }, 
+    {"name":"emoji","parameterTypes":[] }, 
+    {"name":"file","parameterTypes":[] }
+  ]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupStore$GroupsDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.api.PhoneNumberSharingMode",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage",
+  "name":"org.asamk.signal.manager.storage.configuration.ConfigurationStore$Storage",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","org.asamk.signal.manager.api.PhoneNumberSharingMode"] }, 
+    {"name":"linkPreviews","parameterTypes":[] }, 
+    {"name":"phoneNumberSharingMode","parameterTypes":[] }, 
+    {"name":"phoneNumberUnlisted","parameterTypes":[] }, 
+    {"name":"readReceipts","parameterTypes":[] }, 
+    {"name":"typingIndicators","parameterTypes":[] }, 
+    {"name":"unidentifiedDeliveryIndicators","parameterTypes":[] }
+  ]}
+,
+{
+  "name":"org.asamk.signal.manager.storage.contacts.LegacyJsonContactsStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true,
+  "fields":[{"name":"contacts", "allowWrite":true}]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$Group",
+  "name":"org.asamk.signal.manager.storage.groups.GroupInfo",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true}
+,
+{
+  "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
+{
+  "name":"org.asamk.signal.manager.storage.groups.GroupStore$GroupsDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV1",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV1$MembersDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV1$MembersSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV2",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.JsonGroupStore",
+  "name":"org.asamk.signal.manager.storage.identities.IdentityKeyStore$IdentityStorage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true,
-  "fields":[{"name":"groups", "allowWrite":true}]
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.JsonGroupStore$GroupsDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.profiles.LegacyProfileStore",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true,
+  "fields":[{"name":"profiles", "allowWrite":true}]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.groups.JsonGroupStore$GroupsSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.profiles.LegacyProfileStore$ProfileStoreDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.identities.IdentityKeyStore$IdentityStorage",
+  "name":"org.asamk.signal.manager.storage.profiles.LegacySignalProfileEntry",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.profiles.ProfileStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true,
-  "fields":[{"name":"profiles", "allowWrite":true}]
-},
-{
-  "name":"org.asamk.signal.manager.storage.profiles.ProfileStore$ProfileStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  "name":"org.asamk.signal.manager.storage.profiles.ProfileStore$ProfileStoreSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.profiles.SignalProfile",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.profiles.SignalProfile$Capabilities",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
-{
-  "name":"org.asamk.signal.manager.storage.protocol.JsonIdentityKeyStore$JsonIdentityKeyStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  "name":"org.asamk.signal.manager.storage.protocol.JsonIdentityKeyStore$JsonIdentityKeyStoreSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  "name":"org.asamk.signal.manager.storage.protocol.JsonPreKeyStore$JsonPreKeyStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.protocol.JsonPreKeyStore$JsonPreKeyStoreSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonIdentityKeyStore$JsonIdentityKeyStoreDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.protocol.JsonSessionStore$JsonSessionStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonPreKeyStore$JsonPreKeyStoreDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.protocol.JsonSessionStore$JsonSessionStoreSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonSessionStore$JsonSessionStoreDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.protocol.JsonSignalProtocolStore",
+  "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonSignalProtocolStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.protocol.JsonSignedPreKeyStore$JsonSignedPreKeyStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonSignedPreKeyStore$JsonSignedPreKeyStoreDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.protocol.JsonSignedPreKeyStore$JsonSignedPreKeyStoreSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  "name":"org.asamk.signal.manager.storage.protocol.RecipientStore",
+  "name":"org.asamk.signal.manager.storage.recipients.LegacyRecipientStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
   "allDeclaredConstructors":true,
-  "fields":[{"name":"addresses", "allowWrite":true}]
-},
-{
-  "name":"org.asamk.signal.manager.storage.protocol.RecipientStore$RecipientStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "fields":[{"name":"addresses", "allowWrite":true}]}
+,
 {
-  "name":"org.asamk.signal.manager.storage.protocol.RecipientStore$RecipientStoreSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.recipients.LegacyRecipientStore$RecipientStoreDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage$Recipient",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage$Recipient$Contact",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage$Recipient$Profile",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.stickers.StickerStore",
+  "name":"org.asamk.signal.manager.storage.senderKeys.SenderKeySharedStore$Storage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true,
-  "fields":[{"name":"stickers", "allowWrite":true}]
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.stickers.StickerStore$StickersDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.senderKeys.SenderKeySharedStore$Storage$SharedSenderKey",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.asamk.signal.manager.storage.stickers.StickerStore$StickersSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "name":"org.asamk.signal.manager.storage.stickers.StickerStore",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true,
+  "fields":[{"name":"stickers", "allowWrite":true}]}
+,
 {
   "name":"org.asamk.signal.manager.storage.stickers.StickerStore$Storage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.manager.storage.stickers.StickerStore$Storage$Sticker",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.asamk.signal.util.SecurityProvider$DefaultRandom",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.COMPOSITE$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.DSTU4145$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.EC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.ECGOST$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.EdEC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.ElGamal$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.GM$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.GOST$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.IES$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.SignatureSpi$Ed25519",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.SignatureSpi$Ed448",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.x509.CertificateFactory",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Blake2b$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Blake2s$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.DSTU7564$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Haraka$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Keccak$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.MD2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.MD4$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.MD5$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD160$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD256$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD320$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA1$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA224$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Digest",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA3$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA384$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA512$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SM3$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Skein$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Tiger$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Whirlpool$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.drbg.DRBG$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.BC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.BCFKS$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.AES$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.ARC4$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.ARIA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Blowfish$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.CAST5$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.CAST6$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Camellia$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.ChaCha$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.DES$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.DESede$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.DSTU7624$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.GOST28147$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.GOST3412_2015$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Grain128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Grainv1$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.HC128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.HC256$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Noekeon$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.OpenSSLPBKDF$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF1$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Poly1305$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.RC2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.RC5$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.RC6$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Rijndael$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SCRYPT$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SEED$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SM4$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Salsa20$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Serpent$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Shacal2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SipHash$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SipHash128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Skipjack$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.TEA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.TLSKDF$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Threefish$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Twofish$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.VMPC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.VMPCKSA3$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.XSalsa20$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.XTEA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Zuc$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"org.freedesktop.dbus.errors.ServiceUnknown",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
+,
+{
+  "name":"org.freedesktop.dbus.errors.UnknownMethod",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
+,
 {
-  "name":"org.freedesktop.DBus$NameAcquired",
-  "allDeclaredConstructors":true
-},
+  "name":"org.freedesktop.dbus.errors.UnknownObject",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
+,
+{
+  "name":"org.freedesktop.dbus.interfaces.DBus$NameAcquired",
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.freedesktop.dbus.interfaces.Introspectable",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true
-},
+  "allDeclaredClasses":true}
+,
 {
   "name":"org.freedesktop.dbus.interfaces.Peer",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true
-},
+  "allDeclaredClasses":true}
+,
+{
+  "name":"org.freedesktop.dbus.interfaces.Properties",
+  "allDeclaredMethods":true,
+  "allDeclaredClasses":true}
+,
 {
-  "name":"org.objectweb.asm.util.TraceMethodVisitor"
-},
+  "name":"org.freedesktop.dbus.interfaces.Properties$PropertiesChanged",
+  "allPublicConstructors":true}
+,
 {
   "name":"org.signal.storageservice.protos.groups.AccessControl",
   "fields":[
-    {"name":"addFromInviteLink_", "allowUnsafeAccess":true}, 
-    {"name":"attributes_", "allowUnsafeAccess":true}, 
-    {"name":"members_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"addFromInviteLink_"}, 
+    {"name":"attributes_"}, 
+    {"name":"members_"}
+  ]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.AvatarUploadAttributes",
+  "fields":[
+    {"name":"acl_"}, 
+    {"name":"algorithm_"}, 
+    {"name":"credential_"}, 
+    {"name":"date_"}, 
+    {"name":"key_"}, 
+    {"name":"policy_"}, 
+    {"name":"signature_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.Group",
   "fields":[
-    {"name":"accessControl_", "allowUnsafeAccess":true}, 
-    {"name":"avatar_", "allowUnsafeAccess":true}, 
-    {"name":"disappearingMessagesTimer_", "allowUnsafeAccess":true}, 
-    {"name":"inviteLinkPassword_", "allowUnsafeAccess":true}, 
-    {"name":"members_", "allowUnsafeAccess":true}, 
-    {"name":"pendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"publicKey_", "allowUnsafeAccess":true}, 
-    {"name":"requestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"revision_", "allowUnsafeAccess":true}, 
-    {"name":"title_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"accessControl_"}, 
+    {"name":"announcementsOnly_"}, 
+    {"name":"avatar_"}, 
+    {"name":"description_"}, 
+    {"name":"disappearingMessagesTimer_"}, 
+    {"name":"inviteLinkPassword_"}, 
+    {"name":"members_"}, 
+    {"name":"pendingMembers_"}, 
+    {"name":"publicKey_"}, 
+    {"name":"requestingMembers_"}, 
+    {"name":"revision_"}, 
+    {"name":"title_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupAttributeBlob",
   "fields":[
-    {"name":"contentCase_", "allowUnsafeAccess":true}, 
-    {"name":"content_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"contentCase_"}, 
+    {"name":"content_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange",
   "fields":[
-    {"name":"actions_", "allowUnsafeAccess":true}, 
-    {"name":"changeEpoch_", "allowUnsafeAccess":true}, 
-    {"name":"serverSignature_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"actions_"}, 
+    {"name":"changeEpoch_"}, 
+    {"name":"serverSignature_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions",
   "fields":[
-    {"name":"addMembers_", "allowUnsafeAccess":true}, 
-    {"name":"addPendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"addRequestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"deleteMembers_", "allowUnsafeAccess":true}, 
-    {"name":"deletePendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"deleteRequestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"modifyAddFromInviteLinkAccess_", "allowUnsafeAccess":true}, 
-    {"name":"modifyAttributesAccess_", "allowUnsafeAccess":true}, 
-    {"name":"modifyAvatar_", "allowUnsafeAccess":true}, 
-    {"name":"modifyDisappearingMessagesTimer_", "allowUnsafeAccess":true}, 
-    {"name":"modifyInviteLinkPassword_", "allowUnsafeAccess":true}, 
-    {"name":"modifyMemberAccess_", "allowUnsafeAccess":true}, 
-    {"name":"modifyMemberProfileKeys_", "allowUnsafeAccess":true}, 
-    {"name":"modifyMemberRoles_", "allowUnsafeAccess":true}, 
-    {"name":"modifyTitle_", "allowUnsafeAccess":true}, 
-    {"name":"promotePendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"promoteRequestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"revision_", "allowUnsafeAccess":true}, 
-    {"name":"sourceUuid_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"addMembers_"}, 
+    {"name":"addPendingMembers_"}, 
+    {"name":"addRequestingMembers_"}, 
+    {"name":"deleteMembers_"}, 
+    {"name":"deletePendingMembers_"}, 
+    {"name":"deleteRequestingMembers_"}, 
+    {"name":"modifyAddFromInviteLinkAccess_"}, 
+    {"name":"modifyAnnouncementsOnly_"}, 
+    {"name":"modifyAttributesAccess_"}, 
+    {"name":"modifyAvatar_"}, 
+    {"name":"modifyDescription_"}, 
+    {"name":"modifyDisappearingMessagesTimer_"}, 
+    {"name":"modifyInviteLinkPassword_"}, 
+    {"name":"modifyMemberAccess_"}, 
+    {"name":"modifyMemberProfileKeys_"}, 
+    {"name":"modifyMemberRoles_"}, 
+    {"name":"modifyTitle_"}, 
+    {"name":"promotePendingMembers_"}, 
+    {"name":"promoteRequestingMembers_"}, 
+    {"name":"revision_"}, 
+    {"name":"sourceUuid_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$AddMemberAction",
   "fields":[
-    {"name":"added_", "allowUnsafeAccess":true}, 
-    {"name":"joinFromInviteLink_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"added_"}, 
+    {"name":"joinFromInviteLink_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$AddPendingMemberAction",
-  "fields":[{"name":"added_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"added_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$AddRequestingMemberAction",
-  "fields":[{"name":"added_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"added_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$DeleteMemberAction",
-  "fields":[{"name":"deletedUserId_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"deletedUserId_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$DeletePendingMemberAction",
-  "fields":[{"name":"deletedUserId_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"deletedUserId_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$DeleteRequestingMemberAction",
-  "fields":[{"name":"deletedUserId_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"deletedUserId_"}]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyAddFromInviteLinkAccessControlAction",
+  "fields":[{"name":"addFromInviteLinkAccess_"}]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyAttributesAccessControlAction",
+  "fields":[{"name":"attributesAccess_"}]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyAvatarAction",
+  "fields":[{"name":"avatar_"}]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyDescriptionAction",
+  "fields":[{"name":"description_"}]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyDisappearingMessagesTimerAction",
+  "fields":[{"name":"timer_"}]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyInviteLinkPasswordAction",
+  "fields":[{"name":"inviteLinkPassword_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyMemberProfileKeyAction",
-  "fields":[{"name":"presentation_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"presentation_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyMemberRoleAction",
   "fields":[
-    {"name":"role_", "allowUnsafeAccess":true}, 
-    {"name":"userId_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"role_"}, 
+    {"name":"userId_"}
+  ]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyMembersAccessControlAction",
+  "fields":[{"name":"membersAccess_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyTitleAction",
-  "fields":[{"name":"title_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"title_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$PromotePendingMemberAction",
-  "fields":[{"name":"presentation_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"presentation_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$PromoteRequestingMemberAction",
   "fields":[
-    {"name":"role_", "allowUnsafeAccess":true}, 
-    {"name":"userId_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"role_"}, 
+    {"name":"userId_"}
+  ]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupInviteLink",
+  "fields":[
+    {"name":"contentsCase_"}, 
+    {"name":"contents_"}
+  ]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.GroupInviteLink$GroupInviteLinkContentsV1",
+  "fields":[
+    {"name":"groupMasterKey_"}, 
+    {"name":"inviteLinkPassword_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.Member",
   "fields":[
-    {"name":"joinedAtRevision_", "allowUnsafeAccess":true}, 
-    {"name":"presentation_", "allowUnsafeAccess":true}, 
-    {"name":"profileKey_", "allowUnsafeAccess":true}, 
-    {"name":"role_", "allowUnsafeAccess":true}, 
-    {"name":"userId_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"joinedAtRevision_"}, 
+    {"name":"presentation_"}, 
+    {"name":"profileKey_"}, 
+    {"name":"role_"}, 
+    {"name":"userId_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.PendingMember",
   "fields":[
-    {"name":"addedByUserId_", "allowUnsafeAccess":true}, 
-    {"name":"member_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"addedByUserId_"}, 
+    {"name":"member_"}, 
+    {"name":"timestamp_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.RequestingMember",
   "fields":[
-    {"name":"presentation_", "allowUnsafeAccess":true}, 
-    {"name":"profileKey_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}, 
-    {"name":"userId_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"presentation_"}, 
+    {"name":"profileKey_"}, 
+    {"name":"timestamp_"}, 
+    {"name":"userId_"}
+  ]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.local.DecryptedApproveMember",
+  "fields":[
+    {"name":"role_"}, 
+    {"name":"uuid_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedGroup",
   "fields":[
-    {"name":"accessControl_", "allowUnsafeAccess":true}, 
-    {"name":"avatar_", "allowUnsafeAccess":true}, 
-    {"name":"disappearingMessagesTimer_", "allowUnsafeAccess":true}, 
-    {"name":"inviteLinkPassword_", "allowUnsafeAccess":true}, 
-    {"name":"members_", "allowUnsafeAccess":true}, 
-    {"name":"pendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"requestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"revision_", "allowUnsafeAccess":true}, 
-    {"name":"title_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"accessControl_"}, 
+    {"name":"avatar_"}, 
+    {"name":"description_"}, 
+    {"name":"disappearingMessagesTimer_"}, 
+    {"name":"inviteLinkPassword_"}, 
+    {"name":"isAnnouncementGroup_"}, 
+    {"name":"members_"}, 
+    {"name":"pendingMembers_"}, 
+    {"name":"requestingMembers_"}, 
+    {"name":"revision_"}, 
+    {"name":"title_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedGroupChange",
   "fields":[
-    {"name":"deleteMembers_", "allowUnsafeAccess":true}, 
-    {"name":"deletePendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"deleteRequestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"editor_", "allowUnsafeAccess":true}, 
-    {"name":"modifiedProfileKeys_", "allowUnsafeAccess":true}, 
-    {"name":"modifyMemberRoles_", "allowUnsafeAccess":true}, 
-    {"name":"newAttributeAccess_", "allowUnsafeAccess":true}, 
-    {"name":"newAvatar_", "allowUnsafeAccess":true}, 
-    {"name":"newInviteLinkAccess_", "allowUnsafeAccess":true}, 
-    {"name":"newInviteLinkPassword_", "allowUnsafeAccess":true}, 
-    {"name":"newMemberAccess_", "allowUnsafeAccess":true}, 
-    {"name":"newMembers_", "allowUnsafeAccess":true}, 
-    {"name":"newPendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"newRequestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"newTimer_", "allowUnsafeAccess":true}, 
-    {"name":"newTitle_", "allowUnsafeAccess":true}, 
-    {"name":"promotePendingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"promoteRequestingMembers_", "allowUnsafeAccess":true}, 
-    {"name":"revision_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"deleteMembers_"}, 
+    {"name":"deletePendingMembers_"}, 
+    {"name":"deleteRequestingMembers_"}, 
+    {"name":"editor_"}, 
+    {"name":"modifiedProfileKeys_"}, 
+    {"name":"modifyMemberRoles_"}, 
+    {"name":"newAttributeAccess_"}, 
+    {"name":"newAvatar_"}, 
+    {"name":"newDescription_"}, 
+    {"name":"newInviteLinkAccess_"}, 
+    {"name":"newInviteLinkPassword_"}, 
+    {"name":"newIsAnnouncementGroup_"}, 
+    {"name":"newMemberAccess_"}, 
+    {"name":"newMembers_"}, 
+    {"name":"newPendingMembers_"}, 
+    {"name":"newRequestingMembers_"}, 
+    {"name":"newTimer_"}, 
+    {"name":"newTitle_"}, 
+    {"name":"promotePendingMembers_"}, 
+    {"name":"promoteRequestingMembers_"}, 
+    {"name":"revision_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedMember",
   "fields":[
-    {"name":"joinedAtRevision_", "allowUnsafeAccess":true}, 
-    {"name":"profileKey_", "allowUnsafeAccess":true}, 
-    {"name":"role_", "allowUnsafeAccess":true}, 
-    {"name":"uuid_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"joinedAtRevision_"}, 
+    {"name":"profileKey_"}, 
+    {"name":"role_"}, 
+    {"name":"uuid_"}
+  ]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.local.DecryptedModifyMemberRole",
+  "fields":[
+    {"name":"role_"}, 
+    {"name":"uuid_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedPendingMember",
   "fields":[
-    {"name":"addedByUuid_", "allowUnsafeAccess":true}, 
-    {"name":"role_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}, 
-    {"name":"uuidCipherText_", "allowUnsafeAccess":true}, 
-    {"name":"uuid_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"addedByUuid_"}, 
+    {"name":"role_"}, 
+    {"name":"timestamp_"}, 
+    {"name":"uuidCipherText_"}, 
+    {"name":"uuid_"}
+  ]}
+,
+{
+  "name":"org.signal.storageservice.protos.groups.local.DecryptedPendingMemberRemoval",
+  "fields":[
+    {"name":"uuidCipherText_"}, 
+    {"name":"uuid_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedRequestingMember",
   "fields":[
-    {"name":"profileKey_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}, 
-    {"name":"uuid_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"profileKey_"}, 
+    {"name":"timestamp_"}, 
+    {"name":"uuid_"}
+  ]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedString",
-  "fields":[{"name":"value_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"value_"}]}
+,
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedTimer",
-  "fields":[{"name":"duration_", "allowUnsafeAccess":true}]
-},
+  "fields":[{"name":"duration_"}]}
+,
 {
   "name":"org.whispersystems.libsignal.state.IdentityKeyStore",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.whispersystems.libsignal.state.PreKeyStore",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.whispersystems.libsignal.state.SessionStore",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.whispersystems.libsignal.state.SignalProtocolStore",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.whispersystems.libsignal.state.SignedPreKeyStore",
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.account.AccountAttributes",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.account.AccountAttributes$Capabilities",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.groupsv2.CredentialResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.groupsv2.TemporalCredential",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
-  "name":"org.whispersystems.signalservice.api.groupsv2.TemporalCredential[]"
-},
+  "name":"org.whispersystems.signalservice.api.groupsv2.TemporalCredential[]"}
+,
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.HangupMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.HangupMessage$Type",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.IceUpdateMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.OfferMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.OfferMessage$Type",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true
-},
+  "allDeclaredMethods":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.messages.multidevice.DeviceInfo",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfile",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
+{
+  "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfile$Badge",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfile$Capabilities",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfileWrite",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity$ByteArrayDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity$ByteArraySerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"org.whispersystems.signalservice.api.storage.StorageAuthResponse",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.crypto.SignatureBodyEntity",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.DiscoveryRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.DiscoveryResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.KeyBackupRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.KeyBackupResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.MultiRemoteAttestationResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.QueryEnvelope",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.RemoteAttestationRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.RemoteAttestationResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.TokenResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.devices.DeviceNameProtos$DeviceName",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"ciphertext_"}, 
+    {"name":"ephemeralPublic_"}, 
+    {"name":"syntheticIv_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.BackupRequest",
   "fields":[
-    {"name":"backupId_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"data_", "allowUnsafeAccess":true}, 
-    {"name":"pin_", "allowUnsafeAccess":true}, 
-    {"name":"serviceId_", "allowUnsafeAccess":true}, 
-    {"name":"token_", "allowUnsafeAccess":true}, 
-    {"name":"tries_", "allowUnsafeAccess":true}, 
-    {"name":"validFrom_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"backupId_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"data_"}, 
+    {"name":"pin_"}, 
+    {"name":"serviceId_"}, 
+    {"name":"token_"}, 
+    {"name":"tries_"}, 
+    {"name":"validFrom_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.BackupResponse",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"status_", "allowUnsafeAccess":true}, 
-    {"name":"token_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"status_"}, 
+    {"name":"token_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.DeleteRequest",
   "fields":[
-    {"name":"backupId_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"serviceId_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"backupId_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"serviceId_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.Request",
   "fields":[
-    {"name":"backup_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"delete_", "allowUnsafeAccess":true}, 
-    {"name":"restore_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"backup_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"delete_"}, 
+    {"name":"restore_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.Response",
   "fields":[
-    {"name":"backup_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"delete_", "allowUnsafeAccess":true}, 
-    {"name":"restore_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"backup_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"delete_"}, 
+    {"name":"restore_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.keybackup.protos.RestoreRequest",
+  "fields":[
+    {"name":"backupId_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"pin_"}, 
+    {"name":"serviceId_"}, 
+    {"name":"token_"}, 
+    {"name":"validFrom_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.keybackup.protos.RestoreResponse",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"data_"}, 
+    {"name":"status_"}, 
+    {"name":"token_"}, 
+    {"name":"tries_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.AttachmentV2UploadAttributes",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.AuthCredentials",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.ConfirmCodeMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.DeviceCode",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.DeviceId",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.DeviceInfoList",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.MismatchedDevices",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.OutgoingPushMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.OutgoingPushMessageList",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity$ECPublicKeyDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity$ECPublicKeySerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyResponseItem",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyState",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyStatus",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.ProfileAvatarUploadAttributes",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningProtos$ProvisionEnvelope",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"body_", "allowUnsafeAccess":true}, 
-    {"name":"publicKey_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"body_"}, 
+    {"name":"publicKey_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningProtos$ProvisionMessage",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"identityKeyPrivate_", "allowUnsafeAccess":true}, 
-    {"name":"identityKeyPublic_", "allowUnsafeAccess":true}, 
-    {"name":"number_", "allowUnsafeAccess":true}, 
-    {"name":"profileKey_", "allowUnsafeAccess":true}, 
-    {"name":"provisioningCode_", "allowUnsafeAccess":true}, 
-    {"name":"provisioningVersion_", "allowUnsafeAccess":true}, 
-    {"name":"readReceipts_", "allowUnsafeAccess":true}, 
-    {"name":"userAgent_", "allowUnsafeAccess":true}, 
-    {"name":"uuid_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"identityKeyPrivate_"}, 
+    {"name":"identityKeyPublic_"}, 
+    {"name":"number_"}, 
+    {"name":"profileKey_"}, 
+    {"name":"provisioningCode_"}, 
+    {"name":"provisioningVersion_"}, 
+    {"name":"readReceipts_"}, 
+    {"name":"userAgent_"}, 
+    {"name":"uuid_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningProtos$ProvisioningUuid",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"uuid_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"uuid_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.PushServiceSocket$RegistrationLockFailure",
+  "allDeclaredFields":true,
+  "allDeclaredMethods":true,
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.PushServiceSocket$RegistrationLockV2",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SendMessageResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SenderCertificate",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SenderCertificate$ByteArrayDesieralizer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$AttachmentPointer",
   "fields":[
-    {"name":"attachmentIdentifierCase_", "allowUnsafeAccess":true}, 
-    {"name":"attachmentIdentifier_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"blurHash_", "allowUnsafeAccess":true}, 
-    {"name":"caption_", "allowUnsafeAccess":true}, 
-    {"name":"cdnNumber_", "allowUnsafeAccess":true}, 
-    {"name":"contentType_", "allowUnsafeAccess":true}, 
-    {"name":"digest_", "allowUnsafeAccess":true}, 
-    {"name":"fileName_", "allowUnsafeAccess":true}, 
-    {"name":"flags_", "allowUnsafeAccess":true}, 
-    {"name":"height_", "allowUnsafeAccess":true}, 
-    {"name":"key_", "allowUnsafeAccess":true}, 
-    {"name":"size_", "allowUnsafeAccess":true}, 
-    {"name":"thumbnail_", "allowUnsafeAccess":true}, 
-    {"name":"uploadTimestamp_", "allowUnsafeAccess":true}, 
-    {"name":"width_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"attachmentIdentifierCase_"}, 
+    {"name":"attachmentIdentifier_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"blurHash_"}, 
+    {"name":"caption_"}, 
+    {"name":"cdnNumber_"}, 
+    {"name":"contentType_"}, 
+    {"name":"digest_"}, 
+    {"name":"fileName_"}, 
+    {"name":"flags_"}, 
+    {"name":"height_"}, 
+    {"name":"key_"}, 
+    {"name":"size_"}, 
+    {"name":"thumbnail_"}, 
+    {"name":"uploadTimestamp_"}, 
+    {"name":"width_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage",
   "fields":[
-    {"name":"answer_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"busy_", "allowUnsafeAccess":true}, 
-    {"name":"destinationDeviceId_", "allowUnsafeAccess":true}, 
-    {"name":"hangup_", "allowUnsafeAccess":true}, 
-    {"name":"iceUpdate_", "allowUnsafeAccess":true}, 
-    {"name":"legacyHangup_", "allowUnsafeAccess":true}, 
-    {"name":"multiRing_", "allowUnsafeAccess":true}, 
-    {"name":"offer_", "allowUnsafeAccess":true}, 
-    {"name":"opaque_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"answer_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"busy_"}, 
+    {"name":"destinationDeviceId_"}, 
+    {"name":"hangup_"}, 
+    {"name":"iceUpdate_"}, 
+    {"name":"legacyHangup_"}, 
+    {"name":"multiRing_"}, 
+    {"name":"offer_"}, 
+    {"name":"opaque_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$Hangup",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"deviceId_", "allowUnsafeAccess":true}, 
-    {"name":"id_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"deviceId_"}, 
+    {"name":"id_"}, 
+    {"name":"type_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$IceUpdate",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"id_", "allowUnsafeAccess":true}, 
-    {"name":"line_", "allowUnsafeAccess":true}, 
-    {"name":"mid_", "allowUnsafeAccess":true}, 
-    {"name":"opaque_", "allowUnsafeAccess":true}, 
-    {"name":"sdp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"id_"}, 
+    {"name":"line_"}, 
+    {"name":"mid_"}, 
+    {"name":"opaque_"}, 
+    {"name":"sdp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$Offer",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"id_", "allowUnsafeAccess":true}, 
-    {"name":"opaque_", "allowUnsafeAccess":true}, 
-    {"name":"sdp_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"id_"}, 
+    {"name":"opaque_"}, 
+    {"name":"sdp_"}, 
+    {"name":"type_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$Opaque",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"data_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"data_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ContactDetails",
   "fields":[
-    {"name":"archived_", "allowUnsafeAccess":true}, 
-    {"name":"avatar_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"blocked_", "allowUnsafeAccess":true}, 
-    {"name":"color_", "allowUnsafeAccess":true}, 
-    {"name":"expireTimer_", "allowUnsafeAccess":true}, 
-    {"name":"inboxPosition_", "allowUnsafeAccess":true}, 
-    {"name":"name_", "allowUnsafeAccess":true}, 
-    {"name":"number_", "allowUnsafeAccess":true}, 
-    {"name":"profileKey_", "allowUnsafeAccess":true}, 
-    {"name":"uuid_", "allowUnsafeAccess":true}, 
-    {"name":"verified_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"archived_"}, 
+    {"name":"avatar_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"blocked_"}, 
+    {"name":"color_"}, 
+    {"name":"expireTimer_"}, 
+    {"name":"inboxPosition_"}, 
+    {"name":"name_"}, 
+    {"name":"number_"}, 
+    {"name":"profileKey_"}, 
+    {"name":"uuid_"}, 
+    {"name":"verified_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ContactDetails$Avatar",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"contentType_", "allowUnsafeAccess":true}, 
-    {"name":"length_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"contentType_"}, 
+    {"name":"length_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Content",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"callMessage_", "allowUnsafeAccess":true}, 
-    {"name":"dataMessage_", "allowUnsafeAccess":true}, 
-    {"name":"nullMessage_", "allowUnsafeAccess":true}, 
-    {"name":"receiptMessage_", "allowUnsafeAccess":true}, 
-    {"name":"syncMessage_", "allowUnsafeAccess":true}, 
-    {"name":"typingMessage_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"callMessage_"}, 
+    {"name":"dataMessage_"}, 
+    {"name":"decryptionErrorMessage_"}, 
+    {"name":"nullMessage_"}, 
+    {"name":"receiptMessage_"}, 
+    {"name":"senderKeyDistributionMessage_"}, 
+    {"name":"syncMessage_"}, 
+    {"name":"typingMessage_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage",
   "fields":[
-    {"name":"attachments_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"bodyRanges_", "allowUnsafeAccess":true}, 
-    {"name":"body_", "allowUnsafeAccess":true}, 
-    {"name":"contact_", "allowUnsafeAccess":true}, 
-    {"name":"delete_", "allowUnsafeAccess":true}, 
-    {"name":"expireTimer_", "allowUnsafeAccess":true}, 
-    {"name":"flags_", "allowUnsafeAccess":true}, 
-    {"name":"groupCallUpdate_", "allowUnsafeAccess":true}, 
-    {"name":"groupV2_", "allowUnsafeAccess":true}, 
-    {"name":"group_", "allowUnsafeAccess":true}, 
-    {"name":"isViewOnce_", "allowUnsafeAccess":true}, 
-    {"name":"preview_", "allowUnsafeAccess":true}, 
-    {"name":"profileKey_", "allowUnsafeAccess":true}, 
-    {"name":"quote_", "allowUnsafeAccess":true}, 
-    {"name":"reaction_", "allowUnsafeAccess":true}, 
-    {"name":"requiredProtocolVersion_", "allowUnsafeAccess":true}, 
-    {"name":"sticker_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"attachments_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"bodyRanges_"}, 
+    {"name":"body_"}, 
+    {"name":"contact_"}, 
+    {"name":"delete_"}, 
+    {"name":"expireTimer_"}, 
+    {"name":"flags_"}, 
+    {"name":"groupCallUpdate_"}, 
+    {"name":"groupV2_"}, 
+    {"name":"group_"}, 
+    {"name":"isViewOnce_"}, 
+    {"name":"payment_"}, 
+    {"name":"preview_"}, 
+    {"name":"profileKey_"}, 
+    {"name":"quote_"}, 
+    {"name":"reaction_"}, 
+    {"name":"requiredProtocolVersion_"}, 
+    {"name":"sticker_"}, 
+    {"name":"timestamp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$BodyRange",
   "fields":[
-    {"name":"associatedValueCase_", "allowUnsafeAccess":true}, 
-    {"name":"associatedValue_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"length_", "allowUnsafeAccess":true}, 
-    {"name":"start_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"associatedValueCase_"}, 
+    {"name":"associatedValue_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"length_"}, 
+    {"name":"start_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact",
   "fields":[
-    {"name":"address_", "allowUnsafeAccess":true}, 
-    {"name":"avatar_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"email_", "allowUnsafeAccess":true}, 
-    {"name":"name_", "allowUnsafeAccess":true}, 
-    {"name":"number_", "allowUnsafeAccess":true}, 
-    {"name":"organization_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"address_"}, 
+    {"name":"avatar_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"email_"}, 
+    {"name":"name_"}, 
+    {"name":"number_"}, 
+    {"name":"organization_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Avatar",
   "fields":[
-    {"name":"avatar_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"isProfile_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"avatar_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"isProfile_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Email",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"label_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}, 
-    {"name":"value_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"label_"}, 
+    {"name":"type_"}, 
+    {"name":"value_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Name",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"displayName_", "allowUnsafeAccess":true}, 
-    {"name":"familyName_", "allowUnsafeAccess":true}, 
-    {"name":"givenName_", "allowUnsafeAccess":true}, 
-    {"name":"middleName_", "allowUnsafeAccess":true}, 
-    {"name":"prefix_", "allowUnsafeAccess":true}, 
-    {"name":"suffix_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"displayName_"}, 
+    {"name":"familyName_"}, 
+    {"name":"givenName_"}, 
+    {"name":"middleName_"}, 
+    {"name":"prefix_"}, 
+    {"name":"suffix_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Phone",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"label_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}, 
-    {"name":"value_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"label_"}, 
+    {"name":"type_"}, 
+    {"name":"value_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$PostalAddress",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"city_", "allowUnsafeAccess":true}, 
-    {"name":"country_", "allowUnsafeAccess":true}, 
-    {"name":"label_", "allowUnsafeAccess":true}, 
-    {"name":"neighborhood_", "allowUnsafeAccess":true}, 
-    {"name":"pobox_", "allowUnsafeAccess":true}, 
-    {"name":"postcode_", "allowUnsafeAccess":true}, 
-    {"name":"region_", "allowUnsafeAccess":true}, 
-    {"name":"street_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"city_"}, 
+    {"name":"country_"}, 
+    {"name":"label_"}, 
+    {"name":"neighborhood_"}, 
+    {"name":"pobox_"}, 
+    {"name":"postcode_"}, 
+    {"name":"region_"}, 
+    {"name":"street_"}, 
+    {"name":"type_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Delete",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"targetSentTimestamp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"targetSentTimestamp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$GroupCallUpdate",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"eraId_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"eraId_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Preview",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"date_", "allowUnsafeAccess":true}, 
-    {"name":"description_", "allowUnsafeAccess":true}, 
-    {"name":"image_", "allowUnsafeAccess":true}, 
-    {"name":"title_", "allowUnsafeAccess":true}, 
-    {"name":"url_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"date_"}, 
+    {"name":"description_"}, 
+    {"name":"image_"}, 
+    {"name":"title_"}, 
+    {"name":"url_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Quote",
   "fields":[
-    {"name":"attachments_", "allowUnsafeAccess":true}, 
-    {"name":"authorE164_", "allowUnsafeAccess":true}, 
-    {"name":"authorUuid_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"bodyRanges_", "allowUnsafeAccess":true}, 
-    {"name":"id_", "allowUnsafeAccess":true}, 
-    {"name":"text_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"attachments_"}, 
+    {"name":"authorE164_"}, 
+    {"name":"authorUuid_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"bodyRanges_"}, 
+    {"name":"id_"}, 
+    {"name":"text_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Quote$QuotedAttachment",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"contentType_"}, 
+    {"name":"fileName_"}, 
+    {"name":"thumbnail_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Reaction",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"emoji_", "allowUnsafeAccess":true}, 
-    {"name":"remove_", "allowUnsafeAccess":true}, 
-    {"name":"targetAuthorUuid_", "allowUnsafeAccess":true}, 
-    {"name":"targetSentTimestamp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"emoji_"}, 
+    {"name":"remove_"}, 
+    {"name":"targetAuthorUuid_"}, 
+    {"name":"targetSentTimestamp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Sticker",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"data_", "allowUnsafeAccess":true}, 
-    {"name":"emoji_", "allowUnsafeAccess":true}, 
-    {"name":"packId_", "allowUnsafeAccess":true}, 
-    {"name":"packKey_", "allowUnsafeAccess":true}, 
-    {"name":"stickerId_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"data_"}, 
+    {"name":"emoji_"}, 
+    {"name":"packId_"}, 
+    {"name":"packKey_"}, 
+    {"name":"stickerId_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Envelope",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"content_", "allowUnsafeAccess":true}, 
-    {"name":"legacyMessage_", "allowUnsafeAccess":true}, 
-    {"name":"relay_", "allowUnsafeAccess":true}, 
-    {"name":"serverGuid_", "allowUnsafeAccess":true}, 
-    {"name":"serverTimestamp_", "allowUnsafeAccess":true}, 
-    {"name":"sourceDevice_", "allowUnsafeAccess":true}, 
-    {"name":"sourceE164_", "allowUnsafeAccess":true}, 
-    {"name":"sourceUuid_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"content_"}, 
+    {"name":"legacyMessage_"}, 
+    {"name":"relay_"}, 
+    {"name":"serverGuid_"}, 
+    {"name":"serverTimestamp_"}, 
+    {"name":"sourceDevice_"}, 
+    {"name":"sourceE164_"}, 
+    {"name":"sourceUuid_"}, 
+    {"name":"timestamp_"}, 
+    {"name":"type_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupContext",
+  "fields":[
+    {"name":"avatar_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"id_"}, 
+    {"name":"membersE164_"}, 
+    {"name":"members_"}, 
+    {"name":"name_"}, 
+    {"name":"type_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupContext$Member",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"e164_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupContextV2",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"groupChange_", "allowUnsafeAccess":true}, 
-    {"name":"masterKey_", "allowUnsafeAccess":true}, 
-    {"name":"revision_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"groupChange_"}, 
+    {"name":"masterKey_"}, 
+    {"name":"revision_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupDetails",
+  "fields":[
+    {"name":"active_"}, 
+    {"name":"archived_"}, 
+    {"name":"avatar_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"blocked_"}, 
+    {"name":"color_"}, 
+    {"name":"expireTimer_"}, 
+    {"name":"id_"}, 
+    {"name":"inboxPosition_"}, 
+    {"name":"membersE164_"}, 
+    {"name":"members_"}, 
+    {"name":"name_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupDetails$Avatar",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"contentType_"}, 
+    {"name":"length_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupDetails$Member",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"e164_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$NullMessage",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"padding_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"padding_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ReceiptMessage",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"timestamp_"}, 
+    {"name":"type_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"blocked_", "allowUnsafeAccess":true}, 
-    {"name":"configuration_", "allowUnsafeAccess":true}, 
-    {"name":"contacts_", "allowUnsafeAccess":true}, 
-    {"name":"fetchLatest_", "allowUnsafeAccess":true}, 
-    {"name":"groups_", "allowUnsafeAccess":true}, 
-    {"name":"keys_", "allowUnsafeAccess":true}, 
-    {"name":"messageRequestResponse_", "allowUnsafeAccess":true}, 
-    {"name":"padding_", "allowUnsafeAccess":true}, 
-    {"name":"read_", "allowUnsafeAccess":true}, 
-    {"name":"request_", "allowUnsafeAccess":true}, 
-    {"name":"sent_", "allowUnsafeAccess":true}, 
-    {"name":"stickerPackOperation_", "allowUnsafeAccess":true}, 
-    {"name":"verified_", "allowUnsafeAccess":true}, 
-    {"name":"viewOnceOpen_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"blocked_"}, 
+    {"name":"configuration_"}, 
+    {"name":"contacts_"}, 
+    {"name":"fetchLatest_"}, 
+    {"name":"groups_"}, 
+    {"name":"keys_"}, 
+    {"name":"messageRequestResponse_"}, 
+    {"name":"outgoingPayment_"}, 
+    {"name":"padding_"}, 
+    {"name":"read_"}, 
+    {"name":"request_"}, 
+    {"name":"sent_"}, 
+    {"name":"stickerPackOperation_"}, 
+    {"name":"verified_"}, 
+    {"name":"viewOnceOpen_"}, 
+    {"name":"viewed_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Blocked",
+  "fields":[
+    {"name":"groupIds_"}, 
+    {"name":"numbers_"}, 
+    {"name":"uuids_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Configuration",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"linkPreviews_"}, 
+    {"name":"provisioningVersion_"}, 
+    {"name":"readReceipts_"}, 
+    {"name":"typingIndicators_"}, 
+    {"name":"unidentifiedDeliveryIndicators_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Contacts",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"blob_", "allowUnsafeAccess":true}, 
-    {"name":"complete_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"blob_"}, 
+    {"name":"complete_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$FetchLatest",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"type_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Groups",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"blob_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Keys",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"storageService_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"storageService_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$MessageRequestResponse",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"groupId_"}, 
+    {"name":"threadE164_"}, 
+    {"name":"threadUuid_"}, 
+    {"name":"type_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Read",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"senderE164_", "allowUnsafeAccess":true}, 
-    {"name":"senderUuid_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"senderE164_"}, 
+    {"name":"senderUuid_"}, 
+    {"name":"timestamp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Request",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"type_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"destinationE164_", "allowUnsafeAccess":true}, 
-    {"name":"destinationUuid_", "allowUnsafeAccess":true}, 
-    {"name":"expirationStartTimestamp_", "allowUnsafeAccess":true}, 
-    {"name":"isRecipientUpdate_", "allowUnsafeAccess":true}, 
-    {"name":"message_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}, 
-    {"name":"unidentifiedStatus_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"destinationE164_"}, 
+    {"name":"destinationUuid_"}, 
+    {"name":"expirationStartTimestamp_"}, 
+    {"name":"isRecipientUpdate_"}, 
+    {"name":"message_"}, 
+    {"name":"timestamp_"}, 
+    {"name":"unidentifiedStatus_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent$UnidentifiedDeliveryStatus",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"destinationE164_", "allowUnsafeAccess":true}, 
-    {"name":"destinationUuid_", "allowUnsafeAccess":true}, 
-    {"name":"unidentified_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"destinationE164_"}, 
+    {"name":"destinationUuid_"}, 
+    {"name":"unidentified_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$StickerPackOperation",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"packId_", "allowUnsafeAccess":true}, 
-    {"name":"packKey_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"packId_"}, 
+    {"name":"packKey_"}, 
+    {"name":"type_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Viewed",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"senderE164_"}, 
+    {"name":"senderUuid_"}, 
+    {"name":"timestamp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$TypingMessage",
   "fields":[
-    {"name":"action_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"groupId_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"action_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"groupId_"}, 
+    {"name":"timestamp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Verified",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"destinationE164_", "allowUnsafeAccess":true}, 
-    {"name":"destinationUuid_", "allowUnsafeAccess":true}, 
-    {"name":"identityKey_", "allowUnsafeAccess":true}, 
-    {"name":"nullMessage_", "allowUnsafeAccess":true}, 
-    {"name":"state_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"destinationE164_"}, 
+    {"name":"destinationUuid_"}, 
+    {"name":"identityKey_"}, 
+    {"name":"nullMessage_"}, 
+    {"name":"state_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.push.StaleDevices",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.push.VerifyAccountResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
-},
+  "allDeclaredConstructors":true}
+,
 {
   "name":"org.whispersystems.signalservice.internal.serialize.protos.AddressProto",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"e164_", "allowUnsafeAccess":true}, 
-    {"name":"relay_", "allowUnsafeAccess":true}, 
-    {"name":"uuid_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"e164_"}, 
+    {"name":"uuid_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.serialize.protos.MetadataProto",
   "fields":[
-    {"name":"address_", "allowUnsafeAccess":true}, 
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"needsReceipt_", "allowUnsafeAccess":true}, 
-    {"name":"senderDevice_", "allowUnsafeAccess":true}, 
-    {"name":"serverDeliveredTimestamp_", "allowUnsafeAccess":true}, 
-    {"name":"serverReceivedTimestamp_", "allowUnsafeAccess":true}, 
-    {"name":"timestamp_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"address_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"groupId_"}, 
+    {"name":"needsReceipt_"}, 
+    {"name":"senderDevice_"}, 
+    {"name":"serverDeliveredTimestamp_"}, 
+    {"name":"serverGuid_"}, 
+    {"name":"serverReceivedTimestamp_"}, 
+    {"name":"timestamp_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.serialize.protos.SignalServiceContentProto",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"dataCase_", "allowUnsafeAccess":true}, 
-    {"name":"data_", "allowUnsafeAccess":true}, 
-    {"name":"localAddress_", "allowUnsafeAccess":true}, 
-    {"name":"metadata_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"dataCase_"}, 
+    {"name":"data_"}, 
+    {"name":"localAddress_"}, 
+    {"name":"metadata_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.sticker.StickerProtos$Pack",
+  "fields":[
+    {"name":"author_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"cover_"}, 
+    {"name":"stickers_"}, 
+    {"name":"title_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.sticker.StickerProtos$Pack$Sticker",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"contentType_"}, 
+    {"name":"emoji_"}, 
+    {"name":"id_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.AccountRecord",
+  "allDeclaredFields":true}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.AccountRecord$PinnedConversation",
+  "fields":[
+    {"name":"identifierCase_"}, 
+    {"name":"identifier_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.AccountRecord$PinnedConversation$Contact",
+  "fields":[
+    {"name":"e164_"}, 
+    {"name":"uuid_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.ContactRecord",
+  "allDeclaredFields":true}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.GroupV1Record",
+  "allDeclaredFields":true}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.GroupV2Record",
+  "allDeclaredFields":true}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.ManifestRecord",
+  "fields":[
+    {"name":"identifiers_"}, 
+    {"name":"version_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.ManifestRecord$Identifier",
+  "fields":[
+    {"name":"raw_"}, 
+    {"name":"type_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.Payments",
+  "allDeclaredFields":true}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.ReadOperation",
+  "fields":[{"name":"readKey_"}]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.StorageItem",
+  "fields":[
+    {"name":"key_"}, 
+    {"name":"value_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.StorageItems",
+  "fields":[{"name":"items_"}]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.StorageManifest",
+  "fields":[
+    {"name":"value_"}, 
+    {"name":"version_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.StorageRecord",
+  "fields":[
+    {"name":"recordCase_"}, 
+    {"name":"record_"}
+  ]}
+,
+{
+  "name":"org.whispersystems.signalservice.internal.util.JsonUtil$AciDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.util.JsonUtil$IdentityKeyDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.util.JsonUtil$IdentityKeySerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.util.JsonUtil$UuidDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.websocket.WebSocketProtos$WebSocketMessage",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"request_", "allowUnsafeAccess":true}, 
-    {"name":"response_", "allowUnsafeAccess":true}, 
-    {"name":"type_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"request_"}, 
+    {"name":"response_"}, 
+    {"name":"type_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.websocket.WebSocketProtos$WebSocketRequestMessage",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"body_", "allowUnsafeAccess":true}, 
-    {"name":"headers_", "allowUnsafeAccess":true}, 
-    {"name":"id_", "allowUnsafeAccess":true}, 
-    {"name":"path_", "allowUnsafeAccess":true}, 
-    {"name":"verb_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"body_"}, 
+    {"name":"headers_"}, 
+    {"name":"id_"}, 
+    {"name":"path_"}, 
+    {"name":"verb_"}
+  ]}
+,
 {
   "name":"org.whispersystems.signalservice.internal.websocket.WebSocketProtos$WebSocketResponseMessage",
   "fields":[
-    {"name":"bitField0_", "allowUnsafeAccess":true}, 
-    {"name":"body_", "allowUnsafeAccess":true}, 
-    {"name":"headers_", "allowUnsafeAccess":true}, 
-    {"name":"id_", "allowUnsafeAccess":true}, 
-    {"name":"message_", "allowUnsafeAccess":true}, 
-    {"name":"status_", "allowUnsafeAccess":true}
-  ]
-},
+    {"name":"bitField0_"}, 
+    {"name":"body_"}, 
+    {"name":"headers_"}, 
+    {"name":"id_"}, 
+    {"name":"message_"}, 
+    {"name":"status_"}
+  ]}
+,
 {
   "name":"sun.misc.Unsafe",
   "allDeclaredFields":true,
     {"name":"putLong","parameterTypes":["java.lang.Object","long","long"] }, 
     {"name":"putObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] }, 
     {"name":"putShort","parameterTypes":["long","short"] }
-  ]
-},
+  ]}
+,
 {
   "name":"sun.security.provider.DSA$SHA224withDSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.JavaKeyStore$DualFormatJKS",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.JavaKeyStore$JKS",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.NativePRNG",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"sun.security.provider.NativePRNG$NonBlocking",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.SHA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.SHA2$SHA224",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.SHA2$SHA256",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.SHA5$SHA384",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.SHA5$SHA512",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.SecureRandom",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.provider.certpath.PKIXCertPathValidator",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
+{
+  "name":"sun.security.rsa.PSSParameters",
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.rsa.RSAKeyFactory$Legacy",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.rsa.RSAPSSSignature",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.rsa.RSASignature$SHA224withRSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.rsa.RSASignature$SHA256withRSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.rsa.RSASignature$SHA512withRSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.ssl.SSLContextImpl$TLSContext",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":[] }]}
+,
 {
   "name":"sun.security.x509.AuthorityKeyIdentifierExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
+,
 {
   "name":"sun.security.x509.BasicConstraintsExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
+,
 {
   "name":"sun.security.x509.CRLDistributionPointsExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
+,
 {
   "name":"sun.security.x509.KeyUsageExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
+,
 {
   "name":"sun.security.x509.SubjectAlternativeNameExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
-},
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
+,
 {
   "name":"sun.security.x509.SubjectKeyIdentifierExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
-}
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
+
 ]