final class sun.security.ssl.ServerHello$T12ServerHelloConsumer implements sun.security.ssl.HandshakeConsumer
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.ServerHello$T12ServerHelloConsumer
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
         0: .line 983
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 985
            return
        end local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/ServerHello$T12ServerHelloConsumer;

  public void consume(sun.security.ssl.ConnectionContext, sun.security.ssl.SSLHandshake$HandshakeMessage);
    descriptor: (Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
        start local 1 // sun.security.ssl.ConnectionContext context
        start local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
         0: .line 991
            aload 1 /* context */
            checkcast sun.security.ssl.ClientHandshakeContext
            astore 3 /* chc */
        start local 3 // sun.security.ssl.ClientHandshakeContext chc
         1: .line 992
            aload 2 /* message */
            checkcast sun.security.ssl.ServerHello$ServerHelloMessage
            astore 4 /* serverHello */
        start local 4 // sun.security.ssl.ServerHello$ServerHelloMessage serverHello
         2: .line 993
            aload 3 /* chc */
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.serverVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ClientHandshakeContext.isNegotiable:(Lsun/security/ssl/ProtocolVersion;)Z
            ifne 9
         3: .line 994
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
         4: .line 995
            new java.lang.StringBuilder
            dup
            ldc "Server chose "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.serverVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 996
            ldc ", but that protocol version is not enabled or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 997
            ldc "not supported by the client."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 995
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 994
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
         9: .line 1001
      StackMap locals: sun.security.ssl.ClientHandshakeContext sun.security.ssl.ServerHello$ServerHelloMessage
      StackMap stack:
            aload 3 /* chc */
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.cipherSuite:Lsun/security/ssl/CipherSuite;
            putfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
        10: .line 1002
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
        11: .line 1003
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
        12: .line 1002
            invokevirtual sun.security.ssl.HandshakeHash.determine:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;)V
        13: .line 1004
            aload 3 /* chc */
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.serverRandom:Lsun/security/ssl/RandomCookie;
            putfield sun.security.ssl.ClientHandshakeContext.serverHelloRandom:Lsun/security/ssl/RandomCookie;
        14: .line 1005
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            ifnonnull 20
        15: .line 1006
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
        16: .line 1007
            new java.lang.StringBuilder
            dup
            ldc "TLS 1.2 or prior version does not support the server cipher suite: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1008
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 1007
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 1006
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        20: .line 1016
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.ssl.SSLExtension
            dup
            iconst_0
        21: .line 1017
            getstatic sun.security.ssl.SSLExtension.SH_RENEGOTIATION_INFO:Lsun/security/ssl/SSLExtension;
            aastore
        22: .line 1016
            astore 5 /* extTypes */
        start local 5 // sun.security.ssl.SSLExtension[] extTypes
        23: .line 1019
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
            aload 3 /* chc */
            aload 5 /* extTypes */
            invokevirtual sun.security.ssl.SSLExtensions.consumeOnLoad:(Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
        24: .line 1022
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            ifnull 78
        25: .line 1024
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.sessionId:Lsun/security/ssl/SessionId;
        26: .line 1025
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
        27: .line 1024
            invokevirtual sun.security.ssl.SessionId.equals:(Ljava/lang/Object;)Z
        28: .line 1025
            ifeq 70
        29: .line 1030
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
            astore 6 /* sessionSuite */
        start local 6 // sun.security.ssl.CipherSuite sessionSuite
        30: .line 1031
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            aload 6 /* sessionSuite */
            if_acmpeq 34
        31: .line 1032
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
        32: .line 1033
            ldc "Server returned wrong cipher suite for session"
        33: .line 1032
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        34: .line 1038
      StackMap locals: sun.security.ssl.SSLExtension[] sun.security.ssl.CipherSuite
      StackMap stack:
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getProtocolVersion:()Lsun/security/ssl/ProtocolVersion;
        35: .line 1037
            astore 7 /* sessionVersion */
        start local 7 // sun.security.ssl.ProtocolVersion sessionVersion
        36: .line 1039
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 7 /* sessionVersion */
            if_acmpeq 40
        37: .line 1040
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
        38: .line 1041
            ldc "Server resumed with wrong protocol version"
        39: .line 1040
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        40: .line 1045
      StackMap locals: sun.security.ssl.ProtocolVersion
      StackMap stack:
            aload 6 /* sessionSuite */
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 42
        41: .line 1046
            aload 6 /* sessionSuite */
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 66
        42: .line 1047
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getLocalPrincipal:()Ljava/security/Principal;
            astore 8 /* localPrincipal */
        start local 8 // java.security.Principal localPrincipal
        43: .line 1049
            aconst_null
            astore 9 /* subject */
        start local 9 // javax.security.auth.Subject subject
        44: .line 1052
            new sun.security.ssl.ServerHello$T12ServerHelloConsumer$1
            dup
            aload 0 /* this */
            aload 3 /* chc */
            invokespecial sun.security.ssl.ServerHello$T12ServerHelloConsumer$1.<init>:(Lsun/security/ssl/ServerHello$T12ServerHelloConsumer;Lsun/security/ssl/ClientHandshakeContext;)V
        45: .line 1051
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.security.auth.Subject
            astore 9 /* subject */
        46: .line 1058
            goto 52
      StackMap locals: sun.security.ssl.ServerHello$T12ServerHelloConsumer sun.security.ssl.ConnectionContext sun.security.ssl.SSLHandshake$HandshakeMessage sun.security.ssl.ClientHandshakeContext sun.security.ssl.ServerHello$ServerHelloMessage sun.security.ssl.SSLExtension[] sun.security.ssl.CipherSuite sun.security.ssl.ProtocolVersion java.security.Principal javax.security.auth.Subject
      StackMap stack: java.security.PrivilegedActionException
        47: pop
        48: .line 1059
            aconst_null
            astore 9 /* subject */
        49: .line 1060
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 52
        50: .line 1061
            ldc "ssl,handshake,verbose"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 52
        51: .line 1062
            ldc "Attempt to obtain subject failed!"
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        52: .line 1067
      StackMap locals:
      StackMap stack:
            aload 9 /* subject */
            ifnull 61
        53: .line 1070
            aload 9 /* subject */
            ldc Ljava/security/Principal;
            invokevirtual javax.security.auth.Subject.getPrincipals:(Ljava/lang/Class;)Ljava/util/Set;
        54: .line 1069
            astore 10 /* principals */
        start local 10 // java.util.Set principals
        55: .line 1071
            aload 10 /* principals */
            aload 8 /* localPrincipal */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 57
        56: .line 1072
            new javax.net.ssl.SSLProtocolException
            dup
            ldc "Server resumed session with wrong subject identity"
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        57: .line 1075
      StackMap locals: java.util.Set
      StackMap stack:
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 66
        58: .line 1076
            ldc "ssl,handshake,verbose"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 66
        59: .line 1077
            ldc "Subject identity is same"
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 10 // java.util.Set principals
        60: .line 1079
            goto 66
        61: .line 1080
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 63
            ldc "ssl,handshake,verbose"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 63
        62: .line 1081
            ldc "Kerberos credentials are not present in the current Subject; check if javax.security.auth.useSubjectCredsOnly system property has been set to false"
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        63: .line 1085
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
        64: .line 1086
            ldc "Server resumed session with no subject"
        65: .line 1085
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // javax.security.auth.Subject subject
        end local 8 // java.security.Principal localPrincipal
        66: .line 1091
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            iconst_1
            putfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
        67: .line 1092
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            iconst_1
            invokevirtual sun.security.ssl.SSLSessionImpl.setAsSessionResumption:(Z)V
        68: .line 1093
            aload 3 /* chc */
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            putfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
        end local 7 // sun.security.ssl.ProtocolVersion sessionVersion
        end local 6 // sun.security.ssl.CipherSuite sessionSuite
        69: .line 1094
            goto 78
        70: .line 1099
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            ifnull 73
        71: .line 1100
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
        72: .line 1101
            aload 3 /* chc */
            aconst_null
            putfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
        73: .line 1103
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            iconst_0
            putfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
        74: .line 1104
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
            ifne 78
        75: .line 1105
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
        76: .line 1106
            ldc "New session creation is disabled"
        77: .line 1105
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        78: .line 1112
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
        79: .line 1113
            getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO:Lsun/security/ssl/SSLHandshake;
        80: .line 1112
            invokevirtual sun.security.ssl.SSLConfiguration.getEnabledExtensions:(Lsun/security/ssl/SSLHandshake;)[Lsun/security/ssl/SSLExtension;
            astore 5 /* extTypes */
        81: .line 1114
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
            aload 3 /* chc */
            aload 5 /* extTypes */
            invokevirtual sun.security.ssl.SSLExtensions.consumeOnLoad:(Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
        82: .line 1116
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
            ifne 97
        83: .line 1117
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            ifnull 86
        84: .line 1119
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
        85: .line 1120
            aload 3 /* chc */
            aconst_null
            putfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
        86: .line 1123
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
            ifne 90
        87: .line 1124
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
        88: .line 1125
            ldc "New session creation is disabled"
        89: .line 1124
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        90: .line 1127
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            new sun.security.ssl.SSLSessionImpl
            dup
            aload 3 /* chc */
        91: .line 1128
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
        92: .line 1129
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.sessionId:Lsun/security/ssl/SessionId;
            invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/HandshakeContext;Lsun/security/ssl/CipherSuite;Lsun/security/ssl/SessionId;)V
        93: .line 1127
            putfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
        94: .line 1130
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
        95: .line 1131
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.maximumPacketSize:I
        96: .line 1130
            invokevirtual sun.security.ssl.SSLSessionImpl.setMaximumPacketSize:(I)V
        97: .line 1137
      StackMap locals:
      StackMap stack:
            aload 4 /* serverHello */
            getfield sun.security.ssl.ServerHello$ServerHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
            aload 3 /* chc */
            aload 5 /* extTypes */
            invokevirtual sun.security.ssl.SSLExtensions.consumeOnTrade:(Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
        98: .line 1140
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
            ifeq 119
        99: .line 1142
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokestatic sun.security.ssl.SSLTrafficKeyDerivation.valueOf:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/SSLTrafficKeyDerivation;
       100: .line 1141
            astore 6 /* kdg */
        start local 6 // sun.security.ssl.SSLTrafficKeyDerivation kdg
       101: .line 1143
            aload 6 /* kdg */
            ifnonnull 107
       102: .line 1145
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
       103: .line 1146
            new java.lang.StringBuilder
            dup
            ldc "Not supported key derivation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       104: .line 1147
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       105: .line 1146
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       106: .line 1145
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
       107: .line 1149
      StackMap locals: sun.security.ssl.SSLTrafficKeyDerivation
      StackMap stack:
            aload 3 /* chc */
            aload 6 /* kdg */
       108: .line 1150
            aload 3 /* chc */
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
       109: .line 1149
            invokevirtual sun.security.ssl.SSLTrafficKeyDerivation.createKeyDerivation:(Lsun/security/ssl/HandshakeContext;Ljavax/crypto/SecretKey;)Lsun/security/ssl/SSLKeyDerivation;
            putfield sun.security.ssl.ClientHandshakeContext.handshakeKeyDerivation:Lsun/security/ssl/SSLKeyDerivation;
       110: .line 1153
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.consumers:Ljava/util/Map;
       111: .line 1154
            getstatic sun.security.ssl.ContentType.CHANGE_CIPHER_SPEC:Lsun/security/ssl/ContentType;
            getfield sun.security.ssl.ContentType.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
       112: .line 1155
            getstatic sun.security.ssl.ChangeCipherSpec.t10Consumer:Lsun/security/ssl/SSLConsumer;
       113: .line 1153
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       114: .line 1156
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
       115: .line 1157
            getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
       116: .line 1158
            getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
       117: .line 1156
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // sun.security.ssl.SSLTrafficKeyDerivation kdg
       118: .line 1159
            goto 132
       119: .line 1161
      StackMap locals:
      StackMap stack:
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
       120: .line 1162
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
       121: .line 1160
            invokestatic sun.security.ssl.SSLKeyExchange.valueOf:(Lsun/security/ssl/CipherSuite$KeyExchange;Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/SSLKeyExchange;
            astore 6 /* ke */
        start local 6 // sun.security.ssl.SSLKeyExchange ke
       122: .line 1163
            aload 3 /* chc */
            aload 6 /* ke */
            putfield sun.security.ssl.ClientHandshakeContext.handshakeKeyExchange:Lsun/security/ssl/SSLKeyExchange;
       123: .line 1164
            aload 6 /* ke */
            ifnull 129
       124: .line 1166
            aload 6 /* ke */
            aload 3 /* chc */
            invokevirtual sun.security.ssl.SSLKeyExchange.getRelatedHandshakers:(Lsun/security/ssl/HandshakeContext;)[Lsun/security/ssl/SSLHandshake;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 128
      StackMap locals: sun.security.ssl.ServerHello$T12ServerHelloConsumer sun.security.ssl.ConnectionContext sun.security.ssl.SSLHandshake$HandshakeMessage sun.security.ssl.ClientHandshakeContext sun.security.ssl.ServerHello$ServerHelloMessage sun.security.ssl.SSLExtension[] sun.security.ssl.SSLKeyExchange top int int sun.security.ssl.SSLHandshake[]
      StackMap stack:
       125: aload 10
            iload 8
            aaload
            astore 7 /* handshake */
        start local 7 // sun.security.ssl.SSLHandshake handshake
       126: .line 1167
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
            aload 7 /* handshake */
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aload 7 /* handshake */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // sun.security.ssl.SSLHandshake handshake
       127: .line 1165
            iinc 8 1
      StackMap locals:
      StackMap stack:
       128: iload 8
            iload 9
            if_icmplt 125
       129: .line 1171
      StackMap locals: sun.security.ssl.ServerHello$T12ServerHelloConsumer sun.security.ssl.ConnectionContext sun.security.ssl.SSLHandshake$HandshakeMessage sun.security.ssl.ClientHandshakeContext sun.security.ssl.ServerHello$ServerHelloMessage sun.security.ssl.SSLExtension[] sun.security.ssl.SSLKeyExchange
      StackMap stack:
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
            getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO_DONE:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
       130: .line 1172
            getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO_DONE:Lsun/security/ssl/SSLHandshake;
       131: .line 1171
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // sun.security.ssl.SSLKeyExchange ke
       132: .line 1179
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.ssl.SSLExtension[] extTypes
        end local 4 // sun.security.ssl.ServerHello$ServerHelloMessage serverHello
        end local 3 // sun.security.ssl.ClientHandshakeContext chc
        end local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
        end local 1 // sun.security.ssl.ConnectionContext context
        end local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  133     0            this  Lsun/security/ssl/ServerHello$T12ServerHelloConsumer;
            0  133     1         context  Lsun/security/ssl/ConnectionContext;
            0  133     2         message  Lsun/security/ssl/SSLHandshake$HandshakeMessage;
            1  133     3             chc  Lsun/security/ssl/ClientHandshakeContext;
            2  133     4     serverHello  Lsun/security/ssl/ServerHello$ServerHelloMessage;
           23  133     5        extTypes  [Lsun/security/ssl/SSLExtension;
           30   69     6    sessionSuite  Lsun/security/ssl/CipherSuite;
           36   69     7  sessionVersion  Lsun/security/ssl/ProtocolVersion;
           43   66     8  localPrincipal  Ljava/security/Principal;
           44   66     9         subject  Ljavax/security/auth/Subject;
           55   60    10      principals  Ljava/util/Set<Ljava/security/Principal;>;
          101  118     6             kdg  Lsun/security/ssl/SSLTrafficKeyDerivation;
          122  132     6              ke  Lsun/security/ssl/SSLKeyExchange;
          126  127     7       handshake  Lsun/security/ssl/SSLHandshake;
      Exception table:
        from    to  target  type
          44    46      47  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      message  
}
SourceFile: "ServerHello.java"
NestHost: sun.security.ssl.ServerHello
InnerClasses:
  final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite
  abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake
  final ServerHelloMessage = sun.security.ssl.ServerHello$ServerHelloMessage of sun.security.ssl.ServerHello
  private final T12ServerHelloConsumer = sun.security.ssl.ServerHello$T12ServerHelloConsumer of sun.security.ssl.ServerHello
  sun.security.ssl.ServerHello$T12ServerHelloConsumer$1