public abstract class ch.qos.logback.core.net.SMTPAppenderBase<E> extends ch.qos.logback.core.AppenderBase<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: ch.qos.logback.core.net.SMTPAppenderBase
  super_class: ch.qos.logback.core.AppenderBase
{
  static javax.mail.internet.InternetAddress[] EMPTY_IA_ARRAY;
    descriptor: [Ljavax/mail/internet/InternetAddress;
    flags: (0x0008) ACC_STATIC

  static final long MAX_DELAY_BETWEEN_STATUS_MESSAGES;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1228800000

  long lastTrackerStatusPrint;
    descriptor: J
    flags: (0x0000) 

  long delayBetweenStatusMessages;
    descriptor: J
    flags: (0x0000) 

  protected ch.qos.logback.core.Layout<E> subjectLayout;
    descriptor: Lch/qos/logback/core/Layout;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lch/qos/logback/core/Layout<TE;>;

  protected ch.qos.logback.core.Layout<E> layout;
    descriptor: Lch/qos/logback/core/Layout;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lch/qos/logback/core/Layout<TE;>;

  private java.util.List<ch.qos.logback.core.pattern.PatternLayoutBase<E>> toPatternLayoutList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lch/qos/logback/core/pattern/PatternLayoutBase<TE;>;>;

  private java.lang.String from;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String subjectStr;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String smtpHost;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int smtpPort;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private java.lang.String jndiLocation;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  java.lang.String username;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String password;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String localhost;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  boolean asynchronousSending;
    descriptor: Z
    flags: (0x0000) 

  private java.lang.String charsetEncoding;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  protected javax.mail.Session session;
    descriptor: Ljavax/mail/Session;
    flags: (0x0004) ACC_PROTECTED

  protected ch.qos.logback.core.boolex.EventEvaluator<E> eventEvaluator;
    descriptor: Lch/qos/logback/core/boolex/EventEvaluator;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lch/qos/logback/core/boolex/EventEvaluator<TE;>;

  protected ch.qos.logback.core.sift.Discriminator<E> discriminator;
    descriptor: Lch/qos/logback/core/sift/Discriminator;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lch/qos/logback/core/sift/Discriminator<TE;>;

  protected ch.qos.logback.core.spi.CyclicBufferTracker<E> cbTracker;
    descriptor: Lch/qos/logback/core/spi/CyclicBufferTracker;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lch/qos/logback/core/spi/CyclicBufferTracker<TE;>;

  private int errorCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 63
            iconst_0
            anewarray javax.mail.internet.InternetAddress
            putstatic ch.qos.logback.core.net.SMTPAppenderBase.EMPTY_IA_ARRAY:[Ljavax/mail/internet/InternetAddress;
         1: .line 65
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 61
            aload 0 /* this */
            invokespecial ch.qos.logback.core.AppenderBase.<init>:()V
         1: .line 67
            aload 0 /* this */
            lconst_0
            putfield ch.qos.logback.core.net.SMTPAppenderBase.lastTrackerStatusPrint:J
         2: .line 68
            aload 0 /* this */
            ldc 300000
            putfield ch.qos.logback.core.net.SMTPAppenderBase.delayBetweenStatusMessages:J
         3: .line 73
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield ch.qos.logback.core.net.SMTPAppenderBase.toPatternLayoutList:Ljava/util/List;
         4: .line 75
            aload 0 /* this */
            aconst_null
            putfield ch.qos.logback.core.net.SMTPAppenderBase.subjectStr:Ljava/lang/String;
         5: .line 77
            aload 0 /* this */
            bipush 25
            putfield ch.qos.logback.core.net.SMTPAppenderBase.smtpPort:I
         6: .line 78
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.net.SMTPAppenderBase.starttls:Z
         7: .line 79
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.net.SMTPAppenderBase.ssl:Z
         8: .line 80
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.net.SMTPAppenderBase.sessionViaJNDI:Z
         9: .line 81
            aload 0 /* this */
            ldc "java:comp/env/mail/Session"
            putfield ch.qos.logback.core.net.SMTPAppenderBase.jndiLocation:Ljava/lang/String;
        10: .line 87
            aload 0 /* this */
            iconst_1
            putfield ch.qos.logback.core.net.SMTPAppenderBase.asynchronousSending:Z
        11: .line 89
            aload 0 /* this */
            ldc "UTF-8"
            putfield ch.qos.logback.core.net.SMTPAppenderBase.charsetEncoding:Ljava/lang/String;
        12: .line 95
            aload 0 /* this */
            new ch.qos.logback.core.sift.DefaultDiscriminator
            dup
            invokespecial ch.qos.logback.core.sift.DefaultDiscriminator.<init>:()V
            putfield ch.qos.logback.core.net.SMTPAppenderBase.discriminator:Lch/qos/logback/core/sift/Discriminator;
        13: .line 98
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.net.SMTPAppenderBase.errorCount:I
        14: .line 61
            return
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  protected abstract ch.qos.logback.core.Layout<E> makeSubjectLayout(java.lang.String);
    descriptor: (Ljava/lang/String;)Lch/qos/logback/core/Layout;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Ljava/lang/String;)Lch/qos/logback/core/Layout<TE;>;
    MethodParameters:
            Name  Flags
      subjectStr  

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 115
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
            ifnonnull 2
         1: .line 116
            aload 0 /* this */
            new ch.qos.logback.core.spi.CyclicBufferTracker
            dup
            invokespecial ch.qos.logback.core.spi.CyclicBufferTracker.<init>:()V
            putfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.sessionViaJNDI:Z
            ifeq 4
         3: .line 120
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.lookupSessionInJNDI:()Ljavax/mail/Session;
            putfield ch.qos.logback.core.net.SMTPAppenderBase.session:Ljavax/mail/Session;
            goto 5
         4: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.buildSessionFromProperties:()Ljavax/mail/Session;
            putfield ch.qos.logback.core.net.SMTPAppenderBase.session:Ljavax/mail/Session;
         5: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.session:Ljavax/mail/Session;
            ifnonnull 8
         6: .line 125
            aload 0 /* this */
            ldc "Failed to obtain javax.mail.Session. Cannot start."
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;)V
         7: .line 126
            return
         8: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.subjectStr:Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.makeSubjectLayout:(Ljava/lang/String;)Lch/qos/logback/core/Layout;
            putfield ch.qos.logback.core.net.SMTPAppenderBase.subjectLayout:Lch/qos/logback/core/Layout;
         9: .line 131
            aload 0 /* this */
            iconst_1
            putfield ch.qos.logback.core.net.SMTPAppenderBase.started:Z
        10: .line 132
            return
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  private javax.mail.Session lookupSessionInJNDI();
    descriptor: ()Ljavax/mail/Session;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 135
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Looking up javax.mail.Session at JNDI location ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.jndiLocation: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;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addInfo:(Ljava/lang/String;)V
         1: .line 137
            new javax.naming.InitialContext
            dup
            invokespecial javax.naming.InitialContext.<init>:()V
            astore 1 /* initialContext */
        start local 1 // javax.naming.Context initialContext
         2: .line 138
            aload 1 /* initialContext */
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.jndiLocation:Ljava/lang/String;
            invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         3: .line 139
            aload 2 /* obj */
            checkcast javax.mail.Session
         4: areturn
        end local 2 // java.lang.Object obj
        end local 1 // javax.naming.Context initialContext
         5: .line 140
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 141
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Failed to obtain javax.mail.Session from JNDI location ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.jndiLocation: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;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;)V
         7: .line 142
            aconst_null
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            2    5     1  initialContext  Ljavax/naming/Context;
            3    5     2             obj  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.Exception

  private javax.mail.Session buildSessionFromProperties();
    descriptor: ()Ljavax/mail/Session;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 147
            new java.util.Properties
            dup
            invokestatic ch.qos.logback.core.util.OptionHelper.getSystemProperties:()Ljava/util/Properties;
            invokespecial java.util.Properties.<init>:(Ljava/util/Properties;)V
            astore 1 /* props */
        start local 1 // java.util.Properties props
         1: .line 148
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.smtpHost:Ljava/lang/String;
            ifnull 3
         2: .line 149
            aload 1 /* props */
            ldc "mail.smtp.host"
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.smtpHost:Ljava/lang/String;
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 151
      StackMap locals: java.util.Properties
      StackMap stack:
            aload 1 /* props */
            ldc "mail.smtp.port"
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.smtpPort:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 153
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.localhost:Ljava/lang/String;
            ifnull 6
         5: .line 154
            aload 1 /* props */
            ldc "mail.smtp.localhost"
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.localhost:Ljava/lang/String;
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 157
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* loginAuthenticator */
        start local 2 // ch.qos.logback.core.net.LoginAuthenticator loginAuthenticator
         7: .line 159
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.username:Ljava/lang/String;
            ifnull 10
         8: .line 160
            new ch.qos.logback.core.net.LoginAuthenticator
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.username:Ljava/lang/String;
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.password:Ljava/lang/String;
            invokespecial ch.qos.logback.core.net.LoginAuthenticator.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* loginAuthenticator */
         9: .line 161
            aload 1 /* props */
            ldc "mail.smtp.auth"
            ldc "true"
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 164
      StackMap locals: ch.qos.logback.core.net.LoginAuthenticator
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.isSTARTTLS:()Z
            ifeq 13
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.isSSL:()Z
            ifeq 13
        11: .line 165
            aload 0 /* this */
            ldc "Both SSL and StartTLS cannot be enabled simultaneously"
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;)V
        12: .line 166
            goto 20
        13: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.isSTARTTLS:()Z
            ifeq 15
        14: .line 169
            aload 1 /* props */
            ldc "mail.smtp.starttls.enable"
            ldc "true"
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.isSSL:()Z
            ifeq 20
        16: .line 172
            ldc "javax.net.ssl.SSLSocketFactory"
            astore 3 /* SSL_FACTORY */
        start local 3 // java.lang.String SSL_FACTORY
        17: .line 173
            aload 1 /* props */
            ldc "mail.smtp.socketFactory.port"
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.smtpPort:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 174
            aload 1 /* props */
            ldc "mail.smtp.socketFactory.class"
            aload 3 /* SSL_FACTORY */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 175
            aload 1 /* props */
            ldc "mail.smtp.socketFactory.fallback"
            ldc "true"
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String SSL_FACTORY
        20: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* props */
            aload 2 /* loginAuthenticator */
            invokestatic javax.mail.Session.getInstance:(Ljava/util/Properties;Ljavax/mail/Authenticator;)Ljavax/mail/Session;
            areturn
        end local 2 // ch.qos.logback.core.net.LoginAuthenticator loginAuthenticator
        end local 1 // java.util.Properties props
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0                this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            1   21     1               props  Ljava/util/Properties;
            7   21     2  loginAuthenticator  Lch/qos/logback/core/net/LoginAuthenticator;
           17   20     3         SSL_FACTORY  Ljava/lang/String;

  protected void append();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.Object eventObject
         0: .line 190
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.checkEntryConditions:()Z
            ifne 2
         1: .line 191
            return
         2: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.discriminator:Lch/qos/logback/core/sift/Discriminator;
            aload 1 /* eventObject */
            invokeinterface ch.qos.logback.core.sift.Discriminator.getDiscriminatingValue:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         3: .line 195
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* now */
        start local 3 // long now
         4: .line 196
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
            aload 2 /* key */
            lload 3 /* now */
            invokevirtual ch.qos.logback.core.spi.CyclicBufferTracker.getOrCreate:(Ljava/lang/String;J)Ljava/lang/Object;
            checkcast ch.qos.logback.core.helpers.CyclicBuffer
            astore 5 /* cb */
        start local 5 // ch.qos.logback.core.helpers.CyclicBuffer cb
         5: .line 197
            aload 0 /* this */
            aload 5 /* cb */
            aload 1 /* eventObject */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.subAppend:(Lch/qos/logback/core/helpers/CyclicBuffer;Ljava/lang/Object;)V
         6: .line 200
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.eventEvaluator:Lch/qos/logback/core/boolex/EventEvaluator;
            aload 1 /* eventObject */
            invokeinterface ch.qos.logback.core.boolex.EventEvaluator.evaluate:(Ljava/lang/Object;)Z
            ifeq 19
         7: .line 202
            new ch.qos.logback.core.helpers.CyclicBuffer
            dup
            aload 5 /* cb */
            invokespecial ch.qos.logback.core.helpers.CyclicBuffer.<init>:(Lch/qos/logback/core/helpers/CyclicBuffer;)V
            astore 6 /* cbClone */
        start local 6 // ch.qos.logback.core.helpers.CyclicBuffer cbClone
         8: .line 204
            aload 5 /* cb */
            invokevirtual ch.qos.logback.core.helpers.CyclicBuffer.clear:()V
         9: .line 206
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.asynchronousSending:Z
            ifeq 13
        10: .line 208
            new ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable
            dup
            aload 0 /* this */
            aload 6 /* cbClone */
            aload 1 /* eventObject */
            invokespecial ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable.<init>:(Lch/qos/logback/core/net/SMTPAppenderBase;Lch/qos/logback/core/helpers/CyclicBuffer;Ljava/lang/Object;)V
            astore 7 /* senderRunnable */
        start local 7 // ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable senderRunnable
        11: .line 209
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.context:Lch/qos/logback/core/Context;
            invokeinterface ch.qos.logback.core.Context.getExecutorService:()Ljava/util/concurrent/ExecutorService;
            aload 7 /* senderRunnable */
            invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
        end local 7 // ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable senderRunnable
        12: .line 210
            goto 19
        13: .line 212
      StackMap locals: ch.qos.logback.core.net.SMTPAppenderBase java.lang.Object java.lang.String long ch.qos.logback.core.helpers.CyclicBuffer ch.qos.logback.core.helpers.CyclicBuffer
      StackMap stack:
            aload 0 /* this */
            aload 6 /* cbClone */
            aload 1 /* eventObject */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.sendBuffer:(Lch/qos/logback/core/helpers/CyclicBuffer;Ljava/lang/Object;)V
        end local 6 // ch.qos.logback.core.helpers.CyclicBuffer cbClone
        14: .line 215
            goto 19
      StackMap locals: ch.qos.logback.core.net.SMTPAppenderBase java.lang.Object java.lang.String long ch.qos.logback.core.helpers.CyclicBuffer
      StackMap stack: ch.qos.logback.core.boolex.EvaluationException
        15: astore 6 /* ex */
        start local 6 // ch.qos.logback.core.boolex.EvaluationException ex
        16: .line 216
            aload 0 /* this */
            dup
            getfield ch.qos.logback.core.net.SMTPAppenderBase.errorCount:I
            iconst_1
            iadd
            putfield ch.qos.logback.core.net.SMTPAppenderBase.errorCount:I
        17: .line 217
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.errorCount:I
            iconst_4
            if_icmpge 19
        18: .line 218
            aload 0 /* this */
            ldc "SMTPAppender's EventEvaluator threw an Exception-"
            aload 6 /* ex */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // ch.qos.logback.core.boolex.EvaluationException ex
        19: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* eventObject */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.eventMarksEndOfLife:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 224
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
            aload 2 /* key */
            invokevirtual ch.qos.logback.core.spi.CyclicBufferTracker.endOfLife:(Ljava/lang/String;)V
        21: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
            lload 3 /* now */
            invokevirtual ch.qos.logback.core.spi.CyclicBufferTracker.removeStaleComponents:(J)V
        22: .line 229
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.lastTrackerStatusPrint:J
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.delayBetweenStatusMessages:J
            ladd
            lload 3 /* now */
            lcmp
            ifge 27
        23: .line 230
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "SMTPAppender ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] is tracking ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
            invokevirtual ch.qos.logback.core.spi.CyclicBufferTracker.getComponentCount:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] buffers"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addInfo:(Ljava/lang/String;)V
        24: .line 231
            aload 0 /* this */
            lload 3 /* now */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.lastTrackerStatusPrint:J
        25: .line 233
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.delayBetweenStatusMessages:J
            ldc 1228800000
            lcmp
            ifge 27
        26: .line 234
            aload 0 /* this */
            dup
            getfield ch.qos.logback.core.net.SMTPAppenderBase.delayBetweenStatusMessages:J
            ldc 4
            lmul
            putfield ch.qos.logback.core.net.SMTPAppenderBase.delayBetweenStatusMessages:J
        27: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 5 // ch.qos.logback.core.helpers.CyclicBuffer cb
        end local 3 // long now
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object eventObject
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   28     0            this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0   28     1     eventObject  TE;
            3   28     2             key  Ljava/lang/String;
            4   28     3             now  J
            5   28     5              cb  Lch/qos/logback/core/helpers/CyclicBuffer<TE;>;
            8   14     6         cbClone  Lch/qos/logback/core/helpers/CyclicBuffer<TE;>;
           11   12     7  senderRunnable  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>.SenderRunnable;
           16   19     6              ex  Lch/qos/logback/core/boolex/EvaluationException;
      Exception table:
        from    to  target  type
           6    14      15  Class ch.qos.logback.core.boolex.EvaluationException
    Signature: (TE;)V
    MethodParameters:
             Name  Flags
      eventObject  

  protected abstract boolean eventMarksEndOfLife();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TE;)Z
    MethodParameters:
             Name  Flags
      eventObject  

  protected abstract void subAppend(ch.qos.logback.core.helpers.CyclicBuffer<E>, );
    descriptor: (Lch/qos/logback/core/helpers/CyclicBuffer;Ljava/lang/Object;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lch/qos/logback/core/helpers/CyclicBuffer<TE;>;TE;)V
    MethodParameters:
             Name  Flags
      cb           
      eventObject  

  public boolean checkEntryConditions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 252
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.started:Z
            ifne 3
         1: .line 253
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Attempting to append to a non-started appender: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;)V
         2: .line 254
            iconst_0
            ireturn
         3: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.eventEvaluator:Lch/qos/logback/core/boolex/EventEvaluator;
            ifnonnull 6
         4: .line 258
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "No EventEvaluator is set for appender ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.name: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;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;)V
         5: .line 259
            iconst_0
            ireturn
         6: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            ifnonnull 9
         7: .line 263
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "No layout set for appender named ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]. For more information, please visit http://logback.qos.ch/codes.html#smtp_no_layout"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;)V
         8: .line 264
            iconst_0
            ireturn
         9: .line 266
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public synchronized void stop();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 270
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.net.SMTPAppenderBase.started:Z
         1: .line 271
            return
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  javax.mail.internet.InternetAddress getAddress(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/mail/internet/InternetAddress;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String addressStr
         0: .line 275
            new javax.mail.internet.InternetAddress
            dup
            aload 1 /* addressStr */
            invokespecial javax.mail.internet.InternetAddress.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 276
      StackMap locals:
      StackMap stack: javax.mail.internet.AddressException
            astore 2 /* e */
        start local 2 // javax.mail.internet.AddressException e
         3: .line 277
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Could not parse address ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* addressStr */
            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;
            aload 2 /* e */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
         4: .line 278
            aconst_null
            areturn
        end local 2 // javax.mail.internet.AddressException e
        end local 1 // java.lang.String addressStr
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    5     1  addressStr  Ljava/lang/String;
            3    5     2           e  Ljavax/mail/internet/AddressException;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.mail.internet.AddressException
    MethodParameters:
            Name  Flags
      addressStr  

  private java.util.List<javax.mail.internet.InternetAddress> parseAddress(E);
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.Object event
         0: .line 283
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.toPatternLayoutList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 285
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* iaList */
        start local 3 // java.util.List iaList
         2: .line 287
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 15
         4: .line 289
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.toPatternLayoutList:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast ch.qos.logback.core.pattern.PatternLayoutBase
            astore 5 /* emailPL */
        start local 5 // ch.qos.logback.core.pattern.PatternLayoutBase emailPL
         5: .line 290
            aload 5 /* emailPL */
            aload 1 /* event */
            invokevirtual ch.qos.logback.core.pattern.PatternLayoutBase.doLayout:(Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* emailAdrr */
        start local 6 // java.lang.String emailAdrr
         6: .line 291
            aload 6 /* emailAdrr */
            ifnull 14
            aload 6 /* emailAdrr */
            invokevirtual java.lang.String.length:()I
            ifne 8
         7: .line 292
            goto 14
         8: .line 294
      StackMap locals: ch.qos.logback.core.pattern.PatternLayoutBase java.lang.String
      StackMap stack:
            aload 6 /* emailAdrr */
            iconst_1
            invokestatic javax.mail.internet.InternetAddress.parse:(Ljava/lang/String;Z)[Ljavax/mail/internet/InternetAddress;
            astore 7 /* tmp */
        start local 7 // javax.mail.internet.InternetAddress[] tmp
         9: .line 295
            aload 3 /* iaList */
            aload 7 /* tmp */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // javax.mail.internet.InternetAddress[] tmp
        end local 6 // java.lang.String emailAdrr
        end local 5 // ch.qos.logback.core.pattern.PatternLayoutBase emailPL
        10: .line 296
            goto 14
      StackMap locals: ch.qos.logback.core.net.SMTPAppenderBase java.lang.Object int java.util.List int
      StackMap stack: javax.mail.internet.AddressException
        11: astore 5 /* e */
        start local 5 // javax.mail.internet.AddressException e
        12: .line 297
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Could not parse email address for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.toPatternLayoutList:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] for event ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* event */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        13: .line 298
            aload 3 /* iaList */
            areturn
        end local 5 // javax.mail.internet.AddressException e
        14: .line 287
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 4
        end local 4 // int i
        16: .line 302
            aload 3 /* iaList */
            areturn
        end local 3 // java.util.List iaList
        end local 2 // int len
        end local 1 // java.lang.Object event
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0   17     1      event  TE;
            1   17     2        len  I
            2   17     3     iaList  Ljava/util/List<Ljavax/mail/internet/InternetAddress;>;
            3   16     4          i  I
            5   10     5    emailPL  Lch/qos/logback/core/pattern/PatternLayoutBase<TE;>;
            6   10     6  emailAdrr  Ljava/lang/String;
            9   10     7        tmp  [Ljavax/mail/internet/InternetAddress;
           12   14     5          e  Ljavax/mail/internet/AddressException;
      Exception table:
        from    to  target  type
           4     7      11  Class javax.mail.internet.AddressException
           8    10      11  Class javax.mail.internet.AddressException
    Signature: (TE;)Ljava/util/List<Ljavax/mail/internet/InternetAddress;>;
    MethodParameters:
       Name  Flags
      event  

  public java.util.List<ch.qos.logback.core.pattern.PatternLayoutBase<E>> getToList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 309
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.toPatternLayoutList:Ljava/util/List;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
    Signature: ()Ljava/util/List<Lch/qos/logback/core/pattern/PatternLayoutBase<TE;>;>;

  protected void sendBuffer(ch.qos.logback.core.helpers.CyclicBuffer<E>, );
    descriptor: (Lch/qos/logback/core/helpers/CyclicBuffer;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=15, args_size=3
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // ch.qos.logback.core.helpers.CyclicBuffer cb
        start local 2 // java.lang.Object lastEventObject
         0: .line 320
            new javax.mail.internet.MimeBodyPart
            dup
            invokespecial javax.mail.internet.MimeBodyPart.<init>:()V
            astore 3 /* part */
        start local 3 // javax.mail.internet.MimeBodyPart part
         1: .line 322
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* sbuf */
        start local 4 // java.lang.StringBuffer sbuf
         2: .line 324
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            invokeinterface ch.qos.logback.core.Layout.getFileHeader:()Ljava/lang/String;
            astore 5 /* header */
        start local 5 // java.lang.String header
         3: .line 325
            aload 5 /* header */
            ifnull 5
         4: .line 326
            aload 4 /* sbuf */
            aload 5 /* header */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 328
      StackMap locals: javax.mail.internet.MimeBodyPart java.lang.StringBuffer java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            invokeinterface ch.qos.logback.core.Layout.getPresentationHeader:()Ljava/lang/String;
            astore 6 /* presentationHeader */
        start local 6 // java.lang.String presentationHeader
         6: .line 329
            aload 6 /* presentationHeader */
            ifnull 8
         7: .line 330
            aload 4 /* sbuf */
            aload 6 /* presentationHeader */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 332
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cb */
            aload 4 /* sbuf */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.fillBuffer:(Lch/qos/logback/core/helpers/CyclicBuffer;Ljava/lang/StringBuffer;)V
         9: .line 333
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            invokeinterface ch.qos.logback.core.Layout.getPresentationFooter:()Ljava/lang/String;
            astore 7 /* presentationFooter */
        start local 7 // java.lang.String presentationFooter
        10: .line 334
            aload 7 /* presentationFooter */
            ifnull 12
        11: .line 335
            aload 4 /* sbuf */
            aload 7 /* presentationFooter */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 337
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            invokeinterface ch.qos.logback.core.Layout.getFileFooter:()Ljava/lang/String;
            astore 8 /* footer */
        start local 8 // java.lang.String footer
        13: .line 338
            aload 8 /* footer */
            ifnull 15
        14: .line 339
            aload 4 /* sbuf */
            aload 8 /* footer */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 342
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "Undefined subject"
            astore 9 /* subjectStr */
        start local 9 // java.lang.String subjectStr
        16: .line 343
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.subjectLayout:Lch/qos/logback/core/Layout;
            ifnull 23
        17: .line 344
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.subjectLayout:Lch/qos/logback/core/Layout;
            aload 2 /* lastEventObject */
            invokeinterface ch.qos.logback.core.Layout.doLayout:(Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* subjectStr */
        18: .line 349
            aload 9 /* subjectStr */
            ifnull 19
            aload 9 /* subjectStr */
            bipush 10
            invokevirtual java.lang.String.indexOf:(I)I
            goto 20
      StackMap locals: java.lang.String
      StackMap stack:
        19: iconst_m1
      StackMap locals:
      StackMap stack: int
        20: istore 10 /* newLinePos */
        start local 10 // int newLinePos
        21: .line 350
            iload 10 /* newLinePos */
            iconst_m1
            if_icmple 23
        22: .line 351
            aload 9 /* subjectStr */
            iconst_0
            iload 10 /* newLinePos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* subjectStr */
        end local 10 // int newLinePos
        23: .line 355
      StackMap locals:
      StackMap stack:
            new javax.mail.internet.MimeMessage
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.session:Ljavax/mail/Session;
            invokespecial javax.mail.internet.MimeMessage.<init>:(Ljavax/mail/Session;)V
            astore 10 /* mimeMsg */
        start local 10 // javax.mail.internet.MimeMessage mimeMsg
        24: .line 357
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.from:Ljava/lang/String;
            ifnull 27
        25: .line 358
            aload 10 /* mimeMsg */
            aload 0 /* this */
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.from:Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.getAddress:(Ljava/lang/String;)Ljavax/mail/internet/InternetAddress;
            invokevirtual javax.mail.internet.MimeMessage.setFrom:(Ljavax/mail/Address;)V
        26: .line 359
            goto 28
        27: .line 360
      StackMap locals: javax.mail.internet.MimeMessage
      StackMap stack:
            aload 10 /* mimeMsg */
            invokevirtual javax.mail.internet.MimeMessage.setFrom:()V
        28: .line 363
      StackMap locals:
      StackMap stack:
            aload 10 /* mimeMsg */
            aload 9 /* subjectStr */
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.charsetEncoding:Ljava/lang/String;
            invokevirtual javax.mail.internet.MimeMessage.setSubject:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 365
            aload 0 /* this */
            aload 2 /* lastEventObject */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.parseAddress:(Ljava/lang/Object;)Ljava/util/List;
            astore 11 /* destinationAddresses */
        start local 11 // java.util.List destinationAddresses
        30: .line 366
            aload 11 /* destinationAddresses */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 33
        31: .line 367
            aload 0 /* this */
            ldc "Empty destination address. Aborting email transmission"
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addInfo:(Ljava/lang/String;)V
        32: .line 368
            return
        33: .line 371
      StackMap locals: java.util.List
      StackMap stack:
            aload 11 /* destinationAddresses */
            getstatic ch.qos.logback.core.net.SMTPAppenderBase.EMPTY_IA_ARRAY:[Ljavax/mail/internet/InternetAddress;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.mail.internet.InternetAddress[]
            astore 12 /* toAddressArray */
        start local 12 // javax.mail.internet.InternetAddress[] toAddressArray
        34: .line 372
            aload 10 /* mimeMsg */
            getstatic javax.mail.Message$RecipientType.TO:Ljavax/mail/Message$RecipientType;
            aload 12 /* toAddressArray */
            invokevirtual javax.mail.internet.MimeMessage.setRecipients:(Ljavax/mail/Message$RecipientType;[Ljavax/mail/Address;)V
        35: .line 374
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            invokeinterface ch.qos.logback.core.Layout.getContentType:()Ljava/lang/String;
            astore 13 /* contentType */
        start local 13 // java.lang.String contentType
        36: .line 376
            aload 13 /* contentType */
            invokestatic ch.qos.logback.core.util.ContentTypeUtil.isTextual:(Ljava/lang/String;)Z
            ifeq 39
        37: .line 377
            aload 3 /* part */
            aload 4 /* sbuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.charsetEncoding:Ljava/lang/String;
            aload 13 /* contentType */
            invokestatic ch.qos.logback.core.util.ContentTypeUtil.getSubType:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual javax.mail.internet.MimeBodyPart.setText:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        38: .line 378
            goto 40
        39: .line 379
      StackMap locals: javax.mail.internet.InternetAddress[] java.lang.String
      StackMap stack:
            aload 3 /* part */
            aload 4 /* sbuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            invokeinterface ch.qos.logback.core.Layout.getContentType:()Ljava/lang/String;
            invokevirtual javax.mail.internet.MimeBodyPart.setContent:(Ljava/lang/Object;Ljava/lang/String;)V
        40: .line 382
      StackMap locals:
      StackMap stack:
            new javax.mail.internet.MimeMultipart
            dup
            invokespecial javax.mail.internet.MimeMultipart.<init>:()V
            astore 14 /* mp */
        start local 14 // javax.mail.Multipart mp
        41: .line 383
            aload 14 /* mp */
            aload 3 /* part */
            invokevirtual javax.mail.Multipart.addBodyPart:(Ljavax/mail/BodyPart;)V
        42: .line 384
            aload 10 /* mimeMsg */
            aload 14 /* mp */
            invokevirtual javax.mail.internet.MimeMessage.setContent:(Ljavax/mail/Multipart;)V
        43: .line 386
            aload 10 /* mimeMsg */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual javax.mail.internet.MimeMessage.setSentDate:(Ljava/util/Date;)V
        44: .line 387
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "About to send out SMTP message \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* subjectStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* toAddressArray */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addInfo:(Ljava/lang/String;)V
        45: .line 388
            aload 10 /* mimeMsg */
            invokestatic javax.mail.Transport.send:(Ljavax/mail/Message;)V
        end local 14 // javax.mail.Multipart mp
        end local 13 // java.lang.String contentType
        end local 12 // javax.mail.internet.InternetAddress[] toAddressArray
        end local 11 // java.util.List destinationAddresses
        end local 10 // javax.mail.internet.MimeMessage mimeMsg
        end local 9 // java.lang.String subjectStr
        end local 8 // java.lang.String footer
        end local 7 // java.lang.String presentationFooter
        end local 6 // java.lang.String presentationHeader
        end local 5 // java.lang.String header
        end local 4 // java.lang.StringBuffer sbuf
        end local 3 // javax.mail.internet.MimeBodyPart part
        46: .line 389
            goto 49
      StackMap locals: ch.qos.logback.core.net.SMTPAppenderBase ch.qos.logback.core.helpers.CyclicBuffer java.lang.Object
      StackMap stack: java.lang.Exception
        47: astore 3 /* e */
        start local 3 // java.lang.Exception e
        48: .line 390
            aload 0 /* this */
            ldc "Error occurred while sending e-mail notification."
            aload 3 /* e */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        49: .line 392
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object lastEventObject
        end local 1 // ch.qos.logback.core.helpers.CyclicBuffer cb
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   50     0                  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0   50     1                    cb  Lch/qos/logback/core/helpers/CyclicBuffer<TE;>;
            0   50     2       lastEventObject  TE;
            1   46     3                  part  Ljavax/mail/internet/MimeBodyPart;
            2   46     4                  sbuf  Ljava/lang/StringBuffer;
            3   46     5                header  Ljava/lang/String;
            6   46     6    presentationHeader  Ljava/lang/String;
           10   46     7    presentationFooter  Ljava/lang/String;
           13   46     8                footer  Ljava/lang/String;
           16   46     9            subjectStr  Ljava/lang/String;
           21   23    10            newLinePos  I
           24   46    10               mimeMsg  Ljavax/mail/internet/MimeMessage;
           30   46    11  destinationAddresses  Ljava/util/List<Ljavax/mail/internet/InternetAddress;>;
           34   46    12        toAddressArray  [Ljavax/mail/internet/InternetAddress;
           36   46    13           contentType  Ljava/lang/String;
           41   46    14                    mp  Ljavax/mail/Multipart;
           48   49     3                     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    32      47  Class java.lang.Exception
          33    46      47  Class java.lang.Exception
    Signature: (Lch/qos/logback/core/helpers/CyclicBuffer<TE;>;TE;)V
    MethodParameters:
                 Name  Flags
      cb               
      lastEventObject  

  protected abstract void fillBuffer(ch.qos.logback.core.helpers.CyclicBuffer<E>, java.lang.StringBuffer);
    descriptor: (Lch/qos/logback/core/helpers/CyclicBuffer;Ljava/lang/StringBuffer;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lch/qos/logback/core/helpers/CyclicBuffer<TE;>;Ljava/lang/StringBuffer;)V
    MethodParameters:
      Name  Flags
      cb    
      sbuf  

  public java.lang.String getFrom();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 400
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.from:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public java.lang.String getSubject();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 407
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.subjectStr:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setFrom(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String from
         0: .line 415
            aload 0 /* this */
            aload 1 /* from */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.from:Ljava/lang/String;
         1: .line 416
            return
        end local 1 // java.lang.String from
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  from  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      from  

  public void setSubject(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String subject
         0: .line 423
            aload 0 /* this */
            aload 1 /* subject */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.subjectStr:Ljava/lang/String;
         1: .line 424
            return
        end local 1 // java.lang.String subject
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  subject  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subject  

  public void setSMTPHost(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String smtpHost
         0: .line 432
            aload 0 /* this */
            aload 1 /* smtpHost */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.setSmtpHost:(Ljava/lang/String;)V
         1: .line 433
            return
        end local 1 // java.lang.String smtpHost
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  smtpHost  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      smtpHost  

  public void setSmtpHost(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String smtpHost
         0: .line 440
            aload 0 /* this */
            aload 1 /* smtpHost */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.smtpHost:Ljava/lang/String;
         1: .line 441
            return
        end local 1 // java.lang.String smtpHost
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  smtpHost  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      smtpHost  

  public java.lang.String getSMTPHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 447
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.getSmtpHost:()Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public java.lang.String getSmtpHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 454
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.smtpHost:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setSMTPPort(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // int port
         0: .line 463
            aload 0 /* this */
            iload 1 /* port */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.setSmtpPort:(I)V
         1: .line 464
            return
        end local 1 // int port
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  port  I
    MethodParameters:
      Name  Flags
      port  

  public void setSmtpPort(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // int port
         0: .line 472
            aload 0 /* this */
            iload 1 /* port */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.smtpPort:I
         1: .line 473
            return
        end local 1 // int port
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  port  I
    MethodParameters:
      Name  Flags
      port  

  public int getSMTPPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 481
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.getSmtpPort:()I
            ireturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public int getSmtpPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 490
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.smtpPort:I
            ireturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public java.lang.String getLocalhost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 494
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.localhost:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setLocalhost(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String localhost
         0: .line 508
            aload 0 /* this */
            aload 1 /* localhost */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.localhost:Ljava/lang/String;
         1: .line 509
            return
        end local 1 // java.lang.String localhost
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  localhost  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      localhost  

  public ch.qos.logback.core.spi.CyclicBufferTracker<E> getCyclicBufferTracker();
    descriptor: ()Lch/qos/logback/core/spi/CyclicBufferTracker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 512
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
    Signature: ()Lch/qos/logback/core/spi/CyclicBufferTracker<TE;>;

  public void setCyclicBufferTracker(ch.qos.logback.core.spi.CyclicBufferTracker<E>);
    descriptor: (Lch/qos/logback/core/spi/CyclicBufferTracker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // ch.qos.logback.core.spi.CyclicBufferTracker cbTracker
         0: .line 516
            aload 0 /* this */
            aload 1 /* cbTracker */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.cbTracker:Lch/qos/logback/core/spi/CyclicBufferTracker;
         1: .line 517
            return
        end local 1 // ch.qos.logback.core.spi.CyclicBufferTracker cbTracker
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  cbTracker  Lch/qos/logback/core/spi/CyclicBufferTracker<TE;>;
    Signature: (Lch/qos/logback/core/spi/CyclicBufferTracker<TE;>;)V
    MethodParameters:
           Name  Flags
      cbTracker  

  public ch.qos.logback.core.sift.Discriminator<E> getDiscriminator();
    descriptor: ()Lch/qos/logback/core/sift/Discriminator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 520
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.discriminator:Lch/qos/logback/core/sift/Discriminator;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
    Signature: ()Lch/qos/logback/core/sift/Discriminator<TE;>;

  public void setDiscriminator(ch.qos.logback.core.sift.Discriminator<E>);
    descriptor: (Lch/qos/logback/core/sift/Discriminator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // ch.qos.logback.core.sift.Discriminator discriminator
         0: .line 524
            aload 0 /* this */
            aload 1 /* discriminator */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.discriminator:Lch/qos/logback/core/sift/Discriminator;
         1: .line 525
            return
        end local 1 // ch.qos.logback.core.sift.Discriminator discriminator
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  discriminator  Lch/qos/logback/core/sift/Discriminator<TE;>;
    Signature: (Lch/qos/logback/core/sift/Discriminator<TE;>;)V
    MethodParameters:
               Name  Flags
      discriminator  

  public boolean isAsynchronousSending();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 528
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.asynchronousSending:Z
            ireturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setAsynchronousSending(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // boolean asynchronousSending
         0: .line 539
            aload 0 /* this */
            iload 1 /* asynchronousSending */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.asynchronousSending:Z
         1: .line 540
            return
        end local 1 // boolean asynchronousSending
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  asynchronousSending  Z
    MethodParameters:
                     Name  Flags
      asynchronousSending  

  public void addTo(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String to
         0: .line 543
            aload 1 /* to */
            ifnull 1
            aload 1 /* to */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 544
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Null or empty <to> property"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.SMTPAppenderBase.makeNewToPatternLayout:(Ljava/lang/String;)Lch/qos/logback/core/pattern/PatternLayoutBase;
            astore 2 /* plb */
        start local 2 // ch.qos.logback.core.pattern.PatternLayoutBase plb
         3: .line 547
            aload 2 /* plb */
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.context:Lch/qos/logback/core/Context;
            invokevirtual ch.qos.logback.core.pattern.PatternLayoutBase.setContext:(Lch/qos/logback/core/Context;)V
         4: .line 548
            aload 2 /* plb */
            invokevirtual ch.qos.logback.core.pattern.PatternLayoutBase.start:()V
         5: .line 549
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.toPatternLayoutList:Ljava/util/List;
            aload 2 /* plb */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 550
            return
        end local 2 // ch.qos.logback.core.pattern.PatternLayoutBase plb
        end local 1 // java.lang.String to
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    7     1    to  Ljava/lang/String;
            3    7     2   plb  Lch/qos/logback/core/pattern/PatternLayoutBase;
    MethodParameters:
      Name  Flags
      to    

  protected abstract ch.qos.logback.core.pattern.PatternLayoutBase<E> makeNewToPatternLayout(java.lang.String);
    descriptor: (Ljava/lang/String;)Lch/qos/logback/core/pattern/PatternLayoutBase;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Ljava/lang/String;)Lch/qos/logback/core/pattern/PatternLayoutBase<TE;>;
    MethodParameters:
           Name  Flags
      toPattern  

  public java.util.List<java.lang.String> getToAsListOfString();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 555
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* toList */
        start local 1 // java.util.List toList
         1: .line 556
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.toPatternLayoutList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: ch.qos.logback.core.net.SMTPAppenderBase java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast ch.qos.logback.core.pattern.PatternLayoutBase
            astore 2 /* plb */
        start local 2 // ch.qos.logback.core.pattern.PatternLayoutBase plb
         3: .line 557
            aload 1 /* toList */
            aload 2 /* plb */
            invokevirtual ch.qos.logback.core.pattern.PatternLayoutBase.getPattern:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // ch.qos.logback.core.pattern.PatternLayoutBase plb
         4: .line 556
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 559
            aload 1 /* toList */
            areturn
        end local 1 // java.util.List toList
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            1    6     1  toList  Ljava/util/List<Ljava/lang/String;>;
            3    4     2     plb  Lch/qos/logback/core/pattern/PatternLayoutBase;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public boolean isSTARTTLS();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 563
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.starttls:Z
            ireturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setSTARTTLS(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // boolean startTLS
         0: .line 567
            aload 0 /* this */
            iload 1 /* startTLS */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.starttls:Z
         1: .line 568
            return
        end local 1 // boolean startTLS
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  startTLS  Z
    MethodParameters:
          Name  Flags
      startTLS  

  public boolean isSSL();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 571
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.ssl:Z
            ireturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setSSL(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // boolean ssl
         0: .line 575
            aload 0 /* this */
            iload 1 /* ssl */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.ssl:Z
         1: .line 576
            return
        end local 1 // boolean ssl
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1   ssl  Z
    MethodParameters:
      Name  Flags
      ssl   

  public void setEvaluator(ch.qos.logback.core.boolex.EventEvaluator<E>);
    descriptor: (Lch/qos/logback/core/boolex/EventEvaluator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // ch.qos.logback.core.boolex.EventEvaluator eventEvaluator
         0: .line 585
            aload 0 /* this */
            aload 1 /* eventEvaluator */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.eventEvaluator:Lch/qos/logback/core/boolex/EventEvaluator;
         1: .line 586
            return
        end local 1 // ch.qos.logback.core.boolex.EventEvaluator eventEvaluator
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  eventEvaluator  Lch/qos/logback/core/boolex/EventEvaluator<TE;>;
    Signature: (Lch/qos/logback/core/boolex/EventEvaluator<TE;>;)V
    MethodParameters:
                Name  Flags
      eventEvaluator  

  public java.lang.String getUsername();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 589
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.username:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setUsername(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String username
         0: .line 593
            aload 0 /* this */
            aload 1 /* username */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.username:Ljava/lang/String;
         1: .line 594
            return
        end local 1 // java.lang.String username
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  username  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      username  

  public java.lang.String getPassword();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 597
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.password:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setPassword(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String password
         0: .line 601
            aload 0 /* this */
            aload 1 /* password */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.password:Ljava/lang/String;
         1: .line 602
            return
        end local 1 // java.lang.String password
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      password  

  public java.lang.String getCharsetEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 609
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.charsetEncoding:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public java.lang.String getJndiLocation();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 613
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.jndiLocation:Ljava/lang/String;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setJndiLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String jndiLocation
         0: .line 624
            aload 0 /* this */
            aload 1 /* jndiLocation */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.jndiLocation:Ljava/lang/String;
         1: .line 625
            return
        end local 1 // java.lang.String jndiLocation
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  jndiLocation  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      jndiLocation  

  public boolean isSessionViaJNDI();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 628
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.sessionViaJNDI:Z
            ireturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;

  public void setSessionViaJNDI(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // boolean sessionViaJNDI
         0: .line 638
            aload 0 /* this */
            iload 1 /* sessionViaJNDI */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.sessionViaJNDI:Z
         1: .line 639
            return
        end local 1 // boolean sessionViaJNDI
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  sessionViaJNDI  Z
    MethodParameters:
                Name  Flags
      sessionViaJNDI  

  public void setCharsetEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // java.lang.String charsetEncoding
         0: .line 648
            aload 0 /* this */
            aload 1 /* charsetEncoding */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.charsetEncoding:Ljava/lang/String;
         1: .line 649
            return
        end local 1 // java.lang.String charsetEncoding
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  charsetEncoding  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      charsetEncoding  

  public ch.qos.logback.core.Layout<E> getLayout();
    descriptor: ()Lch/qos/logback/core/Layout;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
         0: .line 652
            aload 0 /* this */
            getfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
            areturn
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
    Signature: ()Lch/qos/logback/core/Layout<TE;>;

  public void setLayout(ch.qos.logback.core.Layout<E>);
    descriptor: (Lch/qos/logback/core/Layout;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
        start local 1 // ch.qos.logback.core.Layout layout
         0: .line 656
            aload 0 /* this */
            aload 1 /* layout */
            putfield ch.qos.logback.core.net.SMTPAppenderBase.layout:Lch/qos/logback/core/Layout;
         1: .line 657
            return
        end local 1 // ch.qos.logback.core.Layout layout
        end local 0 // ch.qos.logback.core.net.SMTPAppenderBase this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lch/qos/logback/core/net/SMTPAppenderBase<TE;>;
            0    2     1  layout  Lch/qos/logback/core/Layout<TE;>;
    Signature: (Lch/qos/logback/core/Layout<TE;>;)V
    MethodParameters:
        Name  Flags
      layout  
}
Signature: <E:Ljava/lang/Object;>Lch/qos/logback/core/AppenderBase<TE;>;
SourceFile: "SMTPAppenderBase.java"
NestMembers:
  ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable
InnerClasses:
  SenderRunnable = ch.qos.logback.core.net.SMTPAppenderBase$SenderRunnable of ch.qos.logback.core.net.SMTPAppenderBase
  public RecipientType = javax.mail.Message$RecipientType of javax.mail.Message