public class freemarker.core._MessageUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.core._MessageUtil
  super_class: java.lang.Object
{
  static final java.lang.String UNKNOWN_DATE_TO_STRING_ERROR_MESSAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Can't convert the date-like value to string because it isn't known if it's a date (no time part), time or date-time value."

  static final java.lang.String UNKNOWN_DATE_PARSING_ERROR_MESSAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Can't parse the string to date-like value because it isn't known if it's desired result should be a date (no time part), a time, or a date-time value."

  static final java.lang.String UNKNOWN_DATE_TYPE_ERROR_TIP;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Use ?date, ?time, or ?datetime to tell FreeMarker the exact type."

  static final java.lang.Object[] UNKNOWN_DATE_TO_STRING_TIPS;
    descriptor: [Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String EMBEDDED_MESSAGE_BEGIN;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "---begin-message---\n"

  static final java.lang.String EMBEDDED_MESSAGE_END;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "\n---end-message---"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 49
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 50
            ldc "Use ?date, ?time, or ?datetime to tell FreeMarker the exact type."
            aastore
            dup
            iconst_1
         2: .line 51
            ldc "If you need a particular format only once, use ?string(pattern), like ?string('dd.MM.yyyy HH:mm:ss'), to specify which fields to display. "
            aastore
         3: .line 49
            putstatic freemarker.core._MessageUtil.UNKNOWN_DATE_TO_STRING_TIPS:[Ljava/lang/Object;
         4: .line 57
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core._MessageUtil this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // freemarker.core._MessageUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/_MessageUtil;

  static java.lang.String formatLocationForSimpleParsingError(freemarker.template.Template, int, int);
    descriptor: (Lfreemarker/template/Template;II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.Template template
        start local 1 // int line
        start local 2 // int column
         0: .line 63
            ldc "in"
            aload 0 /* template */
            iload 1 /* line */
            iload 2 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Lfreemarker/template/Template;II)Ljava/lang/String;
            areturn
        end local 2 // int column
        end local 1 // int line
        end local 0 // freemarker.template.Template template
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  template  Lfreemarker/template/Template;
            0    1     1      line  I
            0    1     2    column  I
    MethodParameters:
          Name  Flags
      template  
      line      
      column    

  static java.lang.String formatLocationForSimpleParsingError(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String templateSourceName
        start local 1 // int line
        start local 2 // int column
         0: .line 67
            ldc "in"
            aload 0 /* templateSourceName */
            iload 1 /* line */
            iload 2 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 2 // int column
        end local 1 // int line
        end local 0 // java.lang.String templateSourceName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  templateSourceName  Ljava/lang/String;
            0    1     1                line  I
            0    1     2              column  I
    MethodParameters:
                    Name  Flags
      templateSourceName  
      line                
      column              

  static java.lang.String formatLocationForDependentParsingError(freemarker.template.Template, int, int);
    descriptor: (Lfreemarker/template/Template;II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.Template template
        start local 1 // int line
        start local 2 // int column
         0: .line 71
            ldc "on"
            aload 0 /* template */
            iload 1 /* line */
            iload 2 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Lfreemarker/template/Template;II)Ljava/lang/String;
            areturn
        end local 2 // int column
        end local 1 // int line
        end local 0 // freemarker.template.Template template
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  template  Lfreemarker/template/Template;
            0    1     1      line  I
            0    1     2    column  I
    MethodParameters:
          Name  Flags
      template  
      line      
      column    

  static java.lang.String formatLocationForDependentParsingError(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String templateSourceName
        start local 1 // int line
        start local 2 // int column
         0: .line 75
            ldc "on"
            aload 0 /* templateSourceName */
            iload 1 /* line */
            iload 2 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 2 // int column
        end local 1 // int line
        end local 0 // java.lang.String templateSourceName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  templateSourceName  Ljava/lang/String;
            0    1     1                line  I
            0    1     2              column  I
    MethodParameters:
                    Name  Flags
      templateSourceName  
      line                
      column              

  static java.lang.String formatLocationForEvaluationError(freemarker.template.Template, int, int);
    descriptor: (Lfreemarker/template/Template;II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.Template template
        start local 1 // int line
        start local 2 // int column
         0: .line 79
            ldc "at"
            aload 0 /* template */
            iload 1 /* line */
            iload 2 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Lfreemarker/template/Template;II)Ljava/lang/String;
            areturn
        end local 2 // int column
        end local 1 // int line
        end local 0 // freemarker.template.Template template
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  template  Lfreemarker/template/Template;
            0    1     1      line  I
            0    1     2    column  I
    MethodParameters:
          Name  Flags
      template  
      line      
      column    

  static java.lang.String formatLocationForEvaluationError(freemarker.core.Macro, int, int);
    descriptor: (Lfreemarker/core/Macro;II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // freemarker.core.Macro macro
        start local 1 // int line
        start local 2 // int column
         0: .line 83
            aload 0 /* macro */
            invokevirtual freemarker.core.Macro.getTemplate:()Lfreemarker/template/Template;
            astore 3 /* t */
        start local 3 // freemarker.template.Template t
         1: .line 84
            ldc "at"
            aload 3 /* t */
            ifnull 2
            aload 3 /* t */
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
            goto 3
      StackMap locals: freemarker.core.Macro int int freemarker.template.Template
      StackMap stack: java.lang.String
         2: aconst_null
      StackMap locals: freemarker.core.Macro int int freemarker.template.Template
      StackMap stack: java.lang.String java.lang.String
         3: aload 0 /* macro */
            invokevirtual freemarker.core.Macro.getName:()Ljava/lang/String;
            aload 0 /* macro */
            invokevirtual freemarker.core.Macro.isFunction:()Z
            iload 1 /* line */
            iload 2 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZII)Ljava/lang/String;
            areturn
        end local 3 // freemarker.template.Template t
        end local 2 // int column
        end local 1 // int line
        end local 0 // freemarker.core.Macro macro
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   macro  Lfreemarker/core/Macro;
            0    4     1    line  I
            0    4     2  column  I
            1    4     3       t  Lfreemarker/template/Template;
    MethodParameters:
        Name  Flags
      macro   
      line    
      column  

  static java.lang.String formatLocationForEvaluationError(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String templateSourceName
        start local 1 // int line
        start local 2 // int column
         0: .line 88
            ldc "at"
            aload 0 /* templateSourceName */
            iload 1 /* line */
            iload 2 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 2 // int column
        end local 1 // int line
        end local 0 // java.lang.String templateSourceName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  templateSourceName  Ljava/lang/String;
            0    1     1                line  I
            0    1     2              column  I
    MethodParameters:
                    Name  Flags
      templateSourceName  
      line                
      column              

  private static java.lang.String formatLocation(java.lang.String, freemarker.template.Template, int, int);
    descriptor: (Ljava/lang/String;Lfreemarker/template/Template;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.String preposition
        start local 1 // freemarker.template.Template template
        start local 2 // int line
        start local 3 // int column
         0: .line 92
            aload 0 /* preposition */
            aload 1 /* template */
            ifnull 1
            aload 1 /* template */
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack: java.lang.String
         1: aconst_null
      StackMap locals: java.lang.String freemarker.template.Template int int
      StackMap stack: java.lang.String java.lang.String
         2: iload 2 /* line */
            iload 3 /* column */
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 3 // int column
        end local 2 // int line
        end local 1 // freemarker.template.Template template
        end local 0 // java.lang.String preposition
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  preposition  Ljava/lang/String;
            0    3     1     template  Lfreemarker/template/Template;
            0    3     2         line  I
            0    3     3       column  I
    MethodParameters:
             Name  Flags
      preposition  
      template     
      line         
      column       

  private static java.lang.String formatLocation(java.lang.String, java.lang.String, int, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.String preposition
        start local 1 // java.lang.String templateSourceName
        start local 2 // int line
        start local 3 // int column
         0: .line 97
            aload 0 /* preposition */
            aload 1 /* templateSourceName */
         1: .line 98
            aconst_null
            iconst_0
         2: .line 99
            iload 2 /* line */
            iload 3 /* column */
         3: .line 96
            invokestatic freemarker.core._MessageUtil.formatLocation:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZII)Ljava/lang/String;
            areturn
        end local 3 // int column
        end local 2 // int line
        end local 1 // java.lang.String templateSourceName
        end local 0 // java.lang.String preposition
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0         preposition  Ljava/lang/String;
            0    4     1  templateSourceName  Ljava/lang/String;
            0    4     2                line  I
            0    4     3              column  I
    MethodParameters:
                    Name  Flags
      preposition         
      templateSourceName  
      line                
      column              

  private static java.lang.String formatLocation(java.lang.String, java.lang.String, java.lang.String, boolean, int, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZII)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // java.lang.String preposition
        start local 1 // java.lang.String templateSourceName
        start local 2 // java.lang.String macroOrFuncName
        start local 3 // boolean isFunction
        start local 4 // int line
        start local 5 // int column
         0: .line 107
            iload 4 /* line */
            ifge 4
         1: .line 108
            ldc "?eval-ed string"
            astore 6 /* templateDesc */
        start local 6 // java.lang.String templateDesc
         2: .line 109
            aconst_null
            astore 2 /* macroOrFuncName */
         3: .line 110
            goto 8
        end local 6 // java.lang.String templateDesc
         4: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* templateSourceName */
            ifnull 6
         5: .line 112
            new java.lang.StringBuilder
            dup
            ldc "template "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* templateSourceName */
            invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 7
         6: .line 113
      StackMap locals:
      StackMap stack:
            ldc "nameless template"
         7: .line 111
      StackMap locals:
      StackMap stack: java.lang.String
            astore 6 /* templateDesc */
        start local 6 // java.lang.String templateDesc
         8: .line 115
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* templateDesc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 116
            aload 2 /* macroOrFuncName */
            ifnull 13
        10: .line 117
            new java.lang.StringBuilder
            dup
            ldc " in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* isFunction */
            ifeq 11
            ldc "function "
            goto 12
      StackMap locals: java.lang.String java.lang.String java.lang.String int int int java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.StringBuilder
        11: ldc "macro "
      StackMap locals: java.lang.String java.lang.String java.lang.String int int int java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.StringBuilder java.lang.String
        12: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* macroOrFuncName */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 14
        13: .line 118
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ""
        14: .line 116
      StackMap locals: java.lang.String java.lang.String java.lang.String int int int java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 119
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 120
            aload 0 /* preposition */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* line */
            iload 5 /* column */
            invokestatic freemarker.core._MessageUtil.formatPosition:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 115
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.String templateDesc
        end local 5 // int column
        end local 4 // int line
        end local 3 // boolean isFunction
        end local 2 // java.lang.String macroOrFuncName
        end local 1 // java.lang.String templateSourceName
        end local 0 // java.lang.String preposition
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0         preposition  Ljava/lang/String;
            0   18     1  templateSourceName  Ljava/lang/String;
            0   18     2     macroOrFuncName  Ljava/lang/String;
            0   18     3          isFunction  Z
            0   18     4                line  I
            0   18     5              column  I
            2    4     6        templateDesc  Ljava/lang/String;
            8   18     6        templateDesc  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      preposition         
      templateSourceName  
      macroOrFuncName     
      isFunction          
      line                
      column              

  static java.lang.String formatPosition(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int line
        start local 1 // int column
         0: .line 124
            new java.lang.StringBuilder
            dup
            ldc "line "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* line */
            iflt 1
            iload 0 /* line */
            goto 2
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         1: iload 0 /* line */
            ldc -1000000001
            isub
      StackMap locals: int int
      StackMap stack: java.lang.StringBuilder int
         2: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 125
            ldc ", column "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* column */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 124
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // int column
        end local 0 // int line
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    line  I
            0    5     1  column  I
    MethodParameters:
        Name  Flags
      line    
      column  

  public static java.lang.String shorten(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.String s
        start local 1 // int maxLength
         0: .line 134
            iload 1 /* maxLength */
            iconst_5
            if_icmpge 1
            iconst_5
            istore 1 /* maxLength */
         1: .line 136
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* isTruncated */
        start local 2 // boolean isTruncated
         2: .line 138
            aload 0 /* s */
            bipush 10
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* brIdx */
        start local 3 // int brIdx
         3: .line 139
            iload 3 /* brIdx */
            iconst_m1
            if_icmpeq 6
         4: .line 140
            aload 0 /* s */
            iconst_0
            iload 3 /* brIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* s */
         5: .line 141
            iconst_1
            istore 2 /* isTruncated */
         6: .line 143
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            bipush 13
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* brIdx */
         7: .line 144
            iload 3 /* brIdx */
            iconst_m1
            if_icmpeq 10
         8: .line 145
            aload 0 /* s */
            iconst_0
            iload 3 /* brIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* s */
         9: .line 146
            iconst_1
            istore 2 /* isTruncated */
        10: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iload 1 /* maxLength */
            if_icmple 13
        11: .line 150
            aload 0 /* s */
            iconst_0
            iload 1 /* maxLength */
            iconst_3
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* s */
        12: .line 151
            iconst_1
            istore 2 /* isTruncated */
        13: .line 154
      StackMap locals:
      StackMap stack:
            iload 2 /* isTruncated */
            ifne 15
        14: .line 155
            aload 0 /* s */
            areturn
        15: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ldc "."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 21
        16: .line 158
            aload 0 /* s */
            ldc ".."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 20
        17: .line 159
            aload 0 /* s */
            ldc "..."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 160
            aload 0 /* s */
            areturn
        19: .line 162
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        20: .line 165
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        21: .line 168
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int brIdx
        end local 2 // boolean isTruncated
        end local 1 // int maxLength
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0            s  Ljava/lang/String;
            0   22     1    maxLength  I
            2   22     2  isTruncated  Z
            3   22     3        brIdx  I
    MethodParameters:
           Name  Flags
      s          
      maxLength  

  public static java.lang.StringBuilder appendExpressionAsUntearable(java.lang.StringBuilder, freemarker.core.Expression);
    descriptor: (Ljava/lang/StringBuilder;Lfreemarker/core/Expression;)Ljava/lang/StringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.StringBuilder sb
        start local 1 // freemarker.core.Expression argExp
         0: .line 175
            aload 1 /* argExp */
            instanceof freemarker.core.NumberLiteral
            ifne 13
         1: .line 176
            aload 1 /* argExp */
            instanceof freemarker.core.StringLiteral
            ifne 13
         2: .line 177
            aload 1 /* argExp */
            instanceof freemarker.core.BooleanLiteral
            ifne 13
         3: .line 178
            aload 1 /* argExp */
            instanceof freemarker.core.ListLiteral
            ifne 13
         4: .line 179
            aload 1 /* argExp */
            instanceof freemarker.core.HashLiteral
            ifne 13
         5: .line 180
            aload 1 /* argExp */
            instanceof freemarker.core.Identifier
            ifne 13
         6: .line 181
            aload 1 /* argExp */
            instanceof freemarker.core.Dot
            ifne 13
         7: .line 182
            aload 1 /* argExp */
            instanceof freemarker.core.DynamicKeyName
            ifne 13
         8: .line 183
            aload 1 /* argExp */
            instanceof freemarker.core.MethodCall
            ifne 13
         9: .line 184
            aload 1 /* argExp */
            instanceof freemarker.core.BuiltIn
            ifne 13
        10: .line 185
            aload 1 /* argExp */
            instanceof freemarker.core.ExistsExpression
            ifne 13
        11: .line 186
            aload 1 /* argExp */
            instanceof freemarker.core.ParentheticalExpression
            ifne 13
        12: .line 174
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 2 /* needParen */
        start local 2 // boolean needParen
        15: .line 187
            iload 2 /* needParen */
            ifeq 16
            aload 0 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 188
      StackMap locals: int
      StackMap stack:
            aload 0 /* sb */
            aload 1 /* argExp */
            invokevirtual freemarker.core.Expression.getCanonicalForm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 189
            iload 2 /* needParen */
            ifeq 18
            aload 0 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* sb */
            areturn
        end local 2 // boolean needParen
        end local 1 // freemarker.core.Expression argExp
        end local 0 // java.lang.StringBuilder sb
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0         sb  Ljava/lang/StringBuilder;
            0   19     1     argExp  Lfreemarker/core/Expression;
           15   19     2  needParen  Z
    MethodParameters:
        Name  Flags
      sb      
      argExp  

  public static freemarker.template.TemplateModelException newArgCntError(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argCnt
        start local 2 // int expectedCnt
         0: .line 194
            aload 0 /* methodName */
            iload 1 /* argCnt */
            iload 2 /* expectedCnt */
            iload 2 /* expectedCnt */
            invokestatic freemarker.core._MessageUtil.newArgCntError:(Ljava/lang/String;III)Lfreemarker/template/TemplateModelException;
            areturn
        end local 2 // int expectedCnt
        end local 1 // int argCnt
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0   methodName  Ljava/lang/String;
            0    1     1       argCnt  I
            0    1     2  expectedCnt  I
    MethodParameters:
             Name  Flags
      methodName   
      argCnt       
      expectedCnt  

  public static freemarker.template.TemplateModelException newArgCntError(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.lang.String methodName
        start local 1 // int argCnt
        start local 2 // int minCnt
        start local 3 // int maxCnt
         0: .line 198
            new java.util.ArrayList
            dup
            bipush 20
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* desc */
        start local 4 // java.util.ArrayList desc
         1: .line 200
            aload 4 /* desc */
            aload 0 /* methodName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 202
            aload 4 /* desc */
            ldc "("
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 203
            iload 3 /* maxCnt */
            ifeq 4
            aload 4 /* desc */
            ldc "..."
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 204
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 4 /* desc */
            ldc ") expects "
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 206
            iload 2 /* minCnt */
            iload 3 /* maxCnt */
            if_icmpne 11
         6: .line 207
            iload 3 /* maxCnt */
            ifne 9
         7: .line 208
            aload 4 /* desc */
            ldc "no"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 209
            goto 22
         9: .line 210
      StackMap locals:
      StackMap stack:
            aload 4 /* desc */
            iload 3 /* maxCnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 212
            goto 22
      StackMap locals:
      StackMap stack:
        11: iload 3 /* maxCnt */
            iload 2 /* minCnt */
            isub
            iconst_1
            if_icmpne 16
        12: .line 213
            aload 4 /* desc */
            iload 2 /* minCnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 214
            aload 4 /* desc */
            ldc " or "
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 215
            aload 4 /* desc */
            iload 3 /* maxCnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 216
            goto 22
        16: .line 217
      StackMap locals:
      StackMap stack:
            aload 4 /* desc */
            iload 2 /* minCnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        17: .line 218
            iload 3 /* maxCnt */
            ldc 2147483647
            if_icmpeq 21
        18: .line 219
            aload 4 /* desc */
            ldc " to "
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 220
            aload 4 /* desc */
            iload 3 /* maxCnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        20: .line 221
            goto 22
        21: .line 222
      StackMap locals:
      StackMap stack:
            aload 4 /* desc */
            ldc " or more (unlimited)"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 225
      StackMap locals:
      StackMap stack:
            aload 4 /* desc */
            ldc " argument"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        23: .line 226
            iload 3 /* maxCnt */
            iconst_1
            if_icmple 24
            aload 4 /* desc */
            ldc "s"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        24: .line 228
      StackMap locals:
      StackMap stack:
            aload 4 /* desc */
            ldc " but has received "
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 229
            iload 1 /* argCnt */
            ifne 28
        26: .line 230
            aload 4 /* desc */
            ldc "none"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        27: .line 231
            goto 29
        28: .line 232
      StackMap locals:
      StackMap stack:
            aload 4 /* desc */
            iload 1 /* argCnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        29: .line 234
      StackMap locals:
      StackMap stack:
            aload 4 /* desc */
            ldc "."
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        30: .line 236
            new freemarker.core._TemplateModelException
            dup
            aload 4 /* desc */
            invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
            invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
            areturn
        end local 4 // java.util.ArrayList desc
        end local 3 // int maxCnt
        end local 2 // int minCnt
        end local 1 // int argCnt
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0  methodName  Ljava/lang/String;
            0   31     1      argCnt  I
            0   31     2      minCnt  I
            0   31     3      maxCnt  I
            1   31     4        desc  Ljava/util/ArrayList;
    MethodParameters:
            Name  Flags
      methodName  
      argCnt      
      minCnt      
      maxCnt      

  public static freemarker.template.TemplateModelException newMethodArgMustBeStringException(java.lang.String, int, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;ILfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // freemarker.template.TemplateModel arg
         0: .line 240
            aload 0 /* methodName */
            iload 1 /* argIdx */
            ldc "string"
            aload 2 /* arg */
            invokestatic freemarker.core._MessageUtil.newMethodArgUnexpectedTypeException:(Ljava/lang/String;ILjava/lang/String;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
            areturn
        end local 2 // freemarker.template.TemplateModel arg
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  methodName  Ljava/lang/String;
            0    1     1      argIdx  I
            0    1     2         arg  Lfreemarker/template/TemplateModel;
    MethodParameters:
            Name  Flags
      methodName  
      argIdx      
      arg         

  public static freemarker.template.TemplateModelException newMethodArgMustBeNumberException(java.lang.String, int, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;ILfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // freemarker.template.TemplateModel arg
         0: .line 244
            aload 0 /* methodName */
            iload 1 /* argIdx */
            ldc "number"
            aload 2 /* arg */
            invokestatic freemarker.core._MessageUtil.newMethodArgUnexpectedTypeException:(Ljava/lang/String;ILjava/lang/String;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
            areturn
        end local 2 // freemarker.template.TemplateModel arg
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  methodName  Ljava/lang/String;
            0    1     1      argIdx  I
            0    1     2         arg  Lfreemarker/template/TemplateModel;
    MethodParameters:
            Name  Flags
      methodName  
      argIdx      
      arg         

  public static freemarker.template.TemplateModelException newMethodArgMustBeBooleanException(java.lang.String, int, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;ILfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // freemarker.template.TemplateModel arg
         0: .line 248
            aload 0 /* methodName */
            iload 1 /* argIdx */
            ldc "boolean"
            aload 2 /* arg */
            invokestatic freemarker.core._MessageUtil.newMethodArgUnexpectedTypeException:(Ljava/lang/String;ILjava/lang/String;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
            areturn
        end local 2 // freemarker.template.TemplateModel arg
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  methodName  Ljava/lang/String;
            0    1     1      argIdx  I
            0    1     2         arg  Lfreemarker/template/TemplateModel;
    MethodParameters:
            Name  Flags
      methodName  
      argIdx      
      arg         

  public static freemarker.template.TemplateModelException newMethodArgMustBeExtendedHashException(java.lang.String, int, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;ILfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // freemarker.template.TemplateModel arg
         0: .line 253
            aload 0 /* methodName */
            iload 1 /* argIdx */
            ldc "extended hash"
            aload 2 /* arg */
            invokestatic freemarker.core._MessageUtil.newMethodArgUnexpectedTypeException:(Ljava/lang/String;ILjava/lang/String;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
            areturn
        end local 2 // freemarker.template.TemplateModel arg
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  methodName  Ljava/lang/String;
            0    1     1      argIdx  I
            0    1     2         arg  Lfreemarker/template/TemplateModel;
    MethodParameters:
            Name  Flags
      methodName  
      argIdx      
      arg         

  public static freemarker.template.TemplateModelException newMethodArgMustBeSequenceException(java.lang.String, int, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;ILfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // freemarker.template.TemplateModel arg
         0: .line 258
            aload 0 /* methodName */
            iload 1 /* argIdx */
            ldc "sequence"
            aload 2 /* arg */
            invokestatic freemarker.core._MessageUtil.newMethodArgUnexpectedTypeException:(Ljava/lang/String;ILjava/lang/String;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
            areturn
        end local 2 // freemarker.template.TemplateModel arg
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  methodName  Ljava/lang/String;
            0    1     1      argIdx  I
            0    1     2         arg  Lfreemarker/template/TemplateModel;
    MethodParameters:
            Name  Flags
      methodName  
      argIdx      
      arg         

  public static freemarker.template.TemplateModelException newMethodArgMustBeSequenceOrCollectionException(java.lang.String, int, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;ILfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // freemarker.template.TemplateModel arg
         0: .line 263
            aload 0 /* methodName */
            iload 1 /* argIdx */
            ldc "sequence or collection"
            aload 2 /* arg */
            invokestatic freemarker.core._MessageUtil.newMethodArgUnexpectedTypeException:(Ljava/lang/String;ILjava/lang/String;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
            areturn
        end local 2 // freemarker.template.TemplateModel arg
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  methodName  Ljava/lang/String;
            0    1     1      argIdx  I
            0    1     2         arg  Lfreemarker/template/TemplateModel;
    MethodParameters:
            Name  Flags
      methodName  
      argIdx      
      arg         

  public static freemarker.template.TemplateModelException newMethodArgUnexpectedTypeException(java.lang.String, int, java.lang.String, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;ILjava/lang/String;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=4, args_size=4
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // java.lang.String expectedType
        start local 3 // freemarker.template.TemplateModel arg
         0: .line 268
            new freemarker.core._TemplateModelException
            dup
            bipush 8
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 269
            aload 0 /* methodName */
            aastore
            dup
            iconst_1
            ldc "(...) expects "
            aastore
            dup
            iconst_2
            new freemarker.core._DelayedAOrAn
            dup
            aload 2 /* expectedType */
            invokespecial freemarker.core._DelayedAOrAn.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            iconst_3
            ldc " as argument #"
            aastore
            dup
            iconst_4
            iload 1 /* argIdx */
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_5
         2: .line 270
            ldc ", but received "
            aastore
            dup
            bipush 6
            new freemarker.core._DelayedAOrAn
            dup
            new freemarker.core._DelayedFTLTypeDescription
            dup
            aload 3 /* arg */
            invokespecial freemarker.core._DelayedFTLTypeDescription.<init>:(Lfreemarker/template/TemplateModel;)V
            invokespecial freemarker.core._DelayedAOrAn.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            bipush 7
            ldc "."
         3: .line 268
            aastore
            invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
            areturn
        end local 3 // freemarker.template.TemplateModel arg
        end local 2 // java.lang.String expectedType
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0    methodName  Ljava/lang/String;
            0    4     1        argIdx  I
            0    4     2  expectedType  Ljava/lang/String;
            0    4     3           arg  Lfreemarker/template/TemplateModel;
    MethodParameters:
              Name  Flags
      methodName    
      argIdx        
      expectedType  
      arg           

  public static freemarker.template.TemplateModelException newMethodArgInvalidValueException(java.lang.String, int, java.lang.Object[]);
    descriptor: (Ljava/lang/String;I[Ljava/lang/Object;)Lfreemarker/template/TemplateModelException;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.String methodName
        start local 1 // int argIdx
        start local 2 // java.lang.Object[] details
         0: .line 278
            new freemarker.core._TemplateModelException
            dup
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 279
            aload 0 /* methodName */
            aastore
            dup
            iconst_1
            ldc "(...) argument #"
            aastore
            dup
            iconst_2
            iload 1 /* argIdx */
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
         2: .line 280
            ldc " had invalid value: "
            aastore
            dup
            iconst_4
            aload 2 /* details */
         3: .line 278
            aastore
            invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Object[] details
        end local 1 // int argIdx
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  methodName  Ljava/lang/String;
            0    4     1      argIdx  I
            0    4     2     details  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      methodName  
      argIdx      
      details     

  public static freemarker.template.TemplateModelException newMethodArgsInvalidValueException(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lfreemarker/template/TemplateModelException;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String methodName
        start local 1 // java.lang.Object[] details
         0: .line 288
            new freemarker.core._TemplateModelException
            dup
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* methodName */
            aastore
            dup
            iconst_1
            ldc "(...) arguments have invalid value: "
            aastore
            dup
            iconst_2
            aload 1 /* details */
            aastore
            invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object[] details
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  methodName  Ljava/lang/String;
            0    1     1     details  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      methodName  
      details     

  public static freemarker.template.TemplateException newInstantiatingClassNotAllowedException(java.lang.String, freemarker.core.Environment);
    descriptor: (Ljava/lang/String;Lfreemarker/core/Environment;)Lfreemarker/template/TemplateException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // java.lang.String className
        start local 1 // freemarker.core.Environment env
         0: .line 292
            new freemarker.core._MiscTemplateException
            dup
            aload 1 /* env */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 293
            ldc "Instantiating "
            aastore
            dup
            iconst_1
            aload 0 /* className */
            aastore
            dup
            iconst_2
            ldc " is not allowed in the template for security reasons."
         2: .line 292
            aastore
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;[Ljava/lang/Object;)V
            areturn
        end local 1 // freemarker.core.Environment env
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  className  Ljava/lang/String;
            0    3     1        env  Lfreemarker/core/Environment;
    MethodParameters:
           Name  Flags
      className  
      env        

  public static freemarker.core._TemplateModelException newCantFormatUnknownTypeDateException(freemarker.core.Expression, freemarker.core.UnknownDateTypeFormattingUnsupportedException);
    descriptor: (Lfreemarker/core/Expression;Lfreemarker/core/UnknownDateTypeFormattingUnsupportedException;)Lfreemarker/core/_TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // freemarker.core.Expression dateSourceExpr
        start local 1 // freemarker.core.UnknownDateTypeFormattingUnsupportedException cause
         0: .line 298
            new freemarker.core._TemplateModelException
            dup
            aload 1 /* cause */
            aconst_null
            new freemarker.core._ErrorDescriptionBuilder
            dup
         1: .line 299
            ldc "Can't convert the date-like value to string because it isn't known if it's a date (no time part), time or date-time value."
            invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:(Ljava/lang/String;)V
         2: .line 300
            aload 0 /* dateSourceExpr */
            invokevirtual freemarker.core._ErrorDescriptionBuilder.blame:(Lfreemarker/core/Expression;)Lfreemarker/core/_ErrorDescriptionBuilder;
         3: .line 301
            getstatic freemarker.core._MessageUtil.UNKNOWN_DATE_TO_STRING_TIPS:[Ljava/lang/Object;
            invokevirtual freemarker.core._ErrorDescriptionBuilder.tips:([Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
         4: .line 298
            invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
            areturn
        end local 1 // freemarker.core.UnknownDateTypeFormattingUnsupportedException cause
        end local 0 // freemarker.core.Expression dateSourceExpr
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0  dateSourceExpr  Lfreemarker/core/Expression;
            0    5     1           cause  Lfreemarker/core/UnknownDateTypeFormattingUnsupportedException;
    MethodParameters:
                Name  Flags
      dateSourceExpr  
      cause           

  public static freemarker.template.TemplateException newCantFormatDateException(freemarker.core.TemplateDateFormat, freemarker.core.Expression, freemarker.core.TemplateValueFormatException, boolean);
    descriptor: (Lfreemarker/core/TemplateDateFormat;Lfreemarker/core/Expression;Lfreemarker/core/TemplateValueFormatException;Z)Lfreemarker/template/TemplateException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // freemarker.core.TemplateDateFormat format
        start local 1 // freemarker.core.Expression dataSrcExp
        start local 2 // freemarker.core.TemplateValueFormatException e
        start local 3 // boolean useTempModelExc
         0: .line 306
            new freemarker.core._ErrorDescriptionBuilder
            dup
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 307
            ldc "Failed to format date/time/datetime with format "
            aastore
            dup
            iconst_1
            new freemarker.core._DelayedJQuote
            dup
            aload 0 /* format */
            invokevirtual freemarker.core.TemplateDateFormat.getDescription:()Ljava/lang/String;
            invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            iconst_2
            ldc ": "
            aastore
            dup
            iconst_3
         2: .line 308
            aload 2 /* e */
            invokevirtual freemarker.core.TemplateValueFormatException.getMessage:()Ljava/lang/String;
         3: .line 306
            aastore
            invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
         4: .line 309
            aload 1 /* dataSrcExp */
            invokevirtual freemarker.core._ErrorDescriptionBuilder.blame:(Lfreemarker/core/Expression;)Lfreemarker/core/_ErrorDescriptionBuilder;
         5: .line 306
            astore 4 /* desc */
        start local 4 // freemarker.core._ErrorDescriptionBuilder desc
         6: .line 310
            iload 3 /* useTempModelExc */
            ifeq 8
         7: .line 311
            new freemarker.core._TemplateModelException
            dup
            aload 2 /* e */
            aconst_null
            aload 4 /* desc */
            invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
            goto 9
         8: .line 312
      StackMap locals: freemarker.core._ErrorDescriptionBuilder
      StackMap stack:
            new freemarker.core._MiscTemplateException
            dup
            aload 2 /* e */
            aconst_null
            aload 4 /* desc */
            invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
         9: .line 310
      StackMap locals:
      StackMap stack: freemarker.template.TemplateException
            areturn
        end local 4 // freemarker.core._ErrorDescriptionBuilder desc
        end local 3 // boolean useTempModelExc
        end local 2 // freemarker.core.TemplateValueFormatException e
        end local 1 // freemarker.core.Expression dataSrcExp
        end local 0 // freemarker.core.TemplateDateFormat format
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0           format  Lfreemarker/core/TemplateDateFormat;
            0   10     1       dataSrcExp  Lfreemarker/core/Expression;
            0   10     2                e  Lfreemarker/core/TemplateValueFormatException;
            0   10     3  useTempModelExc  Z
            6   10     4             desc  Lfreemarker/core/_ErrorDescriptionBuilder;
    MethodParameters:
                 Name  Flags
      format           
      dataSrcExp       
      e                
      useTempModelExc  

  public static freemarker.template.TemplateException newCantFormatNumberException(freemarker.core.TemplateNumberFormat, freemarker.core.Expression, freemarker.core.TemplateValueFormatException, boolean);
    descriptor: (Lfreemarker/core/TemplateNumberFormat;Lfreemarker/core/Expression;Lfreemarker/core/TemplateValueFormatException;Z)Lfreemarker/template/TemplateException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // freemarker.core.TemplateNumberFormat format
        start local 1 // freemarker.core.Expression dataSrcExp
        start local 2 // freemarker.core.TemplateValueFormatException e
        start local 3 // boolean useTempModelExc
         0: .line 317
            new freemarker.core._ErrorDescriptionBuilder
            dup
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 318
            ldc "Failed to format number with format "
            aastore
            dup
            iconst_1
            new freemarker.core._DelayedJQuote
            dup
            aload 0 /* format */
            invokevirtual freemarker.core.TemplateNumberFormat.getDescription:()Ljava/lang/String;
            invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            iconst_2
            ldc ": "
            aastore
            dup
            iconst_3
         2: .line 319
            aload 2 /* e */
            invokevirtual freemarker.core.TemplateValueFormatException.getMessage:()Ljava/lang/String;
         3: .line 317
            aastore
            invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
         4: .line 320
            aload 1 /* dataSrcExp */
            invokevirtual freemarker.core._ErrorDescriptionBuilder.blame:(Lfreemarker/core/Expression;)Lfreemarker/core/_ErrorDescriptionBuilder;
         5: .line 317
            astore 4 /* desc */
        start local 4 // freemarker.core._ErrorDescriptionBuilder desc
         6: .line 321
            iload 3 /* useTempModelExc */
            ifeq 8
         7: .line 322
            new freemarker.core._TemplateModelException
            dup
            aload 2 /* e */
            aconst_null
            aload 4 /* desc */
            invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
            goto 9
         8: .line 323
      StackMap locals: freemarker.core._ErrorDescriptionBuilder
      StackMap stack:
            new freemarker.core._MiscTemplateException
            dup
            aload 2 /* e */
            aconst_null
            aload 4 /* desc */
            invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
         9: .line 321
      StackMap locals:
      StackMap stack: freemarker.template.TemplateException
            areturn
        end local 4 // freemarker.core._ErrorDescriptionBuilder desc
        end local 3 // boolean useTempModelExc
        end local 2 // freemarker.core.TemplateValueFormatException e
        end local 1 // freemarker.core.Expression dataSrcExp
        end local 0 // freemarker.core.TemplateNumberFormat format
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0           format  Lfreemarker/core/TemplateNumberFormat;
            0   10     1       dataSrcExp  Lfreemarker/core/Expression;
            0   10     2                e  Lfreemarker/core/TemplateValueFormatException;
            0   10     3  useTempModelExc  Z
            6   10     4             desc  Lfreemarker/core/_ErrorDescriptionBuilder;
    MethodParameters:
                 Name  Flags
      format           
      dataSrcExp       
      e                
      useTempModelExc  

  public static freemarker.template.TemplateModelException newKeyValuePairListingNonStringKeyExceptionMessage(freemarker.template.TemplateModel, freemarker.template.TemplateHashModelEx);
    descriptor: (Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateHashModelEx;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // freemarker.template.TemplateModel key
        start local 1 // freemarker.template.TemplateHashModelEx listedHashEx
         0: .line 328
            new freemarker.core._TemplateModelException
            dup
            new freemarker.core._ErrorDescriptionBuilder
            dup
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 329
            ldc "When listing key-value pairs of traditional hash implementations, all keys must be strings, but one of them was "
            aastore
            dup
            iconst_1
         2: .line 332
            new freemarker.core._DelayedAOrAn
            dup
            new freemarker.core._DelayedFTLTypeDescription
            dup
            aload 0 /* key */
            invokespecial freemarker.core._DelayedFTLTypeDescription.<init>:(Lfreemarker/template/TemplateModel;)V
            invokespecial freemarker.core._DelayedAOrAn.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            iconst_2
            ldc "."
            aastore
            invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 333
            ldc "The listed value's TemplateModel class was "
            aastore
            dup
            iconst_1
         4: .line 334
            new freemarker.core._DelayedShortClassName
            dup
            aload 1 /* listedHashEx */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokespecial freemarker.core._DelayedShortClassName.<init>:(Ljava/lang/Class;)V
            aastore
            dup
            iconst_2
         5: .line 335
            ldc ", which doesn't implement "
            aastore
            dup
            iconst_3
         6: .line 336
            new freemarker.core._DelayedShortClassName
            dup
            ldc Lfreemarker/template/TemplateHashModelEx2;
            invokespecial freemarker.core._DelayedShortClassName.<init>:(Ljava/lang/Class;)V
            aastore
            dup
            iconst_4
         7: .line 337
            ldc ", which leads to this restriction."
            aastore
         8: .line 333
            invokevirtual freemarker.core._ErrorDescriptionBuilder.tip:([Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
         9: .line 328
            invokespecial freemarker.core._TemplateModelException.<init>:(Lfreemarker/core/_ErrorDescriptionBuilder;)V
            areturn
        end local 1 // freemarker.template.TemplateHashModelEx listedHashEx
        end local 0 // freemarker.template.TemplateModel key
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0           key  Lfreemarker/template/TemplateModel;
            0   10     1  listedHashEx  Lfreemarker/template/TemplateHashModelEx;
    MethodParameters:
              Name  Flags
      key           
      listedHashEx  

  public static java.lang.String getAOrAn(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String s
         0: .line 344
            aload 0 /* s */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 2
            ldc ""
            areturn
         2: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toLowerCase:(C)C
            istore 1 /* fc */
        start local 1 // char fc
         3: .line 348
            iload 1 /* fc */
            bipush 97
            if_icmpeq 4
            iload 1 /* fc */
            bipush 101
            if_icmpeq 4
            iload 1 /* fc */
            bipush 105
            if_icmpne 5
         4: .line 349
      StackMap locals: int
      StackMap stack:
            ldc "an"
            areturn
         5: .line 350
      StackMap locals:
      StackMap stack:
            iload 1 /* fc */
            bipush 104
            if_icmpne 12
         6: .line 351
            aload 0 /* s */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 2 /* ls */
        start local 2 // java.lang.String ls
         7: .line 352
            aload 2 /* ls */
            ldc "has"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
            aload 2 /* ls */
            ldc "hi"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 353
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "a"
            areturn
         9: .line 354
      StackMap locals:
      StackMap stack:
            aload 2 /* ls */
            ldc "ht"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 355
            ldc "an"
            areturn
        11: .line 357
      StackMap locals:
      StackMap stack:
            ldc "a(n)"
            areturn
        end local 2 // java.lang.String ls
        12: .line 359
      StackMap locals:
      StackMap stack:
            iload 1 /* fc */
            bipush 117
            if_icmpeq 13
            iload 1 /* fc */
            bipush 111
            if_icmpne 14
        13: .line 360
      StackMap locals:
      StackMap stack:
            ldc "a(n)"
            areturn
        14: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 15
            aload 0 /* s */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 2 /* sc */
        start local 2 // char sc
        17: .line 363
            iload 1 /* fc */
            bipush 120
            if_icmpne 19
            iload 2 /* sc */
            bipush 97
            if_icmpeq 19
            iload 2 /* sc */
            bipush 101
            if_icmpeq 19
            iload 2 /* sc */
            bipush 105
            if_icmpeq 19
            iload 2 /* sc */
            bipush 97
            if_icmpeq 19
            iload 2 /* sc */
            bipush 111
            if_icmpeq 19
            iload 2 /* sc */
            bipush 117
            if_icmpeq 19
        18: .line 364
            ldc "an"
            areturn
        19: .line 366
      StackMap locals: int
      StackMap stack:
            ldc "a"
            areturn
        end local 2 // char sc
        end local 1 // char fc
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0     s  Ljava/lang/String;
            3   20     1    fc  C
            7   12     2    ls  Ljava/lang/String;
           17   20     2    sc  C
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "_MessageUtil.java"