public final class sun.security.pkcs11.SunPKCS11 extends java.security.AuthProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.pkcs11.SunPKCS11
  super_class: java.security.AuthProvider
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1354835039035306505

  static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static int dummyConfigId;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  final sun.security.pkcs11.wrapper.PKCS11 p11;
    descriptor: Lsun/security/pkcs11/wrapper/PKCS11;
    flags: (0x0010) ACC_FINAL

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

  final sun.security.pkcs11.Config config;
    descriptor: Lsun/security/pkcs11/Config;
    flags: (0x0010) ACC_FINAL

  final long slotID;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  private javax.security.auth.callback.CallbackHandler pHandler;
    descriptor: Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0002) ACC_PRIVATE

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

  final boolean removable;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final sun.security.pkcs11.Secmod$Module nssModule;
    descriptor: Lsun/security/pkcs11/Secmod$Module;
    flags: (0x0010) ACC_FINAL

  final boolean nssUseSecmodTrust;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  private volatile sun.security.pkcs11.Token token;
    descriptor: Lsun/security/pkcs11/Token;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private sun.security.pkcs11.SunPKCS11$TokenPoller poller;
    descriptor: Lsun/security/pkcs11/SunPKCS11$TokenPoller;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.Map<java.lang.Integer, java.util.List<sun.security.pkcs11.SunPKCS11$Descriptor>> descriptors;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;>;

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

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=12, locals=12, args_size=0
         0: .line 63
            ldc "sunpkcs11"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
         1: .line 417
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
         2: .line 416
            putstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
         3: .line 485
            ldc "sun.security.pkcs11.P11Digest"
            astore 0 /* P11Digest */
        start local 0 // java.lang.String P11Digest
         4: .line 486
            ldc "sun.security.pkcs11.P11MAC"
            astore 1 /* P11MAC */
        start local 1 // java.lang.String P11MAC
         5: .line 487
            ldc "sun.security.pkcs11.P11KeyPairGenerator"
            astore 2 /* P11KeyPairGenerator */
        start local 2 // java.lang.String P11KeyPairGenerator
         6: .line 488
            ldc "sun.security.pkcs11.P11KeyGenerator"
            astore 3 /* P11KeyGenerator */
        start local 3 // java.lang.String P11KeyGenerator
         7: .line 489
            ldc "sun.security.pkcs11.P11RSAKeyFactory"
            astore 4 /* P11RSAKeyFactory */
        start local 4 // java.lang.String P11RSAKeyFactory
         8: .line 490
            ldc "sun.security.pkcs11.P11DSAKeyFactory"
            astore 5 /* P11DSAKeyFactory */
        start local 5 // java.lang.String P11DSAKeyFactory
         9: .line 491
            ldc "sun.security.pkcs11.P11DHKeyFactory"
            astore 6 /* P11DHKeyFactory */
        start local 6 // java.lang.String P11DHKeyFactory
        10: .line 492
            ldc "sun.security.pkcs11.P11KeyAgreement"
            astore 7 /* P11KeyAgreement */
        start local 7 // java.lang.String P11KeyAgreement
        11: .line 493
            ldc "sun.security.pkcs11.P11SecretKeyFactory"
            astore 8 /* P11SecretKeyFactory */
        start local 8 // java.lang.String P11SecretKeyFactory
        12: .line 494
            ldc "sun.security.pkcs11.P11Cipher"
            astore 9 /* P11Cipher */
        start local 9 // java.lang.String P11Cipher
        13: .line 495
            ldc "sun.security.pkcs11.P11RSACipher"
            astore 10 /* P11RSACipher */
        start local 10 // java.lang.String P11RSACipher
        14: .line 496
            ldc "sun.security.pkcs11.P11Signature"
            astore 11 /* P11Signature */
        start local 11 // java.lang.String P11Signature
        15: .line 500
            ldc "MessageDigest"
            ldc "MD2"
            aload 0 /* P11Digest */
        16: .line 501
            ldc 512
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        17: .line 500
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        18: .line 502
            ldc "MessageDigest"
            ldc "MD5"
            aload 0 /* P11Digest */
        19: .line 503
            ldc 528
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        20: .line 502
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        21: .line 504
            ldc "MessageDigest"
            ldc "SHA1"
            aload 0 /* P11Digest */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
        22: .line 505
            ldc "SHA"
            aastore
            dup
            iconst_1
            ldc "SHA-1"
            aastore
            dup
            iconst_2
            ldc "1.3.14.3.2.26"
            aastore
            dup
            iconst_3
            ldc "OID.1.3.14.3.2.26"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        23: .line 506
            ldc 544
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        24: .line 504
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        25: .line 508
            ldc "MessageDigest"
            ldc "SHA-224"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        26: .line 509
            ldc "2.16.840.1.101.3.4.2.4"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        27: .line 510
            ldc 597
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        28: .line 508
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        29: .line 511
            ldc "MessageDigest"
            ldc "SHA-256"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        30: .line 512
            ldc "2.16.840.1.101.3.4.2.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        31: .line 513
            ldc 592
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        32: .line 511
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        33: .line 514
            ldc "MessageDigest"
            ldc "SHA-384"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        34: .line 515
            ldc "2.16.840.1.101.3.4.2.2"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        35: .line 516
            ldc 608
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        36: .line 514
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        37: .line 517
            ldc "MessageDigest"
            ldc "SHA-512"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        38: .line 518
            ldc "2.16.840.1.101.3.4.2.3"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.3"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        39: .line 519
            ldc 624
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        40: .line 517
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        41: .line 521
            ldc "Mac"
            ldc "HmacMD5"
            aload 1 /* P11MAC */
        42: .line 522
            ldc 529
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        43: .line 521
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        44: .line 523
            ldc "Mac"
            ldc "HmacSHA1"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        45: .line 524
            ldc "1.2.840.113549.2.7"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.7"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        46: .line 525
            ldc 545
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        47: .line 523
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        48: .line 526
            ldc "Mac"
            ldc "HmacSHA224"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        49: .line 527
            ldc "1.2.840.113549.2.8"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.8"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        50: .line 528
            ldc 598
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        51: .line 526
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        52: .line 529
            ldc "Mac"
            ldc "HmacSHA256"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        53: .line 530
            ldc "1.2.840.113549.2.9"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.9"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        54: .line 531
            ldc 593
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        55: .line 529
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        56: .line 532
            ldc "Mac"
            ldc "HmacSHA384"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        57: .line 533
            ldc "1.2.840.113549.2.10"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.10"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        58: .line 534
            ldc 609
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        59: .line 532
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        60: .line 535
            ldc "Mac"
            ldc "HmacSHA512"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        61: .line 536
            ldc "1.2.840.113549.2.11"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.11"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        62: .line 537
            ldc 625
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        63: .line 535
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        64: .line 538
            ldc "Mac"
            ldc "SslMacMD5"
            aload 1 /* P11MAC */
        65: .line 539
            ldc 896
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        66: .line 538
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        67: .line 540
            ldc "Mac"
            ldc "SslMacSHA1"
            aload 1 /* P11MAC */
        68: .line 541
            ldc 897
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        69: .line 540
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        70: .line 543
            ldc "KeyPairGenerator"
            ldc "RSA"
            aload 2 /* P11KeyPairGenerator */
        71: .line 544
            lconst_0
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        72: .line 543
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        73: .line 545
            ldc "KeyPairGenerator"
            ldc "DSA"
            aload 2 /* P11KeyPairGenerator */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        74: .line 546
            ldc "1.3.14.3.2.12"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10040.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10040.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        75: .line 547
            ldc 16
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        76: .line 545
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        77: .line 548
            ldc "KeyPairGenerator"
            ldc "DH"
            aload 2 /* P11KeyPairGenerator */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        78: .line 549
            ldc 32
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        79: .line 548
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        80: .line 550
            ldc "KeyPairGenerator"
            ldc "EC"
            aload 2 /* P11KeyPairGenerator */
        81: .line 551
            ldc 4160
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        82: .line 550
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        83: .line 553
            ldc "KeyGenerator"
            ldc "ARCFOUR"
            aload 3 /* P11KeyGenerator */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        84: .line 554
            ldc 272
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        85: .line 553
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        86: .line 555
            ldc "KeyGenerator"
            ldc "DES"
            aload 3 /* P11KeyGenerator */
        87: .line 556
            ldc 288
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        88: .line 555
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        89: .line 557
            ldc "KeyGenerator"
            ldc "DESede"
            aload 3 /* P11KeyGenerator */
        90: .line 558
            ldc 305
            ldc 304
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
        91: .line 557
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        92: .line 559
            ldc "KeyGenerator"
            ldc "AES"
            aload 3 /* P11KeyGenerator */
        93: .line 560
            ldc 4224
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        94: .line 559
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        95: .line 561
            ldc "KeyGenerator"
            ldc "Blowfish"
            aload 3 /* P11KeyGenerator */
        96: .line 562
            ldc 4240
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        97: .line 561
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        98: .line 566
            ldc "KeyFactory"
            ldc "RSA"
            aload 4 /* P11RSAKeyFactory */
        99: .line 567
            lconst_0
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       100: .line 566
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       101: .line 568
            ldc "KeyFactory"
            ldc "DSA"
            aload 5 /* P11DSAKeyFactory */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       102: .line 569
            ldc "1.3.14.3.2.12"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10040.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10040.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       103: .line 570
            ldc 16
            ldc 17
            ldc 18
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       104: .line 568
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       105: .line 571
            ldc "KeyFactory"
            ldc "DH"
            aload 6 /* P11DHKeyFactory */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       106: .line 572
            ldc 32
            ldc 33
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       107: .line 571
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       108: .line 573
            ldc "KeyFactory"
            ldc "EC"
            aload 6 /* P11DHKeyFactory */
       109: .line 574
            ldc 4160
            ldc 4176
            ldc 4161
            ldc 4162
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       110: .line 573
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       111: .line 578
            ldc "AlgorithmParameters"
            ldc "EC"
            ldc "sun.security.ec.ECParameters"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "1.2.840.10045.2.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       112: .line 579
            ldc 4160
            ldc 4176
            ldc 4161
            ldc 4162
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       113: .line 578
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       114: .line 581
            ldc "KeyAgreement"
            ldc "DH"
            aload 7 /* P11KeyAgreement */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       115: .line 582
            ldc 33
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       116: .line 581
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       117: .line 583
            ldc "KeyAgreement"
            ldc "ECDH"
            ldc "sun.security.pkcs11.P11ECDHKeyAgreement"
       118: .line 584
            ldc 4176
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       119: .line 583
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       120: .line 586
            ldc "SecretKeyFactory"
            ldc "ARCFOUR"
            aload 8 /* P11SecretKeyFactory */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       121: .line 587
            ldc 273
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       122: .line 586
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       123: .line 588
            ldc "SecretKeyFactory"
            ldc "DES"
            aload 8 /* P11SecretKeyFactory */
       124: .line 589
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       125: .line 588
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       126: .line 590
            ldc "SecretKeyFactory"
            ldc "DESede"
            aload 8 /* P11SecretKeyFactory */
       127: .line 591
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       128: .line 590
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       129: .line 592
            ldc "SecretKeyFactory"
            ldc "AES"
            aload 8 /* P11SecretKeyFactory */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       130: .line 593
            ldc "2.16.840.1.101.3.4.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       131: .line 594
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       132: .line 592
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       133: .line 595
            ldc "SecretKeyFactory"
            ldc "Blowfish"
            aload 8 /* P11SecretKeyFactory */
       134: .line 596
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       135: .line 595
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       136: .line 599
            ldc "Cipher"
            ldc "ARCFOUR"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       137: .line 600
            ldc 273
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       138: .line 599
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       139: .line 601
            ldc "Cipher"
            ldc "DES/CBC/NoPadding"
            aload 9 /* P11Cipher */
       140: .line 602
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       141: .line 601
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       142: .line 603
            ldc "Cipher"
            ldc "DES/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       143: .line 604
            ldc 293
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       144: .line 603
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       145: .line 605
            ldc "Cipher"
            ldc "DES/ECB/NoPadding"
            aload 9 /* P11Cipher */
       146: .line 606
            ldc 289
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       147: .line 605
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       148: .line 607
            ldc "Cipher"
            ldc "DES/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DES"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       149: .line 608
            ldc 289
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       150: .line 607
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       151: .line 609
            ldc "Cipher"
            ldc "DESede/CBC/NoPadding"
            aload 9 /* P11Cipher */
       152: .line 610
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       153: .line 609
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       154: .line 611
            ldc "Cipher"
            ldc "DESede/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       155: .line 612
            ldc 310
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       156: .line 611
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       157: .line 613
            ldc "Cipher"
            ldc "DESede/ECB/NoPadding"
            aload 9 /* P11Cipher */
       158: .line 614
            ldc 306
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       159: .line 613
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       160: .line 615
            ldc "Cipher"
            ldc "DESede/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DESede"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       161: .line 616
            ldc 306
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       162: .line 615
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       163: .line 617
            ldc "Cipher"
            ldc "AES/CBC/NoPadding"
            aload 9 /* P11Cipher */
       164: .line 618
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       165: .line 617
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       166: .line 619
            ldc "Cipher"
            ldc "AES_128/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       167: .line 620
            ldc "2.16.840.1.101.3.4.1.2"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       168: .line 621
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       169: .line 619
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       170: .line 622
            ldc "Cipher"
            ldc "AES_192/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       171: .line 623
            ldc "2.16.840.1.101.3.4.1.22"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.22"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       172: .line 624
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       173: .line 622
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       174: .line 625
            ldc "Cipher"
            ldc "AES_256/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       175: .line 626
            ldc "2.16.840.1.101.3.4.1.42"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.42"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       176: .line 627
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       177: .line 625
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       178: .line 628
            ldc "Cipher"
            ldc "AES/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       179: .line 629
            ldc 4229
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       180: .line 628
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       181: .line 630
            ldc "Cipher"
            ldc "AES/ECB/NoPadding"
            aload 9 /* P11Cipher */
       182: .line 631
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       183: .line 630
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       184: .line 632
            ldc "Cipher"
            ldc "AES_128/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       185: .line 633
            ldc "2.16.840.1.101.3.4.1.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       186: .line 634
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       187: .line 632
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       188: .line 635
            ldc "Cipher"
            ldc "AES_192/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       189: .line 636
            ldc "2.16.840.1.101.3.4.1.21"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.21"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       190: .line 637
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       191: .line 635
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       192: .line 638
            ldc "Cipher"
            ldc "AES_256/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       193: .line 639
            ldc "2.16.840.1.101.3.4.1.41"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.41"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       194: .line 640
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       195: .line 638
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       196: .line 641
            ldc "Cipher"
            ldc "AES/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AES"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       197: .line 642
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       198: .line 641
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       199: .line 643
            ldc "Cipher"
            ldc "AES/CTR/NoPadding"
            aload 9 /* P11Cipher */
       200: .line 644
            ldc 4230
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       201: .line 643
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       202: .line 645
            ldc "Cipher"
            ldc "Blowfish/CBC/NoPadding"
            aload 9 /* P11Cipher */
       203: .line 646
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       204: .line 645
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       205: .line 647
            ldc "Cipher"
            ldc "Blowfish/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       206: .line 648
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       207: .line 647
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       208: .line 651
            ldc "Cipher"
            ldc "RSA/ECB/PKCS1Padding"
            aload 10 /* P11RSACipher */
       209: .line 652
            lconst_1
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       210: .line 651
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       211: .line 654
            ldc "Signature"
            ldc "RawDSA"
            aload 11 /* P11Signature */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "NONEwithDSA"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       212: .line 655
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       213: .line 654
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       214: .line 656
            ldc "Signature"
            ldc "DSA"
            aload 11 /* P11Signature */
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
       215: .line 657
            ldc "SHA1withDSA"
            aastore
            dup
            iconst_1
            ldc "1.3.14.3.2.13"
            aastore
            dup
            iconst_2
            ldc "1.3.14.3.2.27"
            aastore
            dup
            iconst_3
       216: .line 658
            ldc "1.2.840.10040.4.3"
            aastore
            dup
            iconst_4
            ldc "OID.1.2.840.10040.4.3"
            aastore
       217: .line 657
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       218: .line 659
            ldc 18
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       219: .line 656
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       220: .line 660
            ldc "Signature"
            ldc "NONEwithECDSA"
            aload 11 /* P11Signature */
       221: .line 661
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       222: .line 660
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       223: .line 662
            ldc "Signature"
            ldc "SHA1withECDSA"
            aload 11 /* P11Signature */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       224: .line 663
            ldc "ECDSA"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10045.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10045.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       225: .line 664
            ldc 4162
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       226: .line 662
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       227: .line 665
            ldc "Signature"
            ldc "SHA224withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       228: .line 666
            ldc "1.2.840.10045.4.3.1"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       229: .line 667
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       230: .line 665
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       231: .line 668
            ldc "Signature"
            ldc "SHA256withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       232: .line 669
            ldc "1.2.840.10045.4.3.2"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       233: .line 670
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       234: .line 668
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       235: .line 671
            ldc "Signature"
            ldc "SHA384withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       236: .line 672
            ldc "1.2.840.10045.4.3.3"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.3"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       237: .line 673
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       238: .line 671
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       239: .line 674
            ldc "Signature"
            ldc "SHA512withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       240: .line 675
            ldc "1.2.840.10045.4.3.4"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       241: .line 676
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       242: .line 674
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       243: .line 677
            ldc "Signature"
            ldc "MD2withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       244: .line 678
            ldc "1.2.840.113549.1.1.2"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       245: .line 679
            ldc 4
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       246: .line 677
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       247: .line 680
            ldc "Signature"
            ldc "MD5withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       248: .line 681
            ldc "1.2.840.113549.1.1.4"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       249: .line 682
            ldc 5
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       250: .line 680
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       251: .line 683
            ldc "Signature"
            ldc "SHA1withRSA"
            aload 11 /* P11Signature */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       252: .line 684
            ldc "1.2.840.113549.1.1.5"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.5"
            aastore
            dup
            iconst_2
       253: .line 685
            ldc "1.3.14.3.2.29"
            aastore
       254: .line 684
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       255: .line 686
            ldc 6
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       256: .line 683
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       257: .line 687
            ldc "Signature"
            ldc "SHA224withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       258: .line 688
            ldc "1.2.840.113549.1.1.14"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.14"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       259: .line 689
            ldc 70
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       260: .line 687
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       261: .line 690
            ldc "Signature"
            ldc "SHA256withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       262: .line 691
            ldc "1.2.840.113549.1.1.11"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.11"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       263: .line 692
            ldc 64
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       264: .line 690
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       265: .line 693
            ldc "Signature"
            ldc "SHA384withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       266: .line 694
            ldc "1.2.840.113549.1.1.12"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.12"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       267: .line 695
            ldc 65
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       268: .line 693
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       269: .line 696
            ldc "Signature"
            ldc "SHA512withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       270: .line 697
            ldc "1.2.840.113549.1.1.13"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.13"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       271: .line 698
            ldc 66
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       272: .line 696
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       273: .line 700
            ldc "KeyGenerator"
            ldc "SunTlsRsaPremasterSecret"
            ldc "sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator"
       274: .line 701
            ldc 880
            ldc 884
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       275: .line 700
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       276: .line 702
            ldc "KeyGenerator"
            ldc "SunTlsMasterSecret"
            ldc "sun.security.pkcs11.P11TlsMasterSecretGenerator"
       277: .line 703
            ldc 881
            ldc 885
       278: .line 704
            ldc 883
            ldc 887
       279: .line 703
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       280: .line 702
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       281: .line 705
            ldc "KeyGenerator"
            ldc "SunTlsKeyMaterial"
            ldc "sun.security.pkcs11.P11TlsKeyMaterialGenerator"
       282: .line 706
            ldc 882
            ldc 886
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       283: .line 705
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       284: .line 707
            ldc "KeyGenerator"
            ldc "SunTlsPrf"
            ldc "sun.security.pkcs11.P11TlsPrfGenerator"
       285: .line 708
            ldc 888
            ldc 2147484531
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       286: .line 707
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        end local 11 // java.lang.String P11Signature
        end local 10 // java.lang.String P11RSACipher
        end local 9 // java.lang.String P11Cipher
        end local 8 // java.lang.String P11SecretKeyFactory
        end local 7 // java.lang.String P11KeyAgreement
        end local 6 // java.lang.String P11DHKeyFactory
        end local 5 // java.lang.String P11DSAKeyFactory
        end local 4 // java.lang.String P11RSAKeyFactory
        end local 3 // java.lang.String P11KeyGenerator
        end local 2 // java.lang.String P11KeyPairGenerator
        end local 1 // java.lang.String P11MAC
        end local 0 // java.lang.String P11Digest
       287: .line 709
            return
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            4  287     0            P11Digest  Ljava/lang/String;
            5  287     1               P11MAC  Ljava/lang/String;
            6  287     2  P11KeyPairGenerator  Ljava/lang/String;
            7  287     3      P11KeyGenerator  Ljava/lang/String;
            8  287     4     P11RSAKeyFactory  Ljava/lang/String;
            9  287     5     P11DSAKeyFactory  Ljava/lang/String;
           10  287     6      P11DHKeyFactory  Ljava/lang/String;
           11  287     7      P11KeyAgreement  Ljava/lang/String;
           12  287     8  P11SecretKeyFactory  Ljava/lang/String;
           13  287     9            P11Cipher  Ljava/lang/String;
           14  287    10         P11RSACipher  Ljava/lang/String;
           15  287    11         P11Signature  Ljava/lang/String;

  sun.security.pkcs11.Token getToken();
    descriptor: ()Lsun/security/pkcs11/Token;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 93
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            areturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 97
            aload 0 /* this */
            ldc "SunPKCS11-Dummy"
            ldc 1.7
            ldc "SunPKCS11-Dummy"
            invokespecial java.security.AuthProvider.<init>:(Ljava/lang/String;DLjava/lang/String;)V
         1: .line 80
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
         2: .line 98
            new java.security.ProviderException
            dup
         3: .line 99
            ldc "SunPKCS11 requires configuration file argument"
         4: .line 98
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/pkcs11/SunPKCS11;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.String configName
         0: .line 103
            aload 0 /* this */
            aload 1 /* configName */
            invokestatic sun.security.pkcs11.SunPKCS11.checkNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aconst_null
            invokespecial sun.security.pkcs11.SunPKCS11.<init>:(Ljava/lang/String;Ljava/io/InputStream;)V
         1: .line 104
            return
        end local 1 // java.lang.String configName
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/security/pkcs11/SunPKCS11;
            0    2     1  configName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      configName  

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.io.InputStream configStream
         0: .line 107
            aload 0 /* this */
            invokestatic sun.security.pkcs11.SunPKCS11.getDummyConfigName:()Ljava/lang/String;
            aload 1 /* configStream */
            invokestatic sun.security.pkcs11.SunPKCS11.checkNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            invokespecial sun.security.pkcs11.SunPKCS11.<init>:(Ljava/lang/String;Ljava/io/InputStream;)V
         1: .line 108
            return
        end local 1 // java.io.InputStream configStream
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lsun/security/pkcs11/SunPKCS11;
            0    2     1  configStream  Ljava/io/InputStream;
    MethodParameters:
              Name  Flags
      configStream  

  private static <T> T checkNull();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 111
            aload 0 /* obj */
            ifnonnull 2
         1: .line 112
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
      Name  Flags
      obj   

  private static synchronized java.lang.String getDummyConfigName();
    descriptor: ()Ljava/lang/String;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=0
         0: .line 118
            getstatic sun.security.pkcs11.SunPKCS11.dummyConfigId:I
            iconst_1
            iadd
            dup
            putstatic sun.security.pkcs11.SunPKCS11.dummyConfigId:I
            istore 0 /* id */
        start local 0 // int id
         1: .line 119
            new java.lang.StringBuilder
            dup
            ldc "---DummyConfig-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "---"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0    id  I

  public void <init>(java.lang.String, java.io.InputStream);
    descriptor: (Ljava/lang/String;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=19, args_size=3
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.String configName
        start local 2 // java.io.InputStream configStream
         0: .line 127
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "SunPKCS11-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* configName */
            aload 2 /* configStream */
            invokestatic sun.security.pkcs11.Config.getConfig:(Ljava/lang/String;Ljava/io/InputStream;)Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         1: .line 128
            ldc 1.7
            aload 1 /* configName */
            aload 2 /* configStream */
            invokestatic sun.security.pkcs11.Config.getConfig:(Ljava/lang/String;Ljava/io/InputStream;)Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getDescription:()Ljava/lang/String;
            invokespecial java.security.AuthProvider.<init>:(Ljava/lang/String;DLjava/lang/String;)V
         2: .line 80
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
         3: .line 129
            aload 0 /* this */
            aload 1 /* configName */
            putfield sun.security.pkcs11.SunPKCS11.configName:Ljava/lang/String;
         4: .line 130
            aload 0 /* this */
            aload 1 /* configName */
            invokestatic sun.security.pkcs11.Config.removeConfig:(Ljava/lang/String;)Lsun/security/pkcs11/Config;
            putfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
         5: .line 132
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 7
         6: .line 133
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "SunPKCS11 loading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* configName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 136
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getLibrary:()Ljava/lang/String;
            astore 3 /* library */
        start local 3 // java.lang.String library
         8: .line 137
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getFunctionList:()Ljava/lang/String;
            astore 4 /* functionList */
        start local 4 // java.lang.String functionList
         9: .line 138
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getSlotID:()I
            i2l
            lstore 5 /* slotID */
        start local 5 // long slotID
        10: .line 139
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getSlotListIndex:()I
            istore 7 /* slotListIndex */
        start local 7 // int slotListIndex
        11: .line 141
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssUseSecmod:()Z
            istore 8 /* useSecmod */
        start local 8 // boolean useSecmod
        12: .line 142
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssUseSecmodTrust:()Z
            istore 9 /* nssUseSecmodTrust */
        start local 9 // boolean nssUseSecmodTrust
        13: .line 143
            aconst_null
            astore 10 /* nssModule */
        start local 10 // sun.security.pkcs11.Secmod$Module nssModule
        14: .line 159
            iload 8 /* useSecmod */
            ifeq 102
        15: .line 162
            invokestatic sun.security.pkcs11.Secmod.getInstance:()Lsun/security/pkcs11/Secmod;
            astore 11 /* secmod */
        start local 11 // sun.security.pkcs11.Secmod secmod
        16: .line 163
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssDbMode:()Lsun/security/pkcs11/Secmod$DbMode;
            astore 12 /* nssDbMode */
        start local 12 // sun.security.pkcs11.Secmod$DbMode nssDbMode
        17: .line 165
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssLibraryDirectory:()Ljava/lang/String;
            astore 13 /* nssLibraryDirectory */
        start local 13 // java.lang.String nssLibraryDirectory
        18: .line 166
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssSecmodDirectory:()Ljava/lang/String;
            astore 14 /* nssSecmodDirectory */
        start local 14 // java.lang.String nssSecmodDirectory
        19: .line 168
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.isInitialized:()Z
            ifeq 34
        20: .line 169
            aload 14 /* nssSecmodDirectory */
            ifnull 27
        21: .line 170
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getConfigDir:()Ljava/lang/String;
            astore 15 /* s */
        start local 15 // java.lang.String s
        22: .line 171
            aload 15 /* s */
            ifnull 27
            aload 15 /* s */
            aload 14 /* nssSecmodDirectory */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
        23: .line 172
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Secmod directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 173
            aload 14 /* nssSecmodDirectory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 174
            ldc " invalid, NSS already initialized with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 172
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // java.lang.String s
        27: .line 177
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.lang.String java.lang.String
      StackMap stack:
            aload 13 /* nssLibraryDirectory */
            ifnull 45
        28: .line 178
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getLibDir:()Ljava/lang/String;
            astore 15 /* s */
        start local 15 // java.lang.String s
        29: .line 179
            aload 15 /* s */
            ifnull 45
            aload 15 /* s */
            aload 13 /* nssLibraryDirectory */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 45
        30: .line 180
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "NSS library directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 181
            aload 13 /* nssLibraryDirectory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 182
            ldc " invalid, NSS already initialized with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 180
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // java.lang.String s
        34: .line 186
      StackMap locals:
      StackMap stack:
            aload 12 /* nssDbMode */
            getstatic sun.security.pkcs11.Secmod$DbMode.NO_DB:Lsun/security/pkcs11/Secmod$DbMode;
            if_acmpeq 37
        35: .line 187
            aload 14 /* nssSecmodDirectory */
            ifnonnull 41
        36: .line 188
            new java.security.ProviderException
            dup
            ldc "Secmod not initialized and nssSecmodDirectory not specified"
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 192
      StackMap locals:
      StackMap stack:
            aload 14 /* nssSecmodDirectory */
            ifnull 41
        38: .line 193
            new java.security.ProviderException
            dup
        39: .line 194
            ldc "nssSecmodDirectory must not be specified in noDb mode"
        40: .line 193
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 197
      StackMap locals:
      StackMap stack:
            aload 11 /* secmod */
            aload 12 /* nssDbMode */
            aload 14 /* nssSecmodDirectory */
            aload 13 /* nssLibraryDirectory */
            invokevirtual sun.security.pkcs11.Secmod.initialize:(Lsun/security/pkcs11/Secmod$DbMode;Ljava/lang/String;Ljava/lang/String;)V
        end local 14 // java.lang.String nssSecmodDirectory
        end local 13 // java.lang.String nssLibraryDirectory
        42: .line 199
            goto 45
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode
      StackMap stack: java.io.IOException
        43: astore 13 /* e */
        start local 13 // java.io.IOException e
        44: .line 201
            new java.security.ProviderException
            dup
            ldc "Could not initialize NSS"
            aload 13 /* e */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.io.IOException e
        45: .line 203
      StackMap locals:
      StackMap stack:
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getModules:()Ljava/util/List;
            astore 13 /* modules */
        start local 13 // java.util.List modules
        46: .line 204
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            ifeq 48
        47: .line 205
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "NSS modules: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* modules */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        48: .line 208
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssModule:()Ljava/lang/String;
            astore 14 /* moduleName */
        start local 14 // java.lang.String moduleName
        49: .line 209
            aload 14 /* moduleName */
            ifnonnull 57
        50: .line 210
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        51: .line 211
            aload 10 /* nssModule */
            ifnull 54
        52: .line 212
            ldc "fips"
            astore 14 /* moduleName */
        53: .line 213
            goto 57
        54: .line 214
      StackMap locals: java.lang.String
      StackMap stack:
            aload 12 /* nssDbMode */
            getstatic sun.security.pkcs11.Secmod$DbMode.NO_DB:Lsun/security/pkcs11/Secmod$DbMode;
            if_acmpne 55
            ldc "crypto"
            goto 56
      StackMap locals:
      StackMap stack:
        55: ldc "keystore"
      StackMap locals:
      StackMap stack: java.lang.String
        56: astore 14 /* moduleName */
        57: .line 217
      StackMap locals:
      StackMap stack:
            aload 14 /* moduleName */
            ldc "fips"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 62
        58: .line 218
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        59: .line 219
            iconst_1
            istore 9 /* nssUseSecmodTrust */
        60: .line 220
            ldc "FC_GetFunctionList"
            astore 4 /* functionList */
        61: .line 221
            goto 96
      StackMap locals:
      StackMap stack:
        62: aload 14 /* moduleName */
            ldc "keystore"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 66
        63: .line 222
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.KEYSTORE:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        64: .line 223
            iconst_1
            istore 9 /* nssUseSecmodTrust */
        65: .line 224
            goto 96
      StackMap locals:
      StackMap stack:
        66: aload 14 /* moduleName */
            ldc "crypto"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
        67: .line 225
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.CRYPTO:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        68: .line 226
            goto 96
      StackMap locals:
      StackMap stack:
        69: aload 14 /* moduleName */
            ldc "trustanchors"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 73
        70: .line 228
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.TRUSTANCHOR:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        71: .line 229
            iconst_1
            istore 9 /* nssUseSecmodTrust */
        72: .line 230
            goto 96
      StackMap locals:
      StackMap stack:
        73: aload 14 /* moduleName */
            ldc "external-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 95
        74: .line 234
            aload 14 /* moduleName */
            ldc "external-"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        75: .line 233
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* moduleIndex */
        start local 15 // int moduleIndex
        76: .line 235
            goto 79
        end local 15 // int moduleIndex
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        77: pop
        78: .line 236
            iconst_m1
            istore 15 /* moduleIndex */
        start local 15 // int moduleIndex
        79: .line 238
      StackMap locals: int
      StackMap stack:
            iload 15 /* moduleIndex */
            iconst_1
            if_icmpge 83
        80: .line 239
            new java.security.ProviderException
            dup
        81: .line 240
            new java.lang.StringBuilder
            dup
            ldc "Invalid external module: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        82: .line 239
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        83: .line 242
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* k */
        start local 16 // int k
        84: .line 243
            aload 13 /* modules */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 90
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.util.List java.lang.String int int top java.util.Iterator
      StackMap stack:
        85: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.Secmod$Module
            astore 17 /* module */
        start local 17 // sun.security.pkcs11.Secmod$Module module
        86: .line 244
            aload 17 /* module */
            invokevirtual sun.security.pkcs11.Secmod$Module.getType:()Lsun/security/pkcs11/Secmod$ModuleType;
            getstatic sun.security.pkcs11.Secmod$ModuleType.EXTERNAL:Lsun/security/pkcs11/Secmod$ModuleType;
            if_acmpne 90
        87: .line 245
            iinc 16 /* k */ 1
            iload 16 /* k */
            iload 15 /* moduleIndex */
            if_icmpne 90
        88: .line 246
            aload 17 /* module */
            astore 10 /* nssModule */
        89: .line 247
            goto 91
        end local 17 // sun.security.pkcs11.Secmod$Module module
        90: .line 243
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 85
        91: .line 251
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.util.List java.lang.String int int
      StackMap stack:
            aload 10 /* nssModule */
            ifnonnull 96
        92: .line 252
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid module "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        93: .line 253
            ldc ": only "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 16 /* k */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " external NSS modules available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        94: .line 252
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // int k
        end local 15 // int moduleIndex
        95: .line 256
      StackMap locals:
      StackMap stack:
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown NSS module: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        96: .line 258
      StackMap locals:
      StackMap stack:
            aload 10 /* nssModule */
            ifnonnull 98
        97: .line 259
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "NSS module not available: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        98: .line 261
      StackMap locals:
      StackMap stack:
            aload 10 /* nssModule */
            invokevirtual sun.security.pkcs11.Secmod$Module.hasInitializedProvider:()Z
            ifeq 100
        99: .line 262
            new java.security.ProviderException
            dup
            ldc "Secmod module already configured"
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       100: .line 264
      StackMap locals:
      StackMap stack:
            aload 10 /* nssModule */
            getfield sun.security.pkcs11.Secmod$Module.libraryName:Ljava/lang/String;
            astore 3 /* library */
       101: .line 265
            aload 10 /* nssModule */
            getfield sun.security.pkcs11.Secmod$Module.slot:I
            istore 7 /* slotListIndex */
        end local 14 // java.lang.String moduleName
        end local 13 // java.util.List modules
        end local 12 // sun.security.pkcs11.Secmod$DbMode nssDbMode
        end local 11 // sun.security.pkcs11.Secmod secmod
       102: .line 267
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module
      StackMap stack:
            aload 0 /* this */
            iload 9 /* nssUseSecmodTrust */
            putfield sun.security.pkcs11.SunPKCS11.nssUseSecmodTrust:Z
       103: .line 268
            aload 0 /* this */
            aload 10 /* nssModule */
            putfield sun.security.pkcs11.SunPKCS11.nssModule:Lsun/security/pkcs11/Secmod$Module;
       104: .line 270
            new java.io.File
            dup
            aload 3 /* library */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 11 /* libraryFile */
        start local 11 // java.io.File libraryFile
       105: .line 275
            aload 11 /* libraryFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            aload 3 /* library */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 111
       106: .line 276
            new java.io.File
            dup
            aload 3 /* library */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.isFile:()Z
            ifne 111
       107: .line 277
            new java.lang.StringBuilder
            dup
            ldc "Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* library */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* msg */
        start local 12 // java.lang.String msg
       108: .line 278
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getHandleStartupErrors:()I
            iconst_1
            if_icmpne 110
       109: .line 279
            new java.security.ProviderException
            dup
            aload 12 /* msg */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       110: .line 281
      StackMap locals: java.io.File java.lang.String
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            aload 12 /* msg */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.String msg
       111: .line 287
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 113
       112: .line 288
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Initializing PKCS#11 library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* library */
            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
       113: .line 290
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS
            dup
            invokespecial sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.<init>:()V
            astore 12 /* initArgs */
        start local 12 // sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS initArgs
       114: .line 291
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssArgs:()Ljava/lang/String;
            astore 13 /* nssArgs */
        start local 13 // java.lang.String nssArgs
       115: .line 292
            aload 13 /* nssArgs */
            ifnull 117
       116: .line 293
            aload 12 /* initArgs */
            aload 13 /* nssArgs */
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.pReserved:Ljava/lang/Object;
       117: .line 296
      StackMap locals: sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String
      StackMap stack:
            aload 12 /* initArgs */
            ldc 2
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.flags:J
       118: .line 300
            aload 3 /* library */
            aload 4 /* functionList */
            aload 12 /* initArgs */
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getOmitInitialize:()Z
       119: .line 299
            invokestatic sun.security.pkcs11.wrapper.PKCS11.getInstance:(Ljava/lang/String;Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;Z)Lsun/security/pkcs11/wrapper/PKCS11;
            astore 14 /* tmpPKCS11 */
        start local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
       120: .line 301
            goto 132
        end local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
       121: astore 15 /* e */
        start local 15 // sun.security.pkcs11.wrapper.PKCS11Exception e
       122: .line 302
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 124
       123: .line 303
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Multi-threaded initialization failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* e */
            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
       124: .line 305
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String top sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getAllowSingleThreadedModules:()Z
            ifne 126
       125: .line 306
            aload 15 /* e */
            athrow
       126: .line 309
      StackMap locals:
      StackMap stack:
            aload 13 /* nssArgs */
            ifnonnull 129
       127: .line 311
            aconst_null
            astore 12 /* initArgs */
       128: .line 312
            goto 130
       129: .line 313
      StackMap locals:
      StackMap stack:
            aload 12 /* initArgs */
            lconst_0
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.flags:J
       130: .line 316
      StackMap locals:
      StackMap stack:
            aload 3 /* library */
            aload 4 /* functionList */
            aload 12 /* initArgs */
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getOmitInitialize:()Z
       131: .line 315
            invokestatic sun.security.pkcs11.wrapper.PKCS11.getInstance:(Ljava/lang/String;Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;Z)Lsun/security/pkcs11/wrapper/PKCS11;
            astore 14 /* tmpPKCS11 */
        end local 15 // sun.security.pkcs11.wrapper.PKCS11Exception e
        start local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
       132: .line 318
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11
      StackMap stack:
            aload 0 /* this */
            aload 14 /* tmpPKCS11 */
            putfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
       133: .line 320
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetInfo:()Lsun/security/pkcs11/wrapper/CK_INFO;
            astore 15 /* p11Info */
        start local 15 // sun.security.pkcs11.wrapper.CK_INFO p11Info
       134: .line 321
            aload 15 /* p11Info */
            getfield sun.security.pkcs11.wrapper.CK_INFO.cryptokiVersion:Lsun/security/pkcs11/wrapper/CK_VERSION;
            getfield sun.security.pkcs11.wrapper.CK_VERSION.major:B
            iconst_2
            if_icmpge 138
       135: .line 322
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Only PKCS#11 v2.0 and later supported, library version is v"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       136: .line 323
            aload 15 /* p11Info */
            getfield sun.security.pkcs11.wrapper.CK_INFO.cryptokiVersion:Lsun/security/pkcs11/wrapper/CK_VERSION;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       137: .line 322
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       138: .line 325
      StackMap locals: sun.security.pkcs11.wrapper.CK_INFO
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            istore 16 /* showInfo */
        start local 16 // boolean showInfo
       139: .line 326
            iload 16 /* showInfo */
            ifeq 143
       140: .line 327
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Information for provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       141: .line 328
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Library info:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       142: .line 329
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 15 /* p11Info */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
       143: .line 332
      StackMap locals: int
      StackMap stack:
            lload 5 /* slotID */
            lconst_0
            lcmp
            iflt 144
            iload 16 /* showInfo */
            ifeq 155
       144: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            iconst_0
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotList:(Z)[J
            astore 17 /* slots */
        start local 17 // long[] slots
       145: .line 334
            iload 16 /* showInfo */
            ifeq 149
       146: .line 335
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "All slots: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* slots */
            invokestatic sun.security.pkcs11.SunPKCS11.toString:([J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       147: .line 336
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            iconst_1
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotList:(Z)[J
            astore 17 /* slots */
       148: .line 337
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Slots with tokens: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* slots */
            invokestatic sun.security.pkcs11.SunPKCS11.toString:([J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       149: .line 339
      StackMap locals: long[]
      StackMap stack:
            lload 5 /* slotID */
            lconst_0
            lcmp
            ifge 155
       150: .line 340
            iload 7 /* slotListIndex */
            iflt 151
            iload 7 /* slotListIndex */
            aload 17 /* slots */
            arraylength
            if_icmplt 154
       151: .line 341
      StackMap locals:
      StackMap stack:
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "slotListIndex is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* slotListIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       152: .line 342
            ldc " but token only has "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* slots */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " slots"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       153: .line 341
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       154: .line 344
      StackMap locals:
      StackMap stack:
            aload 17 /* slots */
            iload 7 /* slotListIndex */
            laload
            lstore 5 /* slotID */
        end local 17 // long[] slots
       155: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 5 /* slotID */
            putfield sun.security.pkcs11.SunPKCS11.slotID:J
       156: .line 348
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            lload 5 /* slotID */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo:(J)Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            astore 17 /* slotInfo */
        start local 17 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
       157: .line 349
            aload 0 /* this */
            aload 17 /* slotInfo */
            getfield sun.security.pkcs11.wrapper.CK_SLOT_INFO.flags:J
            ldc 2
            land
            lconst_0
            lcmp
            ifeq 158
            iconst_1
            goto 159
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11 sun.security.pkcs11.wrapper.CK_INFO int sun.security.pkcs11.wrapper.CK_SLOT_INFO
      StackMap stack: sun.security.pkcs11.SunPKCS11
       158: iconst_0
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11 sun.security.pkcs11.wrapper.CK_INFO int sun.security.pkcs11.wrapper.CK_SLOT_INFO
      StackMap stack: sun.security.pkcs11.SunPKCS11 int
       159: putfield sun.security.pkcs11.SunPKCS11.removable:Z
       160: .line 350
            aload 0 /* this */
            aload 17 /* slotInfo */
            invokevirtual sun.security.pkcs11.SunPKCS11.initToken:(Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;)V
       161: .line 351
            aload 10 /* nssModule */
            ifnull 172
       162: .line 352
            aload 10 /* nssModule */
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.Secmod$Module.setProvider:(Lsun/security/pkcs11/SunPKCS11;)V
        end local 17 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
        end local 16 // boolean showInfo
        end local 15 // sun.security.pkcs11.wrapper.CK_INFO p11Info
        end local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
        end local 13 // java.lang.String nssArgs
        end local 12 // sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS initArgs
       163: .line 354
            goto 172
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File
      StackMap stack: java.lang.Exception
       164: astore 12 /* e */
        start local 12 // java.lang.Exception e
       165: .line 355
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getHandleStartupErrors:()I
            iconst_2
            if_icmpne 169
       166: .line 356
            new java.lang.UnsupportedOperationException
            dup
       167: .line 357
            ldc "Initialization failed"
            aload 12 /* e */
       168: .line 356
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       169: .line 359
      StackMap locals: java.lang.Exception
      StackMap stack:
            new java.security.ProviderException
            dup
       170: .line 360
            ldc "Initialization failed"
            aload 12 /* e */
       171: .line 359
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Exception e
       172: .line 363
      StackMap locals:
      StackMap stack:
            return
        end local 11 // java.io.File libraryFile
        end local 10 // sun.security.pkcs11.Secmod$Module nssModule
        end local 9 // boolean nssUseSecmodTrust
        end local 8 // boolean useSecmod
        end local 7 // int slotListIndex
        end local 5 // long slotID
        end local 4 // java.lang.String functionList
        end local 3 // java.lang.String library
        end local 2 // java.io.InputStream configStream
        end local 1 // java.lang.String configName
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  173     0                 this  Lsun/security/pkcs11/SunPKCS11;
            0  173     1           configName  Ljava/lang/String;
            0  173     2         configStream  Ljava/io/InputStream;
            8  173     3              library  Ljava/lang/String;
            9  173     4         functionList  Ljava/lang/String;
           10  173     5               slotID  J
           11  173     7        slotListIndex  I
           12  173     8            useSecmod  Z
           13  173     9    nssUseSecmodTrust  Z
           14  173    10            nssModule  Lsun/security/pkcs11/Secmod$Module;
           16  102    11               secmod  Lsun/security/pkcs11/Secmod;
           17  102    12            nssDbMode  Lsun/security/pkcs11/Secmod$DbMode;
           18   42    13  nssLibraryDirectory  Ljava/lang/String;
           19   42    14   nssSecmodDirectory  Ljava/lang/String;
           22   27    15                    s  Ljava/lang/String;
           29   34    15                    s  Ljava/lang/String;
           44   45    13                    e  Ljava/io/IOException;
           46  102    13              modules  Ljava/util/List<Lsun/security/pkcs11/Secmod$Module;>;
           49  102    14           moduleName  Ljava/lang/String;
           76   77    15          moduleIndex  I
           79   95    15          moduleIndex  I
           84   95    16                    k  I
           86   90    17               module  Lsun/security/pkcs11/Secmod$Module;
          105  173    11          libraryFile  Ljava/io/File;
          108  111    12                  msg  Ljava/lang/String;
          114  163    12             initArgs  Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;
          115  163    13              nssArgs  Ljava/lang/String;
          120  121    14            tmpPKCS11  Lsun/security/pkcs11/wrapper/PKCS11;
          132  163    14            tmpPKCS11  Lsun/security/pkcs11/wrapper/PKCS11;
          122  132    15                    e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
          134  163    15              p11Info  Lsun/security/pkcs11/wrapper/CK_INFO;
          139  163    16             showInfo  Z
          145  155    17                slots  [J
          157  163    17             slotInfo  Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
          165  172    12                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          17    42      43  Class java.io.IOException
          74    76      77  Class java.lang.NumberFormatException
         118   120     121  Class sun.security.pkcs11.wrapper.PKCS11Exception
         111   163     164  Class java.lang.Exception
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      configName    
      configStream  

  private static java.lang.String toString(long[]);
    descriptor: ([J)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long[] longs
         0: .line 366
            aload 0 /* longs */
            arraylength
            ifne 2
         1: .line 367
            ldc "(none)"
            areturn
         2: .line 369
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         3: .line 370
            aload 1 /* sb */
            aload 0 /* longs */
            iconst_0
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         4: .line 371
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         5: goto 9
         6: .line 372
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 373
            aload 1 /* sb */
            aload 0 /* longs */
            iload 2 /* i */
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         8: .line 371
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* longs */
            arraylength
            if_icmplt 6
        end local 2 // int i
        10: .line 375
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // long[] longs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  longs  [J
            3   11     1     sb  Ljava/lang/StringBuilder;
            5   10     2      i  I
    MethodParameters:
       Name  Flags
      longs  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.Object obj
         0: .line 379
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs11/SunPKCS11;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 383
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            ireturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;

  private static java.lang.String[] s(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] aliases
         0: .line 387
            aload 0 /* aliases */
            areturn
        end local 0 // java.lang.String[] aliases
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  aliases  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      aliases  

  private static int[] m(long);
    descriptor: (J)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long m1
         0: .line 420
            iconst_1
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            areturn
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
    MethodParameters:
      Name  Flags
      m1    

  private static int[] m(long, long);
    descriptor: (JJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // long m1
        start local 2 // long m2
         0: .line 424
            iconst_2
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            areturn
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
    MethodParameters:
      Name  Flags
      m1    
      m2    

  private static int[] m(long, long, long);
    descriptor: (JJJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // long m1
        start local 2 // long m2
        start local 4 // long m3
         0: .line 428
            iconst_3
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            dup
            iconst_2
            lload 4 /* m3 */
            l2i
            iastore
            areturn
        end local 4 // long m3
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
            0    1     4    m3  J
    MethodParameters:
      Name  Flags
      m1    
      m2    
      m3    

  private static int[] m(long, long, long, long);
    descriptor: (JJJJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // long m1
        start local 2 // long m2
        start local 4 // long m3
        start local 6 // long m4
         0: .line 432
            iconst_4
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            dup
            iconst_2
            lload 4 /* m3 */
            l2i
            iastore
            dup
            iconst_3
            lload 6 /* m4 */
            l2i
            iastore
            areturn
        end local 6 // long m4
        end local 4 // long m3
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
            0    1     4    m3  J
            0    1     6    m4  J
    MethodParameters:
      Name  Flags
      m1    
      m2    
      m3    
      m4    

  private static void d(java.lang.String, java.lang.String, java.lang.String, int[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.String type
        start local 1 // java.lang.String algorithm
        start local 2 // java.lang.String className
        start local 3 // int[] m
         0: .line 437
            new sun.security.pkcs11.SunPKCS11$Descriptor
            dup
            aload 0 /* type */
            aload 1 /* algorithm */
            aload 2 /* className */
            aconst_null
            aload 3 /* m */
            invokespecial sun.security.pkcs11.SunPKCS11$Descriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
            invokestatic sun.security.pkcs11.SunPKCS11.register:(Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
         1: .line 438
            return
        end local 3 // int[] m
        end local 2 // java.lang.String className
        end local 1 // java.lang.String algorithm
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       type  Ljava/lang/String;
            0    2     1  algorithm  Ljava/lang/String;
            0    2     2  className  Ljava/lang/String;
            0    2     3          m  [I
    MethodParameters:
           Name  Flags
      type       
      algorithm  
      className  
      m          

  private static void d(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], int[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.lang.String type
        start local 1 // java.lang.String algorithm
        start local 2 // java.lang.String className
        start local 3 // java.lang.String[] aliases
        start local 4 // int[] m
         0: .line 442
            new sun.security.pkcs11.SunPKCS11$Descriptor
            dup
            aload 0 /* type */
            aload 1 /* algorithm */
            aload 2 /* className */
            aload 3 /* aliases */
            aload 4 /* m */
            invokespecial sun.security.pkcs11.SunPKCS11$Descriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
            invokestatic sun.security.pkcs11.SunPKCS11.register:(Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
         1: .line 443
            return
        end local 4 // int[] m
        end local 3 // java.lang.String[] aliases
        end local 2 // java.lang.String className
        end local 1 // java.lang.String algorithm
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       type  Ljava/lang/String;
            0    2     1  algorithm  Ljava/lang/String;
            0    2     2  className  Ljava/lang/String;
            0    2     3    aliases  [Ljava/lang/String;
            0    2     4          m  [I
    MethodParameters:
           Name  Flags
      type       
      algorithm  
      className  
      aliases    
      m          

  private static void register(sun.security.pkcs11.SunPKCS11$Descriptor);
    descriptor: (Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11$Descriptor d
         0: .line 446
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 10
         2: .line 447
      StackMap locals: int
      StackMap stack:
            aload 0 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            iload 1 /* i */
            iaload
            istore 2 /* m */
        start local 2 // int m
         3: .line 448
            iload 2 /* m */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 3 /* key */
        start local 3 // java.lang.Integer key
         4: .line 449
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* list */
        start local 4 // java.util.List list
         5: .line 450
            aload 4 /* list */
            ifnonnull 8
         6: .line 451
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
         7: .line 452
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 3 /* key */
            aload 4 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 454
      StackMap locals: int java.lang.Integer java.util.List
      StackMap stack:
            aload 4 /* list */
            aload 0 /* d */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.util.List list
        end local 3 // java.lang.Integer key
        end local 2 // int m
         9: .line 446
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            aload 0 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            arraylength
            if_icmplt 2
        end local 1 // int i
        11: .line 456
            return
        end local 0 // sun.security.pkcs11.SunPKCS11$Descriptor d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0     d  Lsun/security/pkcs11/SunPKCS11$Descriptor;
            1   11     1     i  I
            3    9     2     m  I
            4    9     3   key  Ljava/lang/Integer;
            5    9     4  list  Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;
    MethodParameters:
      Name  Flags
      d     

  private void createPoller();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 746
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            ifnull 2
         1: .line 747
            return
         2: .line 749
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.SunPKCS11$TokenPoller
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$TokenPoller.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            astore 1 /* poller */
        start local 1 // sun.security.pkcs11.SunPKCS11$TokenPoller poller
         3: .line 750
            new java.lang.Thread
            dup
            aload 1 /* poller */
            new java.lang.StringBuilder
            dup
            ldc "Poller "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
            astore 2 /* t */
        start local 2 // java.lang.Thread t
         4: .line 751
            aload 2 /* t */
            iconst_1
            invokevirtual java.lang.Thread.setDaemon:(Z)V
         5: .line 752
            aload 2 /* t */
            iconst_1
            invokevirtual java.lang.Thread.setPriority:(I)V
         6: .line 753
            aload 2 /* t */
            invokevirtual java.lang.Thread.start:()V
         7: .line 754
            aload 0 /* this */
            aload 1 /* poller */
            putfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
         8: .line 755
            return
        end local 2 // java.lang.Thread t
        end local 1 // sun.security.pkcs11.SunPKCS11$TokenPoller poller
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/security/pkcs11/SunPKCS11;
            3    9     1  poller  Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            4    9     2       t  Ljava/lang/Thread;

  private void destroyPoller();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 759
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            ifnull 3
         1: .line 760
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            invokevirtual sun.security.pkcs11.SunPKCS11$TokenPoller.disable:()V
         2: .line 761
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
         3: .line 763
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/pkcs11/SunPKCS11;

  private boolean hasValidToken();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 773
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            astore 1 /* token */
        start local 1 // sun.security.pkcs11.Token token
         1: .line 774
            aload 1 /* token */
            ifnull 2
            aload 1 /* token */
            invokevirtual sun.security.pkcs11.Token.isValid:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: sun.security.pkcs11.Token
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/security/pkcs11/SunPKCS11;
            1    3     1  token  Lsun/security/pkcs11/Token;

  synchronized void uninitToken(sun.security.pkcs11.Token);
    descriptor: (Lsun/security/pkcs11/Token;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // sun.security.pkcs11.Token token
         0: .line 779
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 1 /* token */
            if_acmpeq 2
         1: .line 781
            return
         2: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.destroyPoller:()V
         3: .line 784
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
         4: .line 786
            new sun.security.pkcs11.SunPKCS11$1
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$1.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         5: .line 792
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.createPoller:()V
         6: .line 793
            return
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/security/pkcs11/SunPKCS11;
            0    7     1  token  Lsun/security/pkcs11/Token;
    MethodParameters:
       Name  Flags
      token  

  private void initToken(sun.security.pkcs11.wrapper.CK_SLOT_INFO);
    descriptor: (Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=19, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
         0: .line 799
            aload 1 /* slotInfo */
            ifnonnull 2
         1: .line 800
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo:(J)Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            astore 1 /* slotInfo */
         2: .line 802
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.removable:Z
            ifeq 5
            aload 1 /* slotInfo */
            getfield sun.security.pkcs11.wrapper.CK_SLOT_INFO.flags:J
            lconst_1
            land
            lconst_0
            lcmp
            ifne 5
         3: .line 803
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.createPoller:()V
         4: .line 804
            return
         5: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.destroyPoller:()V
         6: .line 807
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            istore 2 /* showInfo */
        start local 2 // boolean showInfo
         7: .line 808
            iload 2 /* showInfo */
            ifeq 10
         8: .line 809
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Slot info for slot "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual java.lang.StringBuilder.append:(J)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.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 810
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* slotInfo */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        10: .line 812
      StackMap locals: int
      StackMap stack:
            new sun.security.pkcs11.Token
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.Token.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            astore 3 /* token */
        start local 3 // sun.security.pkcs11.Token token
        11: .line 813
            iload 2 /* showInfo */
            ifeq 16
        12: .line 814
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        13: .line 815
            new java.lang.StringBuilder
            dup
            ldc "Token info for token in slot "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 814
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 816
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 3 /* token */
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        16: .line 818
      StackMap locals: sun.security.pkcs11.Token
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetMechanismList:(J)[J
            astore 4 /* supportedMechanisms */
        start local 4 // long[] supportedMechanisms
        17: .line 820
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        18: .line 819
            astore 5 /* supportedAlgs */
        start local 5 // java.util.Map supportedAlgs
        19: .line 821
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        20: goto 60
        21: .line 822
      StackMap locals: long[] java.util.Map int
      StackMap stack:
            aload 4 /* supportedMechanisms */
            iload 6 /* i */
            laload
            lstore 7 /* longMech */
        start local 7 // long longMech
        22: .line 823
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            lload 7 /* longMech */
            invokevirtual sun.security.pkcs11.Config.isEnabled:(J)Z
            istore 9 /* isEnabled */
        start local 9 // boolean isEnabled
        23: .line 824
            iload 2 /* showInfo */
            ifeq 32
        24: .line 826
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            lload 7 /* longMech */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetMechanismInfo:(JJ)Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
        25: .line 825
            astore 10 /* mechInfo */
        start local 10 // sun.security.pkcs11.wrapper.CK_MECHANISM_INFO mechInfo
        26: .line 827
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Mechanism "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 828
            lload 7 /* longMech */
            invokestatic sun.security.pkcs11.wrapper.Functions.getMechanismName:(J)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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 827
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        29: .line 829
            iload 9 /* isEnabled */
            ifne 31
        30: .line 830
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "DISABLED in configuration"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        31: .line 832
      StackMap locals: long int sun.security.pkcs11.wrapper.CK_MECHANISM_INFO
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 10 /* mechInfo */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 10 // sun.security.pkcs11.wrapper.CK_MECHANISM_INFO mechInfo
        32: .line 834
      StackMap locals:
      StackMap stack:
            iload 9 /* isEnabled */
            ifne 34
        33: .line 835
            goto 59
        34: .line 838
      StackMap locals:
      StackMap stack:
            lload 7 /* longMech */
            bipush 32
            lushr
            lconst_0
            lcmp
            ifeq 36
        35: .line 839
            goto 59
        36: .line 841
      StackMap locals:
      StackMap stack:
            lload 7 /* longMech */
            l2i
            istore 10 /* mech */
        start local 10 // int mech
        37: .line 842
            iload 10 /* mech */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 11 /* integerMech */
        start local 11 // java.lang.Integer integerMech
        38: .line 843
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 11 /* integerMech */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 12 /* ds */
        start local 12 // java.util.List ds
        39: .line 844
            aload 12 /* ds */
            ifnonnull 41
        40: .line 845
            goto 59
        41: .line 847
      StackMap locals: int java.lang.Integer java.util.List
      StackMap stack:
            aload 12 /* ds */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 58
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List top java.util.Iterator
      StackMap stack:
        42: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.SunPKCS11$Descriptor
            astore 13 /* d */
        start local 13 // sun.security.pkcs11.SunPKCS11$Descriptor d
        43: .line 848
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 15 /* oldMech */
        start local 15 // java.lang.Integer oldMech
        44: .line 849
            aload 15 /* oldMech */
            ifnonnull 47
        45: .line 850
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            aload 11 /* integerMech */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 851
            goto 58
        47: .line 853
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List sun.security.pkcs11.SunPKCS11$Descriptor java.util.Iterator java.lang.Integer
      StackMap stack:
            aload 15 /* oldMech */
            invokevirtual java.lang.Integer.intValue:()I
            istore 16 /* intOldMech */
        start local 16 // int intOldMech
        48: .line 854
            iconst_0
            istore 17 /* j */
        start local 17 // int j
        49: goto 57
        50: .line 855
      StackMap locals: int int
      StackMap stack:
            aload 13 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            iload 17 /* j */
            iaload
            istore 18 /* nextMech */
        start local 18 // int nextMech
        51: .line 856
            iload 10 /* mech */
            iload 18 /* nextMech */
            if_icmpne 54
        52: .line 857
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            aload 11 /* integerMech */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 858
            goto 58
        54: .line 859
      StackMap locals: int
      StackMap stack:
            iload 16 /* intOldMech */
            iload 18 /* nextMech */
            if_icmpne 56
        55: .line 860
            goto 58
        end local 18 // int nextMech
        56: .line 854
      StackMap locals:
      StackMap stack:
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
        57: iload 17 /* j */
            aload 13 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            arraylength
            if_icmplt 50
        end local 17 // int j
        end local 16 // int intOldMech
        end local 15 // java.lang.Integer oldMech
        end local 13 // sun.security.pkcs11.SunPKCS11$Descriptor d
        58: .line 847
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        end local 12 // java.util.List ds
        end local 11 // java.lang.Integer integerMech
        end local 10 // int mech
        end local 9 // boolean isEnabled
        end local 7 // long longMech
        59: .line 821
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 6 /* i */
            aload 4 /* supportedMechanisms */
            arraylength
            if_icmplt 21
        end local 6 // int i
        61: .line 868
            new sun.security.pkcs11.SunPKCS11$2
            dup
            aload 0 /* this */
            aload 5 /* supportedAlgs */
            aload 3 /* token */
            invokespecial sun.security.pkcs11.SunPKCS11$2.<init>:(Lsun/security/pkcs11/SunPKCS11;Ljava/util/Map;Lsun/security/pkcs11/Token;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        62: .line 898
            aload 0 /* this */
            aload 3 /* token */
            putfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
        63: .line 899
            return
        end local 5 // java.util.Map supportedAlgs
        end local 4 // long[] supportedMechanisms
        end local 3 // sun.security.pkcs11.Token token
        end local 2 // boolean showInfo
        end local 1 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   64     0                 this  Lsun/security/pkcs11/SunPKCS11;
            0   64     1             slotInfo  Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            7   64     2             showInfo  Z
           11   64     3                token  Lsun/security/pkcs11/Token;
           17   64     4  supportedMechanisms  [J
           19   64     5        supportedAlgs  Ljava/util/Map<Lsun/security/pkcs11/SunPKCS11$Descriptor;Ljava/lang/Integer;>;
           20   61     6                    i  I
           22   59     7             longMech  J
           23   59     9            isEnabled  Z
           26   32    10             mechInfo  Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
           37   59    10                 mech  I
           38   59    11          integerMech  Ljava/lang/Integer;
           39   59    12                   ds  Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;
           43   58    13                    d  Lsun/security/pkcs11/SunPKCS11$Descriptor;
           44   58    15              oldMech  Ljava/lang/Integer;
           48   58    16           intOldMech  I
           49   58    17                    j  I
           51   56    18             nextMech  I
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
          Name  Flags
      slotInfo  

  public void login(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.Subject subject
        start local 2 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1080
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 1081
            aload 3 /* sm */
            ifnull 7
         2: .line 1082
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1083
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "checking login permission"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 1085
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 3 /* sm */
            new java.security.SecurityPermission
            dup
         5: .line 1086
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         6: .line 1085
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         7: .line 1089
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.hasValidToken:()Z
            ifne 9
         8: .line 1090
            new javax.security.auth.login.LoginException
            dup
            ldc "No token present"
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1095
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 4
            land
            lconst_0
            lcmp
            ifne 13
        10: .line 1096
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 12
        11: .line 1097
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "login operation not required for token - ignoring login request"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1100
      StackMap locals:
      StackMap stack:
            return
        13: .line 1106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aconst_null
            invokevirtual sun.security.pkcs11.Token.isLoggedInNow:(Lsun/security/pkcs11/Session;)Z
            ifeq 18
        14: .line 1108
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 16
        15: .line 1109
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user already logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        16: .line 1111
      StackMap locals:
      StackMap stack:
            return
        17: .line 1113
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            pop
        18: .line 1119
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* pin */
        start local 4 // char[] pin
        19: .line 1120
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 256
            land
            lconst_0
            lcmp
            ifne 47
        20: .line 1124
            aload 0 /* this */
            aload 2 /* handler */
            invokevirtual sun.security.pkcs11.SunPKCS11.getCallbackHandler:(Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/callback/CallbackHandler;
            astore 5 /* myHandler */
        start local 5 // javax.security.auth.callback.CallbackHandler myHandler
        21: .line 1125
            aload 5 /* myHandler */
            ifnonnull 25
        22: .line 1127
            new javax.security.auth.login.LoginException
            dup
        23: .line 1128
            ldc "no password provided, and no callback handler available for retrieving password"
        24: .line 1127
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1132
      StackMap locals: char[] javax.security.auth.callback.CallbackHandler
      StackMap stack:
            new java.text.MessageFormat
            dup
        26: .line 1134
            ldc "PKCS11.Token.providerName.Password."
        27: .line 1133
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        28: .line 1132
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        29: .line 1135
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        30: .line 1137
            new javax.security.auth.callback.PasswordCallback
            dup
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        31: .line 1138
            iconst_0
        32: .line 1137
            invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
            astore 8 /* pcall */
        start local 8 // javax.security.auth.callback.PasswordCallback pcall
        33: .line 1139
            iconst_1
            anewarray javax.security.auth.callback.Callback
            dup
            iconst_0
            aload 8 /* pcall */
            aastore
            astore 9 /* callbacks */
        start local 9 // javax.security.auth.callback.Callback[] callbacks
        34: .line 1141
            aload 5 /* myHandler */
            aload 9 /* callbacks */
            invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
        35: .line 1142
            goto 42
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] javax.security.auth.callback.CallbackHandler java.text.MessageFormat java.lang.Object[] javax.security.auth.callback.PasswordCallback javax.security.auth.callback.Callback[]
      StackMap stack: java.lang.Exception
        36: astore 10 /* e */
        start local 10 // java.lang.Exception e
        37: .line 1143
            new javax.security.auth.login.LoginException
            dup
        38: .line 1144
            ldc "Unable to perform password callback"
        39: .line 1143
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            astore 11 /* le */
        start local 11 // javax.security.auth.login.LoginException le
        40: .line 1145
            aload 11 /* le */
            aload 10 /* e */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        41: .line 1146
            aload 11 /* le */
            athrow
        end local 11 // javax.security.auth.login.LoginException le
        end local 10 // java.lang.Exception e
        42: .line 1149
      StackMap locals:
      StackMap stack:
            aload 8 /* pcall */
            invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
            astore 4 /* pin */
        43: .line 1150
            aload 8 /* pcall */
            invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
        44: .line 1151
            aload 4 /* pin */
            ifnonnull 47
        45: .line 1152
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 47
        46: .line 1153
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "caller passed NULL pin"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // javax.security.auth.callback.Callback[] callbacks
        end local 8 // javax.security.auth.callback.PasswordCallback pcall
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        end local 5 // javax.security.auth.callback.CallbackHandler myHandler
        47: .line 1160
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[]
      StackMap stack:
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
        48: .line 1162
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 5 /* session */
        49: .line 1165
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lconst_1
            aload 4 /* pin */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Login:(JJ[C)V
        50: .line 1166
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 73
        51: .line 1167
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "login succeeded"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        52: .line 1169
            goto 73
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        53: astore 6 /* pe */
        start local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        54: .line 1170
            aload 6 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 256
            lcmp
            ifne 61
        55: .line 1172
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 57
        56: .line 1173
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user already logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        57: .line 1186
      StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        58: .line 1187
            aload 4 /* pin */
            ifnull 60
        59: .line 1188
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        60: .line 1175
      StackMap locals:
      StackMap stack:
            return
        61: .line 1176
      StackMap locals:
      StackMap stack:
            aload 6 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 160
            lcmp
            ifne 65
        62: .line 1177
            new javax.security.auth.login.FailedLoginException
            dup
            invokespecial javax.security.auth.login.FailedLoginException.<init>:()V
            astore 7 /* fle */
        start local 7 // javax.security.auth.login.FailedLoginException fle
        63: .line 1178
            aload 7 /* fle */
            aload 6 /* pe */
            invokevirtual javax.security.auth.login.FailedLoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        64: .line 1179
            aload 7 /* fle */
            athrow
        end local 7 // javax.security.auth.login.FailedLoginException fle
        65: .line 1181
      StackMap locals:
      StackMap stack:
            new javax.security.auth.login.LoginException
            dup
            invokespecial javax.security.auth.login.LoginException.<init>:()V
            astore 7 /* le */
        start local 7 // javax.security.auth.login.LoginException le
        66: .line 1182
            aload 7 /* le */
            aload 6 /* pe */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        67: .line 1183
            aload 7 /* le */
            athrow
        end local 7 // javax.security.auth.login.LoginException le
        end local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        68: .line 1185
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 8
        69: .line 1186
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        70: .line 1187
            aload 4 /* pin */
            ifnull 72
        71: .line 1188
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        72: .line 1190
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session top top java.lang.Throwable
      StackMap stack:
            aload 8
            athrow
        73: .line 1186
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        74: .line 1187
            aload 4 /* pin */
            ifnull 76
        75: .line 1188
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        76: .line 1193
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.pkcs11.Session session
        end local 4 // char[] pin
        end local 3 // java.lang.SecurityManager sm
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        end local 1 // javax.security.auth.Subject subject
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   77     0       this  Lsun/security/pkcs11/SunPKCS11;
            0   77     1    subject  Ljavax/security/auth/Subject;
            0   77     2    handler  Ljavax/security/auth/callback/CallbackHandler;
            1   77     3         sm  Ljava/lang/SecurityManager;
           19   77     4        pin  [C
           21   47     5  myHandler  Ljavax/security/auth/callback/CallbackHandler;
           29   47     6       form  Ljava/text/MessageFormat;
           30   47     7     source  [Ljava/lang/Object;
           33   47     8      pcall  Ljavax/security/auth/callback/PasswordCallback;
           34   47     9  callbacks  [Ljavax/security/auth/callback/Callback;
           37   42    10          e  Ljava/lang/Exception;
           40   42    11         le  Ljavax/security/auth/login/LoginException;
           48   77     5    session  Lsun/security/pkcs11/Session;
           54   68     6         pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           63   65     7        fle  Ljavax/security/auth/login/FailedLoginException;
           66   68     7         le  Ljavax/security/auth/login/LoginException;
      Exception table:
        from    to  target  type
          13    16      17  Class sun.security.pkcs11.wrapper.PKCS11Exception
          34    35      36  Class java.lang.Exception
          48    52      53  Class sun.security.pkcs11.wrapper.PKCS11Exception
          48    57      68  any
          61    68      68  any
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
         Name  Flags
      subject  
      handler  

  public void logout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 1208
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1209
            aload 1 /* sm */
            ifnull 5
         2: .line 1210
            aload 1 /* sm */
         3: .line 1211
            new java.security.SecurityPermission
            dup
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         4: .line 1210
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 1214
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.hasValidToken:()Z
            ifne 7
         6: .line 1216
            return
         7: .line 1219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 4
            land
            lconst_0
            lcmp
            ifne 11
         8: .line 1220
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1221
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "logout operation not required for token - ignoring logout request"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1224
      StackMap locals:
      StackMap stack:
            return
        11: .line 1228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aconst_null
            invokevirtual sun.security.pkcs11.Token.isLoggedInNow:(Lsun/security/pkcs11/Session;)Z
            ifne 16
        12: .line 1229
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 14
        13: .line 1230
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user not logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 1232
      StackMap locals:
      StackMap stack:
            return
        15: .line 1234
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            pop
        16: .line 1240
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
        17: .line 1242
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
        18: .line 1243
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Logout:(J)V
        19: .line 1244
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 34
        20: .line 1245
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "logout succeeded"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        21: .line 1247
            goto 34
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.SecurityManager sun.security.pkcs11.Session
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        22: astore 3 /* pe */
        start local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        23: .line 1248
            aload 3 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 257
            lcmp
            ifne 28
        24: .line 1250
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 26
        25: .line 1251
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user not logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 1259
      StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        27: .line 1253
            return
        28: .line 1255
      StackMap locals:
      StackMap stack:
            new javax.security.auth.login.LoginException
            dup
            invokespecial javax.security.auth.login.LoginException.<init>:()V
            astore 4 /* le */
        start local 4 // javax.security.auth.login.LoginException le
        29: .line 1256
            aload 4 /* le */
            aload 3 /* pe */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        30: .line 1257
            aload 4 /* le */
            athrow
        end local 4 // javax.security.auth.login.LoginException le
        end local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        31: .line 1258
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.SecurityManager sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 5
        32: .line 1259
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        33: .line 1260
            aload 5
            athrow
        34: .line 1259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        35: .line 1261
            return
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // java.lang.SecurityManager sm
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0     this  Lsun/security/pkcs11/SunPKCS11;
            1   36     1       sm  Ljava/lang/SecurityManager;
           17   36     2  session  Lsun/security/pkcs11/Session;
           23   31     3       pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           29   31     4       le  Ljavax/security/auth/login/LoginException;
      Exception table:
        from    to  target  type
          11    14      15  Class sun.security.pkcs11.wrapper.PKCS11Exception
          17    21      22  Class sun.security.pkcs11.wrapper.PKCS11Exception
          17    26      31  any
          28    31      31  any
    Exceptions:
      throws javax.security.auth.login.LoginException

  public void setCallbackHandler(javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1290
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1291
            aload 2 /* sm */
            ifnull 5
         2: .line 1292
            aload 2 /* sm */
         3: .line 1293
            new java.security.SecurityPermission
            dup
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         4: .line 1292
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 1296
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         6: .line 1297
            aload 0 /* this */
            aload 1 /* handler */
            putfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
         7: .line 1296
            aload 3
            monitorexit
         8: goto 11
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.callback.CallbackHandler java.lang.SecurityManager java.lang.Object
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 1299
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/security/pkcs11/SunPKCS11;
            0   12     1  handler  Ljavax/security/auth/callback/CallbackHandler;
            1   12     2       sm  Ljava/lang/SecurityManager;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      handler  

  private javax.security.auth.callback.CallbackHandler getCallbackHandler(javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1305
            aload 1 /* handler */
            ifnull 2
         1: .line 1306
            aload 1 /* handler */
            areturn
         2: .line 1309
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1310
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "getting provider callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 1313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         5: .line 1315
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
            ifnull 8
         6: .line 1316
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
            aload 2
            monitorexit
         7: areturn
         8: .line 1320
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1321
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "getting default callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1325
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.SunPKCS11$3
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$3.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
        11: .line 1324
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.security.auth.callback.CallbackHandler
            astore 3 /* myHandler */
        start local 3 // javax.security.auth.callback.CallbackHandler myHandler
        12: .line 1351
            aload 0 /* this */
            aload 3 /* myHandler */
            putfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
        13: .line 1352
            aload 3 /* myHandler */
        14: aload 2
            monitorexit
        15: areturn
        end local 3 // javax.security.auth.callback.CallbackHandler myHandler
        16: .line 1354
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 3 /* pae */
        start local 3 // java.security.PrivilegedActionException pae
        17: .line 1356
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 20
        18: .line 1357
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "Unable to load default callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 1358
            aload 3 /* pae */
            invokevirtual java.security.PrivilegedActionException.printStackTrace:()V
        end local 3 // java.security.PrivilegedActionException pae
        20: .line 1313
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        21: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: aload 2
            monitorexit
        23: athrow
        24: .line 1362
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lsun/security/pkcs11/SunPKCS11;
            0   25     1    handler  Ljavax/security/auth/callback/CallbackHandler;
           12   16     3  myHandler  Ljavax/security/auth/callback/CallbackHandler;
           17   20     3        pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           8    14      16  Class java.security.PrivilegedActionException
           5     7      22  any
           8    15      22  any
          16    21      22  any
          22    23      22  any
    MethodParameters:
         Name  Flags
      handler  

  private java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 1366
            new sun.security.pkcs11.SunPKCS11$SunPKCS11Rep
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$SunPKCS11Rep.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            areturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;
    Exceptions:
      throws java.io.ObjectStreamException

  static void access$0(sun.security.pkcs11.SunPKCS11, java.security.Provider$Service);
    descriptor: (Lsun/security/pkcs11/SunPKCS11;Ljava/security/Provider$Service;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual sun.security.pkcs11.SunPKCS11.putService:(Ljava/security/Provider$Service;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SunPKCS11.java"
NestMembers:
  sun.security.pkcs11.SunPKCS11$1  sun.security.pkcs11.SunPKCS11$2  sun.security.pkcs11.SunPKCS11$3  sun.security.pkcs11.SunPKCS11$Descriptor  sun.security.pkcs11.SunPKCS11$P11Service  sun.security.pkcs11.SunPKCS11$SunPKCS11Rep  sun.security.pkcs11.SunPKCS11$TokenPoller
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  public final DbMode = sun.security.pkcs11.Secmod$DbMode of sun.security.pkcs11.Secmod
  public final Module = sun.security.pkcs11.Secmod$Module of sun.security.pkcs11.Secmod
  public final ModuleType = sun.security.pkcs11.Secmod$ModuleType of sun.security.pkcs11.Secmod
  sun.security.pkcs11.SunPKCS11$1
  sun.security.pkcs11.SunPKCS11$2
  sun.security.pkcs11.SunPKCS11$3
  private final Descriptor = sun.security.pkcs11.SunPKCS11$Descriptor of sun.security.pkcs11.SunPKCS11
  private final P11Service = sun.security.pkcs11.SunPKCS11$P11Service of sun.security.pkcs11.SunPKCS11
  private SunPKCS11Rep = sun.security.pkcs11.SunPKCS11$SunPKCS11Rep of sun.security.pkcs11.SunPKCS11
  private TokenPoller = sun.security.pkcs11.SunPKCS11$TokenPoller of sun.security.pkcs11.SunPKCS11