public class io.undertow.util.FlexBase64$EncoderInputStream extends java.io.InputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.util.FlexBase64$EncoderInputStream
  super_class: java.io.InputStream
{
  private final java.io.InputStream input;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

  private final io.undertow.util.FlexBase64$Encoder encoder;
    descriptor: Lio/undertow/util/FlexBase64$Encoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

  private void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
        start local 1 // java.io.InputStream input
         0: .line 1546
            aload 0 /* this */
            aload 1 /* input */
            sipush 8192
            iconst_1
            iconst_0
            invokespecial io.undertow.util.FlexBase64$EncoderInputStream.<init>:(Ljava/io/InputStream;IZZ)V
         1: .line 1547
            return
        end local 1 // java.io.InputStream input
        end local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/undertow/util/FlexBase64$EncoderInputStream;
            0    2     1  input  Ljava/io/InputStream;
    MethodParameters:
       Name  Flags
      input  

  private void <init>(java.io.InputStream, int, boolean, boolean);
    descriptor: (Ljava/io/InputStream;IZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
        start local 1 // java.io.InputStream input
        start local 2 // int bufferSize
        start local 3 // boolean wrap
        start local 4 // boolean url
         0: .line 1549
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 1536
            aload 0 /* this */
            bipush 6
            newarray 8
            putfield io.undertow.util.FlexBase64$EncoderInputStream.overflow:[B
         2: .line 1540
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.FlexBase64$EncoderInputStream.pos:I
         3: .line 1541
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.FlexBase64$EncoderInputStream.limit:I
         4: .line 1550
            aload 0 /* this */
            aload 1 /* input */
            putfield io.undertow.util.FlexBase64$EncoderInputStream.input:Ljava/io/InputStream;
         5: .line 1551
            aload 0 /* this */
            iload 2 /* bufferSize */
            newarray 8
            putfield io.undertow.util.FlexBase64$EncoderInputStream.buffer:[B
         6: .line 1552
            aload 0 /* this */
            new io.undertow.util.FlexBase64$Encoder
            dup
            iload 3 /* wrap */
            iload 4 /* url */
            invokespecial io.undertow.util.FlexBase64$Encoder.<init>:(ZZ)V
            putfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
         7: .line 1553
            return
        end local 4 // boolean url
        end local 3 // boolean wrap
        end local 2 // int bufferSize
        end local 1 // java.io.InputStream input
        end local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/undertow/util/FlexBase64$EncoderInputStream;
            0    8     1       input  Ljava/io/InputStream;
            0    8     2  bufferSize  I
            0    8     3        wrap  Z
            0    8     4         url  Z
    MethodParameters:
            Name  Flags
      input       
      bufferSize  
      wrap        
      url         

  private int fill();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
         0: .line 1556
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.buffer:[B
            astore 1 /* buffer */
        start local 1 // byte[] buffer
         1: .line 1557
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.input:Ljava/io/InputStream;
            aload 1 /* buffer */
            iconst_0
            aload 1 /* buffer */
            arraylength
            invokevirtual java.io.InputStream.read:([BII)I
            istore 2 /* read */
        start local 2 // int read
         2: .line 1558
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.FlexBase64$EncoderInputStream.pos:I
         3: .line 1559
            aload 0 /* this */
            iload 2 /* read */
            putfield io.undertow.util.FlexBase64$EncoderInputStream.limit:I
         4: .line 1560
            iload 2 /* read */
            ireturn
        end local 2 // int read
        end local 1 // byte[] buffer
        end local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/undertow/util/FlexBase64$EncoderInputStream;
            1    5     1  buffer  [B
            2    5     2    read  I
    Exceptions:
      throws java.io.IOException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
         0: .line 1568
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.one:[B
            astore 1 /* one */
        start local 1 // byte[] one
         1: .line 1569
            aload 1 /* one */
            ifnonnull 3
         2: .line 1570
            aload 0 /* this */
            iconst_1
            newarray 8
            dup_x1
            putfield io.undertow.util.FlexBase64$EncoderInputStream.one:[B
            astore 1 /* one */
         3: .line 1572
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* one */
            iconst_0
            iconst_1
            invokevirtual io.undertow.util.FlexBase64$EncoderInputStream.read:([BII)I
            istore 2 /* read */
        start local 2 // int read
         4: .line 1573
            iload 2 /* read */
            ifle 5
            aload 1 /* one */
            iconst_0
            baload
            sipush 255
            iand
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_m1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 2 // int read
        end local 1 // byte[] one
        end local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/util/FlexBase64$EncoderInputStream;
            1    7     1   one  [B
            4    7     2  read  I
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=16, args_size=4
        start local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 1581
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.buffer:[B
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         1: .line 1582
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.overflow:[B
            astore 5 /* overflow */
        start local 5 // byte[] overflow
         2: .line 1583
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.overflowPos:I
            istore 6 /* overflowPos */
        start local 6 // int overflowPos
         3: .line 1584
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.overflowLimit:I
            istore 7 /* overflowLimit */
        start local 7 // int overflowLimit
         4: .line 1585
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.complete:Z
            istore 8 /* complete */
        start local 8 // boolean complete
         5: .line 1586
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
            getfield io.undertow.util.FlexBase64$Encoder.wrap:Z
            istore 9 /* wrap */
        start local 9 // boolean wrap
         6: .line 1588
            iconst_0
            istore 10 /* copy */
        start local 10 // int copy
         7: .line 1589
            iload 6 /* overflowPos */
            iload 7 /* overflowLimit */
            if_icmpge 14
         8: .line 1590
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            aload 5 /* overflow */
            iload 6 /* overflowPos */
            iload 7 /* overflowLimit */
            invokevirtual io.undertow.util.FlexBase64$EncoderInputStream.copyOverflow:([BII[BII)I
            istore 10 /* copy */
         9: .line 1591
            iload 3 /* len */
            iload 10 /* copy */
            if_icmple 10
            iload 8 /* complete */
            ifeq 11
        10: .line 1592
      StackMap locals: io.undertow.util.FlexBase64$EncoderInputStream byte[] int int byte[] byte[] int int int int int
      StackMap stack:
            iload 10 /* copy */
            ireturn
        11: .line 1595
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iload 10 /* copy */
            isub
            istore 3 /* len */
        12: .line 1596
            iload 2 /* off */
            iload 10 /* copy */
            iadd
            istore 2 /* off */
        13: .line 1597
            goto 16
      StackMap locals:
      StackMap stack:
        14: iload 8 /* complete */
            ifeq 16
        15: .line 1598
            iconst_m1
            ireturn
        16: .line 1602
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            astore 11 /* source */
        start local 11 // byte[] source
        17: .line 1603
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.pos:I
            istore 12 /* pos */
        start local 12 // int pos
        18: .line 1604
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.limit:I
            istore 13 /* limit */
        start local 13 // int limit
        19: .line 1605
            iconst_1
            istore 14 /* setPos */
        start local 14 // boolean setPos
        20: .line 1607
            iload 12 /* pos */
            iload 13 /* limit */
            if_icmplt 47
        21: .line 1608
            iload 3 /* len */
            aload 11 /* source */
            arraylength
            if_icmple 30
        22: .line 1612
            iload 3 /* len */
            iconst_4
            idiv
            iconst_3
            imul
            iconst_3
            isub
            istore 15 /* adjust */
        start local 15 // int adjust
        23: .line 1613
            iload 9 /* wrap */
            ifeq 25
        24: .line 1614
            iload 15 /* adjust */
            iload 15 /* adjust */
            bipush 76
            idiv
            iconst_2
            imul
            iconst_2
            iadd
            isub
            istore 15 /* adjust */
        25: .line 1616
      StackMap locals: io.undertow.util.FlexBase64$EncoderInputStream byte[] int int byte[] byte[] int int int int int byte[] int int int int
      StackMap stack:
            iload 15 /* adjust */
            newarray 8
            astore 11 /* source */
        26: .line 1617
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.input:Ljava/io/InputStream;
            aload 11 /* source */
            iconst_0
            iload 15 /* adjust */
            invokevirtual java.io.InputStream.read:([BII)I
            istore 13 /* limit */
        27: .line 1618
            iconst_0
            istore 12 /* pos */
        28: .line 1619
            iconst_0
            istore 14 /* setPos */
        end local 15 // int adjust
        29: .line 1620
            goto 32
        30: .line 1621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.util.FlexBase64$EncoderInputStream.fill:()I
            istore 13 /* limit */
        31: .line 1622
            iconst_0
            istore 12 /* pos */
        32: .line 1625
      StackMap locals:
      StackMap stack:
            iload 13 /* limit */
            ifgt 47
        33: .line 1626
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.FlexBase64$EncoderInputStream.complete:Z
        34: .line 1628
            iload 3 /* len */
            iload 9 /* wrap */
            ifeq 35
            iconst_4
            goto 36
      StackMap locals:
      StackMap stack: int
        35: iconst_2
      StackMap locals: io.undertow.util.FlexBase64$EncoderInputStream byte[] int int byte[] byte[] int int int int int byte[] int int int
      StackMap stack: int int
        36: if_icmpge 43
        37: .line 1629
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
            aload 5 /* overflow */
            iconst_0
            invokevirtual io.undertow.util.FlexBase64$Encoder.complete:([BI)I
            istore 7 /* overflowLimit */
        38: .line 1630
            aload 0 /* this */
            iload 7 /* overflowLimit */
            putfield io.undertow.util.FlexBase64$EncoderInputStream.overflowLimit:I
        39: .line 1631
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            aload 5 /* overflow */
            iconst_0
            iload 7 /* overflowLimit */
            invokevirtual io.undertow.util.FlexBase64$EncoderInputStream.copyOverflow:([BII[BII)I
            iload 10 /* copy */
            iadd
            istore 15 /* ret */
        start local 15 // int ret
        40: .line 1632
            iload 15 /* ret */
            ifne 41
            iconst_m1
            goto 42
      StackMap locals: int
      StackMap stack:
        41: iload 15 /* ret */
      StackMap locals:
      StackMap stack: int
        42: ireturn
        end local 15 // int ret
        43: .line 1635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
            aload 1 /* b */
            iload 2 /* off */
            invokevirtual io.undertow.util.FlexBase64$Encoder.complete:([BI)I
            iload 2 /* off */
            isub
            iload 10 /* copy */
            iadd
            istore 15 /* ret */
        start local 15 // int ret
        44: .line 1636
            iload 15 /* ret */
            ifne 45
            iconst_m1
            goto 46
      StackMap locals: int
      StackMap stack:
        45: iload 15 /* ret */
      StackMap locals:
      StackMap stack: int
        46: ireturn
        end local 15 // int ret
        47: .line 1640
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iload 9 /* wrap */
            ifeq 48
            bipush 6
            goto 49
      StackMap locals:
      StackMap stack: int
        48: iconst_4
      StackMap locals: io.undertow.util.FlexBase64$EncoderInputStream byte[] int int byte[] byte[] int int int int int byte[] int int int
      StackMap stack: int int
        49: if_icmpge 54
        50: .line 1641
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
            aload 11 /* source */
            iload 12 /* pos */
            iload 13 /* limit */
            aload 5 /* overflow */
            iconst_0
            aload 5 /* overflow */
            arraylength
            invokevirtual io.undertow.util.FlexBase64$Encoder.encode:([BII[BII)I
            istore 7 /* overflowLimit */
        51: .line 1642
            aload 0 /* this */
            iload 7 /* overflowLimit */
            putfield io.undertow.util.FlexBase64$EncoderInputStream.overflowLimit:I
        52: .line 1643
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
            invokevirtual io.undertow.util.FlexBase64$Encoder.getLastInputPosition:()I
            putfield io.undertow.util.FlexBase64$EncoderInputStream.pos:I
        53: .line 1645
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            aload 5 /* overflow */
            iconst_0
            iload 7 /* overflowLimit */
            invokevirtual io.undertow.util.FlexBase64$EncoderInputStream.copyOverflow:([BII[BII)I
            iload 10 /* copy */
            iadd
            ireturn
        54: .line 1648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
            aload 11 /* source */
            iload 12 /* pos */
            iload 13 /* limit */
            aload 1 /* b */
            iload 2 /* off */
            iload 2 /* off */
            iload 3 /* len */
            iadd
            invokevirtual io.undertow.util.FlexBase64$Encoder.encode:([BII[BII)I
            iload 2 /* off */
            isub
            istore 15 /* read */
        start local 15 // int read
        55: .line 1649
            iload 14 /* setPos */
            ifeq 57
        56: .line 1650
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.util.FlexBase64$EncoderInputStream.encoder:Lio/undertow/util/FlexBase64$Encoder;
            invokevirtual io.undertow.util.FlexBase64$Encoder.getLastInputPosition:()I
            putfield io.undertow.util.FlexBase64$EncoderInputStream.pos:I
        57: .line 1653
      StackMap locals: int
      StackMap stack:
            iload 15 /* read */
            ifle 16
        58: .line 1654
            iload 15 /* read */
            iload 10 /* copy */
            iadd
            ireturn
        end local 15 // int read
        end local 14 // boolean setPos
        end local 13 // int limit
        end local 12 // int pos
        end local 11 // byte[] source
        end local 10 // int copy
        end local 9 // boolean wrap
        end local 8 // boolean complete
        end local 7 // int overflowLimit
        end local 6 // int overflowPos
        end local 5 // byte[] overflow
        end local 4 // byte[] buffer
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   59     0           this  Lio/undertow/util/FlexBase64$EncoderInputStream;
            0   59     1              b  [B
            0   59     2            off  I
            0   59     3            len  I
            1   59     4         buffer  [B
            2   59     5       overflow  [B
            3   59     6    overflowPos  I
            4   59     7  overflowLimit  I
            5   59     8       complete  Z
            6   59     9           wrap  Z
            7   59    10           copy  I
           17   59    11         source  [B
           18   59    12            pos  I
           19   59    13          limit  I
           20   59    14         setPos  Z
           23   29    15         adjust  I
           40   43    15            ret  I
           44   47    15            ret  I
           55   59    15           read  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  private int copyOverflow(byte[], int, int, byte[], int, int);
    descriptor: ([BII[BII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
        start local 4 // byte[] overflow
        start local 5 // int pos
        start local 6 // int limit
         0: .line 1660
            iload 6 /* limit */
            iload 5 /* pos */
            isub
            istore 6 /* limit */
         1: .line 1661
            iload 6 /* limit */
            iload 3 /* len */
            if_icmpgt 2
            iload 6 /* limit */
            goto 3
      StackMap locals:
      StackMap stack:
         2: iload 3 /* len */
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* len */
         4: .line 1662
            aload 4 /* overflow */
            iload 5 /* pos */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 1663
            aload 0 /* this */
            iload 5 /* pos */
            iload 3 /* len */
            iadd
            putfield io.undertow.util.FlexBase64$EncoderInputStream.overflowPos:I
         6: .line 1664
            iload 3 /* len */
            ireturn
        end local 6 // int limit
        end local 5 // int pos
        end local 4 // byte[] overflow
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // io.undertow.util.FlexBase64$EncoderInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/undertow/util/FlexBase64$EncoderInputStream;
            0    7     1         b  [B
            0    7     2       off  I
            0    7     3       len  I
            0    7     4  overflow  [B
            0    7     5       pos  I
            0    7     6     limit  I
    MethodParameters:
          Name  Flags
      b         
      off       
      len       
      overflow  
      pos       
      limit     
}
SourceFile: "FlexBase64.java"
NestHost: io.undertow.util.FlexBase64
InnerClasses:
  public final Encoder = io.undertow.util.FlexBase64$Encoder of io.undertow.util.FlexBase64
  public EncoderInputStream = io.undertow.util.FlexBase64$EncoderInputStream of io.undertow.util.FlexBase64