final class org.apache.commons.mail.EmailUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.mail.EmailUtils
  super_class: java.lang.Object
{
  private static final java.util.Random RANDOM;
    descriptor: Ljava/util/Random;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private static final char ESCAPE_CHAR;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 37

  private static final java.util.BitSet SAFE_URL;
    descriptor: Ljava/util/BitSet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 51
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            putstatic org.apache.commons.mail.EmailUtils.RANDOM:Ljava/util/Random;
         1: .line 71
            new java.util.BitSet
            dup
            sipush 256
            invokespecial java.util.BitSet.<init>:(I)V
            putstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
         2: .line 76
            bipush 97
            istore 0 /* i */
        start local 0 // int i
         3: goto 6
         4: .line 78
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            iload 0 /* i */
            invokevirtual java.util.BitSet.set:(I)V
         5: .line 76
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 0 /* i */
            bipush 122
            if_icmple 4
        end local 0 // int i
         7: .line 80
            bipush 65
            istore 0 /* i */
        start local 0 // int i
         8: goto 11
         9: .line 82
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            iload 0 /* i */
            invokevirtual java.util.BitSet.set:(I)V
        10: .line 80
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 0 /* i */
            bipush 90
            if_icmple 9
        end local 0 // int i
        12: .line 85
            bipush 48
            istore 0 /* i */
        start local 0 // int i
        13: goto 16
        14: .line 87
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            iload 0 /* i */
            invokevirtual java.util.BitSet.set:(I)V
        15: .line 85
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 0 /* i */
            bipush 57
            if_icmple 14
        end local 0 // int i
        17: .line 91
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 45
            invokevirtual java.util.BitSet.set:(I)V
        18: .line 92
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 95
            invokevirtual java.util.BitSet.set:(I)V
        19: .line 93
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 46
            invokevirtual java.util.BitSet.set:(I)V
        20: .line 94
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 42
            invokevirtual java.util.BitSet.set:(I)V
        21: .line 95
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 43
            invokevirtual java.util.BitSet.set:(I)V
        22: .line 96
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 36
            invokevirtual java.util.BitSet.set:(I)V
        23: .line 97
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 33
            invokevirtual java.util.BitSet.set:(I)V
        24: .line 98
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 39
            invokevirtual java.util.BitSet.set:(I)V
        25: .line 99
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 40
            invokevirtual java.util.BitSet.set:(I)V
        26: .line 100
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 41
            invokevirtual java.util.BitSet.set:(I)V
        27: .line 101
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 44
            invokevirtual java.util.BitSet.set:(I)V
        28: .line 102
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            bipush 64
            invokevirtual java.util.BitSet.set:(I)V
        29: .line 103
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    7     0     i  I
            8   12     0     i  I
           13   17     0     i  I

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.mail.EmailUtils this
         0: .line 110
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            return
        end local 0 // org.apache.commons.mail.EmailUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/mail/EmailUtils;

  static boolean isEmpty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 124
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   final

  static boolean isNotEmpty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 138
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   final

  static void notNull(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object object
        start local 1 // java.lang.String message
         0: .line 154
            aload 0 /* object */
            ifnonnull 2
         1: .line 156
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 158
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0   object  Ljava/lang/Object;
            0    3     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      object   final
      message  final

  static java.lang.String randomAlphabetic(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // int count
         0: .line 175
            iload 0 /* count */
            iconst_0
            iconst_0
            iconst_1
            iconst_0
            aconst_null
            getstatic org.apache.commons.mail.EmailUtils.RANDOM:Ljava/util/Random;
            invokestatic org.apache.commons.mail.EmailUtils.random:(IIIZZ[CLjava/util/Random;)Ljava/lang/String;
            areturn
        end local 0 // int count
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  count  I
    MethodParameters:
       Name  Flags
      count  final

  private static java.lang.String random(int, int, int, boolean, boolean, char[], java.util.Random);
    descriptor: (IIIZZ[CLjava/util/Random;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // int count
        start local 1 // int start
        start local 2 // int end
        start local 3 // boolean letters
        start local 4 // boolean numbers
        start local 5 // char[] chars
        start local 6 // java.util.Random random
         0: .line 221
            iload 0 /* count */
            ifne 2
         1: .line 223
            ldc ""
            areturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            iload 0 /* count */
            ifge 4
         3: .line 227
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Requested random string length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is less than 0."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 230
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            ifne 10
            iload 2 /* end */
            ifne 10
         5: .line 232
            bipush 123
            istore 2 /* end */
         6: .line 233
            bipush 32
            istore 1 /* start */
         7: .line 235
            iload 3 /* letters */
            ifne 10
            iload 4 /* numbers */
            ifne 10
         8: .line 237
            iconst_0
            istore 1 /* start */
         9: .line 238
            ldc 2147483647
            istore 2 /* end */
        10: .line 242
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 7 /* buffer */
        start local 7 // java.lang.StringBuffer buffer
        11: .line 243
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 8 /* gap */
        start local 8 // int gap
        12: .line 245
            goto 24
        13: .line 249
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 5 /* chars */
            ifnonnull 16
        14: .line 251
            aload 6 /* random */
            iload 8 /* gap */
            invokevirtual java.util.Random.nextInt:(I)I
            iload 1 /* start */
            iadd
            i2c
            istore 9 /* ch */
        start local 9 // char ch
        15: .line 252
            goto 17
        end local 9 // char ch
        16: .line 255
      StackMap locals:
      StackMap stack:
            aload 5 /* chars */
            aload 6 /* random */
            iload 8 /* gap */
            invokevirtual java.util.Random.nextInt:(I)I
            iload 1 /* start */
            iadd
            caload
            istore 9 /* ch */
        start local 9 // char ch
        17: .line 258
      StackMap locals: int
      StackMap stack:
            iload 3 /* letters */
            ifeq 18
            iload 4 /* numbers */
            ifeq 18
            iload 9 /* ch */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 21
      StackMap locals:
      StackMap stack:
        18: iload 3 /* letters */
            ifeq 19
            iload 9 /* ch */
            invokestatic java.lang.Character.isLetter:(C)Z
            ifne 21
        19: .line 259
      StackMap locals:
      StackMap stack:
            iload 4 /* numbers */
            ifeq 20
            iload 9 /* ch */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 21
      StackMap locals:
      StackMap stack:
        20: iload 3 /* letters */
            ifne 23
            iload 4 /* numbers */
            ifne 23
        21: .line 261
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            iload 9 /* ch */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 262
            goto 24
        23: .line 265
      StackMap locals:
      StackMap stack:
            iinc 0 /* count */ 1
        end local 9 // char ch
        24: .line 245
      StackMap locals:
      StackMap stack:
            iload 0 /* count */
            iinc 0 /* count */ -1
            ifne 13
        25: .line 269
            aload 7 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 8 // int gap
        end local 7 // java.lang.StringBuffer buffer
        end local 6 // java.util.Random random
        end local 5 // char[] chars
        end local 4 // boolean numbers
        end local 3 // boolean letters
        end local 2 // int end
        end local 1 // int start
        end local 0 // int count
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0    count  I
            0   26     1    start  I
            0   26     2      end  I
            0   26     3  letters  Z
            0   26     4  numbers  Z
            0   26     5    chars  [C
            0   26     6   random  Ljava/util/Random;
           11   26     7   buffer  Ljava/lang/StringBuffer;
           12   26     8      gap  I
           15   16     9       ch  C
           17   24     9       ch  C
    MethodParameters:
         Name  Flags
      count    
      start    
      end      
      letters  final
      numbers  final
      chars    final
      random   final

  static java.lang.String replaceEndOfLineCharactersWithSpaces(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String input
         0: .line 280
            aload 0 /* input */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* input */
            bipush 10
            bipush 32
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            bipush 13
            bipush 32
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  input  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      input  final

  static java.lang.String encodeUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=9, args_size=1
        start local 0 // java.lang.String input
         0: .line 293
            aload 0 /* input */
            ifnonnull 2
         1: .line 295
            aconst_null
            areturn
         2: .line 298
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         3: .line 299
            aload 0 /* input */
            ldc "US-ASCII"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 17
      StackMap locals: java.lang.String java.lang.StringBuilder top int int byte[]
      StackMap stack:
         4: aload 5
            iload 3
            baload
            istore 2 /* c */
        start local 2 // byte c
         5: .line 301
            iload 2 /* c */
            istore 6 /* b */
        start local 6 // int b
         6: .line 302
            iload 6 /* b */
            ifge 8
         7: .line 304
            iinc 6 /* b */ 256
         8: .line 306
      StackMap locals: java.lang.String java.lang.StringBuilder int int int byte[] int
      StackMap stack:
            getstatic org.apache.commons.mail.EmailUtils.SAFE_URL:Ljava/util/BitSet;
            iload 6 /* b */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 11
         9: .line 308
            aload 1 /* builder */
            iload 6 /* b */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 309
            goto 16
        11: .line 312
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 313
            iload 6 /* b */
            iconst_4
            ishr
            bipush 15
            iand
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 7 /* hex1 */
        start local 7 // char hex1
        13: .line 314
            iload 6 /* b */
            bipush 15
            iand
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 8 /* hex2 */
        start local 8 // char hex2
        14: .line 315
            aload 1 /* builder */
            iload 7 /* hex1 */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 316
            aload 1 /* builder */
            iload 8 /* hex2 */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 8 // char hex2
        end local 7 // char hex1
        end local 6 // int b
        end local 2 // byte c
        16: .line 299
      StackMap locals: java.lang.String java.lang.StringBuilder top int int byte[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        17: iload 3
            iload 4
            if_icmplt 4
        18: .line 319
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0    input  Ljava/lang/String;
            3   19     1  builder  Ljava/lang/StringBuilder;
            5   16     2        c  B
            6   16     6        b  I
           13   16     7     hex1  C
           14   16     8     hex2  C
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
       Name  Flags
      input  final

  static void writeMimeMessage(java.io.File, javax.mail.internet.MimeMessage);
    descriptor: (Ljava/io/File;Ljavax/mail/internet/MimeMessage;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.File resultFile
        start local 1 // javax.mail.internet.MimeMessage mimeMessage
         0: .line 333
            aload 1 /* mimeMessage */
            aload 0 /* resultFile */
            invokestatic org.apache.commons.mail.util.MimeMessageUtils.writeMimeMessage:(Ljavax/mail/internet/MimeMessage;Ljava/io/File;)V
         1: .line 334
            return
        end local 1 // javax.mail.internet.MimeMessage mimeMessage
        end local 0 // java.io.File resultFile
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0   resultFile  Ljava/io/File;
            0    2     1  mimeMessage  Ljavax/mail/internet/MimeMessage;
    Exceptions:
      throws java.io.IOException, javax.mail.MessagingException
    MethodParameters:
             Name  Flags
      resultFile   final
      mimeMessage  final
}
SourceFile: "EmailUtils.java"