public abstract class android.security.keystore.AttestationUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.security.keystore.AttestationUtils
  super_class: java.lang.Object
{
  public static final int ID_TYPE_SERIAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int ID_TYPE_IMEI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int ID_TYPE_MEID;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.keystore.AttestationUtils this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            return
        end local 0 // android.security.keystore.AttestationUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/security/keystore/AttestationUtils;

  public static java.security.cert.X509Certificate[] parseCertificateChain(android.security.keymaster.KeymasterCertificateChain);
    descriptor: (Landroid/security/keymaster/KeymasterCertificateChain;)[Ljava/security/cert/X509Certificate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // android.security.keymaster.KeymasterCertificateChain kmChain
         0: .line 84
            aload 0 /* kmChain */
            invokevirtual android.security.keymaster.KeymasterCertificateChain.getCertificates:()Ljava/util/List;
            astore 1 /* rawChain */
        start local 1 // java.util.Collection rawChain
         1: .line 85
            aload 1 /* rawChain */
            invokeinterface java.util.Collection.size:()I
            iconst_2
            if_icmpge 5
         2: .line 86
            new android.security.keystore.KeyAttestationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attestation certificate chain contained "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 87
            aload 1 /* rawChain */
            invokeinterface java.util.Collection.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " entries. At least two are required."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 86
            invokespecial android.security.keystore.KeyAttestationException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 89
      StackMap locals: java.util.Collection
      StackMap stack:
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* concatenatedRawChain */
        start local 2 // java.io.ByteArrayOutputStream concatenatedRawChain
         6: .line 91
            aload 1 /* rawChain */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: android.security.keymaster.KeymasterCertificateChain java.util.Collection java.io.ByteArrayOutputStream top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 3 /* cert */
        start local 3 // byte[] cert
         8: .line 92
            aload 2 /* concatenatedRawChain */
            aload 3 /* cert */
            invokevirtual java.io.ByteArrayOutputStream.write:([B)V
        end local 3 // byte[] cert
         9: .line 91
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 94
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
        11: .line 95
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* concatenatedRawChain */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        12: .line 94
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
        13: .line 96
            iconst_0
            anewarray java.security.cert.X509Certificate
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate[]
        14: .line 94
            areturn
        15: .line 97
      StackMap locals: android.security.keymaster.KeymasterCertificateChain java.util.Collection java.io.ByteArrayOutputStream
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        16: .line 98
            new android.security.keystore.KeyAttestationException
            dup
            ldc "Unable to construct certificate chain"
            aload 3 /* e */
            invokespecial android.security.keystore.KeyAttestationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // java.io.ByteArrayOutputStream concatenatedRawChain
        end local 1 // java.util.Collection rawChain
        end local 0 // android.security.keymaster.KeymasterCertificateChain kmChain
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   17     0               kmChain  Landroid/security/keymaster/KeymasterCertificateChain;
            1   17     1              rawChain  Ljava/util/Collection<[B>;
            6   17     2  concatenatedRawChain  Ljava/io/ByteArrayOutputStream;
            8    9     3                  cert  [B
           16   17     3                     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6    14      15  Class java.lang.Exception
    Exceptions:
      throws android.security.keystore.KeyAttestationException
    MethodParameters:
         Name  Flags
      kmChain  final

  private static android.security.keymaster.KeymasterArguments prepareAttestationArgumentsForDeviceId(android.content.Context, int[], byte[]);
    descriptor: (Landroid/content/Context;[I[B)Landroid/security/keymaster/KeymasterArguments;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.content.Context context
        start local 1 // int[] idTypes
        start local 2 // byte[] attestationChallenge
         0: .line 106
            aload 1 /* idTypes */
            ifnonnull 2
         1: .line 107
            new java.lang.NullPointerException
            dup
            ldc "Missing id types"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* idTypes */
            aload 2 /* attestationChallenge */
            invokestatic android.security.keystore.AttestationUtils.prepareAttestationArguments:(Landroid/content/Context;[I[B)Landroid/security/keymaster/KeymasterArguments;
            areturn
        end local 2 // byte[] attestationChallenge
        end local 1 // int[] idTypes
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0               context  Landroid/content/Context;
            0    3     1               idTypes  [I
            0    3     2  attestationChallenge  [B
    Exceptions:
      throws android.security.keystore.DeviceIdAttestationException
    MethodParameters:
                      Name  Flags
      context               
      idTypes               
      attestationChallenge  

  public static android.security.keymaster.KeymasterArguments prepareAttestationArguments(android.content.Context, int[], byte[]);
    descriptor: (Landroid/content/Context;[I[B)Landroid/security/keymaster/KeymasterArguments;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.content.Context context
        start local 1 // int[] idTypes
        start local 2 // byte[] attestationChallenge
         0: .line 120
            aload 0 /* context */
            aload 1 /* idTypes */
            aload 2 /* attestationChallenge */
            getstatic android.os.Build.BRAND:Ljava/lang/String;
            invokestatic android.security.keystore.AttestationUtils.prepareAttestationArguments:(Landroid/content/Context;[I[BLjava/lang/String;)Landroid/security/keymaster/KeymasterArguments;
            areturn
        end local 2 // byte[] attestationChallenge
        end local 1 // int[] idTypes
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0               context  Landroid/content/Context;
            0    1     1               idTypes  [I
            0    1     2  attestationChallenge  [B
    Exceptions:
      throws android.security.keystore.DeviceIdAttestationException
    MethodParameters:
                      Name  Flags
      context               
      idTypes               
      attestationChallenge  

  public static android.security.keymaster.KeymasterArguments prepareAttestationArgumentsIfMisprovisioned(android.content.Context, int[], byte[]);
    descriptor: (Landroid/content/Context;[I[B)Landroid/security/keymaster/KeymasterArguments;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 136
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tcom.android.internal.R.string 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 android.security.keystore.DeviceIdAttestationException
    MethodParameters:
                      Name  Flags
      context               
      idTypes               
      attestationChallenge  

  private static boolean isPotentiallyMisprovisionedDevice(android.content.Context);
    descriptor: (Landroid/content/Context;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 144
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tcom.android.internal.R.string cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
         Name  Flags
      context  

  private static android.security.keymaster.KeymasterArguments prepareAttestationArguments(android.content.Context, int[], byte[], java.lang.String);
    descriptor: (Landroid/content/Context;[I[BLjava/lang/String;)Landroid/security/keymaster/KeymasterArguments;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // android.content.Context context
        start local 1 // int[] idTypes
        start local 2 // byte[] attestationChallenge
        start local 3 // java.lang.String brand
         0: .line 155
            aload 2 /* attestationChallenge */
            ifnonnull 2
         1: .line 156
            new java.lang.NullPointerException
            dup
            ldc "Missing attestation challenge"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 158
      StackMap locals:
      StackMap stack:
            new android.security.keymaster.KeymasterArguments
            dup
            invokespecial android.security.keymaster.KeymasterArguments.<init>:()V
            astore 4 /* attestArgs */
        start local 4 // android.security.keymaster.KeymasterArguments attestArgs
         3: .line 159
            aload 4 /* attestArgs */
            ldc -1879047484
            aload 2 /* attestationChallenge */
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
         4: .line 162
            aload 1 /* idTypes */
            ifnonnull 6
         5: .line 163
            aload 4 /* attestArgs */
            areturn
         6: .line 165
      StackMap locals: android.security.keymaster.KeymasterArguments
      StackMap stack:
            new android.util.ArraySet
            dup
            aload 1 /* idTypes */
            arraylength
            invokespecial android.util.ArraySet.<init>:(I)V
            astore 5 /* idTypesSet */
        start local 5 // java.util.Set idTypesSet
         7: .line 166
            aload 1 /* idTypes */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 11
      StackMap locals: android.content.Context int[] byte[] java.lang.String android.security.keymaster.KeymasterArguments java.util.Set top int int int[]
      StackMap stack:
         8: aload 9
            iload 7
            iaload
            istore 6 /* idType */
        start local 6 // int idType
         9: .line 167
            aload 5 /* idTypesSet */
            iload 6 /* idType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // int idType
        10: .line 166
            iinc 7 1
      StackMap locals:
      StackMap stack:
        11: iload 7
            iload 8
            if_icmplt 8
        12: .line 169
            aconst_null
            astore 6 /* telephonyService */
        start local 6 // android.telephony.TelephonyManager telephonyService
        13: .line 170
            aload 5 /* idTypesSet */
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
            aload 5 /* idTypesSet */
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 19
        14: .line 171
      StackMap locals: android.content.Context int[] byte[] java.lang.String android.security.keymaster.KeymasterArguments java.util.Set android.telephony.TelephonyManager
      StackMap stack:
            aload 0 /* context */
        15: .line 172
            ldc "phone"
        16: .line 171
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.telephony.TelephonyManager
            astore 6 /* telephonyService */
        17: .line 173
            aload 6 /* telephonyService */
            ifnonnull 19
        18: .line 174
            new android.security.keystore.DeviceIdAttestationException
            dup
            ldc "Unable to access telephony service"
            invokespecial android.security.keystore.DeviceIdAttestationException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 177
      StackMap locals:
      StackMap stack:
            aload 5 /* idTypesSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 41
      StackMap locals: android.content.Context int[] byte[] java.lang.String android.security.keymaster.KeymasterArguments java.util.Set android.telephony.TelephonyManager top java.util.Iterator
      StackMap stack:
        20: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 7 /* idType */
        start local 7 // java.lang.Integer idType
        21: .line 178
            aload 7 /* idType */
            invokevirtual java.lang.Integer.intValue:()I
            tableswitch { // 1 - 3
                    1: 22
                    2: 26
                    3: 33
              default: 40
          }
        22: .line 180
      StackMap locals: android.content.Context int[] byte[] java.lang.String android.security.keymaster.KeymasterArguments java.util.Set android.telephony.TelephonyManager java.lang.Integer java.util.Iterator
      StackMap stack:
            aload 4 /* attestArgs */
            ldc -1879047479
        23: .line 181
            invokestatic android.os.Build.getSerial:()Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        24: .line 180
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        25: .line 182
            goto 41
        26: .line 184
      StackMap locals:
      StackMap stack:
            aload 6 /* telephonyService */
            iconst_0
            invokevirtual android.telephony.TelephonyManager.getImei:(I)Ljava/lang/String;
            astore 9 /* imei */
        start local 9 // java.lang.String imei
        27: .line 185
            aload 9 /* imei */
            ifnonnull 29
        28: .line 186
            new android.security.keystore.DeviceIdAttestationException
            dup
            ldc "Unable to retrieve IMEI"
            invokespecial android.security.keystore.DeviceIdAttestationException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 188
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* attestArgs */
            ldc -1879047478
        30: .line 189
            aload 9 /* imei */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        31: .line 188
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        32: .line 190
            goto 41
        end local 9 // java.lang.String imei
        33: .line 193
      StackMap locals:
      StackMap stack:
            aload 6 /* telephonyService */
            iconst_0
            invokevirtual android.telephony.TelephonyManager.getMeid:(I)Ljava/lang/String;
            astore 9 /* meid */
        start local 9 // java.lang.String meid
        34: .line 194
            aload 9 /* meid */
            ifnonnull 36
        35: .line 195
            new android.security.keystore.DeviceIdAttestationException
            dup
            ldc "Unable to retrieve MEID"
            invokespecial android.security.keystore.DeviceIdAttestationException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 197
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* attestArgs */
            ldc -1879047477
        37: .line 198
            aload 9 /* meid */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        38: .line 197
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        39: .line 199
            goto 41
        end local 9 // java.lang.String meid
        40: .line 202
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown device ID type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* idType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Integer idType
        41: .line 177
      StackMap locals: android.content.Context int[] byte[] java.lang.String android.security.keymaster.KeymasterArguments java.util.Set android.telephony.TelephonyManager top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        42: .line 205
            aload 4 /* attestArgs */
            ldc -1879047482
        43: .line 206
            aload 3 /* brand */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        44: .line 205
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        45: .line 207
            aload 4 /* attestArgs */
            ldc -1879047481
        46: .line 208
            getstatic android.os.Build.DEVICE:Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        47: .line 207
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        48: .line 209
            aload 4 /* attestArgs */
            ldc -1879047480
        49: .line 210
            getstatic android.os.Build.PRODUCT:Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        50: .line 209
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        51: .line 211
            aload 4 /* attestArgs */
            ldc -1879047476
        52: .line 212
            getstatic android.os.Build.MANUFACTURER:Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        53: .line 211
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        54: .line 213
            aload 4 /* attestArgs */
            ldc -1879047475
        55: .line 214
            getstatic android.os.Build.MODEL:Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        56: .line 213
            invokevirtual android.security.keymaster.KeymasterArguments.addBytes:(I[B)V
        57: .line 215
            aload 4 /* attestArgs */
            areturn
        end local 6 // android.telephony.TelephonyManager telephonyService
        end local 5 // java.util.Set idTypesSet
        end local 4 // android.security.keymaster.KeymasterArguments attestArgs
        end local 3 // java.lang.String brand
        end local 2 // byte[] attestationChallenge
        end local 1 // int[] idTypes
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   58     0               context  Landroid/content/Context;
            0   58     1               idTypes  [I
            0   58     2  attestationChallenge  [B
            0   58     3                 brand  Ljava/lang/String;
            3   58     4            attestArgs  Landroid/security/keymaster/KeymasterArguments;
            7   58     5            idTypesSet  Ljava/util/Set<Ljava/lang/Integer;>;
            9   10     6                idType  I
           13   58     6      telephonyService  Landroid/telephony/TelephonyManager;
           21   41     7                idType  Ljava/lang/Integer;
           27   33     9                  imei  Ljava/lang/String;
           34   40     9                  meid  Ljava/lang/String;
    Exceptions:
      throws android.security.keystore.DeviceIdAttestationException
    MethodParameters:
                      Name  Flags
      context               
      idTypes               
      attestationChallenge  
      brand                 

  public static java.security.cert.X509Certificate[] attestDeviceIds(android.content.Context, int[], byte[]);
    descriptor: (Landroid/content/Context;[I[B)[Ljava/security/cert/X509Certificate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 247
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tManifest 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 android.security.keystore.DeviceIdAttestationException
    MethodParameters:
                      Name  Flags
      context               
      idTypes               
      attestationChallenge  

  public static boolean isChainValid(android.security.keymaster.KeymasterCertificateChain);
    descriptor: (Landroid/security/keymaster/KeymasterCertificateChain;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.security.keymaster.KeymasterCertificateChain chain
         0: .line 274
            aload 0 /* chain */
            ifnull 1
            aload 0 /* chain */
            invokevirtual android.security.keymaster.KeymasterCertificateChain.getCertificates:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.security.keymaster.KeymasterCertificateChain chain
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  chain  Landroid/security/keymaster/KeymasterCertificateChain;
    MethodParameters:
       Name  Flags
      chain  
}
SourceFile: "AttestationUtils.java"
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()