public class android.database.DatabaseUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.database.DatabaseUtils
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "DatabaseUtils"

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

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

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

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

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

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

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

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

  private static final char[] DIGITS;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.text.Collator mColl;
    descriptor: Ljava/text/Collator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 426
            bipush 16
            newarray 5
            dup
            iconst_0
         1: .line 427
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
         2: .line 428
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 97
            castore
            dup
            bipush 11
            bipush 98
            castore
            dup
            bipush 12
            bipush 99
            castore
            dup
            bipush 13
            bipush 100
            castore
            dup
            bipush 14
            bipush 101
            castore
            dup
            bipush 15
            bipush 102
            castore
         3: .line 426
            putstatic android.database.DatabaseUtils.DIGITS:[C
         4: .line 461
            aconst_null
            putstatic android.database.DatabaseUtils.mColl:Ljava/text/Collator;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.DatabaseUtils this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.database.DatabaseUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/DatabaseUtils;

  public static final void writeExceptionToParcel(android.os.Parcel, java.lang.Exception);
    descriptor: (Landroid/os/Parcel;Ljava/lang/Exception;)V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.os.Parcel reply
        start local 1 // java.lang.Exception e
         0: .line 83
            iconst_0
            istore 2 /* code */
        start local 2 // int code
         1: .line 84
            iconst_1
            istore 3 /* logException */
        start local 3 // boolean logException
         2: .line 85
            aload 1 /* e */
            instanceof java.io.FileNotFoundException
            ifeq 6
         3: .line 86
            iconst_1
            istore 2 /* code */
         4: .line 87
            iconst_0
            istore 3 /* logException */
         5: .line 88
            goto 40
      StackMap locals: int int
      StackMap stack:
         6: aload 1 /* e */
            instanceof java.lang.IllegalArgumentException
            ifeq 9
         7: .line 89
            iconst_2
            istore 2 /* code */
         8: .line 90
            goto 40
      StackMap locals:
      StackMap stack:
         9: aload 1 /* e */
            instanceof java.lang.UnsupportedOperationException
            ifeq 12
        10: .line 91
            iconst_3
            istore 2 /* code */
        11: .line 92
            goto 40
      StackMap locals:
      StackMap stack:
        12: aload 1 /* e */
            instanceof android.database.sqlite.SQLiteAbortException
            ifeq 15
        13: .line 93
            iconst_4
            istore 2 /* code */
        14: .line 94
            goto 40
      StackMap locals:
      StackMap stack:
        15: aload 1 /* e */
            instanceof android.database.sqlite.SQLiteConstraintException
            ifeq 18
        16: .line 95
            iconst_5
            istore 2 /* code */
        17: .line 96
            goto 40
      StackMap locals:
      StackMap stack:
        18: aload 1 /* e */
            instanceof android.database.sqlite.SQLiteDatabaseCorruptException
            ifeq 21
        19: .line 97
            bipush 6
            istore 2 /* code */
        20: .line 98
            goto 40
      StackMap locals:
      StackMap stack:
        21: aload 1 /* e */
            instanceof android.database.sqlite.SQLiteFullException
            ifeq 24
        22: .line 99
            bipush 7
            istore 2 /* code */
        23: .line 100
            goto 40
      StackMap locals:
      StackMap stack:
        24: aload 1 /* e */
            instanceof android.database.sqlite.SQLiteDiskIOException
            ifeq 27
        25: .line 101
            bipush 8
            istore 2 /* code */
        26: .line 102
            goto 40
      StackMap locals:
      StackMap stack:
        27: aload 1 /* e */
            instanceof android.database.sqlite.SQLiteException
            ifeq 30
        28: .line 103
            bipush 9
            istore 2 /* code */
        29: .line 104
            goto 40
      StackMap locals:
      StackMap stack:
        30: aload 1 /* e */
            instanceof android.content.OperationApplicationException
            ifeq 33
        31: .line 105
            bipush 10
            istore 2 /* code */
        32: .line 106
            goto 40
      StackMap locals:
      StackMap stack:
        33: aload 1 /* e */
            instanceof android.os.OperationCanceledException
            ifeq 37
        34: .line 107
            bipush 11
            istore 2 /* code */
        35: .line 108
            iconst_0
            istore 3 /* logException */
        36: .line 109
            goto 40
        37: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* reply */
            aload 1 /* e */
            invokevirtual android.os.Parcel.writeException:(Ljava/lang/Exception;)V
        38: .line 111
            ldc "DatabaseUtils"
            ldc "Writing exception to parcel"
            aload 1 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        39: .line 112
            return
        40: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* reply */
            iload 2 /* code */
            invokevirtual android.os.Parcel.writeInt:(I)V
        41: .line 115
            aload 0 /* reply */
            aload 1 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
        42: .line 117
            iload 3 /* logException */
            ifeq 44
        43: .line 118
            ldc "DatabaseUtils"
            ldc "Writing exception to parcel"
            aload 1 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        44: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean logException
        end local 2 // int code
        end local 1 // java.lang.Exception e
        end local 0 // android.os.Parcel reply
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   45     0         reply  Landroid/os/Parcel;
            0   45     1             e  Ljava/lang/Exception;
            1   45     2          code  I
            2   45     3  logException  Z
    MethodParameters:
       Name  Flags
      reply  
      e      

  public static final void readExceptionFromParcel(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.os.Parcel reply
         0: .line 132
            aload 0 /* reply */
            invokevirtual android.os.Parcel.readExceptionCode:()I
            istore 1 /* code */
        start local 1 // int code
         1: .line 133
            iload 1 /* code */
            ifne 2
            return
         2: .line 134
      StackMap locals: int
      StackMap stack:
            aload 0 /* reply */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         3: .line 135
            aload 0 /* reply */
            aload 2 /* msg */
            iload 1 /* code */
            invokestatic android.database.DatabaseUtils.readExceptionFromParcel:(Landroid/os/Parcel;Ljava/lang/String;I)V
         4: .line 136
            return
        end local 2 // java.lang.String msg
        end local 1 // int code
        end local 0 // android.os.Parcel reply
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  reply  Landroid/os/Parcel;
            1    5     1   code  I
            3    5     2    msg  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      reply  

  public static void readExceptionWithFileNotFoundExceptionFromParcel(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.os.Parcel reply
         0: .line 140
            aload 0 /* reply */
            invokevirtual android.os.Parcel.readExceptionCode:()I
            istore 1 /* code */
        start local 1 // int code
         1: .line 141
            iload 1 /* code */
            ifne 2
            return
         2: .line 142
      StackMap locals: int
      StackMap stack:
            aload 0 /* reply */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         3: .line 143
            iload 1 /* code */
            iconst_1
            if_icmpne 5
         4: .line 144
            new java.io.FileNotFoundException
            dup
            aload 2 /* msg */
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 146
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* reply */
            aload 2 /* msg */
            iload 1 /* code */
            invokestatic android.database.DatabaseUtils.readExceptionFromParcel:(Landroid/os/Parcel;Ljava/lang/String;I)V
         6: .line 148
            return
        end local 2 // java.lang.String msg
        end local 1 // int code
        end local 0 // android.os.Parcel reply
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  reply  Landroid/os/Parcel;
            1    7     1   code  I
            3    7     2    msg  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
       Name  Flags
      reply  

  public static void readExceptionWithOperationApplicationExceptionFromParcel(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.os.Parcel reply
         0: .line 152
            aload 0 /* reply */
            invokevirtual android.os.Parcel.readExceptionCode:()I
            istore 1 /* code */
        start local 1 // int code
         1: .line 153
            iload 1 /* code */
            ifne 2
            return
         2: .line 154
      StackMap locals: int
      StackMap stack:
            aload 0 /* reply */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         3: .line 155
            iload 1 /* code */
            bipush 10
            if_icmpne 5
         4: .line 156
            new android.content.OperationApplicationException
            dup
            aload 2 /* msg */
            invokespecial android.content.OperationApplicationException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 158
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* reply */
            aload 2 /* msg */
            iload 1 /* code */
            invokestatic android.database.DatabaseUtils.readExceptionFromParcel:(Landroid/os/Parcel;Ljava/lang/String;I)V
         6: .line 160
            return
        end local 2 // java.lang.String msg
        end local 1 // int code
        end local 0 // android.os.Parcel reply
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  reply  Landroid/os/Parcel;
            1    7     1   code  I
            3    7     2    msg  Ljava/lang/String;
    Exceptions:
      throws android.content.OperationApplicationException
    MethodParameters:
       Name  Flags
      reply  

  private static final void readExceptionFromParcel(android.os.Parcel, java.lang.String, int);
    descriptor: (Landroid/os/Parcel;Ljava/lang/String;I)V
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.os.Parcel reply
        start local 1 // java.lang.String msg
        start local 2 // int code
         0: .line 163
            iload 2 /* code */
            tableswitch { // 2 - 11
                    2: 1
                    3: 2
                    4: 3
                    5: 4
                    6: 5
                    7: 6
                    8: 7
                    9: 8
                   10: 10
                   11: 9
              default: 10
          }
         1: .line 165
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 167
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            aload 1 /* msg */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 169
      StackMap locals:
      StackMap stack:
            new android.database.sqlite.SQLiteAbortException
            dup
            aload 1 /* msg */
            invokespecial android.database.sqlite.SQLiteAbortException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 171
      StackMap locals:
      StackMap stack:
            new android.database.sqlite.SQLiteConstraintException
            dup
            aload 1 /* msg */
            invokespecial android.database.sqlite.SQLiteConstraintException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 173
      StackMap locals:
      StackMap stack:
            new android.database.sqlite.SQLiteDatabaseCorruptException
            dup
            aload 1 /* msg */
            invokespecial android.database.sqlite.SQLiteDatabaseCorruptException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 175
      StackMap locals:
      StackMap stack:
            new android.database.sqlite.SQLiteFullException
            dup
            aload 1 /* msg */
            invokespecial android.database.sqlite.SQLiteFullException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 177
      StackMap locals:
      StackMap stack:
            new android.database.sqlite.SQLiteDiskIOException
            dup
            aload 1 /* msg */
            invokespecial android.database.sqlite.SQLiteDiskIOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 179
      StackMap locals:
      StackMap stack:
            new android.database.sqlite.SQLiteException
            dup
            aload 1 /* msg */
            invokespecial android.database.sqlite.SQLiteException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 181
      StackMap locals:
      StackMap stack:
            new android.os.OperationCanceledException
            dup
            aload 1 /* msg */
            invokespecial android.os.OperationCanceledException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* reply */
            iload 2 /* code */
            aload 1 /* msg */
            invokevirtual android.os.Parcel.readException:(ILjava/lang/String;)V
        11: .line 185
            return
        end local 2 // int code
        end local 1 // java.lang.String msg
        end local 0 // android.os.Parcel reply
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0  reply  Landroid/os/Parcel;
            0   12     1    msg  Ljava/lang/String;
            0   12     2   code  I
    MethodParameters:
       Name  Flags
      reply  
      msg    
      code   

  public static void bindObjectToProgram(android.database.sqlite.SQLiteProgram, int, java.lang.Object);
    descriptor: (Landroid/database/sqlite/SQLiteProgram;ILjava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.sqlite.SQLiteProgram prog
        start local 1 // int index
        start local 2 // java.lang.Object value
         0: .line 198
            aload 2 /* value */
            ifnonnull 3
         1: .line 199
            aload 0 /* prog */
            iload 1 /* index */
            invokevirtual android.database.sqlite.SQLiteProgram.bindNull:(I)V
         2: .line 200
            goto 20
      StackMap locals:
      StackMap stack:
         3: aload 2 /* value */
            instanceof java.lang.Double
            ifne 4
            aload 2 /* value */
            instanceof java.lang.Float
            ifeq 6
         4: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* prog */
            iload 1 /* index */
            aload 2 /* value */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            invokevirtual android.database.sqlite.SQLiteProgram.bindDouble:(ID)V
         5: .line 202
            goto 20
      StackMap locals:
      StackMap stack:
         6: aload 2 /* value */
            instanceof java.lang.Number
            ifeq 9
         7: .line 203
            aload 0 /* prog */
            iload 1 /* index */
            aload 2 /* value */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.longValue:()J
            invokevirtual android.database.sqlite.SQLiteProgram.bindLong:(IJ)V
         8: .line 204
            goto 20
      StackMap locals:
      StackMap stack:
         9: aload 2 /* value */
            instanceof java.lang.Boolean
            ifeq 16
        10: .line 205
            aload 2 /* value */
            checkcast java.lang.Boolean
            astore 3 /* bool */
        start local 3 // java.lang.Boolean bool
        11: .line 206
            aload 3 /* bool */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
        12: .line 207
            aload 0 /* prog */
            iload 1 /* index */
            lconst_1
            invokevirtual android.database.sqlite.SQLiteProgram.bindLong:(IJ)V
        13: .line 208
            goto 20
        14: .line 209
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* prog */
            iload 1 /* index */
            lconst_0
            invokevirtual android.database.sqlite.SQLiteProgram.bindLong:(IJ)V
        end local 3 // java.lang.Boolean bool
        15: .line 211
            goto 20
      StackMap locals:
      StackMap stack:
        16: aload 2 /* value */
            instanceof byte[]
            ifeq 19
        17: .line 212
            aload 0 /* prog */
            iload 1 /* index */
            aload 2 /* value */
            checkcast byte[]
            invokevirtual android.database.sqlite.SQLiteProgram.bindBlob:(I[B)V
        18: .line 213
            goto 20
        19: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* prog */
            iload 1 /* index */
            aload 2 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual android.database.sqlite.SQLiteProgram.bindString:(ILjava/lang/String;)V
        20: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object value
        end local 1 // int index
        end local 0 // android.database.sqlite.SQLiteProgram prog
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   prog  Landroid/database/sqlite/SQLiteProgram;
            0   21     1  index  I
            0   21     2  value  Ljava/lang/Object;
           11   15     3   bool  Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      prog   
      index  
      value  

  public static int getTypeOfObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 236
            aload 0 /* obj */
            ifnonnull 2
         1: .line 237
            iconst_0
            ireturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof byte[]
            ifeq 4
         3: .line 239
            iconst_4
            ireturn
         4: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof java.lang.Float
            ifne 5
            aload 0 /* obj */
            instanceof java.lang.Double
            ifeq 6
         5: .line 241
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         6: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof java.lang.Long
            ifne 8
            aload 0 /* obj */
            instanceof java.lang.Integer
            ifne 8
         7: .line 243
            aload 0 /* obj */
            instanceof java.lang.Short
            ifne 8
            aload 0 /* obj */
            instanceof java.lang.Byte
            ifeq 9
         8: .line 244
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 246
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static void cursorFillWindow(android.database.Cursor, int, android.database.CursorWindow);
    descriptor: (Landroid/database/Cursor;ILandroid/database/CursorWindow;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // int position
        start local 2 // android.database.CursorWindow window
         0: .line 264
            iload 1 /* position */
            iflt 1
            iload 1 /* position */
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getCount:()I
            if_icmplt 2
         1: .line 265
      StackMap locals:
      StackMap stack:
            return
         2: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getPosition:()I
            istore 3 /* oldPos */
        start local 3 // int oldPos
         3: .line 268
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getColumnCount:()I
            istore 4 /* numColumns */
        start local 4 // int numColumns
         4: .line 269
            aload 2 /* window */
            invokevirtual android.database.CursorWindow.clear:()V
         5: .line 270
            aload 2 /* window */
            iload 1 /* position */
            invokevirtual android.database.CursorWindow.setStartPosition:(I)V
         6: .line 271
            aload 2 /* window */
            iload 4 /* numColumns */
            invokevirtual android.database.CursorWindow.setNumColumns:(I)Z
            pop
         7: .line 272
            aload 0 /* cursor */
            iload 1 /* position */
            invokeinterface android.database.Cursor.moveToPosition:(I)Z
            ifeq 36
         8: .line 274
      StackMap locals: int int
      StackMap stack:
            aload 2 /* window */
            invokevirtual android.database.CursorWindow.allocRow:()Z
            ifne 10
         9: .line 275
            goto 36
        10: .line 277
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 33
        12: .line 278
      StackMap locals: int
      StackMap stack:
            aload 0 /* cursor */
            iload 5 /* i */
            invokeinterface android.database.Cursor.getType:(I)I
            istore 6 /* type */
        start local 6 // int type
        13: .line 280
            iload 6 /* type */
            tableswitch { // 0 - 4
                    0: 14
                    1: 16
                    2: 18
                    3: 25
                    4: 20
              default: 25
          }
        14: .line 282
      StackMap locals: int
      StackMap stack:
            aload 2 /* window */
            iload 1 /* position */
            iload 5 /* i */
            invokevirtual android.database.CursorWindow.putNull:(II)Z
            istore 7 /* success */
        start local 7 // boolean success
        15: .line 283
            goto 29
        end local 7 // boolean success
        16: .line 286
      StackMap locals:
      StackMap stack:
            aload 2 /* window */
            aload 0 /* cursor */
            iload 5 /* i */
            invokeinterface android.database.Cursor.getLong:(I)J
            iload 1 /* position */
            iload 5 /* i */
            invokevirtual android.database.CursorWindow.putLong:(JII)Z
            istore 7 /* success */
        start local 7 // boolean success
        17: .line 287
            goto 29
        end local 7 // boolean success
        18: .line 290
      StackMap locals:
      StackMap stack:
            aload 2 /* window */
            aload 0 /* cursor */
            iload 5 /* i */
            invokeinterface android.database.Cursor.getDouble:(I)D
            iload 1 /* position */
            iload 5 /* i */
            invokevirtual android.database.CursorWindow.putDouble:(DII)Z
            istore 7 /* success */
        start local 7 // boolean success
        19: .line 291
            goto 29
        end local 7 // boolean success
        20: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* cursor */
            iload 5 /* i */
            invokeinterface android.database.Cursor.getBlob:(I)[B
            astore 8 /* value */
        start local 8 // byte[] value
        21: .line 295
            aload 8 /* value */
            ifnull 22
            aload 2 /* window */
            aload 8 /* value */
            iload 1 /* position */
            iload 5 /* i */
            invokevirtual android.database.CursorWindow.putBlob:([BII)Z
            goto 23
        22: .line 296
      StackMap locals: android.database.Cursor int android.database.CursorWindow int int int int top byte[]
      StackMap stack:
            aload 2 /* window */
            iload 1 /* position */
            iload 5 /* i */
            invokevirtual android.database.CursorWindow.putNull:(II)Z
        23: .line 295
      StackMap locals:
      StackMap stack: int
            istore 7 /* success */
        start local 7 // boolean success
        24: .line 297
            goto 29
        end local 8 // byte[] value
        end local 7 // boolean success
        25: .line 302
      StackMap locals: android.database.Cursor int android.database.CursorWindow int int int int
      StackMap stack:
            aload 0 /* cursor */
            iload 5 /* i */
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 8 /* value */
        start local 8 // java.lang.String value
        26: .line 303
            aload 8 /* value */
            ifnull 27
            aload 2 /* window */
            aload 8 /* value */
            iload 1 /* position */
            iload 5 /* i */
            invokevirtual android.database.CursorWindow.putString:(Ljava/lang/String;II)Z
            goto 28
        27: .line 304
      StackMap locals: android.database.Cursor int android.database.CursorWindow int int int int top java.lang.String
      StackMap stack:
            aload 2 /* window */
            iload 1 /* position */
            iload 5 /* i */
            invokevirtual android.database.CursorWindow.putNull:(II)Z
        28: .line 303
      StackMap locals:
      StackMap stack: int
            istore 7 /* success */
        end local 8 // java.lang.String value
        start local 7 // boolean success
        29: .line 308
      StackMap locals: android.database.Cursor int android.database.CursorWindow int int int int int
      StackMap stack:
            iload 7 /* success */
            ifne 32
        30: .line 309
            aload 2 /* window */
            invokevirtual android.database.CursorWindow.freeLastRow:()V
        31: .line 310
            goto 36
        end local 7 // boolean success
        end local 6 // int type
        32: .line 277
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 5 /* i */
            iload 4 /* numColumns */
            if_icmplt 12
        end local 5 // int i
        34: .line 313
            iinc 1 /* position */ 1
        35: .line 314
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifne 8
        36: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* cursor */
            iload 3 /* oldPos */
            invokeinterface android.database.Cursor.moveToPosition:(I)Z
            pop
        37: .line 317
            return
        end local 4 // int numColumns
        end local 3 // int oldPos
        end local 2 // android.database.CursorWindow window
        end local 1 // int position
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0      cursor  Landroid/database/Cursor;
            0   38     1    position  I
            0   38     2      window  Landroid/database/CursorWindow;
            3   38     3      oldPos  I
            4   38     4  numColumns  I
           11   34     5           i  I
           13   32     6        type  I
           15   16     7     success  Z
           17   18     7     success  Z
           19   20     7     success  Z
           24   25     7     success  Z
           29   32     7     success  Z
           21   25     8       value  [B
           26   29     8       value  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      cursor    final
      position  
      window    final

  public static void appendEscapedSQLString(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.StringBuilder sb
        start local 1 // java.lang.String sqlString
         0: .line 339
            aload 0 /* sb */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 340
            aload 1 /* sqlString */
            bipush 39
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 12
         2: .line 341
            aload 1 /* sqlString */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         3: .line 342
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 10
         5: .line 343
      StackMap locals: int int
      StackMap stack:
            aload 1 /* sqlString */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         6: .line 344
            iload 4 /* c */
            bipush 39
            if_icmpne 8
         7: .line 345
            aload 0 /* sb */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 347
      StackMap locals: int
      StackMap stack:
            aload 0 /* sb */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char c
         9: .line 342
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 3 // int i
        end local 2 // int length
        11: .line 349
            goto 13
        12: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* sb */
            aload 1 /* sqlString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* sb */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 352
            return
        end local 1 // java.lang.String sqlString
        end local 0 // java.lang.StringBuilder sb
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0         sb  Ljava/lang/StringBuilder;
            0   15     1  sqlString  Ljava/lang/String;
            3   11     2     length  I
            4   11     3          i  I
            6    9     4          c  C
    MethodParameters:
           Name  Flags
      sb         
      sqlString  

  public static java.lang.String sqlEscapeString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String value
         0: .line 358
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* escaper */
        start local 1 // java.lang.StringBuilder escaper
         1: .line 360
            aload 1 /* escaper */
            aload 0 /* value */
            invokestatic android.database.DatabaseUtils.appendEscapedSQLString:(Ljava/lang/StringBuilder;Ljava/lang/String;)V
         2: .line 362
            aload 1 /* escaper */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder escaper
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0    value  Ljava/lang/String;
            1    3     1  escaper  Ljava/lang/StringBuilder;
    MethodParameters:
       Name  Flags
      value  

  public static final void appendValueToSql(java.lang.StringBuilder, java.lang.Object);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/Object;)V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.StringBuilder sql
        start local 1 // java.lang.Object value
         0: .line 369
            aload 1 /* value */
            ifnonnull 3
         1: .line 370
            aload 0 /* sql */
            ldc "NULL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 371
            goto 11
      StackMap locals:
      StackMap stack:
         3: aload 1 /* value */
            instanceof java.lang.Boolean
            ifeq 10
         4: .line 372
            aload 1 /* value */
            checkcast java.lang.Boolean
            astore 2 /* bool */
        start local 2 // java.lang.Boolean bool
         5: .line 373
            aload 2 /* bool */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 8
         6: .line 374
            aload 0 /* sql */
            bipush 49
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 375
            goto 11
         8: .line 376
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* sql */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.lang.Boolean bool
         9: .line 378
            goto 11
        10: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* sql */
            aload 1 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic android.database.DatabaseUtils.appendEscapedSQLString:(Ljava/lang/StringBuilder;Ljava/lang/String;)V
        11: .line 381
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object value
        end local 0 // java.lang.StringBuilder sql
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0    sql  Ljava/lang/StringBuilder;
            0   12     1  value  Ljava/lang/Object;
            5    9     2   bool  Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      sql    
      value  

  public static java.lang.String concatenateWhere(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String a
        start local 1 // java.lang.String b
         0: .line 387
            aload 0 /* a */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 388
            aload 1 /* b */
            areturn
         2: .line 390
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 4
         3: .line 391
            aload 0 /* a */
            areturn
         4: .line 394
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* a */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") AND ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* b */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String b
        end local 0 // java.lang.String a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  Ljava/lang/String;
            0    5     1     b  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     
      b     

  public static java.lang.String getCollationKey(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 403
            aload 0 /* name */
            invokestatic android.database.DatabaseUtils.getCollationKeyInBytes:(Ljava/lang/String;)[B
            astore 1 /* arr */
        start local 1 // byte[] arr
         1: .line 405
            new java.lang.String
            dup
            aload 1 /* arr */
            iconst_0
            aload 1 /* arr */
            invokestatic android.database.DatabaseUtils.getKeyLen:([B)I
            ldc "ISO8859_1"
            invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
         2: areturn
         3: .line 406
      StackMap locals: java.lang.String byte[]
      StackMap stack: java.lang.Exception
            pop
         4: .line 407
            ldc ""
            areturn
        end local 1 // byte[] arr
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  name  Ljava/lang/String;
            1    5     1   arr  [B
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public static java.lang.String getHexCollationKey(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.lang.String name
         0: .line 417
            aload 0 /* name */
            invokestatic android.database.DatabaseUtils.getCollationKeyInBytes:(Ljava/lang/String;)[B
            astore 1 /* arr */
        start local 1 // byte[] arr
         1: .line 418
            aload 1 /* arr */
            invokestatic android.database.DatabaseUtils.encodeHex:([B)[C
            astore 2 /* keys */
        start local 2 // char[] keys
         2: .line 419
            new java.lang.String
            dup
            aload 2 /* keys */
            iconst_0
            aload 1 /* arr */
            invokestatic android.database.DatabaseUtils.getKeyLen:([B)I
            iconst_2
            imul
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 2 // char[] keys
        end local 1 // byte[] arr
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  name  Ljava/lang/String;
            1    3     1   arr  [B
            2    3     2  keys  [C
    MethodParameters:
      Name  Flags
      name  

  private static char[] encodeHex(byte[]);
    descriptor: ([B)[C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // byte[] input
         0: .line 432
            aload 0 /* input */
            arraylength
            istore 1 /* l */
        start local 1 // int l
         1: .line 433
            iload 1 /* l */
            iconst_1
            ishl
            newarray 5
            astore 2 /* out */
        start local 2 // char[] out
         2: .line 436
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: iconst_0
            istore 4 /* j */
        start local 4 // int j
         4: goto 8
         5: .line 437
      StackMap locals: byte[] int char[] int int
      StackMap stack:
            aload 2 /* out */
            iload 4 /* j */
            iinc 4 /* j */ 1
            getstatic android.database.DatabaseUtils.DIGITS:[C
            sipush 240
            aload 0 /* input */
            iload 3 /* i */
            baload
            iand
            iconst_4
            iushr
            caload
            castore
         6: .line 438
            aload 2 /* out */
            iload 4 /* j */
            iinc 4 /* j */ 1
            getstatic android.database.DatabaseUtils.DIGITS:[C
            bipush 15
            aload 0 /* input */
            iload 3 /* i */
            baload
            iand
            caload
            castore
         7: .line 436
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* l */
            if_icmplt 5
        end local 4 // int j
        end local 3 // int i
         9: .line 441
            aload 2 /* out */
            areturn
        end local 2 // char[] out
        end local 1 // int l
        end local 0 // byte[] input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  input  [B
            1   10     1      l  I
            2   10     2    out  [C
            3    9     3      i  I
            4    9     4      j  I
    MethodParameters:
       Name  Flags
      input  

  private static int getKeyLen(byte[]);
    descriptor: ([B)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] arr
         0: .line 445
            aload 0 /* arr */
            aload 0 /* arr */
            arraylength
            iconst_1
            isub
            baload
            ifeq 2
         1: .line 446
            aload 0 /* arr */
            arraylength
            ireturn
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* arr */
            arraylength
            iconst_1
            isub
            ireturn
        end local 0 // byte[] arr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   arr  [B
    MethodParameters:
      Name  Flags
      arr   

  private static byte[] getCollationKeyInBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 454
            getstatic android.database.DatabaseUtils.mColl:Ljava/text/Collator;
            ifnonnull 3
         1: .line 455
            invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
            putstatic android.database.DatabaseUtils.mColl:Ljava/text/Collator;
         2: .line 456
            getstatic android.database.DatabaseUtils.mColl:Ljava/text/Collator;
            iconst_0
            invokevirtual java.text.Collator.setStrength:(I)V
         3: .line 458
      StackMap locals:
      StackMap stack:
            getstatic android.database.DatabaseUtils.mColl:Ljava/text/Collator;
            aload 0 /* name */
            invokevirtual java.text.Collator.getCollationKey:(Ljava/lang/String;)Ljava/text/CollationKey;
            invokevirtual java.text.CollationKey.toByteArray:()[B
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static void dumpCursor(android.database.Cursor);
    descriptor: (Landroid/database/Cursor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.database.Cursor cursor
         0: .line 469
            aload 0 /* cursor */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokestatic android.database.DatabaseUtils.dumpCursor:(Landroid/database/Cursor;Ljava/io/PrintStream;)V
         1: .line 470
            return
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  cursor  Landroid/database/Cursor;
    MethodParameters:
        Name  Flags
      cursor  

  public static void dumpCursor(android.database.Cursor, java.io.PrintStream);
    descriptor: (Landroid/database/Cursor;Ljava/io/PrintStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.database.Cursor cursor
        start local 1 // java.io.PrintStream stream
         0: .line 480
            aload 1 /* stream */
            new java.lang.StringBuilder
            dup
            ldc ">>>>> Dumping cursor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* cursor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 481
            aload 0 /* cursor */
            ifnull 8
         2: .line 482
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getPosition:()I
            istore 2 /* startPos */
        start local 2 // int startPos
         3: .line 484
            aload 0 /* cursor */
            iconst_m1
            invokeinterface android.database.Cursor.moveToPosition:(I)Z
            pop
         4: .line 485
            goto 6
         5: .line 486
      StackMap locals: int
      StackMap stack:
            aload 0 /* cursor */
            aload 1 /* stream */
            invokestatic android.database.DatabaseUtils.dumpCurrentRow:(Landroid/database/Cursor;Ljava/io/PrintStream;)V
         6: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifne 5
         7: .line 488
            aload 0 /* cursor */
            iload 2 /* startPos */
            invokeinterface android.database.Cursor.moveToPosition:(I)Z
            pop
        end local 2 // int startPos
         8: .line 490
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            ldc "<<<<<"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 491
            return
        end local 1 // java.io.PrintStream stream
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0    cursor  Landroid/database/Cursor;
            0   10     1    stream  Ljava/io/PrintStream;
            3    8     2  startPos  I
    MethodParameters:
        Name  Flags
      cursor  
      stream  

  public static void dumpCursor(android.database.Cursor, java.lang.StringBuilder);
    descriptor: (Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.StringBuilder sb
         0: .line 501
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc ">>>>> Dumping cursor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* cursor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 502
            aload 0 /* cursor */
            ifnull 8
         2: .line 503
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getPosition:()I
            istore 2 /* startPos */
        start local 2 // int startPos
         3: .line 505
            aload 0 /* cursor */
            iconst_m1
            invokeinterface android.database.Cursor.moveToPosition:(I)Z
            pop
         4: .line 506
            goto 6
         5: .line 507
      StackMap locals: int
      StackMap stack:
            aload 0 /* cursor */
            aload 1 /* sb */
            invokestatic android.database.DatabaseUtils.dumpCurrentRow:(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
         6: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifne 5
         7: .line 509
            aload 0 /* cursor */
            iload 2 /* startPos */
            invokeinterface android.database.Cursor.moveToPosition:(I)Z
            pop
        end local 2 // int startPos
         8: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "<<<<<\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 512
            return
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0    cursor  Landroid/database/Cursor;
            0   10     1        sb  Ljava/lang/StringBuilder;
            3    8     2  startPos  I
    MethodParameters:
        Name  Flags
      cursor  
      sb      

  public static java.lang.String dumpCursorToString(android.database.Cursor);
    descriptor: (Landroid/database/Cursor;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.database.Cursor cursor
         0: .line 522
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 523
            aload 0 /* cursor */
            aload 1 /* sb */
            invokestatic android.database.DatabaseUtils.dumpCursor:(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
         2: .line 524
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  cursor  Landroid/database/Cursor;
            1    3     1      sb  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      cursor  

  public static void dumpCurrentRow(android.database.Cursor);
    descriptor: (Landroid/database/Cursor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.database.Cursor cursor
         0: .line 533
            aload 0 /* cursor */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokestatic android.database.DatabaseUtils.dumpCurrentRow:(Landroid/database/Cursor;Ljava/io/PrintStream;)V
         1: .line 534
            return
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  cursor  Landroid/database/Cursor;
    MethodParameters:
        Name  Flags
      cursor  

  public static void dumpCurrentRow(android.database.Cursor, java.io.PrintStream);
    descriptor: (Landroid/database/Cursor;Ljava/io/PrintStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.database.Cursor cursor
        start local 1 // java.io.PrintStream stream
         0: .line 543
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getColumnNames:()[Ljava/lang/String;
            astore 2 /* cols */
        start local 2 // java.lang.String[] cols
         1: .line 544
            aload 1 /* stream */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getPosition:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 545
            aload 2 /* cols */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: .line 546
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 11
         5: .line 549
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 0 /* cursor */
            iload 4 /* i */
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         6: .line 550
            goto 9
        end local 5 // java.lang.String value
      StackMap locals:
      StackMap stack: android.database.sqlite.SQLiteException
         7: pop
         8: .line 553
            ldc "<unprintable>"
            astore 5 /* value */
        start local 5 // java.lang.String value
         9: .line 555
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* stream */
            new java.lang.StringBuilder
            dup
            ldc "   "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* cols */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 5 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String value
        10: .line 546
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 4 // int i
        12: .line 557
            aload 1 /* stream */
            ldc "}"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        13: .line 558
            return
        end local 3 // int length
        end local 2 // java.lang.String[] cols
        end local 1 // java.io.PrintStream stream
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0  cursor  Landroid/database/Cursor;
            0   14     1  stream  Ljava/io/PrintStream;
            1   14     2    cols  [Ljava/lang/String;
            3   14     3  length  I
            4   12     4       i  I
            6    7     5   value  Ljava/lang/String;
            9   10     5   value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class android.database.sqlite.SQLiteException
    MethodParameters:
        Name  Flags
      cursor  
      stream  

  public static void dumpCurrentRow(android.database.Cursor, java.lang.StringBuilder);
    descriptor: (Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.StringBuilder sb
         0: .line 567
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getColumnNames:()[Ljava/lang/String;
            astore 2 /* cols */
        start local 2 // java.lang.String[] cols
         1: .line 568
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getPosition:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 569
            aload 2 /* cols */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: .line 570
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 11
         5: .line 573
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 0 /* cursor */
            iload 4 /* i */
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         6: .line 574
            goto 9
        end local 5 // java.lang.String value
      StackMap locals:
      StackMap stack: android.database.sqlite.SQLiteException
         7: pop
         8: .line 577
            ldc "<unprintable>"
            astore 5 /* value */
        start local 5 // java.lang.String value
         9: .line 579
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "   "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* cols */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 5 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.String value
        10: .line 570
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 4 // int i
        12: .line 581
            aload 1 /* sb */
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 582
            return
        end local 3 // int length
        end local 2 // java.lang.String[] cols
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0  cursor  Landroid/database/Cursor;
            0   14     1      sb  Ljava/lang/StringBuilder;
            1   14     2    cols  [Ljava/lang/String;
            3   14     3  length  I
            4   12     4       i  I
            6    7     5   value  Ljava/lang/String;
            9   10     5   value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class android.database.sqlite.SQLiteException
    MethodParameters:
        Name  Flags
      cursor  
      sb      

  public static java.lang.String dumpCurrentRowToString(android.database.Cursor);
    descriptor: (Landroid/database/Cursor;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.database.Cursor cursor
         0: .line 591
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 592
            aload 0 /* cursor */
            aload 1 /* sb */
            invokestatic android.database.DatabaseUtils.dumpCurrentRow:(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
         2: .line 593
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  cursor  Landroid/database/Cursor;
            1    3     1      sb  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      cursor  

  public static void cursorStringToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
         0: .line 605
            aload 0 /* cursor */
            aload 1 /* field */
            aload 2 /* values */
            aload 1 /* field */
            invokestatic android.database.DatabaseUtils.cursorStringToContentValues:(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
         1: .line 606
            return
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  cursor  Landroid/database/Cursor;
            0    2     1   field  Ljava/lang/String;
            0    2     2  values  Landroid/content/ContentValues;
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  

  public static void cursorStringToInsertHelper(android.database.Cursor, java.lang.String, android.database.DatabaseUtils$InsertHelper, int);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/database/DatabaseUtils$InsertHelper;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.database.DatabaseUtils$InsertHelper inserter
        start local 3 // int index
         0: .line 618
            aload 2 /* inserter */
            iload 3 /* index */
            aload 0 /* cursor */
            aload 0 /* cursor */
            aload 1 /* field */
            invokeinterface android.database.Cursor.getColumnIndexOrThrow:(Ljava/lang/String;)I
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            invokevirtual android.database.DatabaseUtils$InsertHelper.bind:(ILjava/lang/String;)V
         1: .line 619
            return
        end local 3 // int index
        end local 2 // android.database.DatabaseUtils$InsertHelper inserter
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0    cursor  Landroid/database/Cursor;
            0    2     1     field  Ljava/lang/String;
            0    2     2  inserter  Landroid/database/DatabaseUtils$InsertHelper;
            0    2     3     index  I
    MethodParameters:
          Name  Flags
      cursor    
      field     
      inserter  
      index     

  public static void cursorStringToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
        start local 3 // java.lang.String key
         0: .line 631
            aload 2 /* values */
            aload 3 /* key */
            aload 0 /* cursor */
            aload 0 /* cursor */
            aload 1 /* field */
            invokeinterface android.database.Cursor.getColumnIndexOrThrow:(Ljava/lang/String;)I
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 632
            return
        end local 3 // java.lang.String key
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  cursor  Landroid/database/Cursor;
            0    2     1   field  Ljava/lang/String;
            0    2     2  values  Landroid/content/ContentValues;
            0    2     3     key  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  
      key     

  public static void cursorIntToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
         0: .line 642
            aload 0 /* cursor */
            aload 1 /* field */
            aload 2 /* values */
            aload 1 /* field */
            invokestatic android.database.DatabaseUtils.cursorIntToContentValues:(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
         1: .line 643
            return
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  cursor  Landroid/database/Cursor;
            0    2     1   field  Ljava/lang/String;
            0    2     2  values  Landroid/content/ContentValues;
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  

  public static void cursorIntToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
        start local 3 // java.lang.String key
         0: .line 655
            aload 0 /* cursor */
            aload 1 /* field */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 4 /* colIndex */
        start local 4 // int colIndex
         1: .line 656
            aload 0 /* cursor */
            iload 4 /* colIndex */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 4
         2: .line 657
            aload 2 /* values */
            aload 3 /* key */
            aload 0 /* cursor */
            iload 4 /* colIndex */
            invokeinterface android.database.Cursor.getInt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Integer;)V
         3: .line 658
            goto 5
         4: .line 659
      StackMap locals: int
      StackMap stack:
            aload 2 /* values */
            aload 3 /* key */
            aconst_null
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Integer;)V
         5: .line 661
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int colIndex
        end local 3 // java.lang.String key
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0    cursor  Landroid/database/Cursor;
            0    6     1     field  Ljava/lang/String;
            0    6     2    values  Landroid/content/ContentValues;
            0    6     3       key  Ljava/lang/String;
            1    6     4  colIndex  I
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  
      key     

  public static void cursorLongToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
         0: .line 672
            aload 0 /* cursor */
            aload 1 /* field */
            aload 2 /* values */
            aload 1 /* field */
            invokestatic android.database.DatabaseUtils.cursorLongToContentValues:(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
         1: .line 673
            return
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  cursor  Landroid/database/Cursor;
            0    2     1   field  Ljava/lang/String;
            0    2     2  values  Landroid/content/ContentValues;
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  

  public static void cursorLongToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
        start local 3 // java.lang.String key
         0: .line 685
            aload 0 /* cursor */
            aload 1 /* field */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 4 /* colIndex */
        start local 4 // int colIndex
         1: .line 686
            aload 0 /* cursor */
            iload 4 /* colIndex */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 5
         2: .line 687
            aload 0 /* cursor */
            iload 4 /* colIndex */
            invokeinterface android.database.Cursor.getLong:(I)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 5 /* value */
        start local 5 // java.lang.Long value
         3: .line 688
            aload 2 /* values */
            aload 3 /* key */
            aload 5 /* value */
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Long;)V
        end local 5 // java.lang.Long value
         4: .line 689
            goto 6
         5: .line 690
      StackMap locals: int
      StackMap stack:
            aload 2 /* values */
            aload 3 /* key */
            aconst_null
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Long;)V
         6: .line 692
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int colIndex
        end local 3 // java.lang.String key
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0    cursor  Landroid/database/Cursor;
            0    7     1     field  Ljava/lang/String;
            0    7     2    values  Landroid/content/ContentValues;
            0    7     3       key  Ljava/lang/String;
            1    7     4  colIndex  I
            3    4     5     value  Ljava/lang/Long;
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  
      key     

  public static void cursorDoubleToCursorValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
         0: .line 703
            aload 0 /* cursor */
            aload 1 /* field */
            aload 2 /* values */
            aload 1 /* field */
            invokestatic android.database.DatabaseUtils.cursorDoubleToContentValues:(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
         1: .line 704
            return
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  cursor  Landroid/database/Cursor;
            0    2     1   field  Ljava/lang/String;
            0    2     2  values  Landroid/content/ContentValues;
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  

  public static void cursorDoubleToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.database.Cursor cursor
        start local 1 // java.lang.String field
        start local 2 // android.content.ContentValues values
        start local 3 // java.lang.String key
         0: .line 716
            aload 0 /* cursor */
            aload 1 /* field */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 4 /* colIndex */
        start local 4 // int colIndex
         1: .line 717
            aload 0 /* cursor */
            iload 4 /* colIndex */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 4
         2: .line 718
            aload 2 /* values */
            aload 3 /* key */
            aload 0 /* cursor */
            iload 4 /* colIndex */
            invokeinterface android.database.Cursor.getDouble:(I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Double;)V
         3: .line 719
            goto 5
         4: .line 720
      StackMap locals: int
      StackMap stack:
            aload 2 /* values */
            aload 3 /* key */
            aconst_null
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Double;)V
         5: .line 722
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int colIndex
        end local 3 // java.lang.String key
        end local 2 // android.content.ContentValues values
        end local 1 // java.lang.String field
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0    cursor  Landroid/database/Cursor;
            0    6     1     field  Ljava/lang/String;
            0    6     2    values  Landroid/content/ContentValues;
            0    6     3       key  Ljava/lang/String;
            1    6     4  colIndex  I
    MethodParameters:
        Name  Flags
      cursor  
      field   
      values  
      key     

  public static void cursorRowToContentValues(android.database.Cursor, android.content.ContentValues);
    descriptor: (Landroid/database/Cursor;Landroid/content/ContentValues;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.database.Cursor cursor
        start local 1 // android.content.ContentValues values
         0: .line 731
            aload 0 /* cursor */
            invokeinterface android.database.Cursor.getColumnNames:()[Ljava/lang/String;
            astore 2 /* columns */
        start local 2 // java.lang.String[] columns
         1: .line 732
            aload 2 /* columns */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         2: .line 733
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 734
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 0 /* cursor */
            iload 4 /* i */
            invokeinterface android.database.Cursor.getType:(I)I
            iconst_4
            if_icmpne 7
         5: .line 735
            aload 1 /* values */
            aload 2 /* columns */
            iload 4 /* i */
            aaload
            aload 0 /* cursor */
            iload 4 /* i */
            invokeinterface android.database.Cursor.getBlob:(I)[B
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;[B)V
         6: .line 736
            goto 8
         7: .line 737
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            aload 2 /* columns */
            iload 4 /* i */
            aaload
            aload 0 /* cursor */
            iload 4 /* i */
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 733
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 4 // int i
        10: .line 740
            return
        end local 3 // int length
        end local 2 // java.lang.String[] columns
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0   cursor  Landroid/database/Cursor;
            0   11     1   values  Landroid/content/ContentValues;
            1   11     2  columns  [Ljava/lang/String;
            2   11     3   length  I
            3   10     4        i  I
    MethodParameters:
        Name  Flags
      cursor  
      values  

  public static int cursorPickFillWindowStartPosition(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int cursorPosition
        start local 1 // int cursorWindowCapacity
         0: .line 765
            iload 0 /* cursorPosition */
            iload 1 /* cursorWindowCapacity */
            iconst_3
            idiv
            isub
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 1 // int cursorWindowCapacity
        end local 0 // int cursorPosition
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0        cursorPosition  I
            0    1     1  cursorWindowCapacity  I
    MethodParameters:
                      Name  Flags
      cursorPosition        
      cursorWindowCapacity  

  public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, java.lang.String);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteDatabase db
        start local 1 // java.lang.String table
         0: .line 775
            aload 0 /* db */
            aload 1 /* table */
            aconst_null
            aconst_null
            invokestatic android.database.DatabaseUtils.queryNumEntries:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
            lreturn
        end local 1 // java.lang.String table
        end local 0 // android.database.sqlite.SQLiteDatabase db
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     db  Landroid/database/sqlite/SQLiteDatabase;
            0    1     1  table  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      db     
      table  

  public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.sqlite.SQLiteDatabase db
        start local 1 // java.lang.String table
        start local 2 // java.lang.String selection
         0: .line 788
            aload 0 /* db */
            aload 1 /* table */
            aload 2 /* selection */
            aconst_null
            invokestatic android.database.DatabaseUtils.queryNumEntries:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
            lreturn
        end local 2 // java.lang.String selection
        end local 1 // java.lang.String table
        end local 0 // android.database.sqlite.SQLiteDatabase db
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0         db  Landroid/database/sqlite/SQLiteDatabase;
            0    1     1      table  Ljava/lang/String;
            0    1     2  selection  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      db         
      table      
      selection  

  public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.database.sqlite.SQLiteDatabase db
        start local 1 // java.lang.String table
        start local 2 // java.lang.String selection
        start local 3 // java.lang.String[] selectionArgs
         0: .line 806
            aload 2 /* selection */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifne 1
            new java.lang.StringBuilder
            dup
            ldc " where "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* selection */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 4 /* s */
        start local 4 // java.lang.String s
         3: .line 807
            aload 0 /* db */
            new java.lang.StringBuilder
            dup
            ldc "select count(*) from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* table */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 808
            aload 3 /* selectionArgs */
         5: .line 807
            invokestatic android.database.DatabaseUtils.longForQuery:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
            lreturn
        end local 4 // java.lang.String s
        end local 3 // java.lang.String[] selectionArgs
        end local 2 // java.lang.String selection
        end local 1 // java.lang.String table
        end local 0 // android.database.sqlite.SQLiteDatabase db
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0             db  Landroid/database/sqlite/SQLiteDatabase;
            0    6     1          table  Ljava/lang/String;
            0    6     2      selection  Ljava/lang/String;
            0    6     3  selectionArgs  [Ljava/lang/String;
            3    6     4              s  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      db             
      table          
      selection      
      selectionArgs  

  public static boolean queryIsEmpty(android.database.sqlite.SQLiteDatabase, java.lang.String);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.database.sqlite.SQLiteDatabase db
        start local 1 // java.lang.String table
         0: .line 819
            aload 0 /* db */
            new java.lang.StringBuilder
            dup
            ldc "select exists(select 1 from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* table */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokestatic android.database.DatabaseUtils.longForQuery:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
            lstore 2 /* isEmpty */
        start local 2 // long isEmpty
         1: .line 820
            lload 2 /* isEmpty */
            lconst_0
            lcmp
            ifne 2
            iconst_1
            ireturn
      StackMap locals: long
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // long isEmpty
        end local 1 // java.lang.String table
        end local 0 // android.database.sqlite.SQLiteDatabase db
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0       db  Landroid/database/sqlite/SQLiteDatabase;
            0    3     1    table  Ljava/lang/String;
            1    3     2  isEmpty  J
    MethodParameters:
       Name  Flags
      db     
      table  

  public static long longForQuery(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // android.database.sqlite.SQLiteDatabase db
        start local 1 // java.lang.String query
        start local 2 // java.lang.String[] selectionArgs
         0: .line 828
            aload 0 /* db */
            aload 1 /* query */
            invokevirtual android.database.sqlite.SQLiteDatabase.compileStatement:(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
            astore 3 /* prog */
        start local 3 // android.database.sqlite.SQLiteStatement prog
         1: .line 830
            aload 3 /* prog */
            aload 2 /* selectionArgs */
            invokestatic android.database.DatabaseUtils.longForQuery:(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)J
            lstore 5
         2: .line 832
            aload 3 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         3: .line 830
            lload 5
            lreturn
         4: .line 831
      StackMap locals: android.database.sqlite.SQLiteDatabase java.lang.String java.lang.String[] android.database.sqlite.SQLiteStatement
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 832
            aload 3 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         6: .line 833
            aload 4
            athrow
        end local 3 // android.database.sqlite.SQLiteStatement prog
        end local 2 // java.lang.String[] selectionArgs
        end local 1 // java.lang.String query
        end local 0 // android.database.sqlite.SQLiteDatabase db
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0             db  Landroid/database/sqlite/SQLiteDatabase;
            0    7     1          query  Ljava/lang/String;
            0    7     2  selectionArgs  [Ljava/lang/String;
            1    7     3           prog  Landroid/database/sqlite/SQLiteStatement;
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
               Name  Flags
      db             
      query          
      selectionArgs  

  public static long longForQuery(android.database.sqlite.SQLiteStatement, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteStatement prog
        start local 1 // java.lang.String[] selectionArgs
         0: .line 841
            aload 0 /* prog */
            aload 1 /* selectionArgs */
            invokevirtual android.database.sqlite.SQLiteStatement.bindAllArgsAsStrings:([Ljava/lang/String;)V
         1: .line 842
            aload 0 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.simpleQueryForLong:()J
            lreturn
        end local 1 // java.lang.String[] selectionArgs
        end local 0 // android.database.sqlite.SQLiteStatement prog
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           prog  Landroid/database/sqlite/SQLiteStatement;
            0    2     1  selectionArgs  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      prog           
      selectionArgs  

  public static java.lang.String stringForQuery(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // android.database.sqlite.SQLiteDatabase db
        start local 1 // java.lang.String query
        start local 2 // java.lang.String[] selectionArgs
         0: .line 850
            aload 0 /* db */
            aload 1 /* query */
            invokevirtual android.database.sqlite.SQLiteDatabase.compileStatement:(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
            astore 3 /* prog */
        start local 3 // android.database.sqlite.SQLiteStatement prog
         1: .line 852
            aload 3 /* prog */
            aload 2 /* selectionArgs */
            invokestatic android.database.DatabaseUtils.stringForQuery:(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;
            astore 5
         2: .line 854
            aload 3 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         3: .line 852
            aload 5
            areturn
         4: .line 853
      StackMap locals: android.database.sqlite.SQLiteDatabase java.lang.String java.lang.String[] android.database.sqlite.SQLiteStatement
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 854
            aload 3 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         6: .line 855
            aload 4
            athrow
        end local 3 // android.database.sqlite.SQLiteStatement prog
        end local 2 // java.lang.String[] selectionArgs
        end local 1 // java.lang.String query
        end local 0 // android.database.sqlite.SQLiteDatabase db
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0             db  Landroid/database/sqlite/SQLiteDatabase;
            0    7     1          query  Ljava/lang/String;
            0    7     2  selectionArgs  [Ljava/lang/String;
            1    7     3           prog  Landroid/database/sqlite/SQLiteStatement;
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
               Name  Flags
      db             
      query          
      selectionArgs  

  public static java.lang.String stringForQuery(android.database.sqlite.SQLiteStatement, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteStatement prog
        start local 1 // java.lang.String[] selectionArgs
         0: .line 863
            aload 0 /* prog */
            aload 1 /* selectionArgs */
            invokevirtual android.database.sqlite.SQLiteStatement.bindAllArgsAsStrings:([Ljava/lang/String;)V
         1: .line 864
            aload 0 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.simpleQueryForString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String[] selectionArgs
        end local 0 // android.database.sqlite.SQLiteStatement prog
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           prog  Landroid/database/sqlite/SQLiteStatement;
            0    2     1  selectionArgs  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      prog           
      selectionArgs  

  public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // android.database.sqlite.SQLiteDatabase db
        start local 1 // java.lang.String query
        start local 2 // java.lang.String[] selectionArgs
         0: .line 875
            aload 0 /* db */
            aload 1 /* query */
            invokevirtual android.database.sqlite.SQLiteDatabase.compileStatement:(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
            astore 3 /* prog */
        start local 3 // android.database.sqlite.SQLiteStatement prog
         1: .line 877
            aload 3 /* prog */
            aload 2 /* selectionArgs */
            invokestatic android.database.DatabaseUtils.blobFileDescriptorForQuery:(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
            astore 5
         2: .line 879
            aload 3 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         3: .line 877
            aload 5
            areturn
         4: .line 878
      StackMap locals: android.database.sqlite.SQLiteDatabase java.lang.String java.lang.String[] android.database.sqlite.SQLiteStatement
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 879
            aload 3 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         6: .line 880
            aload 4
            athrow
        end local 3 // android.database.sqlite.SQLiteStatement prog
        end local 2 // java.lang.String[] selectionArgs
        end local 1 // java.lang.String query
        end local 0 // android.database.sqlite.SQLiteDatabase db
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0             db  Landroid/database/sqlite/SQLiteDatabase;
            0    7     1          query  Ljava/lang/String;
            0    7     2  selectionArgs  [Ljava/lang/String;
            1    7     3           prog  Landroid/database/sqlite/SQLiteStatement;
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
               Name  Flags
      db             
      query          
      selectionArgs  

  public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteStatement, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteStatement prog
        start local 1 // java.lang.String[] selectionArgs
         0: .line 891
            aload 0 /* prog */
            aload 1 /* selectionArgs */
            invokevirtual android.database.sqlite.SQLiteStatement.bindAllArgsAsStrings:([Ljava/lang/String;)V
         1: .line 892
            aload 0 /* prog */
            invokevirtual android.database.sqlite.SQLiteStatement.simpleQueryForBlobFileDescriptor:()Landroid/os/ParcelFileDescriptor;
            areturn
        end local 1 // java.lang.String[] selectionArgs
        end local 0 // android.database.sqlite.SQLiteStatement prog
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           prog  Landroid/database/sqlite/SQLiteStatement;
            0    2     1  selectionArgs  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      prog           
      selectionArgs  

  public static void cursorStringToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // android.content.ContentValues values
        start local 2 // java.lang.String column
         0: .line 905
            aload 0 /* cursor */
            aload 2 /* column */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 906
            iload 3 /* index */
            iconst_m1
            if_icmpeq 3
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 3
         2: .line 907
            aload 1 /* values */
            aload 2 /* column */
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 909
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int index
        end local 2 // java.lang.String column
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  cursor  Landroid/database/Cursor;
            0    4     1  values  Landroid/content/ContentValues;
            0    4     2  column  Ljava/lang/String;
            1    4     3   index  I
    MethodParameters:
        Name  Flags
      cursor  
      values  
      column  

  public static void cursorLongToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // android.content.ContentValues values
        start local 2 // java.lang.String column
         0: .line 921
            aload 0 /* cursor */
            aload 2 /* column */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 922
            iload 3 /* index */
            iconst_m1
            if_icmpeq 3
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 3
         2: .line 923
            aload 1 /* values */
            aload 2 /* column */
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.getLong:(I)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Long;)V
         3: .line 925
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int index
        end local 2 // java.lang.String column
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  cursor  Landroid/database/Cursor;
            0    4     1  values  Landroid/content/ContentValues;
            0    4     2  column  Ljava/lang/String;
            1    4     3   index  I
    MethodParameters:
        Name  Flags
      cursor  
      values  
      column  

  public static void cursorShortToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // android.content.ContentValues values
        start local 2 // java.lang.String column
         0: .line 937
            aload 0 /* cursor */
            aload 2 /* column */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 938
            iload 3 /* index */
            iconst_m1
            if_icmpeq 3
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 3
         2: .line 939
            aload 1 /* values */
            aload 2 /* column */
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.getShort:(I)S
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Short;)V
         3: .line 941
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int index
        end local 2 // java.lang.String column
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  cursor  Landroid/database/Cursor;
            0    4     1  values  Landroid/content/ContentValues;
            0    4     2  column  Ljava/lang/String;
            1    4     3   index  I
    MethodParameters:
        Name  Flags
      cursor  
      values  
      column  

  public static void cursorIntToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // android.content.ContentValues values
        start local 2 // java.lang.String column
         0: .line 953
            aload 0 /* cursor */
            aload 2 /* column */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 954
            iload 3 /* index */
            iconst_m1
            if_icmpeq 3
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 3
         2: .line 955
            aload 1 /* values */
            aload 2 /* column */
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.getInt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Integer;)V
         3: .line 957
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int index
        end local 2 // java.lang.String column
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  cursor  Landroid/database/Cursor;
            0    4     1  values  Landroid/content/ContentValues;
            0    4     2  column  Ljava/lang/String;
            1    4     3   index  I
    MethodParameters:
        Name  Flags
      cursor  
      values  
      column  

  public static void cursorFloatToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // android.content.ContentValues values
        start local 2 // java.lang.String column
         0: .line 969
            aload 0 /* cursor */
            aload 2 /* column */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 970
            iload 3 /* index */
            iconst_m1
            if_icmpeq 3
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 3
         2: .line 971
            aload 1 /* values */
            aload 2 /* column */
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.getFloat:(I)F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Float;)V
         3: .line 973
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int index
        end local 2 // java.lang.String column
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  cursor  Landroid/database/Cursor;
            0    4     1  values  Landroid/content/ContentValues;
            0    4     2  column  Ljava/lang/String;
            1    4     3   index  I
    MethodParameters:
        Name  Flags
      cursor  
      values  
      column  

  public static void cursorDoubleToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.Cursor cursor
        start local 1 // android.content.ContentValues values
        start local 2 // java.lang.String column
         0: .line 985
            aload 0 /* cursor */
            aload 2 /* column */
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 986
            iload 3 /* index */
            iconst_m1
            if_icmpeq 3
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.isNull:(I)Z
            ifne 3
         2: .line 987
            aload 1 /* values */
            aload 2 /* column */
            aload 0 /* cursor */
            iload 3 /* index */
            invokeinterface android.database.Cursor.getDouble:(I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Double;)V
         3: .line 989
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int index
        end local 2 // java.lang.String column
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.Cursor cursor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  cursor  Landroid/database/Cursor;
            0    4     1  values  Landroid/content/ContentValues;
            0    4     2  column  Ljava/lang/String;
            1    4     3   index  I
    MethodParameters:
        Name  Flags
      cursor  
      values  
      column  

  public static void createDbFromSqlStatements(android.content.Context, java.lang.String, int, java.lang.String);
    descriptor: (Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // android.content.Context context
        start local 1 // java.lang.String dbName
        start local 2 // int dbVersion
        start local 3 // java.lang.String sqlStatements
         0: .line 1364
            aload 0 /* context */
            aload 1 /* dbName */
            iconst_0
            aconst_null
            invokevirtual android.content.Context.openOrCreateDatabase:(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
            astore 4 /* db */
        start local 4 // android.database.sqlite.SQLiteDatabase db
         1: .line 1368
            aload 3 /* sqlStatements */
            ldc ";\n"
            invokestatic android.text.TextUtils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* statements */
        start local 5 // java.lang.String[] statements
         2: .line 1369
            aload 5 /* statements */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 7
      StackMap locals: android.content.Context java.lang.String int java.lang.String android.database.sqlite.SQLiteDatabase java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         3: aload 9
            iload 7
            aaload
            astore 6 /* statement */
        start local 6 // java.lang.String statement
         4: .line 1370
            aload 6 /* statement */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 5
            goto 6
         5: .line 1371
      StackMap locals: android.content.Context java.lang.String int java.lang.String android.database.sqlite.SQLiteDatabase java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 4 /* db */
            aload 6 /* statement */
            invokevirtual android.database.sqlite.SQLiteDatabase.execSQL:(Ljava/lang/String;)V
        end local 6 // java.lang.String statement
         6: .line 1369
      StackMap locals: android.content.Context java.lang.String int java.lang.String android.database.sqlite.SQLiteDatabase java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
         7: iload 7
            iload 8
            if_icmplt 3
         8: .line 1373
            aload 4 /* db */
            iload 2 /* dbVersion */
            invokevirtual android.database.sqlite.SQLiteDatabase.setVersion:(I)V
         9: .line 1374
            aload 4 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
        10: .line 1375
            return
        end local 5 // java.lang.String[] statements
        end local 4 // android.database.sqlite.SQLiteDatabase db
        end local 3 // java.lang.String sqlStatements
        end local 2 // int dbVersion
        end local 1 // java.lang.String dbName
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0        context  Landroid/content/Context;
            0   11     1         dbName  Ljava/lang/String;
            0   11     2      dbVersion  I
            0   11     3  sqlStatements  Ljava/lang/String;
            1   11     4             db  Landroid/database/sqlite/SQLiteDatabase;
            2   11     5     statements  [Ljava/lang/String;
            4    6     6      statement  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      context        
      dbName         
      dbVersion      
      sqlStatements  

  public static int getSqlStatementType(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String sql
         0: .line 1392
            aload 0 /* sql */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* sql */
         1: .line 1393
            aload 0 /* sql */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmpge 3
         2: .line 1394
            bipush 99
            ireturn
         3: .line 1396
      StackMap locals:
      StackMap stack:
            aload 0 /* sql */
            iconst_0
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 1 /* prefixSql */
        start local 1 // java.lang.String prefixSql
         4: .line 1397
            aload 1 /* prefixSql */
            ldc "SEL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1398
            iconst_1
            ireturn
         6: .line 1399
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "INS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         7: .line 1400
            aload 1 /* prefixSql */
            ldc "UPD"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         8: .line 1401
            aload 1 /* prefixSql */
            ldc "REP"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 1402
            aload 1 /* prefixSql */
            ldc "DEL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1403
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        11: .line 1404
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "ATT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 1405
            iconst_3
            ireturn
        13: .line 1406
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "COM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 1407
            iconst_5
            ireturn
        15: .line 1408
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "END"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 1409
            iconst_5
            ireturn
        17: .line 1410
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "ROL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        18: .line 1411
            aload 0 /* sql */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc " TO "
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            istore 2 /* isRollbackToSavepoint */
        start local 2 // boolean isRollbackToSavepoint
        19: .line 1412
            iload 2 /* isRollbackToSavepoint */
            ifeq 24
        20: .line 1413
            ldc "DatabaseUtils"
            new java.lang.StringBuilder
            dup
            ldc "Statement '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 1414
            ldc "' may not work on API levels 16-27, use ';"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' instead"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1413
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        23: .line 1415
            bipush 99
            ireturn
        24: .line 1417
      StackMap locals: int
      StackMap stack:
            bipush 6
            ireturn
        end local 2 // boolean isRollbackToSavepoint
        25: .line 1418
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "BEG"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 1419
            iconst_4
            ireturn
        27: .line 1420
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "PRA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 1421
            bipush 7
            ireturn
        29: .line 1422
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "CRE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
            aload 1 /* prefixSql */
            ldc "DRO"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
        30: .line 1423
            aload 1 /* prefixSql */
            ldc "ALT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        31: .line 1424
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
        32: .line 1425
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixSql */
            ldc "ANA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 33
            aload 1 /* prefixSql */
            ldc "DET"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        33: .line 1426
      StackMap locals:
      StackMap stack:
            bipush 9
            ireturn
        34: .line 1428
      StackMap locals:
      StackMap stack:
            bipush 99
            ireturn
        end local 1 // java.lang.String prefixSql
        end local 0 // java.lang.String sql
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   35     0                    sql  Ljava/lang/String;
            4   35     1              prefixSql  Ljava/lang/String;
           19   25     2  isRollbackToSavepoint  Z
    MethodParameters:
      Name  Flags
      sql   

  public static java.lang.String[] appendSelectionArgs(java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String[] originalValues
        start local 1 // java.lang.String[] newValues
         0: .line 1436
            aload 0 /* originalValues */
            ifnull 1
            aload 0 /* originalValues */
            arraylength
            ifne 2
         1: .line 1437
      StackMap locals:
      StackMap stack:
            aload 1 /* newValues */
            areturn
         2: .line 1439
      StackMap locals:
      StackMap stack:
            aload 0 /* originalValues */
            arraylength
            aload 1 /* newValues */
            arraylength
            iadd
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         3: .line 1440
            aload 0 /* originalValues */
            iconst_0
            aload 2 /* result */
            iconst_0
            aload 0 /* originalValues */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 1441
            aload 1 /* newValues */
            iconst_0
            aload 2 /* result */
            aload 0 /* originalValues */
            arraylength
            aload 1 /* newValues */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 1442
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // java.lang.String[] newValues
        end local 0 // java.lang.String[] originalValues
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  originalValues  [Ljava/lang/String;
            0    6     1       newValues  [Ljava/lang/String;
            3    6     2          result  [Ljava/lang/String;
    MethodParameters:
                Name  Flags
      originalValues  
      newValues       

  public static int findRowIdColumnIndex(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String[] columnNames
         0: .line 1450
            aload 0 /* columnNames */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 1451
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 1452
      StackMap locals: int int
      StackMap stack:
            aload 0 /* columnNames */
            iload 2 /* i */
            aaload
            ldc "_id"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1453
            iload 2 /* i */
            ireturn
         5: .line 1451
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 1 /* length */
            if_icmplt 3
        end local 2 // int i
         7: .line 1456
            iconst_m1
            ireturn
        end local 1 // int length
        end local 0 // java.lang.String[] columnNames
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0  columnNames  [Ljava/lang/String;
            1    8     1       length  I
            2    7     2            i  I
    MethodParameters:
             Name  Flags
      columnNames  
}
SourceFile: "DatabaseUtils.java"
NestMembers:
  android.database.DatabaseUtils$InsertHelper
InnerClasses:
  public InsertHelper = android.database.DatabaseUtils$InsertHelper of android.database.DatabaseUtils
  public abstract CursorFactory = android.database.sqlite.SQLiteDatabase$CursorFactory of android.database.sqlite.SQLiteDatabase