public class org.bouncycastle.mime.smime.SMIMEEnvelopedWriter extends org.bouncycastle.mime.MimeWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.mime.smime.SMIMEEnvelopedWriter
  super_class: org.bouncycastle.mime.MimeWriter
{
  private final org.bouncycastle.cms.CMSEnvelopedDataStreamGenerator envGen;
    descriptor: Lorg/bouncycastle/cms/CMSEnvelopedDataStreamGenerator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.bouncycastle.operator.OutputEncryptor outEnc;
    descriptor: Lorg/bouncycastle/operator/OutputEncryptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.OutputStream mimeOut;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private void <init>(org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder, org.bouncycastle.operator.OutputEncryptor, java.io.OutputStream);
    descriptor: (Lorg/bouncycastle/mime/smime/SMIMEEnvelopedWriter$Builder;Lorg/bouncycastle/operator/OutputEncryptor;Ljava/io/OutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.bouncycastle.mime.smime.SMIMEEnvelopedWriter this
        start local 1 // org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder builder
        start local 2 // org.bouncycastle.operator.OutputEncryptor outEnc
        start local 3 // java.io.OutputStream mimeOut
         0: .line 121
            aload 0 /* this */
            new org.bouncycastle.mime.Headers
            dup
            aload 1 /* builder */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder.headers:Ljava/util/Map;
            invokestatic org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.mapToLines:(Ljava/util/Map;)Ljava/util/List;
            aload 1 /* builder */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder.contentTransferEncoding:Ljava/lang/String;
            invokespecial org.bouncycastle.mime.Headers.<init>:(Ljava/util/List;Ljava/lang/String;)V
            invokespecial org.bouncycastle.mime.MimeWriter.<init>:(Lorg/bouncycastle/mime/Headers;)V
         1: .line 123
            aload 0 /* this */
            aload 1 /* builder */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder.envGen:Lorg/bouncycastle/cms/CMSEnvelopedDataStreamGenerator;
            putfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.envGen:Lorg/bouncycastle/cms/CMSEnvelopedDataStreamGenerator;
         2: .line 124
            aload 0 /* this */
            aload 1 /* builder */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder.contentTransferEncoding:Ljava/lang/String;
            putfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.contentTransferEncoding:Ljava/lang/String;
         3: .line 125
            aload 0 /* this */
            aload 2 /* outEnc */
            putfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.outEnc:Lorg/bouncycastle/operator/OutputEncryptor;
         4: .line 126
            aload 0 /* this */
            aload 3 /* mimeOut */
            putfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.mimeOut:Ljava/io/OutputStream;
         5: .line 127
            return
        end local 3 // java.io.OutputStream mimeOut
        end local 2 // org.bouncycastle.operator.OutputEncryptor outEnc
        end local 1 // org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder builder
        end local 0 // org.bouncycastle.mime.smime.SMIMEEnvelopedWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/bouncycastle/mime/smime/SMIMEEnvelopedWriter;
            0    6     1  builder  Lorg/bouncycastle/mime/smime/SMIMEEnvelopedWriter$Builder;
            0    6     2   outEnc  Lorg/bouncycastle/operator/OutputEncryptor;
            0    6     3  mimeOut  Ljava/io/OutputStream;
    MethodParameters:
         Name  Flags
      builder  
      outEnc   
      mimeOut  

  public java.io.OutputStream getContentStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.bouncycastle.mime.smime.SMIMEEnvelopedWriter this
         0: .line 132
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.headers:Lorg/bouncycastle/mime/Headers;
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.mimeOut:Ljava/io/OutputStream;
            invokevirtual org.bouncycastle.mime.Headers.dumpHeaders:(Ljava/io/OutputStream;)V
         1: .line 134
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.mimeOut:Ljava/io/OutputStream;
            ldc "\r\n"
            invokestatic org.bouncycastle.util.Strings.toByteArray:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
         2: .line 140
            ldc "base64"
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.contentTransferEncoding:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 142
            new org.bouncycastle.mime.encoding.Base64OutputStream
            dup
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.mimeOut:Ljava/io/OutputStream;
            invokespecial org.bouncycastle.mime.encoding.Base64OutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 1 /* outStream */
        start local 1 // java.io.OutputStream outStream
         4: .line 144
            new org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$ContentOutputStream
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.envGen:Lorg/bouncycastle/cms/CMSEnvelopedDataStreamGenerator;
            aload 1 /* outStream */
            invokestatic org.bouncycastle.mime.smime.SMimeUtils.createUnclosable:(Ljava/io/OutputStream;)Ljava/io/OutputStream;
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.outEnc:Lorg/bouncycastle/operator/OutputEncryptor;
            invokevirtual org.bouncycastle.cms.CMSEnvelopedDataStreamGenerator.open:(Ljava/io/OutputStream;Lorg/bouncycastle/operator/OutputEncryptor;)Ljava/io/OutputStream;
            aload 1 /* outStream */
            invokespecial org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$ContentOutputStream.<init>:(Lorg/bouncycastle/mime/smime/SMIMEEnvelopedWriter;Ljava/io/OutputStream;Ljava/io/OutputStream;)V
         5: areturn
        end local 1 // java.io.OutputStream outStream
         6: .line 148
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$ContentOutputStream
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.envGen:Lorg/bouncycastle/cms/CMSEnvelopedDataStreamGenerator;
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.mimeOut:Ljava/io/OutputStream;
            invokestatic org.bouncycastle.mime.smime.SMimeUtils.createUnclosable:(Ljava/io/OutputStream;)Ljava/io/OutputStream;
            aload 0 /* this */
            getfield org.bouncycastle.mime.smime.SMIMEEnvelopedWriter.outEnc:Lorg/bouncycastle/operator/OutputEncryptor;
            invokevirtual org.bouncycastle.cms.CMSEnvelopedDataStreamGenerator.open:(Ljava/io/OutputStream;Lorg/bouncycastle/operator/OutputEncryptor;)Ljava/io/OutputStream;
            aconst_null
            invokespecial org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$ContentOutputStream.<init>:(Lorg/bouncycastle/mime/smime/SMIMEEnvelopedWriter;Ljava/io/OutputStream;Ljava/io/OutputStream;)V
         7: areturn
         8: .line 151
      StackMap locals:
      StackMap stack: org.bouncycastle.cms.CMSException
            astore 1 /* e */
        start local 1 // org.bouncycastle.cms.CMSException e
         9: .line 153
            new org.bouncycastle.mime.MimeIOException
            dup
            aload 1 /* e */
            invokevirtual org.bouncycastle.cms.CMSException.getMessage:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.bouncycastle.mime.MimeIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // org.bouncycastle.cms.CMSException e
        end local 0 // org.bouncycastle.mime.smime.SMIMEEnvelopedWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/bouncycastle/mime/smime/SMIMEEnvelopedWriter;
            4    6     1  outStream  Ljava/io/OutputStream;
            9   10     1          e  Lorg/bouncycastle/cms/CMSException;
      Exception table:
        from    to  target  type
           2     5       8  Class org.bouncycastle.cms.CMSException
           6     7       8  Class org.bouncycastle.cms.CMSException
    Exceptions:
      throws java.io.IOException
}
SourceFile: "SMIMEEnvelopedWriter.java"
NestMembers:
  org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder  org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$ContentOutputStream
InnerClasses:
  public Builder = org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$Builder of org.bouncycastle.mime.smime.SMIMEEnvelopedWriter
  private ContentOutputStream = org.bouncycastle.mime.smime.SMIMEEnvelopedWriter$ContentOutputStream of org.bouncycastle.mime.smime.SMIMEEnvelopedWriter