public class sun.security.provider.PolicyFile extends java.security.Policy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.provider.PolicyFile
  super_class: java.security.Policy
{
  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NONE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "NONE"

  private static final java.lang.String P11KEYSTORE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PKCS11"

  private static final java.lang.String SELF;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "${{self}}"

  private static final java.lang.String X500PRINCIPAL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.security.auth.x500.X500Principal"

  private static final java.lang.String POLICY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.security.policy"

  private static final java.lang.String SECURITY_MANAGER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.security.manager"

  private static final java.lang.String POLICY_URL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "policy.url."

  private static final java.lang.String AUTH_POLICY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.security.auth.policy"

  private static final java.lang.String AUTH_POLICY_URL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "auth.policy.url."

  private static final int DEFAULT_CACHE_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private volatile sun.security.provider.PolicyFile$PolicyInfo policyInfo;
    descriptor: Lsun/security/provider/PolicyFile$PolicyInfo;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

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

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

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

  private java.net.URL url;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.Class[] PARAMS0;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Class[] PARAMS1;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Class[] PARAMS2;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 277
            ldc "policy"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
         1: .line 306
            iconst_0
            anewarray java.lang.Class
            putstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
         2: .line 307
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
         3: .line 308
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyFile this
         0: .line 314
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 296
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.constructed:Z
         2: .line 298
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         3: .line 299
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
         4: .line 300
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         5: .line 301
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         6: .line 315
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         7: .line 316
            return
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/provider/PolicyFile;

  public void <init>(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.net.URL url
         0: .line 322
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 296
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.constructed:Z
         2: .line 298
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         3: .line 299
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
         4: .line 300
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         5: .line 301
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         6: .line 323
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
         7: .line 324
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         8: .line 325
            return
        end local 1 // java.net.URL url
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/provider/PolicyFile;
            0    9     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  private void init(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.net.URL url
         0: .line 432
            new sun.security.provider.PolicyFile$1
            dup
            aload 0 /* this */
            invokespecial sun.security.provider.PolicyFile$1.<init>:(Lsun/security/provider/PolicyFile;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         1: .line 431
            astore 2 /* numCacheStr */
        start local 2 // java.lang.String numCacheStr
         2: .line 446
            aload 2 /* numCacheStr */
            ifnull 8
         3: .line 448
            aload 2 /* numCacheStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* numCaches */
        start local 3 // int numCaches
         4: .line 449
            goto 9
        end local 3 // int numCaches
      StackMap locals: sun.security.provider.PolicyFile java.net.URL java.lang.String
      StackMap stack: java.lang.NumberFormatException
         5: pop
         6: .line 450
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         7: .line 452
            goto 9
        end local 3 // int numCaches
         8: .line 453
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         9: .line 456
      StackMap locals: int
      StackMap stack:
            new sun.security.provider.PolicyFile$PolicyInfo
            dup
            iload 3 /* numCaches */
            invokespecial sun.security.provider.PolicyFile$PolicyInfo.<init>:(I)V
            astore 4 /* newInfo */
        start local 4 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        10: .line 457
            aload 0 /* this */
            aload 4 /* newInfo */
            aload 1 /* url */
            invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/net/URL;)V
        11: .line 458
            aload 0 /* this */
            aload 4 /* newInfo */
            putfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
        12: .line 459
            return
        end local 4 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 3 // int numCaches
        end local 2 // java.lang.String numCacheStr
        end local 1 // java.net.URL url
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lsun/security/provider/PolicyFile;
            0   13     1          url  Ljava/net/URL;
            2   13     2  numCacheStr  Ljava/lang/String;
            4    5     3    numCaches  I
            7    8     3    numCaches  I
            9   13     3    numCaches  I
           10   13     4      newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      url   

  private void initPolicyFile(sun.security.provider.PolicyFile$PolicyInfo, java.net.URL);
    descriptor: (Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/net/URL;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        start local 2 // java.net.URL url
         0: .line 463
            aload 2 /* url */
            ifnull 5
         1: .line 470
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 3
         2: .line 471
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         3: .line 473
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$2
            dup
            aload 0 /* this */
            aload 2 /* url */
            aload 1 /* newInfo */
            invokespecial sun.security.provider.PolicyFile$2.<init>:(Lsun/security/provider/PolicyFile;Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         4: .line 483
            goto 9
         5: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "java.security.policy"
            ldc "policy.url."
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
            istore 3 /* loaded_one */
        start local 3 // boolean loaded_one
         6: .line 501
            iload 3 /* loaded_one */
            ifne 8
         7: .line 503
            aload 0 /* this */
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initStaticPolicy:(Lsun/security/provider/PolicyFile$PolicyInfo;)V
         8: .line 506
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc "java.security.auth.policy"
            ldc "auth.policy.url."
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
            pop
        end local 3 // boolean loaded_one
         9: .line 508
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.net.URL url
        end local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/security/provider/PolicyFile;
            0   10     1     newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            0   10     2         url  Ljava/net/URL;
            6    9     3  loaded_one  Z
    MethodParameters:
         Name  Flags
      newInfo  final
      url      final

  private boolean initPolicyFile(java.lang.String, java.lang.String, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.lang.String propname
        start local 2 // java.lang.String urlname
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 513
            new sun.security.provider.PolicyFile$3
            dup
            aload 0 /* this */
            aload 1 /* propname */
            aload 3 /* newInfo */
            aload 2 /* urlname */
            invokespecial sun.security.provider.PolicyFile$3.<init>:(Lsun/security/provider/PolicyFile;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
         1: .line 512
            astore 4 /* loadedPolicy */
        start local 4 // java.lang.Boolean loadedPolicy
         2: .line 595
            aload 4 /* loadedPolicy */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 4 // java.lang.Boolean loadedPolicy
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.lang.String urlname
        end local 1 // java.lang.String propname
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/security/provider/PolicyFile;
            0    3     1      propname  Ljava/lang/String;
            0    3     2       urlname  Ljava/lang/String;
            0    3     3       newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            2    3     4  loadedPolicy  Ljava/lang/Boolean;
    MethodParameters:
          Name  Flags
      propname  final
      urlname   final
      newInfo   final

  private boolean init(java.net.URL, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.net.URL policy
        start local 2 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 605
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         1: .line 606
            new sun.security.provider.PolicyParser
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.expandProperties:Z
            invokespecial sun.security.provider.PolicyParser.<init>:(Z)V
            astore 4 /* pp */
        start local 4 // sun.security.provider.PolicyParser pp
         2: .line 607
            aconst_null
            astore 5 /* isr */
        start local 5 // java.io.InputStreamReader isr
         3: .line 615
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.notUtf8:Z
            ifeq 8
         4: .line 616
            new java.io.InputStreamReader
            dup
         5: .line 617
            aload 1 /* policy */
            invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
         6: .line 616
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 5 /* isr */
         7: .line 618
            goto 11
         8: .line 619
      StackMap locals: int sun.security.provider.PolicyParser java.io.InputStreamReader
      StackMap stack:
            new java.io.InputStreamReader
            dup
         9: .line 620
            aload 1 /* policy */
            invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
            ldc "UTF-8"
        10: .line 619
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 5 /* isr */
        11: .line 623
      StackMap locals:
      StackMap stack:
            aload 4 /* pp */
            aload 5 /* isr */
            invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
        12: .line 625
            aconst_null
            astore 6 /* keyStore */
        start local 6 // java.security.KeyStore keyStore
        13: .line 628
            aload 1 /* policy */
        14: .line 629
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
        15: .line 630
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
        16: .line 631
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
        17: .line 632
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
        18: .line 633
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
        19: .line 627
            invokestatic sun.security.util.PolicyUtil.getKeyStore:(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/security/util/Debug;)Ljava/security/KeyStore;
            astore 6 /* keyStore */
        20: .line 634
            goto 24
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader java.security.KeyStore
      StackMap stack: java.lang.Exception
        21: astore 7 /* e */
        start local 7 // java.lang.Exception e
        22: .line 636
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 24
        23: .line 637
            aload 7 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 7 // java.lang.Exception e
        24: .line 641
      StackMap locals:
      StackMap stack:
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
            astore 7 /* enum_ */
        start local 7 // java.util.Enumeration enum_
        25: .line 642
            goto 28
        26: .line 643
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 7 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$GrantEntry
            astore 8 /* ge */
        start local 8 // sun.security.provider.PolicyParser$GrantEntry ge
        27: .line 644
            aload 0 /* this */
            aload 8 /* ge */
            aload 6 /* keyStore */
            aload 2 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.addGrantEntry:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
        end local 8 // sun.security.provider.PolicyParser$GrantEntry ge
        28: .line 642
      StackMap locals:
      StackMap stack:
            aload 7 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 26
        end local 7 // java.util.Enumeration enum_
        end local 6 // java.security.KeyStore keyStore
        29: .line 646
            goto 66
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader
      StackMap stack: sun.security.provider.PolicyParser$ParsingException
        30: astore 6 /* pe */
        start local 6 // sun.security.provider.PolicyParser$ParsingException pe
        31: .line 647
            new java.text.MessageFormat
            dup
        32: .line 648
            ldc "java.security.policy.error.parsing.policy.message"
        33: .line 647
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        34: .line 649
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* policy */
            aastore
            dup
            iconst_1
            aload 6 /* pe */
            invokevirtual sun.security.provider.PolicyParser$ParsingException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        35: .line 650
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 651
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 38
        37: .line 652
            aload 6 /* pe */
            invokevirtual sun.security.provider.PolicyParser$ParsingException.printStackTrace:()V
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        end local 6 // sun.security.provider.PolicyParser$ParsingException pe
        38: .line 661
      StackMap locals:
      StackMap stack:
            aload 5 /* isr */
            ifnull 44
        39: .line 663
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        40: .line 664
            iconst_1
            istore 3 /* success */
        41: .line 665
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        42: pop
        43: .line 668
            goto 73
        44: .line 669
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
            goto 73
        45: .line 654
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        46: .line 655
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 50
        47: .line 656
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "error parsing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* policy */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        48: .line 657
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            aload 6 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        49: .line 658
            aload 6 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 6 // java.lang.Exception e
        50: .line 661
      StackMap locals:
      StackMap stack:
            aload 5 /* isr */
            ifnull 56
        51: .line 663
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        52: .line 664
            iconst_1
            istore 3 /* success */
        53: .line 665
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        54: pop
        55: .line 668
            goto 73
        56: .line 669
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
            goto 73
        57: .line 660
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        58: .line 661
            aload 5 /* isr */
            ifnull 64
        59: .line 663
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        60: .line 664
            iconst_1
            istore 3 /* success */
        61: .line 665
            goto 65
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        62: pop
        63: .line 668
            goto 65
        64: .line 669
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
        65: .line 671
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        66: .line 661
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader
      StackMap stack:
            aload 5 /* isr */
            ifnull 72
        67: .line 663
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        68: .line 664
            iconst_1
            istore 3 /* success */
        69: .line 665
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        70: pop
        71: .line 668
            goto 73
        72: .line 669
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
        73: .line 673
      StackMap locals:
      StackMap stack:
            iload 3 /* success */
            ireturn
        end local 5 // java.io.InputStreamReader isr
        end local 4 // sun.security.provider.PolicyParser pp
        end local 3 // boolean success
        end local 2 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 1 // java.net.URL policy
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   74     0      this  Lsun/security/provider/PolicyFile;
            0   74     1    policy  Ljava/net/URL;
            0   74     2   newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            1   74     3   success  Z
            2   74     4        pp  Lsun/security/provider/PolicyParser;
            3   74     5       isr  Ljava/io/InputStreamReader;
           13   29     6  keyStore  Ljava/security/KeyStore;
           22   24     7         e  Ljava/lang/Exception;
           25   29     7     enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
           27   28     8        ge  Lsun/security/provider/PolicyParser$GrantEntry;
           31   38     6        pe  Lsun/security/provider/PolicyParser$ParsingException;
           34   38     7      form  Ljava/text/MessageFormat;
           35   38     8    source  [Ljava/lang/Object;
           46   50     6         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    20      21  Class java.lang.Exception
           3    29      30  Class sun.security.provider.PolicyParser$ParsingException
          39    41      42  Class java.io.IOException
           3    29      45  Class java.lang.Exception
          51    53      54  Class java.io.IOException
           3    38      57  any
          45    50      57  any
          59    61      62  Class java.io.IOException
          67    69      70  Class java.io.IOException
    MethodParameters:
         Name  Flags
      policy   
      newInfo  

  private void initStaticPolicy(sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Lsun/security/provider/PolicyFile$PolicyInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 677
            new sun.security.provider.PolicyFile$4
            dup
            aload 0 /* this */
            aload 1 /* newInfo */
            invokespecial sun.security.provider.PolicyFile$4.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyInfo;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 753
            return
        end local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/security/provider/PolicyFile;
            0    2     1  newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
    MethodParameters:
         Name  Flags
      newInfo  final

  private java.security.CodeSource getCodeSource(sun.security.provider.PolicyParser$GrantEntry, java.security.KeyStore, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)Ljava/security/CodeSource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        start local 2 // java.security.KeyStore keyStore
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 763
            aconst_null
            astore 4 /* certs */
        start local 4 // java.security.cert.Certificate[] certs
         1: .line 764
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 9
         2: .line 765
            aload 0 /* this */
            aload 2 /* keyStore */
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            aload 3 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
            astore 4 /* certs */
         3: .line 766
            aload 4 /* certs */
            ifnonnull 9
         4: .line 769
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 8
         5: .line 770
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  -- No certs for alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 771
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' - ignoring entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 770
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 773
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aconst_null
            areturn
         9: .line 779
      StackMap locals:
      StackMap stack:
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 12
        10: .line 780
            new java.net.URL
            dup
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 5 /* location */
        start local 5 // java.net.URL location
        11: goto 13
        end local 5 // java.net.URL location
        12: .line 782
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* location */
        start local 5 // java.net.URL location
        13: .line 784
      StackMap locals: java.net.URL
      StackMap stack:
            aload 0 /* this */
            new java.security.CodeSource
            dup
            aload 5 /* location */
            aload 4 /* certs */
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            iconst_0
            invokevirtual sun.security.provider.PolicyFile.canonicalizeCodebase:(Ljava/security/CodeSource;Z)Ljava/security/CodeSource;
            areturn
        end local 5 // java.net.URL location
        end local 4 // java.security.cert.Certificate[] certs
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.security.KeyStore keyStore
        end local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lsun/security/provider/PolicyFile;
            0   14     1        ge  Lsun/security/provider/PolicyParser$GrantEntry;
            0   14     2  keyStore  Ljava/security/KeyStore;
            0   14     3   newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            1   14     4     certs  [Ljava/security/cert/Certificate;
           11   12     5  location  Ljava/net/URL;
           13   14     5  location  Ljava/net/URL;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
          Name  Flags
      ge        
      keyStore  
      newInfo   

  private void addGrantEntry(sun.security.provider.PolicyParser$GrantEntry, java.security.KeyStore, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        start local 2 // java.security.KeyStore keyStore
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 793
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 11
         1: .line 794
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "Adding policy entry: "
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 795
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  signedBy "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         3: .line 796
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  codeBase "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 797
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            ifnull 11
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            ifle 11
         5: .line 799
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.listIterator:()Ljava/util/ListIterator;
         6: .line 798
            astore 4 /* li */
        start local 4 // java.util.ListIterator li
         7: .line 800
            goto 10
         8: .line 801
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 4 /* li */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 5 /* pppe */
        start local 5 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         9: .line 802
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        10: .line 800
      StackMap locals:
      StackMap stack:
            aload 4 /* li */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 8
        end local 4 // java.util.ListIterator li
        11: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ge */
            aload 2 /* keyStore */
            aload 3 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.getCodeSource:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)Ljava/security/CodeSource;
            astore 4 /* codesource */
        start local 4 // java.security.CodeSource codesource
        12: .line 810
            aload 4 /* codesource */
            ifnonnull 14
        13: return
        14: .line 816
      StackMap locals: java.security.CodeSource
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            aload 2 /* keyStore */
            invokevirtual sun.security.provider.PolicyFile.replacePrincipals:(Ljava/util/List;Ljava/security/KeyStore;)Z
            ifne 16
        15: .line 817
            return
        16: .line 818
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$PolicyEntry
            dup
            aload 4 /* codesource */
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokespecial sun.security.provider.PolicyFile$PolicyEntry.<init>:(Ljava/security/CodeSource;Ljava/util/List;)V
            astore 5 /* entry */
        start local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
        17: .line 820
            aload 1 /* ge */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
        18: .line 819
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
        19: .line 821
            goto 90
        20: .line 822
      StackMap locals: sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PermissionEntry
            astore 7 /* pe */
        start local 7 // sun.security.provider.PolicyParser$PermissionEntry pe
        21: .line 826
            aload 0 /* this */
            aload 7 /* pe */
            aload 2 /* keyStore */
            invokevirtual sun.security.provider.PolicyFile.expandPermissionName:(Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
        22: .line 830
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        23: .line 831
            ldc "javax.security.auth.PrivateCredentialPermission"
        24: .line 830
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        25: .line 831
            ifeq 30
        26: .line 832
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc " self"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 30
        27: .line 833
            aload 7 /* pe */
            new java.lang.StringBuilder
            dup
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iconst_0
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "self"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 834
            ldc "${{self}}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 833
            putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        30: .line 837
      StackMap locals: sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack:
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ifnull 44
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "${{self}}"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 44
        31: .line 843
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 37
        32: .line 844
            aload 0 /* this */
            aload 2 /* keyStore */
        33: .line 845
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        34: .line 846
            aload 3 /* newInfo */
        35: .line 844
            invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
            astore 9 /* certs */
        start local 9 // java.security.cert.Certificate[] certs
        36: .line 847
            goto 38
        end local 9 // java.security.cert.Certificate[] certs
        37: .line 848
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* certs */
        start local 9 // java.security.cert.Certificate[] certs
        38: .line 850
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry top java.security.cert.Certificate[]
      StackMap stack:
            new sun.security.provider.PolicyFile$SelfPermission
            dup
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        39: .line 851
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        40: .line 852
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        41: .line 853
            aload 9 /* certs */
        42: .line 850
            invokespecial sun.security.provider.PolicyFile$SelfPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
            astore 8 /* perm */
        end local 9 // java.security.cert.Certificate[] certs
        start local 8 // java.security.Permission perm
        43: .line 854
            goto 48
        end local 8 // java.security.Permission perm
        44: .line 855
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack:
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        45: .line 856
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        46: .line 857
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        47: .line 855
            invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            astore 8 /* perm */
        start local 8 // java.security.Permission perm
        48: .line 859
      StackMap locals: java.security.Permission
      StackMap stack:
            aload 5 /* entry */
            aload 8 /* perm */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        49: .line 860
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 90
        50: .line 861
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 8 // java.security.Permission perm
        51: .line 863
            goto 90
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack: java.lang.ClassNotFoundException
        52: pop
        53: .line 865
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 59
        54: .line 866
            aload 0 /* this */
            aload 2 /* keyStore */
        55: .line 867
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        56: .line 868
            aload 3 /* newInfo */
        57: .line 866
            invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
            astore 8 /* certs */
        start local 8 // java.security.cert.Certificate[] certs
        58: .line 869
            goto 60
        end local 8 // java.security.cert.Certificate[] certs
        59: .line 870
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* certs */
        start local 8 // java.security.cert.Certificate[] certs
        60: .line 875
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 8 /* certs */
            ifnonnull 61
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnonnull 90
        61: .line 876
      StackMap locals:
      StackMap stack:
            new java.security.UnresolvedPermission
            dup
        62: .line 877
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        63: .line 878
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        64: .line 879
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        65: .line 880
            aload 8 /* certs */
        66: .line 876
            invokespecial java.security.UnresolvedPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
            astore 9 /* perm */
        start local 9 // java.security.Permission perm
        67: .line 881
            aload 5 /* entry */
            aload 9 /* perm */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        68: .line 882
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 90
        69: .line 883
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // java.security.Permission perm
        end local 8 // java.security.cert.Certificate[] certs
        70: goto 90
        71: .line 886
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 8 /* ite */
        start local 8 // java.lang.reflect.InvocationTargetException ite
        72: .line 887
            new java.text.MessageFormat
            dup
        73: .line 889
            ldc "java.security.policy.error.adding.Permission.perm.message"
        74: .line 888
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        75: .line 887
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        76: .line 891
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
            aastore
            dup
            iconst_1
        77: .line 892
            aload 8 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        78: .line 891
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        79: .line 893
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 9 /* form */
            aload 10 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // java.lang.Object[] source
        end local 9 // java.text.MessageFormat form
        end local 8 // java.lang.reflect.InvocationTargetException ite
        80: goto 90
        81: .line 894
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        82: .line 895
            new java.text.MessageFormat
            dup
        83: .line 897
            ldc "java.security.policy.error.adding.Permission.perm.message"
        84: .line 896
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        85: .line 895
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        86: .line 899
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
            aastore
            dup
            iconst_1
        87: .line 900
            aload 8 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
        88: .line 899
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        89: .line 901
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 9 /* form */
            aload 10 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // java.lang.Object[] source
        end local 9 // java.text.MessageFormat form
        end local 8 // java.lang.Exception e
        end local 7 // sun.security.provider.PolicyParser$PermissionEntry pe
        90: .line 821
      StackMap locals:
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 20
        91: .line 906
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
            aload 5 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.Enumeration enum_
        end local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
        end local 4 // java.security.CodeSource codesource
        92: .line 907
            goto 99
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo
      StackMap stack: java.lang.Exception
        93: astore 4 /* e */
        start local 4 // java.lang.Exception e
        94: .line 908
            new java.text.MessageFormat
            dup
        95: .line 909
            ldc "java.security.policy.error.adding.Entry.message"
        96: .line 908
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        97: .line 911
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        98: .line 912
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        end local 4 // java.lang.Exception e
        99: .line 914
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 101
       100: .line 915
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.println:()V
       101: .line 916
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.security.KeyStore keyStore
        end local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  102     0        this  Lsun/security/provider/PolicyFile;
            0  102     1          ge  Lsun/security/provider/PolicyParser$GrantEntry;
            0  102     2    keyStore  Ljava/security/KeyStore;
            0  102     3     newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            7   11     4          li  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            9   10     5        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           12   92     4  codesource  Ljava/security/CodeSource;
           17   92     5       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
           19   92     6       enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$PermissionEntry;>;
           21   90     7          pe  Lsun/security/provider/PolicyParser$PermissionEntry;
           43   44     8        perm  Ljava/security/Permission;
           48   51     8        perm  Ljava/security/Permission;
           36   37     9       certs  [Ljava/security/cert/Certificate;
           38   43     9       certs  [Ljava/security/cert/Certificate;
           58   59     8       certs  [Ljava/security/cert/Certificate;
           60   70     8       certs  [Ljava/security/cert/Certificate;
           67   70     9        perm  Ljava/security/Permission;
           72   80     8         ite  Ljava/lang/reflect/InvocationTargetException;
           76   80     9        form  Ljava/text/MessageFormat;
           79   80    10      source  [Ljava/lang/Object;
           82   90     8           e  Ljava/lang/Exception;
           86   90     9        form  Ljava/text/MessageFormat;
           89   90    10      source  [Ljava/lang/Object;
           94   99     4           e  Ljava/lang/Exception;
           97   99     5        form  Ljava/text/MessageFormat;
           98   99     6      source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          21    51      52  Class java.lang.ClassNotFoundException
          21    51      71  Class java.lang.reflect.InvocationTargetException
          21    51      81  Class java.lang.Exception
          11    13      93  Class java.lang.Exception
          14    15      93  Class java.lang.Exception
          16    92      93  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      ge        
      keyStore  
      newInfo   

  private static final java.security.Permission getInstance(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.String type
        start local 1 // java.lang.String name
        start local 2 // java.lang.String actions
         0: .line 958
            aload 0 /* type */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* pc */
        start local 3 // java.lang.Class pc
         1: .line 959
            aload 3 /* pc */
            aload 1 /* name */
            aload 2 /* actions */
            invokestatic sun.security.provider.PolicyFile.getKnownInstance:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            astore 4 /* answer */
        start local 4 // java.security.Permission answer
         2: .line 960
            aload 4 /* answer */
            ifnull 4
         3: .line 961
            aload 4 /* answer */
            areturn
         4: .line 964
      StackMap locals: java.lang.Class java.security.Permission
      StackMap stack:
            aload 1 /* name */
            ifnonnull 19
            aload 2 /* actions */
            ifnonnull 19
         5: .line 966
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
         6: .line 967
            aload 5 /* c */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
         7: areturn
        end local 5 // java.lang.reflect.Constructor c
         8: .line 968
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         9: .line 970
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        10: .line 971
            aload 5 /* c */
        11: .line 972
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
        12: .line 971
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
        13: areturn
        end local 5 // java.lang.reflect.Constructor c
        14: .line 973
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        15: .line 974
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        16: .line 975
            aload 5 /* c */
        17: .line 976
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        18: .line 975
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            areturn
        end local 5 // java.lang.reflect.Constructor c
        19: .line 980
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 28
            aload 2 /* actions */
            ifnonnull 28
        20: .line 982
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        21: .line 983
            aload 5 /* c */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
        22: areturn
        end local 5 // java.lang.reflect.Constructor c
        23: .line 984
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        24: .line 985
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        25: .line 986
            aload 5 /* c */
        26: .line 987
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        27: .line 986
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            areturn
        end local 5 // java.lang.reflect.Constructor c
        28: .line 990
      StackMap locals:
      StackMap stack:
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        29: .line 991
            aload 5 /* c */
        30: .line 992
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        31: .line 991
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            areturn
        end local 5 // java.lang.reflect.Constructor c
        end local 4 // java.security.Permission answer
        end local 3 // java.lang.Class pc
        end local 2 // java.lang.String actions
        end local 1 // java.lang.String name
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     type  Ljava/lang/String;
            0   32     1     name  Ljava/lang/String;
            0   32     2  actions  Ljava/lang/String;
            1   32     3       pc  Ljava/lang/Class<*>;
            2   32     4   answer  Ljava/security/Permission;
            6    8     5        c  Ljava/lang/reflect/Constructor<*>;
           10   14     5        c  Ljava/lang/reflect/Constructor<*>;
           16   19     5        c  Ljava/lang/reflect/Constructor<*>;
           21   23     5        c  Ljava/lang/reflect/Constructor<*>;
           25   28     5        c  Ljava/lang/reflect/Constructor<*>;
           29   32     5        c  Ljava/lang/reflect/Constructor<*>;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.NoSuchMethodException
           9    13      14  Class java.lang.NoSuchMethodException
          20    22      23  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
    MethodParameters:
         Name  Flags
      type     
      name     
      actions  

  private static final java.security.Permission getKnownInstance(java.lang.Class<?>, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Class claz
        start local 1 // java.lang.String name
        start local 2 // java.lang.String actions
         0: .line 1005
            aload 0 /* claz */
            ldc Ljava/io/FilePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1006
            new java.io.FilePermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         2: .line 1007
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/SocketPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1008
            new java.net.SocketPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         4: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/lang/RuntimePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1010
            new java.lang.RuntimePermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         6: .line 1011
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/util/PropertyPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1012
            new java.util.PropertyPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.util.PropertyPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         8: .line 1013
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/NetPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1014
            new java.net.NetPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.net.NetPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        10: .line 1015
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/security/AllPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1016
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            areturn
        12: .line 1042
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String actions
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class claz
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     claz  Ljava/lang/Class<*>;
            0   13     1     name  Ljava/lang/String;
            0   13     2  actions  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    MethodParameters:
         Name  Flags
      claz     
      name     
      actions  

  private java.security.cert.Certificate[] getCertificates(java.security.KeyStore, java.lang.String, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.KeyStore keyStore
        start local 2 // java.lang.String aliases
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 1052
            aconst_null
            astore 4 /* vcerts */
        start local 4 // java.util.List vcerts
         1: .line 1054
            new java.util.StringTokenizer
            dup
            aload 2 /* aliases */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* st */
        start local 5 // java.util.StringTokenizer st
         2: .line 1055
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         3: .line 1057
            goto 24
         4: .line 1058
      StackMap locals: java.util.List java.util.StringTokenizer int
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* alias */
        start local 7 // java.lang.String alias
         5: .line 1059
            iinc 6 /* n */ 1
         6: .line 1060
            aconst_null
            astore 8 /* cert */
        start local 8 // java.security.cert.Certificate cert
         7: .line 1062
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            dup
            astore 9
            monitorenter
         8: .line 1063
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 7 /* alias */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 8 /* cert */
         9: .line 1065
            aload 8 /* cert */
            ifnonnull 16
            aload 1 /* keyStore */
            ifnull 16
        10: .line 1068
            aload 1 /* keyStore */
            aload 7 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 8 /* cert */
        11: .line 1069
            goto 13
      StackMap locals: sun.security.provider.PolicyFile java.security.KeyStore java.lang.String sun.security.provider.PolicyFile$PolicyInfo java.util.List java.util.StringTokenizer int java.lang.String java.security.cert.Certificate java.util.Map
      StackMap stack: java.security.KeyStoreException
        12: pop
        13: .line 1073
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 16
        14: .line 1074
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 7 /* alias */
            aload 8 /* cert */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1075
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 8 /* cert */
            aload 7 /* alias */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1062
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 9
            monitorexit
        19: athrow
        20: .line 1080
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 24
        21: .line 1081
            aload 4 /* vcerts */
            ifnonnull 23
        22: .line 1082
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* vcerts */
        23: .line 1083
      StackMap locals:
      StackMap stack:
            aload 4 /* vcerts */
            aload 8 /* cert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.security.cert.Certificate cert
        end local 7 // java.lang.String alias
        24: .line 1057
      StackMap locals:
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        25: .line 1088
            aload 4 /* vcerts */
            ifnull 29
            iload 6 /* n */
            aload 4 /* vcerts */
            invokeinterface java.util.List.size:()I
            if_icmpne 29
        26: .line 1089
            aload 4 /* vcerts */
            invokeinterface java.util.List.size:()I
            anewarray java.security.cert.Certificate
            astore 7 /* certs */
        start local 7 // java.security.cert.Certificate[] certs
        27: .line 1090
            aload 4 /* vcerts */
            aload 7 /* certs */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        28: .line 1091
            aload 7 /* certs */
            areturn
        end local 7 // java.security.cert.Certificate[] certs
        29: .line 1093
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // int n
        end local 5 // java.util.StringTokenizer st
        end local 4 // java.util.List vcerts
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.lang.String aliases
        end local 1 // java.security.KeyStore keyStore
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0      this  Lsun/security/provider/PolicyFile;
            0   30     1  keyStore  Ljava/security/KeyStore;
            0   30     2   aliases  Ljava/lang/String;
            0   30     3   newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            1   30     4    vcerts  Ljava/util/List<Ljava/security/cert/Certificate;>;
            2   30     5        st  Ljava/util/StringTokenizer;
            3   30     6         n  I
            5   24     7     alias  Ljava/lang/String;
            7   24     8      cert  Ljava/security/cert/Certificate;
           27   29     7     certs  [Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
          10    11      12  Class java.security.KeyStoreException
           8    17      18  any
          18    19      18  any
    MethodParameters:
          Name  Flags
      keyStore  
      aliases   
      newInfo   

  public void refresh();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyFile this
         0: .line 1101
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         1: .line 1102
            return
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/provider/PolicyFile;

  public boolean implies(java.security.ProtectionDomain, java.security.Permission);
    descriptor: (Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.ProtectionDomain pd
        start local 2 // java.security.Permission p
         0: .line 1119
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
            invokevirtual sun.security.provider.PolicyFile$PolicyInfo.getPdMapping:()Lsun/misc/JavaSecurityProtectionDomainAccess$ProtectionDomainCache;
            astore 3 /* pdMap */
        start local 3 // sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache pdMap
         1: .line 1120
            aload 3 /* pdMap */
            aload 1 /* pd */
            invokeinterface sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache.get:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            astore 4 /* pc */
        start local 4 // java.security.PermissionCollection pc
         2: .line 1122
            aload 4 /* pc */
            ifnull 4
         3: .line 1123
            aload 4 /* pc */
            aload 2 /* p */
            invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
            ireturn
         4: .line 1126
      StackMap locals: sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache java.security.PermissionCollection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pd */
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            astore 4 /* pc */
         5: .line 1127
            aload 4 /* pc */
            ifnonnull 7
         6: .line 1128
            iconst_0
            ireturn
         7: .line 1132
      StackMap locals:
      StackMap stack:
            aload 3 /* pdMap */
            aload 1 /* pd */
            aload 4 /* pc */
            invokeinterface sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache.put:(Ljava/security/ProtectionDomain;Ljava/security/PermissionCollection;)V
         8: .line 1133
            aload 4 /* pc */
            aload 2 /* p */
            invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
            ireturn
        end local 4 // java.security.PermissionCollection pc
        end local 3 // sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache pdMap
        end local 2 // java.security.Permission p
        end local 1 // java.security.ProtectionDomain pd
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lsun/security/provider/PolicyFile;
            0    9     1     pd  Ljava/security/ProtectionDomain;
            0    9     2      p  Ljava/security/Permission;
            1    9     3  pdMap  Lsun/misc/JavaSecurityProtectionDomainAccess$ProtectionDomainCache;
            2    9     4     pc  Ljava/security/PermissionCollection;
    MethodParameters:
      Name  Flags
      pd    
      p     

  public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain);
    descriptor: (Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.ProtectionDomain domain
         0: .line 1166
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 2 /* perms */
        start local 2 // java.security.Permissions perms
         1: .line 1168
            aload 1 /* domain */
            ifnonnull 3
         2: .line 1169
            aload 2 /* perms */
            areturn
         3: .line 1172
      StackMap locals: java.security.Permissions
      StackMap stack:
            aload 0 /* this */
            aload 2 /* perms */
            aload 1 /* domain */
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            pop
         4: .line 1177
            aload 1 /* domain */
            invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
            astore 3 /* pc */
        start local 3 // java.security.PermissionCollection pc
         5: .line 1178
            aload 3 /* pc */
            ifnull 15
         6: .line 1179
            aload 3 /* pc */
            dup
            astore 4
            monitorenter
         7: .line 1180
            aload 3 /* pc */
            invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
            astore 5 /* e */
        start local 5 // java.util.Enumeration e
         8: .line 1181
            goto 10
         9: .line 1182
      StackMap locals: java.security.PermissionCollection java.security.PermissionCollection java.util.Enumeration
      StackMap stack:
            aload 2 /* perms */
            aload 5 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        10: .line 1181
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 5 // java.util.Enumeration e
        11: .line 1179
            aload 4
            monitorexit
        12: goto 15
      StackMap locals: sun.security.provider.PolicyFile java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection java.security.PermissionCollection
      StackMap stack: java.lang.Throwable
        13: aload 4
            monitorexit
        14: athrow
        15: .line 1187
      StackMap locals:
      StackMap stack:
            aload 2 /* perms */
            areturn
        end local 3 // java.security.PermissionCollection pc
        end local 2 // java.security.Permissions perms
        end local 1 // java.security.ProtectionDomain domain
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lsun/security/provider/PolicyFile;
            0   16     1  domain  Ljava/security/ProtectionDomain;
            1   16     2   perms  Ljava/security/Permissions;
            5   16     3      pc  Ljava/security/PermissionCollection;
            8   11     5       e  Ljava/util/Enumeration<Ljava/security/Permission;>;
      Exception table:
        from    to  target  type
           7    12      13  any
          13    14      13  any
    MethodParameters:
        Name  Flags
      domain  

  public java.security.PermissionCollection getPermissions(java.security.CodeSource);
    descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.CodeSource codesource
         0: .line 1202
            aload 0 /* this */
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            aload 1 /* codesource */
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
            areturn
        end local 1 // java.security.CodeSource codesource
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/security/provider/PolicyFile;
            0    1     1  codesource  Ljava/security/CodeSource;
    MethodParameters:
            Name  Flags
      codesource  

  private java.security.PermissionCollection getPermissions(java.security.Permissions, java.security.ProtectionDomain);
    descriptor: (Ljava/security/Permissions;Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.ProtectionDomain pd
         0: .line 1217
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 1218
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "getPermissions:\n\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 2 /* pd */
            invokevirtual sun.security.provider.PolicyFile.printPD:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 1221
      StackMap locals:
      StackMap stack:
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 3 /* cs */
        start local 3 // java.security.CodeSource cs
         3: .line 1222
            aload 3 /* cs */
            ifnonnull 5
         4: .line 1223
            aload 1 /* perms */
            areturn
         5: .line 1226
      StackMap locals: java.security.CodeSource
      StackMap stack:
            new sun.security.provider.PolicyFile$5
            dup
            aload 0 /* this */
            aload 3 /* cs */
            invokespecial sun.security.provider.PolicyFile$5.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
         6: .line 1225
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.CodeSource
            astore 4 /* canonCodeSource */
        start local 4 // java.security.CodeSource canonCodeSource
         7: .line 1231
            aload 0 /* this */
            aload 1 /* perms */
            aload 4 /* canonCodeSource */
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
            areturn
        end local 4 // java.security.CodeSource canonCodeSource
        end local 3 // java.security.CodeSource cs
        end local 2 // java.security.ProtectionDomain pd
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lsun/security/provider/PolicyFile;
            0    8     1            perms  Ljava/security/Permissions;
            0    8     2               pd  Ljava/security/ProtectionDomain;
            3    8     3               cs  Ljava/security/CodeSource;
            7    8     4  canonCodeSource  Ljava/security/CodeSource;
    MethodParameters:
       Name  Flags
      perms  
      pd     

  private java.security.PermissionCollection getPermissions(java.security.Permissions, java.security.CodeSource);
    descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.CodeSource cs
         0: .line 1250
            new sun.security.provider.PolicyFile$6
            dup
            aload 0 /* this */
            aload 2 /* cs */
            invokespecial sun.security.provider.PolicyFile$6.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
         1: .line 1249
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.CodeSource
            astore 3 /* canonCodeSource */
        start local 3 // java.security.CodeSource canonCodeSource
         2: .line 1256
            aload 0 /* this */
            aload 1 /* perms */
            aload 3 /* canonCodeSource */
            aconst_null
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
            areturn
        end local 3 // java.security.CodeSource canonCodeSource
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lsun/security/provider/PolicyFile;
            0    3     1            perms  Ljava/security/Permissions;
            0    3     2               cs  Ljava/security/CodeSource;
            2    3     3  canonCodeSource  Ljava/security/CodeSource;
    MethodParameters:
       Name  Flags
      perms  
      cs     final

  private java.security.Permissions getPermissions(java.security.Permissions, java.security.CodeSource, java.security.Principal[]);
    descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.CodeSource cs
        start local 3 // java.security.Principal[] principals
         0: .line 1262
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
            astore 4 /* pi */
        start local 4 // sun.security.provider.PolicyFile$PolicyInfo pi
         1: .line 1264
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 4
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyFile$PolicyEntry
            astore 5 /* entry */
        start local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
         3: .line 1265
            aload 0 /* this */
            aload 1 /* perms */
            aload 2 /* cs */
            aload 3 /* principals */
            aload 5 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        end local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
         4: .line 1264
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1270
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
            dup
            astore 5
            monitorenter
         6: .line 1271
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo java.util.List top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyFile$PolicyEntry
            astore 6 /* entry */
        start local 6 // sun.security.provider.PolicyFile$PolicyEntry entry
         8: .line 1272
            aload 0 /* this */
            aload 1 /* perms */
            aload 2 /* cs */
            aload 3 /* principals */
            aload 6 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        end local 6 // sun.security.provider.PolicyFile$PolicyEntry entry
         9: .line 1271
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1270
            aload 5
            monitorexit
        11: goto 14
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo java.util.List
      StackMap stack: java.lang.Throwable
        12: aload 5
            monitorexit
        13: athrow
        14: .line 1277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
            ifne 25
        15: .line 1278
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 5 /* certs */
        start local 5 // java.security.cert.Certificate[] certs
        16: .line 1279
            aload 5 /* certs */
            ifnull 25
        17: .line 1280
            iconst_0
            istore 6 /* k */
        start local 6 // int k
        18: goto 24
        19: .line 1281
      StackMap locals: java.security.cert.Certificate[] int
      StackMap stack:
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 5 /* certs */
            iload 6 /* k */
            aaload
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* idMap */
        start local 7 // java.lang.Object idMap
        20: .line 1282
            aload 7 /* idMap */
            ifnonnull 23
        21: .line 1283
            aload 0 /* this */
            aload 5 /* certs */
            iload 6 /* k */
            aaload
            aload 4 /* pi */
            invokevirtual sun.security.provider.PolicyFile.checkForTrustedIdentity:(Ljava/security/cert/Certificate;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
            ifeq 23
        22: .line 1288
            aload 1 /* perms */
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 7 // java.lang.Object idMap
        23: .line 1280
      StackMap locals:
      StackMap stack:
            iinc 6 /* k */ 1
      StackMap locals:
      StackMap stack:
        24: iload 6 /* k */
            aload 5 /* certs */
            arraylength
            if_icmplt 19
        end local 6 // int k
        end local 5 // java.security.cert.Certificate[] certs
        25: .line 1293
      StackMap locals:
      StackMap stack:
            aload 1 /* perms */
            areturn
        end local 4 // sun.security.provider.PolicyFile$PolicyInfo pi
        end local 3 // java.security.Principal[] principals
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lsun/security/provider/PolicyFile;
            0   26     1       perms  Ljava/security/Permissions;
            0   26     2          cs  Ljava/security/CodeSource;
            0   26     3  principals  [Ljava/security/Principal;
            1   26     4          pi  Lsun/security/provider/PolicyFile$PolicyInfo;
            3    4     5       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            8    9     6       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
           16   25     5       certs  [Ljava/security/cert/Certificate;
           18   25     6           k  I
           20   23     7       idMap  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           6    11      12  any
          12    13      12  any
    MethodParameters:
            Name  Flags
      perms       
      cs          final
      principals  

  private void addPermissions(java.security.Permissions, java.security.CodeSource, java.security.Principal[], sun.security.provider.PolicyFile$PolicyEntry);
    descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=5
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.CodeSource cs
        start local 3 // java.security.Principal[] principals
        start local 4 // sun.security.provider.PolicyFile$PolicyEntry entry
         0: .line 1301
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         1: .line 1302
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "evaluate codesources:\n\tPolicy CodeSource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 1303
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1304
            ldc "\tActive CodeSource: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* cs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1302
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 1309
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$7
            dup
            aload 0 /* this */
            aload 4 /* entry */
            aload 2 /* cs */
            invokespecial sun.security.provider.PolicyFile$7.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyEntry;Ljava/security/CodeSource;)V
         6: .line 1308
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 5 /* imp */
        start local 5 // java.lang.Boolean imp
         7: .line 1314
            aload 5 /* imp */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 11
         8: .line 1315
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1316
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (codesource) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1320
      StackMap locals: java.lang.Boolean
      StackMap stack:
            return
        11: .line 1325
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
            astore 6 /* entryPs */
        start local 6 // java.util.List entryPs
        12: .line 1326
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 27
        13: .line 1327
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* accPs */
        start local 7 // java.util.ArrayList accPs
        14: .line 1328
            aload 3 /* principals */
            ifnull 23
        15: .line 1329
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        16: goto 22
        17: .line 1330
      StackMap locals: java.util.List java.util.ArrayList int
      StackMap stack:
            aload 7 /* accPs */
            new sun.security.provider.PolicyParser$PrincipalEntry
            dup
        18: .line 1331
            aload 3 /* principals */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        19: .line 1332
            aload 3 /* principals */
            iload 8 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            invokespecial sun.security.provider.PolicyParser$PrincipalEntry.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 1330
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 1329
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* i */
            aload 3 /* principals */
            arraylength
            if_icmplt 17
        end local 8 // int i
        23: .line 1335
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "evaluate principals:\n\tPolicy Principals: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 1336
            aload 6 /* entryPs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 1337
            ldc "\tActive Principals: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* accPs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 1335
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // java.util.ArrayList accPs
        27: .line 1340
      StackMap locals:
      StackMap stack:
            aload 6 /* entryPs */
            ifnull 28
            aload 6 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 32
        28: .line 1345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* perms */
            aload 3 /* principals */
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPerms:(Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        29: .line 1346
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 31
        30: .line 1347
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (codesource/principals) passed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        31: .line 1349
      StackMap locals:
      StackMap stack:
            return
        32: .line 1351
      StackMap locals:
      StackMap stack:
            aload 3 /* principals */
            ifnull 33
            aload 3 /* principals */
            arraylength
            ifne 36
        33: .line 1356
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 1357
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principals) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        35: .line 1359
      StackMap locals:
      StackMap stack:
            return
        36: .line 1366
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        37: goto 81
        38: .line 1367
      StackMap locals: int
      StackMap stack:
            aload 6 /* entryPs */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 8 /* pppe */
        start local 8 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        39: .line 1373
            aload 8 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        40: .line 1374
            iconst_1
        41: .line 1375
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
        42: .line 1372
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 9 /* pClass */
        start local 9 // java.lang.Class pClass
        43: .line 1377
            ldc Lcom/sun/security/auth/PrincipalComparator;
            aload 9 /* pClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 48
        44: .line 1382
            aload 0 /* this */
            aload 3 /* principals */
            aload 8 /* pppe */
            invokevirtual sun.security.provider.PolicyFile.checkEntryPs:([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
            ifne 80
        45: .line 1383
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 47
        46: .line 1384
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principals) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        47: .line 1389
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.Class
      StackMap stack:
            return
        48: .line 1396
      StackMap locals:
      StackMap stack:
            aload 9 /* pClass */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 10 /* c */
        start local 10 // java.lang.reflect.Constructor c
        49: .line 1397
            aload 10 /* c */
        50: .line 1398
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
        51: .line 1397
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.security.auth.PrincipalComparator
            astore 11 /* pc */
        start local 11 // com.sun.security.auth.PrincipalComparator pc
        52: .line 1400
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 56
        53: .line 1401
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "found PrincipalComparator "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        54: .line 1402
            aload 11 /* pc */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 1401
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        56: .line 1408
      StackMap locals: java.lang.reflect.Constructor com.sun.security.auth.PrincipalComparator
      StackMap stack:
            new java.util.HashSet
            dup
            aload 3 /* principals */
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
            astore 12 /* pSet */
        start local 12 // java.util.Set pSet
        57: .line 1409
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        58: goto 61
        59: .line 1410
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 12 /* pSet */
            aload 3 /* principals */
            iload 13 /* j */
            aaload
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        60: .line 1409
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        61: iload 13 /* j */
            aload 3 /* principals */
            arraylength
            if_icmplt 59
        end local 13 // int j
        62: .line 1412
            new javax.security.auth.Subject
            dup
            iconst_1
        63: .line 1413
            aload 12 /* pSet */
        64: .line 1414
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        65: .line 1415
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        66: .line 1412
            invokespecial javax.security.auth.Subject.<init>:(ZLjava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
            astore 13 /* subject */
        start local 13 // javax.security.auth.Subject subject
        67: .line 1417
            aload 11 /* pc */
            aload 13 /* subject */
            invokeinterface com.sun.security.auth.PrincipalComparator.implies:(Ljavax/security/auth/Subject;)Z
            ifne 80
        68: .line 1418
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 72
        69: .line 1419
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
        70: .line 1420
            ldc "evaluation (principal comparator) failed"
        71: .line 1419
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        72: .line 1425
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List int sun.security.provider.PolicyParser$PrincipalEntry java.lang.Class java.lang.reflect.Constructor com.sun.security.auth.PrincipalComparator java.util.Set javax.security.auth.Subject
      StackMap stack:
            return
        end local 13 // javax.security.auth.Subject subject
        end local 12 // java.util.Set pSet
        end local 11 // com.sun.security.auth.PrincipalComparator pc
        end local 10 // java.lang.reflect.Constructor c
        end local 9 // java.lang.Class pClass
        73: .line 1428
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List int sun.security.provider.PolicyParser$PrincipalEntry
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        74: .line 1432
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 76
        75: .line 1433
            aload 9 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        76: .line 1436
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            aload 3 /* principals */
            aload 8 /* pppe */
            invokevirtual sun.security.provider.PolicyFile.checkEntryPs:([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
            ifne 80
        77: .line 1437
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 79
        78: .line 1438
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principals) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        79: .line 1443
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.lang.Exception e
        end local 8 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        80: .line 1366
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        81: iload 7 /* i */
            aload 6 /* entryPs */
            invokeinterface java.util.List.size:()I
            if_icmplt 38
        end local 7 // int i
        82: .line 1455
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 84
        83: .line 1456
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (codesource/principals) passed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        84: .line 1458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* perms */
            aload 3 /* principals */
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPerms:(Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        85: .line 1459
            return
        end local 6 // java.util.List entryPs
        end local 5 // java.lang.Boolean imp
        end local 4 // sun.security.provider.PolicyFile$PolicyEntry entry
        end local 3 // java.security.Principal[] principals
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   86     0        this  Lsun/security/provider/PolicyFile;
            0   86     1       perms  Ljava/security/Permissions;
            0   86     2          cs  Ljava/security/CodeSource;
            0   86     3  principals  [Ljava/security/Principal;
            0   86     4       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            7   86     5         imp  Ljava/lang/Boolean;
           12   86     6     entryPs  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           14   27     7       accPs  Ljava/util/ArrayList<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           16   23     8           i  I
           37   82     7           i  I
           39   80     8        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           43   73     9      pClass  Ljava/lang/Class<*>;
           49   73    10           c  Ljava/lang/reflect/Constructor<*>;
           52   73    11          pc  Lcom/sun/security/auth/PrincipalComparator;
           57   73    12        pSet  Ljava/util/Set<Ljava/security/Principal;>;
           58   62    13           j  I
           67   73    13     subject  Ljavax/security/auth/Subject;
           74   80     9           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          39    47      73  Class java.lang.Exception
          48    72      73  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      perms       
      cs          final
      principals  
      entry       final

  private void addPerms(java.security.Permissions, java.security.Principal[], sun.security.provider.PolicyFile$PolicyEntry);
    descriptor: (Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.Principal[] accPs
        start local 3 // sun.security.provider.PolicyFile$PolicyEntry entry
         0: .line 1464
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 14
         2: .line 1465
      StackMap locals: int
      StackMap stack:
            aload 3 /* entry */
            getfield sun.security.provider.PolicyFile$PolicyEntry.permissions:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.Permission
            astore 5 /* p */
        start local 5 // java.security.Permission p
         3: .line 1466
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 1467
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  granting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 1470
      StackMap locals: java.security.Permission
      StackMap stack:
            aload 5 /* p */
            instanceof sun.security.provider.PolicyFile$SelfPermission
            ifeq 12
         6: .line 1472
            aload 0 /* this */
            aload 5 /* p */
            checkcast sun.security.provider.PolicyFile$SelfPermission
         7: .line 1473
            aload 3 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
         8: .line 1474
            aload 2 /* accPs */
         9: .line 1475
            aload 1 /* perms */
        10: .line 1472
            invokevirtual sun.security.provider.PolicyFile.expandSelf:(Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
        11: .line 1476
            goto 13
        12: .line 1477
      StackMap locals:
      StackMap stack:
            aload 1 /* perms */
            aload 5 /* p */
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 5 // java.security.Permission p
        13: .line 1464
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 3 /* entry */
            getfield sun.security.provider.PolicyFile$PolicyEntry.permissions:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 2
        end local 4 // int i
        15: .line 1480
            return
        end local 3 // sun.security.provider.PolicyFile$PolicyEntry entry
        end local 2 // java.security.Principal[] accPs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lsun/security/provider/PolicyFile;
            0   16     1  perms  Ljava/security/Permissions;
            0   16     2  accPs  [Ljava/security/Principal;
            0   16     3  entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            1   15     4      i  I
            3   13     5      p  Ljava/security/Permission;
    MethodParameters:
       Name  Flags
      perms  
      accPs  
      entry  

  private boolean checkEntryPs(java.security.Principal[], sun.security.provider.PolicyParser$PrincipalEntry);
    descriptor: ([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Principal[] pList
        start local 2 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         0: .line 1504
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 20
         2: .line 1506
      StackMap locals: int
      StackMap stack:
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
         3: .line 1507
            ldc "WILDCARD_PRINCIPAL_CLASS"
         4: .line 1506
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         5: .line 1507
            ifne 10
         6: .line 1508
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
         7: .line 1509
            aload 1 /* pList */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         8: .line 1508
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         9: .line 1509
            ifeq 19
        10: .line 1511
      StackMap locals:
      StackMap stack:
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        11: .line 1512
            ldc "WILDCARD_PRINCIPAL_NAME"
        12: .line 1511
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        13: .line 1512
            ifne 18
        14: .line 1513
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        15: .line 1514
            aload 1 /* pList */
            iload 3 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
        16: .line 1513
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        17: .line 1514
            ifeq 19
        18: .line 1516
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        19: .line 1504
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 1 /* pList */
            arraylength
            if_icmplt 2
        end local 3 // int i
        21: .line 1520
            iconst_0
            ireturn
        end local 2 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        end local 1 // java.security.Principal[] pList
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lsun/security/provider/PolicyFile;
            0   22     1  pList  [Ljava/security/Principal;
            0   22     2   pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            1   21     3      i  I
    MethodParameters:
       Name  Flags
      pList  
      pppe   

  private void expandSelf(sun.security.provider.PolicyFile$SelfPermission, java.util.List<sun.security.provider.PolicyParser$PrincipalEntry>, java.security.Principal[], java.security.Permissions);
    descriptor: (Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=5
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyFile$SelfPermission sp
        start local 2 // java.util.List entryPs
        start local 3 // java.security.Principal[] pdp
        start local 4 // java.security.Permissions perms
         0: .line 1541
            aload 2 /* entryPs */
            ifnull 1
            aload 2 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 13
         1: .line 1543
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 12
         2: .line 1544
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Ignoring permission "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 1545
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1546
            ldc " with target name ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1547
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ").  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1548
            ldc "No Principal(s) specified "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1549
            ldc "in the grant clause.  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1550
            ldc "SELF-based target names are "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 1551
            ldc "only valid in the context "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1552
            ldc "of a Principal-based grant entry."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1544
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1555
      StackMap locals:
      StackMap stack:
            return
        13: .line 1557
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* startIndex */
        start local 5 // int startIndex
        14: .line 1559
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        15: .line 1560
            goto 35
        start local 6 // int v
        16: .line 1563
      StackMap locals: int int java.lang.StringBuilder
      StackMap stack:
            aload 7 /* sb */
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            iload 5 /* startIndex */
            iload 6 /* v */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1567
            aload 2 /* entryPs */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
        18: .line 1566
            astore 8 /* pli */
        start local 8 // java.util.ListIterator pli
        19: .line 1568
            goto 33
        20: .line 1569
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 8 /* pli */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 9 /* pppe */
        start local 9 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        21: .line 1570
            aload 0 /* this */
            aload 9 /* pppe */
            aload 3 /* pdp */
            invokevirtual sun.security.provider.PolicyFile.getPrincipalInfo:(Lsun/security/provider/PolicyParser$PrincipalEntry;[Ljava/security/Principal;)[[Ljava/lang/String;
            astore 10 /* principalInfo */
        start local 10 // java.lang.String[][] principalInfo
        22: .line 1571
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        23: goto 30
        24: .line 1572
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String[][] int
      StackMap stack:
            iload 11 /* i */
            ifeq 26
        25: .line 1573
            aload 7 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 1575
      StackMap locals:
      StackMap stack:
            aload 7 /* sb */
            new java.lang.StringBuilder
            dup
            aload 10 /* principalInfo */
            iload 11 /* i */
            aaload
            iconst_0
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 1576
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* principalInfo */
            iload 11 /* i */
            aaload
            iconst_1
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 1575
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 1571
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 11 /* i */
            aload 10 /* principalInfo */
            arraylength
            if_icmplt 24
        end local 11 // int i
        31: .line 1578
            aload 8 /* pli */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifeq 33
        32: .line 1579
            aload 7 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // java.lang.String[][] principalInfo
        end local 9 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        33: .line 1568
      StackMap locals:
      StackMap stack:
            aload 8 /* pli */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 20
        34: .line 1582
            iload 6 /* v */
            ldc "${{self}}"
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* startIndex */
        end local 8 // java.util.ListIterator pli
        end local 6 // int v
        35: .line 1560
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int top java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            ldc "${{self}}"
            iload 5 /* startIndex */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            dup
            istore 6 /* v */
        start local 6 // int v
        36: iconst_m1
            if_icmpne 16
        37: .line 1585
            aload 7 /* sb */
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            iload 5 /* startIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 1587
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 42
        39: .line 1588
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  expanded:\n\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1589
            ldc "\n  into:\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 1588
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        42: .line 1593
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int int java.lang.StringBuilder
      StackMap stack:
            aload 4 /* perms */
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
        43: .line 1594
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 1595
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        45: .line 1593
            invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        46: .line 1596
            goto 96
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        47: pop
        48: .line 1602
            aconst_null
            astore 8 /* pc */
        start local 8 // java.lang.Class pc
        49: .line 1603
            aload 4 /* perms */
            dup
            astore 9
            monitorenter
        50: .line 1604
            aload 4 /* perms */
            invokevirtual java.security.Permissions.elements:()Ljava/util/Enumeration;
            astore 10 /* e */
        start local 10 // java.util.Enumeration e
        51: .line 1605
            goto 56
        52: .line 1606
      StackMap locals: java.lang.Class java.security.Permissions java.util.Enumeration
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.Permission
            astore 11 /* pElement */
        start local 11 // java.security.Permission pElement
        53: .line 1607
            aload 11 /* pElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 56
        54: .line 1608
            aload 11 /* pElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 8 /* pc */
        55: .line 1609
            goto 57
        end local 11 // java.security.Permission pElement
        56: .line 1605
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 52
        end local 10 // java.util.Enumeration e
        57: .line 1603
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        58: goto 61
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: aload 9
            monitorexit
        60: athrow
        61: .line 1613
      StackMap locals:
      StackMap stack:
            aload 8 /* pc */
            ifnonnull 68
        62: .line 1615
            aload 4 /* perms */
            new java.security.UnresolvedPermission
            dup
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
        63: .line 1616
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        64: .line 1617
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        65: .line 1618
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getCerts:()[Ljava/security/cert/Certificate;
            invokespecial java.security.UnresolvedPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
        66: .line 1615
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        67: .line 1619
            goto 96
        68: .line 1625
      StackMap locals:
      StackMap stack:
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            ifnonnull 81
        69: .line 1627
            aload 8 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        70: .line 1628
            aload 4 /* perms */
            aload 9 /* c */
        71: .line 1629
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        72: .line 1628
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        73: .line 1630
            goto 96
        end local 9 // java.lang.reflect.Constructor c
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        74: pop
        75: .line 1631
            aload 8 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        76: .line 1632
            aload 4 /* perms */
            aload 9 /* c */
        77: .line 1633
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        78: .line 1634
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        79: .line 1632
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        80: .line 1636
            goto 96
        end local 9 // java.lang.reflect.Constructor c
        81: .line 1637
      StackMap locals:
      StackMap stack:
            aload 8 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        82: .line 1638
            aload 4 /* perms */
            aload 9 /* c */
        83: .line 1639
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        84: .line 1640
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        85: .line 1638
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 9 // java.lang.reflect.Constructor c
        86: .line 1642
            goto 96
      StackMap locals:
      StackMap stack: java.lang.Exception
        87: astore 9 /* nme */
        start local 9 // java.lang.Exception nme
        88: .line 1643
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 96
        89: .line 1644
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "self entry expansion  instantiation failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        90: .line 1646
            aload 9 /* nme */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        91: .line 1644
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // java.lang.Exception nme
        end local 8 // java.lang.Class pc
        92: goto 96
        93: .line 1650
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int int java.lang.StringBuilder
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        94: .line 1651
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 96
        95: .line 1652
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            aload 8 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 8 // java.lang.Exception e
        96: .line 1655
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.StringBuilder sb
        end local 6 // int v
        end local 5 // int startIndex
        end local 4 // java.security.Permissions perms
        end local 3 // java.security.Principal[] pdp
        end local 2 // java.util.List entryPs
        end local 1 // sun.security.provider.PolicyFile$SelfPermission sp
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   97     0           this  Lsun/security/provider/PolicyFile;
            0   97     1             sp  Lsun/security/provider/PolicyFile$SelfPermission;
            0   97     2        entryPs  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            0   97     3            pdp  [Ljava/security/Principal;
            0   97     4          perms  Ljava/security/Permissions;
           14   97     5     startIndex  I
           16   35     6              v  I
           36   97     6              v  I
           15   97     7             sb  Ljava/lang/StringBuilder;
           19   35     8            pli  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           21   33     9           pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           22   33    10  principalInfo  [[Ljava/lang/String;
           23   31    11              i  I
           49   92     8             pc  Ljava/lang/Class<*>;
           51   57    10              e  Ljava/util/Enumeration<Ljava/security/Permission;>;
           53   56    11       pElement  Ljava/security/Permission;
           70   74     9              c  Ljava/lang/reflect/Constructor<*>;
           76   81     9              c  Ljava/lang/reflect/Constructor<*>;
           82   86     9              c  Ljava/lang/reflect/Constructor<*>;
           88   92     9            nme  Ljava/lang/Exception;
           94   96     8              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          42    46      47  Class java.lang.ClassNotFoundException
          50    58      59  any
          59    60      59  any
          69    73      74  Class java.lang.NoSuchMethodException
          68    86      87  Class java.lang.Exception
          42    46      93  Class java.lang.Exception
    Signature: (Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;[Ljava/security/Principal;Ljava/security/Permissions;)V
    MethodParameters:
         Name  Flags
      sp       
      entryPs  
      pdp      
      perms    

  private java.lang.String[][] getPrincipalInfo(sun.security.provider.PolicyParser$PrincipalEntry, java.security.Principal[]);
    descriptor: (Lsun/security/provider/PolicyParser$PrincipalEntry;[Ljava/security/Principal;)[[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$PrincipalEntry pe
        start local 2 // java.security.Principal[] pdp
         0: .line 1671
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
         1: .line 1672
            ldc "WILDCARD_PRINCIPAL_CLASS"
         2: .line 1671
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         3: .line 1672
            ifne 12
         4: .line 1673
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
         5: .line 1674
            ldc "WILDCARD_PRINCIPAL_NAME"
         6: .line 1673
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         7: .line 1674
            ifne 12
         8: .line 1678
            iconst_1
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 3 /* info */
        start local 3 // java.lang.String[][] info
         9: .line 1679
            aload 3 /* info */
            iconst_0
            aaload
            iconst_0
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            aastore
        10: .line 1680
            aload 3 /* info */
            iconst_0
            aaload
            iconst_1
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
        11: .line 1681
            aload 3 /* info */
            areturn
        end local 3 // java.lang.String[][] info
        12: .line 1683
      StackMap locals:
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        13: .line 1684
            ldc "WILDCARD_PRINCIPAL_CLASS"
        14: .line 1683
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        15: .line 1684
            ifne 37
        16: .line 1685
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        17: .line 1686
            ldc "WILDCARD_PRINCIPAL_NAME"
        18: .line 1685
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        19: .line 1686
            ifeq 37
        20: .line 1691
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* plist */
        start local 3 // java.util.List plist
        21: .line 1692
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        22: goto 26
        23: .line 1693
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 1694
            aload 3 /* plist */
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1692
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 4 /* i */
            aload 2 /* pdp */
            arraylength
            if_icmplt 23
        end local 4 // int i
        27: .line 1696
            aload 3 /* plist */
            invokeinterface java.util.List.size:()I
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 4 /* info */
        start local 4 // java.lang.String[][] info
        28: .line 1697
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        29: .line 1698
            aload 3 /* plist */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* pIterator */
        start local 6 // java.util.Iterator pIterator
        30: .line 1699
            goto 35
        31: .line 1700
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[] java.util.List java.lang.String[][] int java.util.Iterator
      StackMap stack:
            aload 6 /* pIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Principal
            astore 7 /* p */
        start local 7 // java.security.Principal p
        32: .line 1701
            aload 4 /* info */
            iload 5 /* i */
            aaload
            iconst_0
            aload 7 /* p */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        33: .line 1702
            aload 4 /* info */
            iload 5 /* i */
            aaload
            iconst_1
            aload 7 /* p */
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
        34: .line 1703
            iinc 5 /* i */ 1
        end local 7 // java.security.Principal p
        35: .line 1699
      StackMap locals:
      StackMap stack:
            aload 6 /* pIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        36: .line 1705
            aload 4 /* info */
            areturn
        end local 6 // java.util.Iterator pIterator
        end local 5 // int i
        end local 4 // java.lang.String[][] info
        end local 3 // java.util.List plist
        37: .line 1712
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[]
      StackMap stack:
            aload 2 /* pdp */
            arraylength
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 3 /* info */
        start local 3 // java.lang.String[][] info
        38: .line 1714
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        39: goto 43
        40: .line 1715
      StackMap locals: java.lang.String[][] int
      StackMap stack:
            aload 3 /* info */
            iload 4 /* i */
            aaload
            iconst_0
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        41: .line 1716
            aload 3 /* info */
            iload 4 /* i */
            aaload
            iconst_1
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
        42: .line 1714
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 4 /* i */
            aload 2 /* pdp */
            arraylength
            if_icmplt 40
        end local 4 // int i
        44: .line 1718
            aload 3 /* info */
            areturn
        end local 3 // java.lang.String[][] info
        end local 2 // java.security.Principal[] pdp
        end local 1 // sun.security.provider.PolicyParser$PrincipalEntry pe
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   45     0       this  Lsun/security/provider/PolicyFile;
            0   45     1         pe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            0   45     2        pdp  [Ljava/security/Principal;
            9   12     3       info  [[Ljava/lang/String;
           21   37     3      plist  Ljava/util/List<Ljava/security/Principal;>;
           22   27     4          i  I
           28   37     4       info  [[Ljava/lang/String;
           29   37     5          i  I
           30   37     6  pIterator  Ljava/util/Iterator<Ljava/security/Principal;>;
           32   35     7          p  Ljava/security/Principal;
           38   45     3       info  [[Ljava/lang/String;
           39   44     4          i  I
    MethodParameters:
      Name  Flags
      pe    
      pdp   

  protected java.security.cert.Certificate[] getSignerCertificates(java.security.CodeSource);
    descriptor: (Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.CodeSource cs
         0: .line 1737
            aconst_null
            astore 2 /* certs */
        start local 2 // java.security.cert.Certificate[] certs
         1: .line 1738
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            dup
            astore 2 /* certs */
            ifnonnull 3
         2: .line 1739
            aconst_null
            areturn
         3: .line 1740
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 1741
      StackMap locals: int
      StackMap stack:
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            instanceof java.security.cert.X509Certificate
            ifne 7
         6: .line 1742
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            areturn
         7: .line 1740
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 5
        end local 3 // int i
         9: .line 1746
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: .line 1747
            iconst_0
            istore 4 /* count */
        start local 4 // int count
        11: .line 1748
            goto 21
        12: .line 1749
      StackMap locals: int
      StackMap stack:
            iinc 4 /* count */ 1
        13: .line 1750
            goto 15
        14: .line 1753
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        15: .line 1750
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 20
        16: .line 1751
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        17: .line 1752
            aload 2 /* certs */
            iload 3 /* i */
            iconst_1
            iadd
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
        18: .line 1751
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        19: .line 1752
            ifne 14
        20: .line 1755
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        21: .line 1748
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 12
        22: .line 1757
            iload 4 /* count */
            aload 2 /* certs */
            arraylength
            if_icmpne 24
        23: .line 1759
            aload 2 /* certs */
            areturn
        24: .line 1761
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* userCertList */
        start local 5 // java.util.ArrayList userCertList
        25: .line 1762
            iconst_0
            istore 3 /* i */
        26: .line 1763
            goto 36
        27: .line 1764
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 5 /* userCertList */
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1765
            goto 30
        29: .line 1768
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        30: .line 1765
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 35
        31: .line 1766
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        32: .line 1767
            aload 2 /* certs */
            iload 3 /* i */
            iconst_1
            iadd
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
        33: .line 1766
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        34: .line 1767
            ifne 29
        35: .line 1770
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        36: .line 1763
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 27
        37: .line 1772
            aload 5 /* userCertList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.security.cert.Certificate
            astore 6 /* userCerts */
        start local 6 // java.security.cert.Certificate[] userCerts
        38: .line 1773
            aload 5 /* userCertList */
            aload 6 /* userCerts */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        39: .line 1774
            aload 6 /* userCerts */
            areturn
        end local 6 // java.security.cert.Certificate[] userCerts
        end local 5 // java.util.ArrayList userCertList
        end local 4 // int count
        end local 3 // int i
        end local 2 // java.security.cert.Certificate[] certs
        end local 1 // java.security.CodeSource cs
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   40     0          this  Lsun/security/provider/PolicyFile;
            0   40     1            cs  Ljava/security/CodeSource;
            1   40     2         certs  [Ljava/security/cert/Certificate;
            4    9     3             i  I
           10   40     3             i  I
           11   40     4         count  I
           25   40     5  userCertList  Ljava/util/ArrayList<Ljava/security/cert/Certificate;>;
           38   40     6     userCerts  [Ljava/security/cert/Certificate;
    MethodParameters:
      Name  Flags
      cs    

  private java.security.CodeSource canonicalizeCodebase(java.security.CodeSource, boolean);
    descriptor: (Ljava/security/CodeSource;Z)Ljava/security/CodeSource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.CodeSource cs
        start local 2 // boolean extractSignerCerts
         0: .line 1780
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
         1: .line 1782
            aload 1 /* cs */
            astore 4 /* canonCs */
        start local 4 // java.security.CodeSource canonCs
         2: .line 1783
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            astore 5 /* u */
        start local 5 // java.net.URL u
         3: .line 1784
            aload 5 /* u */
            ifnull 22
         4: .line 1785
            aload 5 /* u */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "jar"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         5: .line 1787
            aload 5 /* u */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 6 /* spec */
        start local 6 // java.lang.String spec
         6: .line 1788
            aload 6 /* spec */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 7 /* separator */
        start local 7 // int separator
         7: .line 1789
            iload 7 /* separator */
            iconst_m1
            if_icmpeq 11
         8: .line 1791
            new java.net.URL
            dup
            aload 6 /* spec */
            iconst_0
            iload 7 /* separator */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 5 /* u */
         9: .line 1792
            goto 11
      StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL java.lang.String int
      StackMap stack: java.net.MalformedURLException
        10: pop
        end local 7 // int separator
        end local 6 // java.lang.String spec
        11: .line 1798
      StackMap locals:
      StackMap stack:
            aload 5 /* u */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "file"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        12: .line 1799
            iconst_0
            istore 6 /* isLocalFile */
        start local 6 // boolean isLocalFile
        13: .line 1800
            aload 5 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            astore 7 /* host */
        start local 7 // java.lang.String host
        14: .line 1801
            aload 7 /* host */
            ifnull 17
            aload 7 /* host */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 1802
            aload 7 /* host */
            ldc "~"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            aload 7 /* host */
            ldc "localhost"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 17
        16: .line 1801
            iconst_0
            goto 18
      StackMap locals: int java.lang.String
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: istore 6 /* isLocalFile */
        19: .line 1804
            iload 6 /* isLocalFile */
            ifeq 22
        20: .line 1805
            aload 5 /* u */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 3 /* path */
        21: .line 1806
            aload 3 /* path */
            invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        end local 7 // java.lang.String host
        end local 6 // boolean isLocalFile
        22: .line 1811
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            ifnull 41
        23: .line 1813
            aconst_null
            astore 6 /* csUrl */
        start local 6 // java.net.URL csUrl
        24: .line 1814
            aload 3 /* path */
            invokestatic sun.security.provider.PolicyFile.canonPath:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        25: .line 1815
            new java.io.File
            dup
            aload 3 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic sun.net.www.ParseUtil.fileToEncodedURL:(Ljava/io/File;)Ljava/net/URL;
            astore 6 /* csUrl */
        26: .line 1817
            iload 2 /* extractSignerCerts */
            ifeq 31
        27: .line 1818
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        28: .line 1819
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        29: .line 1818
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        30: .line 1820
            goto 45
        31: .line 1821
      StackMap locals: java.net.URL
      StackMap stack:
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        32: .line 1822
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
        33: .line 1821
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        end local 6 // java.net.URL csUrl
        34: .line 1824
            goto 45
      StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL
      StackMap stack: java.io.IOException
        35: pop
        36: .line 1827
            iload 2 /* extractSignerCerts */
            ifeq 45
        37: .line 1828
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        38: .line 1829
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        39: .line 1828
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        40: .line 1832
            goto 45
        41: .line 1833
      StackMap locals:
      StackMap stack:
            iload 2 /* extractSignerCerts */
            ifeq 45
        42: .line 1834
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        43: .line 1835
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        44: .line 1834
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        45: .line 1838
      StackMap locals:
      StackMap stack:
            aload 4 /* canonCs */
            areturn
        end local 5 // java.net.URL u
        end local 4 // java.security.CodeSource canonCs
        end local 3 // java.lang.String path
        end local 2 // boolean extractSignerCerts
        end local 1 // java.security.CodeSource cs
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   46     0                this  Lsun/security/provider/PolicyFile;
            0   46     1                  cs  Ljava/security/CodeSource;
            0   46     2  extractSignerCerts  Z
            1   46     3                path  Ljava/lang/String;
            2   46     4             canonCs  Ljava/security/CodeSource;
            3   46     5                   u  Ljava/net/URL;
            6   11     6                spec  Ljava/lang/String;
            7   11     7           separator  I
           13   22     6         isLocalFile  Z
           14   22     7                host  Ljava/lang/String;
           24   34     6               csUrl  Ljava/net/URL;
      Exception table:
        from    to  target  type
           8     9      10  Class java.net.MalformedURLException
          23    34      35  Class java.io.IOException
    MethodParameters:
                    Name  Flags
      cs                  
      extractSignerCerts  

  private static java.lang.String canonPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 1844
            aload 0 /* path */
            ldc "*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 1845
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* path */
         2: .line 1846
            new java.io.File
            dup
            aload 0 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 0 /* path */
         3: .line 1847
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 1849
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  path  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  private java.lang.String printPD(java.security.ProtectionDomain);
    descriptor: (Ljava/security/ProtectionDomain;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.ProtectionDomain pd
         0: .line 1854
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
            astore 2 /* principals */
        start local 2 // java.security.Principal[] principals
         1: .line 1855
            ldc "<no principals>"
            astore 3 /* pals */
        start local 3 // java.lang.String pals
         2: .line 1856
            aload 2 /* principals */
            ifnull 16
            aload 2 /* principals */
            arraylength
            ifle 16
         3: .line 1857
            new java.lang.StringBuilder
            dup
            ldc "(principals "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* palBuf */
        start local 4 // java.lang.StringBuilder palBuf
         4: .line 1858
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 14
         6: .line 1859
      StackMap locals: sun.security.provider.PolicyFile java.security.ProtectionDomain java.security.Principal[] java.lang.String java.lang.StringBuilder int
      StackMap stack:
            aload 4 /* palBuf */
            new java.lang.StringBuilder
            dup
            aload 2 /* principals */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1860
            ldc " \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* principals */
            iload 5 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1861
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1859
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1862
            iload 5 /* i */
            aload 2 /* principals */
            arraylength
            iconst_1
            isub
            if_icmpge 12
        11: .line 1863
            aload 4 /* palBuf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 13
        12: .line 1865
      StackMap locals:
      StackMap stack:
            aload 4 /* palBuf */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1858
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            aload 2 /* principals */
            arraylength
            if_icmplt 6
        end local 5 // int i
        15: .line 1867
            aload 4 /* palBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* pals */
        end local 4 // java.lang.StringBuilder palBuf
        16: .line 1869
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "PD CodeSource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1870
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        18: .line 1871
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "PD ClassLoader: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 1872
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 1873
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "PD Principals: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 1874
            aload 3 /* pals */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 1869
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String pals
        end local 2 // java.security.Principal[] principals
        end local 1 // java.security.ProtectionDomain pd
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/security/provider/PolicyFile;
            0   23     1          pd  Ljava/security/ProtectionDomain;
            1   23     2  principals  [Ljava/security/Principal;
            2   23     3        pals  Ljava/lang/String;
            4   16     4      palBuf  Ljava/lang/StringBuilder;
            5   15     5           i  I
    MethodParameters:
      Name  Flags
      pd    

  private boolean replacePrincipals(java.util.List<sun.security.provider.PolicyParser$PrincipalEntry>, java.security.KeyStore);
    descriptor: (Ljava/util/List;Ljava/security/KeyStore;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.util.List principals
        start local 2 // java.security.KeyStore keystore
         0: .line 1884
            aload 1 /* principals */
            ifnull 1
            aload 1 /* principals */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 2 /* keystore */
            ifnonnull 2
         1: .line 1885
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1887
      StackMap locals:
      StackMap stack:
            aload 1 /* principals */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 3 /* i */
        start local 3 // java.util.ListIterator i
         3: .line 1888
            goto 19
         4: .line 1889
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 4 /* pppe */
        start local 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         5: .line 1890
            aload 4 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            ldc "PolicyParser.REPLACE_NAME"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
         6: .line 1895
            aload 0 /* this */
            aload 4 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aload 2 /* keystore */
            invokevirtual sun.security.provider.PolicyFile.getDN:(Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
            dup
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: ifnonnull 9
         8: .line 1896
            iconst_0
            ireturn
         9: .line 1899
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 17
        10: .line 1900
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  Replacing \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 1901
            aload 4 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1902
            ldc "\" with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1903
            ldc "javax.security.auth.x500.X500Principal"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1904
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 1905
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 1900
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 1908
      StackMap locals:
      StackMap stack:
            aload 4 /* pppe */
            ldc "javax.security.auth.x500.X500Principal"
            putfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        18: .line 1909
            aload 4 /* pppe */
            aload 5 /* name */
            putfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        end local 5 // java.lang.String name
        end local 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        19: .line 1888
      StackMap locals:
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 4
        20: .line 1914
            iconst_1
            ireturn
        end local 3 // java.util.ListIterator i
        end local 2 // java.security.KeyStore keystore
        end local 1 // java.util.List principals
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lsun/security/provider/PolicyFile;
            0   21     1  principals  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            0   21     2    keystore  Ljava/security/KeyStore;
            3   21     3           i  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            5   19     4        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            7   19     5        name  Ljava/lang/String;
    Signature: (Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;Ljava/security/KeyStore;)Z
    MethodParameters:
            Name  Flags
      principals  
      keystore    

  private void expandPermissionName(sun.security.provider.PolicyParser$PermissionEntry, java.security.KeyStore);
    descriptor: (Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$PermissionEntry pe
        start local 2 // java.security.KeyStore keystore
         0: .line 1920
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ifnull 1
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "${{"
            iconst_0
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iconst_m1
            if_icmpne 2
         1: .line 1921
      StackMap locals:
      StackMap stack:
            return
         2: .line 1924
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* startIndex */
        start local 3 // int startIndex
         3: .line 1926
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         4: .line 1927
            goto 43
        start local 4 // int b
         5: .line 1928
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int top java.lang.StringBuilder
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "}}"
            iload 4 /* b */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 5 /* e */
        start local 5 // int e
         6: .line 1929
            iload 5 /* e */
            iconst_1
            if_icmpge 8
         7: .line 1930
            goto 45
         8: .line 1932
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int int java.lang.StringBuilder
      StackMap stack:
            aload 6 /* sb */
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 3 /* startIndex */
            iload 4 /* b */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1935
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 4 /* b */
            iconst_3
            iadd
            iload 5 /* e */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
        10: .line 1939
            aload 7 /* value */
            astore 9 /* prefix */
        start local 9 // java.lang.String prefix
        11: .line 1941
            aload 7 /* value */
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 8 /* colonIndex */
        start local 8 // int colonIndex
        12: iconst_m1
            if_icmpeq 14
        13: .line 1942
            aload 7 /* value */
            iconst_0
            iload 8 /* colonIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* prefix */
        14: .line 1946
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack:
            aload 9 /* prefix */
            ldc "self"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        15: .line 1948
            aload 6 /* sb */
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 4 /* b */
            iload 5 /* e */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1949
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        17: .line 1950
            goto 43
        18: .line 1951
      StackMap locals:
      StackMap stack:
            aload 9 /* prefix */
            ldc "alias"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        19: .line 1953
            iload 8 /* colonIndex */
            iconst_m1
            if_icmpne 26
        20: .line 1954
            new java.text.MessageFormat
            dup
        21: .line 1956
            ldc "alias.name.not.provided.pe.name."
        22: .line 1955
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 1954
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        24: .line 1957
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            aastore
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        25: .line 1958
            new java.lang.Exception
            dup
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        26: .line 1960
      StackMap locals:
      StackMap stack:
            aload 7 /* value */
            iload 8 /* colonIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* suffix */
        start local 10 // java.lang.String suffix
        27: .line 1961
            aload 0 /* this */
            aload 10 /* suffix */
            aload 2 /* keystore */
            invokevirtual sun.security.provider.PolicyFile.getDN:(Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
            dup
            astore 10 /* suffix */
            ifnonnull 34
        28: .line 1962
            new java.text.MessageFormat
            dup
        29: .line 1964
            ldc "unable.to.perform.substitution.on.alias.suffix"
        30: .line 1963
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        31: .line 1962
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        32: .line 1965
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* value */
            iload 8 /* colonIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aastore
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        33: .line 1966
            new java.lang.Exception
            dup
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        34: .line 1969
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "javax.security.auth.x500.X500Principal \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 1970
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        36: .line 1971
            goto 43
        end local 10 // java.lang.String suffix
        37: .line 1972
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        38: .line 1974
            ldc "substitution.value.prefix.unsupported"
        39: .line 1973
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        40: .line 1972
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        41: .line 1975
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* prefix */
            aastore
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        42: .line 1976
            new java.lang.Exception
            dup
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        end local 9 // java.lang.String prefix
        end local 8 // int colonIndex
        end local 7 // java.lang.String value
        end local 5 // int e
        end local 4 // int b
        43: .line 1927
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int top top java.lang.StringBuilder
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "${{"
            iload 3 /* startIndex */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            dup
            istore 4 /* b */
        start local 4 // int b
        44: iconst_m1
            if_icmpne 5
        45: .line 1981
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int top java.lang.StringBuilder
      StackMap stack:
            aload 6 /* sb */
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 3 /* startIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 1984
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 50
        47: .line 1985
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  Permission name expanded from:\n\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 1986
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\nto\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 1985
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        50: .line 1988
      StackMap locals:
      StackMap stack:
            aload 1 /* pe */
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        51: .line 1989
            return
        end local 6 // java.lang.StringBuilder sb
        end local 4 // int b
        end local 3 // int startIndex
        end local 2 // java.security.KeyStore keystore
        end local 1 // sun.security.provider.PolicyParser$PermissionEntry pe
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   52     0        this  Lsun/security/provider/PolicyFile;
            0   52     1          pe  Lsun/security/provider/PolicyParser$PermissionEntry;
            0   52     2    keystore  Ljava/security/KeyStore;
            3   52     3  startIndex  I
            5   43     4           b  I
           44   52     4           b  I
            6   43     5           e  I
            4   52     6          sb  Ljava/lang/StringBuilder;
           10   43     7       value  Ljava/lang/String;
           12   43     8  colonIndex  I
           11   43     9      prefix  Ljava/lang/String;
           27   37    10      suffix  Ljava/lang/String;
           24   26    11        form  Ljava/text/MessageFormat;
           25   26    12      source  [Ljava/lang/Object;
           32   34    11        form  Ljava/text/MessageFormat;
           33   34    12      source  [Ljava/lang/Object;
           41   43    11        form  Ljava/text/MessageFormat;
           42   43    12      source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      pe        
      keystore  

  private java.lang.String getDN(java.lang.String, java.security.KeyStore);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore keystore
         0: .line 1992
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.Certificate cert
         1: .line 1994
            aload 2 /* keystore */
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 3 /* cert */
         2: .line 1995
            goto 11
      StackMap locals: sun.security.provider.PolicyFile java.lang.String java.security.KeyStore java.security.cert.Certificate
      StackMap stack: java.lang.Exception
         3: astore 4 /* e */
        start local 4 // java.lang.Exception e
         4: .line 1996
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         5: .line 1997
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  Error retrieving certificate for '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 1998
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1999
            ldc "': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 2000
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1997
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 2002
      StackMap locals: java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.Exception e
        11: .line 2005
      StackMap locals:
      StackMap stack:
            aload 3 /* cert */
            ifnull 12
            aload 3 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 18
        12: .line 2006
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 17
        13: .line 2007
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  -- No certificate for '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 2008
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 2009
            ldc "' - ignoring entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 2007
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 2011
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        18: .line 2013
      StackMap locals:
      StackMap stack:
            aload 3 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 4 /* x509Cert */
        start local 4 // java.security.cert.X509Certificate x509Cert
        19: .line 2019
            new javax.security.auth.x500.X500Principal
            dup
        20: .line 2020
            aload 4 /* x509Cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
        21: .line 2019
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
            astore 5 /* p */
        start local 5 // javax.security.auth.x500.X500Principal p
        22: .line 2021
            aload 5 /* p */
            invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
            areturn
        end local 5 // javax.security.auth.x500.X500Principal p
        end local 4 // java.security.cert.X509Certificate x509Cert
        end local 3 // java.security.cert.Certificate cert
        end local 2 // java.security.KeyStore keystore
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lsun/security/provider/PolicyFile;
            0   23     1     alias  Ljava/lang/String;
            0   23     2  keystore  Ljava/security/KeyStore;
            1   23     3      cert  Ljava/security/cert/Certificate;
            4   11     4         e  Ljava/lang/Exception;
           19   23     4  x509Cert  Ljava/security/cert/X509Certificate;
           22   23     5         p  Ljavax/security/auth/x500/X500Principal;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      alias     
      keystore  

  private boolean checkForTrustedIdentity(java.security.cert.Certificate, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/security/cert/Certificate;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.cert.Certificate cert
        start local 2 // sun.security.provider.PolicyFile$PolicyInfo myInfo
         0: .line 2033
            iconst_0
            ireturn
        end local 2 // sun.security.provider.PolicyFile$PolicyInfo myInfo
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/security/provider/PolicyFile;
            0    1     1    cert  Ljava/security/cert/Certificate;
            0    1     2  myInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
    MethodParameters:
        Name  Flags
      cert    final
      myInfo  
}
SourceFile: "PolicyFile.java"
NestMembers:
  sun.security.provider.PolicyFile$1  sun.security.provider.PolicyFile$2  sun.security.provider.PolicyFile$3  sun.security.provider.PolicyFile$4  sun.security.provider.PolicyFile$5  sun.security.provider.PolicyFile$6  sun.security.provider.PolicyFile$7  sun.security.provider.PolicyFile$PolicyEntry  sun.security.provider.PolicyFile$PolicyInfo  sun.security.provider.PolicyFile$SelfPermission
InnerClasses:
  public abstract ProtectionDomainCache = sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache of sun.misc.JavaSecurityProtectionDomainAccess
  sun.security.provider.PolicyFile$1
  sun.security.provider.PolicyFile$2
  sun.security.provider.PolicyFile$3
  sun.security.provider.PolicyFile$4
  sun.security.provider.PolicyFile$5
  sun.security.provider.PolicyFile$6
  sun.security.provider.PolicyFile$7
  private PolicyEntry = sun.security.provider.PolicyFile$PolicyEntry of sun.security.provider.PolicyFile
  private PolicyInfo = sun.security.provider.PolicyFile$PolicyInfo of sun.security.provider.PolicyFile
  private SelfPermission = sun.security.provider.PolicyFile$SelfPermission of sun.security.provider.PolicyFile
  public GrantEntry = sun.security.provider.PolicyParser$GrantEntry of sun.security.provider.PolicyParser
  public ParsingException = sun.security.provider.PolicyParser$ParsingException of sun.security.provider.PolicyParser
  public PermissionEntry = sun.security.provider.PolicyParser$PermissionEntry of sun.security.provider.PolicyParser
  public PrincipalEntry = sun.security.provider.PolicyParser$PrincipalEntry of sun.security.provider.PolicyParser