public class org.jruby.ext.zlib.JZlibInflate extends org.jruby.ext.zlib.ZStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ext.zlib.JZlibInflate
  super_class: org.jruby.ext.zlib.ZStream
{
  public static final int BASE_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private int windowBits;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private byte[] collected;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int collectedIdx;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.util.ByteList input;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jzlib.Inflater flater;
    descriptor: Lcom/jcraft/jzlib/Inflater;
    flags: (0x0002) ACC_PRIVATE

  protected static final org.jruby.runtime.ObjectAllocator INFLATE_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 53
            new org.jruby.ext.zlib.JZlibInflate$1
            dup
            invokespecial org.jruby.ext.zlib.JZlibInflate$1.<init>:()V
            putstatic org.jruby.ext.zlib.JZlibInflate.INFLATE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         1: .line 58
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass type
         0: .line 61
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* type */
            invokespecial org.jruby.ext.zlib.ZStream.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 52
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
         2: .line 62
            return
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    3     1  runtime  Lorg/jruby/Ruby;
            0    3     2     type  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      type     

  public static org.jruby.runtime.builtin.IRubyObject s_inflate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject string
         0: .line 66
            aload 1 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isClass:()Z
            ifeq 1
            aload 1 /* recv */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "Zlib::Inflate"
            invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;)Lorg/jruby/RubyModule;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: checkcast org.jruby.RubyClass
            astore 3 /* klass */
        start local 3 // org.jruby.RubyClass klass
         3: .line 67
            aload 3 /* klass */
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.ext.zlib.JZlibInflate
            astore 4 /* inflate */
        start local 4 // org.jruby.ext.zlib.JZlibInflate inflate
         4: .line 68
            aload 4 /* inflate */
            bipush 15
            invokevirtual org.jruby.ext.zlib.JZlibInflate.init:(I)V
         5: .line 72
            aload 4 /* inflate */
            aload 2 /* string */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.ext.zlib.JZlibInflate.append:(Lorg/jruby/util/ByteList;)V
         6: .line 73
            goto 11
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyClass org.jruby.ext.zlib.JZlibInflate
      StackMap stack: java.lang.Throwable
         7: astore 6
         8: .line 74
            aload 4 /* inflate */
            aload 0 /* context */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.ext.zlib.JZlibInflate.finish:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
         9: .line 75
            aload 4 /* inflate */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.close:()Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        10: .line 76
            aload 6
            athrow
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        11: .line 74
      StackMap locals:
      StackMap stack:
            aload 4 /* inflate */
            aload 0 /* context */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.ext.zlib.JZlibInflate.finish:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
        12: .line 75
            aload 4 /* inflate */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.close:()Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        13: .line 77
            aload 5 /* result */
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        end local 4 // org.jruby.ext.zlib.JZlibInflate inflate
        end local 3 // org.jruby.RubyClass klass
        end local 2 // org.jruby.runtime.builtin.IRubyObject string
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  context  Lorg/jruby/runtime/ThreadContext;
            0   14     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   14     2   string  Lorg/jruby/runtime/builtin/IRubyObject;
            3   14     3    klass  Lorg/jruby/RubyClass;
            4   14     4  inflate  Lorg/jruby/ext/zlib/JZlibInflate;
            9   11     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
           12   14     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
           5     7       7  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"inflate"}, required = 1, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      string   

  public org.jruby.runtime.builtin.IRubyObject _initialize(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 82
            aload 0 /* this */
            bipush 15
            putfield org.jruby.ext.zlib.JZlibInflate.windowBits:I
         1: .line 84
            aload 1 /* args */
            arraylength
            ifle 4
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
         2: .line 85
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            putfield org.jruby.ext.zlib.JZlibInflate.windowBits:I
         3: .line 86
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.windowBits:I
            iconst_1
            invokestatic org.jruby.ext.zlib.JZlibInflate.checkWindowBits:(Lorg/jruby/Ruby;IZ)V
         4: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.windowBits:I
            invokevirtual org.jruby.ext.zlib.JZlibInflate.init:(I)V
         5: .line 90
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    6     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize"}, optional = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
      Name  Flags
      args  

  private void init(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // int windowBits
         0: .line 94
            aload 0 /* this */
            new com.jcraft.jzlib.Inflater
            dup
            invokespecial com.jcraft.jzlib.Inflater.<init>:()V
            putfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
         1: .line 95
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            iload 1 /* windowBits */
            invokevirtual com.jcraft.jzlib.Inflater.init:(I)I
            pop
         2: .line 96
            aload 0 /* this */
            bipush 100
            newarray 8
            putfield org.jruby.ext.zlib.JZlibInflate.collected:[B
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
         4: .line 98
            aload 0 /* this */
            new org.jruby.util.ByteList
            dup
            invokespecial org.jruby.util.ByteList.<init>:()V
            putfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
         5: .line 99
            return
        end local 1 // int windowBits
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    6     1  windowBits  I
    MethodParameters:
            Name  Flags
      windowBits  

  public org.jruby.runtime.builtin.IRubyObject flush_next_out(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 104
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.flushOutput:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"flush_next_out"})
    MethodParameters:
         Name  Flags
      context  
      block    

  private org.jruby.runtime.builtin.IRubyObject flushOutput(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 108
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            ifle 8
         1: .line 109
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
            astore 3 /* res */
        start local 3 // org.jruby.RubyString res
         2: .line 110
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
         3: .line 111
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            invokevirtual com.jcraft.jzlib.Inflater.setOutput:([B)V
         4: .line 113
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 7
         5: .line 114
            aload 2 /* block */
            aload 1 /* context */
            aload 3 /* res */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 115
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 117
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 3 /* res */
            areturn
        end local 3 // org.jruby.RubyString res
         8: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2    block  Lorg/jruby/runtime/Block;
            2    8     3      res  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject append(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 124
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.checkClosed:()V
         1: .line 125
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 4
         2: .line 126
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.ext.zlib.JZlibInflate.run:(Z)V
         3: .line 127
            goto 5
         4: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.ext.zlib.JZlibInflate.append:(Lorg/jruby/util/ByteList;)V
         5: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<<"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      arg      

  public void append(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.util.ByteList obj
         0: .line 134
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.internalFinished:()Z
            ifne 3
         1: .line 135
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            aload 1 /* obj */
            invokevirtual org.jruby.util.ByteList.bytes:()[B
            iconst_1
            invokevirtual com.jcraft.jzlib.Inflater.setInput:([BZ)V
         2: .line 136
            goto 4
         3: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            aload 1 /* obj */
            invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
         4: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.ext.zlib.JZlibInflate.run:(Z)V
         5: .line 140
            return
        end local 1 // org.jruby.util.ByteList obj
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    6     1   obj  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      obj   

  public org.jruby.runtime.builtin.IRubyObject sync_point_p();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 144
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.sync_point:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibInflate;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sync_point?"})

  public org.jruby.runtime.builtin.IRubyObject sync_point();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 148
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.syncPoint:()I
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 149
            iload 1 /* ret */
            tableswitch { // -3 - 1
                   -3: 3
                   -2: 4
                   -1: 4
                    0: 4
                    1: 2
              default: 4
          }
         2: .line 151
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
         3: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // int ret
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/ext/zlib/JZlibInflate;
            1    5     1   ret  I

  public org.jruby.runtime.builtin.IRubyObject set_dictionary(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 162
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.set_dictionary:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
         1: areturn
         2: .line 163
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 3 /* iae */
        start local 3 // java.lang.IllegalArgumentException iae
         3: .line 164
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "stream error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* iae */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // java.lang.IllegalArgumentException iae
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     3      iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"set_dictionary"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      arg      

  private org.jruby.runtime.builtin.IRubyObject set_dictionary(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.builtin.IRubyObject str
         0: .line 169
            aload 1 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getBytes:()[B
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         1: .line 170
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            aload 2 /* tmp */
            aload 2 /* tmp */
            arraylength
            invokevirtual com.jcraft.jzlib.Inflater.setDictionary:([BI)I
            istore 3 /* ret */
        start local 3 // int ret
         2: .line 171
            iload 3 /* ret */
            tableswitch { // -3 - -2
                   -3: 4
                   -2: 3
              default: 5
          }
         3: .line 173
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "wrong dictionary"
            invokestatic org.jruby.ext.zlib.RubyZlib.newDataError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.ext.zlib.JZlibInflate.run:(Z)V
         6: .line 179
            aload 1 /* str */
            areturn
        end local 3 // int ret
        end local 2 // byte[] tmp
        end local 1 // org.jruby.runtime.builtin.IRubyObject str
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    7     1   str  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     2   tmp  [B
            2    7     3   ret  I
    MethodParameters:
      Name  Flags
      str   

  public org.jruby.runtime.builtin.IRubyObject inflate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject string
        start local 3 // org.jruby.runtime.Block block
         0: .line 184
            aconst_null
            astore 4 /* data */
        start local 4 // org.jruby.util.ByteList data
         1: .line 185
            aload 2 /* string */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 3
         2: .line 186
            aload 2 /* string */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 4 /* data */
         3: .line 188
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* data */
            aload 3 /* block */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.inflate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.util.ByteList data
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject string
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2   string  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3    block  Lorg/jruby/runtime/Block;
            1    4     4     data  Lorg/jruby/util/ByteList;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"inflate"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      string   
      block    

  public org.jruby.runtime.builtin.IRubyObject inflate(org.jruby.runtime.ThreadContext, org.jruby.util.ByteList, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.util.ByteList str
        start local 3 // org.jruby.runtime.Block block
         0: .line 192
            aload 2 /* str */
            ifnonnull 2
         1: .line 193
            aload 0 /* this */
            aload 3 /* block */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.internalFinish:(Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* str */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.append:(Lorg/jruby/util/ByteList;)V
         3: .line 196
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.flushOutput:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.util.ByteList str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2      str  Lorg/jruby/util/ByteList;
            0    4     3    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      str      
      block    

  public org.jruby.runtime.builtin.IRubyObject sync(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject string
         0: .line 202
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.avail_in:I
            ifle 8
         1: .line 203
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.sync:()I
            tableswitch { // -3 - 0
                   -3: 6
                   -2: 7
                   -1: 7
                    0: 2
              default: 7
          }
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            aload 2 /* string */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.bytes:()[B
         3: .line 206
            iconst_1
         4: .line 205
            invokevirtual com.jcraft.jzlib.Inflater.setInput:([BZ)V
         5: .line 207
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
         6: .line 209
      StackMap locals:
      StackMap stack:
            goto 8
         7: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* string */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            ifgt 10
         9: .line 215
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        10: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            aload 2 /* string */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.bytes:()[B
            iconst_1
            invokevirtual com.jcraft.jzlib.Inflater.setInput:([BZ)V
        11: .line 218
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.sync:()I
            tableswitch { // -3 - 0
                   -3: 13
                   -2: 14
                   -1: 14
                    0: 12
              default: 14
          }
        12: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
        13: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        14: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // org.jruby.runtime.builtin.IRubyObject string
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/ext/zlib/JZlibInflate;
            0   15     1  context  Lorg/jruby/runtime/ThreadContext;
            0   15     2   string  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sync"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      string   

  private void run(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // boolean finish
         0: .line 229
            iconst_m1
            istore 2 /* resultLength */
        start local 2 // int resultLength
         1: .line 230
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         2: .line 232
            goto 27
         3: .line 234
      StackMap locals: int org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.avail_in:I
            ifge 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* needsInput */
        start local 4 // boolean needsInput
         6: .line 235
            iload 1 /* finish */
            ifeq 8
            iload 4 /* needsInput */
            ifeq 8
         7: .line 236
            aload 3 /* runtime */
            ldc "buffer error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newBufError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 239
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            isub
            invokevirtual com.jcraft.jzlib.Inflater.setOutput:([BII)V
         9: .line 240
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            iconst_0
            invokevirtual com.jcraft.jzlib.Inflater.inflate:(I)I
            istore 5 /* ret */
        start local 5 // int ret
        10: .line 241
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.next_out_index:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            isub
            istore 2 /* resultLength */
        11: .line 242
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.next_out_index:I
            putfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
        12: .line 243
            iload 5 /* ret */
            tableswitch { // -3 - 2
                   -3: 13
                   -2: 22
                   -1: 22
                    0: 20
                    1: 15
                    2: 14
              default: 22
          }
        13: .line 251
      StackMap locals: int
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.getMessage:()Ljava/lang/String;
            invokestatic org.jruby.ext.zlib.RubyZlib.newDataError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 253
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            ldc "need dictionary"
            invokestatic org.jruby.ext.zlib.RubyZlib.newDictError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.avail_in:I
            ifle 20
        16: .line 257
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.next_in:[B
        17: .line 258
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.next_in_index:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.avail_in:I
        18: .line 257
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        19: .line 259
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            ldc ""
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.jcraft.jzlib.Inflater.setInput:([B)V
        20: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.next_out_index:I
            istore 2 /* resultLength */
        21: .line 263
            goto 23
        22: .line 265
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* resultLength */
        23: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            if_icmpne 27
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.internalFinished:()Z
            ifne 27
        24: .line 268
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            arraylength
            iconst_3
            imul
            newarray 8
            astore 6 /* tmp */
        start local 6 // byte[] tmp
        25: .line 269
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            iconst_0
            aload 6 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 270
            aload 0 /* this */
            aload 6 /* tmp */
            putfield org.jruby.ext.zlib.JZlibInflate.collected:[B
        end local 6 // byte[] tmp
        end local 5 // int ret
        end local 4 // boolean needsInput
        27: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.internalFinished:()Z
            ifne 28
            iload 2 /* resultLength */
            ifne 3
        28: .line 273
      StackMap locals:
      StackMap stack:
            iload 1 /* finish */
            ifeq 33
        29: .line 274
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.internalFinished:()Z
            ifne 33
        30: .line 275
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            iconst_4
            invokevirtual com.jcraft.jzlib.Inflater.inflate:(I)I
            istore 4 /* err */
        start local 4 // int err
        31: .line 276
            iload 4 /* err */
            ifeq 33
        32: .line 277
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "buffer error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newBufError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // int err
        33: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.Ruby runtime
        end local 2 // int resultLength
        end local 1 // boolean finish
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0          this  Lorg/jruby/ext/zlib/JZlibInflate;
            0   34     1        finish  Z
            1   34     2  resultLength  I
            2   34     3       runtime  Lorg/jruby/Ruby;
            6   27     4    needsInput  Z
           10   27     5           ret  I
           25   27     6           tmp  [B
           31   33     4           err  I
    MethodParameters:
        Name  Flags
      finish  

  protected int internalTotalIn();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 285
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.total_in:J
            l2i
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  protected int internalTotalOut();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 290
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.total_out:J
            l2i
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  protected boolean internalStreamEndP();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 295
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.finished:()Z
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  protected void internalReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 300
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.windowBits:I
            invokevirtual org.jruby.ext.zlib.JZlibInflate.init:(I)V
         1: .line 301
            return
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  protected boolean internalFinished();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 305
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.finished:()Z
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  protected long internalAdler();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 310
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.getAdler:()J
            lreturn
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  protected org.jruby.runtime.builtin.IRubyObject internalFinish(org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
        start local 1 // org.jruby.runtime.Block block
         0: .line 315
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.ext.zlib.JZlibInflate.run:(Z)V
         1: .line 317
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.internalFinished:()Z
            ifeq 10
         2: .line 318
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifle 10
         3: .line 319
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            isub
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmpge 7
         4: .line 320
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            newarray 8
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         5: .line 321
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 322
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.jruby.ext.zlib.JZlibInflate.collected:[B
        end local 2 // byte[] tmp
         7: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collected:[B
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 325
            aload 0 /* this */
            dup
            getfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            putfield org.jruby.ext.zlib.JZlibInflate.collectedIdx:I
         9: .line 326
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.input:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.ext.zlib.JZlibInflate.resetBuffer:(Lorg/jruby/util/ByteList;)V
        10: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* block */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.flushOutput:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/jruby/ext/zlib/JZlibInflate;
            0   11     1  block  Lorg/jruby/runtime/Block;
            5    7     2    tmp  [B
    MethodParameters:
       Name  Flags
      block  

  protected void internalClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 334
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            invokevirtual com.jcraft.jzlib.Inflater.end:()I
            pop
         1: .line 335
            return
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  public org.jruby.runtime.builtin.IRubyObject avail_in();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibInflate this
         0: .line 339
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibInflate.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibInflate.flater:Lcom/jcraft/jzlib/Inflater;
            getfield com.jcraft.jzlib.Inflater.avail_in:I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.ext.zlib.JZlibInflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibInflate;

  private static void resetBuffer(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList l
         0: .line 343
            aload 0 /* l */
            iconst_0
            invokevirtual org.jruby.util.ByteList.setBegin:(I)V
         1: .line 344
            aload 0 /* l */
            iconst_0
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         2: .line 345
            aload 0 /* l */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         3: .line 346
            return
        end local 0 // org.jruby.util.ByteList l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     l  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      l     
}
SourceFile: "JZlibInflate.java"
NestMembers:
  org.jruby.ext.zlib.JZlibInflate$1
InnerClasses:
  org.jruby.ext.zlib.JZlibInflate$1
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Zlib::Inflate"}, parent = "Zlib::ZStream")