class ch.qos.logback.core.pattern.parser.TokenStream
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: ch.qos.logback.core.pattern.parser.TokenStream
  super_class: java.lang.Object
{
  final java.lang.String pattern;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final int patternLength;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final ch.qos.logback.core.pattern.util.IEscapeUtil escapeUtil;
    descriptor: Lch/qos/logback/core/pattern/util/IEscapeUtil;
    flags: (0x0010) ACC_FINAL

  final ch.qos.logback.core.pattern.util.IEscapeUtil optionEscapeUtil;
    descriptor: Lch/qos/logback/core/pattern/util/IEscapeUtil;
    flags: (0x0010) ACC_FINAL

  ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState state;
    descriptor: Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
    flags: (0x0000) 

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

  private static volatile int[] $SWITCH_TABLE$ch$qos$logback$core$pattern$parser$TokenStream$TokenizerState;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // java.lang.String pattern
         0: .line 64
            aload 0 /* this */
            aload 1 /* pattern */
            new ch.qos.logback.core.pattern.util.RegularEscapeUtil
            dup
            invokespecial ch.qos.logback.core.pattern.util.RegularEscapeUtil.<init>:()V
            invokespecial ch.qos.logback.core.pattern.parser.TokenStream.<init>:(Ljava/lang/String;Lch/qos/logback/core/pattern/util/IEscapeUtil;)V
         1: .line 65
            return
        end local 1 // java.lang.String pattern
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0    2     1  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  void <init>(java.lang.String, ch.qos.logback.core.pattern.util.IEscapeUtil);
    descriptor: (Ljava/lang/String;Lch/qos/logback/core/pattern/util/IEscapeUtil;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // java.lang.String pattern
        start local 2 // ch.qos.logback.core.pattern.util.IEscapeUtil escapeUtil
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            new ch.qos.logback.core.pattern.util.RestrictedEscapeUtil
            dup
            invokespecial ch.qos.logback.core.pattern.util.RestrictedEscapeUtil.<init>:()V
            putfield ch.qos.logback.core.pattern.parser.TokenStream.optionEscapeUtil:Lch/qos/logback/core/pattern/util/IEscapeUtil;
         2: .line 59
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.LITERAL_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         3: .line 60
            aload 0 /* this */
            iconst_0
            putfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
         4: .line 68
            aload 1 /* pattern */
            ifnull 5
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 69
      StackMap locals: ch.qos.logback.core.pattern.parser.TokenStream java.lang.String ch.qos.logback.core.pattern.util.IEscapeUtil
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "null or empty pattern string not allowed"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pattern */
            putfield ch.qos.logback.core.pattern.parser.TokenStream.pattern:Ljava/lang/String;
         7: .line 72
            aload 0 /* this */
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            putfield ch.qos.logback.core.pattern.parser.TokenStream.patternLength:I
         8: .line 73
            aload 0 /* this */
            aload 2 /* escapeUtil */
            putfield ch.qos.logback.core.pattern.parser.TokenStream.escapeUtil:Lch/qos/logback/core/pattern/util/IEscapeUtil;
         9: .line 74
            return
        end local 2 // ch.qos.logback.core.pattern.util.IEscapeUtil escapeUtil
        end local 1 // java.lang.String pattern
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0   10     1     pattern  Ljava/lang/String;
            0   10     2  escapeUtil  Lch/qos/logback/core/pattern/util/IEscapeUtil;
    MethodParameters:
            Name  Flags
      pattern     
      escapeUtil  

  java.util.List tokenize();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
         0: .line 77
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* tokenList */
        start local 1 // java.util.List tokenList
         1: .line 78
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         2: .line 80
            goto 15
         3: .line 81
      StackMap locals: java.util.List java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pattern:Ljava/lang/String;
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         4: .line 82
            aload 0 /* this */
            dup
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            iconst_1
            iadd
            putfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
         5: .line 84
            invokestatic ch.qos.logback.core.pattern.parser.TokenStream.$SWITCH_TABLE$ch$qos$logback$core$pattern$parser$TokenStream$TokenizerState:()[I
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 6
                    2: 8
                    3: 12
                    4: 10
                    5: 14
              default: 15
          }
         6: .line 86
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* c */
            aload 1 /* tokenList */
            aload 2 /* buf */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.handleLiteralState:(CLjava/util/List;Ljava/lang/StringBuffer;)V
         7: .line 87
            goto 15
         8: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* c */
            aload 1 /* tokenList */
            aload 2 /* buf */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.handleFormatModifierState:(CLjava/util/List;Ljava/lang/StringBuffer;)V
         9: .line 90
            goto 15
        10: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* c */
            aload 1 /* tokenList */
            aload 2 /* buf */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.processOption:(CLjava/util/List;Ljava/lang/StringBuffer;)V
        11: .line 93
            goto 15
        12: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* c */
            aload 1 /* tokenList */
            aload 2 /* buf */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.handleKeywordState:(CLjava/util/List;Ljava/lang/StringBuffer;)V
        13: .line 96
            goto 15
        14: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* c */
            aload 1 /* tokenList */
            aload 2 /* buf */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.handleRightParenthesisState:(CLjava/util/List;Ljava/lang/StringBuffer;)V
        end local 3 // char c
        15: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.patternLength:I
            if_icmplt 3
        16: .line 106
            invokestatic ch.qos.logback.core.pattern.parser.TokenStream.$SWITCH_TABLE$ch$qos$logback$core$pattern$parser$TokenStream$TokenizerState:()[I
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 17
                    2: 23
                    3: 19
                    4: 23
                    5: 21
              default: 24
          }
        17: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1000
            aload 2 /* buf */
            aload 1 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
        18: .line 109
            goto 24
        19: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* tokenList */
            new ch.qos.logback.core.pattern.parser.Token
            dup
            sipush 1004
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial ch.qos.logback.core.pattern.parser.Token.<init>:(ILjava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 112
            goto 24
        21: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* tokenList */
            getstatic ch.qos.logback.core.pattern.parser.Token.RIGHT_PARENTHESIS_TOKEN:Lch/qos/logback/core/pattern/parser/Token;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 115
            goto 24
        23: .line 119
      StackMap locals:
      StackMap stack:
            new ch.qos.logback.core.spi.ScanException
            dup
            ldc "Unexpected end of pattern string"
            invokespecial ch.qos.logback.core.spi.ScanException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* tokenList */
            areturn
        end local 2 // java.lang.StringBuffer buf
        end local 1 // java.util.List tokenList
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lch/qos/logback/core/pattern/parser/TokenStream;
            1   25     1  tokenList  Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;
            2   25     2        buf  Ljava/lang/StringBuffer;
            4   15     3          c  C
    Exceptions:
      throws ch.qos.logback.core.spi.ScanException

  private void handleRightParenthesisState(char, java.util.List<ch.qos.logback.core.pattern.parser.Token>, java.lang.StringBuffer);
    descriptor: (CLjava/util/List;Ljava/lang/StringBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // char c
        start local 2 // java.util.List tokenList
        start local 3 // java.lang.StringBuffer buf
         0: .line 126
            aload 2 /* tokenList */
            getstatic ch.qos.logback.core.pattern.parser.Token.RIGHT_PARENTHESIS_TOKEN:Lch/qos/logback/core/pattern/parser/Token;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 127
            iload 1 /* c */
            lookupswitch { // 3
                   41: 2
                   92: 5
                  123: 3
              default: 8
          }
         2: .line 129
      StackMap locals:
      StackMap stack:
            goto 10
         3: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.OPTION_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         4: .line 132
            goto 10
         5: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "%{}"
            aload 3 /* buf */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.escape:(Ljava/lang/String;Ljava/lang/StringBuffer;)V
         6: .line 135
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.LITERAL_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         7: .line 136
            goto 10
         8: .line 138
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 139
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.LITERAL_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
        10: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.StringBuffer buf
        end local 2 // java.util.List tokenList
        end local 1 // char c
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0   11     1          c  C
            0   11     2  tokenList  Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;
            0   11     3        buf  Ljava/lang/StringBuffer;
    Signature: (CLjava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;Ljava/lang/StringBuffer;)V
    MethodParameters:
           Name  Flags
      c          
      tokenList  
      buf        

  private void processOption(char, java.util.List<ch.qos.logback.core.pattern.parser.Token>, java.lang.StringBuffer);
    descriptor: (CLjava/util/List;Ljava/lang/StringBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // char c
        start local 2 // java.util.List tokenList
        start local 3 // java.lang.StringBuffer buf
         0: .line 144
            new ch.qos.logback.core.pattern.parser.OptionTokenizer
            dup
            aload 0 /* this */
            invokespecial ch.qos.logback.core.pattern.parser.OptionTokenizer.<init>:(Lch/qos/logback/core/pattern/parser/TokenStream;)V
            astore 4 /* ot */
        start local 4 // ch.qos.logback.core.pattern.parser.OptionTokenizer ot
         1: .line 145
            aload 4 /* ot */
            iload 1 /* c */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.OptionTokenizer.tokenize:(CLjava/util/List;)V
         2: .line 146
            return
        end local 4 // ch.qos.logback.core.pattern.parser.OptionTokenizer ot
        end local 3 // java.lang.StringBuffer buf
        end local 2 // java.util.List tokenList
        end local 1 // char c
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0    3     1          c  C
            0    3     2  tokenList  Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;
            0    3     3        buf  Ljava/lang/StringBuffer;
            1    3     4         ot  Lch/qos/logback/core/pattern/parser/OptionTokenizer;
    Exceptions:
      throws ch.qos.logback.core.spi.ScanException
    Signature: (CLjava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;Ljava/lang/StringBuffer;)V
    MethodParameters:
           Name  Flags
      c          
      tokenList  
      buf        

  private void handleFormatModifierState(char, java.util.List<ch.qos.logback.core.pattern.parser.Token>, java.lang.StringBuffer);
    descriptor: (CLjava/util/List;Ljava/lang/StringBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // char c
        start local 2 // java.util.List tokenList
        start local 3 // java.lang.StringBuffer buf
         0: .line 149
            iload 1 /* c */
            bipush 40
            if_icmpne 5
         1: .line 150
            aload 0 /* this */
            sipush 1002
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
         2: .line 151
            aload 2 /* tokenList */
            getstatic ch.qos.logback.core.pattern.parser.Token.BARE_COMPOSITE_KEYWORD_TOKEN:Lch/qos/logback/core/pattern/parser/Token;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 152
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.LITERAL_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         4: .line 153
            goto 11
      StackMap locals:
      StackMap stack:
         5: iload 1 /* c */
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ifeq 10
         6: .line 154
            aload 0 /* this */
            sipush 1002
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
         7: .line 155
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.KEYWORD_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         8: .line 156
            aload 3 /* buf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 157
            goto 11
        10: .line 158
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 160
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.StringBuffer buf
        end local 2 // java.util.List tokenList
        end local 1 // char c
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0   12     1          c  C
            0   12     2  tokenList  Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;
            0   12     3        buf  Ljava/lang/StringBuffer;
    Signature: (CLjava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;Ljava/lang/StringBuffer;)V
    MethodParameters:
           Name  Flags
      c          
      tokenList  
      buf        

  private void handleLiteralState(char, java.util.List<ch.qos.logback.core.pattern.parser.Token>, java.lang.StringBuffer);
    descriptor: (CLjava/util/List;Ljava/lang/StringBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // char c
        start local 2 // java.util.List tokenList
        start local 3 // java.lang.StringBuffer buf
         0: .line 163
            iload 1 /* c */
            lookupswitch { // 3
                   37: 3
                   41: 7
                   92: 1
              default: 10
          }
         1: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "%()"
            aload 3 /* buf */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.escape:(Ljava/lang/String;Ljava/lang/StringBuffer;)V
         2: .line 166
            goto 11
         3: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1000
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
         4: .line 170
            aload 2 /* tokenList */
            getstatic ch.qos.logback.core.pattern.parser.Token.PERCENT_TOKEN:Lch/qos/logback/core/pattern/parser/Token;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 171
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.FORMAT_MODIFIER_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         6: .line 172
            goto 11
         7: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1000
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
         8: .line 176
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.RIGHT_PARENTHESIS_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         9: .line 177
            goto 11
        10: .line 180
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.StringBuffer buf
        end local 2 // java.util.List tokenList
        end local 1 // char c
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0   12     1          c  C
            0   12     2  tokenList  Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;
            0   12     3        buf  Ljava/lang/StringBuffer;
    Signature: (CLjava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;Ljava/lang/StringBuffer;)V
    MethodParameters:
           Name  Flags
      c          
      tokenList  
      buf        

  private void handleKeywordState(char, java.util.List<ch.qos.logback.core.pattern.parser.Token>, java.lang.StringBuffer);
    descriptor: (CLjava/util/List;Ljava/lang/StringBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // char c
        start local 2 // java.util.List tokenList
        start local 3 // java.lang.StringBuffer buf
         0: .line 186
            iload 1 /* c */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 3
         1: .line 187
            aload 3 /* buf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 188
            goto 28
      StackMap locals:
      StackMap stack:
         3: iload 1 /* c */
            bipush 123
            if_icmpne 7
         4: .line 189
            aload 0 /* this */
            sipush 1004
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
         5: .line 190
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.OPTION_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
         6: .line 191
            goto 28
      StackMap locals:
      StackMap stack:
         7: iload 1 /* c */
            bipush 40
            if_icmpne 11
         8: .line 192
            aload 0 /* this */
            sipush 1005
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
         9: .line 193
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.LITERAL_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
        10: .line 194
            goto 28
      StackMap locals:
      StackMap stack:
        11: iload 1 /* c */
            bipush 37
            if_icmpne 16
        12: .line 195
            aload 0 /* this */
            sipush 1004
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
        13: .line 196
            aload 2 /* tokenList */
            getstatic ch.qos.logback.core.pattern.parser.Token.PERCENT_TOKEN:Lch/qos/logback/core/pattern/parser/Token;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 197
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.FORMAT_MODIFIER_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
        15: .line 198
            goto 28
      StackMap locals:
      StackMap stack:
        16: iload 1 /* c */
            bipush 41
            if_icmpne 20
        17: .line 199
            aload 0 /* this */
            sipush 1004
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
        18: .line 200
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.RIGHT_PARENTHESIS_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
        19: .line 201
            goto 28
        20: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1004
            aload 3 /* buf */
            aload 2 /* tokenList */
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream.addValuedToken:(ILjava/lang/StringBuffer;Ljava/util/List;)V
        21: .line 203
            iload 1 /* c */
            bipush 92
            if_icmpne 26
        22: .line 204
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.patternLength:I
            if_icmpge 27
        23: .line 205
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pattern:Ljava/lang/String;
            aload 0 /* this */
            dup
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            dup_x1
            iconst_1
            iadd
            putfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* next */
        start local 4 // char next
        24: .line 206
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.escapeUtil:Lch/qos/logback/core/pattern/util/IEscapeUtil;
            ldc "%()"
            aload 3 /* buf */
            iload 4 /* next */
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            invokeinterface ch.qos.logback.core.pattern.util.IEscapeUtil.escape:(Ljava/lang/String;Ljava/lang/StringBuffer;CI)V
        end local 4 // char next
        25: .line 208
            goto 27
        26: .line 209
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        27: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.LITERAL_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            putfield ch.qos.logback.core.pattern.parser.TokenStream.state:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
        28: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.StringBuffer buf
        end local 2 // java.util.List tokenList
        end local 1 // char c
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0   29     1          c  C
            0   29     2  tokenList  Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;
            0   29     3        buf  Ljava/lang/StringBuffer;
           24   25     4       next  C
    Signature: (CLjava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;Ljava/lang/StringBuffer;)V
    MethodParameters:
           Name  Flags
      c          
      tokenList  
      buf        

  void escape(java.lang.String, java.lang.StringBuffer);
    descriptor: (Ljava/lang/String;Ljava/lang/StringBuffer;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // java.lang.String escapeChars
        start local 2 // java.lang.StringBuffer buf
         0: .line 216
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.patternLength:I
            if_icmpge 3
         1: .line 217
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pattern:Ljava/lang/String;
            aload 0 /* this */
            dup
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            dup_x1
            iconst_1
            iadd
            putfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* next */
        start local 3 // char next
         2: .line 218
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.escapeUtil:Lch/qos/logback/core/pattern/util/IEscapeUtil;
            aload 1 /* escapeChars */
            aload 2 /* buf */
            iload 3 /* next */
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            invokeinterface ch.qos.logback.core.pattern.util.IEscapeUtil.escape:(Ljava/lang/String;Ljava/lang/StringBuffer;CI)V
        end local 3 // char next
         3: .line 220
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.StringBuffer buf
        end local 1 // java.lang.String escapeChars
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0    4     1  escapeChars  Ljava/lang/String;
            0    4     2          buf  Ljava/lang/StringBuffer;
            2    3     3         next  C
    MethodParameters:
             Name  Flags
      escapeChars  
      buf          

  void optionEscape(java.lang.String, java.lang.StringBuffer);
    descriptor: (Ljava/lang/String;Ljava/lang/StringBuffer;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // java.lang.String escapeChars
        start local 2 // java.lang.StringBuffer buf
         0: .line 223
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.patternLength:I
            if_icmpge 3
         1: .line 224
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pattern:Ljava/lang/String;
            aload 0 /* this */
            dup
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            dup_x1
            iconst_1
            iadd
            putfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* next */
        start local 3 // char next
         2: .line 225
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.optionEscapeUtil:Lch/qos/logback/core/pattern/util/IEscapeUtil;
            aload 1 /* escapeChars */
            aload 2 /* buf */
            iload 3 /* next */
            aload 0 /* this */
            getfield ch.qos.logback.core.pattern.parser.TokenStream.pointer:I
            invokeinterface ch.qos.logback.core.pattern.util.IEscapeUtil.escape:(Ljava/lang/String;Ljava/lang/StringBuffer;CI)V
        end local 3 // char next
         3: .line 227
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.StringBuffer buf
        end local 1 // java.lang.String escapeChars
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0    4     1  escapeChars  Ljava/lang/String;
            0    4     2          buf  Ljava/lang/StringBuffer;
            2    3     3         next  C
    MethodParameters:
             Name  Flags
      escapeChars  
      buf          

  private void addValuedToken(int, java.lang.StringBuffer, java.util.List<ch.qos.logback.core.pattern.parser.Token>);
    descriptor: (ILjava/lang/StringBuffer;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
        start local 1 // int type
        start local 2 // java.lang.StringBuffer buf
        start local 3 // java.util.List tokenList
         0: .line 230
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            ifle 3
         1: .line 231
            aload 3 /* tokenList */
            new ch.qos.logback.core.pattern.parser.Token
            dup
            iload 1 /* type */
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial ch.qos.logback.core.pattern.parser.Token.<init>:(ILjava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 232
            aload 2 /* buf */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
         3: .line 234
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List tokenList
        end local 2 // java.lang.StringBuffer buf
        end local 1 // int type
        end local 0 // ch.qos.logback.core.pattern.parser.TokenStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lch/qos/logback/core/pattern/parser/TokenStream;
            0    4     1       type  I
            0    4     2        buf  Ljava/lang/StringBuffer;
            0    4     3  tokenList  Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;
    Signature: (ILjava/lang/StringBuffer;Ljava/util/List<Lch/qos/logback/core/pattern/parser/Token;>;)V
    MethodParameters:
           Name  Flags
      type       
      buf        
      tokenList  

  static int[] $SWITCH_TABLE$ch$qos$logback$core$pattern$parser$TokenStream$TokenizerState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 47
            getstatic ch.qos.logback.core.pattern.parser.TokenStream.$SWITCH_TABLE$ch$qos$logback$core$pattern$parser$TokenStream$TokenizerState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.values:()[Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.FORMAT_MODIFIER_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.KEYWORD_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.LITERAL_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.OPTION_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.RIGHT_PARENTHESIS_STATE:Lch/qos/logback/core/pattern/parser/TokenStream$TokenizerState;
            invokevirtual ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic ch.qos.logback.core.pattern.parser.TokenStream.$SWITCH_TABLE$ch$qos$logback$core$pattern$parser$TokenStream$TokenizerState:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "TokenStream.java"
NestMembers:
  ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState
InnerClasses:
  final TokenizerState = ch.qos.logback.core.pattern.parser.TokenStream$TokenizerState of ch.qos.logback.core.pattern.parser.TokenStream