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 final java.lang.ClassLoader parent;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object[] dependencies;
    descriptor: [Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.ConcurrentHashMap<java.lang.String, java.lang.Object> parallelLockMap;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/lang/Object;>;

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

  private static final java.security.cert.Certificate[] nocerts;
    descriptor: [Ljava/security/cert/Certificate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final java.security.ProtectionDomain defaultDomain;
    descriptor: Ljava/security/ProtectionDomain;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  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 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

  final java.lang.Object assertionLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  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 183
            invokestatic java.lang.ClassLoader.registerNatives:()V
         1: .line 252
            iconst_0
            anewarray java.security.cert.Certificate
            putstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
         2: .line 1801
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
         3: .line 1805
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
         4: .line 1804
            putstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
         5: .line 1811
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            putstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
         6: .line 1815
            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 269
            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 270
            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 278
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 279
            aload 0 /* security */
            ifnull 3
         2: .line 280
            aload 0 /* security */
            invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
         3: .line 282
      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=7, 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 285
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 194
            aload 0 /* this */
            iconst_2
            anewarray java.lang.Object
            putfield java.lang.ClassLoader.dependencies:[Ljava/lang/Object;
         2: .line 256
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield java.lang.ClassLoader.classes:Ljava/util/Vector;
         3: .line 260
            aload 0 /* this */
         4: .line 261
            new java.security.ProtectionDomain
            dup
            new java.security.CodeSource
            dup
            aconst_null
            aconst_null
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
         5: .line 262
            aconst_null
            aload 0 /* this */
            aconst_null
         6: .line 261
            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;
         7: .line 275
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
         8: .line 1808
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
         9: .line 2010
            aload 0 /* this */
            iconst_0
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
        10: .line 2018
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
        11: .line 2025
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
        12: .line 286
            aload 0 /* this */
            aload 2 /* parent */
            putfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
        13: .line 287
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader$ParallelLoaders.isRegistered:(Ljava/lang/Class;)Z
            ifeq 21
        14: .line 288
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
        15: .line 289
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
        16: .line 290
            aload 0 /* this */
        17: .line 291
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
        18: .line 290
            putfield java.lang.ClassLoader.domains:Ljava/util/Set;
        19: .line 292
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
        20: .line 293
            goto 25
        21: .line 295
      StackMap locals: java.lang.ClassLoader java.lang.Void java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
        22: .line 296
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
        23: .line 297
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.lang.ClassLoader.domains:Ljava/util/Set;
        24: .line 298
            aload 0 /* this */
            aload 0 /* this */
            putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
        25: .line 300
      StackMap locals:
      StackMap stack:
            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   26     0    this  Ljava/lang/ClassLoader;
            0   26     1  unused  Ljava/lang/Void;
            0   26     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 322
            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 323
            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 341
            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 342
            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 363
            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 java.lang.Class<?> loadClass(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean resolve
         0: .line 410
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getClassLoadingLock:(Ljava/lang/String;)Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 412
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findLoadedClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* c */
        start local 4 // java.lang.Class c
         2: .line 413
            aload 4 /* c */
            ifnonnull 16
         3: .line 414
            invokestatic java.lang.System.nanoTime:()J
            lstore 5 /* t0 */
        start local 5 // long t0
         4: .line 416
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 7
         5: .line 417
            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 4 /* c */
         6: .line 418
            goto 10
         7: .line 419
      StackMap locals: java.lang.Object java.lang.Class long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClassOrNull:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* c */
         8: .line 421
            goto 10
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         9: pop
        10: .line 426
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnonnull 16
        11: .line 429
            invokestatic java.lang.System.nanoTime:()J
            lstore 7 /* t1 */
        start local 7 // long t1
        12: .line 430
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* c */
        13: .line 433
            invokestatic sun.misc.PerfCounter.getParentDelegationTime:()Lsun/misc/PerfCounter;
            lload 7 /* t1 */
            lload 5 /* t0 */
            lsub
            invokevirtual sun.misc.PerfCounter.addTime:(J)V
        14: .line 434
            invokestatic sun.misc.PerfCounter.getFindClassTime:()Lsun/misc/PerfCounter;
            lload 7 /* t1 */
            invokevirtual sun.misc.PerfCounter.addElapsedTimeFrom:(J)V
        15: .line 435
            invokestatic sun.misc.PerfCounter.getFindClasses:()Lsun/misc/PerfCounter;
            invokevirtual sun.misc.PerfCounter.increment:()V
        end local 7 // long t1
        end local 5 // long t0
        16: .line 438
      StackMap locals:
      StackMap stack:
            iload 2 /* resolve */
            ifeq 18
        17: .line 439
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.lang.ClassLoader.resolveClass:(Ljava/lang/Class;)V
        18: .line 441
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            aload 3
            monitorexit
        19: areturn
        end local 4 // java.lang.Class c
        20: .line 410
      StackMap locals: java.lang.ClassLoader java.lang.String int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        21: athrow
        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   22     0     this  Ljava/lang/ClassLoader;
            0   22     1     name  Ljava/lang/String;
            0   22     2  resolve  Z
            2   20     4        c  Ljava/lang/Class;
            4   16     5       t0  J
           12   16     7       t1  J
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.ClassNotFoundException
           1    19      20  any
          20    21      20  any
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
    MethodParameters:
         Name  Flags
      name     
      resolve  

  protected java.lang.Object getClassLoadingLock(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    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 className
         0: .line 466
            aload 0 /* this */
            astore 2 /* lock */
        start local 2 // java.lang.Object lock
         1: .line 467
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 6
         2: .line 468
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 3 /* newLock */
        start local 3 // java.lang.Object newLock
         3: .line 469
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* className */
            aload 3 /* newLock */
            invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* lock */
         4: .line 470
            aload 2 /* lock */
            ifnonnull 6
         5: .line 471
            aload 3 /* newLock */
            astore 2 /* lock */
        end local 3 // java.lang.Object newLock
         6: .line 474
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* lock */
            areturn
        end local 2 // java.lang.Object lock
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljava/lang/ClassLoader;
            0    7     1  className  Ljava/lang/String;
            1    7     2       lock  Ljava/lang/Object;
            3    6     3    newLock  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      className  

  private java.lang.Class loadClassInternal(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 483
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            ifnonnull 6
         1: .line 484
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 485
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            aload 2
            monitorexit
         3: areturn
         4: .line 484
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         5: athrow
         6: .line 488
      StackMap locals:
      StackMap stack:
            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    7     0  this  Ljava/lang/ClassLoader;
            0    7     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  any
           4     5       4  any
    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 494
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 495
            aload 3 /* sm */
            ifnull 15
         2: .line 496
            aload 1 /* cls */
            invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
            ifeq 9
         3: .line 497
            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 498
            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 497
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
         8: .line 500
            return
         9: .line 503
      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 504
            aload 4 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* i */
        start local 5 // int i
        11: .line 505
            iload 5 /* i */
            iconst_m1
            if_icmpeq 15
        12: .line 506
            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 511
            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 506
            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 514
      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 515
            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 536
            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 584
            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()
    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 648
            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 pd
         0: .line 659
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 660
            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 665
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 8
            aload 1 /* name */
            ldc "java."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         3: .line 666
            new java.lang.SecurityException
            dup
         4: .line 667
            new java.lang.StringBuilder
            dup
            ldc "Prohibited package name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 668
            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;
         6: .line 667
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 666
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 670
      StackMap locals:
      StackMap stack:
            aload 2 /* pd */
            ifnonnull 10
         9: .line 671
            aload 0 /* this */
            getfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
            astore 2 /* pd */
        10: .line 674
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 11
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.ClassLoader.checkCerts:(Ljava/lang/String;Ljava/security/CodeSource;)V
        11: .line 676
      StackMap locals:
      StackMap stack:
            aload 2 /* pd */
            areturn
        end local 2 // java.security.ProtectionDomain pd
        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    pd  Ljava/security/ProtectionDomain;
    MethodParameters:
      Name  Flags
      name  
      pd    

  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 pd
         0: .line 681
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 2 /* cs */
        start local 2 // java.security.CodeSource cs
         1: .line 682
            aconst_null
            astore 3 /* source */
        start local 3 // java.lang.String source
         2: .line 683
            aload 2 /* cs */
            ifnull 4
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            ifnull 4
         3: .line 684
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 3 /* source */
         4: .line 686
      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 pd
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/lang/ClassLoader;
            0    5     1      pd  Ljava/security/ProtectionDomain;
            1    5     2      cs  Ljava/security/CodeSource;
            2    5     3  source  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      pd    

  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 pd
        start local 6 // java.lang.ClassFormatError cfe
        start local 7 // java.lang.String source
         0: .line 698
            invokestatic sun.misc.ClassFileTransformer.getTransformers:()[Lsun/misc/ClassFileTransformer;
         1: .line 697
            astore 8 /* transformers */
        start local 8 // sun.misc.ClassFileTransformer[] transformers
         2: .line 699
            aconst_null
            astore 9 /* c */
        start local 9 // java.lang.Class c
         3: .line 701
            aload 8 /* transformers */
            ifnull 14
         4: .line 702
            aload 8 /* transformers */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 13
      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:
         5: aload 13
            iload 11
            aaload
            astore 10 /* transformer */
        start local 10 // sun.misc.ClassFileTransformer transformer
         6: .line 705
            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
         7: .line 706
            aload 0 /* this */
            aload 1 /* name */
            aload 14 /* tb */
            iconst_0
            aload 14 /* tb */
            arraylength
         8: .line 707
            aload 5 /* pd */
            aload 7 /* source */
         9: .line 706
            invokevirtual java.lang.ClassLoader.defineClass1:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 9 /* c */
        10: .line 708
            goto 14
        end local 14 // byte[] tb
        11: .line 709
      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
        12: .line 702
            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:
        13: iload 11
            iload 12
            if_icmplt 5
        14: .line 718
      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 16
        15: .line 719
            aload 6 /* cfe */
            athrow
        16: .line 721
      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 pd
        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   17     0          this  Ljava/lang/ClassLoader;
            0   17     1          name  Ljava/lang/String;
            0   17     2             b  [B
            0   17     3           off  I
            0   17     4           len  I
            0   17     5            pd  Ljava/security/ProtectionDomain;
            0   17     6           cfe  Ljava/lang/ClassFormatError;
            0   17     7        source  Ljava/lang/String;
            2   17     8  transformers  [Lsun/misc/ClassFileTransformer;
            3   17     9             c  Ljava/lang/Class;
            6   12    10   transformer  Lsun/misc/ClassFileTransformer;
            7   11    14            tb  [B
      Exception table:
        from    to  target  type
           6    10      11  Class java.lang.ClassFormatError
    Exceptions:
      throws java.lang.ClassFormatError
    MethodParameters:
        Name  Flags
      name    
      b       
      off     
      len     
      pd      
      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 pd
         0: .line 726
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            ifnull 4
         1: .line 727
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 3 /* certs */
        start local 3 // java.security.cert.Certificate[] certs
         2: .line 728
            aload 3 /* certs */
            ifnull 4
         3: .line 729
            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
         4: .line 731
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.ProtectionDomain pd
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/lang/ClassLoader;
            0    5     1      c  Ljava/lang/Class;
            0    5     2     pd  Ljava/security/ProtectionDomain;
            2    4     3  certs  [Ljava/security/cert/Certificate;
    MethodParameters:
      Name  Flags
      c     
      pd    

  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 802
            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 804
            aconst_null
            astore 6 /* c */
        start local 6 // java.lang.Class c
         2: .line 805
            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 808
            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 809
            goto 9
      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 810
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            iload 3 /* off */
            iload 4 /* len */
            aload 5 /* protectionDomain */
            aload 8 /* cfe */
         7: .line 811
            aload 7 /* source */
         8: .line 810
            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
         9: .line 814
      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
        10: .line 815
            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   11     0              this  Ljava/lang/ClassLoader;
            0   11     1              name  Ljava/lang/String;
            0   11     2                 b  [B
            0   11     3               off  I
            0   11     4               len  I
            0   11     5  protectionDomain  Ljava/security/ProtectionDomain;
            2   11     6                 c  Ljava/lang/Class;
            3   11     7            source  Ljava/lang/String;
            6    9     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 884
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* len */
        start local 4 // int len
         1: .line 887
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifne 10
         2: .line 888
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 7
         3: .line 889
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.array:()[B
         4: .line 890
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iadd
            iload 4 /* len */
         5: .line 891
            aload 3 /* protectionDomain */
         6: .line 889
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
         7: .line 894
      StackMap locals: int
      StackMap stack:
            iload 4 /* len */
            newarray 8
            astore 5 /* tb */
        start local 5 // byte[] tb
         8: .line 895
            aload 2 /* b */
            aload 5 /* tb */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         9: .line 896
            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 900
      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 902
            aconst_null
            astore 5 /* c */
        start local 5 // java.lang.Class c
        12: .line 903
            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 906
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 4 /* len */
            aload 3 /* protectionDomain */
        14: .line 907
            aload 6 /* source */
        15: .line 906
            invokevirtual java.lang.ClassLoader.defineClass2:(Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* c */
        16: .line 908
            goto 23
      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
        17: astore 7 /* cfe */
        start local 7 // java.lang.ClassFormatError cfe
        18: .line 909
            iload 4 /* len */
            newarray 8
            astore 8 /* tb */
        start local 8 // byte[] tb
        19: .line 910
            aload 2 /* b */
            aload 8 /* tb */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
        20: .line 911
            aload 0 /* this */
            aload 1 /* name */
            aload 8 /* tb */
            iconst_0
            iload 4 /* len */
            aload 3 /* protectionDomain */
            aload 7 /* cfe */
        21: .line 912
            aload 6 /* source */
        22: .line 911
            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
        23: .line 915
      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
        24: .line 916
            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   25     0              this  Ljava/lang/ClassLoader;
            0   25     1              name  Ljava/lang/String;
            0   25     2                 b  Ljava/nio/ByteBuffer;
            0   25     3  protectionDomain  Ljava/security/ProtectionDomain;
            1   25     4               len  I
            8   10     5                tb  [B
           12   25     5                 c  Ljava/lang/Class;
           13   25     6            source  Ljava/lang/String;
           18   23     7               cfe  Ljava/lang/ClassFormatError;
           19   23     8                tb  [B
      Exception table:
        from    to  target  type
          13    16      17  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 931
            aload 1 /* name */
            ifnull 1
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 932
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 933
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 4
         3: .line 934
            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 935
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 936
      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 void checkCerts(java.lang.String, java.security.CodeSource);
    descriptor: (Ljava/lang/String;Ljava/security/CodeSource;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, 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 940
            aload 1 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* i */
        start local 3 // int i
         1: .line 941
            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 943
            aconst_null
            astore 5 /* certs */
        start local 5 // java.security.cert.Certificate[] certs
         5: .line 944
            aload 2 /* cs */
            ifnull 7
         6: .line 945
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 5 /* certs */
         7: .line 947
      StackMap locals: java.lang.String java.security.cert.Certificate[]
      StackMap stack:
            aconst_null
            astore 6 /* pcerts */
        start local 6 // java.security.cert.Certificate[] pcerts
         8: .line 948
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            ifnonnull 19
         9: .line 949
            aload 0 /* this */
            dup
            astore 7
            monitorenter
        10: .line 950
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
            aload 4 /* pname */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            astore 6 /* pcerts */
        11: .line 951
            aload 6 /* pcerts */
            ifnonnull 15
        12: .line 952
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
            aload 4 /* pname */
            aload 5 /* certs */
            ifnonnull 13
            getstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
            goto 14
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[] java.lang.ClassLoader
      StackMap stack: java.util.Map java.lang.String
        13: aload 5 /* certs */
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[] java.lang.ClassLoader
      StackMap stack: java.util.Map java.lang.String java.security.cert.Certificate[]
        14: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 949
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        16: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 7
            monitorexit
        18: athrow
        19: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
            checkcast java.util.concurrent.ConcurrentHashMap
        20: .line 957
            aload 4 /* pname */
            aload 5 /* certs */
            ifnonnull 21
            getstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
            goto 22
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[]
      StackMap stack: java.util.concurrent.ConcurrentHashMap java.lang.String
        21: aload 5 /* certs */
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[]
      StackMap stack: java.util.concurrent.ConcurrentHashMap java.lang.String java.security.cert.Certificate[]
        22: invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
        23: .line 956
            astore 6 /* pcerts */
        24: .line 959
      StackMap locals:
      StackMap stack:
            aload 6 /* pcerts */
            ifnull 28
            aload 0 /* this */
            aload 6 /* pcerts */
            aload 5 /* certs */
            invokevirtual java.lang.ClassLoader.compareCerts:([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
            ifne 28
        25: .line 960
            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;
        26: .line 961
            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;
        27: .line 960
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 963
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.security.cert.Certificate[] pcerts
        end local 5 // java.security.cert.Certificate[] certs
        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   29     0    this  Ljava/lang/ClassLoader;
            0   29     1    name  Ljava/lang/String;
            0   29     2      cs  Ljava/security/CodeSource;
            1   29     3       i  I
            4   29     4   pname  Ljava/lang/String;
            5   29     5   certs  [Ljava/security/cert/Certificate;
            8   29     6  pcerts  [Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
          10    16      17  any
          17    18      17  any
    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 973
            aload 2 /* certs */
            ifnull 1
            aload 2 /* certs */
            arraylength
            ifne 3
         1: .line 974
      StackMap locals:
      StackMap stack:
            aload 1 /* pcerts */
            arraylength
            ifne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 978
      StackMap locals:
      StackMap stack:
            aload 2 /* certs */
            arraylength
            aload 1 /* pcerts */
            arraylength
            if_icmpeq 5
         4: .line 979
            iconst_0
            ireturn
         5: .line 984
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 17
         7: .line 985
      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 986
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         9: goto 14
        10: .line 987
      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 988
            iconst_1
            istore 3 /* match */
        12: .line 989
            goto 15
        13: .line 986
      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 992
      StackMap locals:
      StackMap stack:
            iload 3 /* match */
            ifne 16
            iconst_0
            ireturn
        16: .line 984
      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 996
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        19: goto 30
        20: .line 997
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* match */
        start local 3 // boolean match
        21: .line 998
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        22: goto 27
        23: .line 999
      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 1000
            iconst_1
            istore 3 /* match */
        25: .line 1001
            goto 28
        26: .line 998
      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 1004
      StackMap locals:
      StackMap stack:
            iload 3 /* match */
            ifne 29
            iconst_0
            ireturn
        29: .line 996
      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 1007
            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 1027
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.lang.ClassLoader.resolveClass0:(Ljava/lang/Class;)V
         1: .line 1028
            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=4, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1057
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* system */
        start local 2 // java.lang.ClassLoader system
         1: .line 1058
            aload 2 /* system */
            ifnonnull 8
         2: .line 1059
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 4
         3: .line 1060
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1061
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* cls */
        start local 3 // java.lang.Class cls
         5: .line 1062
            aload 3 /* cls */
            ifnonnull 7
         6: .line 1063
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1065
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* cls */
            areturn
        end local 3 // java.lang.Class cls
         8: .line 1067
      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    9     0    this  Ljava/lang/ClassLoader;
            0    9     1    name  Ljava/lang/String;
            1    9     2  system  Ljava/lang/ClassLoader;
            5    8     3     cls  Ljava/lang/Class;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.Class findBootstrapClassOrNull(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    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 1076
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 1
            aconst_null
            areturn
         1: .line 1078
      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    2     0  this  Ljava/lang/ClassLoader;
            0    2     1  name  Ljava/lang/String;
    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
    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 1099
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1100
            aconst_null
            areturn
         2: .line 1101
      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 1119
            aload 1 /* c */
            aload 2 /* signers */
            invokevirtual java.lang.Class.setSigners:([Ljava/lang/Object;)V
         1: .line 1120
            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 1149
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 3
         1: .line 1150
            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 1151
            goto 4
        end local 2 // java.net.URL url
         3: .line 1152
      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 1154
      StackMap locals: java.net.URL
      StackMap stack:
            aload 2 /* url */
            ifnonnull 6
         5: .line 1155
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
         6: .line 1157
      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 1187
            iconst_2
            anewarray java.util.Enumeration
            astore 2 /* tmp */
        start local 2 // java.util.Enumeration[] tmp
         1: .line 1188
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 4
         2: .line 1189
            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 1190
            goto 5
         4: .line 1191
      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 1193
      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 1195
            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 1211
            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=1, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1232
            invokestatic java.util.Collections.emptyEnumeration:()Ljava/util/Enumeration;
            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  

  protected static boolean registerAsParallelCapable();
    descriptor: ()Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 1253
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            ldc Ljava/lang/ClassLoader;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
         1: .line 1252
            astore 0 /* callerClass */
        start local 0 // java.lang.Class callerClass
         2: .line 1254
            aload 0 /* callerClass */
            invokestatic java.lang.ClassLoader$ParallelLoaders.register:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class callerClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            2    3     0  callerClass  Ljava/lang/Class<+Ljava/lang/ClassLoader;>;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  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 1271
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* system */
        start local 1 // java.lang.ClassLoader system
         1: .line 1272
            aload 1 /* system */
            ifnonnull 3
         2: .line 1273
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
         3: .line 1275
      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 1301
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* system */
        start local 1 // java.lang.ClassLoader system
         1: .line 1302
            aload 1 /* system */
            ifnonnull 3
         2: .line 1303
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
         3: .line 1305
      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 1312
            invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            astore 1 /* ucp */
        start local 1 // sun.misc.URLClassPath ucp
         1: .line 1313
            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 1314
            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 1324
            invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            aload 0 /* name */
            invokevirtual sun.misc.URLClassPath.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
         1: .line 1323
            astore 1 /* e */
        start local 1 // java.util.Enumeration e
         2: .line 1325
            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    3     0  name  Ljava/lang/String;
            2    3     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 1337
            invokestatic sun.misc.Launcher.getBootstrapClassPath:()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 1356
            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 1358
            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 1359
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1360
            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 1378
            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 1380
            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 1381
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1382
            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 1416
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnonnull 2
         1: .line 1417
            aconst_null
            areturn
         2: .line 1418
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         3: .line 1419
            aload 1 /* sm */
            ifnull 5
         4: .line 1420
            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 1422
      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 1482
            invokestatic java.lang.ClassLoader.initSystemClassLoader:()V
         1: .line 1483
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            ifnonnull 3
         2: .line 1484
            aconst_null
            areturn
         3: .line 1486
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* sm */
        start local 0 // java.lang.SecurityManager sm
         4: .line 1487
            aload 0 /* sm */
            ifnull 6
         5: .line 1488
            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 1490
      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 1494
            getstatic java.lang.ClassLoader.sclSet:Z
            ifne 19
         1: .line 1495
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            ifnull 3
         2: .line 1496
            new java.lang.IllegalStateException
            dup
            ldc "recursive invocation"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1497
      StackMap locals:
      StackMap stack:
            invokestatic sun.misc.Launcher.getLauncher:()Lsun/misc/Launcher;
            astore 0 /* l */
        start local 0 // sun.misc.Launcher l
         4: .line 1498
            aload 0 /* l */
            ifnull 18
         5: .line 1499
            aconst_null
            astore 1 /* oops */
        start local 1 // java.lang.Throwable oops
         6: .line 1500
            aload 0 /* l */
            invokevirtual sun.misc.Launcher.getClassLoader:()Ljava/lang/ClassLoader;
            putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
         7: .line 1503
            new java.lang.SystemClassLoaderAction
            dup
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            invokespecial java.lang.SystemClassLoaderAction.<init>:(Ljava/lang/ClassLoader;)V
         8: .line 1502
            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 1504
            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 1505
            aload 2 /* pae */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
            astore 1 /* oops */
        12: .line 1506
            aload 1 /* oops */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 14
        13: .line 1507
            aload 1 /* oops */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 1 /* oops */
        end local 2 // java.security.PrivilegedActionException pae
        14: .line 1510
      StackMap locals:
      StackMap stack:
            aload 1 /* oops */
            ifnull 18
        15: .line 1511
            aload 1 /* oops */
            instanceof java.lang.Error
            ifeq 17
        16: .line 1512
            aload 1 /* oops */
            checkcast java.lang.Error
            athrow
        17: .line 1515
      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 1519
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic java.lang.ClassLoader.sclSet:Z
        end local 0 // sun.misc.Launcher l
        19: .line 1521
      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 1526
            aload 0 /* this */
            astore 2 /* acl */
        start local 2 // java.lang.ClassLoader acl
         1: .line 1528
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 2 /* acl */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            astore 2 /* acl */
         2: .line 1529
            aload 1 /* cl */
            aload 2 /* acl */
            if_acmpne 4
         3: .line 1530
            iconst_1
            ireturn
         4: .line 1532
      StackMap locals:
      StackMap stack:
            aload 2 /* acl */
            ifnonnull 1
         5: .line 1533
            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 1544
            aload 0 /* from */
            aload 1 /* to */
            if_acmpne 2
         1: .line 1545
            iconst_0
            ireturn
         2: .line 1547
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            ifnonnull 4
         3: .line 1548
            iconst_0
            ireturn
         4: .line 1550
      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 1556
            aload 0 /* caller */
            ifnonnull 2
         1: .line 1557
            aconst_null
            areturn
         2: .line 1560
      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 1564
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1565
            aload 2 /* sm */
            ifnull 5
         2: .line 1567
            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 1568
            aload 3 /* ccl */
            aload 0 /* cl */
            invokestatic java.lang.ClassLoader.needsClassLoaderPermissionCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
            ifeq 5
         4: .line 1569
            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 1572
      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 1632
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 9
            monitorenter
         1: .line 1633
            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 1634
            aload 10 /* pkg */
            ifnull 4
         3: .line 1635
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* name */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1637
      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 1638
            aload 5 /* implTitle */
            aload 6 /* implVersion */
            aload 7 /* implVendor */
         6: .line 1639
            aload 8 /* sealBase */
            aload 0 /* this */
         7: .line 1637
            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 1640
            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 1641
            aload 10 /* pkg */
            aload 9
            monitorexit
        10: areturn
        end local 10 // java.lang.Package pkg
        11: .line 1632
      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=5, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1659
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 1660
            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 2 /* pkg */
        start local 2 // java.lang.Package pkg
         2: .line 1659
            aload 3
            monitorexit
         3: goto 6
        end local 2 // java.lang.Package pkg
      StackMap locals: java.lang.ClassLoader java.lang.String top java.util.HashMap
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // java.lang.Package pkg
         6: .line 1662
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Package
      StackMap stack:
            aload 2 /* pkg */
            ifnonnull 22
         7: .line 1663
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 10
         8: .line 1664
            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 2 /* pkg */
         9: .line 1665
            goto 11
        10: .line 1666
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 2 /* pkg */
        11: .line 1668
      StackMap locals:
      StackMap stack:
            aload 2 /* pkg */
            ifnull 22
        12: .line 1669
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
        13: .line 1670
            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 4 /* pkg2 */
        start local 4 // java.lang.Package pkg2
        14: .line 1671
            aload 4 /* pkg2 */
            ifnonnull 17
        15: .line 1672
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            aload 2 /* pkg */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1673
            goto 18
        17: .line 1674
      StackMap locals: java.util.HashMap java.lang.Package
      StackMap stack:
            aload 4 /* pkg2 */
            astore 2 /* pkg */
        end local 4 // java.lang.Package pkg2
        18: .line 1669
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        19: goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: aload 3
            monitorexit
        21: athrow
        22: .line 1679
      StackMap locals:
      StackMap stack:
            aload 2 /* pkg */
            areturn
        end local 2 // java.lang.Package pkg
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Ljava/lang/ClassLoader;
            0   23     1  name  Ljava/lang/String;
            2    4     2   pkg  Ljava/lang/Package;
            6   23     2   pkg  Ljava/lang/Package;
           14   18     4  pkg2  Ljava/lang/Package;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
          13    19      20  any
          20    21      20  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 1693
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 1694
            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 1693
            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 1697
      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 1698
            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 1699
            goto 10
        end local 2 // java.lang.Package[] pkgs
         9: .line 1700
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Package.getSystemPackages:()[Ljava/lang/Package;
            astore 2 /* pkgs */
        start local 2 // java.lang.Package[] pkgs
        10: .line 1702
      StackMap locals: java.lang.Package[]
      StackMap stack:
            aload 2 /* pkgs */
            ifnull 18
        11: .line 1703
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 17
        13: .line 1704
      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 1705
            aload 1 /* map */
            aload 4 /* pkgName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 16
        15: .line 1706
            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 1703
      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 1710
      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 1734
            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 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 1818
            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 1819
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            astore 2 /* ps */
        start local 2 // java.lang.String ps
         2: .line 1820
            aload 1 /* ldpath */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ldlen */
        start local 3 // int ldlen
         3: .line 1823
            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 1824
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         5: .line 1825
            goto 8
         6: .line 1826
      StackMap locals: java.lang.String java.lang.String java.lang.String int int top int
      StackMap stack:
            iinc 6 /* n */ 1
         7: .line 1827
            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 1825
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifge 6
         9: .line 1831
            iload 6 /* n */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 7 /* paths */
        start local 7 // java.lang.String[] paths
        10: .line 1834
            iconst_0
            dup
            istore 4 /* i */
            istore 6 /* n */
        11: .line 1835
            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 1836
            goto 20
        13: .line 1837
      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 1838
            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 1839
            goto 18
      StackMap locals:
      StackMap stack:
        16: iload 5 /* j */
            iload 4 /* i */
            isub
            ifne 18
        17: .line 1840
            aload 7 /* paths */
            iload 6 /* n */
            iinc 6 /* n */ 1
            ldc "."
            aastore
        18: .line 1842
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iconst_1
            iadd
            istore 4 /* i */
        19: .line 1843
            aload 1 /* ldpath */
            aload 2 /* ps */
            iload 4 /* i */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 5 /* j */
        20: .line 1836
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            ifge 13
        21: .line 1845
            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 1846
            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 1853
            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 1852
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            astore 3 /* loader */
        start local 3 // java.lang.ClassLoader loader
         3: .line 1854
            getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
            ifnonnull 6
         4: .line 1855
            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 1856
            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 1858
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            iload 2 /* isAbsolute */
            ifeq 10
         7: .line 1859
            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 1860
            return
         9: .line 1862
      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 1864
      StackMap locals:
      StackMap stack:
            aload 3 /* loader */
            ifnull 21
        11: .line 1865
            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 1866
            aload 4 /* libfilename */
            ifnull 21
        13: .line 1867
            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 1868
            aload 5 /* libfile */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 18
        15: .line 1869
            new java.lang.UnsatisfiedLinkError
            dup
        16: .line 1870
            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 1869
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1872
      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 1873
            return
        20: .line 1875
      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 1878
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        22: goto 27
        23: .line 1879
      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 1880
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 26
        25: .line 1881
            return
        end local 5 // java.io.File libfile
        26: .line 1878
      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 1884
            aload 3 /* loader */
            ifnull 38
        29: .line 1885
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        30: goto 37
        31: .line 1886
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
        32: .line 1887
            aload 1 /* name */
            invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
        33: .line 1886
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* libfile */
        start local 5 // java.io.File libfile
        34: .line 1888
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 36
        35: .line 1889
            return
        end local 5 // java.io.File libfile
        36: .line 1885
      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 1894
      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=2, locals=3, args_size=2
        start local 0 // java.lang.Class fromClass
        start local 1 // java.io.File file
         0: .line 1898
            aload 0 /* fromClass */
            aload 1 /* file */
            invokestatic java.lang.ClassLoader.loadLibrary1:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 2
         1: .line 1899
            iconst_1
            ireturn
         2: .line 1901
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokestatic java.lang.ClassLoaderHelper.mapAlternativeName:(Ljava/io/File;)Ljava/io/File;
            astore 2 /* libfile */
        start local 2 // java.io.File libfile
         3: .line 1902
            aload 2 /* libfile */
            ifnull 5
            aload 0 /* fromClass */
            aload 2 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary1:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 5
         4: .line 1903
            iconst_1
            ireturn
         5: .line 1905
      StackMap locals: java.io.File
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.io.File libfile
        end local 1 // java.io.File file
        end local 0 // java.lang.Class fromClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  fromClass  Ljava/lang/Class;
            0    6     1       file  Ljava/io/File;
            3    6     2    libfile  Ljava/io/File;
    MethodParameters:
           Name  Flags
      fromClass  
      file       final

  private static boolean loadLibrary1(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 1910
            new java.lang.ClassLoader$3
            dup
            aload 1 /* file */
            invokespecial java.lang.ClassLoader$3.<init>:(Ljava/io/File;)V
         1: .line 1909
            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 1915
            iload 2 /* exists */
            ifne 6
         5: .line 1916
            iconst_0
            ireturn
         6: .line 1920
      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 1921
            goto 10
        end local 3 // java.lang.String name
      StackMap locals:
      StackMap stack: java.io.IOException
         8: pop
         9: .line 1922
            iconst_0
            ireturn
        start local 3 // java.lang.String name
        10: .line 1925
      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 1924
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            astore 4 /* loader */
        start local 4 // java.lang.ClassLoader loader
        13: .line 1927
            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 1926
      StackMap locals:
      StackMap stack: java.util.Vector
            astore 5 /* libs */
        start local 5 // java.util.Vector libs
        16: .line 1928
            aload 5 /* libs */
            dup
            astore 6
            monitorenter
        17: .line 1929
            aload 5 /* libs */
            invokevirtual java.util.Vector.size:()I
            istore 7 /* size */
        start local 7 // int size
        18: .line 1930
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        19: goto 25
        20: .line 1931
      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 1932
            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 1933
            aload 6
            monitorexit
        23: iconst_1
            ireturn
        end local 9 // java.lang.ClassLoader$NativeLibrary lib
        24: .line 1930
      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 1937
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            dup
            astore 8
            monitorenter
        27: .line 1938
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            aload 3 /* name */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifeq 34
        28: .line 1939
            new java.lang.UnsatisfiedLinkError
            dup
        29: .line 1940
            new java.lang.StringBuilder
            dup
            ldc "Native Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 1941
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 1942
            ldc " already loaded in another classloader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 1940
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 1939
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 1956
      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 1957
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        36: goto 50
        37: .line 1958
      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 1959
            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 1960
            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 1961
            aload 8
            monitorexit
        41: aload 6
            monitorexit
        42: iconst_1
            ireturn
        43: .line 1963
      StackMap locals: java.lang.ClassLoader$NativeLibrary
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
        44: .line 1964
            new java.lang.StringBuilder
            dup
            ldc "Native Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 1965
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 1966
            ldc " is being loaded in another classloader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 1964
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 1963
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.ClassLoader$NativeLibrary lib
        49: .line 1957
      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 1970
            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 1971
            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 1973
            aload 10 /* lib */
            aload 3 /* name */
            invokevirtual java.lang.ClassLoader$NativeLibrary.load:(Ljava/lang/String;)V
        54: .line 1974
            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 1975
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        57: .line 1976
            aload 11
            athrow
        58: .line 1975
      StackMap locals:
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        59: .line 1977
            aload 10 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.handle:J
            lconst_0
            lcmp
            ifeq 65
        60: .line 1978
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            aload 3 /* name */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        61: .line 1979
            aload 5 /* libs */
            aload 10 /* lib */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        62: .line 1980
            aload 8
            monitorexit
        63: aload 6
            monitorexit
        64: iconst_1
            ireturn
        65: .line 1982
      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 1937
      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 1928
      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 1990
            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 1989
      StackMap locals:
      StackMap stack: java.util.Vector
            astore 2 /* libs */
        start local 2 // java.util.Vector libs
         3: .line 1991
            aload 2 /* libs */
            dup
            astore 3
            monitorenter
         4: .line 1992
            aload 2 /* libs */
            invokevirtual java.util.Vector.size:()I
            istore 4 /* size */
        start local 4 // int size
         5: .line 1993
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 13
         7: .line 1994
      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 1995
            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 1996
            lload 7 /* entry */
            lconst_0
            lcmp
            ifeq 12
        10: .line 1997
            lload 7 /* entry */
            aload 3
            monitorexit
        11: lreturn
        end local 7 // long entry
        end local 6 // java.lang.ClassLoader$NativeLibrary lib
        12: .line 1993
      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 1991
            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 2000
      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 void setDefaultAssertionStatus(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // boolean enabled
         0: .line 2043
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 2044
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            ifnonnull 3
         2: .line 2045
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         3: .line 2047
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enabled */
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
         4: .line 2043
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 2049
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljava/lang/ClassLoader;
            0    9     1  enabled  Z
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
         Name  Flags
      enabled  

  public void setPackageAssertionStatus(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String packageName
        start local 2 // boolean enabled
         0: .line 2090
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 2091
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            ifnonnull 3
         2: .line 2092
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         3: .line 2094
      StackMap locals: java.lang.Object
      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
         4: .line 2090
            aload 3
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 2096
      StackMap locals:
      StackMap stack:
            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    9     0         this  Ljava/lang/ClassLoader;
            0    9     1  packageName  Ljava/lang/String;
            0    9     2      enabled  Z
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
             Name  Flags
      packageName  
      enabled      

  public void setClassAssertionStatus(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String className
        start local 2 // boolean enabled
         0: .line 2121
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 2122
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            ifnonnull 3
         2: .line 2123
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         3: .line 2125
      StackMap locals: java.lang.Object
      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
         4: .line 2121
            aload 3
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 2127
      StackMap locals:
      StackMap stack:
            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    9     0       this  Ljava/lang/ClassLoader;
            0    9     1  className  Ljava/lang/String;
            0    9     2    enabled  Z
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
           Name  Flags
      className  
      enabled    

  public void clearAssertionStatus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 2144
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 2145
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
         2: .line 2146
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
         3: .line 2147
            aload 0 /* this */
            iconst_0
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
         4: .line 2144
            aload 1
            monitorexit
         5: goto 8
      StackMap locals: java.lang.ClassLoader java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 2149
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any

  boolean desiredAssertionStatus(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String className
         0: .line 2174
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 2179
            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 3 /* result */
        start local 3 // java.lang.Boolean result
         2: .line 2180
            aload 3 /* result */
            ifnull 5
         3: .line 2181
            aload 3 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 2
            monitorexit
         4: ireturn
         5: .line 2184
      StackMap locals: java.lang.Object java.lang.Boolean
      StackMap stack:
            aload 1 /* className */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 4 /* dotIndex */
        start local 4 // int dotIndex
         6: .line 2185
            iload 4 /* dotIndex */
            ifge 17
         7: .line 2186
            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 3 /* result */
         8: .line 2187
            aload 3 /* result */
            ifnull 17
         9: .line 2188
            aload 3 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 2
            monitorexit
        10: ireturn
        11: .line 2191
      StackMap locals: int
      StackMap stack:
            aload 1 /* className */
            iconst_0
            iload 4 /* dotIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* className */
        12: .line 2192
            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 3 /* result */
        13: .line 2193
            aload 3 /* result */
            ifnull 16
        14: .line 2194
            aload 3 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 2
            monitorexit
        15: ireturn
        16: .line 2195
      StackMap locals:
      StackMap stack:
            aload 1 /* className */
            ldc "."
            iload 4 /* dotIndex */
            iconst_1
            isub
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
            istore 4 /* dotIndex */
        17: .line 2190
      StackMap locals:
      StackMap stack:
            iload 4 /* dotIndex */
            ifgt 11
        18: .line 2199
            aload 0 /* this */
            getfield java.lang.ClassLoader.defaultAssertionStatus:Z
            aload 2
            monitorexit
        19: ireturn
        end local 4 // int dotIndex
        end local 3 // java.lang.Boolean result
        20: .line 2174
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        21: athrow
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Ljava/lang/ClassLoader;
            0   22     1  className  Ljava/lang/String;
            2   20     3     result  Ljava/lang/Boolean;
            6   20     4   dotIndex  I
      Exception table:
        from    to  target  type
           1     4      20  any
           5    10      20  any
          11    15      20  any
          16    19      20  any
          20    21      20  any
    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 2208
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
         1: .line 2209
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
         2: .line 2210
            invokestatic java.lang.ClassLoader.retrieveDirectives:()Ljava/lang/AssertionStatusDirectives;
            astore 1 /* directives */
        start local 1 // java.lang.AssertionStatusDirectives directives
         3: .line 2212
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2213
      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 2214
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.classEnabled:[Z
            iload 2 /* i */
            baload
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         7: .line 2213
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 2212
            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 2216
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        11: goto 16
        12: .line 2217
      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 2218
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.packageEnabled:[Z
            iload 2 /* i */
            baload
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        14: .line 2217
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 2216
            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 2220
            aload 0 /* this */
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.deflt:Z
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
        18: .line 2221
            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  java.lang.ClassLoader$ParallelLoaders
InnerClasses:
  java.lang.ClassLoader$1
  java.lang.ClassLoader$2
  java.lang.ClassLoader$3
  NativeLibrary = java.lang.ClassLoader$NativeLibrary of java.lang.ClassLoader
  private ParallelLoaders = java.lang.ClassLoader$ParallelLoaders of java.lang.ClassLoader