public class org.apache.commons.compress.archivers.ar.ArArchiveInputStream extends org.apache.commons.compress.archivers.ArchiveInputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.compress.archivers.ar.ArArchiveInputStream
  super_class: org.apache.commons.compress.archivers.ArchiveInputStream
{
  private final java.io.InputStream input;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long offset;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.apache.commons.compress.archivers.ar.ArArchiveEntry currentEntry;
    descriptor: Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
    flags: (0x0002) ACC_PRIVATE

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

  private long entryOffset;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

  private final byte[] metaData;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final java.lang.String BSD_LONGNAME_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "#1/"

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

  private static final java.lang.String BSD_LONGNAME_PATTERN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "^#1/\\d+"

  private static final java.lang.String GNU_STRING_TABLE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "//"

  private static final java.lang.String GNU_LONGNAME_PATTERN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "^/\\d+"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 301
            ldc "#1/"
            invokevirtual java.lang.String.length:()I
         1: .line 300
            putstatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.BSD_LONGNAME_PREFIX_LEN:I
         2: .line 398
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // java.io.InputStream pInput
         0: .line 81
            aload 0 /* this */
            invokespecial org.apache.commons.compress.archivers.ArchiveInputStream.<init>:()V
         1: .line 39
            aload 0 /* this */
            lconst_0
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
         2: .line 46
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
         3: .line 49
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
         4: .line 55
            aload 0 /* this */
            ldc -1
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
         5: .line 72
            aload 0 /* this */
         6: .line 73
            bipush 58
            newarray 8
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
         7: .line 82
            aload 0 /* this */
            aload 1 /* pInput */
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
         8: .line 83
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.closed:Z
         9: .line 84
            return
        end local 1 // java.io.InputStream pInput
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0   10     1  pInput  Ljava/io/InputStream;
    MethodParameters:
        Name  Flags
      pInput  final

  public org.apache.commons.compress.archivers.ar.ArArchiveEntry getNextArEntry();
    descriptor: ()Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=5, args_size=1
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
         0: .line 94
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            ifnull 5
         1: .line 95
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveEntry.getLength:()J
            ladd
            lstore 1 /* entryEnd */
        start local 1 // long entryEnd
         2: .line 96
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            lload 1 /* entryEnd */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
            lsub
            invokestatic org.apache.commons.compress.utils.IOUtils.skip:(Ljava/io/InputStream;J)J
            lstore 3 /* skipped */
        start local 3 // long skipped
         3: .line 97
            aload 0 /* this */
            lload 3 /* skipped */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
         4: .line 98
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
        end local 3 // long skipped
        end local 1 // long entryEnd
         5: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
            lconst_0
            lcmp
            ifne 18
         6: .line 102
            ldc "!<arch>\n"
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiBytes:(Ljava/lang/String;)[B
            astore 1 /* expected */
        start local 1 // byte[] expected
         7: .line 103
            aload 1 /* expected */
            arraylength
            newarray 8
            astore 2 /* realized */
        start local 2 // byte[] realized
         8: .line 104
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            aload 2 /* realized */
            invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
            istore 3 /* read */
        start local 3 // int read
         9: .line 105
            aload 0 /* this */
            iload 3 /* read */
            i2l
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
        10: .line 106
            iload 3 /* read */
            aload 1 /* expected */
            arraylength
            if_icmpeq 12
        11: .line 107
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "failed to read header. Occured at byte: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBytesRead:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 109
      StackMap locals: byte[] byte[] int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 17
        14: .line 110
      StackMap locals: int
      StackMap stack:
            aload 1 /* expected */
            iload 4 /* i */
            baload
            aload 2 /* realized */
            iload 4 /* i */
            baload
            if_icmpeq 16
        15: .line 111
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid header "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* realized */
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 109
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 1 /* expected */
            arraylength
            if_icmplt 14
        end local 4 // int i
        end local 3 // int read
        end local 2 // byte[] realized
        end local 1 // byte[] expected
        18: .line 116
      StackMap locals: org.apache.commons.compress.archivers.ar.ArArchiveInputStream
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
            ldc 2
            lrem
            lconst_0
            lcmp
            ifeq 22
        19: .line 117
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            ifge 21
        20: .line 119
            aconst_null
            areturn
        21: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_1
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
        22: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.available:()I
            ifne 24
        23: .line 125
            aconst_null
            areturn
        24: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
            istore 1 /* read */
        start local 1 // int read
        25: .line 130
            aload 0 /* this */
            iload 1 /* read */
            i2l
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
        26: .line 131
            iload 1 /* read */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            arraylength
            if_icmpge 28
        27: .line 132
            new java.io.IOException
            dup
            ldc "truncated ar archive"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int read
        28: .line 137
      StackMap locals:
      StackMap stack:
            ldc "`\n"
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiBytes:(Ljava/lang/String;)[B
            astore 1 /* expected */
        start local 1 // byte[] expected
        29: .line 138
            aload 1 /* expected */
            arraylength
            newarray 8
            astore 2 /* realized */
        start local 2 // byte[] realized
        30: .line 139
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            aload 2 /* realized */
            invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
            istore 3 /* read */
        start local 3 // int read
        31: .line 140
            aload 0 /* this */
            iload 3 /* read */
            i2l
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
        32: .line 141
            iload 3 /* read */
            aload 1 /* expected */
            arraylength
            if_icmpeq 34
        33: .line 142
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "failed to read entry trailer. Occured at byte: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBytesRead:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 144
      StackMap locals: byte[] byte[] int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        35: goto 39
        36: .line 145
      StackMap locals: int
      StackMap stack:
            aload 1 /* expected */
            iload 4 /* i */
            baload
            aload 2 /* realized */
            iload 4 /* i */
            baload
            if_icmpeq 38
        37: .line 146
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid entry trailer. not read the content? Occured at byte: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBytesRead:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 144
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* i */
            aload 1 /* expected */
            arraylength
            if_icmplt 36
        end local 4 // int i
        end local 3 // int read
        end local 2 // byte[] realized
        end local 1 // byte[] expected
        40: .line 151
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
        41: .line 156
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            iconst_0
            bipush 16
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 1 /* temp */
        start local 1 // java.lang.String temp
        42: .line 157
            aload 1 /* temp */
            invokestatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.isGNUStringTable:(Ljava/lang/String;)Z
            ifeq 45
        43: .line 158
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            bipush 48
            bipush 10
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.readGNUStringTable:([BII)Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
        44: .line 159
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getNextArEntry:()Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            areturn
        45: .line 162
      StackMap locals: org.apache.commons.compress.archivers.ar.ArArchiveInputStream java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            bipush 48
            bipush 10
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asLong:([BII)J
            lstore 2 /* len */
        start local 2 // long len
        46: .line 163
            aload 1 /* temp */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 49
        47: .line 164
            aload 1 /* temp */
            iconst_0
            aload 1 /* temp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* temp */
        48: .line 165
            goto 58
      StackMap locals: long
      StackMap stack:
        49: aload 0 /* this */
            aload 1 /* temp */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.isGNULongName:(Ljava/lang/String;)Z
            ifeq 53
        50: .line 166
            aload 1 /* temp */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* off */
        start local 4 // int off
        51: .line 167
            aload 0 /* this */
            iload 4 /* off */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getExtendedName:(I)Ljava/lang/String;
            astore 1 /* temp */
        end local 4 // int off
        52: .line 168
            goto 58
      StackMap locals:
      StackMap stack:
        53: aload 1 /* temp */
            invokestatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.isBSDLongName:(Ljava/lang/String;)Z
            ifeq 58
        54: .line 169
            aload 0 /* this */
            aload 1 /* temp */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBSDLongName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* temp */
        55: .line 173
            aload 1 /* temp */
            invokevirtual java.lang.String.length:()I
            istore 4 /* nameLen */
        start local 4 // int nameLen
        56: .line 174
            lload 2 /* len */
            iload 4 /* nameLen */
            i2l
            lsub
            lstore 2 /* len */
        57: .line 175
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
            iload 4 /* nameLen */
            i2l
            ladd
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
        end local 4 // int nameLen
        58: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.commons.compress.archivers.ar.ArArchiveEntry
            dup
            aload 1 /* temp */
            lload 2 /* len */
        59: .line 179
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            bipush 28
            bipush 6
            iconst_1
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIZ)I
        60: .line 180
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            bipush 34
            bipush 6
            iconst_1
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIZ)I
        61: .line 181
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            bipush 40
            bipush 8
            bipush 8
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIII)I
        62: .line 182
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
            bipush 16
            bipush 12
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asLong:([BII)J
            invokespecial org.apache.commons.compress.archivers.ar.ArArchiveEntry.<init>:(Ljava/lang/String;JIIIJ)V
        63: .line 178
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
        64: .line 183
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            areturn
        end local 2 // long len
        end local 1 // java.lang.String temp
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   65     0      this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            2    5     1  entryEnd  J
            3    5     3   skipped  J
            7   18     1  expected  [B
            8   18     2  realized  [B
            9   18     3      read  I
           13   18     4         i  I
           25   28     1      read  I
           29   40     1  expected  [B
           30   40     2  realized  [B
           31   40     3      read  I
           35   40     4         i  I
           42   65     1      temp  Ljava/lang/String;
           46   65     2       len  J
           51   52     4       off  I
           56   58     4   nameLen  I
    Exceptions:
      throws java.io.IOException

  private java.lang.String getExtendedName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // int offset
         0: .line 194
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
            ifnonnull 2
         1: .line 195
            new java.io.IOException
            dup
            ldc "Cannot process GNU long filename as no // record was found"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 197
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            istore 2 /* i */
        start local 2 // int i
         3: goto 9
         4: .line 198
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
            iload 2 /* i */
            baload
            bipush 10
            if_icmpeq 5
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
            iload 2 /* i */
            baload
            ifne 8
         5: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
            iload 2 /* i */
            iconst_1
            isub
            baload
            bipush 47
            if_icmpne 7
         6: .line 200
            iinc 2 /* i */ -1
         7: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
            iload 1 /* offset */
            iload 2 /* i */
            iload 1 /* offset */
            isub
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
            areturn
         8: .line 197
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
            arraylength
            if_icmplt 4
        end local 2 // int i
        10: .line 205
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to read entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int offset
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0   11     1  offset  I
            3   10     2       i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      offset  final

  private long asLong(byte[], int, int);
    descriptor: ([BII)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // byte[] byteArray
        start local 2 // int offset
        start local 3 // int len
         0: .line 209
            aload 1 /* byteArray */
            iload 2 /* offset */
            iload 3 /* len */
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lreturn
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] byteArray
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    1     1  byteArray  [B
            0    1     2     offset  I
            0    1     3        len  I
    MethodParameters:
           Name  Flags
      byteArray  final
      offset     
      len        

  private int asInt(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // byte[] byteArray
        start local 2 // int offset
        start local 3 // int len
         0: .line 213
            aload 0 /* this */
            aload 1 /* byteArray */
            iload 2 /* offset */
            iload 3 /* len */
            bipush 10
            iconst_0
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIIZ)I
            ireturn
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] byteArray
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    1     1  byteArray  [B
            0    1     2     offset  I
            0    1     3        len  I
    MethodParameters:
           Name  Flags
      byteArray  final
      offset     
      len        

  private int asInt(byte[], int, int, boolean);
    descriptor: ([BIIZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // byte[] byteArray
        start local 2 // int offset
        start local 3 // int len
        start local 4 // boolean treatBlankAsZero
         0: .line 217
            aload 0 /* this */
            aload 1 /* byteArray */
            iload 2 /* offset */
            iload 3 /* len */
            bipush 10
            iload 4 /* treatBlankAsZero */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIIZ)I
            ireturn
        end local 4 // boolean treatBlankAsZero
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] byteArray
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    1     1         byteArray  [B
            0    1     2            offset  I
            0    1     3               len  I
            0    1     4  treatBlankAsZero  Z
    MethodParameters:
                  Name  Flags
      byteArray         final
      offset            
      len               
      treatBlankAsZero  final

  private int asInt(byte[], int, int, int);
    descriptor: ([BIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // byte[] byteArray
        start local 2 // int offset
        start local 3 // int len
        start local 4 // int base
         0: .line 221
            aload 0 /* this */
            aload 1 /* byteArray */
            iload 2 /* offset */
            iload 3 /* len */
            iload 4 /* base */
            iconst_0
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIIZ)I
            ireturn
        end local 4 // int base
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] byteArray
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    1     1  byteArray  [B
            0    1     2     offset  I
            0    1     3        len  I
            0    1     4       base  I
    MethodParameters:
           Name  Flags
      byteArray  final
      offset     
      len        
      base       final

  private int asInt(byte[], int, int, int, boolean);
    descriptor: ([BIIIZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // byte[] byteArray
        start local 2 // int offset
        start local 3 // int len
        start local 4 // int base
        start local 5 // boolean treatBlankAsZero
         0: .line 225
            aload 1 /* byteArray */
            iload 2 /* offset */
            iload 3 /* len */
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 6 /* string */
        start local 6 // java.lang.String string
         1: .line 226
            aload 6 /* string */
            invokevirtual java.lang.String.length:()I
            ifne 3
            iload 5 /* treatBlankAsZero */
            ifeq 3
         2: .line 227
            iconst_0
            ireturn
         3: .line 229
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* string */
            iload 4 /* base */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            ireturn
        end local 6 // java.lang.String string
        end local 5 // boolean treatBlankAsZero
        end local 4 // int base
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] byteArray
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    4     1         byteArray  [B
            0    4     2            offset  I
            0    4     3               len  I
            0    4     4              base  I
            0    4     5  treatBlankAsZero  Z
            1    4     6            string  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      byteArray         final
      offset            
      len               
      base              final
      treatBlankAsZero  final

  public org.apache.commons.compress.archivers.ArchiveEntry getNextEntry();
    descriptor: ()Lorg/apache/commons/compress/archivers/ArchiveEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
         0: .line 240
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getNextArEntry:()Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            areturn
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
         0: .line 250
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.closed:Z
            ifne 3
         1: .line 251
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.closed:Z
         2: .line 252
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         3: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
         4: .line 255
            return
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 264
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            ifnonnull 2
         1: .line 265
            new java.lang.IllegalStateException
            dup
            ldc "No current ar entry"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 267
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            istore 4 /* toRead */
        start local 4 // int toRead
         3: .line 268
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveEntry.getLength:()J
            ladd
            lstore 5 /* entryEnd */
        start local 5 // long entryEnd
         4: .line 269
            iload 3 /* len */
            ifle 7
            lload 5 /* entryEnd */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
            lcmp
            ifle 7
         5: .line 270
            iload 3 /* len */
            i2l
            lload 5 /* entryEnd */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
            lsub
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 4 /* toRead */
         6: .line 271
            goto 8
         7: .line 272
      StackMap locals: int long
      StackMap stack:
            iconst_m1
            ireturn
         8: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 4 /* toRead */
            invokevirtual java.io.InputStream.read:([BII)I
            istore 7 /* ret */
        start local 7 // int ret
         9: .line 275
            aload 0 /* this */
            iload 7 /* ret */
            i2l
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
        10: .line 276
            iload 7 /* ret */
            ireturn
        end local 7 // int ret
        end local 5 // long entryEnd
        end local 4 // int toRead
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0   11     1         b  [B
            0   11     2       off  I
            0   11     3       len  I
            3   11     4    toRead  I
            4   11     5  entryEnd  J
            9   11     7       ret  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     final
      off   final
      len   final

  public static boolean matches(byte[], int);
    descriptor: ([BI)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] signature
        start local 1 // int length
         0: .line 292
            iload 1 /* length */
            bipush 8
            if_icmplt 6
            aload 0 /* signature */
            iconst_0
            baload
            bipush 33
            if_icmpne 6
         1: .line 293
            aload 0 /* signature */
            iconst_1
            baload
            bipush 60
            if_icmpne 6
            aload 0 /* signature */
            iconst_2
            baload
            bipush 97
            if_icmpne 6
         2: .line 294
            aload 0 /* signature */
            iconst_3
            baload
            bipush 114
            if_icmpne 6
            aload 0 /* signature */
            iconst_4
            baload
            bipush 99
            if_icmpne 6
         3: .line 295
            aload 0 /* signature */
            iconst_5
            baload
            bipush 104
            if_icmpne 6
            aload 0 /* signature */
            bipush 6
            baload
            bipush 62
            if_icmpne 6
         4: .line 296
            aload 0 /* signature */
            bipush 7
            baload
            bipush 10
            if_icmpne 6
         5: .line 292
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // int length
        end local 0 // byte[] signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  signature  [B
            0    7     1     length  I
    MethodParameters:
           Name  Flags
      signature  final
      length     final

  private static boolean isBSDLongName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 328
            aload 0 /* name */
            ifnull 1
            aload 0 /* name */
            ldc "^#1/\\d+"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  private java.lang.String getBSDLongName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // java.lang.String bsdLongName
         0: .line 341
            aload 1 /* bsdLongName */
            getstatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.BSD_LONGNAME_PREFIX_LEN:I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
         1: .line 340
            istore 2 /* nameLen */
        start local 2 // int nameLen
         2: .line 342
            iload 2 /* nameLen */
            newarray 8
            astore 3 /* name */
        start local 3 // byte[] name
         3: .line 343
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            aload 3 /* name */
            invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
            istore 4 /* read */
        start local 4 // int read
         4: .line 344
            aload 0 /* this */
            iload 4 /* read */
            i2l
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
         5: .line 345
            iload 4 /* read */
            iload 2 /* nameLen */
            if_icmpeq 7
         6: .line 346
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         7: .line 348
      StackMap locals: int byte[] int
      StackMap stack:
            aload 3 /* name */
            invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([B)Ljava/lang/String;
            areturn
        end local 4 // int read
        end local 3 // byte[] name
        end local 2 // int nameLen
        end local 1 // java.lang.String bsdLongName
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    8     1  bsdLongName  Ljava/lang/String;
            2    8     2      nameLen  I
            3    8     3         name  [B
            4    8     4         read  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      bsdLongName  final

  private static boolean isGNUStringTable(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 371
            ldc "//"
            aload 0 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  private void trackReadBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // long read
         0: .line 375
            aload 0 /* this */
            lload 1 /* read */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.count:(J)V
         1: .line 376
            lload 1 /* read */
            lconst_0
            lcmp
            ifle 3
         2: .line 377
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
            lload 1 /* read */
            ladd
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
         3: .line 379
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long read
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    4     1  read  J
    MethodParameters:
      Name  Flags
      read  final

  private org.apache.commons.compress.archivers.ar.ArArchiveEntry readGNUStringTable(byte[], int, int);
    descriptor: ([BII)Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // byte[] length
        start local 2 // int offset
        start local 3 // int len
         0: .line 387
            aload 0 /* this */
            aload 1 /* length */
            iload 2 /* offset */
            iload 3 /* len */
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BII)I
            istore 4 /* bufflen */
        start local 4 // int bufflen
         1: .line 388
            aload 0 /* this */
            iload 4 /* bufflen */
            newarray 8
            putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
         2: .line 389
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
            iconst_0
            iload 4 /* bufflen */
            invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[BII)I
            istore 5 /* read */
        start local 5 // int read
         3: .line 390
            aload 0 /* this */
            iload 5 /* read */
            i2l
            invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
         4: .line 391
            iload 5 /* read */
            iload 4 /* bufflen */
            if_icmpeq 8
         5: .line 392
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to read complete // record: expected="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 393
            iload 4 /* bufflen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " read="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* read */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 392
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 395
      StackMap locals: int int
      StackMap stack:
            new org.apache.commons.compress.archivers.ar.ArArchiveEntry
            dup
            ldc "//"
            iload 4 /* bufflen */
            i2l
            invokespecial org.apache.commons.compress.archivers.ar.ArArchiveEntry.<init>:(Ljava/lang/String;J)V
            areturn
        end local 5 // int read
        end local 4 // int bufflen
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] length
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    9     1   length  [B
            0    9     2   offset  I
            0    9     3      len  I
            1    9     4  bufflen  I
            3    9     5     read  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      length  final
      offset  final
      len     final

  private boolean isGNULongName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
        start local 1 // java.lang.String name
         0: .line 407
            aload 1 /* name */
            ifnull 1
            aload 1 /* name */
            ldc "^/\\d+"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.commons.compress.archivers.ar.ArArchiveInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final
}
SourceFile: "ArArchiveInputStream.java"