public final class com.google.crypto.tink.JsonKeysetReader implements com.google.crypto.tink.KeysetReader
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.crypto.tink.JsonKeysetReader
  super_class: java.lang.Object
{
  private static final java.nio.charset.Charset UTF_8;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.io.InputStream inputStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.json.JSONObject json;
    descriptor: Lorg/json/JSONObject;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean closeStreamAfterReading;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean urlSafeBase64;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            ldc "UTF-8"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putstatic com.google.crypto.tink.JsonKeysetReader.UTF_8:Ljava/nio/charset/Charset;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.io.InputStream, boolean);
    descriptor: (Ljava/io/InputStream;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
        start local 1 // java.io.InputStream inputStream
        start local 2 // boolean closeStreamAfterReading
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            iconst_0
            putfield com.google.crypto.tink.JsonKeysetReader.urlSafeBase64:Z
         2: .line 55
            aload 0 /* this */
            aload 1 /* inputStream */
            putfield com.google.crypto.tink.JsonKeysetReader.inputStream:Ljava/io/InputStream;
         3: .line 56
            aload 0 /* this */
            iload 2 /* closeStreamAfterReading */
            putfield com.google.crypto.tink.JsonKeysetReader.closeStreamAfterReading:Z
         4: .line 57
            aload 0 /* this */
            aconst_null
            putfield com.google.crypto.tink.JsonKeysetReader.json:Lorg/json/JSONObject;
         5: .line 58
            return
        end local 2 // boolean closeStreamAfterReading
        end local 1 // java.io.InputStream inputStream
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    6     0                     this  Lcom/google/crypto/tink/JsonKeysetReader;
            0    6     1              inputStream  Ljava/io/InputStream;
            0    6     2  closeStreamAfterReading  Z
    MethodParameters:
                         Name  Flags
      inputStream              
      closeStreamAfterReading  

  private void <init>(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
        start local 1 // org.json.JSONObject json
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            iconst_0
            putfield com.google.crypto.tink.JsonKeysetReader.urlSafeBase64:Z
         2: .line 61
            aload 0 /* this */
            aload 1 /* json */
            putfield com.google.crypto.tink.JsonKeysetReader.json:Lorg/json/JSONObject;
         3: .line 62
            aload 0 /* this */
            aconst_null
            putfield com.google.crypto.tink.JsonKeysetReader.inputStream:Ljava/io/InputStream;
         4: .line 63
            aload 0 /* this */
            iconst_0
            putfield com.google.crypto.tink.JsonKeysetReader.closeStreamAfterReading:Z
         5: .line 64
            return
        end local 1 // org.json.JSONObject json
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/google/crypto/tink/JsonKeysetReader;
            0    6     1  json  Lorg/json/JSONObject;
    MethodParameters:
      Name  Flags
      json  

  public static com.google.crypto.tink.KeysetReader withInputStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lcom/google/crypto/tink/KeysetReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.InputStream input
         0: .line 73
            new com.google.crypto.tink.JsonKeysetReader
            dup
            aload 0 /* input */
            iconst_0
            invokespecial com.google.crypto.tink.JsonKeysetReader.<init>:(Ljava/io/InputStream;Z)V
            areturn
        end local 0 // java.io.InputStream input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  input  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static com.google.crypto.tink.JsonKeysetReader withJsonObject(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)Lcom/google/crypto/tink/JsonKeysetReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.json.JSONObject input
         0: .line 78
            new com.google.crypto.tink.JsonKeysetReader
            dup
            aload 0 /* input */
            invokespecial com.google.crypto.tink.JsonKeysetReader.<init>:(Lorg/json/JSONObject;)V
            areturn
        end local 0 // org.json.JSONObject input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  input  Lorg/json/JSONObject;
    MethodParameters:
       Name  Flags
      input  

  public static com.google.crypto.tink.JsonKeysetReader withString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/crypto/tink/JsonKeysetReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.String input
         0: .line 83
            new com.google.crypto.tink.JsonKeysetReader
            dup
         1: .line 84
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* input */
            getstatic com.google.crypto.tink.JsonKeysetReader.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            iconst_1
         2: .line 83
            invokespecial com.google.crypto.tink.JsonKeysetReader.<init>:(Ljava/io/InputStream;Z)V
            areturn
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  input  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      input  

  public static com.google.crypto.tink.JsonKeysetReader withBytes(byte[]);
    descriptor: ([B)Lcom/google/crypto/tink/JsonKeysetReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 89
            new com.google.crypto.tink.JsonKeysetReader
            dup
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            iconst_1
            invokespecial com.google.crypto.tink.JsonKeysetReader.<init>:(Ljava/io/InputStream;Z)V
            areturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  final

  public static com.google.crypto.tink.JsonKeysetReader withFile(java.io.File);
    descriptor: (Ljava/io/File;)Lcom/google/crypto/tink/JsonKeysetReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 99
            new com.google.crypto.tink.JsonKeysetReader
            dup
            new java.io.FileInputStream
            dup
            aload 0 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            iconst_1
            invokespecial com.google.crypto.tink.JsonKeysetReader.<init>:(Ljava/io/InputStream;Z)V
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static com.google.crypto.tink.JsonKeysetReader withPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/crypto/tink/JsonKeysetReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 111
            new java.io.File
            dup
            aload 0 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic com.google.crypto.tink.JsonKeysetReader.withFile:(Ljava/io/File;)Lcom/google/crypto/tink/JsonKeysetReader;
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  public static com.google.crypto.tink.JsonKeysetReader withPath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Lcom/google/crypto/tink/JsonKeysetReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 123
            aload 0 /* path */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokestatic com.google.crypto.tink.JsonKeysetReader.withFile:(Ljava/io/File;)Lcom/google/crypto/tink/JsonKeysetReader;
            areturn
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  public com.google.crypto.tink.JsonKeysetReader withUrlSafeBase64();
    descriptor: ()Lcom/google/crypto/tink/JsonKeysetReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
         0: .line 127
            aload 0 /* this */
            iconst_1
            putfield com.google.crypto.tink.JsonKeysetReader.urlSafeBase64:Z
         1: .line 128
            aload 0 /* this */
            areturn
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/crypto/tink/JsonKeysetReader;

  public Keyset read();
    descriptor: ()LKeyset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
         0: .line 132
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeyset cannot be resolved to a type\n\tThe method keysetFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type Keyset\n\tThe method keysetFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type Keyset\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/crypto/tink/JsonKeysetReader;
    Exceptions:
      throws java.io.IOException

  public EncryptedKeyset readEncrypted();
    descriptor: ()LEncryptedKeyset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
         0: .line 150
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tEncryptedKeyset cannot be resolved to a type\n\tThe method encryptedKeysetFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type EncryptedKeyset\n\tThe method encryptedKeysetFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type EncryptedKeyset\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/crypto/tink/JsonKeysetReader;
    Exceptions:
      throws java.io.IOException

  private Keyset keysetFromJson(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)LKeyset;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
         0: .line 167
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeyset cannot be resolved to a type\n\tKeyset cannot be resolved to a type\n\tKeyset cannot be resolved\n\tThe method keyFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type Key\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/crypto/tink/JsonKeysetReader;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private EncryptedKeyset encryptedKeysetFromJson(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)LEncryptedKeyset;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
         0: .line 180
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tEncryptedKeyset cannot be resolved to a type\n\tEncryptedKeyset cannot be resolved\n\tThe method keysetInfoFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type KeysetInfo\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/crypto/tink/JsonKeysetReader;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private Keyset.Key keyFromJson(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)LKeyset/Key;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
         0: .line 194
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeyset cannot be resolved to a type\n\tKeyset cannot be resolved\n\tThe method getStatus(String) from the type JsonKeysetReader refers to the missing type KeyStatusType\n\tThe method getOutputPrefixType(String) from the type JsonKeysetReader refers to the missing type OutputPrefixType\n\tThe method keyDataFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type KeyData\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/crypto/tink/JsonKeysetReader;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private static KeysetInfo keysetInfoFromJson(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)LKeysetInfo;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 204
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeysetInfo cannot be resolved to a type\n\tKeysetInfo cannot be resolved to a type\n\tKeysetInfo cannot be resolved\n\tThe method keyInfoFromJson(JSONObject) from the type JsonKeysetReader refers to the missing type KeyInfo\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private static KeysetInfo.KeyInfo keyInfoFromJson(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)LKeysetInfo/KeyInfo;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 218
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeysetInfo cannot be resolved to a type\n\tKeysetInfo cannot be resolved\n\tThe method getStatus(String) from the type JsonKeysetReader refers to the missing type KeyStatusType\n\tThe method getOutputPrefixType(String) from the type JsonKeysetReader refers to the missing type OutputPrefixType\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private KeyData keyDataFromJson(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)LKeyData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.crypto.tink.JsonKeysetReader this
         0: .line 227
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeyData cannot be resolved to a type\n\tKeyData cannot be resolved\n\tThe method getKeyMaterialType(String) from the type JsonKeysetReader refers to the missing type KeyMaterialType\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.google.crypto.tink.JsonKeysetReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/crypto/tink/JsonKeysetReader;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private static KeyStatusType getStatus(java.lang.String);
    descriptor: (Ljava/lang/String;)LKeyStatusType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 242
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeyStatusType cannot be resolved to a type\n\tKeyStatusType cannot be resolved to a variable\n\tKeyStatusType cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
        Name  Flags
      status  

  private static OutputPrefixType getOutputPrefixType(java.lang.String);
    descriptor: (Ljava/lang/String;)LOutputPrefixType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 251
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tOutputPrefixType cannot be resolved to a type\n\tOutputPrefixType cannot be resolved to a variable\n\tOutputPrefixType cannot be resolved to a variable\n\tOutputPrefixType cannot be resolved to a variable\n\tOutputPrefixType cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      type  

  private static KeyMaterialType getKeyMaterialType(java.lang.String);
    descriptor: (Ljava/lang/String;)LKeyMaterialType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 264
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tKeyMaterialType cannot be resolved to a type\n\tKeyMaterialType cannot be resolved to a variable\n\tKeyMaterialType cannot be resolved to a variable\n\tKeyMaterialType cannot be resolved to a variable\n\tKeyMaterialType cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      type  

  private static void validateKeyset(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.json.JSONObject json
         0: .line 278
            aload 0 /* json */
            ldc "key"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifeq 1
            aload 0 /* json */
            ldc "key"
            invokevirtual org.json.JSONObject.getJSONArray:(Ljava/lang/String;)Lorg/json/JSONArray;
            invokevirtual org.json.JSONArray.length:()I
            ifne 2
         1: .line 279
      StackMap locals:
      StackMap stack:
            new org.json.JSONException
            dup
            ldc "invalid keyset"
            invokespecial org.json.JSONException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.json.JSONObject json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  json  Lorg/json/JSONObject;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private static void validateEncryptedKeyset(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.json.JSONObject json
         0: .line 284
            aload 0 /* json */
            ldc "encryptedKeyset"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifne 2
         1: .line 285
            new org.json.JSONException
            dup
            ldc "invalid encrypted keyset"
            invokespecial org.json.JSONException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 287
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.json.JSONObject json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  json  Lorg/json/JSONObject;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private static void validateKey(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.json.JSONObject json
         0: .line 290
            aload 0 /* json */
            ldc "keyData"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 291
            aload 0 /* json */
            ldc "status"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 292
            aload 0 /* json */
            ldc "keyId"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 293
            aload 0 /* json */
            ldc "outputPrefixType"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifne 5
         4: .line 294
      StackMap locals:
      StackMap stack:
            new org.json.JSONException
            dup
            ldc "invalid key"
            invokespecial org.json.JSONException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.json.JSONObject json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  json  Lorg/json/JSONObject;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  private static void validateKeyData(org.json.JSONObject);
    descriptor: (Lorg/json/JSONObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.json.JSONObject json
         0: .line 299
            aload 0 /* json */
            ldc "typeUrl"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifeq 1
            aload 0 /* json */
            ldc "value"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifeq 1
            aload 0 /* json */
            ldc "keyMaterialType"
            invokevirtual org.json.JSONObject.has:(Ljava/lang/String;)Z
            ifne 2
         1: .line 300
      StackMap locals:
      StackMap stack:
            new org.json.JSONException
            dup
            ldc "invalid keyData"
            invokespecial org.json.JSONException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.json.JSONObject json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  json  Lorg/json/JSONObject;
    Exceptions:
      throws org.json.JSONException
    MethodParameters:
      Name  Flags
      json  

  public Keyset read();
    descriptor: ()LKeyset;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.crypto.tink.JsonKeysetReader.read:()LKeyset;
            checkcast Keyset
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public EncryptedKeyset readEncrypted();
    descriptor: ()LEncryptedKeyset;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.crypto.tink.JsonKeysetReader.readEncrypted:()LEncryptedKeyset;
            checkcast EncryptedKeyset
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
SourceFile: "JsonKeysetReader.java"