public class javax.naming.ldap.Rdn implements java.io.Serializable, java.lang.Comparable<java.lang.Object>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.naming.ldap.Rdn
  super_class: java.lang.Object
{
  private transient java.util.ArrayList<javax.naming.ldap.Rdn$RdnEntry> entries;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/ArrayList<Ljavax/naming/ldap/Rdn$RdnEntry;>;

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

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -5994465067210009656

  private static final java.lang.String escapees;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ",=+<>#;\"\\"

  public void <init>(javax.naming.directory.Attributes);
    descriptor: (Ljavax/naming/directory/Attributes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // javax.naming.directory.Attributes attrSet
         0: .line 129
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 130
            aload 1 /* attrSet */
            invokeinterface javax.naming.directory.Attributes.size:()I
            ifne 3
         2: .line 131
            new javax.naming.InvalidNameException
            dup
            ldc "Attributes cannot be empty"
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 133
      StackMap locals: javax.naming.ldap.Rdn javax.naming.directory.Attributes
      StackMap stack:
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* attrSet */
            invokeinterface javax.naming.directory.Attributes.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
         4: .line 134
            aload 1 /* attrSet */
            invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
            astore 2 /* attrs */
        start local 2 // javax.naming.NamingEnumeration attrs
         5: .line 136
            iconst_0
            istore 3 /* nEntries */
        start local 3 // int nEntries
         6: goto 13
         7: .line 137
      StackMap locals: javax.naming.NamingEnumeration int
      StackMap stack:
            new javax.naming.ldap.Rdn$RdnEntry
            dup
            invokespecial javax.naming.ldap.Rdn$RdnEntry.<init>:()V
            astore 4 /* entry */
        start local 4 // javax.naming.ldap.Rdn$RdnEntry entry
         8: .line 138
            aload 2 /* attrs */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            astore 5 /* attr */
        start local 5 // javax.naming.directory.Attribute attr
         9: .line 139
            aload 4 /* entry */
            aload 5 /* attr */
            invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
            putfield javax.naming.ldap.Rdn$RdnEntry.type:Ljava/lang/String;
        10: .line 140
            aload 4 /* entry */
            aload 5 /* attr */
            invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
            putfield javax.naming.ldap.Rdn$RdnEntry.value:Ljava/lang/Object;
        11: .line 141
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 3 /* nEntries */
            aload 4 /* entry */
            invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
        end local 5 // javax.naming.directory.Attribute attr
        end local 4 // javax.naming.ldap.Rdn$RdnEntry entry
        12: .line 136
            iinc 3 /* nEntries */ 1
      StackMap locals:
      StackMap stack:
        13: aload 2 /* attrs */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 7
        end local 3 // int nEntries
        14: .line 143
            goto 21
      StackMap locals: javax.naming.ldap.Rdn javax.naming.directory.Attributes javax.naming.NamingEnumeration
      StackMap stack: javax.naming.NamingException
        15: astore 3 /* e */
        start local 3 // javax.naming.NamingException e
        16: .line 144
            new javax.naming.InvalidNameException
            dup
        17: .line 145
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.getMessage:()Ljava/lang/String;
        18: .line 144
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            astore 4 /* e2 */
        start local 4 // javax.naming.InvalidNameException e2
        19: .line 146
            aload 4 /* e2 */
            aload 3 /* e */
            invokevirtual javax.naming.InvalidNameException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        20: .line 147
            aload 4 /* e2 */
            athrow
        end local 4 // javax.naming.InvalidNameException e2
        end local 3 // javax.naming.NamingException e
        21: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.naming.ldap.Rdn.sort:()V
        22: .line 150
            return
        end local 2 // javax.naming.NamingEnumeration attrs
        end local 1 // javax.naming.directory.Attributes attrSet
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Ljavax/naming/ldap/Rdn;
            0   23     1   attrSet  Ljavax/naming/directory/Attributes;
            5   23     2     attrs  Ljavax/naming/NamingEnumeration<+Ljavax/naming/directory/Attribute;>;
            6   14     3  nEntries  I
            8   12     4     entry  Ljavax/naming/ldap/Rdn$RdnEntry;
            9   12     5      attr  Ljavax/naming/directory/Attribute;
           16   21     3         e  Ljavax/naming/NamingException;
           19   21     4        e2  Ljavax/naming/InvalidNameException;
      Exception table:
        from    to  target  type
           5    14      15  Class javax.naming.NamingException
    Exceptions:
      throws javax.naming.InvalidNameException
    MethodParameters:
         Name  Flags
      attrSet  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.lang.String rdnString
         0: .line 163
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 164
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
         2: .line 165
            new javax.naming.ldap.Rfc2253Parser
            dup
            aload 1 /* rdnString */
            invokespecial javax.naming.ldap.Rfc2253Parser.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.naming.ldap.Rfc2253Parser.parseRdn:(Ljavax/naming/ldap/Rdn;)Ljavax/naming/ldap/Rdn;
            pop
         3: .line 166
            return
        end local 1 // java.lang.String rdnString
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljavax/naming/ldap/Rdn;
            0    4     1  rdnString  Ljava/lang/String;
    Exceptions:
      throws javax.naming.InvalidNameException
    MethodParameters:
           Name  Flags
      rdnString  

  public void <init>(javax.naming.ldap.Rdn);
    descriptor: (Ljavax/naming/ldap/Rdn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // javax.naming.ldap.Rdn rdn
         0: .line 174
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 175
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* rdn */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
         2: .line 176
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            aload 1 /* rdn */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 177
            return
        end local 1 // javax.naming.ldap.Rdn rdn
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/naming/ldap/Rdn;
            0    4     1   rdn  Ljavax/naming/ldap/Rdn;
    MethodParameters:
      Name  Flags
      rdn   

  public void <init>(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.lang.String type
        start local 2 // java.lang.Object value
         0: .line 193
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 194
            aload 2 /* value */
            ifnonnull 3
         2: .line 195
            new java.lang.NullPointerException
            dup
            ldc "Cannot set value to null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 197
      StackMap locals: javax.naming.ldap.Rdn java.lang.String java.lang.Object
      StackMap stack:
            aload 1 /* type */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual javax.naming.ldap.Rdn.isEmptyValue:(Ljava/lang/Object;)Z
            ifeq 9
         4: .line 198
      StackMap locals:
      StackMap stack:
            new javax.naming.InvalidNameException
            dup
         5: .line 199
            new java.lang.StringBuilder
            dup
            ldc "type or value cannot be empty, type:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 200
            ldc " value:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 199
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 198
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
        10: .line 203
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* value */
            invokevirtual javax.naming.ldap.Rdn.put:(Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/ldap/Rdn;
            pop
        11: .line 204
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String type
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljavax/naming/ldap/Rdn;
            0   12     1   type  Ljava/lang/String;
            0   12     2  value  Ljava/lang/Object;
    Exceptions:
      throws javax.naming.InvalidNameException
    MethodParameters:
       Name  Flags
      type   
      value  

  private boolean isEmptyValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.lang.Object val
         0: .line 207
            aload 1 /* val */
            instanceof java.lang.String
            ifeq 1
            aload 1 /* val */
            ldc ""
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* val */
            instanceof byte[]
            ifeq 2
            aload 1 /* val */
            checkcast byte[]
            arraylength
            ifeq 3
         2: .line 207
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // java.lang.Object val
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/naming/ldap/Rdn;
            0    4     1   val  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      val   

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
         2: .line 214
            return
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/naming/ldap/Rdn;

  javax.naming.ldap.Rdn put(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/ldap/Rdn;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.lang.String type
        start local 2 // java.lang.Object value
         0: .line 231
            new javax.naming.ldap.Rdn$RdnEntry
            dup
            invokespecial javax.naming.ldap.Rdn$RdnEntry.<init>:()V
            astore 3 /* newEntry */
        start local 3 // javax.naming.ldap.Rdn$RdnEntry newEntry
         1: .line 232
            aload 3 /* newEntry */
            aload 1 /* type */
            putfield javax.naming.ldap.Rdn$RdnEntry.type:Ljava/lang/String;
         2: .line 233
            aload 2 /* value */
            instanceof byte[]
            ifeq 5
         3: .line 234
            aload 3 /* newEntry */
            aload 2 /* value */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            putfield javax.naming.ldap.Rdn$RdnEntry.value:Ljava/lang/Object;
         4: .line 235
            goto 6
         5: .line 236
      StackMap locals: javax.naming.ldap.Rdn$RdnEntry
      StackMap stack:
            aload 3 /* newEntry */
            aload 2 /* value */
            putfield javax.naming.ldap.Rdn$RdnEntry.value:Ljava/lang/Object;
         6: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            aload 3 /* newEntry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 239
            aload 0 /* this */
            areturn
        end local 3 // javax.naming.ldap.Rdn$RdnEntry newEntry
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String type
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljavax/naming/ldap/Rdn;
            0    8     1      type  Ljava/lang/String;
            0    8     2     value  Ljava/lang/Object;
            1    8     3  newEntry  Ljavax/naming/ldap/Rdn$RdnEntry;
    MethodParameters:
       Name  Flags
      type   
      value  

  void sort();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 243
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmple 2
         1: .line 244
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
         2: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/naming/ldap/Rdn;

  public java.lang.Object getValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 260
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.naming.ldap.Rdn$RdnEntry
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.getValue:()Ljava/lang/Object;
            areturn
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/ldap/Rdn;

  public java.lang.String getType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 278
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.naming.ldap.Rdn$RdnEntry
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.getType:()Ljava/lang/String;
            areturn
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/ldap/Rdn;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 289
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 290
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* size */
        start local 2 // int size
         2: .line 291
            iload 2 /* size */
            ifle 4
         3: .line 292
            aload 1 /* builder */
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         4: .line 294
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iconst_1
            istore 3 /* next */
        start local 3 // int next
         5: goto 9
         6: .line 295
      StackMap locals: int
      StackMap stack:
            aload 1 /* builder */
            bipush 43
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 296
            aload 1 /* builder */
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 3 /* next */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         8: .line 294
            iinc 3 /* next */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* next */
            iload 2 /* size */
            if_icmplt 6
        end local 3 // int next
        10: .line 298
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // int size
        end local 1 // java.lang.StringBuilder builder
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljavax/naming/ldap/Rdn;
            1   11     1  builder  Ljava/lang/StringBuilder;
            2   11     2     size  I
            5   10     3     next  I

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.lang.Object obj
         0: .line 320
            aload 1 /* obj */
            instanceof javax.naming.ldap.Rdn
            ifne 2
         1: .line 321
            new java.lang.ClassCastException
            dup
            ldc "The obj is not a Rdn"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 323
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 4
         3: .line 324
            iconst_0
            ireturn
         4: .line 326
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast javax.naming.ldap.Rdn
            astore 2 /* that */
        start local 2 // javax.naming.ldap.Rdn that
         5: .line 327
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            aload 2 /* that */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* minSize */
        start local 3 // int minSize
         6: .line 328
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 12
         8: .line 331
      StackMap locals: javax.naming.ldap.Rdn int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.naming.ldap.Rdn$RdnEntry
            aload 2 /* that */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.naming.ldap.Rdn$RdnEntry
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.compareTo:(Ljavax/naming/ldap/Rdn$RdnEntry;)I
            istore 5 /* diff */
        start local 5 // int diff
         9: .line 332
            iload 5 /* diff */
            ifeq 11
        10: .line 333
            iload 5 /* diff */
            ireturn
        end local 5 // int diff
        11: .line 328
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* minSize */
            if_icmplt 8
        end local 4 // int i
        13: .line 336
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            aload 2 /* that */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            isub
            ireturn
        end local 3 // int minSize
        end local 2 // javax.naming.ldap.Rdn that
        end local 1 // java.lang.Object obj
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Ljavax/naming/ldap/Rdn;
            0   14     1      obj  Ljava/lang/Object;
            5   14     2     that  Ljavax/naming/ldap/Rdn;
            6   14     3  minSize  I
            7   13     4        i  I
            9   11     5     diff  I
    MethodParameters:
      Name  Flags
      obj   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.lang.Object obj
         0: .line 361
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 362
            iconst_1
            ireturn
         2: .line 364
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.naming.ldap.Rdn
            ifne 4
         3: .line 365
            iconst_0
            ireturn
         4: .line 367
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast javax.naming.ldap.Rdn
            astore 2 /* that */
        start local 2 // javax.naming.ldap.Rdn that
         5: .line 368
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            aload 2 /* that */
            invokevirtual javax.naming.ldap.Rdn.size:()I
            if_icmpeq 7
         6: .line 369
            iconst_0
            ireturn
         7: .line 371
      StackMap locals: javax.naming.ldap.Rdn
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 372
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.naming.ldap.Rdn$RdnEntry
            aload 2 /* that */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 373
            iconst_0
            ireturn
        11: .line 371
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 9
        end local 3 // int i
        13: .line 376
            iconst_1
            ireturn
        end local 2 // javax.naming.ldap.Rdn that
        end local 1 // java.lang.Object obj
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljavax/naming/ldap/Rdn;
            0   14     1   obj  Ljava/lang/Object;
            5   14     2  that  Ljavax/naming/ldap/Rdn;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 390
            iconst_0
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 393
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 394
      StackMap locals: int int
      StackMap stack:
            iload 1 /* hash */
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.naming.ldap.Rdn$RdnEntry
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.hashCode:()I
            iadd
            istore 1 /* hash */
         4: .line 393
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 396
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/naming/ldap/Rdn;
            1    7     1  hash  I
            2    6     2     i  I

  public javax.naming.directory.Attributes toAttributes();
    descriptor: ()Ljavax/naming/directory/Attributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 407
            new javax.naming.directory.BasicAttributes
            dup
            iconst_1
            invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
            astore 1 /* attrs */
        start local 1 // javax.naming.directory.Attributes attrs
         1: .line 408
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 9
         3: .line 409
      StackMap locals: javax.naming.directory.Attributes int
      StackMap stack:
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.naming.ldap.Rdn$RdnEntry
            astore 3 /* entry */
        start local 3 // javax.naming.ldap.Rdn$RdnEntry entry
         4: .line 410
            aload 1 /* attrs */
            aload 3 /* entry */
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.getType:()Ljava/lang/String;
            aload 3 /* entry */
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.getValue:()Ljava/lang/Object;
            invokeinterface javax.naming.directory.Attributes.put:(Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/directory/Attribute;
            astore 4 /* attr */
        start local 4 // javax.naming.directory.Attribute attr
         5: .line 411
            aload 4 /* attr */
            ifnull 8
         6: .line 412
            aload 4 /* attr */
            aload 3 /* entry */
            invokevirtual javax.naming.ldap.Rdn$RdnEntry.getValue:()Ljava/lang/Object;
            invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
            pop
         7: .line 413
            aload 1 /* attrs */
            aload 4 /* attr */
            invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
            pop
        end local 4 // javax.naming.directory.Attribute attr
        end local 3 // javax.naming.ldap.Rdn$RdnEntry entry
         8: .line 408
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 2 // int i
        10: .line 416
            aload 1 /* attrs */
            areturn
        end local 1 // javax.naming.directory.Attributes attrs
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljavax/naming/ldap/Rdn;
            1   11     1  attrs  Ljavax/naming/directory/Attributes;
            2   10     2      i  I
            4    8     3  entry  Ljavax/naming/ldap/Rdn$RdnEntry;
            5    8     4   attr  Ljavax/naming/directory/Attribute;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.ldap.Rdn this
         0: .line 492
            aload 0 /* this */
            getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/ldap/Rdn;

  public static java.lang.String escapeValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object val
         0: .line 511
            aload 0 /* val */
            instanceof byte[]
            ifeq 2
         1: .line 512
            aload 0 /* val */
            checkcast byte[]
            invokestatic javax.naming.ldap.Rdn.escapeBinaryValue:([B)Ljava/lang/String;
            goto 3
         2: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            checkcast java.lang.String
            invokestatic javax.naming.ldap.Rdn.escapeStringValue:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 511
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.Object val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   val  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      val   

  private static java.lang.String escapeStringValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String val
         0: .line 527
            aload 0 /* val */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 528
            new java.lang.StringBuilder
            dup
            iconst_2
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* builder */
        start local 2 // java.lang.StringBuilder builder
         2: .line 532
            iconst_0
            istore 3 /* lead */
        start local 3 // int lead
         3: goto 7
         4: .line 533
      StackMap locals: char[] java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* chars */
            iload 3 /* lead */
            caload
            invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
            ifne 6
         5: .line 534
            goto 8
         6: .line 532
      StackMap locals:
      StackMap stack:
            iinc 3 /* lead */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* lead */
            aload 1 /* chars */
            arraylength
            if_icmplt 4
         8: .line 538
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            arraylength
            iconst_1
            isub
            istore 4 /* trail */
        start local 4 // int trail
         9: goto 13
        10: .line 539
      StackMap locals: int
      StackMap stack:
            aload 1 /* chars */
            iload 4 /* trail */
            caload
            invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
            ifne 12
        11: .line 540
            goto 14
        12: .line 538
      StackMap locals:
      StackMap stack:
            iinc 4 /* trail */ -1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* trail */
            ifge 10
        14: .line 544
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 21
        16: .line 545
      StackMap locals: int
      StackMap stack:
            aload 1 /* chars */
            iload 5 /* i */
            caload
            istore 6 /* c */
        start local 6 // char c
        17: .line 546
            iload 5 /* i */
            iload 3 /* lead */
            if_icmplt 18
            iload 5 /* i */
            iload 4 /* trail */
            if_icmpgt 18
            ldc ",=+<>#;\"\\"
            iload 6 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 19
        18: .line 547
      StackMap locals: int
      StackMap stack:
            aload 2 /* builder */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 549
      StackMap locals:
      StackMap stack:
            aload 2 /* builder */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 6 // char c
        20: .line 544
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 1 /* chars */
            arraylength
            if_icmplt 16
        end local 5 // int i
        22: .line 551
            aload 2 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int trail
        end local 3 // int lead
        end local 2 // java.lang.StringBuilder builder
        end local 1 // char[] chars
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0      val  Ljava/lang/String;
            1   23     1    chars  [C
            2   23     2  builder  Ljava/lang/StringBuilder;
            3   23     3     lead  I
            9   23     4    trail  I
           15   22     5        i  I
           17   20     6        c  C
    MethodParameters:
      Name  Flags
      val   

  private static java.lang.String escapeBinaryValue(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // byte[] val
         0: .line 562
            new java.lang.StringBuilder
            dup
            iconst_1
            iconst_2
            aload 0 /* val */
            arraylength
            imul
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 563
            aload 1 /* builder */
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 565
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 8
         4: .line 566
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* val */
            iload 2 /* i */
            baload
            istore 3 /* b */
        start local 3 // byte b
         5: .line 567
            aload 1 /* builder */
            bipush 15
            iload 3 /* b */
            iconst_4
            iushr
            iand
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 568
            aload 1 /* builder */
            bipush 15
            iload 3 /* b */
            iand
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // byte b
         7: .line 565
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* val */
            arraylength
            if_icmplt 4
        end local 2 // int i
         9: .line 570
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // byte[] val
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0      val  [B
            1   10     1  builder  Ljava/lang/StringBuilder;
            3    9     2        i  I
            5    7     3        b  B
    MethodParameters:
      Name  Flags
      val   

  public static java.lang.Object unescapeValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String val
         0: .line 595
            aload 0 /* val */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 596
            iconst_0
            istore 2 /* beg */
        start local 2 // int beg
         2: .line 597
            aload 1 /* chars */
            arraylength
            istore 3 /* end */
        start local 3 // int end
         3: .line 600
            goto 5
         4: .line 601
      StackMap locals: char[] int int
      StackMap stack:
            iinc 2 /* beg */ 1
         5: .line 600
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* end */
            if_icmpge 8
            aload 1 /* chars */
            iload 2 /* beg */
            caload
            invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
            ifne 4
         6: .line 604
            goto 8
         7: .line 605
      StackMap locals:
      StackMap stack:
            iinc 3 /* end */ -1
         8: .line 604
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* end */
            if_icmpge 9
            aload 1 /* chars */
            iload 3 /* end */
            iconst_1
            isub
            caload
            invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
            ifne 7
         9: .line 611
      StackMap locals:
      StackMap stack:
            iload 3 /* end */
            aload 1 /* chars */
            arraylength
            if_icmpeq 13
        10: .line 612
            iload 2 /* beg */
            iload 3 /* end */
            if_icmpge 13
        11: .line 613
            aload 1 /* chars */
            iload 3 /* end */
            iconst_1
            isub
            caload
            bipush 92
            if_icmpne 13
        12: .line 614
            iinc 3 /* end */ 1
        13: .line 616
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* end */
            if_icmplt 15
        14: .line 617
            ldc ""
            areturn
        15: .line 620
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 2 /* beg */
            caload
            bipush 35
            if_icmpne 17
        16: .line 622
            aload 1 /* chars */
            iinc 2 /* beg */ 1
            iload 2 /* beg */
            iload 3 /* end */
            invokestatic javax.naming.ldap.Rdn.decodeHexPairs:([CII)[B
            areturn
        17: .line 626
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 2 /* beg */
            caload
            bipush 34
            if_icmpne 20
            aload 1 /* chars */
            iload 3 /* end */
            iconst_1
            isub
            caload
            bipush 34
            if_icmpne 20
        18: .line 627
            iinc 2 /* beg */ 1
        19: .line 628
            iinc 3 /* end */ -1
        20: .line 631
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 3 /* end */
            iload 2 /* beg */
            isub
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* builder */
        start local 4 // java.lang.StringBuilder builder
        21: .line 632
            iconst_m1
            istore 5 /* esc */
        start local 5 // int esc
        22: .line 634
            iload 2 /* beg */
            istore 6 /* i */
        start local 6 // int i
        23: goto 44
        24: .line 635
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 1 /* chars */
            iload 6 /* i */
            caload
            bipush 92
            if_icmpne 42
            iload 6 /* i */
            iconst_1
            iadd
            iload 3 /* end */
            if_icmpge 42
        25: .line 636
            aload 1 /* chars */
            iload 6 /* i */
            iconst_1
            iadd
            caload
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 30
        26: .line 637
            iinc 6 /* i */ 1
        27: .line 638
            aload 4 /* builder */
            aload 1 /* chars */
            iload 6 /* i */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        28: .line 639
            iload 6 /* i */
            istore 5 /* esc */
        29: .line 640
            goto 43
        30: .line 643
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 6 /* i */
            iload 3 /* end */
            invokestatic javax.naming.ldap.Rdn.getUtf8Octets:([CII)[B
            astore 7 /* utf8 */
        start local 7 // byte[] utf8
        31: .line 644
            aload 7 /* utf8 */
            arraylength
            ifle 37
        32: .line 646
            aload 4 /* builder */
            new java.lang.String
            dup
            aload 7 /* utf8 */
            ldc "UTF8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 647
            goto 35
      StackMap locals: java.lang.String char[] int int java.lang.StringBuilder int int byte[]
      StackMap stack: java.io.UnsupportedEncodingException
        34: pop
        35: .line 650
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            aload 7 /* utf8 */
            arraylength
            iconst_3
            imul
            iconst_1
            isub
            iadd
            istore 6 /* i */
        36: .line 651
            goto 43
        37: .line 654
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        38: .line 655
            new java.lang.StringBuilder
            dup
            ldc "Not a valid attribute string value:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        39: .line 656
            aload 0 /* val */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",improper usage of backslash"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 655
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 654
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // byte[] utf8
        42: .line 660
      StackMap locals:
      StackMap stack:
            aload 4 /* builder */
            aload 1 /* chars */
            iload 6 /* i */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        43: .line 634
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 6 /* i */
            iload 3 /* end */
            if_icmplt 24
        end local 6 // int i
        45: .line 666
            aload 4 /* builder */
            invokevirtual java.lang.StringBuilder.length:()I
            istore 6 /* len */
        start local 6 // int len
        46: .line 667
            aload 4 /* builder */
            iload 6 /* len */
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
            ifeq 48
            iload 5 /* esc */
            iload 3 /* end */
            iconst_1
            isub
            if_icmpeq 48
        47: .line 668
            aload 4 /* builder */
            iload 6 /* len */
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        48: .line 670
      StackMap locals:
      StackMap stack:
            aload 4 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // int len
        end local 5 // int esc
        end local 4 // java.lang.StringBuilder builder
        end local 3 // int end
        end local 2 // int beg
        end local 1 // char[] chars
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   49     0      val  Ljava/lang/String;
            1   49     1    chars  [C
            2   49     2      beg  I
            3   49     3      end  I
           21   49     4  builder  Ljava/lang/StringBuilder;
           22   49     5      esc  I
           23   45     6        i  I
           31   42     7     utf8  [B
           46   49     6      len  I
      Exception table:
        from    to  target  type
          32    33      34  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      val   

  private static byte[] decodeHexPairs(char[], int, int);
    descriptor: ([CII)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // char[] chars
        start local 1 // int beg
        start local 2 // int end
         0: .line 680
            iload 2 /* end */
            iload 1 /* beg */
            isub
            iconst_2
            idiv
            newarray 8
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         1: .line 681
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 10
         3: .line 682
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* beg */
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 5 /* hi */
        start local 5 // int hi
         4: .line 683
            aload 0 /* chars */
            iload 1 /* beg */
            iconst_1
            iadd
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 6 /* lo */
        start local 6 // int lo
         5: .line 684
            iload 5 /* hi */
            iflt 11
            iload 6 /* lo */
            ifge 7
         6: .line 685
            goto 11
         7: .line 687
      StackMap locals: int int
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* i */
            iload 5 /* hi */
            iconst_4
            ishl
            iload 6 /* lo */
            iadd
            i2b
            bastore
         8: .line 688
            iinc 1 /* beg */ 2
        end local 6 // int lo
        end local 5 // int hi
         9: .line 681
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* beg */
            iconst_1
            iadd
            iload 2 /* end */
            if_icmplt 3
        end local 4 // int i
        11: .line 690
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            iload 2 /* end */
            if_icmpeq 15
        12: .line 691
            new java.lang.IllegalArgumentException
            dup
        13: .line 692
            new java.lang.StringBuilder
            dup
            ldc "Illegal attribute value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* chars */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 691
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 694
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            areturn
        end local 3 // byte[] bytes
        end local 2 // int end
        end local 1 // int beg
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0  chars  [C
            0   16     1    beg  I
            0   16     2    end  I
            1   16     3  bytes  [B
            2   11     4      i  I
            4    9     5     hi  I
            5    9     6     lo  I
    MethodParameters:
       Name  Flags
      chars  
      beg    
      end    

  private static byte[] getUtf8Octets(char[], int, int);
    descriptor: ([CII)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // char[] chars
        start local 1 // int beg
        start local 2 // int end
         0: .line 706
            iload 2 /* end */
            iload 1 /* beg */
            isub
            iconst_3
            idiv
            newarray 8
            astore 3 /* utf8 */
        start local 3 // byte[] utf8
         1: .line 707
            iconst_0
            istore 4 /* len */
        start local 4 // int len
         2: .line 709
            goto 8
         3: .line 711
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* beg */
            iinc 1 /* beg */ 1
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 5 /* hi */
        start local 5 // int hi
         4: .line 712
            aload 0 /* chars */
            iload 1 /* beg */
            iinc 1 /* beg */ 1
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 6 /* lo */
        start local 6 // int lo
         5: .line 713
            iload 5 /* hi */
            iflt 10
            iload 6 /* lo */
            ifge 7
         6: .line 714
            goto 10
         7: .line 716
      StackMap locals: int int
      StackMap stack:
            aload 3 /* utf8 */
            iload 4 /* len */
            iinc 4 /* len */ 1
            iload 5 /* hi */
            iconst_4
            ishl
            iload 6 /* lo */
            iadd
            i2b
            bastore
        end local 6 // int lo
        end local 5 // int hi
         8: .line 709
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            iconst_2
            iadd
            iload 2 /* end */
            if_icmpge 10
         9: .line 710
            aload 0 /* chars */
            iload 1 /* beg */
            iinc 1 /* beg */ 1
            caload
            bipush 92
            if_icmpeq 3
        10: .line 718
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            aload 3 /* utf8 */
            arraylength
            if_icmpne 12
        11: .line 719
            aload 3 /* utf8 */
            areturn
        12: .line 721
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            newarray 8
            astore 5 /* res */
        start local 5 // byte[] res
        13: .line 722
            aload 3 /* utf8 */
            iconst_0
            aload 5 /* res */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 723
            aload 5 /* res */
            areturn
        end local 5 // byte[] res
        end local 4 // int len
        end local 3 // byte[] utf8
        end local 2 // int end
        end local 1 // int beg
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0  chars  [C
            0   15     1    beg  I
            0   15     2    end  I
            1   15     3   utf8  [B
            2   15     4    len  I
            4    8     5     hi  I
            5    8     6     lo  I
           13   15     5    res  [B
    MethodParameters:
       Name  Flags
      chars  
      beg    
      end    

  private static boolean isWhitespace(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 731
            iload 0 /* c */
            bipush 32
            if_icmpeq 1
            iload 0 /* c */
            bipush 13
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 742
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 743
            aload 1 /* s */
            aload 0 /* this */
            invokevirtual javax.naming.ldap.Rdn.toString:()Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         2: .line 744
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/naming/ldap/Rdn;
            0    3     1     s  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.naming.ldap.Rdn this
        start local 1 // java.io.ObjectInputStream s
         0: .line 748
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 749
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
         2: .line 750
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* unparsed */
        start local 2 // java.lang.String unparsed
         3: .line 752
            new javax.naming.ldap.Rfc2253Parser
            dup
            aload 2 /* unparsed */
            invokespecial javax.naming.ldap.Rfc2253Parser.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.naming.ldap.Rfc2253Parser.parseRdn:(Ljavax/naming/ldap/Rdn;)Ljavax/naming/ldap/Rdn;
            pop
         4: .line 753
            goto 9
      StackMap locals: javax.naming.ldap.Rdn java.io.ObjectInputStream java.lang.String
      StackMap stack: javax.naming.InvalidNameException
         5: pop
         6: .line 755
            new java.io.StreamCorruptedException
            dup
         7: .line 756
            new java.lang.StringBuilder
            dup
            ldc "Invalid name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* unparsed */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 755
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 758
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String unparsed
        end local 1 // java.io.ObjectInputStream s
        end local 0 // javax.naming.ldap.Rdn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljavax/naming/ldap/Rdn;
            0   10     1         s  Ljava/io/ObjectInputStream;
            3   10     2  unparsed  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     4       5  Class javax.naming.InvalidNameException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     
}
Signature: Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Object;>;
SourceFile: "Rdn.java"
NestMembers:
  javax.naming.ldap.Rdn$RdnEntry
InnerClasses:
  private RdnEntry = javax.naming.ldap.Rdn$RdnEntry of javax.naming.ldap.Rdn