public class java.lang.Package implements java.lang.reflect.AnnotatedElement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.lang.Package
  super_class: java.lang.Object
{
  private static java.util.Map<java.lang.String, java.lang.Package> pkgs;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;

  private static java.util.Map<java.lang.String, java.net.URL> urls;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/net/URL;>;

  private static java.util.Map<java.lang.String, java.util.jar.Manifest> mans;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/jar/Manifest;>;

  private final java.lang.String pkgName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String specTitle;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String specVersion;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String specVendor;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String implTitle;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String implVersion;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String implVendor;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.net.URL sealBase;
    descriptor: Ljava/net/URL;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final transient java.lang.ClassLoader loader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private transient java.lang.Class packageInfo;
    descriptor: Ljava/lang/Class;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 591
            new java.util.HashMap
            dup
            bipush 31
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic java.lang.Package.pkgs:Ljava/util/Map;
         1: .line 594
            new java.util.HashMap
            dup
            bipush 10
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic java.lang.Package.urls:Ljava/util/Map;
         2: .line 597
            new java.util.HashMap
            dup
            bipush 10
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic java.lang.Package.mans:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 118
            aload 0 /* this */
            getfield java.lang.Package.pkgName:Ljava/lang/String;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.String getSpecificationTitle();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 127
            aload 0 /* this */
            getfield java.lang.Package.specTitle:Ljava/lang/String;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.String getSpecificationVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 140
            aload 0 /* this */
            getfield java.lang.Package.specVersion:Ljava/lang/String;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.String getSpecificationVendor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 150
            aload 0 /* this */
            getfield java.lang.Package.specVendor:Ljava/lang/String;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.String getImplementationTitle();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 158
            aload 0 /* this */
            getfield java.lang.Package.implTitle:Ljava/lang/String;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.String getImplementationVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 171
            aload 0 /* this */
            getfield java.lang.Package.implVersion:Ljava/lang/String;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.String getImplementationVendor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 180
            aload 0 /* this */
            getfield java.lang.Package.implVendor:Ljava/lang/String;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public boolean isSealed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 189
            aload 0 /* this */
            getfield java.lang.Package.sealBase:Ljava/net/URL;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Package;

  public boolean isSealed(java.net.URL);
    descriptor: (Ljava/net/URL;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Package this
        start local 1 // java.net.URL url
         0: .line 200
            aload 1 /* url */
            aload 0 /* this */
            getfield java.lang.Package.sealBase:Ljava/net/URL;
            invokevirtual java.net.URL.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.net.URL url
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;
            0    1     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  public boolean isCompatibleWith(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // java.lang.Package this
        start local 1 // java.lang.String desired
         0: .line 228
            aload 0 /* this */
            getfield java.lang.Package.specVersion:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield java.lang.Package.specVersion:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 2
         1: .line 229
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "Empty version string"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Package.specVersion:Ljava/lang/String;
            ldc "\\."
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            astore 2 /* sa */
        start local 2 // java.lang.String[] sa
         3: .line 233
            aload 2 /* sa */
            arraylength
            newarray 10
            astore 3 /* si */
        start local 3 // int[] si
         4: .line 234
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 235
      StackMap locals: java.lang.String[] int[] int
      StackMap stack:
            aload 3 /* si */
            iload 4 /* i */
            aload 2 /* sa */
            iload 4 /* i */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iastore
         7: .line 236
            aload 3 /* si */
            iload 4 /* i */
            iaload
            ifge 9
         8: .line 237
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* si */
            iload 4 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.NumberFormatException.forInputString:(Ljava/lang/String;)Ljava/lang/NumberFormatException;
            athrow
         9: .line 234
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 2 /* sa */
            arraylength
            if_icmplt 6
        end local 4 // int i
        11: .line 240
            aload 1 /* desired */
            ldc "\\."
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            astore 4 /* da */
        start local 4 // java.lang.String[] da
        12: .line 241
            aload 4 /* da */
            arraylength
            newarray 10
            astore 5 /* di */
        start local 5 // int[] di
        13: .line 242
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 19
        15: .line 243
      StackMap locals: java.lang.Package java.lang.String java.lang.String[] int[] java.lang.String[] int[] int
      StackMap stack:
            aload 5 /* di */
            iload 6 /* i */
            aload 4 /* da */
            iload 6 /* i */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iastore
        16: .line 244
            aload 5 /* di */
            iload 6 /* i */
            iaload
            ifge 18
        17: .line 245
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* di */
            iload 6 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.NumberFormatException.forInputString:(Ljava/lang/String;)Ljava/lang/NumberFormatException;
            athrow
        18: .line 242
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            aload 4 /* da */
            arraylength
            if_icmplt 15
        end local 6 // int i
        20: .line 248
            aload 5 /* di */
            arraylength
            aload 3 /* si */
            arraylength
            invokestatic java.lang.Math.max:(II)I
            istore 6 /* len */
        start local 6 // int len
        21: .line 249
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        22: goto 34
        23: .line 250
      StackMap locals: int
      StackMap stack:
            iload 7 /* i */
            aload 5 /* di */
            arraylength
            if_icmpge 24
            aload 5 /* di */
            iload 7 /* i */
            iaload
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 8 /* d */
        start local 8 // int d
        26: .line 251
            iload 7 /* i */
            aload 3 /* si */
            arraylength
            if_icmpge 27
            aload 3 /* si */
            iload 7 /* i */
            iaload
            goto 28
      StackMap locals: int
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 9 /* s */
        start local 9 // int s
        29: .line 252
            iload 9 /* s */
            iload 8 /* d */
            if_icmpge 31
        30: .line 253
            iconst_0
            ireturn
        31: .line 254
      StackMap locals: int
      StackMap stack:
            iload 9 /* s */
            iload 8 /* d */
            if_icmple 33
        32: .line 255
            iconst_1
            ireturn
        end local 9 // int s
        end local 8 // int d
        33: .line 249
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 7 /* i */
            iload 6 /* len */
            if_icmplt 23
        end local 7 // int i
        35: .line 257
            iconst_1
            ireturn
        end local 6 // int len
        end local 5 // int[] di
        end local 4 // java.lang.String[] da
        end local 3 // int[] si
        end local 2 // java.lang.String[] sa
        end local 1 // java.lang.String desired
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0     this  Ljava/lang/Package;
            0   36     1  desired  Ljava/lang/String;
            3   36     2       sa  [Ljava/lang/String;
            4   36     3       si  [I
            5   11     4        i  I
           12   36     4       da  [Ljava/lang/String;
           13   36     5       di  [I
           14   20     6        i  I
           21   36     6      len  I
           22   35     7        i  I
           26   33     8        d  I
           29   33     9        s  I
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
         Name  Flags
      desired  

  public static java.lang.Package getPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Package;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 278
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            astore 1 /* l */
        start local 1 // java.lang.ClassLoader l
         1: .line 279
            aload 1 /* l */
            ifnull 3
         2: .line 280
            aload 1 /* l */
            aload 0 /* name */
            invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
            areturn
         3: .line 282
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* name */
            invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
            areturn
        end local 1 // java.lang.ClassLoader l
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  name  Ljava/lang/String;
            1    4     1     l  Ljava/lang/ClassLoader;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()
    MethodParameters:
      Name  Flags
      name  

  public static java.lang.Package[] getPackages();
    descriptor: ()[Ljava/lang/Package;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 300
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            astore 0 /* l */
        start local 0 // java.lang.ClassLoader l
         1: .line 301
            aload 0 /* l */
            ifnull 3
         2: .line 302
            aload 0 /* l */
            invokevirtual java.lang.ClassLoader.getPackages:()[Ljava/lang/Package;
            areturn
         3: .line 304
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic java.lang.Package.getSystemPackages:()[Ljava/lang/Package;
            areturn
        end local 0 // java.lang.ClassLoader l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0     l  Ljava/lang/ClassLoader;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  static java.lang.Package getPackage(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Package;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class c
         0: .line 326
            aload 0 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 327
            aload 1 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* i */
        start local 2 // int i
         2: .line 328
            iload 2 /* i */
            iconst_m1
            if_icmpeq 8
         3: .line 329
            aload 1 /* name */
            iconst_0
            iload 2 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* name */
         4: .line 330
            aload 0 /* c */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
        start local 3 // java.lang.ClassLoader cl
         5: .line 331
            aload 3 /* cl */
            ifnull 7
         6: .line 332
            aload 3 /* cl */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
            areturn
         7: .line 334
      StackMap locals: java.lang.String int java.lang.ClassLoader
      StackMap stack:
            aload 1 /* name */
            invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
            areturn
        end local 3 // java.lang.ClassLoader cl
         8: .line 337
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int i
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     c  Ljava/lang/Class<*>;
            1    9     1  name  Ljava/lang/String;
            2    9     2     i  I
            5    8     3    cl  Ljava/lang/ClassLoader;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Package;
    MethodParameters:
      Name  Flags
      c     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 346
            aload 0 /* this */
            getfield java.lang.Package.pkgName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Package this
         0: .line 357
            aload 0 /* this */
            getfield java.lang.Package.specTitle:Ljava/lang/String;
            astore 1 /* spec */
        start local 1 // java.lang.String spec
         1: .line 358
            aload 0 /* this */
            getfield java.lang.Package.specVersion:Ljava/lang/String;
            astore 2 /* ver */
        start local 2 // java.lang.String ver
         2: .line 359
            aload 1 /* spec */
            ifnull 4
            aload 1 /* spec */
            invokevirtual java.lang.String.length:()I
            ifle 4
         3: .line 360
            new java.lang.StringBuilder
            dup
            ldc ", "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* spec */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* spec */
            goto 5
         4: .line 362
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc ""
            astore 1 /* spec */
         5: .line 363
      StackMap locals:
      StackMap stack:
            aload 2 /* ver */
            ifnull 7
            aload 2 /* ver */
            invokevirtual java.lang.String.length:()I
            ifle 7
         6: .line 364
            new java.lang.StringBuilder
            dup
            ldc ", version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ver */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* ver */
            goto 8
         7: .line 366
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 2 /* ver */
         8: .line 367
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.lang.Package.pkgName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* spec */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* ver */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String ver
        end local 1 // java.lang.String spec
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/lang/Package;
            1    9     1  spec  Ljava/lang/String;
            2    9     2   ver  Ljava/lang/String;

  private java.lang.Class<?> getPackageInfo();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 371
            aload 0 /* this */
            getfield java.lang.Package.packageInfo:Ljava/lang/Class;
            ifnonnull 5
         1: .line 373
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.lang.Package.pkgName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".package-info"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield java.lang.Package.loader:Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            putfield java.lang.Package.packageInfo:Ljava/lang/Class;
         2: .line 374
            goto 5
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         3: pop
         4: .line 377
            aload 0 /* this */
            ldc Ljava/lang/Package$1PackageInfoProxy;
            putfield java.lang.Package.packageInfo:Ljava/lang/Class;
         5: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Package.packageInfo:Ljava/lang/Class;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Package;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassNotFoundException
    Signature: ()Ljava/lang/Class<*>;

  public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Package this
        start local 1 // java.lang.Class annotationClass
         0: .line 388
            aload 0 /* this */
            invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
            aload 1 /* annotationClass */
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Ljava/lang/Package;
            0    1     1  annotationClass  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Package this
        start local 1 // java.lang.Class annotationClass
         0: .line 397
            aload 0 /* this */
            invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
            aload 1 /* annotationClass */
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Ljava/lang/Package;
            0    1     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    MethodParameters:
                 Name  Flags
      annotationClass  

  public java.lang.annotation.Annotation[] getAnnotations();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 404
            aload 0 /* this */
            invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getAnnotations:()[Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  public java.lang.annotation.Annotation[] getDeclaredAnnotations();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Package this
         0: .line 411
            aload 0 /* this */
            invokevirtual java.lang.Package.getPackageInfo:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Package;

  void <init>(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.lang.ClassLoader);
    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/ClassLoader;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=10, args_size=10
        start local 0 // java.lang.Package 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
        start local 9 // java.lang.ClassLoader loader
         0: .line 426
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 431
            aload 0 /* this */
            aload 1 /* name */
            putfield java.lang.Package.pkgName:Ljava/lang/String;
         2: .line 432
            aload 0 /* this */
            aload 5 /* impltitle */
            putfield java.lang.Package.implTitle:Ljava/lang/String;
         3: .line 433
            aload 0 /* this */
            aload 6 /* implversion */
            putfield java.lang.Package.implVersion:Ljava/lang/String;
         4: .line 434
            aload 0 /* this */
            aload 7 /* implvendor */
            putfield java.lang.Package.implVendor:Ljava/lang/String;
         5: .line 435
            aload 0 /* this */
            aload 2 /* spectitle */
            putfield java.lang.Package.specTitle:Ljava/lang/String;
         6: .line 436
            aload 0 /* this */
            aload 3 /* specversion */
            putfield java.lang.Package.specVersion:Ljava/lang/String;
         7: .line 437
            aload 0 /* this */
            aload 4 /* specvendor */
            putfield java.lang.Package.specVendor:Ljava/lang/String;
         8: .line 438
            aload 0 /* this */
            aload 8 /* sealbase */
            putfield java.lang.Package.sealBase:Ljava/net/URL;
         9: .line 439
            aload 0 /* this */
            aload 9 /* loader */
            putfield java.lang.Package.loader:Ljava/lang/ClassLoader;
        10: .line 440
            return
        end local 9 // java.lang.ClassLoader loader
        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.Package this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Ljava/lang/Package;
            0   11     1         name  Ljava/lang/String;
            0   11     2    spectitle  Ljava/lang/String;
            0   11     3  specversion  Ljava/lang/String;
            0   11     4   specvendor  Ljava/lang/String;
            0   11     5    impltitle  Ljava/lang/String;
            0   11     6  implversion  Ljava/lang/String;
            0   11     7   implvendor  Ljava/lang/String;
            0   11     8     sealbase  Ljava/net/URL;
            0   11     9       loader  Ljava/lang/ClassLoader;
    MethodParameters:
             Name  Flags
      name         
      spectitle    
      specversion  
      specvendor   
      impltitle    
      implversion  
      implvendor   
      sealbase     
      loader       

  private void <init>(java.lang.String, java.util.jar.Manifest, java.net.URL, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;Ljava/lang/ClassLoader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=15, args_size=5
        start local 0 // java.lang.Package this
        start local 1 // java.lang.String name
        start local 2 // java.util.jar.Manifest man
        start local 3 // java.net.URL url
        start local 4 // java.lang.ClassLoader loader
         0: .line 449
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 450
            aload 1 /* name */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
         2: .line 451
            aconst_null
            astore 6 /* sealed */
        start local 6 // java.lang.String sealed
         3: .line 452
            aconst_null
            astore 7 /* specTitle */
        start local 7 // java.lang.String specTitle
         4: .line 453
            aconst_null
            astore 8 /* specVersion */
        start local 8 // java.lang.String specVersion
         5: .line 454
            aconst_null
            astore 9 /* specVendor */
        start local 9 // java.lang.String specVendor
         6: .line 455
            aconst_null
            astore 10 /* implTitle */
        start local 10 // java.lang.String implTitle
         7: .line 456
            aconst_null
            astore 11 /* implVersion */
        start local 11 // java.lang.String implVersion
         8: .line 457
            aconst_null
            astore 12 /* implVendor */
        start local 12 // java.lang.String implVendor
         9: .line 458
            aconst_null
            astore 13 /* sealBase */
        start local 13 // java.net.URL sealBase
        10: .line 459
            aload 2 /* man */
            aload 5 /* path */
            invokevirtual java.util.jar.Manifest.getAttributes:(Ljava/lang/String;)Ljava/util/jar/Attributes;
            astore 14 /* attr */
        start local 14 // java.util.jar.Attributes attr
        11: .line 460
            aload 14 /* attr */
            ifnull 19
        12: .line 461
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 7 /* specTitle */
        13: .line 462
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 8 /* specVersion */
        14: .line 463
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 9 /* specVendor */
        15: .line 464
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 10 /* implTitle */
        16: .line 465
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 11 /* implVersion */
        17: .line 466
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 12 /* implVendor */
        18: .line 467
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 6 /* sealed */
        19: .line 469
      StackMap locals: java.lang.Package java.lang.String java.util.jar.Manifest java.net.URL 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.lang.String java.net.URL java.util.jar.Attributes
      StackMap stack:
            aload 2 /* man */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 14 /* attr */
        20: .line 470
            aload 14 /* attr */
            ifnull 35
        21: .line 471
            aload 7 /* specTitle */
            ifnonnull 23
        22: .line 472
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 7 /* specTitle */
        23: .line 474
      StackMap locals:
      StackMap stack:
            aload 8 /* specVersion */
            ifnonnull 25
        24: .line 475
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 8 /* specVersion */
        25: .line 477
      StackMap locals:
      StackMap stack:
            aload 9 /* specVendor */
            ifnonnull 27
        26: .line 478
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 9 /* specVendor */
        27: .line 480
      StackMap locals:
      StackMap stack:
            aload 10 /* implTitle */
            ifnonnull 29
        28: .line 481
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 10 /* implTitle */
        29: .line 483
      StackMap locals:
      StackMap stack:
            aload 11 /* implVersion */
            ifnonnull 31
        30: .line 484
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 11 /* implVersion */
        31: .line 486
      StackMap locals:
      StackMap stack:
            aload 12 /* implVendor */
            ifnonnull 33
        32: .line 487
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 12 /* implVendor */
        33: .line 489
      StackMap locals:
      StackMap stack:
            aload 6 /* sealed */
            ifnonnull 35
        34: .line 490
            aload 14 /* attr */
            getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 6 /* sealed */
        35: .line 493
      StackMap locals:
      StackMap stack:
            ldc "true"
            aload 6 /* sealed */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        36: .line 494
            aload 3 /* url */
            astore 13 /* sealBase */
        37: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield java.lang.Package.pkgName:Ljava/lang/String;
        38: .line 497
            aload 0 /* this */
            aload 7 /* specTitle */
            putfield java.lang.Package.specTitle:Ljava/lang/String;
        39: .line 498
            aload 0 /* this */
            aload 8 /* specVersion */
            putfield java.lang.Package.specVersion:Ljava/lang/String;
        40: .line 499
            aload 0 /* this */
            aload 9 /* specVendor */
            putfield java.lang.Package.specVendor:Ljava/lang/String;
        41: .line 500
            aload 0 /* this */
            aload 10 /* implTitle */
            putfield java.lang.Package.implTitle:Ljava/lang/String;
        42: .line 501
            aload 0 /* this */
            aload 11 /* implVersion */
            putfield java.lang.Package.implVersion:Ljava/lang/String;
        43: .line 502
            aload 0 /* this */
            aload 12 /* implVendor */
            putfield java.lang.Package.implVendor:Ljava/lang/String;
        44: .line 503
            aload 0 /* this */
            aload 13 /* sealBase */
            putfield java.lang.Package.sealBase:Ljava/net/URL;
        45: .line 504
            aload 0 /* this */
            aload 4 /* loader */
            putfield java.lang.Package.loader:Ljava/lang/ClassLoader;
        46: .line 505
            return
        end local 14 // java.util.jar.Attributes attr
        end local 13 // java.net.URL sealBase
        end local 12 // java.lang.String implVendor
        end local 11 // java.lang.String implVersion
        end local 10 // java.lang.String implTitle
        end local 9 // java.lang.String specVendor
        end local 8 // java.lang.String specVersion
        end local 7 // java.lang.String specTitle
        end local 6 // java.lang.String sealed
        end local 5 // java.lang.String path
        end local 4 // java.lang.ClassLoader loader
        end local 3 // java.net.URL url
        end local 2 // java.util.jar.Manifest man
        end local 1 // java.lang.String name
        end local 0 // java.lang.Package this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   47     0         this  Ljava/lang/Package;
            0   47     1         name  Ljava/lang/String;
            0   47     2          man  Ljava/util/jar/Manifest;
            0   47     3          url  Ljava/net/URL;
            0   47     4       loader  Ljava/lang/ClassLoader;
            2   47     5         path  Ljava/lang/String;
            3   47     6       sealed  Ljava/lang/String;
            4   47     7    specTitle  Ljava/lang/String;
            5   47     8  specVersion  Ljava/lang/String;
            6   47     9   specVendor  Ljava/lang/String;
            7   47    10    implTitle  Ljava/lang/String;
            8   47    11  implVersion  Ljava/lang/String;
            9   47    12   implVendor  Ljava/lang/String;
           10   47    13     sealBase  Ljava/net/URL;
           11   47    14         attr  Ljava/util/jar/Attributes;
    MethodParameters:
        Name  Flags
      name    
      man     
      url     
      loader  

  static java.lang.Package getSystemPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Package;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String name
         0: .line 511
            getstatic java.lang.Package.pkgs:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 512
            getstatic java.lang.Package.pkgs:Ljava/util/Map;
            aload 0 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Package
            astore 2 /* pkg */
        start local 2 // java.lang.Package pkg
         2: .line 513
            aload 2 /* pkg */
            ifnonnull 7
         3: .line 514
            aload 0 /* name */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* name */
         4: .line 515
            aload 0 /* name */
            invokestatic java.lang.Package.getSystemPackage0:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* fn */
        start local 3 // java.lang.String fn
         5: .line 516
            aload 3 /* fn */
            ifnull 7
         6: .line 517
            aload 0 /* name */
            aload 3 /* fn */
            invokestatic java.lang.Package.defineSystemPackage:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Package;
            astore 2 /* pkg */
        end local 3 // java.lang.String fn
         7: .line 520
      StackMap locals: java.util.Map java.lang.Package
      StackMap stack:
            aload 2 /* pkg */
            aload 1
            monitorexit
         8: areturn
        end local 2 // java.lang.Package pkg
         9: .line 511
      StackMap locals: java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        10: athrow
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  name  Ljava/lang/String;
            2    9     2   pkg  Ljava/lang/Package;
            5    7     3    fn  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
      Name  Flags
      name  

  static java.lang.Package[] getSystemPackages();
    descriptor: ()[Ljava/lang/Package;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=0
         0: .line 529
            invokestatic java.lang.Package.getSystemPackages0:()[Ljava/lang/String;
            astore 0 /* names */
        start local 0 // java.lang.String[] names
         1: .line 530
            getstatic java.lang.Package.pkgs:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         2: .line 531
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 532
      StackMap locals: java.lang.String[] java.util.Map int
      StackMap stack:
            aload 0 /* names */
            iload 2 /* i */
            aaload
            aload 0 /* names */
            iload 2 /* i */
            aaload
            invokestatic java.lang.Package.getSystemPackage0:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Package.defineSystemPackage:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Package;
            pop
         5: .line 531
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* names */
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 534
            getstatic java.lang.Package.pkgs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            getstatic java.lang.Package.pkgs:Ljava/util/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[]
            aload 1
            monitorexit
         8: areturn
         9: .line 530
      StackMap locals: java.lang.String[] java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        10: athrow
        end local 0 // java.lang.String[] names
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1   11     0  names  [Ljava/lang/String;
            3    7     2      i  I
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any

  private static java.lang.Package defineSystemPackage(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Package;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String iname
        start local 1 // java.lang.String fn
         0: .line 541
            new java.lang.Package$1
            dup
            aload 0 /* iname */
            aload 1 /* fn */
            invokespecial java.lang.Package$1.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Package
            areturn
        end local 1 // java.lang.String fn
        end local 0 // java.lang.String iname
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  iname  Ljava/lang/String;
            0    1     1     fn  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      iname  final
      fn     final

  private static java.util.jar.Manifest loadManifest(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/jar/Manifest;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String fn
         0: .line 581
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new java.io.FileInputStream
            dup
            aload 0 /* fn */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fis */
        start local 3 // java.io.FileInputStream fis
         2: .line 582
            new java.util.jar.JarInputStream
            dup
            aload 3 /* fis */
            iconst_0
            invokespecial java.util.jar.JarInputStream.<init>:(Ljava/io/InputStream;Z)V
            astore 4 /* jis */
        start local 4 // java.util.jar.JarInputStream jis
         3: .line 584
            aload 4 /* jis */
            invokevirtual java.util.jar.JarInputStream.getManifest:()Ljava/util/jar/Manifest;
         4: .line 585
            aload 4 /* jis */
            ifnull 5
            aload 4 /* jis */
            invokevirtual java.util.jar.JarInputStream.close:()V
      StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.util.jar.JarInputStream
      StackMap stack: java.util.jar.Manifest
         5: aload 3 /* fis */
            ifnull 6
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
         6: .line 584
      StackMap locals:
      StackMap stack: java.util.jar.Manifest
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 1
         8: .line 585
            aload 4 /* jis */
            ifnull 9
            aload 4 /* jis */
            invokevirtual java.util.jar.JarInputStream.close:()V
        end local 4 // java.util.jar.JarInputStream jis
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 3 /* fis */
            ifnull 13
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 3 // java.io.FileInputStream fis
      StackMap locals:
      StackMap stack:
        13: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 1
            ifnonnull 15
            aload 2
            astore 1
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 1
            aload 2
            if_acmpeq 16
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 1
            athrow
      StackMap locals: java.lang.String
      StackMap stack: java.io.IOException
        17: pop
        18: .line 586
            aconst_null
            areturn
        end local 0 // java.lang.String fn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0    fn  Ljava/lang/String;
            2   13     3   fis  Ljava/io/FileInputStream;
            3    9     4   jis  Ljava/util/jar/JarInputStream;
      Exception table:
        from    to  target  type
           3     4       7  any
           2     5      10  any
           7    10      10  any
           1     6      14  any
           7    14      14  any
           0     6      17  Class java.io.IOException
           7    17      17  Class java.io.IOException
    MethodParameters:
      Name  Flags
      fn    

  private static native java.lang.String getSystemPackage0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  

  private static native java.lang.String[] getSystemPackages0();
    descriptor: ()[Ljava/lang/String;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "Package.java"
NestMembers:
  java.lang.Package$1  java.lang.Package$1PackageInfoProxy
InnerClasses:
  java.lang.Package$1
  PackageInfoProxy = java.lang.Package$1PackageInfoProxy
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes