final class okhttp3.internal.http2.Http2Reader implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: okhttp3.internal.http2.Http2Reader
  super_class: java.lang.Object
{
  static final java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final okio.BufferedSource source;
    descriptor: Lokio/BufferedSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final okhttp3.internal.http2.Http2Reader$ContinuationSource continuation;
    descriptor: Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean client;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final okhttp3.internal.http2.Hpack$Reader hpackReader;
    descriptor: Lokhttp3/internal/http2/Hpack$Reader;
    flags: (0x0010) ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 60
            ldc Lokhttp3/internal/http2/Http2;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic okhttp3.internal.http2.Http2Reader.logger:Ljava/util/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(okio.BufferedSource, boolean);
    descriptor: (Lokio/BufferedSource;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okio.BufferedSource source
        start local 2 // boolean client
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            aload 1 /* source */
            putfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
         2: .line 72
            aload 0 /* this */
            iload 2 /* client */
            putfield okhttp3.internal.http2.Http2Reader.client:Z
         3: .line 73
            aload 0 /* this */
            new okhttp3.internal.http2.Http2Reader$ContinuationSource
            dup
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokespecial okhttp3.internal.http2.Http2Reader$ContinuationSource.<init>:(Lokio/BufferedSource;)V
            putfield okhttp3.internal.http2.Http2Reader.continuation:Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
         4: .line 74
            aload 0 /* this */
            new okhttp3.internal.http2.Hpack$Reader
            dup
            sipush 4096
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.continuation:Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
            invokespecial okhttp3.internal.http2.Hpack$Reader.<init>:(ILokio/Source;)V
            putfield okhttp3.internal.http2.Http2Reader.hpackReader:Lokhttp3/internal/http2/Hpack$Reader;
         5: .line 75
            return
        end local 2 // boolean client
        end local 1 // okio.BufferedSource source
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lokhttp3/internal/http2/Http2Reader;
            0    6     1  source  Lokio/BufferedSource;
            0    6     2  client  Z
    MethodParameters:
        Name  Flags
      source  
      client  

  public void readConnectionPreface(okhttp3.internal.http2.Http2Reader$Handler);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
         0: .line 78
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.client:Z
            ifeq 3
         1: .line 80
            aload 0 /* this */
            iconst_1
            aload 1 /* handler */
            invokevirtual okhttp3.internal.http2.Http2Reader.nextFrame:(ZLokhttp3/internal/http2/Http2Reader$Handler;)Z
            ifne 7
         2: .line 81
            ldc "Required SETTINGS preface not received"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         3: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            getstatic okhttp3.internal.http2.Http2.CONNECTION_PREFACE:Lokio/ByteString;
            invokevirtual okio.ByteString.size:()I
            i2l
            invokeinterface okio.BufferedSource.readByteString:(J)Lokio/ByteString;
            astore 2 /* connectionPreface */
        start local 2 // okio.ByteString connectionPreface
         4: .line 86
            getstatic okhttp3.internal.http2.Http2Reader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 5
            getstatic okhttp3.internal.http2.Http2Reader.logger:Ljava/util/logging/Logger;
            ldc "<< CONNECTION %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* connectionPreface */
            invokevirtual okio.ByteString.hex:()Ljava/lang/String;
            aastore
            invokestatic okhttp3.internal.Util.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         5: .line 87
      StackMap locals: okio.ByteString
      StackMap stack:
            getstatic okhttp3.internal.http2.Http2.CONNECTION_PREFACE:Lokio/ByteString;
            aload 2 /* connectionPreface */
            invokevirtual okio.ByteString.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 88
            ldc "Expected a connection header but was %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* connectionPreface */
            invokevirtual okio.ByteString.utf8:()Ljava/lang/String;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
        end local 2 // okio.ByteString connectionPreface
         7: .line 91
      StackMap locals:
      StackMap stack:
            return
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lokhttp3/internal/http2/Http2Reader;
            0    8     1            handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            4    7     2  connectionPreface  Lokio/ByteString;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      handler  

  public boolean nextFrame(boolean, okhttp3.internal.http2.Http2Reader$Handler);
    descriptor: (ZLokhttp3/internal/http2/Http2Reader$Handler;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // boolean requireSettings
        start local 2 // okhttp3.internal.http2.Http2Reader$Handler handler
         0: .line 95
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            ldc 9
            invokeinterface okio.BufferedSource.require:(J)V
         1: .line 96
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 97
            iconst_0
            ireturn
         4: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokestatic okhttp3.internal.http2.Http2Reader.readMedium:(Lokio/BufferedSource;)I
            istore 3 /* length */
        start local 3 // int length
         5: .line 112
            iload 3 /* length */
            iflt 6
            iload 3 /* length */
            sipush 16384
            if_icmple 7
         6: .line 113
      StackMap locals: int
      StackMap stack:
            ldc "FRAME_SIZE_ERROR: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         7: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            i2b
            istore 4 /* type */
        start local 4 // byte type
         8: .line 116
            iload 1 /* requireSettings */
            ifeq 10
            iload 4 /* type */
            iconst_4
            if_icmpeq 10
         9: .line 117
            ldc "Expected a SETTINGS frame but was %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* type */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
        10: .line 119
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            i2b
            istore 5 /* flags */
        start local 5 // byte flags
        11: .line 120
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            ldc 2147483647
            iand
            istore 6 /* streamId */
        start local 6 // int streamId
        12: .line 121
            getstatic okhttp3.internal.http2.Http2Reader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 13
            getstatic okhttp3.internal.http2.Http2Reader.logger:Ljava/util/logging/Logger;
            iconst_1
            iload 6 /* streamId */
            iload 3 /* length */
            iload 4 /* type */
            iload 5 /* flags */
            invokestatic okhttp3.internal.http2.Http2.frameLog:(ZIIBB)Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        13: .line 123
      StackMap locals: int int
      StackMap stack:
            iload 4 /* type */
            tableswitch { // 0 - 8
                    0: 14
                    1: 16
                    2: 18
                    3: 20
                    4: 22
                    5: 24
                    6: 26
                    7: 28
                    8: 30
              default: 32
          }
        14: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readData:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        15: .line 126
            goto 33
        16: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readHeaders:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        17: .line 130
            goto 33
        18: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readPriority:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        19: .line 134
            goto 33
        20: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readRstStream:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        21: .line 138
            goto 33
        22: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readSettings:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        23: .line 142
            goto 33
        24: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readPushPromise:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        25: .line 146
            goto 33
        26: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readPing:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        27: .line 150
            goto 33
        28: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readGoAway:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        29: .line 154
            goto 33
        30: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            iload 3 /* length */
            iload 5 /* flags */
            iload 6 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readWindowUpdate:(Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
        31: .line 158
            goto 33
        32: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            iload 3 /* length */
            i2l
            invokeinterface okio.BufferedSource.skip:(J)V
        33: .line 164
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // int streamId
        end local 5 // byte flags
        end local 4 // byte type
        end local 3 // int length
        end local 2 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 1 // boolean requireSettings
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Lokhttp3/internal/http2/Http2Reader;
            0   34     1  requireSettings  Z
            0   34     2          handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            5   34     3           length  I
            8   34     4             type  B
           11   34     5            flags  B
           12   34     6         streamId  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      requireSettings  
      handler          

  private void readHeaders(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 169
            iload 4 /* streamId */
            ifne 1
            ldc "PROTOCOL_ERROR: TYPE_HEADERS streamId == 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 171
      StackMap locals:
      StackMap stack:
            iload 3 /* flags */
            iconst_1
            iand
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* endStream */
        start local 5 // boolean endStream
         4: .line 173
            iload 3 /* flags */
            bipush 8
            iand
            ifeq 5
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            i2s
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* padding */
        start local 6 // short padding
         7: .line 175
            iload 3 /* flags */
            bipush 32
            iand
            ifeq 10
         8: .line 176
            aload 0 /* this */
            aload 1 /* handler */
            iload 4 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readPriority:(Lokhttp3/internal/http2/Http2Reader$Handler;I)V
         9: .line 177
            iinc 2 /* length */ -5
        10: .line 180
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            iload 3 /* flags */
            iload 6 /* padding */
            invokestatic okhttp3.internal.http2.Http2Reader.lengthWithoutPadding:(IBS)I
            istore 2 /* length */
        11: .line 182
            aload 0 /* this */
            iload 2 /* length */
            iload 6 /* padding */
            iload 3 /* flags */
            iload 4 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readHeaderBlock:(ISBI)Ljava/util/List;
            astore 7 /* headerBlock */
        start local 7 // java.util.List headerBlock
        12: .line 184
            aload 1 /* handler */
            iload 5 /* endStream */
            iload 4 /* streamId */
            iconst_m1
            aload 7 /* headerBlock */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.headers:(ZIILjava/util/List;)V
        13: .line 185
            return
        end local 7 // java.util.List headerBlock
        end local 6 // short padding
        end local 5 // boolean endStream
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lokhttp3/internal/http2/Http2Reader;
            0   14     1      handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0   14     2       length  I
            0   14     3        flags  B
            0   14     4     streamId  I
            4   14     5    endStream  Z
            7   14     6      padding  S
           12   14     7  headerBlock  Ljava/util/List<Lokhttp3/internal/http2/Header;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private java.util.List<okhttp3.internal.http2.Header> readHeaderBlock(int, short, byte, int);
    descriptor: (ISBI)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // int length
        start local 2 // short padding
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 189
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.continuation:Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.continuation:Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
            iload 1 /* length */
            dup_x1
            putfield okhttp3.internal.http2.Http2Reader$ContinuationSource.left:I
            putfield okhttp3.internal.http2.Http2Reader$ContinuationSource.length:I
         1: .line 190
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.continuation:Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
            iload 2 /* padding */
            putfield okhttp3.internal.http2.Http2Reader$ContinuationSource.padding:S
         2: .line 191
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.continuation:Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
            iload 3 /* flags */
            putfield okhttp3.internal.http2.Http2Reader$ContinuationSource.flags:B
         3: .line 192
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.continuation:Lokhttp3/internal/http2/Http2Reader$ContinuationSource;
            iload 4 /* streamId */
            putfield okhttp3.internal.http2.Http2Reader$ContinuationSource.streamId:I
         4: .line 196
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.hpackReader:Lokhttp3/internal/http2/Hpack$Reader;
            invokevirtual okhttp3.internal.http2.Hpack$Reader.readHeaders:()V
         5: .line 197
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.hpackReader:Lokhttp3/internal/http2/Hpack$Reader;
            invokevirtual okhttp3.internal.http2.Hpack$Reader.getAndResetHeaderList:()Ljava/util/List;
            areturn
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // short padding
        end local 1 // int length
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lokhttp3/internal/http2/Http2Reader;
            0    6     1    length  I
            0    6     2   padding  S
            0    6     3     flags  B
            0    6     4  streamId  I
    Exceptions:
      throws java.io.IOException
    Signature: (ISBI)Ljava/util/List<Lokhttp3/internal/http2/Header;>;
    MethodParameters:
          Name  Flags
      length    
      padding   
      flags     
      streamId  

  private void readData(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 202
            iload 4 /* streamId */
            ifne 1
            ldc "PROTOCOL_ERROR: TYPE_DATA streamId == 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 205
      StackMap locals:
      StackMap stack:
            iload 3 /* flags */
            iconst_1
            iand
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* inFinished */
        start local 5 // boolean inFinished
         4: .line 206
            iload 3 /* flags */
            bipush 32
            iand
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* gzipped */
        start local 6 // boolean gzipped
         7: .line 207
            iload 6 /* gzipped */
            ifeq 9
         8: .line 208
            ldc "PROTOCOL_ERROR: FLAG_COMPRESSED without SETTINGS_COMPRESS_DATA"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         9: .line 211
      StackMap locals: int
      StackMap stack:
            iload 3 /* flags */
            bipush 8
            iand
            ifeq 10
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            i2s
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 7 /* padding */
        start local 7 // short padding
        12: .line 212
            iload 2 /* length */
            iload 3 /* flags */
            iload 7 /* padding */
            invokestatic okhttp3.internal.http2.Http2Reader.lengthWithoutPadding:(IBS)I
            istore 2 /* length */
        13: .line 214
            aload 1 /* handler */
            iload 5 /* inFinished */
            iload 4 /* streamId */
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            iload 2 /* length */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.data:(ZILokio/BufferedSource;I)V
        14: .line 215
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            iload 7 /* padding */
            i2l
            invokeinterface okio.BufferedSource.skip:(J)V
        15: .line 216
            return
        end local 7 // short padding
        end local 6 // boolean gzipped
        end local 5 // boolean inFinished
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lokhttp3/internal/http2/Http2Reader;
            0   16     1     handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0   16     2      length  I
            0   16     3       flags  B
            0   16     4    streamId  I
            4   16     5  inFinished  Z
            7   16     6     gzipped  Z
           12   16     7     padding  S
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private void readPriority(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 220
            iload 2 /* length */
            iconst_5
            if_icmpeq 1
            ldc "TYPE_PRIORITY length: %d != 5"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 221
      StackMap locals:
      StackMap stack:
            iload 4 /* streamId */
            ifne 2
            ldc "TYPE_PRIORITY streamId == 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         2: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            iload 4 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readPriority:(Lokhttp3/internal/http2/Http2Reader$Handler;I)V
         3: .line 223
            return
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lokhttp3/internal/http2/Http2Reader;
            0    4     1   handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0    4     2    length  I
            0    4     3     flags  B
            0    4     4  streamId  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private void readPriority(okhttp3.internal.http2.Http2Reader$Handler, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int streamId
         0: .line 226
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            istore 3 /* w1 */
        start local 3 // int w1
         1: .line 227
            iload 3 /* w1 */
            ldc -2147483648
            iand
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* exclusive */
        start local 4 // boolean exclusive
         4: .line 228
            iload 3 /* w1 */
            ldc 2147483647
            iand
            istore 5 /* streamDependency */
        start local 5 // int streamDependency
         5: .line 229
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            iconst_1
            iadd
            istore 6 /* weight */
        start local 6 // int weight
         6: .line 230
            aload 1 /* handler */
            iload 2 /* streamId */
            iload 5 /* streamDependency */
            iload 6 /* weight */
            iload 4 /* exclusive */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.priority:(IIIZ)V
         7: .line 231
            return
        end local 6 // int weight
        end local 5 // int streamDependency
        end local 4 // boolean exclusive
        end local 3 // int w1
        end local 2 // int streamId
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lokhttp3/internal/http2/Http2Reader;
            0    8     1           handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0    8     2          streamId  I
            1    8     3                w1  I
            4    8     4         exclusive  Z
            5    8     5  streamDependency  I
            6    8     6            weight  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      streamId  

  private void readRstStream(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 235
            iload 2 /* length */
            iconst_4
            if_icmpeq 1
            ldc "TYPE_RST_STREAM length: %d != 4"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 236
      StackMap locals:
      StackMap stack:
            iload 4 /* streamId */
            ifne 2
            ldc "TYPE_RST_STREAM streamId == 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         2: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            istore 5 /* errorCodeInt */
        start local 5 // int errorCodeInt
         3: .line 238
            iload 5 /* errorCodeInt */
            invokestatic okhttp3.internal.http2.ErrorCode.fromHttp2:(I)Lokhttp3/internal/http2/ErrorCode;
            astore 6 /* errorCode */
        start local 6 // okhttp3.internal.http2.ErrorCode errorCode
         4: .line 239
            aload 6 /* errorCode */
            ifnonnull 6
         5: .line 240
            ldc "TYPE_RST_STREAM unexpected error code: %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 5 /* errorCodeInt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         6: .line 242
      StackMap locals: int okhttp3.internal.http2.ErrorCode
      StackMap stack:
            aload 1 /* handler */
            iload 4 /* streamId */
            aload 6 /* errorCode */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.rstStream:(ILokhttp3/internal/http2/ErrorCode;)V
         7: .line 243
            return
        end local 6 // okhttp3.internal.http2.ErrorCode errorCode
        end local 5 // int errorCodeInt
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lokhttp3/internal/http2/Http2Reader;
            0    8     1       handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0    8     2        length  I
            0    8     3         flags  B
            0    8     4      streamId  I
            3    8     5  errorCodeInt  I
            4    8     6     errorCode  Lokhttp3/internal/http2/ErrorCode;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private void readSettings(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 247
            iload 4 /* streamId */
            ifeq 1
            ldc "TYPE_SETTINGS streamId != 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 248
      StackMap locals:
      StackMap stack:
            iload 3 /* flags */
            iconst_1
            iand
            ifeq 5
         2: .line 249
            iload 2 /* length */
            ifeq 3
            ldc "FRAME_SIZE_ERROR ack frame should be empty!"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         3: .line 250
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.ackSettings:()V
         4: .line 251
            return
         5: .line 254
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            bipush 6
            irem
            ifeq 6
            ldc "TYPE_SETTINGS length %% 6 != 0: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         6: .line 255
      StackMap locals:
      StackMap stack:
            new okhttp3.internal.http2.Settings
            dup
            invokespecial okhttp3.internal.http2.Settings.<init>:()V
            astore 5 /* settings */
        start local 5 // okhttp3.internal.http2.Settings settings
         7: .line 256
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 25
         9: .line 257
      StackMap locals: okhttp3.internal.http2.Settings int
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readShort:()S
            ldc 65535
            iand
            istore 7 /* id */
        start local 7 // int id
        10: .line 258
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            istore 8 /* value */
        start local 8 // int value
        11: .line 260
            iload 7 /* id */
            tableswitch { // 1 - 6
                    1: 12
                    2: 13
                    3: 15
                    4: 17
                    5: 20
                    6: 22
              default: 23
          }
        12: .line 262
      StackMap locals: int int
      StackMap stack:
            goto 23
        13: .line 264
      StackMap locals:
      StackMap stack:
            iload 8 /* value */
            ifeq 23
            iload 8 /* value */
            iconst_1
            if_icmpeq 23
        14: .line 265
            ldc "PROTOCOL_ERROR SETTINGS_ENABLE_PUSH != 0 or 1"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
        15: .line 269
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 7 /* id */
        16: .line 270
            goto 23
        17: .line 272
      StackMap locals:
      StackMap stack:
            bipush 7
            istore 7 /* id */
        18: .line 273
            iload 8 /* value */
            ifge 23
        19: .line 274
            ldc "PROTOCOL_ERROR SETTINGS_INITIAL_WINDOW_SIZE > 2^31 - 1"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
        20: .line 278
      StackMap locals:
      StackMap stack:
            iload 8 /* value */
            sipush 16384
            if_icmplt 21
            iload 8 /* value */
            ldc 16777215
            if_icmple 23
        21: .line 279
      StackMap locals:
      StackMap stack:
            ldc "PROTOCOL_ERROR SETTINGS_MAX_FRAME_SIZE: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 8 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
        22: .line 283
      StackMap locals:
      StackMap stack:
            goto 23
        23: .line 287
      StackMap locals:
      StackMap stack:
            aload 5 /* settings */
            iload 7 /* id */
            iload 8 /* value */
            invokevirtual okhttp3.internal.http2.Settings.set:(II)Lokhttp3/internal/http2/Settings;
            pop
        end local 8 // int value
        end local 7 // int id
        24: .line 256
            iinc 6 /* i */ 6
      StackMap locals:
      StackMap stack:
        25: iload 6 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 6 // int i
        26: .line 289
            aload 1 /* handler */
            iconst_0
            aload 5 /* settings */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.settings:(ZLokhttp3/internal/http2/Settings;)V
        27: .line 290
            return
        end local 5 // okhttp3.internal.http2.Settings settings
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Lokhttp3/internal/http2/Http2Reader;
            0   28     1   handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0   28     2    length  I
            0   28     3     flags  B
            0   28     4  streamId  I
            7   28     5  settings  Lokhttp3/internal/http2/Settings;
            8   26     6         i  I
           10   24     7        id  I
           11   24     8     value  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private void readPushPromise(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 294
            iload 4 /* streamId */
            ifne 2
         1: .line 295
            ldc "PROTOCOL_ERROR: TYPE_PUSH_PROMISE streamId == 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         2: .line 297
      StackMap locals:
      StackMap stack:
            iload 3 /* flags */
            bipush 8
            iand
            ifeq 3
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            i2s
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* padding */
        start local 5 // short padding
         5: .line 298
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            ldc 2147483647
            iand
            istore 6 /* promisedStreamId */
        start local 6 // int promisedStreamId
         6: .line 299
            iinc 2 /* length */ -4
         7: .line 300
            iload 2 /* length */
            iload 3 /* flags */
            iload 5 /* padding */
            invokestatic okhttp3.internal.http2.Http2Reader.lengthWithoutPadding:(IBS)I
            istore 2 /* length */
         8: .line 301
            aload 0 /* this */
            iload 2 /* length */
            iload 5 /* padding */
            iload 3 /* flags */
            iload 4 /* streamId */
            invokevirtual okhttp3.internal.http2.Http2Reader.readHeaderBlock:(ISBI)Ljava/util/List;
            astore 7 /* headerBlock */
        start local 7 // java.util.List headerBlock
         9: .line 302
            aload 1 /* handler */
            iload 4 /* streamId */
            iload 6 /* promisedStreamId */
            aload 7 /* headerBlock */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.pushPromise:(IILjava/util/List;)V
        10: .line 303
            return
        end local 7 // java.util.List headerBlock
        end local 6 // int promisedStreamId
        end local 5 // short padding
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lokhttp3/internal/http2/Http2Reader;
            0   11     1           handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0   11     2            length  I
            0   11     3             flags  B
            0   11     4          streamId  I
            5   11     5           padding  S
            6   11     6  promisedStreamId  I
            9   11     7       headerBlock  Ljava/util/List<Lokhttp3/internal/http2/Header;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private void readPing(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 307
            iload 2 /* length */
            bipush 8
            if_icmpeq 1
            ldc "TYPE_PING length != 8: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 308
      StackMap locals:
      StackMap stack:
            iload 4 /* streamId */
            ifeq 2
            ldc "TYPE_PING streamId != 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            istore 5 /* payload1 */
        start local 5 // int payload1
         3: .line 310
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            istore 6 /* payload2 */
        start local 6 // int payload2
         4: .line 311
            iload 3 /* flags */
            iconst_1
            iand
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: int int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* ack */
        start local 7 // boolean ack
         7: .line 312
            aload 1 /* handler */
            iload 7 /* ack */
            iload 5 /* payload1 */
            iload 6 /* payload2 */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.ping:(ZII)V
         8: .line 313
            return
        end local 7 // boolean ack
        end local 6 // int payload2
        end local 5 // int payload1
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lokhttp3/internal/http2/Http2Reader;
            0    9     1   handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0    9     2    length  I
            0    9     3     flags  B
            0    9     4  streamId  I
            3    9     5  payload1  I
            4    9     6  payload2  I
            7    9     7       ack  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private void readGoAway(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 317
            iload 2 /* length */
            bipush 8
            if_icmpge 1
            ldc "TYPE_GOAWAY length < 8: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 318
      StackMap locals:
      StackMap stack:
            iload 4 /* streamId */
            ifeq 2
            ldc "TYPE_GOAWAY streamId != 0"
            iconst_0
            anewarray java.lang.Object
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         2: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            istore 5 /* lastStreamId */
        start local 5 // int lastStreamId
         3: .line 320
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            istore 6 /* errorCodeInt */
        start local 6 // int errorCodeInt
         4: .line 321
            iload 2 /* length */
            bipush 8
            isub
            istore 7 /* opaqueDataLength */
        start local 7 // int opaqueDataLength
         5: .line 322
            iload 6 /* errorCodeInt */
            invokestatic okhttp3.internal.http2.ErrorCode.fromHttp2:(I)Lokhttp3/internal/http2/ErrorCode;
            astore 8 /* errorCode */
        start local 8 // okhttp3.internal.http2.ErrorCode errorCode
         6: .line 323
            aload 8 /* errorCode */
            ifnonnull 8
         7: .line 324
            ldc "TYPE_GOAWAY unexpected error code: %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* errorCodeInt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         8: .line 326
      StackMap locals: okhttp3.internal.http2.Http2Reader okhttp3.internal.http2.Http2Reader$Handler int int int int int int okhttp3.internal.http2.ErrorCode
      StackMap stack:
            getstatic okio.ByteString.EMPTY:Lokio/ByteString;
            astore 9 /* debugData */
        start local 9 // okio.ByteString debugData
         9: .line 327
            iload 7 /* opaqueDataLength */
            ifle 11
        10: .line 328
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            iload 7 /* opaqueDataLength */
            i2l
            invokeinterface okio.BufferedSource.readByteString:(J)Lokio/ByteString;
            astore 9 /* debugData */
        11: .line 330
      StackMap locals: okio.ByteString
      StackMap stack:
            aload 1 /* handler */
            iload 5 /* lastStreamId */
            aload 8 /* errorCode */
            aload 9 /* debugData */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.goAway:(ILokhttp3/internal/http2/ErrorCode;Lokio/ByteString;)V
        12: .line 331
            return
        end local 9 // okio.ByteString debugData
        end local 8 // okhttp3.internal.http2.ErrorCode errorCode
        end local 7 // int opaqueDataLength
        end local 6 // int errorCodeInt
        end local 5 // int lastStreamId
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lokhttp3/internal/http2/Http2Reader;
            0   13     1           handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0   13     2            length  I
            0   13     3             flags  B
            0   13     4          streamId  I
            3   13     5      lastStreamId  I
            4   13     6      errorCodeInt  I
            5   13     7  opaqueDataLength  I
            6   13     8         errorCode  Lokhttp3/internal/http2/ErrorCode;
            9   13     9         debugData  Lokio/ByteString;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  private void readWindowUpdate(okhttp3.internal.http2.Http2Reader$Handler, int, byte, int);
    descriptor: (Lokhttp3/internal/http2/Http2Reader$Handler;IBI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Reader this
        start local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        start local 2 // int length
        start local 3 // byte flags
        start local 4 // int streamId
         0: .line 335
            iload 2 /* length */
            iconst_4
            if_icmpeq 1
            ldc "TYPE_WINDOW_UPDATE length !=4: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         1: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.readInt:()I
            i2l
            ldc 2147483647
            land
            lstore 5 /* increment */
        start local 5 // long increment
         2: .line 337
            lload 5 /* increment */
            lconst_0
            lcmp
            ifne 3
            ldc "windowSizeIncrement was 0"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 5 /* increment */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         3: .line 338
      StackMap locals: long
      StackMap stack:
            aload 1 /* handler */
            iload 4 /* streamId */
            lload 5 /* increment */
            invokeinterface okhttp3.internal.http2.Http2Reader$Handler.windowUpdate:(IJ)V
         4: .line 339
            return
        end local 5 // long increment
        end local 4 // int streamId
        end local 3 // byte flags
        end local 2 // int length
        end local 1 // okhttp3.internal.http2.Http2Reader$Handler handler
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lokhttp3/internal/http2/Http2Reader;
            0    5     1    handler  Lokhttp3/internal/http2/Http2Reader$Handler;
            0    5     2     length  I
            0    5     3      flags  B
            0    5     4   streamId  I
            2    5     5  increment  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      handler   
      length    
      flags     
      streamId  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.internal.http2.Http2Reader this
         0: .line 342
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Reader.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.close:()V
         1: .line 343
            return
        end local 0 // okhttp3.internal.http2.Http2Reader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/http2/Http2Reader;
    Exceptions:
      throws java.io.IOException

  static int readMedium(okio.BufferedSource);
    descriptor: (Lokio/BufferedSource;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // okio.BufferedSource source
         0: .line 399
            aload 0 /* source */
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            bipush 16
            ishl
         1: .line 400
            aload 0 /* source */
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
            bipush 8
            ishl
         2: .line 399
            ior
         3: .line 401
            aload 0 /* source */
            invokeinterface okio.BufferedSource.readByte:()B
            sipush 255
            iand
         4: .line 399
            ior
            ireturn
        end local 0 // okio.BufferedSource source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  source  Lokio/BufferedSource;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      source  

  static int lengthWithoutPadding(int, byte, short);
    descriptor: (IBS)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int length
        start local 1 // byte flags
        start local 2 // short padding
         0: .line 406
            iload 1 /* flags */
            bipush 8
            iand
            ifeq 1
            iinc 0 /* length */ -1
         1: .line 407
      StackMap locals:
      StackMap stack:
            iload 2 /* padding */
            iload 0 /* length */
            if_icmple 3
         2: .line 408
            ldc "PROTOCOL_ERROR padding %s > remaining length %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* padding */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            iload 0 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic okhttp3.internal.http2.Http2.ioException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
            athrow
         3: .line 410
      StackMap locals:
      StackMap stack:
            iload 0 /* length */
            iload 2 /* padding */
            isub
            i2s
            ireturn
        end local 2 // short padding
        end local 1 // byte flags
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0   length  I
            0    4     1    flags  B
            0    4     2  padding  S
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      length   
      flags    
      padding  
}
SourceFile: "Http2Reader.java"
NestMembers:
  okhttp3.internal.http2.Http2Reader$ContinuationSource  okhttp3.internal.http2.Http2Reader$Handler
InnerClasses:
  final Reader = okhttp3.internal.http2.Hpack$Reader of okhttp3.internal.http2.Hpack
  final ContinuationSource = okhttp3.internal.http2.Http2Reader$ContinuationSource of okhttp3.internal.http2.Http2Reader
  abstract Handler = okhttp3.internal.http2.Http2Reader$Handler of okhttp3.internal.http2.Http2Reader