public final class io.netty.handler.codec.mqtt.MqttEncoder extends io.netty.handler.codec.MessageToMessageEncoder<io.netty.handler.codec.mqtt.MqttMessage>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.codec.mqtt.MqttEncoder
  super_class: io.netty.handler.codec.MessageToMessageEncoder
{
  public static final io.netty.handler.codec.mqtt.MqttEncoder INSTANCE;
    descriptor: Lio/netty/handler/codec/mqtt/MqttEncoder;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 39
            new io.netty.handler.codec.mqtt.MqttEncoder
            dup
            invokespecial io.netty.handler.codec.mqtt.MqttEncoder.<init>:()V
            putstatic io.netty.handler.codec.mqtt.MqttEncoder.INSTANCE:Lio/netty/handler/codec/mqtt/MqttEncoder;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.mqtt.MqttEncoder this
         0: .line 41
            aload 0 /* this */
            invokespecial io.netty.handler.codec.MessageToMessageEncoder.<init>:()V
            return
        end local 0 // io.netty.handler.codec.mqtt.MqttEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/mqtt/MqttEncoder;

  protected void encode(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.mqtt.MqttMessage, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/mqtt/MqttMessage;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.netty.handler.codec.mqtt.MqttEncoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.mqtt.MqttMessage msg
        start local 3 // java.util.List out
         0: .line 45
            aload 3 /* out */
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
            aload 2 /* msg */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.doEncode:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttMessage;)Lio/netty/buffer/ByteBuf;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 46
            return
        end local 3 // java.util.List out
        end local 2 // io.netty.handler.codec.mqtt.MqttMessage msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.mqtt.MqttEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/mqtt/MqttEncoder;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     2   msg  Lio/netty/handler/codec/mqtt/MqttMessage;
            0    2     3   out  Ljava/util/List<Ljava/lang/Object;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/mqtt/MqttMessage;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
      Name  Flags
      ctx   
      msg   
      out   

  static io.netty.buffer.ByteBuf doEncode(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttMessage message
         0: .line 58
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.$SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType:()[I
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            iaload
            tableswitch { // 1 - 14
                    1: 1
                    2: 2
                    3: 3
                    4: 7
                    5: 7
                    6: 7
                    7: 7
                    8: 4
                    9: 6
                   10: 5
                   11: 7
                   12: 8
                   13: 8
                   14: 8
              default: 9
          }
         1: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            checkcast io.netty.handler.codec.mqtt.MqttConnectMessage
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeConnectMessage:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttConnectMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            checkcast io.netty.handler.codec.mqtt.MqttConnAckMessage
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeConnAckMessage:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttConnAckMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         3: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            checkcast io.netty.handler.codec.mqtt.MqttPublishMessage
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodePublishMessage:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttPublishMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         4: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            checkcast io.netty.handler.codec.mqtt.MqttSubscribeMessage
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeSubscribeMessage:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttSubscribeMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         5: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            checkcast io.netty.handler.codec.mqtt.MqttUnsubscribeMessage
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeUnsubscribeMessage:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttUnsubscribeMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         6: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            checkcast io.netty.handler.codec.mqtt.MqttSubAckMessage
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeSubAckMessage:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttSubAckMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         7: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeMessageWithOnlySingleByteFixedHeaderAndMessageId:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         8: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* byteBufAllocator */
            aload 1 /* message */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeMessageWithOnlySingleByteFixedHeader:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttMessage;)Lio/netty/buffer/ByteBuf;
            areturn
         9: .line 90
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        10: .line 91
            new java.lang.StringBuilder
            dup
            ldc "Unknown message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.value:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 90
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // io.netty.handler.codec.mqtt.MqttMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0  byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0   12     1           message  Lio/netty/handler/codec/mqtt/MqttMessage;
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static io.netty.buffer.ByteBuf encodeConnectMessage(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttConnectMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttConnectMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=22, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttConnectMessage message
         0: .line 98
            iconst_0
            istore 2 /* payloadBufferSize */
        start local 2 // int payloadBufferSize
         1: .line 100
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            astore 3 /* mqttFixedHeader */
        start local 3 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
         2: .line 101
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectMessage.variableHeader:()Lio/netty/handler/codec/mqtt/MqttConnectVariableHeader;
            astore 4 /* variableHeader */
        start local 4 // io.netty.handler.codec.mqtt.MqttConnectVariableHeader variableHeader
         3: .line 102
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectMessage.payload:()Lio/netty/handler/codec/mqtt/MqttConnectPayload;
            astore 5 /* payload */
        start local 5 // io.netty.handler.codec.mqtt.MqttConnectPayload payload
         4: .line 103
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.name:()Ljava/lang/String;
         5: .line 104
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.version:()I
            i2b
         6: .line 103
            invokestatic io.netty.handler.codec.mqtt.MqttVersion.fromProtocolNameAndLevel:(Ljava/lang/String;B)Lio/netty/handler/codec/mqtt/MqttVersion;
            astore 6 /* mqttVersion */
        start local 6 // io.netty.handler.codec.mqtt.MqttVersion mqttVersion
         7: .line 107
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasUserName:()Z
            ifne 9
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasPassword:()Z
            ifeq 9
         8: .line 108
            new io.netty.handler.codec.DecoderException
            dup
            ldc "Without a username, the password MUST be not set"
            invokespecial io.netty.handler.codec.DecoderException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 112
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttConnectMessage int io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttConnectVariableHeader io.netty.handler.codec.mqtt.MqttConnectPayload io.netty.handler.codec.mqtt.MqttVersion
      StackMap stack:
            aload 5 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectPayload.clientIdentifier:()Ljava/lang/String;
            astore 7 /* clientIdentifier */
        start local 7 // java.lang.String clientIdentifier
        10: .line 113
            aload 6 /* mqttVersion */
            aload 7 /* clientIdentifier */
            invokestatic io.netty.handler.codec.mqtt.MqttCodecUtil.isValidClientId:(Lio/netty/handler/codec/mqtt/MqttVersion;Ljava/lang/String;)Z
            ifne 12
        11: .line 114
            new io.netty.handler.codec.mqtt.MqttIdentifierRejectedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid clientIdentifier: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* clientIdentifier */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.mqtt.MqttIdentifierRejectedException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 116
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* clientIdentifier */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            astore 8 /* clientIdentifierBytes */
        start local 8 // byte[] clientIdentifierBytes
        13: .line 117
            iload 2 /* payloadBufferSize */
            iconst_2
            aload 8 /* clientIdentifierBytes */
            arraylength
            iadd
            iadd
            istore 2 /* payloadBufferSize */
        14: .line 120
            aload 5 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectPayload.willTopic:()Ljava/lang/String;
            astore 9 /* willTopic */
        start local 9 // java.lang.String willTopic
        15: .line 121
            aload 9 /* willTopic */
            ifnull 16
            aload 9 /* willTopic */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            goto 17
      StackMap locals: byte[] java.lang.String
      StackMap stack:
        16: getstatic io.netty.util.internal.EmptyArrays.EMPTY_BYTES:[B
      StackMap locals:
      StackMap stack: byte[]
        17: astore 10 /* willTopicBytes */
        start local 10 // byte[] willTopicBytes
        18: .line 122
            aload 5 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectPayload.willMessageInBytes:()[B
            astore 11 /* willMessage */
        start local 11 // byte[] willMessage
        19: .line 123
            aload 11 /* willMessage */
            ifnull 20
            aload 11 /* willMessage */
            goto 21
      StackMap locals: byte[] byte[]
      StackMap stack:
        20: getstatic io.netty.util.internal.EmptyArrays.EMPTY_BYTES:[B
      StackMap locals:
      StackMap stack: byte[]
        21: astore 12 /* willMessageBytes */
        start local 12 // byte[] willMessageBytes
        22: .line 124
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.isWillFlag:()Z
            ifeq 25
        23: .line 125
            iload 2 /* payloadBufferSize */
            iconst_2
            aload 10 /* willTopicBytes */
            arraylength
            iadd
            iadd
            istore 2 /* payloadBufferSize */
        24: .line 126
            iload 2 /* payloadBufferSize */
            iconst_2
            aload 12 /* willMessageBytes */
            arraylength
            iadd
            iadd
            istore 2 /* payloadBufferSize */
        25: .line 129
      StackMap locals: byte[]
      StackMap stack:
            aload 5 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectPayload.userName:()Ljava/lang/String;
            astore 13 /* userName */
        start local 13 // java.lang.String userName
        26: .line 130
            aload 13 /* userName */
            ifnull 27
            aload 13 /* userName */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            goto 28
      StackMap locals: java.lang.String
      StackMap stack:
        27: getstatic io.netty.util.internal.EmptyArrays.EMPTY_BYTES:[B
      StackMap locals:
      StackMap stack: byte[]
        28: astore 14 /* userNameBytes */
        start local 14 // byte[] userNameBytes
        29: .line 131
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasUserName:()Z
            ifeq 31
        30: .line 132
            iload 2 /* payloadBufferSize */
            iconst_2
            aload 14 /* userNameBytes */
            arraylength
            iadd
            iadd
            istore 2 /* payloadBufferSize */
        31: .line 135
      StackMap locals: byte[]
      StackMap stack:
            aload 5 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectPayload.passwordInBytes:()[B
            astore 15 /* password */
        start local 15 // byte[] password
        32: .line 136
            aload 15 /* password */
            ifnull 33
            aload 15 /* password */
            goto 34
      StackMap locals: byte[]
      StackMap stack:
        33: getstatic io.netty.util.internal.EmptyArrays.EMPTY_BYTES:[B
      StackMap locals:
      StackMap stack: byte[]
        34: astore 16 /* passwordBytes */
        start local 16 // byte[] passwordBytes
        35: .line 137
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasPassword:()Z
            ifeq 37
        36: .line 138
            iload 2 /* payloadBufferSize */
            iconst_2
            aload 16 /* passwordBytes */
            arraylength
            iadd
            iadd
            istore 2 /* payloadBufferSize */
        37: .line 142
      StackMap locals: byte[]
      StackMap stack:
            aload 6 /* mqttVersion */
            invokevirtual io.netty.handler.codec.mqtt.MqttVersion.protocolNameBytes:()[B
            astore 17 /* protocolNameBytes */
        start local 17 // byte[] protocolNameBytes
        38: .line 143
            iconst_2
            aload 17 /* protocolNameBytes */
            arraylength
            iadd
            iconst_4
            iadd
            istore 18 /* variableHeaderBufferSize */
        start local 18 // int variableHeaderBufferSize
        39: .line 144
            iload 18 /* variableHeaderBufferSize */
            iload 2 /* payloadBufferSize */
            iadd
            istore 19 /* variablePartSize */
        start local 19 // int variablePartSize
        40: .line 145
            iconst_1
            iload 19 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getVariableLengthInt:(I)I
            iadd
            istore 20 /* fixedHeaderBufferSize */
        start local 20 // int fixedHeaderBufferSize
        41: .line 146
            aload 0 /* byteBufAllocator */
            iload 20 /* fixedHeaderBufferSize */
            iload 19 /* variablePartSize */
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 21 /* buf */
        start local 21 // io.netty.buffer.ByteBuf buf
        42: .line 147
            aload 21 /* buf */
            aload 3 /* mqttFixedHeader */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        43: .line 148
            aload 21 /* buf */
            iload 19 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.writeVariableLengthInt:(Lio/netty/buffer/ByteBuf;I)V
        44: .line 150
            aload 21 /* buf */
            aload 17 /* protocolNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        45: .line 151
            aload 21 /* buf */
            aload 17 /* protocolNameBytes */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
        46: .line 153
            aload 21 /* buf */
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.version:()I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        47: .line 154
            aload 21 /* buf */
            aload 4 /* variableHeader */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getConnVariableHeaderFlag:(Lio/netty/handler/codec/mqtt/MqttConnectVariableHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        48: .line 155
            aload 21 /* buf */
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.keepAliveTimeSeconds:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        49: .line 158
            aload 21 /* buf */
            aload 8 /* clientIdentifierBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        50: .line 159
            aload 21 /* buf */
            aload 8 /* clientIdentifierBytes */
            iconst_0
            aload 8 /* clientIdentifierBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        51: .line 160
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.isWillFlag:()Z
            ifeq 56
        52: .line 161
            aload 21 /* buf */
            aload 10 /* willTopicBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        53: .line 162
            aload 21 /* buf */
            aload 10 /* willTopicBytes */
            iconst_0
            aload 10 /* willTopicBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        54: .line 163
            aload 21 /* buf */
            aload 12 /* willMessageBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        55: .line 164
            aload 21 /* buf */
            aload 12 /* willMessageBytes */
            iconst_0
            aload 12 /* willMessageBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        56: .line 166
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttConnectMessage int io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttConnectVariableHeader io.netty.handler.codec.mqtt.MqttConnectPayload io.netty.handler.codec.mqtt.MqttVersion java.lang.String byte[] java.lang.String byte[] byte[] byte[] java.lang.String byte[] byte[] byte[] byte[] int int int io.netty.buffer.ByteBuf
      StackMap stack:
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasUserName:()Z
            ifeq 59
        57: .line 167
            aload 21 /* buf */
            aload 14 /* userNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        58: .line 168
            aload 21 /* buf */
            aload 14 /* userNameBytes */
            iconst_0
            aload 14 /* userNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        59: .line 170
      StackMap locals:
      StackMap stack:
            aload 4 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasPassword:()Z
            ifeq 62
        60: .line 171
            aload 21 /* buf */
            aload 16 /* passwordBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        61: .line 172
            aload 21 /* buf */
            aload 16 /* passwordBytes */
            iconst_0
            aload 16 /* passwordBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        62: .line 174
      StackMap locals:
      StackMap stack:
            aload 21 /* buf */
            areturn
        end local 21 // io.netty.buffer.ByteBuf buf
        end local 20 // int fixedHeaderBufferSize
        end local 19 // int variablePartSize
        end local 18 // int variableHeaderBufferSize
        end local 17 // byte[] protocolNameBytes
        end local 16 // byte[] passwordBytes
        end local 15 // byte[] password
        end local 14 // byte[] userNameBytes
        end local 13 // java.lang.String userName
        end local 12 // byte[] willMessageBytes
        end local 11 // byte[] willMessage
        end local 10 // byte[] willTopicBytes
        end local 9 // java.lang.String willTopic
        end local 8 // byte[] clientIdentifierBytes
        end local 7 // java.lang.String clientIdentifier
        end local 6 // io.netty.handler.codec.mqtt.MqttVersion mqttVersion
        end local 5 // io.netty.handler.codec.mqtt.MqttConnectPayload payload
        end local 4 // io.netty.handler.codec.mqtt.MqttConnectVariableHeader variableHeader
        end local 3 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
        end local 2 // int payloadBufferSize
        end local 1 // io.netty.handler.codec.mqtt.MqttConnectMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   63     0          byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0   63     1                   message  Lio/netty/handler/codec/mqtt/MqttConnectMessage;
            1   63     2         payloadBufferSize  I
            2   63     3           mqttFixedHeader  Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            3   63     4            variableHeader  Lio/netty/handler/codec/mqtt/MqttConnectVariableHeader;
            4   63     5                   payload  Lio/netty/handler/codec/mqtt/MqttConnectPayload;
            7   63     6               mqttVersion  Lio/netty/handler/codec/mqtt/MqttVersion;
           10   63     7          clientIdentifier  Ljava/lang/String;
           13   63     8     clientIdentifierBytes  [B
           15   63     9                 willTopic  Ljava/lang/String;
           18   63    10            willTopicBytes  [B
           19   63    11               willMessage  [B
           22   63    12          willMessageBytes  [B
           26   63    13                  userName  Ljava/lang/String;
           29   63    14             userNameBytes  [B
           32   63    15                  password  [B
           35   63    16             passwordBytes  [B
           38   63    17         protocolNameBytes  [B
           39   63    18  variableHeaderBufferSize  I
           40   63    19          variablePartSize  I
           41   63    20     fixedHeaderBufferSize  I
           42   63    21                       buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static int getConnVariableHeaderFlag(io.netty.handler.codec.mqtt.MqttConnectVariableHeader);
    descriptor: (Lio/netty/handler/codec/mqtt/MqttConnectVariableHeader;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.netty.handler.codec.mqtt.MqttConnectVariableHeader variableHeader
         0: .line 178
            iconst_0
            istore 1 /* flagByte */
        start local 1 // int flagByte
         1: .line 179
            aload 0 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasUserName:()Z
            ifeq 3
         2: .line 180
            iload 1 /* flagByte */
            sipush 128
            ior
            istore 1 /* flagByte */
         3: .line 182
      StackMap locals: int
      StackMap stack:
            aload 0 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.hasPassword:()Z
            ifeq 5
         4: .line 183
            iload 1 /* flagByte */
            bipush 64
            ior
            istore 1 /* flagByte */
         5: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.isWillRetain:()Z
            ifeq 7
         6: .line 186
            iload 1 /* flagByte */
            bipush 32
            ior
            istore 1 /* flagByte */
         7: .line 188
      StackMap locals:
      StackMap stack:
            iload 1 /* flagByte */
            aload 0 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.willQos:()I
            iconst_3
            iand
            iconst_3
            ishl
            ior
            istore 1 /* flagByte */
         8: .line 189
            aload 0 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.isWillFlag:()Z
            ifeq 10
         9: .line 190
            iload 1 /* flagByte */
            iconst_4
            ior
            istore 1 /* flagByte */
        10: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectVariableHeader.isCleanSession:()Z
            ifeq 12
        11: .line 193
            iload 1 /* flagByte */
            iconst_2
            ior
            istore 1 /* flagByte */
        12: .line 195
      StackMap locals:
      StackMap stack:
            iload 1 /* flagByte */
            ireturn
        end local 1 // int flagByte
        end local 0 // io.netty.handler.codec.mqtt.MqttConnectVariableHeader variableHeader
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0  variableHeader  Lio/netty/handler/codec/mqtt/MqttConnectVariableHeader;
            1   13     1        flagByte  I
    MethodParameters:
                Name  Flags
      variableHeader  

  private static io.netty.buffer.ByteBuf encodeConnAckMessage(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttConnAckMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttConnAckMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttConnAckMessage message
         0: .line 201
            aload 0 /* byteBufAllocator */
            iconst_4
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 2 /* buf */
        start local 2 // io.netty.buffer.ByteBuf buf
         1: .line 202
            aload 2 /* buf */
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnAckMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 203
            aload 2 /* buf */
            iconst_2
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 204
            aload 2 /* buf */
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnAckMessage.variableHeader:()Lio/netty/handler/codec/mqtt/MqttConnAckVariableHeader;
            invokevirtual io.netty.handler.codec.mqtt.MqttConnAckVariableHeader.isSessionPresent:()Z
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttConnAckMessage io.netty.buffer.ByteBuf
      StackMap stack: io.netty.buffer.ByteBuf
         4: iconst_0
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttConnAckMessage io.netty.buffer.ByteBuf
      StackMap stack: io.netty.buffer.ByteBuf int
         5: invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         6: .line 205
            aload 2 /* buf */
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttConnAckMessage.variableHeader:()Lio/netty/handler/codec/mqtt/MqttConnAckVariableHeader;
            invokevirtual io.netty.handler.codec.mqtt.MqttConnAckVariableHeader.connectReturnCode:()Lio/netty/handler/codec/mqtt/MqttConnectReturnCode;
            invokevirtual io.netty.handler.codec.mqtt.MqttConnectReturnCode.byteValue:()B
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         7: .line 207
            aload 2 /* buf */
            areturn
        end local 2 // io.netty.buffer.ByteBuf buf
        end local 1 // io.netty.handler.codec.mqtt.MqttConnAckMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0  byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0    8     1           message  Lio/netty/handler/codec/mqtt/MqttConnAckMessage;
            1    8     2               buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static io.netty.buffer.ByteBuf encodeSubscribeMessage(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttSubscribeMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttSubscribeMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttSubscribeMessage message
         0: .line 213
            iconst_2
            istore 2 /* variableHeaderBufferSize */
        start local 2 // int variableHeaderBufferSize
         1: .line 214
            iconst_0
            istore 3 /* payloadBufferSize */
        start local 3 // int payloadBufferSize
         2: .line 216
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubscribeMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            astore 4 /* mqttFixedHeader */
        start local 4 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
         3: .line 217
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubscribeMessage.variableHeader:()Lio/netty/handler/codec/mqtt/MqttMessageIdVariableHeader;
            astore 5 /* variableHeader */
        start local 5 // io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader variableHeader
         4: .line 218
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubscribeMessage.payload:()Lio/netty/handler/codec/mqtt/MqttSubscribePayload;
            astore 6 /* payload */
        start local 6 // io.netty.handler.codec.mqtt.MqttSubscribePayload payload
         5: .line 220
            aload 6 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubscribePayload.topicSubscriptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 11
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttSubscribeMessage int int io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader io.netty.handler.codec.mqtt.MqttSubscribePayload top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.mqtt.MqttTopicSubscription
            astore 7 /* topic */
        start local 7 // io.netty.handler.codec.mqtt.MqttTopicSubscription topic
         7: .line 221
            aload 7 /* topic */
            invokevirtual io.netty.handler.codec.mqtt.MqttTopicSubscription.topicName:()Ljava/lang/String;
            astore 9 /* topicName */
        start local 9 // java.lang.String topicName
         8: .line 222
            aload 9 /* topicName */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            astore 10 /* topicNameBytes */
        start local 10 // byte[] topicNameBytes
         9: .line 223
            iload 3 /* payloadBufferSize */
            iconst_2
            aload 10 /* topicNameBytes */
            arraylength
            iadd
            iadd
            istore 3 /* payloadBufferSize */
        10: .line 224
            iinc 3 /* payloadBufferSize */ 1
        end local 10 // byte[] topicNameBytes
        end local 9 // java.lang.String topicName
        end local 7 // io.netty.handler.codec.mqtt.MqttTopicSubscription topic
        11: .line 220
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 227
            iload 2 /* variableHeaderBufferSize */
            iload 3 /* payloadBufferSize */
            iadd
            istore 7 /* variablePartSize */
        start local 7 // int variablePartSize
        13: .line 228
            iconst_1
            iload 7 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getVariableLengthInt:(I)I
            iadd
            istore 8 /* fixedHeaderBufferSize */
        start local 8 // int fixedHeaderBufferSize
        14: .line 230
            aload 0 /* byteBufAllocator */
            iload 8 /* fixedHeaderBufferSize */
            iload 7 /* variablePartSize */
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 9 /* buf */
        start local 9 // io.netty.buffer.ByteBuf buf
        15: .line 231
            aload 9 /* buf */
            aload 4 /* mqttFixedHeader */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        16: .line 232
            aload 9 /* buf */
            iload 7 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.writeVariableLengthInt:(Lio/netty/buffer/ByteBuf;I)V
        17: .line 235
            aload 5 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader.messageId:()I
            istore 10 /* messageId */
        start local 10 // int messageId
        18: .line 236
            aload 9 /* buf */
            iload 10 /* messageId */
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        19: .line 239
            aload 6 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubscribePayload.topicSubscriptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 26
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttSubscribeMessage int int io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader io.netty.handler.codec.mqtt.MqttSubscribePayload int int io.netty.buffer.ByteBuf int top java.util.Iterator
      StackMap stack:
        20: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.mqtt.MqttTopicSubscription
            astore 11 /* topic */
        start local 11 // io.netty.handler.codec.mqtt.MqttTopicSubscription topic
        21: .line 240
            aload 11 /* topic */
            invokevirtual io.netty.handler.codec.mqtt.MqttTopicSubscription.topicName:()Ljava/lang/String;
            astore 13 /* topicName */
        start local 13 // java.lang.String topicName
        22: .line 241
            aload 13 /* topicName */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            astore 14 /* topicNameBytes */
        start local 14 // byte[] topicNameBytes
        23: .line 242
            aload 9 /* buf */
            aload 14 /* topicNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        24: .line 243
            aload 9 /* buf */
            aload 14 /* topicNameBytes */
            iconst_0
            aload 14 /* topicNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        25: .line 244
            aload 9 /* buf */
            aload 11 /* topic */
            invokevirtual io.netty.handler.codec.mqtt.MqttTopicSubscription.qualityOfService:()Lio/netty/handler/codec/mqtt/MqttQoS;
            invokevirtual io.netty.handler.codec.mqtt.MqttQoS.value:()I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        end local 14 // byte[] topicNameBytes
        end local 13 // java.lang.String topicName
        end local 11 // io.netty.handler.codec.mqtt.MqttTopicSubscription topic
        26: .line 239
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        27: .line 247
            aload 9 /* buf */
            areturn
        end local 10 // int messageId
        end local 9 // io.netty.buffer.ByteBuf buf
        end local 8 // int fixedHeaderBufferSize
        end local 7 // int variablePartSize
        end local 6 // io.netty.handler.codec.mqtt.MqttSubscribePayload payload
        end local 5 // io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader variableHeader
        end local 4 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
        end local 3 // int payloadBufferSize
        end local 2 // int variableHeaderBufferSize
        end local 1 // io.netty.handler.codec.mqtt.MqttSubscribeMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   28     0          byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0   28     1                   message  Lio/netty/handler/codec/mqtt/MqttSubscribeMessage;
            1   28     2  variableHeaderBufferSize  I
            2   28     3         payloadBufferSize  I
            3   28     4           mqttFixedHeader  Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            4   28     5            variableHeader  Lio/netty/handler/codec/mqtt/MqttMessageIdVariableHeader;
            5   28     6                   payload  Lio/netty/handler/codec/mqtt/MqttSubscribePayload;
            7   11     7                     topic  Lio/netty/handler/codec/mqtt/MqttTopicSubscription;
            8   11     9                 topicName  Ljava/lang/String;
            9   11    10            topicNameBytes  [B
           13   28     7          variablePartSize  I
           14   28     8     fixedHeaderBufferSize  I
           15   28     9                       buf  Lio/netty/buffer/ByteBuf;
           18   28    10                 messageId  I
           21   26    11                     topic  Lio/netty/handler/codec/mqtt/MqttTopicSubscription;
           22   26    13                 topicName  Ljava/lang/String;
           23   26    14            topicNameBytes  [B
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static io.netty.buffer.ByteBuf encodeUnsubscribeMessage(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttUnsubscribeMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttUnsubscribeMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttUnsubscribeMessage message
         0: .line 253
            iconst_2
            istore 2 /* variableHeaderBufferSize */
        start local 2 // int variableHeaderBufferSize
         1: .line 254
            iconst_0
            istore 3 /* payloadBufferSize */
        start local 3 // int payloadBufferSize
         2: .line 256
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttUnsubscribeMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            astore 4 /* mqttFixedHeader */
        start local 4 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
         3: .line 257
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttUnsubscribeMessage.variableHeader:()Lio/netty/handler/codec/mqtt/MqttMessageIdVariableHeader;
            astore 5 /* variableHeader */
        start local 5 // io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader variableHeader
         4: .line 258
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttUnsubscribeMessage.payload:()Lio/netty/handler/codec/mqtt/MqttUnsubscribePayload;
            astore 6 /* payload */
        start local 6 // io.netty.handler.codec.mqtt.MqttUnsubscribePayload payload
         5: .line 260
            aload 6 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttUnsubscribePayload.topics:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 9
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttUnsubscribeMessage int int io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader io.netty.handler.codec.mqtt.MqttUnsubscribePayload top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* topicName */
        start local 7 // java.lang.String topicName
         7: .line 261
            aload 7 /* topicName */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            astore 9 /* topicNameBytes */
        start local 9 // byte[] topicNameBytes
         8: .line 262
            iload 3 /* payloadBufferSize */
            iconst_2
            aload 9 /* topicNameBytes */
            arraylength
            iadd
            iadd
            istore 3 /* payloadBufferSize */
        end local 9 // byte[] topicNameBytes
        end local 7 // java.lang.String topicName
         9: .line 260
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 265
            iload 2 /* variableHeaderBufferSize */
            iload 3 /* payloadBufferSize */
            iadd
            istore 7 /* variablePartSize */
        start local 7 // int variablePartSize
        11: .line 266
            iconst_1
            iload 7 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getVariableLengthInt:(I)I
            iadd
            istore 8 /* fixedHeaderBufferSize */
        start local 8 // int fixedHeaderBufferSize
        12: .line 268
            aload 0 /* byteBufAllocator */
            iload 8 /* fixedHeaderBufferSize */
            iload 7 /* variablePartSize */
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 9 /* buf */
        start local 9 // io.netty.buffer.ByteBuf buf
        13: .line 269
            aload 9 /* buf */
            aload 4 /* mqttFixedHeader */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        14: .line 270
            aload 9 /* buf */
            iload 7 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.writeVariableLengthInt:(Lio/netty/buffer/ByteBuf;I)V
        15: .line 273
            aload 5 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader.messageId:()I
            istore 10 /* messageId */
        start local 10 // int messageId
        16: .line 274
            aload 9 /* buf */
            iload 10 /* messageId */
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        17: .line 277
            aload 6 /* payload */
            invokevirtual io.netty.handler.codec.mqtt.MqttUnsubscribePayload.topics:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 22
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttUnsubscribeMessage int int io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader io.netty.handler.codec.mqtt.MqttUnsubscribePayload int int io.netty.buffer.ByteBuf int top java.util.Iterator
      StackMap stack:
        18: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* topicName */
        start local 11 // java.lang.String topicName
        19: .line 278
            aload 11 /* topicName */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            astore 13 /* topicNameBytes */
        start local 13 // byte[] topicNameBytes
        20: .line 279
            aload 9 /* buf */
            aload 13 /* topicNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        21: .line 280
            aload 9 /* buf */
            aload 13 /* topicNameBytes */
            iconst_0
            aload 13 /* topicNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        end local 13 // byte[] topicNameBytes
        end local 11 // java.lang.String topicName
        22: .line 277
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        23: .line 283
            aload 9 /* buf */
            areturn
        end local 10 // int messageId
        end local 9 // io.netty.buffer.ByteBuf buf
        end local 8 // int fixedHeaderBufferSize
        end local 7 // int variablePartSize
        end local 6 // io.netty.handler.codec.mqtt.MqttUnsubscribePayload payload
        end local 5 // io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader variableHeader
        end local 4 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
        end local 3 // int payloadBufferSize
        end local 2 // int variableHeaderBufferSize
        end local 1 // io.netty.handler.codec.mqtt.MqttUnsubscribeMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   24     0          byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0   24     1                   message  Lio/netty/handler/codec/mqtt/MqttUnsubscribeMessage;
            1   24     2  variableHeaderBufferSize  I
            2   24     3         payloadBufferSize  I
            3   24     4           mqttFixedHeader  Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            4   24     5            variableHeader  Lio/netty/handler/codec/mqtt/MqttMessageIdVariableHeader;
            5   24     6                   payload  Lio/netty/handler/codec/mqtt/MqttUnsubscribePayload;
            7    9     7                 topicName  Ljava/lang/String;
            8    9     9            topicNameBytes  [B
           11   24     7          variablePartSize  I
           12   24     8     fixedHeaderBufferSize  I
           13   24     9                       buf  Lio/netty/buffer/ByteBuf;
           16   24    10                 messageId  I
           19   22    11                 topicName  Ljava/lang/String;
           20   22    13            topicNameBytes  [B
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static io.netty.buffer.ByteBuf encodeSubAckMessage(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttSubAckMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttSubAckMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttSubAckMessage message
         0: .line 289
            iconst_2
            istore 2 /* variableHeaderBufferSize */
        start local 2 // int variableHeaderBufferSize
         1: .line 290
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubAckMessage.payload:()Lio/netty/handler/codec/mqtt/MqttSubAckPayload;
            invokevirtual io.netty.handler.codec.mqtt.MqttSubAckPayload.grantedQoSLevels:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* payloadBufferSize */
        start local 3 // int payloadBufferSize
         2: .line 291
            iload 2 /* variableHeaderBufferSize */
            iload 3 /* payloadBufferSize */
            iadd
            istore 4 /* variablePartSize */
        start local 4 // int variablePartSize
         3: .line 292
            iconst_1
            iload 4 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getVariableLengthInt:(I)I
            iadd
            istore 5 /* fixedHeaderBufferSize */
        start local 5 // int fixedHeaderBufferSize
         4: .line 293
            aload 0 /* byteBufAllocator */
            iload 5 /* fixedHeaderBufferSize */
            iload 4 /* variablePartSize */
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 6 /* buf */
        start local 6 // io.netty.buffer.ByteBuf buf
         5: .line 294
            aload 6 /* buf */
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubAckMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         6: .line 295
            aload 6 /* buf */
            iload 4 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.writeVariableLengthInt:(Lio/netty/buffer/ByteBuf;I)V
         7: .line 296
            aload 6 /* buf */
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubAckMessage.variableHeader:()Lio/netty/handler/codec/mqtt/MqttMessageIdVariableHeader;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader.messageId:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         8: .line 297
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttSubAckMessage.payload:()Lio/netty/handler/codec/mqtt/MqttSubAckPayload;
            invokevirtual io.netty.handler.codec.mqtt.MqttSubAckPayload.grantedQoSLevels:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 11
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttSubAckMessage int int int int io.netty.buffer.ByteBuf top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 7 /* qos */
        start local 7 // int qos
        10: .line 298
            aload 6 /* buf */
            iload 7 /* qos */
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        end local 7 // int qos
        11: .line 297
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 301
            aload 6 /* buf */
            areturn
        end local 6 // io.netty.buffer.ByteBuf buf
        end local 5 // int fixedHeaderBufferSize
        end local 4 // int variablePartSize
        end local 3 // int payloadBufferSize
        end local 2 // int variableHeaderBufferSize
        end local 1 // io.netty.handler.codec.mqtt.MqttSubAckMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   13     0          byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0   13     1                   message  Lio/netty/handler/codec/mqtt/MqttSubAckMessage;
            1   13     2  variableHeaderBufferSize  I
            2   13     3         payloadBufferSize  I
            3   13     4          variablePartSize  I
            4   13     5     fixedHeaderBufferSize  I
            5   13     6                       buf  Lio/netty/buffer/ByteBuf;
           10   11     7                       qos  I
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static io.netty.buffer.ByteBuf encodePublishMessage(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttPublishMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttPublishMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttPublishMessage message
         0: .line 307
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttPublishMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            astore 2 /* mqttFixedHeader */
        start local 2 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
         1: .line 308
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttPublishMessage.variableHeader:()Lio/netty/handler/codec/mqtt/MqttPublishVariableHeader;
            astore 3 /* variableHeader */
        start local 3 // io.netty.handler.codec.mqtt.MqttPublishVariableHeader variableHeader
         2: .line 309
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttPublishMessage.payload:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.duplicate:()Lio/netty/buffer/ByteBuf;
            astore 4 /* payload */
        start local 4 // io.netty.buffer.ByteBuf payload
         3: .line 311
            aload 3 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttPublishVariableHeader.topicName:()Ljava/lang/String;
            astore 5 /* topicName */
        start local 5 // java.lang.String topicName
         4: .line 312
            aload 5 /* topicName */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.encodeStringUtf8:(Ljava/lang/String;)[B
            astore 6 /* topicNameBytes */
        start local 6 // byte[] topicNameBytes
         5: .line 314
            iconst_2
            aload 6 /* topicNameBytes */
            arraylength
            iadd
         6: .line 315
            aload 2 /* mqttFixedHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.qosLevel:()Lio/netty/handler/codec/mqtt/MqttQoS;
            invokevirtual io.netty.handler.codec.mqtt.MqttQoS.value:()I
            ifle 7
            iconst_2
            goto 8
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttPublishMessage io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttPublishVariableHeader io.netty.buffer.ByteBuf java.lang.String byte[]
      StackMap stack: int
         7: iconst_0
         8: .line 314
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttPublishMessage io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttPublishVariableHeader io.netty.buffer.ByteBuf java.lang.String byte[]
      StackMap stack: int int
            iadd
            istore 7 /* variableHeaderBufferSize */
        start local 7 // int variableHeaderBufferSize
         9: .line 316
            aload 4 /* payload */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 8 /* payloadBufferSize */
        start local 8 // int payloadBufferSize
        10: .line 317
            iload 7 /* variableHeaderBufferSize */
            iload 8 /* payloadBufferSize */
            iadd
            istore 9 /* variablePartSize */
        start local 9 // int variablePartSize
        11: .line 318
            iconst_1
            iload 9 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getVariableLengthInt:(I)I
            iadd
            istore 10 /* fixedHeaderBufferSize */
        start local 10 // int fixedHeaderBufferSize
        12: .line 320
            aload 0 /* byteBufAllocator */
            iload 10 /* fixedHeaderBufferSize */
            iload 9 /* variablePartSize */
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 11 /* buf */
        start local 11 // io.netty.buffer.ByteBuf buf
        13: .line 321
            aload 11 /* buf */
            aload 2 /* mqttFixedHeader */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        14: .line 322
            aload 11 /* buf */
            iload 9 /* variablePartSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.writeVariableLengthInt:(Lio/netty/buffer/ByteBuf;I)V
        15: .line 323
            aload 11 /* buf */
            aload 6 /* topicNameBytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        16: .line 324
            aload 11 /* buf */
            aload 6 /* topicNameBytes */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
        17: .line 325
            aload 2 /* mqttFixedHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.qosLevel:()Lio/netty/handler/codec/mqtt/MqttQoS;
            invokevirtual io.netty.handler.codec.mqtt.MqttQoS.value:()I
            ifle 19
        18: .line 326
            aload 11 /* buf */
            aload 3 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttPublishVariableHeader.messageId:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
        19: .line 328
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.handler.codec.mqtt.MqttPublishMessage io.netty.handler.codec.mqtt.MqttFixedHeader io.netty.handler.codec.mqtt.MqttPublishVariableHeader io.netty.buffer.ByteBuf java.lang.String byte[] int int int int io.netty.buffer.ByteBuf
      StackMap stack:
            aload 11 /* buf */
            aload 4 /* payload */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            pop
        20: .line 330
            aload 11 /* buf */
            areturn
        end local 11 // io.netty.buffer.ByteBuf buf
        end local 10 // int fixedHeaderBufferSize
        end local 9 // int variablePartSize
        end local 8 // int payloadBufferSize
        end local 7 // int variableHeaderBufferSize
        end local 6 // byte[] topicNameBytes
        end local 5 // java.lang.String topicName
        end local 4 // io.netty.buffer.ByteBuf payload
        end local 3 // io.netty.handler.codec.mqtt.MqttPublishVariableHeader variableHeader
        end local 2 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
        end local 1 // io.netty.handler.codec.mqtt.MqttPublishMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   21     0          byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0   21     1                   message  Lio/netty/handler/codec/mqtt/MqttPublishMessage;
            1   21     2           mqttFixedHeader  Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            2   21     3            variableHeader  Lio/netty/handler/codec/mqtt/MqttPublishVariableHeader;
            3   21     4                   payload  Lio/netty/buffer/ByteBuf;
            4   21     5                 topicName  Ljava/lang/String;
            5   21     6            topicNameBytes  [B
            9   21     7  variableHeaderBufferSize  I
           10   21     8         payloadBufferSize  I
           11   21     9          variablePartSize  I
           12   21    10     fixedHeaderBufferSize  I
           13   21    11                       buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static io.netty.buffer.ByteBuf encodeMessageWithOnlySingleByteFixedHeaderAndMessageId(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttMessage message
         0: .line 336
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            astore 2 /* mqttFixedHeader */
        start local 2 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
         1: .line 337
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessage.variableHeader:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader
            astore 3 /* variableHeader */
        start local 3 // io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader variableHeader
         2: .line 338
            aload 3 /* variableHeader */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader.messageId:()I
            istore 4 /* msgId */
        start local 4 // int msgId
         3: .line 340
            iconst_2
            istore 5 /* variableHeaderBufferSize */
        start local 5 // int variableHeaderBufferSize
         4: .line 341
            iconst_1
            iload 5 /* variableHeaderBufferSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getVariableLengthInt:(I)I
            iadd
            istore 6 /* fixedHeaderBufferSize */
        start local 6 // int fixedHeaderBufferSize
         5: .line 342
            aload 0 /* byteBufAllocator */
            iload 6 /* fixedHeaderBufferSize */
            iload 5 /* variableHeaderBufferSize */
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 7 /* buf */
        start local 7 // io.netty.buffer.ByteBuf buf
         6: .line 343
            aload 7 /* buf */
            aload 2 /* mqttFixedHeader */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         7: .line 344
            aload 7 /* buf */
            iload 5 /* variableHeaderBufferSize */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.writeVariableLengthInt:(Lio/netty/buffer/ByteBuf;I)V
         8: .line 345
            aload 7 /* buf */
            iload 4 /* msgId */
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         9: .line 347
            aload 7 /* buf */
            areturn
        end local 7 // io.netty.buffer.ByteBuf buf
        end local 6 // int fixedHeaderBufferSize
        end local 5 // int variableHeaderBufferSize
        end local 4 // int msgId
        end local 3 // io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader variableHeader
        end local 2 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
        end local 1 // io.netty.handler.codec.mqtt.MqttMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   10     0          byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0   10     1                   message  Lio/netty/handler/codec/mqtt/MqttMessage;
            1   10     2           mqttFixedHeader  Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            2   10     3            variableHeader  Lio/netty/handler/codec/mqtt/MqttMessageIdVariableHeader;
            3   10     4                     msgId  I
            4   10     5  variableHeaderBufferSize  I
            5   10     6     fixedHeaderBufferSize  I
            6   10     7                       buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static io.netty.buffer.ByteBuf encodeMessageWithOnlySingleByteFixedHeader(io.netty.buffer.ByteBufAllocator, io.netty.handler.codec.mqtt.MqttMessage);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/codec/mqtt/MqttMessage;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
        start local 1 // io.netty.handler.codec.mqtt.MqttMessage message
         0: .line 353
            aload 1 /* message */
            invokevirtual io.netty.handler.codec.mqtt.MqttMessage.fixedHeader:()Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            astore 2 /* mqttFixedHeader */
        start local 2 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
         1: .line 354
            aload 0 /* byteBufAllocator */
            iconst_2
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 3 /* buf */
        start local 3 // io.netty.buffer.ByteBuf buf
         2: .line 355
            aload 3 /* buf */
            aload 2 /* mqttFixedHeader */
            invokestatic io.netty.handler.codec.mqtt.MqttEncoder.getFixedHeaderByte1:(Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 356
            aload 3 /* buf */
            iconst_0
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         4: .line 358
            aload 3 /* buf */
            areturn
        end local 3 // io.netty.buffer.ByteBuf buf
        end local 2 // io.netty.handler.codec.mqtt.MqttFixedHeader mqttFixedHeader
        end local 1 // io.netty.handler.codec.mqtt.MqttMessage message
        end local 0 // io.netty.buffer.ByteBufAllocator byteBufAllocator
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0  byteBufAllocator  Lio/netty/buffer/ByteBufAllocator;
            0    5     1           message  Lio/netty/handler/codec/mqtt/MqttMessage;
            1    5     2   mqttFixedHeader  Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            2    5     3               buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                  Name  Flags
      byteBufAllocator  
      message           

  private static int getFixedHeaderByte1(io.netty.handler.codec.mqtt.MqttFixedHeader);
    descriptor: (Lio/netty/handler/codec/mqtt/MqttFixedHeader;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.netty.handler.codec.mqtt.MqttFixedHeader header
         0: .line 362
            iconst_0
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 363
            iload 1 /* ret */
            aload 0 /* header */
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.value:()I
            iconst_4
            ishl
            ior
            istore 1 /* ret */
         2: .line 364
            aload 0 /* header */
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.isDup:()Z
            ifeq 4
         3: .line 365
            iload 1 /* ret */
            bipush 8
            ior
            istore 1 /* ret */
         4: .line 367
      StackMap locals: int
      StackMap stack:
            iload 1 /* ret */
            aload 0 /* header */
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.qosLevel:()Lio/netty/handler/codec/mqtt/MqttQoS;
            invokevirtual io.netty.handler.codec.mqtt.MqttQoS.value:()I
            iconst_1
            ishl
            ior
            istore 1 /* ret */
         5: .line 368
            aload 0 /* header */
            invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.isRetain:()Z
            ifeq 7
         6: .line 369
            iload 1 /* ret */
            iconst_1
            ior
            istore 1 /* ret */
         7: .line 371
      StackMap locals:
      StackMap stack:
            iload 1 /* ret */
            ireturn
        end local 1 // int ret
        end local 0 // io.netty.handler.codec.mqtt.MqttFixedHeader header
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  header  Lio/netty/handler/codec/mqtt/MqttFixedHeader;
            1    8     1     ret  I
    MethodParameters:
        Name  Flags
      header  

  private static void writeVariableLengthInt(io.netty.buffer.ByteBuf, int);
    descriptor: (Lio/netty/buffer/ByteBuf;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int num
         0: .line 376
      StackMap locals:
      StackMap stack:
            iload 1 /* num */
            sipush 128
            irem
            istore 2 /* digit */
        start local 2 // int digit
         1: .line 377
            iload 1 /* num */
            sipush 128
            idiv
            istore 1 /* num */
         2: .line 378
            iload 1 /* num */
            ifle 4
         3: .line 379
            iload 2 /* digit */
            sipush 128
            ior
            istore 2 /* digit */
         4: .line 381
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            iload 2 /* digit */
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
        end local 2 // int digit
         5: .line 382
            iload 1 /* num */
         6: .line 375
            ifgt 0
         7: .line 383
            return
        end local 1 // int num
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0    buf  Lio/netty/buffer/ByteBuf;
            0    8     1    num  I
            1    5     2  digit  I
    MethodParameters:
      Name  Flags
      buf   
      num   

  private static int getVariableLengthInt(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int num
         0: .line 386
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 388
      StackMap locals: int
      StackMap stack:
            iload 0 /* num */
            sipush 128
            idiv
            istore 0 /* num */
         2: .line 389
            iinc 1 /* count */ 1
         3: .line 390
            iload 0 /* num */
         4: .line 387
            ifgt 1
         5: .line 391
            iload 1 /* count */
            ireturn
        end local 1 // int count
        end local 0 // int num
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0    num  I
            1    6     1  count  I
    MethodParameters:
      Name  Flags
      num   

  private static byte[] encodeStringUtf8(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 395
            aload 0 /* s */
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  protected void encode(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast io.netty.handler.codec.mqtt.MqttMessage
            aload 3
            invokevirtual io.netty.handler.codec.mqtt.MqttEncoder.encode:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/mqtt/MqttMessage;Ljava/util/List;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  static int[] $SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 37
            getstatic io.netty.handler.codec.mqtt.MqttEncoder.$SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.handler.codec.mqtt.MqttMessageType.values:()[Lio/netty/handler/codec/mqtt/MqttMessageType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.CONNACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.CONNECT:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.DISCONNECT:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 14
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.PINGREQ:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 12
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.PINGRESP:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 13
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBCOMP:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBLISH:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            iconst_3
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBREC:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            iconst_5
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBREL:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 6
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.SUBACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 9
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.SUBSCRIBE:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 8
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.UNSUBACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 11
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic io.netty.handler.codec.mqtt.MqttMessageType.UNSUBSCRIBE:Lio/netty/handler/codec/mqtt/MqttMessageType;
            invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
            bipush 10
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            dup
            putstatic io.netty.handler.codec.mqtt.MqttEncoder.$SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
}
Signature: Lio/netty/handler/codec/MessageToMessageEncoder<Lio/netty/handler/codec/mqtt/MqttMessage;>;
SourceFile: "MqttEncoder.java"
InnerClasses:
  public abstract Sharable = io.netty.channel.ChannelHandler$Sharable of io.netty.channel.ChannelHandler
    RuntimeVisibleAnnotations: 
      io.netty.channel.ChannelHandler$Sharable()