public abstract class java.lang.ClassLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.lang.ClassLoader
  super_class: java.lang.Object
{
  private java.lang.ClassLoader parent;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Hashtable<java.lang.String, java.security.cert.Certificate[]> package2certs;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;[Ljava/security/cert/Certificate;>;

  java.security.cert.Certificate[] nocerts;
    descriptor: [Ljava/security/cert/Certificate;
    flags: (0x0000) 

  private java.util.Vector<java.lang.Class<?>> classes;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Ljava/lang/Class<*>;>;

  private java.util.Set<java.security.ProtectionDomain> domains;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/security/ProtectionDomain;>;

  private java.util.HashMap<java.lang.String, java.lang.Package> packages;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Package;>;

  private static sun.misc.URLClassPath bootstrapClassPath;
    descriptor: Lsun/misc/URLClassPath;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.ClassLoader scl;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean sclSet;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.security.ProtectionDomain defaultDomain;
    descriptor: Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE

  private static java.util.Vector<java.lang.String> loadedLibraryNames;
    descriptor: Ljava/util/Vector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Vector<Ljava/lang/String;>;

  private static java.util.Vector<java.lang.ClassLoader$NativeLibrary> systemNativeLibraries;
    descriptor: Ljava/util/Vector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;

  private java.util.Vector<java.lang.ClassLoader$NativeLibrary> nativeLibraries;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;

  private static java.util.Stack<java.lang.ClassLoader$NativeLibrary> nativeLibraryContext;
    descriptor: Ljava/util/Stack;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Stack<Ljava/lang/ClassLoader$NativeLibrary;>;

  private static java.lang.String[] usr_paths;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String[] sys_paths;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private java.util.Map<java.lang.String, java.lang.Boolean> packageAssertionStatus;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;

  java.util.Map<java.lang.String, java.lang.Boolean> classAssertionStatus;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 166
            invokestatic java.lang.ClassLoader.registerNatives:()V
         1: .line 1621
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
         2: .line 1620
            putstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
         3: .line 1625
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
         4: .line 1624
            putstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
         5: .line 1633
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
         6: .line 1632
            putstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
         7: .line 1637
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void registerNatives();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  void addClass(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
         0: .line 188
            aload 0 /* this */
            getfield java.lang.ClassLoader.classes:Ljava/util/Vector;
            aload 1 /* c */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         1: .line 189
            return
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/ClassLoader;
            0    2     1     c  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      c     

  private static java.lang.Void checkCreateClassLoader();
    descriptor: ()Ljava/lang/Void;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 196
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 197
            aload 0 /* security */
            ifnull 3
         2: .line 198
            aload 0 /* security */
            invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
         3: .line 200
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.SecurityManager security
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    4     0  security  Ljava/lang/SecurityManager;

  private void <init>(java.lang.Void, java.lang.ClassLoader);
    descriptor: (Ljava/lang/Void;Ljava/lang/ClassLoader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Void unused
        start local 2 // java.lang.ClassLoader parent
         0: .line 203
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 173
            aload 0 /* this */
         2: .line 174
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield java.lang.ClassLoader.package2certs:Ljava/util/Hashtable;
         3: .line 181
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield java.lang.ClassLoader.classes:Ljava/util/Vector;
         4: .line 184
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.lang.ClassLoader.domains:Ljava/util/Set;
         5: .line 193
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
         6: .line 1608
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
         7: .line 1628
            aload 0 /* this */
         8: .line 1629
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
         9: .line 1818
            aload 0 /* this */
            iconst_0
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
        10: .line 1825
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
        11: .line 1831
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
        12: .line 204
            aload 0 /* this */
            aload 2 /* parent */
            putfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
        13: .line 205
            return
        end local 2 // java.lang.ClassLoader parent
        end local 1 // java.lang.Void unused
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljava/lang/ClassLoader;
            0   14     1  unused  Ljava/lang/Void;
            0   14     2  parent  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      unused  
      parent  

  protected void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.ClassLoader parent
         0: .line 228
            aload 0 /* this */
            invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
            aload 1 /* parent */
            invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
         1: .line 229
            return
        end local 1 // java.lang.ClassLoader parent
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/ClassLoader;
            0    2     1  parent  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      parent  

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 247
            aload 0 /* this */
            invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
         1: .line 248
            return
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/ClassLoader;

  public java.lang.Class<?> loadClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 270
            aload 0 /* this */
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  protected synchronized java.lang.Class<?> loadClass(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean resolve
         0: .line 314
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findLoadedClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* c */
        start local 3 // java.lang.Class c
         1: .line 315
            aload 3 /* c */
            ifnonnull 9
         2: .line 317
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 5
         3: .line 318
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
            astore 3 /* c */
         4: .line 319
            goto 9
         5: .line 320
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClass0:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* c */
         6: .line 322
            goto 9
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         7: pop
         8: .line 325
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* c */
         9: .line 328
      StackMap locals:
      StackMap stack:
            iload 2 /* resolve */
            ifeq 11
        10: .line 329
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual java.lang.ClassLoader.resolveClass:(Ljava/lang/Class;)V
        11: .line 331
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            areturn
        end local 3 // java.lang.Class c
        end local 2 // boolean resolve
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljava/lang/ClassLoader;
            0   12     1     name  Ljava/lang/String;
            0   12     2  resolve  Z
            1   12     3        c  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
    MethodParameters:
         Name  Flags
      name     
      resolve  

  private synchronized java.lang.Class loadClassInternal(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 338
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      name  

  private void checkPackageAccess(java.lang.Class, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class cls
        start local 2 // java.security.ProtectionDomain pd
         0: .line 342
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 343
            aload 3 /* sm */
            ifnull 15
         2: .line 344
            aload 1 /* cls */
            invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
            ifeq 9
         3: .line 345
            aload 1 /* cls */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: java.lang.ClassLoader java.lang.Class java.security.ProtectionDomain java.lang.SecurityManager top int int java.lang.Class[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* intf */
        start local 4 // java.lang.Class intf
         5: .line 346
            aload 0 /* this */
            aload 4 /* intf */
            aload 2 /* pd */
            invokevirtual java.lang.ClassLoader.checkPackageAccess:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
        end local 4 // java.lang.Class intf
         6: .line 345
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
         8: .line 348
            return
         9: .line 351
      StackMap locals: java.lang.ClassLoader java.lang.Class java.security.ProtectionDomain java.lang.SecurityManager
      StackMap stack:
            aload 1 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
        10: .line 352
            aload 4 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* i */
        start local 5 // int i
        11: .line 353
            iload 5 /* i */
            iconst_m1
            if_icmpeq 15
        12: .line 354
            new java.lang.ClassLoader$1
            dup
            aload 0 /* this */
            aload 3 /* sm */
            aload 4 /* name */
            iload 5 /* i */
            invokespecial java.lang.ClassLoader$1.<init>:(Ljava/lang/ClassLoader;Ljava/lang/SecurityManager;Ljava/lang/String;I)V
        13: .line 359
            new java.security.AccessControlContext
            dup
            iconst_1
            anewarray java.security.ProtectionDomain
            dup
            iconst_0
            aload 2 /* pd */
            aastore
            invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
        14: .line 354
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
        end local 5 // int i
        end local 4 // java.lang.String name
        15: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.domains:Ljava/util/Set;
            aload 2 /* pd */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 363
            return
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.security.ProtectionDomain pd
        end local 1 // java.lang.Class cls
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljava/lang/ClassLoader;
            0   17     1   cls  Ljava/lang/Class;
            0   17     2    pd  Ljava/security/ProtectionDomain;
            1   17     3    sm  Ljava/lang/SecurityManager;
            5    6     4  intf  Ljava/lang/Class;
           10   15     4  name  Ljava/lang/String;
           11   15     5     i  I
    MethodParameters:
      Name  Flags
      cls   
      pd    

  protected java.lang.Class<?> findClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 384
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  protected final java.lang.Class<?> defineClass(byte[], int, int);
    descriptor: ([BII)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.ClassLoader this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 426
            aload 0 /* this */
            aconst_null
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            aconst_null
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1     b  [B
            0    1     2   off  I
            0    1     3   len  I
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: ([BII)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int);
    descriptor: (Ljava/lang/String;[BII)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // byte[] b
        start local 3 // int off
        start local 4 // int len
         0: .line 491
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            iload 3 /* off */
            iload 4 /* len */
            aconst_null
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 4 // int len
        end local 3 // int off
        end local 2 // byte[] b
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
            0    1     2     b  [B
            0    1     3   off  I
            0    1     4   len  I
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: (Ljava/lang/String;[BII)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  
      b     
      off   
      len   

  private java.security.ProtectionDomain preDefineClass(java.lang.String, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.security.ProtectionDomain protectionDomain
         0: .line 501
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 502
            new java.lang.NoClassDefFoundError
            dup
            new java.lang.StringBuilder
            dup
            ldc "IllegalName: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoClassDefFoundError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 504
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 6
            aload 1 /* name */
            ldc "java."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         3: .line 505
            new java.lang.SecurityException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Prohibited package name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 506
            aload 1 /* name */
            iconst_0
            aload 1 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 505
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 508
      StackMap locals:
      StackMap stack:
            aload 2 /* protectionDomain */
            ifnonnull 8
         7: .line 509
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.getDefaultDomain:()Ljava/security/ProtectionDomain;
            astore 2 /* protectionDomain */
         8: .line 512
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 10
         9: .line 513
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* protectionDomain */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.ClassLoader.checkCerts:(Ljava/lang/String;Ljava/security/CodeSource;)V
        10: .line 515
      StackMap locals:
      StackMap stack:
            aload 2 /* protectionDomain */
            areturn
        end local 2 // java.security.ProtectionDomain protectionDomain
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Ljava/lang/ClassLoader;
            0   11     1              name  Ljava/lang/String;
            0   11     2  protectionDomain  Ljava/security/ProtectionDomain;
    MethodParameters:
                  Name  Flags
      name              
      protectionDomain  

  private java.lang.String defineClassSourceLocation(java.security.ProtectionDomain);
    descriptor: (Ljava/security/ProtectionDomain;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.security.ProtectionDomain protectionDomain
         0: .line 520
            aload 1 /* protectionDomain */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 2 /* cs */
        start local 2 // java.security.CodeSource cs
         1: .line 521
            aconst_null
            astore 3 /* source */
        start local 3 // java.lang.String source
         2: .line 522
            aload 2 /* cs */
            ifnull 4
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            ifnull 4
         3: .line 523
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 3 /* source */
         4: .line 525
      StackMap locals: java.security.CodeSource java.lang.String
      StackMap stack:
            aload 3 /* source */
            areturn
        end local 3 // java.lang.String source
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.ProtectionDomain protectionDomain
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Ljava/lang/ClassLoader;
            0    5     1  protectionDomain  Ljava/security/ProtectionDomain;
            1    5     2                cs  Ljava/security/CodeSource;
            2    5     3            source  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      protectionDomain  

  private java.lang.Class defineTransformedClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain, java.lang.ClassFormatError, java.lang.String);
    descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/ClassFormatError;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=8
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // byte[] b
        start local 3 // int off
        start local 4 // int len
        start local 5 // java.security.ProtectionDomain protectionDomain
        start local 6 // java.lang.ClassFormatError cfe
        start local 7 // java.lang.String source
         0: .line 536
            invokestatic sun.misc.ClassFileTransformer.getTransformers:()[Lsun/misc/ClassFileTransformer;
            astore 8 /* transformers */
        start local 8 // sun.misc.ClassFileTransformer[] transformers
         1: .line 537
            aconst_null
            astore 9 /* c */
        start local 9 // java.lang.Class c
         2: .line 539
            aload 8 /* transformers */
            ifnull 13
         3: .line 540
            aload 8 /* transformers */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 12
      StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class top int int sun.misc.ClassFileTransformer[]
      StackMap stack:
         4: aload 13
            iload 11
            aaload
            astore 10 /* transformer */
        start local 10 // sun.misc.ClassFileTransformer transformer
         5: .line 543
            aload 10 /* transformer */
            aload 2 /* b */
            iload 3 /* off */
            iload 4 /* len */
            invokevirtual sun.misc.ClassFileTransformer.transform:([BII)[B
            astore 14 /* tb */
        start local 14 // byte[] tb
         6: .line 544
            aload 0 /* this */
            aload 1 /* name */
            aload 14 /* tb */
            iconst_0
            aload 14 /* tb */
            arraylength
         7: .line 545
            aload 5 /* protectionDomain */
            aload 7 /* source */
         8: .line 544
            invokevirtual java.lang.ClassLoader.defineClass1:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 9 /* c */
         9: .line 546
            goto 13
        end local 14 // byte[] tb
        10: .line 547
      StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class sun.misc.ClassFileTransformer int int sun.misc.ClassFileTransformer[]
      StackMap stack: java.lang.ClassFormatError
            pop
        end local 10 // sun.misc.ClassFileTransformer transformer
        11: .line 540
            iinc 11 1
      StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class top int int sun.misc.ClassFileTransformer[]
      StackMap stack:
        12: iload 11
            iload 12
            if_icmplt 4
        13: .line 556
      StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class
      StackMap stack:
            aload 9 /* c */
            ifnonnull 15
        14: .line 557
            aload 6 /* cfe */
            athrow
        15: .line 559
      StackMap locals:
      StackMap stack:
            aload 9 /* c */
            areturn
        end local 9 // java.lang.Class c
        end local 8 // sun.misc.ClassFileTransformer[] transformers
        end local 7 // java.lang.String source
        end local 6 // java.lang.ClassFormatError cfe
        end local 5 // java.security.ProtectionDomain protectionDomain
        end local 4 // int len
        end local 3 // int off
        end local 2 // byte[] b
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Ljava/lang/ClassLoader;
            0   16     1              name  Ljava/lang/String;
            0   16     2                 b  [B
            0   16     3               off  I
            0   16     4               len  I
            0   16     5  protectionDomain  Ljava/security/ProtectionDomain;
            0   16     6               cfe  Ljava/lang/ClassFormatError;
            0   16     7            source  Ljava/lang/String;
            1   16     8      transformers  [Lsun/misc/ClassFileTransformer;
            2   16     9                 c  Ljava/lang/Class;
            5   11    10       transformer  Lsun/misc/ClassFileTransformer;
            6   10    14                tb  [B
      Exception table:
        from    to  target  type
           5     9      10  Class java.lang.ClassFormatError
    Exceptions:
      throws java.lang.ClassFormatError
    MethodParameters:
                  Name  Flags
      name              
      b                 
      off               
      len               
      protectionDomain  
      cfe               
      source            

  private void postDefineClass(java.lang.Class, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
        start local 2 // java.security.ProtectionDomain protectionDomain
         0: .line 564
            aload 2 /* protectionDomain */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            ifnull 5
         1: .line 566
            aload 2 /* protectionDomain */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
         2: .line 565
            astore 3 /* certs */
        start local 3 // java.security.cert.Certificate[] certs
         3: .line 567
            aload 3 /* certs */
            ifnull 5
         4: .line 568
            aload 0 /* this */
            aload 1 /* c */
            aload 3 /* certs */
            invokevirtual java.lang.ClassLoader.setSigners:(Ljava/lang/Class;[Ljava/lang/Object;)V
        end local 3 // java.security.cert.Certificate[] certs
         5: .line 570
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.ProtectionDomain protectionDomain
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Ljava/lang/ClassLoader;
            0    6     1                 c  Ljava/lang/Class;
            0    6     2  protectionDomain  Ljava/security/ProtectionDomain;
            3    5     3             certs  [Ljava/security/cert/Certificate;
    MethodParameters:
                  Name  Flags
      c                 
      protectionDomain  

  protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // byte[] b
        start local 3 // int off
        start local 4 // int len
        start local 5 // java.security.ProtectionDomain protectionDomain
         0: .line 642
            aload 0 /* this */
            aload 1 /* name */
            aload 5 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.preDefineClass:(Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
            astore 5 /* protectionDomain */
         1: .line 644
            aconst_null
            astore 6 /* c */
        start local 6 // java.lang.Class c
         2: .line 645
            aload 0 /* this */
            aload 5 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
            astore 7 /* source */
        start local 7 // java.lang.String source
         3: .line 648
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            iload 3 /* off */
            iload 4 /* len */
            aload 5 /* protectionDomain */
            aload 7 /* source */
            invokevirtual java.lang.ClassLoader.defineClass1:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* c */
         4: .line 649
            goto 7
      StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.Class java.lang.String
      StackMap stack: java.lang.ClassFormatError
         5: astore 8 /* cfe */
        start local 8 // java.lang.ClassFormatError cfe
         6: .line 650
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            iload 3 /* off */
            iload 4 /* len */
            aload 5 /* protectionDomain */
            aload 8 /* cfe */
            aload 7 /* source */
            invokevirtual java.lang.ClassLoader.defineTransformedClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/ClassFormatError;Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* c */
        end local 8 // java.lang.ClassFormatError cfe
         7: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* c */
            aload 5 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
         8: .line 654
            aload 6 /* c */
            areturn
        end local 7 // java.lang.String source
        end local 6 // java.lang.Class c
        end local 5 // java.security.ProtectionDomain protectionDomain
        end local 4 // int len
        end local 3 // int off
        end local 2 // byte[] b
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Ljava/lang/ClassLoader;
            0    9     1              name  Ljava/lang/String;
            0    9     2                 b  [B
            0    9     3               off  I
            0    9     4               len  I
            0    9     5  protectionDomain  Ljava/security/ProtectionDomain;
            2    9     6                 c  Ljava/lang/Class;
            3    9     7            source  Ljava/lang/String;
            6    7     8               cfe  Ljava/lang/ClassFormatError;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.ClassFormatError
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class<*>;
    MethodParameters:
                  Name  Flags
      name              
      b                 
      off               
      len               
      protectionDomain  

  protected final java.lang.Class<?> defineClass(java.lang.String, java.nio.ByteBuffer, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.nio.ByteBuffer b
        start local 3 // java.security.ProtectionDomain protectionDomain
         0: .line 723
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* len */
        start local 4 // int len
         1: .line 726
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifne 10
         2: .line 727
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 7
         3: .line 728
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.array:()[B
         4: .line 729
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iadd
            iload 4 /* len */
         5: .line 730
            aload 3 /* protectionDomain */
         6: .line 728
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
         7: .line 733
      StackMap locals: int
      StackMap stack:
            iload 4 /* len */
            newarray 8
            astore 5 /* tb */
        start local 5 // byte[] tb
         8: .line 734
            aload 2 /* b */
            aload 5 /* tb */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         9: .line 735
            aload 0 /* this */
            aload 1 /* name */
            aload 5 /* tb */
            iconst_0
            iload 4 /* len */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 5 // byte[] tb
        10: .line 739
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.preDefineClass:(Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
            astore 3 /* protectionDomain */
        11: .line 741
            aconst_null
            astore 5 /* c */
        start local 5 // java.lang.Class c
        12: .line 742
            aload 0 /* this */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
            astore 6 /* source */
        start local 6 // java.lang.String source
        13: .line 745
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 4 /* len */
            aload 3 /* protectionDomain */
            aload 6 /* source */
            invokevirtual java.lang.ClassLoader.defineClass2:(Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* c */
        14: .line 746
            goto 19
      StackMap locals: java.lang.ClassLoader java.lang.String java.nio.ByteBuffer java.security.ProtectionDomain int java.lang.Class java.lang.String
      StackMap stack: java.lang.ClassFormatError
        15: astore 7 /* cfe */
        start local 7 // java.lang.ClassFormatError cfe
        16: .line 747
            iload 4 /* len */
            newarray 8
            astore 8 /* tb */
        start local 8 // byte[] tb
        17: .line 748
            aload 2 /* b */
            aload 8 /* tb */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
        18: .line 749
            aload 0 /* this */
            aload 1 /* name */
            aload 8 /* tb */
            iconst_0
            iload 4 /* len */
            aload 3 /* protectionDomain */
            aload 7 /* cfe */
            aload 6 /* source */
            invokevirtual java.lang.ClassLoader.defineTransformedClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/ClassFormatError;Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* c */
        end local 8 // byte[] tb
        end local 7 // java.lang.ClassFormatError cfe
        19: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* c */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
        20: .line 753
            aload 5 /* c */
            areturn
        end local 6 // java.lang.String source
        end local 5 // java.lang.Class c
        end local 4 // int len
        end local 3 // java.security.ProtectionDomain protectionDomain
        end local 2 // java.nio.ByteBuffer b
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Ljava/lang/ClassLoader;
            0   21     1              name  Ljava/lang/String;
            0   21     2                 b  Ljava/nio/ByteBuffer;
            0   21     3  protectionDomain  Ljava/security/ProtectionDomain;
            1   21     4               len  I
            8   10     5                tb  [B
           12   21     5                 c  Ljava/lang/Class;
           13   21     6            source  Ljava/lang/String;
           16   19     7               cfe  Ljava/lang/ClassFormatError;
           17   19     8                tb  [B
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.ClassFormatError
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class<*>;
    MethodParameters:
                  Name  Flags
      name              
      b                 
      protectionDomain  

  private native java.lang.Class defineClass0(java.lang.String, byte[], int, int, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  
      b     
      off   
      len   
      pd    

  private native java.lang.Class defineClass1(java.lang.String, byte[], int, int, java.security.ProtectionDomain, java.lang.String);
    descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      name    
      b       
      off     
      len     
      pd      
      source  

  private native java.lang.Class defineClass2(java.lang.String, java.nio.ByteBuffer, int, int, java.security.ProtectionDomain, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      name    
      b       
      off     
      len     
      pd      
      source  

  private boolean checkName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 768
            aload 1 /* name */
            ifnull 1
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 769
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 770
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 4
         3: .line 771
            invokestatic sun.misc.VM.allowArraySyntax:()Z
            ifne 5
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 5
         4: .line 772
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 773
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            0    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private synchronized void checkCerts(java.lang.String, java.security.CodeSource);
    descriptor: (Ljava/lang/String;Ljava/security/CodeSource;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.security.CodeSource cs
         0: .line 777
            aload 1 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* i */
        start local 3 // int i
         1: .line 778
            iload 3 /* i */
            iconst_m1
            if_icmpne 2
            ldc ""
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* name */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 4 /* pname */
        start local 4 // java.lang.String pname
         4: .line 779
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Hashtable;
            aload 4 /* pname */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            astore 5 /* pcerts */
        start local 5 // java.security.cert.Certificate[] pcerts
         5: .line 780
            aload 5 /* pcerts */
            ifnonnull 14
         6: .line 784
            aload 2 /* cs */
            ifnull 8
         7: .line 785
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 5 /* pcerts */
         8: .line 787
      StackMap locals: java.lang.String java.security.cert.Certificate[]
      StackMap stack:
            aload 5 /* pcerts */
            ifnonnull 12
         9: .line 788
            aload 0 /* this */
            getfield java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
            ifnonnull 11
        10: .line 789
            aload 0 /* this */
            iconst_0
            anewarray java.security.cert.Certificate
            putfield java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
        11: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
            astore 5 /* pcerts */
        12: .line 792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Hashtable;
            aload 4 /* pname */
            aload 5 /* pcerts */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 793
            goto 21
        14: .line 794
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* certs */
        start local 6 // java.security.cert.Certificate[] certs
        15: .line 795
            aload 2 /* cs */
            ifnull 17
        16: .line 796
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 6 /* certs */
        17: .line 799
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 0 /* this */
            aload 5 /* pcerts */
            aload 6 /* certs */
            invokevirtual java.lang.ClassLoader.compareCerts:([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
            ifne 21
        18: .line 800
            new java.lang.SecurityException
            dup
            new java.lang.StringBuilder
            dup
            ldc "class \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 801
            ldc "\"'s signer information does not match signer information of other classes in the same package"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 800
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.security.cert.Certificate[] certs
        21: .line 804
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.security.cert.Certificate[] pcerts
        end local 4 // java.lang.String pname
        end local 3 // int i
        end local 2 // java.security.CodeSource cs
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Ljava/lang/ClassLoader;
            0   22     1    name  Ljava/lang/String;
            0   22     2      cs  Ljava/security/CodeSource;
            1   22     3       i  I
            4   22     4   pname  Ljava/lang/String;
            5   22     5  pcerts  [Ljava/security/cert/Certificate;
           15   21     6   certs  [Ljava/security/cert/Certificate;
    MethodParameters:
      Name  Flags
      name  
      cs    

  private boolean compareCerts(java.security.cert.Certificate[], java.security.cert.Certificate[]);
    descriptor: ([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.security.cert.Certificate[] pcerts
        start local 2 // java.security.cert.Certificate[] certs
         0: .line 814
            aload 2 /* certs */
            ifnull 1
            aload 2 /* certs */
            arraylength
            ifne 3
         1: .line 815
      StackMap locals:
      StackMap stack:
            aload 1 /* pcerts */
            arraylength
            ifne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 819
      StackMap locals:
      StackMap stack:
            aload 2 /* certs */
            arraylength
            aload 1 /* pcerts */
            arraylength
            if_icmpeq 5
         4: .line 820
            iconst_0
            ireturn
         5: .line 825
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 17
         7: .line 826
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
      StackMap stack:
            iconst_0
            istore 3 /* match */
        start local 3 // boolean match
         8: .line 827
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         9: goto 14
        10: .line 828
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int int int
      StackMap stack:
            aload 2 /* certs */
            iload 4 /* i */
            aaload
            aload 1 /* pcerts */
            iload 5 /* j */
            aaload
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 829
            iconst_1
            istore 3 /* match */
        12: .line 830
            goto 15
        13: .line 827
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* j */
            aload 1 /* pcerts */
            arraylength
            if_icmplt 10
        end local 5 // int j
        15: .line 833
      StackMap locals:
      StackMap stack:
            iload 3 /* match */
            ifne 16
            iconst_0
            ireturn
        16: .line 825
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 3 // boolean match
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
      StackMap stack:
        17: iload 4 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 7
        end local 4 // int i
        18: .line 837
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        19: goto 30
        20: .line 838
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* match */
        start local 3 // boolean match
        21: .line 839
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        22: goto 27
        23: .line 840
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int int int
      StackMap stack:
            aload 1 /* pcerts */
            iload 4 /* i */
            aaload
            aload 2 /* certs */
            iload 5 /* j */
            aaload
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 841
            iconst_1
            istore 3 /* match */
        25: .line 842
            goto 28
        26: .line 839
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* j */
            aload 2 /* certs */
            arraylength
            if_icmplt 23
        end local 5 // int j
        28: .line 845
      StackMap locals:
      StackMap stack:
            iload 3 /* match */
            ifne 29
            iconst_0
            ireturn
        29: .line 837
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 3 // boolean match
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
      StackMap stack:
        30: iload 4 /* i */
            aload 1 /* pcerts */
            arraylength
            if_icmplt 20
        end local 4 // int i
        31: .line 848
            iconst_1
            ireturn
        end local 2 // java.security.cert.Certificate[] certs
        end local 1 // java.security.cert.Certificate[] pcerts
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Ljava/lang/ClassLoader;
            0   32     1  pcerts  [Ljava/security/cert/Certificate;
            0   32     2   certs  [Ljava/security/cert/Certificate;
            8   17     3   match  Z
           21   30     3   match  Z
            6   18     4       i  I
            9   15     5       j  I
           19   31     4       i  I
           22   28     5       j  I
    MethodParameters:
        Name  Flags
      pcerts  
      certs   

  protected final void resolveClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
         0: .line 869
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.lang.ClassLoader.resolveClass0:(Ljava/lang/Class;)V
         1: .line 870
            return
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/ClassLoader;
            0    2     1     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      c     

  private native void resolveClass0(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
      Name  Flags
      c     

  protected final java.lang.Class<?> findSystemClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 899
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* system */
        start local 2 // java.lang.ClassLoader system
         1: .line 900
            aload 2 /* system */
            ifnonnull 5
         2: .line 901
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 4
         3: .line 902
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 903
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
         5: .line 905
      StackMap locals:
      StackMap stack:
            aload 2 /* system */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.ClassLoader system
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/lang/ClassLoader;
            0    6     1    name  Ljava/lang/String;
            1    6     2  system  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.Class findBootstrapClass0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 911
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 912
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/ClassLoader;
            0    3     1  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      name  

  private native java.lang.Class findBootstrapClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      name  

  protected final java.lang.Class<?> findLoadedClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 934
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 935
            aconst_null
            areturn
         2: .line 936
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findLoadedClass0:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/ClassLoader;
            0    3     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private final native java.lang.Class findLoadedClass0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  

  protected final void setSigners(java.lang.Class<?>, []);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Object;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
        start local 2 // java.lang.Object[] signers
         0: .line 954
            aload 1 /* c */
            aload 2 /* signers */
            invokevirtual java.lang.Class.setSigners:([Ljava/lang/Object;)V
         1: .line 955
            return
        end local 2 // java.lang.Object[] signers
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/lang/ClassLoader;
            0    2     1        c  Ljava/lang/Class<*>;
            0    2     2  signers  [Ljava/lang/Object;
    Signature: (Ljava/lang/Class<*>;[Ljava/lang/Object;)V
    MethodParameters:
         Name  Flags
      c        
      signers  

  public java.net.URL getResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 984
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 3
         1: .line 985
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         2: .line 986
            goto 4
        end local 2 // java.net.URL url
         3: .line 987
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         4: .line 989
      StackMap locals: java.net.URL
      StackMap stack:
            aload 2 /* url */
            ifnonnull 6
         5: .line 990
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
         6: .line 992
      StackMap locals:
      StackMap stack:
            aload 2 /* url */
            areturn
        end local 2 // java.net.URL url
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/ClassLoader;
            0    7     1  name  Ljava/lang/String;
            2    3     2   url  Ljava/net/URL;
            4    7     2   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Enumeration<java.net.URL> getResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1022
            iconst_2
            anewarray java.util.Enumeration
            astore 2 /* tmp */
        start local 2 // java.util.Enumeration[] tmp
         1: .line 1023
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 4
         2: .line 1024
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            aastore
         3: .line 1025
            goto 5
         4: .line 1026
      StackMap locals: java.util.Enumeration[]
      StackMap stack:
            aload 2 /* tmp */
            iconst_0
            aload 1 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            aastore
         5: .line 1028
      StackMap locals:
      StackMap stack:
            aload 2 /* tmp */
            iconst_1
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            aastore
         6: .line 1030
            new sun.misc.CompoundEnumeration
            dup
            aload 2 /* tmp */
            invokespecial sun.misc.CompoundEnumeration.<init>:([Ljava/util/Enumeration;)V
            areturn
        end local 2 // java.util.Enumeration[] tmp
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/ClassLoader;
            0    7     1  name  Ljava/lang/String;
            1    7     2   tmp  [Ljava/util/Enumeration;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  protected java.net.URL findResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1046
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected java.util.Enumeration<java.net.URL> findResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1067
            new sun.misc.CompoundEnumeration
            dup
            iconst_0
            anewarray java.util.Enumeration
            invokespecial sun.misc.CompoundEnumeration.<init>:([Ljava/util/Enumeration;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  public static java.net.URL getSystemResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1084
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* system */
        start local 1 // java.lang.ClassLoader system
         1: .line 1085
            aload 1 /* system */
            ifnonnull 3
         2: .line 1086
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
         3: .line 1088
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 1 /* system */
            aload 0 /* name */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 1 // java.lang.ClassLoader system
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    name  Ljava/lang/String;
            1    4     1  system  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      name  

  public static java.util.Enumeration<java.net.URL> getSystemResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1114
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* system */
        start local 1 // java.lang.ClassLoader system
         1: .line 1115
            aload 1 /* system */
            ifnonnull 3
         2: .line 1116
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
         3: .line 1118
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 1 /* system */
            aload 0 /* name */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
        end local 1 // java.lang.ClassLoader system
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    name  Ljava/lang/String;
            1    4     1  system  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  private static java.net.URL getBootstrapResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String name
         0: .line 1125
            invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            astore 1 /* ucp */
        start local 1 // sun.misc.URLClassPath ucp
         1: .line 1126
            aload 1 /* ucp */
            aload 0 /* name */
            invokevirtual sun.misc.URLClassPath.getResource:(Ljava/lang/String;)Lsun/misc/Resource;
            astore 2 /* res */
        start local 2 // sun.misc.Resource res
         2: .line 1127
            aload 2 /* res */
            ifnull 3
            aload 2 /* res */
            invokevirtual sun.misc.Resource.getURL:()Ljava/net/URL;
            goto 4
      StackMap locals: sun.misc.URLClassPath sun.misc.Resource
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.net.URL
         4: areturn
        end local 2 // sun.misc.Resource res
        end local 1 // sun.misc.URLClassPath ucp
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  name  Ljava/lang/String;
            1    5     1   ucp  Lsun/misc/URLClassPath;
            2    5     2   res  Lsun/misc/Resource;
    MethodParameters:
      Name  Flags
      name  

  private static java.util.Enumeration<java.net.URL> getBootstrapResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1136
            invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            aload 0 /* name */
            invokevirtual sun.misc.URLClassPath.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 1 /* e */
        start local 1 // java.util.Enumeration e
         1: .line 1137
            new java.lang.ClassLoader$2
            dup
            aload 1 /* e */
            invokespecial java.lang.ClassLoader$2.<init>:(Ljava/util/Enumeration;)V
            areturn
        end local 1 // java.util.Enumeration e
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  name  Ljava/lang/String;
            1    2     1     e  Ljava/util/Enumeration<Lsun/misc/Resource;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  static sun.misc.URLClassPath getBootstrapClassPath();
    descriptor: ()Lsun/misc/URLClassPath;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1149
            getstatic java.lang.ClassLoader.bootstrapClassPath:Lsun/misc/URLClassPath;
            ifnonnull 2
         1: .line 1150
            invokestatic sun.misc.Launcher.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            putstatic java.lang.ClassLoader.bootstrapClassPath:Lsun/misc/URLClassPath;
         2: .line 1152
      StackMap locals:
      StackMap stack:
            getstatic java.lang.ClassLoader.bootstrapClassPath:Lsun/misc/URLClassPath;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.io.InputStream getResourceAsStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1172
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         1: .line 1174
            aload 2 /* url */
            ifnull 2
            aload 2 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            goto 3
      StackMap locals: java.net.URL
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.io.InputStream
         3: areturn
         4: .line 1175
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1176
            aconst_null
            areturn
        end local 2 // java.net.URL url
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            0    6     1  name  Ljava/lang/String;
            1    6     2   url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public static java.io.InputStream getSystemResourceAsStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1194
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 1 /* url */
        start local 1 // java.net.URL url
         1: .line 1196
            aload 1 /* url */
            ifnull 2
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            goto 3
      StackMap locals: java.net.URL
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.io.InputStream
         3: areturn
         4: .line 1197
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1198
            aconst_null
            areturn
        end local 1 // java.net.URL url
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/String;
            1    6     1   url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public final java.lang.ClassLoader getParent();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 1232
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnonnull 2
         1: .line 1233
            aconst_null
            areturn
         2: .line 1234
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         3: .line 1235
            aload 1 /* sm */
            ifnull 5
         4: .line 1236
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
         5: .line 1238
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            3    6     1    sm  Ljava/lang/SecurityManager;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  public static java.lang.ClassLoader getSystemClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 1298
            invokestatic java.lang.ClassLoader.initSystemClassLoader:()V
         1: .line 1299
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            ifnonnull 3
         2: .line 1300
            aconst_null
            areturn
         3: .line 1302
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* sm */
        start local 0 // java.lang.SecurityManager sm
         4: .line 1303
            aload 0 /* sm */
            ifnull 6
         5: .line 1304
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
         6: .line 1306
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            areturn
        end local 0 // java.lang.SecurityManager sm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    7     0    sm  Ljava/lang/SecurityManager;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  private static synchronized void initSystemClassLoader();
    descriptor: ()V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=0
         0: .line 1310
            getstatic java.lang.ClassLoader.sclSet:Z
            ifne 19
         1: .line 1311
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            ifnull 3
         2: .line 1312
            new java.lang.IllegalStateException
            dup
            ldc "recursive invocation"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1313
      StackMap locals:
      StackMap stack:
            invokestatic sun.misc.Launcher.getLauncher:()Lsun/misc/Launcher;
            astore 0 /* l */
        start local 0 // sun.misc.Launcher l
         4: .line 1314
            aload 0 /* l */
            ifnull 18
         5: .line 1315
            aconst_null
            astore 1 /* oops */
        start local 1 // java.lang.Throwable oops
         6: .line 1316
            aload 0 /* l */
            invokevirtual sun.misc.Launcher.getClassLoader:()Ljava/lang/ClassLoader;
            putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
         7: .line 1319
            new java.lang.SystemClassLoaderAction
            dup
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            invokespecial java.lang.SystemClassLoaderAction.<init>:(Ljava/lang/ClassLoader;)V
         8: .line 1318
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
         9: .line 1320
            goto 14
      StackMap locals: sun.misc.Launcher java.lang.Throwable
      StackMap stack: java.security.PrivilegedActionException
        10: astore 2 /* pae */
        start local 2 // java.security.PrivilegedActionException pae
        11: .line 1321
            aload 2 /* pae */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
            astore 1 /* oops */
        12: .line 1322
            aload 1 /* oops */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 14
        13: .line 1323
            aload 1 /* oops */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 1 /* oops */
        end local 2 // java.security.PrivilegedActionException pae
        14: .line 1326
      StackMap locals:
      StackMap stack:
            aload 1 /* oops */
            ifnull 18
        15: .line 1327
            aload 1 /* oops */
            instanceof java.lang.Error
            ifeq 17
        16: .line 1328
            aload 1 /* oops */
            checkcast java.lang.Error
            athrow
        17: .line 1331
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            aload 1 /* oops */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable oops
        18: .line 1335
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic java.lang.ClassLoader.sclSet:Z
        end local 0 // sun.misc.Launcher l
        19: .line 1337
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4   19     0     l  Lsun/misc/Launcher;
            6   18     1  oops  Ljava/lang/Throwable;
           11   14     2   pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           7     9      10  Class java.security.PrivilegedActionException

  boolean isAncestor(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.ClassLoader cl
         0: .line 1342
            aload 0 /* this */
            astore 2 /* acl */
        start local 2 // java.lang.ClassLoader acl
         1: .line 1344
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 2 /* acl */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            astore 2 /* acl */
         2: .line 1345
            aload 1 /* cl */
            aload 2 /* acl */
            if_acmpne 4
         3: .line 1346
            iconst_1
            ireturn
         4: .line 1348
      StackMap locals:
      StackMap stack:
            aload 2 /* acl */
            ifnonnull 1
         5: .line 1349
            iconst_0
            ireturn
        end local 2 // java.lang.ClassLoader acl
        end local 1 // java.lang.ClassLoader cl
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            0    6     1    cl  Ljava/lang/ClassLoader;
            1    6     2   acl  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      cl    

  private static boolean needsClassLoaderPermissionCheck(java.lang.ClassLoader, java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader from
        start local 1 // java.lang.ClassLoader to
         0: .line 1360
            aload 0 /* from */
            aload 1 /* to */
            if_acmpne 2
         1: .line 1361
            iconst_0
            ireturn
         2: .line 1363
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            ifnonnull 4
         3: .line 1364
            iconst_0
            ireturn
         4: .line 1366
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 0 /* from */
            invokevirtual java.lang.ClassLoader.isAncestor:(Ljava/lang/ClassLoader;)Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 1 // java.lang.ClassLoader to
        end local 0 // java.lang.ClassLoader from
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  from  Ljava/lang/ClassLoader;
            0    7     1    to  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      from  
      to    

  static java.lang.ClassLoader getClassLoader(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/ClassLoader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class caller
         0: .line 1372
            aload 0 /* caller */
            ifnonnull 2
         1: .line 1373
            aconst_null
            areturn
         2: .line 1376
      StackMap locals:
      StackMap stack:
            aload 0 /* caller */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // java.lang.Class caller
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  caller  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      caller  

  static void checkClassLoaderPermission(java.lang.ClassLoader, java.lang.Class<?>);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader cl
        start local 1 // java.lang.Class caller
         0: .line 1380
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1381
            aload 2 /* sm */
            ifnull 5
         2: .line 1383
            aload 1 /* caller */
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            astore 3 /* ccl */
        start local 3 // java.lang.ClassLoader ccl
         3: .line 1384
            aload 3 /* ccl */
            aload 0 /* cl */
            invokestatic java.lang.ClassLoader.needsClassLoaderPermissionCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
            ifeq 5
         4: .line 1385
            aload 2 /* sm */
            getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 3 // java.lang.ClassLoader ccl
         5: .line 1388
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class caller
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      cl  Ljava/lang/ClassLoader;
            0    6     1  caller  Ljava/lang/Class<*>;
            1    6     2      sm  Ljava/lang/SecurityManager;
            3    5     3     ccl  Ljava/lang/ClassLoader;
    Signature: (Ljava/lang/ClassLoader;Ljava/lang/Class<*>;)V
    MethodParameters:
        Name  Flags
      cl      
      caller  

  protected java.lang.Package definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=11, args_size=9
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String specTitle
        start local 3 // java.lang.String specVersion
        start local 4 // java.lang.String specVendor
        start local 5 // java.lang.String implTitle
        start local 6 // java.lang.String implVersion
        start local 7 // java.lang.String implVendor
        start local 8 // java.net.URL sealBase
         0: .line 1446
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 9
            monitorenter
         1: .line 1447
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 10 /* pkg */
        start local 10 // java.lang.Package pkg
         2: .line 1448
            aload 10 /* pkg */
            ifnull 4
         3: .line 1449
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* name */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1451
      StackMap locals: java.util.HashMap java.lang.Package
      StackMap stack:
            new java.lang.Package
            dup
            aload 1 /* name */
            aload 2 /* specTitle */
            aload 3 /* specVersion */
            aload 4 /* specVendor */
         5: .line 1452
            aload 5 /* implTitle */
            aload 6 /* implVersion */
            aload 7 /* implVendor */
         6: .line 1453
            aload 8 /* sealBase */
            aload 0 /* this */
         7: .line 1451
            invokespecial java.lang.Package.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/lang/ClassLoader;)V
            astore 10 /* pkg */
         8: .line 1454
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            aload 10 /* pkg */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1455
            aload 10 /* pkg */
            aload 9
            monitorexit
        10: areturn
        end local 10 // java.lang.Package pkg
        11: .line 1446
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.net.URL java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 9
            monitorexit
        12: athrow
        end local 8 // java.net.URL sealBase
        end local 7 // java.lang.String implVendor
        end local 6 // java.lang.String implVersion
        end local 5 // java.lang.String implTitle
        end local 4 // java.lang.String specVendor
        end local 3 // java.lang.String specVersion
        end local 2 // java.lang.String specTitle
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Ljava/lang/ClassLoader;
            0   13     1         name  Ljava/lang/String;
            0   13     2    specTitle  Ljava/lang/String;
            0   13     3  specVersion  Ljava/lang/String;
            0   13     4   specVendor  Ljava/lang/String;
            0   13     5    implTitle  Ljava/lang/String;
            0   13     6  implVersion  Ljava/lang/String;
            0   13     7   implVendor  Ljava/lang/String;
            0   13     8     sealBase  Ljava/net/URL;
            2   11    10          pkg  Ljava/lang/Package;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      name         
      specTitle    
      specVersion  
      specVendor   
      implTitle    
      implVersion  
      implVendor   
      sealBase     

  protected java.lang.Package getPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Package;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1472
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 1473
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Package
            astore 3 /* pkg */
        start local 3 // java.lang.Package pkg
         2: .line 1474
            aload 3 /* pkg */
            ifnonnull 9
         3: .line 1475
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 6
         4: .line 1476
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 3 /* pkg */
         5: .line 1477
            goto 7
         6: .line 1478
      StackMap locals: java.util.HashMap java.lang.Package
      StackMap stack:
            aload 1 /* name */
            invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 3 /* pkg */
         7: .line 1480
      StackMap locals:
      StackMap stack:
            aload 3 /* pkg */
            ifnull 9
         8: .line 1481
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            aload 3 /* pkg */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1484
      StackMap locals:
      StackMap stack:
            aload 3 /* pkg */
            aload 2
            monitorexit
        10: areturn
        end local 3 // java.lang.Package pkg
        11: .line 1472
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        12: athrow
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/lang/ClassLoader;
            0   13     1  name  Ljava/lang/String;
            2   11     3   pkg  Ljava/lang/Package;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.Package[] getPackages();
    descriptor: ()[Ljava/lang/Package;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 1499
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 1500
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 1 /* map */
        start local 1 // java.util.Map map
         2: .line 1499
            aload 2
            monitorexit
         3: goto 6
        end local 1 // java.util.Map map
      StackMap locals: java.lang.ClassLoader top java.util.HashMap
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
        start local 1 // java.util.Map map
         6: .line 1503
      StackMap locals: java.lang.ClassLoader java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 9
         7: .line 1504
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            invokevirtual java.lang.ClassLoader.getPackages:()[Ljava/lang/Package;
            astore 2 /* pkgs */
        start local 2 // java.lang.Package[] pkgs
         8: .line 1505
            goto 10
        end local 2 // java.lang.Package[] pkgs
         9: .line 1506
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Package.getSystemPackages:()[Ljava/lang/Package;
            astore 2 /* pkgs */
        start local 2 // java.lang.Package[] pkgs
        10: .line 1508
      StackMap locals: java.lang.Package[]
      StackMap stack:
            aload 2 /* pkgs */
            ifnull 18
        11: .line 1509
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 17
        13: .line 1510
      StackMap locals: int
      StackMap stack:
            aload 2 /* pkgs */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            astore 4 /* pkgName */
        start local 4 // java.lang.String pkgName
        14: .line 1511
            aload 1 /* map */
            aload 4 /* pkgName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 16
        15: .line 1512
            aload 1 /* map */
            aload 4 /* pkgName */
            aload 2 /* pkgs */
            iload 3 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String pkgName
        16: .line 1509
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            aload 2 /* pkgs */
            arraylength
            if_icmplt 13
        end local 3 // int i
        18: .line 1516
      StackMap locals:
      StackMap stack:
            aload 1 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* map */
            invokeinterface java.util.Map.size:()I
            anewarray java.lang.Package
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Package[]
            areturn
        end local 2 // java.lang.Package[] pkgs
        end local 1 // java.util.Map map
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Ljava/lang/ClassLoader;
            2    4     1      map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;
            6   19     1      map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;
            8    9     2     pkgs  [Ljava/lang/Package;
           10   19     2     pkgs  [Ljava/lang/Package;
           12   18     3        i  I
           14   16     4  pkgName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  protected java.lang.String findLibrary(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String libname
         0: .line 1540
            aconst_null
            areturn
        end local 1 // java.lang.String libname
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljava/lang/ClassLoader;
            0    1     1  libname  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      libname  

  private synchronized java.security.ProtectionDomain getDefaultDomain();
    descriptor: ()Ljava/security/ProtectionDomain;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 1612
            aload 0 /* this */
            getfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
            ifnonnull 3
         1: .line 1613
            new java.security.CodeSource
            dup
            aconst_null
            aconst_null
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 1 /* cs */
        start local 1 // java.security.CodeSource cs
         2: .line 1614
            aload 0 /* this */
            new java.security.ProtectionDomain
            dup
            aload 1 /* cs */
            aconst_null
            aload 0 /* this */
            aconst_null
            invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V
            putfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
        end local 1 // java.security.CodeSource cs
         3: .line 1616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
            areturn
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/ClassLoader;
            2    3     1    cs  Ljava/security/CodeSource;

  private static java.lang.String[] initializePath(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String propname
         0: .line 1640
            aload 0 /* propname */
            ldc ""
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* ldpath */
        start local 1 // java.lang.String ldpath
         1: .line 1641
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            astore 2 /* ps */
        start local 2 // java.lang.String ps
         2: .line 1642
            aload 1 /* ldpath */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ldlen */
        start local 3 // int ldlen
         3: .line 1645
            aload 1 /* ldpath */
            aload 2 /* ps */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* i */
        start local 4 // int i
         4: .line 1646
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         5: .line 1647
            goto 8
         6: .line 1648
      StackMap locals: java.lang.String java.lang.String java.lang.String int int top int
      StackMap stack:
            iinc 6 /* n */ 1
         7: .line 1649
            aload 1 /* ldpath */
            aload 2 /* ps */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* i */
         8: .line 1647
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifge 6
         9: .line 1653
            iload 6 /* n */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 7 /* paths */
        start local 7 // java.lang.String[] paths
        10: .line 1656
            iconst_0
            dup
            istore 4 /* i */
            istore 6 /* n */
        11: .line 1657
            aload 1 /* ldpath */
            aload 2 /* ps */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 5 /* j */
        start local 5 // int j
        12: .line 1658
            goto 20
        13: .line 1659
      StackMap locals: java.lang.String java.lang.String java.lang.String int int int int java.lang.String[]
      StackMap stack:
            iload 5 /* j */
            iload 4 /* i */
            isub
            ifle 16
        14: .line 1660
            aload 7 /* paths */
            iload 6 /* n */
            iinc 6 /* n */ 1
            aload 1 /* ldpath */
            iload 4 /* i */
            iload 5 /* j */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        15: .line 1661
            goto 18
      StackMap locals:
      StackMap stack:
        16: iload 5 /* j */
            iload 4 /* i */
            isub
            ifne 18
        17: .line 1662
            aload 7 /* paths */
            iload 6 /* n */
            iinc 6 /* n */ 1
            ldc "."
            aastore
        18: .line 1664
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iconst_1
            iadd
            istore 4 /* i */
        19: .line 1665
            aload 1 /* ldpath */
            aload 2 /* ps */
            iload 4 /* i */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 5 /* j */
        20: .line 1658
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            ifge 13
        21: .line 1667
            aload 7 /* paths */
            iload 6 /* n */
            aload 1 /* ldpath */
            iload 4 /* i */
            iload 3 /* ldlen */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        22: .line 1668
            aload 7 /* paths */
            areturn
        end local 7 // java.lang.String[] paths
        end local 6 // int n
        end local 5 // int j
        end local 4 // int i
        end local 3 // int ldlen
        end local 2 // java.lang.String ps
        end local 1 // java.lang.String ldpath
        end local 0 // java.lang.String propname
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0  propname  Ljava/lang/String;
            1   23     1    ldpath  Ljava/lang/String;
            2   23     2        ps  Ljava/lang/String;
            3   23     3     ldlen  I
            4   23     4         i  I
           12   23     5         j  I
            5   23     6         n  I
           10   23     7     paths  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      propname  

  static void loadLibrary(java.lang.Class, java.lang.String, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.Class fromClass
        start local 1 // java.lang.String name
        start local 2 // boolean isAbsolute
         0: .line 1675
            aload 0 /* fromClass */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* fromClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 1674
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            astore 3 /* loader */
        start local 3 // java.lang.ClassLoader loader
         3: .line 1676
            getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
            ifnonnull 6
         4: .line 1677
            ldc "java.library.path"
            invokestatic java.lang.ClassLoader.initializePath:(Ljava/lang/String;)[Ljava/lang/String;
            putstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
         5: .line 1678
            ldc "sun.boot.library.path"
            invokestatic java.lang.ClassLoader.initializePath:(Ljava/lang/String;)[Ljava/lang/String;
            putstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
         6: .line 1680
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            iload 2 /* isAbsolute */
            ifeq 10
         7: .line 1681
            aload 0 /* fromClass */
            new java.io.File
            dup
            aload 1 /* name */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 9
         8: .line 1682
            return
         9: .line 1684
      StackMap locals:
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't load library: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1686
      StackMap locals:
      StackMap stack:
            aload 3 /* loader */
            ifnull 21
        11: .line 1687
            aload 3 /* loader */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findLibrary:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* libfilename */
        start local 4 // java.lang.String libfilename
        12: .line 1688
            aload 4 /* libfilename */
            ifnull 21
        13: .line 1689
            new java.io.File
            dup
            aload 4 /* libfilename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* libfile */
        start local 5 // java.io.File libfile
        14: .line 1690
            aload 5 /* libfile */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 18
        15: .line 1691
            new java.lang.UnsatisfiedLinkError
            dup
        16: .line 1692
            new java.lang.StringBuilder
            dup
            ldc "ClassLoader.findLibrary failed to return an absolute path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* libfilename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1691
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1694
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 20
        19: .line 1695
            return
        20: .line 1697
      StackMap locals:
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't load "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* libfilename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.File libfile
        end local 4 // java.lang.String libfilename
        21: .line 1700
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        22: goto 27
        23: .line 1701
      StackMap locals: int
      StackMap stack:
            new java.io.File
            dup
            getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            aload 1 /* name */
            invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* libfile */
        start local 5 // java.io.File libfile
        24: .line 1702
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 26
        25: .line 1703
            return
        end local 5 // java.io.File libfile
        26: .line 1700
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 4 /* i */
            getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
            arraylength
            if_icmplt 23
        end local 4 // int i
        28: .line 1706
            aload 3 /* loader */
            ifnull 38
        29: .line 1707
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        30: goto 37
        31: .line 1708
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
        32: .line 1709
            aload 1 /* name */
            invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
        33: .line 1708
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* libfile */
        start local 5 // java.io.File libfile
        34: .line 1710
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 36
        35: .line 1711
            return
        end local 5 // java.io.File libfile
        36: .line 1707
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 4 /* i */
            getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
            arraylength
            if_icmplt 31
        end local 4 // int i
        38: .line 1716
      StackMap locals:
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
            new java.lang.StringBuilder
            dup
            ldc "no "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in java.library.path"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.ClassLoader loader
        end local 2 // boolean isAbsolute
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class fromClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   39     0    fromClass  Ljava/lang/Class;
            0   39     1         name  Ljava/lang/String;
            0   39     2   isAbsolute  Z
            3   39     3       loader  Ljava/lang/ClassLoader;
           12   21     4  libfilename  Ljava/lang/String;
           14   21     5      libfile  Ljava/io/File;
           22   28     4            i  I
           24   26     5      libfile  Ljava/io/File;
           30   38     4            i  I
           34   36     5      libfile  Ljava/io/File;
    MethodParameters:
            Name  Flags
      fromClass   
      name        
      isAbsolute  

  private static boolean loadLibrary0(java.lang.Class, java.io.File);
    descriptor: (Ljava/lang/Class;Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.lang.Class fromClass
        start local 1 // java.io.File file
         0: .line 1721
            new java.lang.ClassLoader$3
            dup
            aload 1 /* file */
            invokespecial java.lang.ClassLoader$3.<init>:(Ljava/io/File;)V
         1: .line 1720
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* exists */
        start local 2 // boolean exists
         4: .line 1726
            iload 2 /* exists */
            ifne 6
         5: .line 1727
            iconst_0
            ireturn
         6: .line 1731
      StackMap locals: int
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         7: .line 1732
            goto 10
        end local 3 // java.lang.String name
      StackMap locals:
      StackMap stack: java.io.IOException
         8: pop
         9: .line 1733
            iconst_0
            ireturn
        start local 3 // java.lang.String name
        10: .line 1736
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* fromClass */
            ifnonnull 11
            aconst_null
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 0 /* fromClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        12: .line 1735
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            astore 4 /* loader */
        start local 4 // java.lang.ClassLoader loader
        13: .line 1738
            aload 4 /* loader */
            ifnull 14
            aload 4 /* loader */
            getfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
            goto 15
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
        14: getstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
        15: .line 1737
      StackMap locals:
      StackMap stack: java.util.Vector
            astore 5 /* libs */
        start local 5 // java.util.Vector libs
        16: .line 1739
            aload 5 /* libs */
            dup
            astore 6
            monitorenter
        17: .line 1740
            aload 5 /* libs */
            invokevirtual java.util.Vector.size:()I
            istore 7 /* size */
        start local 7 // int size
        18: .line 1741
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        19: goto 25
        20: .line 1742
      StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int int
      StackMap stack:
            aload 5 /* libs */
            iload 8 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.ClassLoader$NativeLibrary
            astore 9 /* lib */
        start local 9 // java.lang.ClassLoader$NativeLibrary lib
        21: .line 1743
            aload 3 /* name */
            aload 9 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 1744
            aload 6
            monitorexit
        23: iconst_1
            ireturn
        end local 9 // java.lang.ClassLoader$NativeLibrary lib
        24: .line 1741
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* i */
            iload 7 /* size */
            if_icmplt 20
        end local 8 // int i
        26: .line 1748
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            dup
            astore 8
            monitorenter
        27: .line 1749
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            aload 3 /* name */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifeq 34
        28: .line 1750
            new java.lang.UnsatisfiedLinkError
            dup
        29: .line 1751
            new java.lang.StringBuilder
            dup
            ldc "Native Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 1752
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 1753
            ldc " already loaded in another classloader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 1751
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 1750
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 1767
      StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.size:()I
            istore 9 /* n */
        start local 9 // int n
        35: .line 1768
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        36: goto 50
        37: .line 1769
      StackMap locals: int int
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            iload 10 /* i */
            invokevirtual java.util.Stack.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.ClassLoader$NativeLibrary
            astore 11 /* lib */
        start local 11 // java.lang.ClassLoader$NativeLibrary lib
        38: .line 1770
            aload 3 /* name */
            aload 11 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 49
        39: .line 1771
            aload 4 /* loader */
            aload 11 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.fromClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpne 43
        40: .line 1772
            aload 8
            monitorexit
        41: aload 6
            monitorexit
        42: iconst_1
            ireturn
        43: .line 1774
      StackMap locals: java.lang.ClassLoader$NativeLibrary
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
        44: .line 1775
            new java.lang.StringBuilder
            dup
            ldc "Native Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 1776
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 1777
            ldc " is being loaded in another classloader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 1775
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 1774
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.ClassLoader$NativeLibrary lib
        49: .line 1768
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 10 /* i */
            iload 9 /* n */
            if_icmplt 37
        end local 10 // int i
        51: .line 1781
            new java.lang.ClassLoader$NativeLibrary
            dup
            aload 0 /* fromClass */
            aload 3 /* name */
            invokespecial java.lang.ClassLoader$NativeLibrary.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
            astore 10 /* lib */
        start local 10 // java.lang.ClassLoader$NativeLibrary lib
        52: .line 1782
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            aload 10 /* lib */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 1784
            aload 10 /* lib */
            aload 3 /* name */
            invokevirtual java.lang.ClassLoader$NativeLibrary.load:(Ljava/lang/String;)V
        54: .line 1785
            goto 58
      StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector int java.lang.ClassLoader$NativeLibrary
      StackMap stack: java.lang.Throwable
        55: astore 11
        56: .line 1786
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        57: .line 1787
            aload 11
            athrow
        58: .line 1786
      StackMap locals:
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        59: .line 1788
            aload 10 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.handle:J
            lconst_0
            lcmp
            ifeq 65
        60: .line 1789
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            aload 3 /* name */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        61: .line 1790
            aload 5 /* libs */
            aload 10 /* lib */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        62: .line 1791
            aload 8
            monitorexit
        63: aload 6
            monitorexit
        64: iconst_1
            ireturn
        65: .line 1793
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        66: aload 6
            monitorexit
        67: iconst_0
            ireturn
        end local 10 // java.lang.ClassLoader$NativeLibrary lib
        end local 9 // int n
        68: .line 1748
      StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector
      StackMap stack: java.lang.Throwable
            aload 8
            monitorexit
        69: athrow
        end local 7 // int size
        70: .line 1739
      StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        71: athrow
        end local 5 // java.util.Vector libs
        end local 4 // java.lang.ClassLoader loader
        end local 3 // java.lang.String name
        end local 2 // boolean exists
        end local 1 // java.io.File file
        end local 0 // java.lang.Class fromClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   72     0  fromClass  Ljava/lang/Class;
            0   72     1       file  Ljava/io/File;
            4   72     2     exists  Z
            7    8     3       name  Ljava/lang/String;
           10   72     3       name  Ljava/lang/String;
           13   72     4     loader  Ljava/lang/ClassLoader;
           16   72     5       libs  Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
           18   70     7       size  I
           19   26     8          i  I
           21   24     9        lib  Ljava/lang/ClassLoader$NativeLibrary;
           35   68     9          n  I
           36   51    10          i  I
           38   49    11        lib  Ljava/lang/ClassLoader$NativeLibrary;
           52   68    10        lib  Ljava/lang/ClassLoader$NativeLibrary;
      Exception table:
        from    to  target  type
           6     7       8  Class java.io.IOException
          53    55      55  any
          27    41      68  any
          43    63      68  any
          65    66      68  any
          68    69      68  any
          17    23      70  any
          24    42      70  any
          43    64      70  any
          65    67      70  any
          68    71      70  any
    MethodParameters:
           Name  Flags
      fromClass  
      file       final

  static long findNative(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.lang.ClassLoader loader
        start local 1 // java.lang.String name
         0: .line 1801
            aload 0 /* loader */
            ifnull 1
            aload 0 /* loader */
            getfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
         2: .line 1800
      StackMap locals:
      StackMap stack: java.util.Vector
            astore 2 /* libs */
        start local 2 // java.util.Vector libs
         3: .line 1802
            aload 2 /* libs */
            dup
            astore 3
            monitorenter
         4: .line 1803
            aload 2 /* libs */
            invokevirtual java.util.Vector.size:()I
            istore 4 /* size */
        start local 4 // int size
         5: .line 1804
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 13
         7: .line 1805
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.Vector java.util.Vector int int
      StackMap stack:
            aload 2 /* libs */
            iload 5 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.ClassLoader$NativeLibrary
            astore 6 /* lib */
        start local 6 // java.lang.ClassLoader$NativeLibrary lib
         8: .line 1806
            aload 6 /* lib */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader$NativeLibrary.find:(Ljava/lang/String;)J
            lstore 7 /* entry */
        start local 7 // long entry
         9: .line 1807
            lload 7 /* entry */
            lconst_0
            lcmp
            ifeq 12
        10: .line 1808
            lload 7 /* entry */
            aload 3
            monitorexit
        11: lreturn
        end local 7 // long entry
        end local 6 // java.lang.ClassLoader$NativeLibrary lib
        12: .line 1804
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 7
        end local 5 // int i
        end local 4 // int size
        14: .line 1802
            aload 3
            monitorexit
        15: goto 18
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.Vector java.util.Vector
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        18: .line 1811
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 2 // java.util.Vector libs
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0  loader  Ljava/lang/ClassLoader;
            0   19     1    name  Ljava/lang/String;
            3   19     2    libs  Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
            5   14     4    size  I
            6   14     5       i  I
            8   12     6     lib  Ljava/lang/ClassLoader$NativeLibrary;
            9   12     7   entry  J
      Exception table:
        from    to  target  type
           4    11      16  any
          12    15      16  any
          16    17      16  any
    MethodParameters:
        Name  Flags
      loader  
      name    

  public synchronized void setDefaultAssertionStatus(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // boolean enabled
         0: .line 1849
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            ifnonnull 2
         1: .line 1850
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         2: .line 1852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enabled */
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
         3: .line 1853
            return
        end local 1 // boolean enabled
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljava/lang/ClassLoader;
            0    4     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  public synchronized void setPackageAssertionStatus(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String packageName
        start local 2 // boolean enabled
         0: .line 1895
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            ifnonnull 2
         1: .line 1896
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         2: .line 1898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aload 1 /* packageName */
            iload 2 /* enabled */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1899
            return
        end local 2 // boolean enabled
        end local 1 // java.lang.String packageName
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljava/lang/ClassLoader;
            0    4     1  packageName  Ljava/lang/String;
            0    4     2      enabled  Z
    MethodParameters:
             Name  Flags
      packageName  
      enabled      

  public synchronized void setClassAssertionStatus(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String className
        start local 2 // boolean enabled
         0: .line 1926
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            ifnonnull 2
         1: .line 1927
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         2: .line 1929
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            aload 1 /* className */
            iload 2 /* enabled */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1930
            return
        end local 2 // boolean enabled
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljava/lang/ClassLoader;
            0    4     1  className  Ljava/lang/String;
            0    4     2    enabled  Z
    MethodParameters:
           Name  Flags
      className  
      enabled    

  public synchronized void clearAssertionStatus();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 1947
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
         1: .line 1948
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
         2: .line 1950
            aload 0 /* this */
            iconst_0
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
         3: .line 1951
            return
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/ClassLoader;

  synchronized boolean desiredAssertionStatus(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String className
         0: .line 1982
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* result */
        start local 2 // java.lang.Boolean result
         1: .line 1983
            aload 2 /* result */
            ifnull 3
         2: .line 1984
            aload 2 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         3: .line 1987
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 1 /* className */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 3 /* dotIndex */
        start local 3 // int dotIndex
         4: .line 1988
            iload 3 /* dotIndex */
            ifge 13
         5: .line 1989
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aconst_null
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* result */
         6: .line 1990
            aload 2 /* result */
            ifnull 13
         7: .line 1991
            aload 2 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         8: .line 1994
      StackMap locals: int
      StackMap stack:
            aload 1 /* className */
            iconst_0
            iload 3 /* dotIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* className */
         9: .line 1995
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* result */
        10: .line 1996
            aload 2 /* result */
            ifnull 12
        11: .line 1997
            aload 2 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        12: .line 1998
      StackMap locals:
      StackMap stack:
            aload 1 /* className */
            ldc "."
            iload 3 /* dotIndex */
            iconst_1
            isub
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
            istore 3 /* dotIndex */
        13: .line 1993
      StackMap locals:
      StackMap stack:
            iload 3 /* dotIndex */
            ifgt 8
        14: .line 2002
            aload 0 /* this */
            getfield java.lang.ClassLoader.defaultAssertionStatus:Z
            ireturn
        end local 3 // int dotIndex
        end local 2 // java.lang.Boolean result
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljava/lang/ClassLoader;
            0   15     1  className  Ljava/lang/String;
            1   15     2     result  Ljava/lang/Boolean;
            4   15     3   dotIndex  I
    MethodParameters:
           Name  Flags
      className  

  private void initializeJavaAssertionMaps();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 2009
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
         1: .line 2010
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
         2: .line 2011
            invokestatic java.lang.ClassLoader.retrieveDirectives:()Ljava/lang/AssertionStatusDirectives;
            astore 1 /* directives */
        start local 1 // java.lang.AssertionStatusDirectives directives
         3: .line 2013
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2014
      StackMap locals: java.lang.AssertionStatusDirectives int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.classes:[Ljava/lang/String;
            iload 2 /* i */
            aaload
         6: .line 2015
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.classEnabled:[Z
            iload 2 /* i */
            baload
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         7: .line 2014
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 2013
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.classes:[Ljava/lang/String;
            arraylength
            if_icmplt 5
        end local 2 // int i
        10: .line 2017
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        11: goto 16
        12: .line 2018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.packages:[Ljava/lang/String;
            iload 2 /* i */
            aaload
        13: .line 2019
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.packageEnabled:[Z
            iload 2 /* i */
            baload
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        14: .line 2018
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 2017
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.packages:[Ljava/lang/String;
            arraylength
            if_icmplt 12
        end local 2 // int i
        17: .line 2021
            aload 0 /* this */
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.deflt:Z
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
        18: .line 2022
            return
        end local 1 // java.lang.AssertionStatusDirectives directives
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljava/lang/ClassLoader;
            3   19     1  directives  Ljava/lang/AssertionStatusDirectives;
            4   10     2           i  I
           11   17     2           i  I

  private static native java.lang.AssertionStatusDirectives retrieveDirectives();
    descriptor: ()Ljava/lang/AssertionStatusDirectives;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "ClassLoader.java"
NestMembers:
  java.lang.ClassLoader$1  java.lang.ClassLoader$2  java.lang.ClassLoader$3  java.lang.ClassLoader$NativeLibrary
InnerClasses:
  java.lang.ClassLoader$1
  java.lang.ClassLoader$2
  java.lang.ClassLoader$3
  NativeLibrary = java.lang.ClassLoader$NativeLibrary of java.lang.ClassLoader