class org.bouncycastle.est.HttpUtil$PartLexer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.est.HttpUtil$PartLexer
  super_class: java.lang.Object
{
  private final java.lang.String src;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  int last;
    descriptor: I
    flags: (0x0000) 

  int p;
    descriptor: I
    flags: (0x0000) 

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
        start local 1 // java.lang.String src
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
         2: .line 64
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
         3: .line 68
            aload 0 /* this */
            aload 1 /* src */
            putfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
         4: .line 69
            return
        end local 1 // java.lang.String src
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/est/HttpUtil$PartLexer;
            0    5     1   src  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      src   

  java.util.Map<java.lang.String, java.lang.String> Parse();
    descriptor: ()Ljava/util/Map;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
         0: .line 74
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* out */
        start local 1 // java.util.Map out
         1: .line 75
            aconst_null
            astore 2 /* key */
        start local 2 // java.lang.String key
         2: .line 76
            aconst_null
            astore 3 /* value */
        start local 3 // java.lang.String value
         3: .line 77
            goto 22
         4: .line 79
      StackMap locals: java.util.Map java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.skipWhiteSpace:()V
         5: .line 81
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.consumeAlpha:()Ljava/lang/String;
            astore 2 /* key */
         6: .line 82
            aload 2 /* key */
            invokevirtual java.lang.String.length:()I
            ifne 8
         7: .line 84
            new java.lang.IllegalArgumentException
            dup
            ldc "Expecting alpha label."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.skipWhiteSpace:()V
         9: .line 87
            aload 0 /* this */
            bipush 61
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.consumeIf:(C)Z
            ifne 11
        10: .line 89
            new java.lang.IllegalArgumentException
            dup
            ldc "Expecting assign: '='"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.skipWhiteSpace:()V
        12: .line 94
            aload 0 /* this */
            bipush 34
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.consumeIf:(C)Z
            ifne 14
        13: .line 96
            new java.lang.IllegalArgumentException
            dup
            ldc "Expecting start quote: '\"'"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.discard:()V
        15: .line 100
            aload 0 /* this */
            bipush 34
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.consumeUntil:(C)Ljava/lang/String;
            astore 3 /* value */
        16: .line 101
            aload 0 /* this */
            iconst_1
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.discard:(I)V
        17: .line 102
            aload 1 /* out */
            aload 2 /* key */
            aload 3 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 104
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.skipWhiteSpace:()V
        19: .line 105
            aload 0 /* this */
            bipush 44
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.consumeIf:(C)Z
            ifne 21
        20: .line 107
            goto 23
        21: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.discard:()V
        22: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        23: .line 112
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            areturn
        end local 3 // java.lang.String value
        end local 2 // java.lang.String key
        end local 1 // java.util.Map out
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   24     0   this  Lorg/bouncycastle/est/HttpUtil$PartLexer;
            1   24     1    out  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2   24     2    key  Ljava/lang/String;
            3   24     3  value  Ljava/lang/String;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private java.lang.String consumeAlpha();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
         0: .line 118
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
        start local 1 // char c
         1: .line 119
            goto 4
         2: .line 121
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            iconst_1
            iadd
            putfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
         3: .line 122
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
         4: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 6
            iload 1 /* c */
            bipush 97
            if_icmplt 5
            iload 1 /* c */
            bipush 122
            if_icmple 2
      StackMap locals:
      StackMap stack:
         5: iload 1 /* c */
            bipush 65
            if_icmplt 6
            iload 1 /* c */
            bipush 90
            if_icmple 2
         6: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         7: .line 125
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            putfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
         8: .line 126
            aload 2 /* s */
            areturn
        end local 2 // java.lang.String s
        end local 1 // char c
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/bouncycastle/est/HttpUtil$PartLexer;
            1    9     1     c  C
            7    9     2     s  Ljava/lang/String;

  private void skipWhiteSpace();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
         0: .line 131
            goto 2
         1: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            iconst_1
            iadd
            putfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
         2: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 3
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 33
            if_icmplt 1
         3: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            putfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
         4: .line 136
            return
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/est/HttpUtil$PartLexer;

  private boolean consumeIf(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
        start local 1 // char c
         0: .line 141
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 3
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            invokevirtual java.lang.String.charAt:(I)C
            iload 1 /* c */
            if_icmpne 3
         1: .line 143
            aload 0 /* this */
            dup
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            iconst_1
            iadd
            putfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
         2: .line 144
            iconst_1
            ireturn
         3: .line 146
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // char c
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bouncycastle/est/HttpUtil$PartLexer;
            0    4     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private java.lang.String consumeUntil(char);
    descriptor: (C)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
        start local 1 // char c
         0: .line 151
            goto 2
         1: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            iconst_1
            iadd
            putfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 3
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            invokevirtual java.lang.String.charAt:(I)C
            iload 1 /* c */
            if_icmpne 1
         3: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.src:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         4: .line 156
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            putfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
         5: .line 157
            aload 2 /* s */
            areturn
        end local 2 // java.lang.String s
        end local 1 // char c
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/est/HttpUtil$PartLexer;
            0    6     1     c  C
            4    6     2     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c     

  private void discard();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
         0: .line 162
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            putfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
         1: .line 163
            return
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/est/HttpUtil$PartLexer;

  private void discard(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
        start local 1 // int i
         0: .line 167
            aload 0 /* this */
            dup
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            iload 1 /* i */
            iadd
            putfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
         1: .line 168
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.est.HttpUtil$PartLexer.p:I
            putfield org.bouncycastle.est.HttpUtil$PartLexer.last:I
         2: .line 169
            return
        end local 1 // int i
        end local 0 // org.bouncycastle.est.HttpUtil$PartLexer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/est/HttpUtil$PartLexer;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     
}
SourceFile: "HttpUtil.java"
NestHost: org.bouncycastle.est.HttpUtil
InnerClasses:
  PartLexer = org.bouncycastle.est.HttpUtil$PartLexer of org.bouncycastle.est.HttpUtil