public final class org.testng.reporters.XMLUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.testng.reporters.XMLUtils
  super_class: java.lang.Object
{
  private static final java.lang.String EOL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 20
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic org.testng.reporters.XMLUtils.EOL:Ljava/lang/String;
            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 // org.testng.reporters.XMLUtils this
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 24
            return
        end local 0 // org.testng.reporters.XMLUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/reporters/XMLUtils;

  public static java.lang.String xml(java.lang.String, java.lang.String, java.lang.String, java.util.Properties);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
         0: .line 35
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNullable cannot be resolved to a type\n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeInvisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        Nullable()
      METHOD_FORMAL_PARAMETER
        Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        Nullable()
      3:
        Nullable()
    MethodParameters:
            Name  Flags
      indent      
      name        
      content     
      attributes  

  public static java.lang.String extractComment(java.lang.String, java.util.Properties);
    descriptor: (Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.lang.String tag
        start local 1 // java.util.Properties properties
         0: .line 48
            aload 1 /* properties */
            ifnull 1
            ldc "span"
            aload 0 /* tag */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
            areturn
         2: .line 50
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "id"
            aastore
            dup
            iconst_1
            ldc "name"
            aastore
            dup
            iconst_2
            ldc "class"
            aastore
            astore 2 /* attributes */
        start local 2 // java.lang.String[] attributes
         3: .line 51
            aload 2 /* attributes */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: java.lang.String java.util.Properties java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* a */
        start local 3 // java.lang.String a
         5: .line 52
            aload 1 /* properties */
            aload 3 /* a */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* comment */
        start local 7 // java.lang.String comment
         6: .line 53
            aload 7 /* comment */
            ifnull 8
         7: .line 54
            new java.lang.StringBuilder
            dup
            ldc " <!-- "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* comment */
            ldc "[-]{2,}"
            ldc "-"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " -->"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 7 // java.lang.String comment
        end local 3 // java.lang.String a
         8: .line 51
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 4
        10: .line 58
            aconst_null
            areturn
        end local 2 // java.lang.String[] attributes
        end local 1 // java.util.Properties properties
        end local 0 // java.lang.String tag
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0         tag  Ljava/lang/String;
            0   11     1  properties  Ljava/util/Properties;
            3   11     2  attributes  [Ljava/lang/String;
            5    8     3           a  Ljava/lang/String;
            6    8     7     comment  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      tag         
      properties  

  public static void xmlOptional(org.testng.reporters.IBuffer, java.lang.String, java.lang.String, java.lang.Boolean, java.util.Properties);
    descriptor: (Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/util/Properties;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.testng.reporters.IBuffer result
        start local 1 // java.lang.String sp
        start local 2 // java.lang.String elementName
        start local 3 // java.lang.Boolean value
        start local 4 // java.util.Properties attributes
         0: .line 63
            aload 3 /* value */
            ifnull 2
         1: .line 64
            aload 0 /* result */
            aload 1 /* sp */
            aload 2 /* elementName */
            aload 3 /* value */
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            aload 4 /* attributes */
            invokestatic org.testng.reporters.XMLUtils.xmlRequired:(Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)V
         2: .line 66
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.Properties attributes
        end local 3 // java.lang.Boolean value
        end local 2 // java.lang.String elementName
        end local 1 // java.lang.String sp
        end local 0 // org.testng.reporters.IBuffer result
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0       result  Lorg/testng/reporters/IBuffer;
            0    3     1           sp  Ljava/lang/String;
            0    3     2  elementName  Ljava/lang/String;
            0    3     3        value  Ljava/lang/Boolean;
            0    3     4   attributes  Ljava/util/Properties;
    MethodParameters:
             Name  Flags
      result       
      sp           
      elementName  
      value        
      attributes   

  public static void xmlOptional(org.testng.reporters.IBuffer, java.lang.String, java.lang.String, java.lang.String, java.util.Properties);
    descriptor: (Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
         0: .line 69
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeInvisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
      3:
        Nullable()
      4:
    MethodParameters:
             Name  Flags
      result       
      sp           
      elementName  
      value        
      attributes   

  public static void xmlRequired(org.testng.reporters.IBuffer, java.lang.String, java.lang.String, java.lang.String, java.util.Properties);
    descriptor: (Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
         0: .line 76
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNullable cannot be resolved to a type\n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeInvisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        Nullable()
      METHOD_FORMAL_PARAMETER
        Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
      3:
        Nullable()
      4:
        Nullable()
    MethodParameters:
             Name  Flags
      result       
      sp           
      elementName  
      value        
      attributes   

  public static void xmlOpen(org.testng.reporters.IBuffer, java.lang.String, java.lang.String, java.util.Properties);
    descriptor: (Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.testng.reporters.IBuffer result
        start local 1 // java.lang.String indent
        start local 2 // java.lang.String tag
        start local 3 // java.util.Properties attributes
         0: .line 82
            aload 0 /* result */
            aload 1 /* indent */
            aload 2 /* tag */
            aload 3 /* attributes */
            iconst_0
            invokestatic org.testng.reporters.XMLUtils.xmlOpen:(Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;Z)V
         1: .line 83
            return
        end local 3 // java.util.Properties attributes
        end local 2 // java.lang.String tag
        end local 1 // java.lang.String indent
        end local 0 // org.testng.reporters.IBuffer result
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0      result  Lorg/testng/reporters/IBuffer;
            0    2     1      indent  Ljava/lang/String;
            0    2     2         tag  Ljava/lang/String;
            0    2     3  attributes  Ljava/util/Properties;
    MethodParameters:
            Name  Flags
      result      
      indent      
      tag         
      attributes  

  public static void appendAttributes(org.testng.reporters.IBuffer, java.util.Properties);
    descriptor: (Lorg/testng/reporters/IBuffer;Ljava/util/Properties;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.testng.reporters.IBuffer result
        start local 1 // java.util.Properties attributes
         0: .line 95
            aload 1 /* attributes */
            ifnull 8
         1: .line 96
            aload 1 /* attributes */
            invokevirtual java.util.Properties.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.testng.reporters.IBuffer java.util.Properties top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* element */
        start local 2 // java.lang.Object element
         3: .line 97
            aload 2 /* element */
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         4: .line 98
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 5 /* key */
        start local 5 // java.lang.String key
         5: .line 99
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.testng.reporters.XMLUtils.escape:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
         6: .line 100
            aload 0 /* result */
            ldc " "
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            aload 5 /* key */
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            ldc "=\""
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            aload 6 /* value */
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            ldc "\""
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            pop
        end local 6 // java.lang.String value
        end local 5 // java.lang.String key
        end local 4 // java.util.Map$Entry entry
        end local 2 // java.lang.Object element
         7: .line 96
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 103
      StackMap locals: org.testng.reporters.IBuffer java.util.Properties
      StackMap stack:
            return
        end local 1 // java.util.Properties attributes
        end local 0 // org.testng.reporters.IBuffer result
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0      result  Lorg/testng/reporters/IBuffer;
            0    9     1  attributes  Ljava/util/Properties;
            3    7     2     element  Ljava/lang/Object;
            4    7     4       entry  Ljava/util/Map$Entry;
            5    7     5         key  Ljava/lang/String;
            6    7     6       value  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      result      
      attributes  

  public static void xmlOpen(org.testng.reporters.IBuffer, java.lang.String, java.lang.String, java.util.Properties, boolean);
    descriptor: (Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.testng.reporters.IBuffer result
        start local 1 // java.lang.String indent
        start local 2 // java.lang.String tag
        start local 3 // java.util.Properties attributes
        start local 4 // boolean noNewLine
         0: .line 107
            aload 0 /* result */
            aload 1 /* indent */
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            ldc "<"
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            aload 2 /* tag */
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            pop
         1: .line 108
            aload 0 /* result */
            aload 3 /* attributes */
            invokestatic org.testng.reporters.XMLUtils.appendAttributes:(Lorg/testng/reporters/IBuffer;Ljava/util/Properties;)V
         2: .line 109
            aload 0 /* result */
            ldc ">"
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            pop
         3: .line 110
            iload 4 /* noNewLine */
            ifne 5
         4: .line 111
            aload 0 /* result */
            getstatic org.testng.reporters.XMLUtils.EOL:Ljava/lang/String;
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            pop
         5: .line 113
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean noNewLine
        end local 3 // java.util.Properties attributes
        end local 2 // java.lang.String tag
        end local 1 // java.lang.String indent
        end local 0 // org.testng.reporters.IBuffer result
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0      result  Lorg/testng/reporters/IBuffer;
            0    6     1      indent  Ljava/lang/String;
            0    6     2         tag  Ljava/lang/String;
            0    6     3  attributes  Ljava/util/Properties;
            0    6     4   noNewLine  Z
    MethodParameters:
            Name  Flags
      result      
      indent      
      tag         
      attributes  
      noNewLine   

  public static void xmlClose(org.testng.reporters.IBuffer, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/testng/reporters/IBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.testng.reporters.IBuffer result
        start local 1 // java.lang.String indent
        start local 2 // java.lang.String tag
        start local 3 // java.lang.String comment
         0: .line 116
            aload 0 /* result */
            aload 1 /* indent */
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            ldc "</"
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            aload 2 /* tag */
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            ldc ">"
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
         1: .line 117
            aload 3 /* comment */
            invokestatic org.testng.util.Strings.getValueOrEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
         2: .line 118
            getstatic org.testng.reporters.XMLUtils.EOL:Ljava/lang/String;
            invokeinterface org.testng.reporters.IBuffer.append:(Ljava/lang/CharSequence;)Lorg/testng/reporters/IBuffer;
            pop
         3: .line 119
            return
        end local 3 // java.lang.String comment
        end local 2 // java.lang.String tag
        end local 1 // java.lang.String indent
        end local 0 // org.testng.reporters.IBuffer result
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0   result  Lorg/testng/reporters/IBuffer;
            0    4     1   indent  Ljava/lang/String;
            0    4     2      tag  Ljava/lang/String;
            0    4     3  comment  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      result   
      indent   
      tag      
      comment  

  public static java.lang.String escape(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String input
         0: .line 122
            aload 0 /* input */
            ifnonnull 2
         1: .line 123
            aconst_null
            areturn
         2: .line 125
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         3: .line 126
            new java.text.StringCharacterIterator
            dup
            aload 0 /* input */
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
            astore 2 /* iterator */
        start local 2 // java.text.StringCharacterIterator iterator
         4: .line 127
            aload 2 /* iterator */
            invokevirtual java.text.StringCharacterIterator.current:()C
            istore 3 /* character */
        start local 3 // char character
         5: .line 128
            goto 23
         6: .line 129
      StackMap locals: java.lang.StringBuilder java.text.StringCharacterIterator int
      StackMap stack:
            iload 3 /* character */
            bipush 60
            if_icmpne 9
         7: .line 130
            aload 1 /* result */
            ldc "&lt;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 131
            goto 22
      StackMap locals:
      StackMap stack:
         9: iload 3 /* character */
            bipush 62
            if_icmpne 12
        10: .line 132
            aload 1 /* result */
            ldc "&gt;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 133
            goto 22
      StackMap locals:
      StackMap stack:
        12: iload 3 /* character */
            bipush 34
            if_icmpne 15
        13: .line 134
            aload 1 /* result */
            ldc "&quot;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 135
            goto 22
      StackMap locals:
      StackMap stack:
        15: iload 3 /* character */
            bipush 39
            if_icmpne 18
        16: .line 136
            aload 1 /* result */
            ldc "&#039;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 137
            goto 22
      StackMap locals:
      StackMap stack:
        18: iload 3 /* character */
            bipush 38
            if_icmpne 21
        19: .line 138
            aload 1 /* result */
            ldc "&amp;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 139
            goto 22
        21: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            iload 3 /* character */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 142
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokevirtual java.text.StringCharacterIterator.next:()C
            istore 3 /* character */
        23: .line 128
      StackMap locals:
      StackMap stack:
            iload 3 /* character */
            ldc 65535
            if_icmpne 6
        24: .line 144
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // char character
        end local 2 // java.text.StringCharacterIterator iterator
        end local 1 // java.lang.StringBuilder result
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0      input  Ljava/lang/String;
            3   25     1     result  Ljava/lang/StringBuilder;
            4   25     2   iterator  Ljava/text/StringCharacterIterator;
            5   25     3  character  C
    MethodParameters:
       Name  Flags
      input  
}
SourceFile: "XMLUtils.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map