public class java.io.ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput, java.io.ObjectStreamConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.io.ObjectInputStream
  super_class: java.io.InputStream
{
  private static final int NULL_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.lang.Object unsharedMarker;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.HashMap<java.lang.String, java.lang.Class<?>> primClasses;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Class<*>;>;

  private final java.io.ObjectInputStream$BlockDataInputStream bin;
    descriptor: Ljava/io/ObjectInputStream$BlockDataInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.ObjectInputStream$ValidationList vlist;
    descriptor: Ljava/io/ObjectInputStream$ValidationList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long depth;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long totalObjectRefs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private final java.io.ObjectInputStream$HandleTable handles;
    descriptor: Ljava/io/ObjectInputStream$HandleTable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int passHandle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private byte[] primVals;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.io.SerialCallbackContext curContext;
    descriptor: Ljava/io/SerialCallbackContext;
    flags: (0x0002) ACC_PRIVATE

  private sun.misc.ObjectInputFilter serialFilter;
    descriptor: Lsun/misc/ObjectInputFilter;
    flags: (0x0002) ACC_PRIVATE

  private volatile sun.misc.ObjectStreamClassValidator validator;
    descriptor: Lsun/misc/ObjectStreamClassValidator;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 220
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
         1: .line 224
            new java.util.HashMap
            dup
            bipush 8
            fconst_1
            invokespecial java.util.HashMap.<init>:(IF)V
         2: .line 223
            putstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
         3: .line 226
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "boolean"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 227
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "byte"
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 228
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "char"
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 229
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "short"
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 230
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "int"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 231
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "long"
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 232
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "float"
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 233
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "double"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 234
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "void"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 249
            new java.io.ObjectInputStream$1
            dup
            invokespecial java.io.ObjectInputStream$1.<init>:()V
            astore 0 /* javaOISAccess */
        start local 0 // sun.misc.JavaOISAccess javaOISAccess
        13: .line 265
            aload 0 /* javaOISAccess */
            invokestatic sun.misc.SharedSecrets.setJavaOISAccess:(Lsun/misc/JavaOISAccess;)V
        end local 0 // sun.misc.JavaOISAccess javaOISAccess
        14: .line 3921
            new java.io.ObjectInputStream$2
            dup
            invokespecial java.io.ObjectInputStream$2.<init>:()V
            invokestatic sun.misc.SharedSecrets.setJavaObjectInputStreamAccess:(Lsun/misc/JavaObjectInputStreamAccess;)V
        15: .line 3926
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
           13   14     0  javaOISAccess  Lsun/misc/JavaOISAccess;

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.InputStream in
         0: .line 350
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 303
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 305
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 351
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.verifySubclass:()V
         4: .line 352
            aload 0 /* this */
            new java.io.ObjectInputStream$BlockDataInputStream
            dup
            aload 0 /* this */
            aload 1 /* in */
            invokespecial java.io.ObjectInputStream$BlockDataInputStream.<init>:(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         5: .line 353
            aload 0 /* this */
            new java.io.ObjectInputStream$HandleTable
            dup
            bipush 10
            invokespecial java.io.ObjectInputStream$HandleTable.<init>:(I)V
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         6: .line 354
            aload 0 /* this */
            new java.io.ObjectInputStream$ValidationList
            dup
            invokespecial java.io.ObjectInputStream$ValidationList.<init>:()V
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         7: .line 355
            aload 0 /* this */
            invokestatic sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
         8: .line 356
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.enableOverride:Z
         9: .line 357
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readStreamHeader:()V
        10: .line 358
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 359
            return
        end local 1 // java.io.InputStream in
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            0   12     1    in  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 377
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 303
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 305
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 378
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         4: .line 379
            aload 1 /* sm */
            ifnull 6
         5: .line 380
            aload 1 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         6: .line 382
      StackMap locals: java.io.ObjectInputStream java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         7: .line 383
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         8: .line 384
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         9: .line 385
            aload 0 /* this */
            invokestatic sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
        10: .line 386
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.enableOverride:Z
        11: .line 387
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            4   12     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException

  public final java.lang.Object readObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 422
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableOverride:Z
            ifeq 2
         1: .line 423
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readObjectOverride:()Ljava/lang/Object;
            areturn
         2: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* outerHandle */
        start local 1 // int outerHandle
         3: .line 429
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         4: .line 430
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         5: .line 431
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         6: .line 432
            aload 3 /* ex */
            ifnull 8
         7: .line 433
            aload 3 /* ex */
            athrow
         8: .line 435
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 10
         9: .line 436
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
        10: .line 438
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            astore 5
        11: .line 440
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        12: .line 441
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 14
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 14
        13: .line 442
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        14: .line 438
      StackMap locals: java.io.ObjectInputStream int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 5
            areturn
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.Object obj
        15: .line 439
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 4
        16: .line 440
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        17: .line 441
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 19
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 19
        18: .line 442
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        19: .line 444
      StackMap locals: java.io.ObjectInputStream int top top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 1 // int outerHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Ljava/io/ObjectInputStream;
            3   20     1  outerHandle  I
            4   15     2          obj  Ljava/lang/Object;
            6   15     3           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           3    11      15  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  protected java.lang.Object readObjectOverride();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 467
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.lang.Object readUnshared();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 517
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* outerHandle */
        start local 1 // int outerHandle
         1: .line 519
            aload 0 /* this */
            iconst_1
            invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         2: .line 520
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         3: .line 521
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 522
            aload 3 /* ex */
            ifnull 6
         5: .line 523
            aload 3 /* ex */
            athrow
         6: .line 525
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 8
         7: .line 526
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
         8: .line 528
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            astore 5
         9: .line 530
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        10: .line 531
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 12
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 12
        11: .line 532
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        12: .line 528
      StackMap locals: java.io.ObjectInputStream int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 5
            areturn
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.Object obj
        13: .line 529
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 4
        14: .line 530
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        15: .line 531
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 17
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 17
        16: .line 532
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        17: .line 534
      StackMap locals: java.io.ObjectInputStream int top top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 1 // int outerHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Ljava/io/ObjectInputStream;
            1   18     1  outerHandle  I
            2   13     2          obj  Ljava/lang/Object;
            4   13     3           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           1     9      13  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void defaultReadObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 552
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 553
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 554
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 556
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
            astore 2 /* curObj */
        start local 2 // java.lang.Object curObj
         4: .line 557
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 3 /* curDesc */
        start local 3 // java.io.ObjectStreamClass curDesc
         5: .line 558
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 559
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
         7: .line 560
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         8: .line 561
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 10
         9: .line 567
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        10: .line 569
      StackMap locals: java.lang.Object java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 4 /* ex */
        start local 4 // java.lang.ClassNotFoundException ex
        11: .line 570
            aload 4 /* ex */
            ifnull 13
        12: .line 571
            aload 4 /* ex */
            athrow
        13: .line 573
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            return
        end local 4 // java.lang.ClassNotFoundException ex
        end local 3 // java.io.ObjectStreamClass curDesc
        end local 2 // java.lang.Object curObj
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Ljava/io/ObjectInputStream;
            1   14     1      ctx  Ljava/io/SerialCallbackContext;
            4   14     2   curObj  Ljava/lang/Object;
            5   14     3  curDesc  Ljava/io/ObjectStreamClass;
           11   14     4       ex  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.io.ObjectInputStream$GetField readFields();
    descriptor: ()Ljava/io/ObjectInputStream$GetField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 591
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 592
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 593
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 595
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
            pop
         4: .line 596
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 2 /* curDesc */
        start local 2 // java.io.ObjectStreamClass curDesc
         5: .line 597
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 598
            new java.io.ObjectInputStream$GetFieldImpl
            dup
            aload 0 /* this */
            aload 2 /* curDesc */
            invokespecial java.io.ObjectInputStream$GetFieldImpl.<init>:(Ljava/io/ObjectInputStream;Ljava/io/ObjectStreamClass;)V
            astore 3 /* getField */
        start local 3 // java.io.ObjectInputStream$GetFieldImpl getField
         7: .line 599
            aload 3 /* getField */
            invokevirtual java.io.ObjectInputStream$GetFieldImpl.readFields:()V
         8: .line 600
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         9: .line 601
            aload 2 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 11
        10: .line 607
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        11: .line 610
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream$GetFieldImpl
      StackMap stack:
            aload 3 /* getField */
            areturn
        end local 3 // java.io.ObjectInputStream$GetFieldImpl getField
        end local 2 // java.io.ObjectStreamClass curDesc
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/io/ObjectInputStream;
            1   12     1       ctx  Ljava/io/SerialCallbackContext;
            5   12     2   curDesc  Ljava/io/ObjectStreamClass;
            7   12     3  getField  Ljava/io/ObjectInputStream$GetFieldImpl;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void registerValidation(java.io.ObjectInputValidation, int);
    descriptor: (Ljava/io/ObjectInputValidation;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputValidation obj
        start local 2 // int prio
         0: .line 632
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 2
         1: .line 633
            new java.io.NotActiveException
            dup
            ldc "stream inactive"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            aload 1 /* obj */
            iload 2 /* prio */
            invokevirtual java.io.ObjectInputStream$ValidationList.register:(Ljava/io/ObjectInputValidation;I)V
         3: .line 636
            return
        end local 2 // int prio
        end local 1 // java.io.ObjectInputValidation obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            0    4     1   obj  Ljava/io/ObjectInputValidation;
            0    4     2  prio  I
    Exceptions:
      throws java.io.NotActiveException, java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      obj   
      prio  

  protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass desc
         0: .line 682
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 684
            aload 2 /* name */
            iconst_0
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         2: areturn
         3: .line 685
      StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.lang.String
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 686
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            aload 2 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
         5: .line 687
            aload 4 /* cl */
            ifnull 7
         6: .line 688
            aload 4 /* cl */
            areturn
         7: .line 690
      StackMap locals: java.lang.ClassNotFoundException java.lang.Class
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 4 // java.lang.Class cl
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.String name
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectInputStream;
            0    8     1  desc  Ljava/io/ObjectStreamClass;
            1    8     2  name  Ljava/lang/String;
            4    8     3    ex  Ljava/lang/ClassNotFoundException;
            5    8     4    cl  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      desc  

  protected java.lang.Class<?> resolveProxyClass(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.String[] interfaces
         0: .line 749
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            astore 2 /* latestLoader */
        start local 2 // java.lang.ClassLoader latestLoader
         1: .line 750
            aconst_null
            astore 3 /* nonPublicLoader */
        start local 3 // java.lang.ClassLoader nonPublicLoader
         2: .line 751
            iconst_0
            istore 4 /* hasNonPublicInterface */
        start local 4 // boolean hasNonPublicInterface
         3: .line 754
            aload 1 /* interfaces */
            arraylength
            anewarray java.lang.Class
            astore 5 /* classObjs */
        start local 5 // java.lang.Class[] classObjs
         4: .line 755
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 17
         6: .line 756
      StackMap locals: java.io.ObjectInputStream java.lang.String[] java.lang.ClassLoader java.lang.ClassLoader int java.lang.Class[] int
      StackMap stack:
            aload 1 /* interfaces */
            iload 6 /* i */
            aaload
            iconst_0
            aload 2 /* latestLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
         7: .line 757
            aload 7 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
            iconst_1
            iand
            ifne 15
         8: .line 758
            iload 4 /* hasNonPublicInterface */
            ifeq 13
         9: .line 759
            aload 3 /* nonPublicLoader */
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 15
        10: .line 760
            new java.lang.IllegalAccessError
            dup
        11: .line 761
            ldc "conflicting non-public interface class loaders"
        12: .line 760
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 764
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* nonPublicLoader */
        14: .line 765
            iconst_1
            istore 4 /* hasNonPublicInterface */
        15: .line 768
      StackMap locals:
      StackMap stack:
            aload 5 /* classObjs */
            iload 6 /* i */
            aload 7 /* cl */
            aastore
        end local 7 // java.lang.Class cl
        16: .line 755
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 1 /* interfaces */
            arraylength
            if_icmplt 6
        end local 6 // int i
        18: .line 772
            iload 4 /* hasNonPublicInterface */
            ifeq 19
            aload 3 /* nonPublicLoader */
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 2 /* latestLoader */
        20: .line 773
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            aload 5 /* classObjs */
        21: .line 771
            invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
        22: areturn
        23: .line 774
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
        24: .line 775
            new java.lang.ClassNotFoundException
            dup
            aconst_null
            aload 6 /* e */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException e
        end local 5 // java.lang.Class[] classObjs
        end local 4 // boolean hasNonPublicInterface
        end local 3 // java.lang.ClassLoader nonPublicLoader
        end local 2 // java.lang.ClassLoader latestLoader
        end local 1 // java.lang.String[] interfaces
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   25     0                   this  Ljava/io/ObjectInputStream;
            0   25     1             interfaces  [Ljava/lang/String;
            1   25     2           latestLoader  Ljava/lang/ClassLoader;
            2   25     3        nonPublicLoader  Ljava/lang/ClassLoader;
            3   25     4  hasNonPublicInterface  Z
            4   25     5              classObjs  [Ljava/lang/Class;
            5   18     6                      i  I
            7   16     7                     cl  Ljava/lang/Class;
           24   25     6                      e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          18    22      23  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: ([Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      interfaces  

  protected java.lang.Object resolveObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 807
            aload 1 /* obj */
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  protected boolean enableResolveObject(boolean);
    descriptor: (Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean enable
         0: .line 834
            iload 1 /* enable */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            if_icmpne 2
         1: .line 835
            iload 1 /* enable */
            ireturn
         2: .line 837
      StackMap locals:
      StackMap stack:
            iload 1 /* enable */
            ifeq 6
         3: .line 838
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 839
            aload 2 /* sm */
            ifnull 6
         5: .line 840
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBSTITUTION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 2 // java.lang.SecurityManager sm
         6: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enable */
            putfield java.io.ObjectInputStream.enableResolve:Z
         7: .line 844
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 1 // boolean enable
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/io/ObjectInputStream;
            0   10     1  enable  Z
            4    6     2      sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
        Name  Flags
      enable  

  protected void readStreamHeader();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 860
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 1 /* s0 */
        start local 1 // short s0
         1: .line 861
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 2 /* s1 */
        start local 2 // short s1
         2: .line 862
            iload 1 /* s0 */
            sipush -21267
            if_icmpne 3
            iload 2 /* s1 */
            iconst_5
            if_icmpeq 6
         3: .line 863
      StackMap locals: int int
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         4: .line 864
            ldc "invalid stream header: %04X%04X"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* s0 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            iload 2 /* s1 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 863
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 866
      StackMap locals:
      StackMap stack:
            return
        end local 2 // short s1
        end local 1 // short s0
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/io/ObjectInputStream;
            1    7     1    s0  S
            2    7     2    s1  S
    Exceptions:
      throws java.io.IOException, java.io.StreamCorruptedException

  protected java.io.ObjectStreamClass readClassDescriptor();
    descriptor: ()Ljava/io/ObjectStreamClass;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 888
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 1 /* desc */
        start local 1 // java.io.ObjectStreamClass desc
         1: .line 889
            aload 1 /* desc */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.readNonProxy:(Ljava/io/ObjectInputStream;)V
         2: .line 890
            aload 1 /* desc */
            areturn
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;
            1    3     1  desc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 900
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 917
            aload 1 /* buf */
            ifnonnull 2
         1: .line 918
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 920
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         3: .line 921
            iload 2 /* off */
            iflt 4
            iload 3 /* len */
            iflt 4
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 4
            iload 4 /* endoff */
            ifge 5
         4: .line 922
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         5: .line 924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:([BIIZ)I
            ireturn
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/io/ObjectInputStream;
            0    6     1     buf  [B
            0    6     2     off  I
            0    6     3     len  I
            3    6     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 935
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.available:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 949
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.closed:Z
         1: .line 950
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 3
         2: .line 951
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.close:()V
         4: .line 954
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public boolean readBoolean();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 964
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBoolean:()Z
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public byte readByte();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 975
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedByte();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 986
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedByte:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public char readChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 997
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChar:()C
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public short readShort();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1008
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedShort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1019
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1030
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public long readLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1041
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLong:()J
            lreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public float readFloat();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1052
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloat:()F
            freturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public double readDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1063
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDouble:()D
            dreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void readFully(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
         0: .line 1074
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iconst_0
            aload 1 /* buf */
            arraylength
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         1: .line 1075
            return
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;
            0    2     1   buf  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   

  public void readFully(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 1087
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         1: .line 1088
            iload 2 /* off */
            iflt 2
            iload 3 /* len */
            iflt 2
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 2
            iload 4 /* endoff */
            ifge 3
         2: .line 1089
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         3: .line 1091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         4: .line 1092
            return
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/io/ObjectInputStream;
            0    5     1     buf  [B
            0    5     2     off  I
            0    5     3     len  I
            1    5     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int skipBytes(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // int len
         0: .line 1102
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 1 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBytes:(I)I
            ireturn
        end local 1 // int len
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      len   

  public java.lang.String readLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1116
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLine:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        java.lang.Deprecated()

  public java.lang.String readUTF();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1131
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private final sun.misc.ObjectInputFilter getInternalObjectInputFilter();
    descriptor: ()Lsun/misc/ObjectInputFilter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1144
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;

  private final void setInternalObjectInputFilter(sun.misc.ObjectInputFilter);
    descriptor: (Lsun/misc/ObjectInputFilter;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // sun.misc.ObjectInputFilter filter
         0: .line 1208
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1209
            aload 2 /* sm */
            ifnull 3
         2: .line 1210
            aload 2 /* sm */
            new java.io.SerializablePermission
            dup
            ldc "serialFilter"
            invokespecial java.io.SerializablePermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 1213
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            ifnull 6
         4: .line 1214
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            invokestatic sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
            if_acmpeq 6
         5: .line 1215
            new java.lang.IllegalStateException
            dup
            ldc "filter can not be set more than once"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filter */
            putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
         7: .line 1218
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // sun.misc.ObjectInputFilter filter
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/io/ObjectInputStream;
            0    8     1  filter  Lsun/misc/ObjectInputFilter;
            1    8     2      sm  Ljava/lang/SecurityManager;
    MethodParameters:
        Name  Flags
      filter  

  private void filterCheck(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=6, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class clazz
        start local 2 // int arrayLength
         0: .line 1231
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            ifnull 26
         1: .line 1232
            aconst_null
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
         2: .line 1235
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            new java.io.ObjectInputStream$FilterValues
            dup
            aload 1 /* clazz */
            iload 2 /* arrayLength */
            i2l
         3: .line 1236
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
            invokespecial java.io.ObjectInputStream$FilterValues.<init>:(Ljava/lang/Class;JJJJ)V
         4: .line 1235
            invokeinterface sun.misc.ObjectInputFilter.checkInput:(Lsun/misc/ObjectInputFilter$FilterInfo;)Lsun/misc/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // sun.misc.ObjectInputFilter$Status status
         5: .line 1237
            goto 9
        end local 4 // sun.misc.ObjectInputFilter$Status status
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException
      StackMap stack: java.lang.RuntimeException
         6: astore 5 /* e */
        start local 5 // java.lang.RuntimeException e
         7: .line 1239
            getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // sun.misc.ObjectInputFilter$Status status
         8: .line 1240
            aload 5 /* e */
            astore 3 /* ex */
        end local 5 // java.lang.RuntimeException e
         9: .line 1242
      StackMap locals: sun.misc.ObjectInputFilter$Status
      StackMap stack:
            aload 4 /* status */
            ifnull 11
        10: .line 1243
            aload 4 /* status */
            getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
            if_acmpne 20
        11: .line 1245
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectInputStream$Logging.infoLogger:Ljava/util/logging/Logger;
            ifnull 17
        12: .line 1246
            getstatic java.io.ObjectInputStream$Logging.infoLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
        13: .line 1247
            ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
        14: .line 1248
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* status */
            aastore
            dup
            iconst_1
            aload 1 /* clazz */
            aastore
            dup
            iconst_2
            iload 2 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
        15: .line 1249
            aload 3 /* ex */
            ldc "n/a"
            invokestatic java.io.ObjectInputStream.objectsToString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
        16: .line 1246
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 1251
      StackMap locals:
      StackMap stack:
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "filter status: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* status */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            astore 5 /* ice */
        start local 5 // java.io.InvalidClassException ice
        18: .line 1252
            aload 5 /* ice */
            aload 3 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        19: .line 1253
            aload 5 /* ice */
            athrow
        end local 5 // java.io.InvalidClassException ice
        20: .line 1256
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectInputStream$Logging.traceLogger:Ljava/util/logging/Logger;
            ifnull 26
        21: .line 1257
            getstatic java.io.ObjectInputStream$Logging.traceLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
        22: .line 1258
            ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
        23: .line 1259
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* status */
            aastore
            dup
            iconst_1
            aload 1 /* clazz */
            aastore
            dup
            iconst_2
            iload 2 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
        24: .line 1260
            aload 3 /* ex */
            ldc "n/a"
            invokestatic java.io.ObjectInputStream.objectsToString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
        25: .line 1257
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        end local 4 // sun.misc.ObjectInputFilter$Status status
        end local 3 // java.lang.RuntimeException ex
        26: .line 1264
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class clazz
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Ljava/io/ObjectInputStream;
            0   27     1        clazz  Ljava/lang/Class<*>;
            0   27     2  arrayLength  I
            2   26     3           ex  Ljava/lang/RuntimeException;
            5    6     4       status  Lsun/misc/ObjectInputFilter$Status;
            8   26     4       status  Lsun/misc/ObjectInputFilter$Status;
            7    9     5            e  Ljava/lang/RuntimeException;
           18   20     5          ice  Ljava/io/InvalidClassException;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      clazz        
      arrayLength  

  private static java.lang.String objectsToString(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object o
        start local 1 // java.lang.String nullDefault
         0: .line 1267
            aload 0 /* o */
            ifnull 1
            aload 0 /* o */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* nullDefault */
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.String nullDefault
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0            o  Ljava/lang/Object;
            0    3     1  nullDefault  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      o            
      nullDefault  

  private void checkArray(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class arrayType
        start local 2 // int arrayLength
         0: .line 1285
            aload 1 /* arrayType */
            ifnonnull 2
         1: .line 1286
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 1289
      StackMap locals:
      StackMap stack:
            aload 1 /* arrayType */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 4
         3: .line 1290
            new java.lang.IllegalArgumentException
            dup
            ldc "not an array type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1293
      StackMap locals:
      StackMap stack:
            iload 2 /* arrayLength */
            ifge 6
         5: .line 1294
            new java.lang.NegativeArraySizeException
            dup
            invokespecial java.lang.NegativeArraySizeException.<init>:()V
            athrow
         6: .line 1297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arrayType */
            iload 2 /* arrayLength */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         7: .line 1298
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class arrayType
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljava/io/ObjectInputStream;
            0    8     1    arrayType  Ljava/lang/Class<*>;
            0    8     2  arrayLength  I
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      arrayType    
      arrayLength  

  private void verifySubclass();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1460
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
         1: .line 1461
            aload 1 /* cl */
            ldc Ljava/io/ObjectInputStream;
            if_acmpne 3
         2: .line 1462
            return
         3: .line 1464
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 1465
            aload 2 /* sm */
            ifnonnull 6
         5: .line 1466
            return
         6: .line 1468
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
         7: .line 1469
            new java.io.ObjectStreamClass$WeakClassKey
            dup
            aload 1 /* cl */
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            invokespecial java.io.ObjectStreamClass$WeakClassKey.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
            astore 3 /* key */
        start local 3 // java.io.ObjectStreamClass$WeakClassKey key
         8: .line 1470
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* result */
        start local 4 // java.lang.Boolean result
         9: .line 1471
            aload 4 /* result */
            ifnonnull 12
        10: .line 1472
            aload 1 /* cl */
            invokestatic java.io.ObjectInputStream.auditSubclass:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            astore 4 /* result */
        11: .line 1473
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            aload 4 /* result */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1475
      StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.Boolean
      StackMap stack:
            aload 4 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
        13: .line 1476
            return
        14: .line 1478
      StackMap locals:
      StackMap stack:
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        15: .line 1479
            return
        end local 4 // java.lang.Boolean result
        end local 3 // java.io.ObjectStreamClass$WeakClassKey key
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Ljava/io/ObjectInputStream;
            1   16     1      cl  Ljava/lang/Class;
            4   16     2      sm  Ljava/lang/SecurityManager;
            8   16     3     key  Ljava/io/ObjectStreamClass$WeakClassKey;
            9   16     4  result  Ljava/lang/Boolean;

  private static boolean auditSubclass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class subcl
         0: .line 1488
            new java.io.ObjectInputStream$3
            dup
            aload 0 /* subcl */
            invokespecial java.io.ObjectInputStream$3.<init>:(Ljava/lang/Class;)V
         1: .line 1487
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 1 /* result */
        start local 1 // java.lang.Boolean result
         2: .line 1510
            aload 1 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // java.lang.Boolean result
        end local 0 // java.lang.Class subcl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   subcl  Ljava/lang/Class<*>;
            2    3     1  result  Ljava/lang/Boolean;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      subcl  final

  private void clear();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1517
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.clear:()V
         1: .line 1518
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.clear:()V
         2: .line 1519
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;

  private java.lang.Object readObject0(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1525
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            istore 2 /* oldMode */
        start local 2 // boolean oldMode
         1: .line 1526
            iload 2 /* oldMode */
            ifeq 11
         2: .line 1527
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
            istore 3 /* remain */
        start local 3 // int remain
         3: .line 1528
            iload 3 /* remain */
            ifle 5
         4: .line 1529
            new java.io.OptionalDataException
            dup
            iload 3 /* remain */
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
         5: .line 1530
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.defaultDataEnd:Z
            ifeq 7
         6: .line 1537
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
         7: .line 1539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        end local 3 // int remain
         8: .line 1543
            goto 11
        start local 3 // byte tc
         9: .line 1544
      StackMap locals: java.io.ObjectInputStream int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
        10: .line 1545
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.handleReset:()V
        end local 3 // byte tc
        11: .line 1543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            dup
            istore 3 /* tc */
        start local 3 // byte tc
        12: bipush 121
            if_icmpeq 9
        13: .line 1548
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        14: .line 1549
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        15: .line 1551
            iload 3 /* tc */
            tableswitch { // 112 - 126
                  112: 16
                  113: 20
                  114: 28
                  115: 44
                  116: 32
                  117: 36
                  118: 24
                  119: 50
                  120: 59
                  121: 64
                  122: 50
                  123: 48
                  124: 32
                  125: 28
                  126: 40
              default: 64
          }
        16: .line 1553
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            astore 6
        17: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        18: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        19: .line 1553
            aload 6
            areturn
        20: .line 1556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            astore 6
        21: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        22: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        23: .line 1556
            aload 6
            areturn
        24: .line 1559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClass:(Z)Ljava/lang/Class;
            astore 6
        25: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        26: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        27: .line 1559
            aload 6
            areturn
        28: .line 1563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 6
        29: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        30: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        31: .line 1563
            aload 6
            areturn
        32: .line 1567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6
        33: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        34: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        35: .line 1567
            aload 6
            areturn
        36: .line 1570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readArray:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6
        37: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        38: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        39: .line 1570
            aload 6
            areturn
        40: .line 1573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readEnum:(Z)Ljava/lang/Enum;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6
        41: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        42: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        43: .line 1573
            aload 6
            areturn
        44: .line 1576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readOrdinaryObject:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6
        45: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        46: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        47: .line 1576
            aload 6
            areturn
        48: .line 1579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readFatalException:()Ljava/io/IOException;
            astore 4 /* ex */
        start local 4 // java.io.IOException ex
        49: .line 1580
            new java.io.WriteAbortedException
            dup
            ldc "writing aborted"
            aload 4 /* ex */
            invokespecial java.io.WriteAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 4 // java.io.IOException ex
        50: .line 1584
      StackMap locals:
      StackMap stack:
            iload 2 /* oldMode */
            ifeq 56
        51: .line 1585
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        52: .line 1586
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peek:()I
            pop
        53: .line 1587
            new java.io.OptionalDataException
            dup
        54: .line 1588
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
        55: .line 1587
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
        56: .line 1590
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        57: .line 1591
            ldc "unexpected block data"
        58: .line 1590
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        59: .line 1595
      StackMap locals:
      StackMap stack:
            iload 2 /* oldMode */
            ifeq 61
        60: .line 1596
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
        61: .line 1598
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        62: .line 1599
            ldc "unexpected end of block data"
        63: .line 1598
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        64: .line 1603
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        65: .line 1604
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        66: .line 1603
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 1606
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        68: .line 1607
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        69: .line 1608
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 2 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        70: .line 1609
            aload 5
            athrow
        end local 3 // byte tc
        end local 2 // boolean oldMode
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   71     0      this  Ljava/io/ObjectInputStream;
            0   71     1  unshared  Z
            1   71     2   oldMode  Z
            3    8     3    remain  I
            9   11     3        tc  B
           12   71     3        tc  B
           49   50     4        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          15    17      67  any
          20    21      67  any
          24    25      67  any
          28    29      67  any
          32    33      67  any
          36    37      67  any
          40    41      67  any
          44    45      67  any
          48    67      67  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object checkResolve(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 1621
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 1
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 2
         1: .line 1622
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            areturn
         2: .line 1624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.io.ObjectInputStream.resolveObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* rep */
        start local 2 // java.lang.Object rep
         3: .line 1625
            aload 2 /* rep */
            aload 1 /* obj */
            if_acmpeq 10
         4: .line 1628
            aload 2 /* rep */
            ifnull 9
         5: .line 1629
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 8
         6: .line 1630
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         7: .line 1631
            goto 9
         8: .line 1632
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         9: .line 1635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 2 /* rep */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        10: .line 1637
      StackMap locals:
      StackMap stack:
            aload 2 /* rep */
            areturn
        end local 2 // java.lang.Object rep
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/io/ObjectInputStream;
            0   11     1   obj  Ljava/lang/Object;
            3   11     2   rep  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  java.lang.String readTypeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1645
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 1647
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         2: .line 1648
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 3
                  113: 6
                  116: 9
                  124: 9
              default: 12
          }
         3: .line 1650
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         4: .line 1664
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         5: .line 1650
            aload 4
            areturn
         6: .line 1653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         7: .line 1664
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         8: .line 1653
            aload 4
            areturn
         9: .line 1657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 4
        10: .line 1664
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 1657
            aload 4
            areturn
        12: .line 1660
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        13: .line 1661
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 1660
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte tc
        15: .line 1663
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 3
        16: .line 1664
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        17: .line 1665
            aload 3
            athrow
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljava/io/ObjectInputStream;
            1   18     1  oldHandle  I
            2   15     2         tc  B
      Exception table:
        from    to  target  type
           1     4      15  any
           6     7      15  any
           9    10      15  any
          12    15      15  any
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readNull();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1672
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 112
            if_icmpeq 2
         1: .line 1673
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1676
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readHandle(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1684
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 113
            if_icmpeq 2
         1: .line 1685
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ldc 8257536
            isub
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1688
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            iflt 4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.size:()I
            if_icmplt 9
         4: .line 1689
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         5: .line 1690
            ldc "invalid handle value: %08X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
         6: .line 1691
            ldc 8257536
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 1690
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1689
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1693
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifeq 13
        10: .line 1695
            new java.io.InvalidObjectException
            dup
        11: .line 1696
            ldc "cannot read back reference as unshared"
        12: .line 1695
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupObject:(I)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
        14: .line 1700
            aload 2 /* obj */
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            if_acmpne 18
        15: .line 1702
            new java.io.InvalidObjectException
            dup
        16: .line 1703
            ldc "cannot read back reference to unshared object"
        17: .line 1702
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1705
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aconst_null
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        19: .line 1706
            aload 2 /* obj */
            areturn
        end local 2 // java.lang.Object obj
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljava/io/ObjectInputStream;
            0   20     1  unshared  Z
           14   20     2       obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Class readClass(boolean);
    descriptor: (Z)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1716
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 118
            if_icmpeq 2
         1: .line 1717
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1720
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         4: .line 1721
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 5
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 6
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
         5: aload 3 /* cl */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
         6: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1723
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         8: .line 1724
            aload 4 /* resolveEx */
            ifnull 10
         9: .line 1725
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        10: .line 1728
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        11: .line 1729
            aload 3 /* cl */
            areturn
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            0   12     1   unshared  Z
            3   12     2       desc  Ljava/io/ObjectStreamClass;
            4   12     3         cl  Ljava/lang/Class;
            8   12     4  resolveEx  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readClassDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1741
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         1: .line 1743
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 2
                  113: 4
                  114: 8
                  125: 6
              default: 10
          }
         2: .line 1745
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         3: .line 1746
            goto 13
        end local 3 // java.io.ObjectStreamClass descriptor
         4: .line 1748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         5: .line 1749
            goto 13
        end local 3 // java.io.ObjectStreamClass descriptor
         6: .line 1751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         7: .line 1752
            goto 13
        end local 3 // java.io.ObjectStreamClass descriptor
         8: .line 1754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readNonProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         9: .line 1755
            goto 13
        end local 3 // java.io.ObjectStreamClass descriptor
        10: .line 1757
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        11: .line 1758
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        12: .line 1757
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.io.ObjectStreamClass descriptor
        13: .line 1760
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 3 /* descriptor */
            ifnull 15
        14: .line 1761
            aload 0 /* this */
            aload 3 /* descriptor */
            invokevirtual java.io.ObjectInputStream.validateDescriptor:(Ljava/io/ObjectStreamClass;)V
        15: .line 1763
      StackMap locals:
      StackMap stack:
            aload 3 /* descriptor */
            areturn
        end local 3 // java.io.ObjectStreamClass descriptor
        end local 2 // byte tc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljava/io/ObjectInputStream;
            0   16     1    unshared  Z
            1   16     2          tc  B
            3    4     3  descriptor  Ljava/io/ObjectStreamClass;
            5    6     3  descriptor  Ljava/io/ObjectStreamClass;
            7    8     3  descriptor  Ljava/io/ObjectStreamClass;
            9   10     3  descriptor  Ljava/io/ObjectStreamClass;
           13   16     3  descriptor  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private boolean isCustomSubclass();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1768
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: .line 1769
            ldc Ljava/io/ObjectInputStream;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 1768
            if_acmpeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;

  private java.io.ObjectStreamClass readProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1781
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 125
            if_icmpeq 2
         1: .line 1782
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1785
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1786
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1787
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1789
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 4 /* numIfaces */
        start local 4 // int numIfaces
         8: .line 1790
            iload 4 /* numIfaces */
            ldc 65535
            if_icmple 12
         9: .line 1791
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "interface limit exceeded: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1792
            iload 4 /* numIfaces */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1791
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1794
      StackMap locals: int int
      StackMap stack:
            iload 4 /* numIfaces */
            anewarray java.lang.String
            astore 5 /* ifaces */
        start local 5 // java.lang.String[] ifaces
        13: .line 1795
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 1796
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 5 /* ifaces */
            iload 6 /* i */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            aastore
        16: .line 1795
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 4 /* numIfaces */
            if_icmplt 15
        end local 6 // int i
        18: .line 1799
            aconst_null
            astore 6 /* cl */
        start local 6 // java.lang.Class cl
        19: .line 1800
            aconst_null
            astore 7 /* resolveEx */
        start local 7 // java.lang.ClassNotFoundException resolveEx
        20: .line 1801
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        21: .line 1803
            aload 0 /* this */
            aload 5 /* ifaces */
            invokevirtual java.io.ObjectInputStream.resolveProxyClass:([Ljava/lang/String;)Ljava/lang/Class;
            dup
            astore 6 /* cl */
            ifnonnull 24
        22: .line 1804
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 7 /* resolveEx */
        23: .line 1805
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack:
        24: aload 6 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 26
        25: .line 1806
            new java.io.InvalidClassException
            dup
            ldc "Not a proxy"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        27: .line 1813
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
        28: .line 1811
            invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
        29: .line 1815
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException top int int java.lang.Class[]
      StackMap stack:
        30: aload 11
            iload 9
            aaload
            astore 8 /* clazz */
        start local 8 // java.lang.Class clazz
        31: .line 1816
            aload 0 /* this */
            aload 8 /* clazz */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        end local 8 // java.lang.Class clazz
        32: .line 1815
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 30
        34: .line 1819
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack: java.lang.ClassNotFoundException
        35: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        36: .line 1820
            aload 8 /* ex */
            astore 7 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        37: .line 1824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        38: .line 1826
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        39: .line 1829
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        40: .line 1830
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        41: .line 1831
            aload 2 /* desc */
            aload 6 /* cl */
            aload 7 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initProxy:(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        42: .line 1832
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 8
        44: .line 1833
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        45: .line 1834
            aload 8
            athrow
        46: .line 1833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        47: .line 1836
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        48: .line 1837
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        49: .line 1838
            aload 2 /* desc */
            areturn
        end local 7 // java.lang.ClassNotFoundException resolveEx
        end local 6 // java.lang.Class cl
        end local 5 // java.lang.String[] ifaces
        end local 4 // int numIfaces
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   50     0        this  Ljava/io/ObjectInputStream;
            0   50     1    unshared  Z
            3   50     2        desc  Ljava/io/ObjectStreamClass;
            6   50     3  descHandle  I
            8   50     4   numIfaces  I
           13   50     5      ifaces  [Ljava/lang/String;
           14   18     6           i  I
           19   50     6          cl  Ljava/lang/Class;
           20   50     7   resolveEx  Ljava/lang/ClassNotFoundException;
           31   32     8       clazz  Ljava/lang/Class<*>;
           36   37     8          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
          21    34      35  Class java.lang.ClassNotFoundException
          39    43      43  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readNonProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1850
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 114
            if_icmpeq 2
         1: .line 1851
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1854
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1855
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1856
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1858
            aconst_null
            astore 4 /* readDesc */
        start local 4 // java.io.ObjectStreamClass readDesc
         8: .line 1860
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readClassDescriptor:()Ljava/io/ObjectStreamClass;
            astore 4 /* readDesc */
         9: .line 1861
            goto 16
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.io.ObjectStreamClass
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        11: .line 1862
            new java.io.InvalidClassException
            dup
        12: .line 1863
            ldc "failed to read class descriptor"
        13: .line 1862
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
        14: .line 1863
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        15: .line 1862
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.ClassNotFoundException ex
        16: .line 1866
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        17: .line 1867
            aconst_null
            astore 6 /* resolveEx */
        start local 6 // java.lang.ClassNotFoundException resolveEx
        18: .line 1868
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        19: .line 1869
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.isCustomSubclass:()Z
            istore 7 /* checksRequired */
        start local 7 // boolean checksRequired
        20: .line 1871
            aload 0 /* this */
            aload 4 /* readDesc */
            invokevirtual java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
            dup
            astore 5 /* cl */
            ifnonnull 23
        21: .line 1872
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 6 /* resolveEx */
        22: .line 1873
            goto 28
      StackMap locals: java.lang.Class java.lang.ClassNotFoundException int
      StackMap stack:
        23: iload 7 /* checksRequired */
            ifeq 28
        24: .line 1874
            aload 5 /* cl */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        25: .line 1876
            goto 28
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        26: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        27: .line 1877
            aload 8 /* ex */
            astore 6 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        28: .line 1881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        29: .line 1883
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        30: .line 1886
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        31: .line 1887
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        32: .line 1888
            aload 2 /* desc */
            aload 4 /* readDesc */
            aload 5 /* cl */
            aload 6 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initNonProxy:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        33: .line 1889
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 8
        35: .line 1890
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        36: .line 1891
            aload 8
            athrow
        37: .line 1890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        38: .line 1893
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        39: .line 1894
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        40: .line 1896
            aload 2 /* desc */
            areturn
        end local 7 // boolean checksRequired
        end local 6 // java.lang.ClassNotFoundException resolveEx
        end local 5 // java.lang.Class cl
        end local 4 // java.io.ObjectStreamClass readDesc
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            this  Ljava/io/ObjectInputStream;
            0   41     1        unshared  Z
            3   41     2            desc  Ljava/io/ObjectStreamClass;
            6   41     3      descHandle  I
            8   41     4        readDesc  Ljava/io/ObjectStreamClass;
           11   16     5              ex  Ljava/lang/ClassNotFoundException;
           17   41     5              cl  Ljava/lang/Class;
           18   41     6       resolveEx  Ljava/lang/ClassNotFoundException;
           20   41     7  checksRequired  Z
           27   28     8              ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
          20    25      26  Class java.lang.ClassNotFoundException
          30    34      34  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.String readString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1905
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            istore 3 /* tc */
        start local 3 // byte tc
         1: .line 1906
            iload 3 /* tc */
            lookupswitch { // 2
                  116: 2
                  124: 4
              default: 6
          }
         2: .line 1908
      StackMap locals: java.io.ObjectInputStream int top int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         3: .line 1909
            goto 9
        end local 2 // java.lang.String str
         4: .line 1912
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         5: .line 1913
            goto 9
        end local 2 // java.lang.String str
         6: .line 1916
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         7: .line 1917
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1916
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // java.lang.String str
         9: .line 1919
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 10
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 11
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        10: aload 2 /* str */
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        11: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        12: .line 1920
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        13: .line 1921
            aload 2 /* str */
            areturn
        end local 3 // byte tc
        end local 2 // java.lang.String str
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/io/ObjectInputStream;
            0   14     1  unshared  Z
            3    4     2       str  Ljava/lang/String;
            5    6     2       str  Ljava/lang/String;
            9   14     2       str  Ljava/lang/String;
            1   14     3        tc  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readArray(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1929
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 117
            if_icmpeq 2
         1: .line 1930
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1934
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 3 /* len */
        start local 3 // int len
         4: .line 1936
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 1938
            aconst_null
            astore 4 /* array */
        start local 4 // java.lang.Object array
         6: .line 1939
            aconst_null
            astore 6 /* ccl */
        start local 6 // java.lang.Class ccl
         7: .line 1940
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            dup
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
         8: ifnull 11
         9: .line 1941
            aload 5 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* ccl */
        10: .line 1942
            aload 6 /* ccl */
            iload 3 /* len */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 4 /* array */
        11: .line 1945
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 12
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 13
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
        12: aload 4 /* array */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
        13: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 7 /* arrayHandle */
        start local 7 // int arrayHandle
        14: .line 1946
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 8 /* resolveEx */
        start local 8 // java.lang.ClassNotFoundException resolveEx
        15: .line 1947
            aload 8 /* resolveEx */
            ifnull 17
        16: .line 1948
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 8 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        17: .line 1951
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 6 /* ccl */
            ifnonnull 24
        18: .line 1952
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 1953
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
            pop
        21: .line 1952
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 3 /* len */
            if_icmplt 20
        end local 9 // int i
        23: .line 1955
            goto 57
      StackMap locals:
      StackMap stack:
        24: aload 6 /* ccl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 50
        25: .line 1956
            aload 6 /* ccl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 28
        26: .line 1957
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast int[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInts:([III)V
        27: .line 1958
            goto 57
      StackMap locals:
      StackMap stack:
        28: aload 6 /* ccl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 31
        29: .line 1959
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast byte[]
            iconst_0
            iload 3 /* len */
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
        30: .line 1960
            goto 57
      StackMap locals:
      StackMap stack:
        31: aload 6 /* ccl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 34
        32: .line 1961
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast long[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongs:([JII)V
        33: .line 1962
            goto 57
      StackMap locals:
      StackMap stack:
        34: aload 6 /* ccl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 37
        35: .line 1963
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast float[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloats:([FII)V
        36: .line 1964
            goto 57
      StackMap locals:
      StackMap stack:
        37: aload 6 /* ccl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 40
        38: .line 1965
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast double[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDoubles:([DII)V
        39: .line 1966
            goto 57
      StackMap locals:
      StackMap stack:
        40: aload 6 /* ccl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 43
        41: .line 1967
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast short[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShorts:([SII)V
        42: .line 1968
            goto 57
      StackMap locals:
      StackMap stack:
        43: aload 6 /* ccl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 46
        44: .line 1969
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast char[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChars:([CII)V
        45: .line 1970
            goto 57
      StackMap locals:
      StackMap stack:
        46: aload 6 /* ccl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 49
        47: .line 1971
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast boolean[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBooleans:([ZII)V
        48: .line 1972
            goto 57
        49: .line 1973
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        50: .line 1976
      StackMap locals:
      StackMap stack:
            aload 4 /* array */
            checkcast java.lang.Object[]
            astore 9 /* oa */
        start local 9 // java.lang.Object[] oa
        51: .line 1977
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        52: goto 56
        53: .line 1978
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 9 /* oa */
            iload 10 /* i */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
            aastore
        54: .line 1979
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        55: .line 1977
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 10 /* i */
            iload 3 /* len */
            if_icmplt 53
        end local 10 // int i
        end local 9 // java.lang.Object[] oa
        57: .line 1983
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        58: .line 1984
            aload 0 /* this */
            iload 7 /* arrayHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        59: .line 1985
            aload 4 /* array */
            areturn
        end local 8 // java.lang.ClassNotFoundException resolveEx
        end local 7 // int arrayHandle
        end local 6 // java.lang.Class ccl
        end local 5 // java.lang.Class cl
        end local 4 // java.lang.Object array
        end local 3 // int len
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   60     0         this  Ljava/io/ObjectInputStream;
            0   60     1     unshared  Z
            3   60     2         desc  Ljava/io/ObjectStreamClass;
            4   60     3          len  I
            6   60     4        array  Ljava/lang/Object;
            8   60     5           cl  Ljava/lang/Class;
            7   60     6          ccl  Ljava/lang/Class;
           14   60     7  arrayHandle  I
           15   60     8    resolveEx  Ljava/lang/ClassNotFoundException;
           19   23     9            i  I
           51   57     9           oa  [Ljava/lang/Object;
           52   57    10            i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Enum readEnum(boolean);
    descriptor: (Z)Ljava/lang/Enum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1993
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 126
            if_icmpeq 2
         1: .line 1994
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1998
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isEnum:()Z
            ifne 5
         4: .line 1999
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "non-enum class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2002
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 6
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 7
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
         6: aconst_null
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         7: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* enumHandle */
        start local 3 // int enumHandle
         8: .line 2003
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         9: .line 2004
            aload 4 /* resolveEx */
            ifnull 11
        10: .line 2005
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        11: .line 2008
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        12: .line 2009
            aconst_null
            astore 6 /* en */
        start local 6 // java.lang.Enum en
        13: .line 2010
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
        14: .line 2011
            aload 7 /* cl */
            ifnull 27
        15: .line 2013
            aload 7 /* cl */
            aload 5 /* name */
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            astore 6 /* en */
        16: .line 2014
            goto 25
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.ClassNotFoundException java.lang.String java.lang.Enum java.lang.Class
      StackMap stack: java.lang.IllegalArgumentException
        17: astore 8 /* ex */
        start local 8 // java.lang.IllegalArgumentException ex
        18: .line 2015
            new java.io.InvalidObjectException
            dup
        19: .line 2016
            new java.lang.StringBuilder
            dup
            ldc "enum constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 2017
            aload 7 /* cl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        21: .line 2016
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 2015
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
        23: .line 2017
            aload 8 /* ex */
            invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        24: .line 2015
            checkcast java.io.IOException
            athrow
        end local 8 // java.lang.IllegalArgumentException ex
        25: .line 2019
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifne 27
        26: .line 2020
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 6 /* en */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        27: .line 2024
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        28: .line 2025
            aload 0 /* this */
            iload 3 /* enumHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        29: .line 2026
            aload 6 /* en */
            areturn
        end local 7 // java.lang.Class cl
        end local 6 // java.lang.Enum en
        end local 5 // java.lang.String name
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // int enumHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Ljava/io/ObjectInputStream;
            0   30     1    unshared  Z
            3   30     2        desc  Ljava/io/ObjectStreamClass;
            8   30     3  enumHandle  I
            9   30     4   resolveEx  Ljava/lang/ClassNotFoundException;
           12   30     5        name  Ljava/lang/String;
           13   30     6          en  Ljava/lang/Enum;
           14   30     7          cl  Ljava/lang/Class;
           18   25     8          ex  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          15    16      17  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readOrdinaryObject(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2039
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 115
            if_icmpeq 2
         1: .line 2040
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2043
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2044
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.checkDeserialize:()V
         4: .line 2046
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         5: .line 2047
            aload 3 /* cl */
            ldc Ljava/lang/String;
            if_acmpeq 7
            aload 3 /* cl */
            ldc Ljava/lang/Class;
            if_acmpeq 7
         6: .line 2048
            aload 3 /* cl */
            ldc Ljava/io/ObjectStreamClass;
            if_acmpne 8
         7: .line 2049
      StackMap locals: java.io.ObjectStreamClass java.lang.Class
      StackMap stack:
            new java.io.InvalidClassException
            dup
            ldc "invalid class descriptor"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2054
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isInstantiable:()Z
            ifeq 9
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.newInstance:()Ljava/lang/Object;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        10: astore 4 /* obj */
        start local 4 // java.lang.Object obj
        11: .line 2055
            goto 19
        end local 4 // java.lang.Object obj
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        13: .line 2056
            new java.io.InvalidClassException
            dup
        14: .line 2057
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        15: .line 2058
            ldc "unable to create instance"
        16: .line 2056
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 2058
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        18: .line 2056
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.Exception ex
        start local 4 // java.lang.Object obj
        19: .line 2061
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 20
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 21
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        20: aload 4 /* obj */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        21: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        22: .line 2062
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 5 /* resolveEx */
        start local 5 // java.lang.ClassNotFoundException resolveEx
        23: .line 2063
            aload 5 /* resolveEx */
            ifnull 25
        24: .line 2064
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        25: .line 2067
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isExternalizable:()Z
            ifeq 28
        26: .line 2068
            aload 0 /* this */
            aload 4 /* obj */
            checkcast java.io.Externalizable
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readExternalData:(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
        27: .line 2069
            goto 29
        28: .line 2070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* obj */
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
        29: .line 2073
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        30: .line 2075
            aload 4 /* obj */
            ifnull 43
        31: .line 2076
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 43
        32: .line 2077
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasReadResolveMethod:()Z
            ifeq 43
        33: .line 2079
            aload 2 /* desc */
            aload 4 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* rep */
        start local 6 // java.lang.Object rep
        34: .line 2080
            iload 1 /* unshared */
            ifeq 36
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 36
        35: .line 2081
            aload 6 /* rep */
            invokestatic java.io.ObjectInputStream.cloneArray:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* rep */
        36: .line 2083
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* rep */
            aload 4 /* obj */
            if_acmpeq 43
        37: .line 2085
            aload 6 /* rep */
            ifnull 42
        38: .line 2086
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 41
        39: .line 2087
            aload 0 /* this */
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 6 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        40: .line 2088
            goto 42
        41: .line 2089
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        42: .line 2092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 6 /* rep */
            dup
            astore 4 /* obj */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        end local 6 // java.lang.Object rep
        43: .line 2096
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            areturn
        end local 5 // java.lang.ClassNotFoundException resolveEx
        end local 4 // java.lang.Object obj
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   44     0       this  Ljava/io/ObjectInputStream;
            0   44     1   unshared  Z
            3   44     2       desc  Ljava/io/ObjectStreamClass;
            5   44     3         cl  Ljava/lang/Class<*>;
           11   12     4        obj  Ljava/lang/Object;
           19   44     4        obj  Ljava/lang/Object;
           13   19     5         ex  Ljava/lang/Exception;
           23   44     5  resolveEx  Ljava/lang/ClassNotFoundException;
           34   43     6        rep  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private void readExternalData(java.io.Externalizable, java.io.ObjectStreamClass);
    descriptor: (Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.Externalizable obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2108
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 3 /* oldContext */
        start local 3 // java.io.SerialCallbackContext oldContext
         1: .line 2109
            aload 3 /* oldContext */
            ifnull 3
         2: .line 2110
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
         3: .line 2111
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
         4: .line 2113
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasBlockExternalData:()Z
            istore 4 /* blocked */
        start local 4 // boolean blocked
         5: .line 2114
            iload 4 /* blocked */
            ifeq 7
         6: .line 2115
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         7: .line 2117
      StackMap locals: int
      StackMap stack:
            aload 1 /* obj */
            ifnull 12
         8: .line 2119
            aload 1 /* obj */
            aload 0 /* this */
            invokeinterface java.io.Externalizable.readExternal:(Ljava/io/ObjectInput;)V
         9: .line 2120
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        11: .line 2128
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 5 // java.lang.ClassNotFoundException ex
        12: .line 2131
      StackMap locals:
      StackMap stack:
            iload 4 /* blocked */
            ifeq 20
        13: .line 2132
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        end local 4 // boolean blocked
        14: .line 2134
            goto 20
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack: java.lang.Throwable
        15: astore 6
        16: .line 2135
            aload 3 /* oldContext */
            ifnull 18
        17: .line 2136
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        18: .line 2137
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        19: .line 2138
            aload 6
            athrow
        20: .line 2135
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack:
            aload 3 /* oldContext */
            ifnull 22
        21: .line 2136
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        22: .line 2137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        23: .line 2151
            return
        end local 3 // java.io.SerialCallbackContext oldContext
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.io.Externalizable obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/io/ObjectInputStream;
            0   24     1         obj  Ljava/io/Externalizable;
            0   24     2        desc  Ljava/io/ObjectStreamClass;
            1   24     3  oldContext  Ljava/io/SerialCallbackContext;
            5   14     4     blocked  Z
           11   12     5          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
           4    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void readSerialData(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2162
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            astore 3 /* slots */
        start local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
         1: .line 2163
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 68
         3: .line 2164
      StackMap locals: java.io.ObjectStreamClass$ClassDataSlot[] int
      StackMap stack:
            aload 3 /* slots */
            iload 4 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 5 /* slotDesc */
        start local 5 // java.io.ObjectStreamClass slotDesc
         4: .line 2166
            aload 3 /* slots */
            iload 4 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
            ifeq 63
         5: .line 2167
            aload 1 /* obj */
            ifnull 6
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 8
         6: .line 2168
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
         7: .line 2169
            goto 58
      StackMap locals:
      StackMap stack:
         8: aload 5 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifeq 57
         9: .line 2170
            aconst_null
            astore 6 /* t */
        start local 6 // java.lang.ThreadDeath t
        10: .line 2171
            iconst_0
            istore 7 /* reset */
        start local 7 // boolean reset
        11: .line 2172
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 8 /* oldContext */
        start local 8 // java.io.SerialCallbackContext oldContext
        12: .line 2173
            aload 8 /* oldContext */
            ifnull 14
        13: .line 2174
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        14: .line 2176
      StackMap locals: java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            new java.io.SerialCallbackContext
            dup
            aload 1 /* obj */
            aload 5 /* slotDesc */
            invokespecial java.io.SerialCallbackContext.<init>:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        15: .line 2178
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        16: .line 2179
            aload 5 /* slotDesc */
            aload 1 /* obj */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.invokeReadObject:(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
        17: .line 2180
            goto 44
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        18: astore 9 /* ex */
        start local 9 // java.lang.ClassNotFoundException ex
        19: .line 2188
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 9 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 9 // java.lang.ClassNotFoundException ex
        20: .line 2192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        21: .line 2193
            aload 8 /* oldContext */
            ifnull 23
        22: .line 2194
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        23: .line 2195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        24: .line 2196
            iconst_1
            istore 7 /* reset */
        25: .line 2197
            goto 28
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        26: astore 11 /* x */
        start local 11 // java.lang.ThreadDeath x
        27: .line 2198
            aload 11 /* x */
            astore 6 /* t */
        end local 11 // java.lang.ThreadDeath x
        28: .line 2200
      StackMap locals:
      StackMap stack:
            iload 7 /* reset */
            ifeq 20
        29: .line 2201
            aload 6 /* t */
            ifnull 55
        30: .line 2202
            aload 6 /* t */
            athrow
        31: .line 2189
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        32: .line 2192
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        33: .line 2193
            aload 8 /* oldContext */
            ifnull 35
        34: .line 2194
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        35: .line 2195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        36: .line 2196
            iconst_1
            istore 7 /* reset */
        37: .line 2197
            goto 40
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        38: astore 11 /* x */
        start local 11 // java.lang.ThreadDeath x
        39: .line 2198
            aload 11 /* x */
            astore 6 /* t */
        end local 11 // java.lang.ThreadDeath x
        40: .line 2200
      StackMap locals:
      StackMap stack:
            iload 7 /* reset */
            ifeq 32
        41: .line 2201
            aload 6 /* t */
            ifnull 43
        42: .line 2202
            aload 6 /* t */
            athrow
        43: .line 2203
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
        44: .line 2192
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        45: .line 2193
            aload 8 /* oldContext */
            ifnull 47
        46: .line 2194
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        47: .line 2195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        48: .line 2196
            iconst_1
            istore 7 /* reset */
        49: .line 2197
            goto 52
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        50: astore 11 /* x */
        start local 11 // java.lang.ThreadDeath x
        51: .line 2198
            aload 11 /* x */
            astore 6 /* t */
        end local 11 // java.lang.ThreadDeath x
        52: .line 2200
      StackMap locals:
      StackMap stack:
            iload 7 /* reset */
            ifeq 44
        53: .line 2201
            aload 6 /* t */
            ifnull 55
        54: .line 2202
            aload 6 /* t */
            athrow
        55: .line 2210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        end local 8 // java.io.SerialCallbackContext oldContext
        end local 7 // boolean reset
        end local 6 // java.lang.ThreadDeath t
        56: .line 2211
            goto 58
        57: .line 2212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
        58: .line 2215
      StackMap locals:
      StackMap stack:
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifeq 61
        59: .line 2216
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        60: .line 2217
            goto 67
        61: .line 2218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        62: .line 2220
            goto 67
        63: .line 2221
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 67
        64: .line 2222
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 67
        65: .line 2223
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 67
        66: .line 2225
            aload 5 /* slotDesc */
            aload 1 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadObjectNoData:(Ljava/lang/Object;)V
        end local 5 // java.io.ObjectStreamClass slotDesc
        67: .line 2163
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        68: iload 4 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 3
        end local 4 // int i
        69: .line 2229
            return
        end local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   70     0        this  Ljava/io/ObjectInputStream;
            0   70     1         obj  Ljava/lang/Object;
            0   70     2        desc  Ljava/io/ObjectStreamClass;
            1   70     3       slots  [Ljava/io/ObjectStreamClass$ClassDataSlot;
            2   69     4           i  I
            4   67     5    slotDesc  Ljava/io/ObjectStreamClass;
           10   56     6           t  Ljava/lang/ThreadDeath;
           11   56     7       reset  Z
           12   56     8  oldContext  Ljava/io/SerialCallbackContext;
           19   20     9          ex  Ljava/lang/ClassNotFoundException;
           27   28    11           x  Ljava/lang/ThreadDeath;
           39   40    11           x  Ljava/lang/ThreadDeath;
           51   52    11           x  Ljava/lang/ThreadDeath;
      Exception table:
        from    to  target  type
          14    17      18  Class java.lang.ClassNotFoundException
          20    25      26  Class java.lang.ThreadDeath
          14    20      31  any
          32    37      38  Class java.lang.ThreadDeath
          44    49      50  Class java.lang.ThreadDeath
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void skipCustomData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2236
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 2238
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            ifeq 4
         2: .line 2239
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBlockData:()V
         3: .line 2240
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         4: .line 2242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            tableswitch { // 119 - 122
                  119: 5
                  120: 7
                  121: 10
                  122: 5
              default: 10
          }
         5: .line 2245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 2246
            goto 1
         7: .line 2249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
         8: .line 2250
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         9: .line 2251
            return
        10: .line 2254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
            pop
        11: .line 2237
            goto 1
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            1   12     1  oldHandle  I
    Exceptions:
      throws java.io.IOException

  private void defaultReadFields(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2268
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         1: .line 2269
            aload 3 /* cl */
            ifnull 3
            aload 1 /* obj */
            ifnull 3
            aload 3 /* cl */
            aload 1 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 2270
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
         3: .line 2273
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getPrimDataSize:()I
            istore 4 /* primDataSize */
        start local 4 // int primDataSize
         4: .line 2274
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            ifnull 5
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            arraylength
            iload 4 /* primDataSize */
            if_icmpge 6
         5: .line 2275
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* primDataSize */
            newarray 8
            putfield java.io.ObjectInputStream.primVals:[B
         6: .line 2277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            iconst_0
            iload 4 /* primDataSize */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         7: .line 2278
            aload 1 /* obj */
            ifnull 9
         8: .line 2279
            aload 2 /* desc */
            aload 1 /* obj */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            invokevirtual java.io.ObjectStreamClass.setPrimFieldValues:(Ljava/lang/Object;[B)V
         9: .line 2282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 5 /* objHandle */
        start local 5 // int objHandle
        10: .line 2283
            aload 2 /* desc */
            iconst_0
            invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
            astore 6 /* fields */
        start local 6 // java.io.ObjectStreamField[] fields
        11: .line 2284
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getNumObjFields:()I
            anewarray java.lang.Object
            astore 7 /* objVals */
        start local 7 // java.lang.Object[] objVals
        12: .line 2285
            aload 6 /* fields */
            arraylength
            aload 7 /* objVals */
            arraylength
            isub
            istore 8 /* numPrimFields */
        start local 8 // int numPrimFields
        13: .line 2286
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        14: goto 20
        15: .line 2287
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class int int java.io.ObjectStreamField[] java.lang.Object[] int int
      StackMap stack:
            aload 6 /* fields */
            iload 8 /* numPrimFields */
            iload 9 /* i */
            iadd
            aaload
            astore 10 /* f */
        start local 10 // java.io.ObjectStreamField f
        16: .line 2288
            aload 7 /* objVals */
            iload 9 /* i */
            aload 0 /* this */
            aload 10 /* f */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
            aastore
        17: .line 2289
            aload 10 /* f */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnull 19
        18: .line 2290
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 5 /* objHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        end local 10 // java.io.ObjectStreamField f
        19: .line 2286
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            aload 7 /* objVals */
            arraylength
            if_icmplt 15
        end local 9 // int i
        21: .line 2293
            aload 1 /* obj */
            ifnull 23
        22: .line 2294
            aload 2 /* desc */
            aload 1 /* obj */
            aload 7 /* objVals */
            invokevirtual java.io.ObjectStreamClass.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
        23: .line 2296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* objHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        24: .line 2297
            return
        end local 8 // int numPrimFields
        end local 7 // java.lang.Object[] objVals
        end local 6 // java.io.ObjectStreamField[] fields
        end local 5 // int objHandle
        end local 4 // int primDataSize
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Ljava/io/ObjectInputStream;
            0   25     1            obj  Ljava/lang/Object;
            0   25     2           desc  Ljava/io/ObjectStreamClass;
            1   25     3             cl  Ljava/lang/Class;
            4   25     4   primDataSize  I
           10   25     5      objHandle  I
           11   25     6         fields  [Ljava/io/ObjectStreamField;
           12   25     7        objVals  [Ljava/lang/Object;
           13   25     8  numPrimFields  I
           14   21     9              i  I
           16   19    10              f  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private java.io.IOException readFatalException();
    descriptor: ()Ljava/io/IOException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2305
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 123
            if_icmpeq 2
         1: .line 2306
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 2309
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Z)Ljava/lang/Object;
            checkcast java.io.IOException
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private void handleReset();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2318
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifle 4
         1: .line 2319
            new java.io.StreamCorruptedException
            dup
         2: .line 2320
            new java.lang.StringBuilder
            dup
            ldc "unexpected reset; recursion depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2319
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         5: .line 2323
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.StreamCorruptedException

  private static native void bytesToFloats(byte[], int, float[], int, int);
    descriptor: ([BI[FII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      src      
      srcpos   
      dst      
      dstpos   
      nfloats  

  private static native void bytesToDoubles(byte[], int, double[], int, int);
    descriptor: ([BI[DII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      src       
      srcpos    
      dst       
      dstpos    
      ndoubles  

  private static java.lang.ClassLoader latestUserDefinedLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2355
            invokestatic sun.misc.VM.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object cloneArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object array
         0: .line 3884
            aload 0 /* array */
            instanceof java.lang.Object[]
            ifeq 2
         1: .line 3885
            aload 0 /* array */
            checkcast java.lang.Object[]
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            areturn
         2: .line 3886
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof boolean[]
            ifeq 4
         3: .line 3887
            aload 0 /* array */
            checkcast boolean[]
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            areturn
         4: .line 3888
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof byte[]
            ifeq 6
         5: .line 3889
            aload 0 /* array */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
         6: .line 3890
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof char[]
            ifeq 8
         7: .line 3891
            aload 0 /* array */
            checkcast char[]
            invokevirtual char[].clone:()Ljava/lang/Object;
            areturn
         8: .line 3892
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof double[]
            ifeq 10
         9: .line 3893
            aload 0 /* array */
            checkcast double[]
            invokevirtual double[].clone:()Ljava/lang/Object;
            areturn
        10: .line 3894
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof float[]
            ifeq 12
        11: .line 3895
            aload 0 /* array */
            checkcast float[]
            invokevirtual float[].clone:()Ljava/lang/Object;
            areturn
        12: .line 3896
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof int[]
            ifeq 14
        13: .line 3897
            aload 0 /* array */
            checkcast int[]
            invokevirtual int[].clone:()Ljava/lang/Object;
            areturn
        14: .line 3898
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof long[]
            ifeq 16
        15: .line 3899
            aload 0 /* array */
            checkcast long[]
            invokevirtual long[].clone:()Ljava/lang/Object;
            areturn
        16: .line 3900
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof double[]
            ifeq 18
        17: .line 3901
            aload 0 /* array */
            checkcast double[]
            invokevirtual double[].clone:()Ljava/lang/Object;
            areturn
        18: .line 3903
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  private void validateDescriptor(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass descriptor
         0: .line 3908
            aload 0 /* this */
            getfield java.io.ObjectInputStream.validator:Lsun/misc/ObjectStreamClassValidator;
            astore 2 /* validating */
        start local 2 // sun.misc.ObjectStreamClassValidator validating
         1: .line 3909
            aload 2 /* validating */
            ifnull 3
         2: .line 3910
            aload 2 /* validating */
            aload 1 /* descriptor */
            invokeinterface sun.misc.ObjectStreamClassValidator.validateDescriptor:(Ljava/io/ObjectStreamClass;)V
         3: .line 3912
      StackMap locals: sun.misc.ObjectStreamClassValidator
      StackMap stack:
            return
        end local 2 // sun.misc.ObjectStreamClassValidator validating
        end local 1 // java.io.ObjectStreamClass descriptor
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljava/io/ObjectInputStream;
            0    4     1  descriptor  Ljava/io/ObjectStreamClass;
            1    4     2  validating  Lsun/misc/ObjectStreamClassValidator;
    MethodParameters:
            Name  Flags
      descriptor  

  private static void setValidator(java.io.ObjectInputStream, sun.misc.ObjectStreamClassValidator);
    descriptor: (Ljava/io/ObjectInputStream;Lsun/misc/ObjectStreamClassValidator;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream ois
        start local 1 // sun.misc.ObjectStreamClassValidator validator
         0: .line 3918
            aload 0 /* ois */
            aload 1 /* validator */
            putfield java.io.ObjectInputStream.validator:Lsun/misc/ObjectStreamClassValidator;
         1: .line 3919
            return
        end local 1 // sun.misc.ObjectStreamClassValidator validator
        end local 0 // java.io.ObjectInputStream ois
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0        ois  Ljava/io/ObjectInputStream;
            0    2     1  validator  Lsun/misc/ObjectStreamClassValidator;
    MethodParameters:
           Name  Flags
      ois        
      validator  
}
SourceFile: "ObjectInputStream.java"
NestMembers:
  java.io.ObjectInputStream$1  java.io.ObjectInputStream$2  java.io.ObjectInputStream$3  java.io.ObjectInputStream$BlockDataInputStream  java.io.ObjectInputStream$Caches  java.io.ObjectInputStream$FilterValues  java.io.ObjectInputStream$GetField  java.io.ObjectInputStream$GetFieldImpl  java.io.ObjectInputStream$HandleTable  java.io.ObjectInputStream$HandleTable$HandleList  java.io.ObjectInputStream$Logging  java.io.ObjectInputStream$PeekInputStream  java.io.ObjectInputStream$ValidationList  java.io.ObjectInputStream$ValidationList$1  java.io.ObjectInputStream$ValidationList$Callback
InnerClasses:
  java.io.ObjectInputStream$1
  java.io.ObjectInputStream$2
  java.io.ObjectInputStream$3
  private BlockDataInputStream = java.io.ObjectInputStream$BlockDataInputStream of java.io.ObjectInputStream
  private Caches = java.io.ObjectInputStream$Caches of java.io.ObjectInputStream
  FilterValues = java.io.ObjectInputStream$FilterValues of java.io.ObjectInputStream
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  private GetFieldImpl = java.io.ObjectInputStream$GetFieldImpl of java.io.ObjectInputStream
  private HandleTable = java.io.ObjectInputStream$HandleTable of java.io.ObjectInputStream
  private Logging = java.io.ObjectInputStream$Logging of java.io.ObjectInputStream
  private PeekInputStream = java.io.ObjectInputStream$PeekInputStream of java.io.ObjectInputStream
  private ValidationList = java.io.ObjectInputStream$ValidationList of java.io.ObjectInputStream
  ClassDataSlot = java.io.ObjectStreamClass$ClassDataSlot of java.io.ObjectStreamClass
  WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
  public final Config = sun.misc.ObjectInputFilter$Config of sun.misc.ObjectInputFilter
  public abstract FilterInfo = sun.misc.ObjectInputFilter$FilterInfo of sun.misc.ObjectInputFilter
  public final Status = sun.misc.ObjectInputFilter$Status of sun.misc.ObjectInputFilter