public final class Base$Creator : java/lang/Object, android/os/Parcelable$Creator {
    public void <init>() {
        LABEL (L0)
          ALOAD (0)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          RETURN
        LABEL (L1)
    }

    public final Base createFromParcel(android.os.Parcel parcel) {
        LABEL (L0)
          ALOAD (1)
          LDC (parcel)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          NEW (Base)
          DUP
          ALOAD (1)
          INVOKEVIRTUAL (android/os/Parcel, readString, ()Ljava/lang/String;)
          INVOKESPECIAL (Base, <init>, (Ljava/lang/String;)V)
          ARETURN
        LABEL (L1)
    }

    public java.lang.Object createFromParcel(android.os.Parcel source) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          INVOKEVIRTUAL (Base$Creator, createFromParcel, (Landroid/os/Parcel;)LBase;)
          ARETURN
        LABEL (L1)
    }

    public final Base[] newArray(int size)

    public java.lang.Object[] newArray(int size)
}

public class Base : java/lang/Object, android/os/Parcelable {
    public final static android.os.Parcelable$Creator CREATOR

    private final java.lang.String x

    static void <clinit>()

    public void <init>(java.lang.String x) {
        LABEL (L0)
          ALOAD (1)
          LDC (x)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (8)
          ALOAD (0)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
        LABEL (L2)
        LINENUMBER (9)
          ALOAD (0)
          ALOAD (1)
          PUTFIELD (Base, x, Ljava/lang/String;)
          RETURN
        LABEL (L3)
    }

    public int describeContents()

    public final java.lang.String getX()

    public void writeToParcel(android.os.Parcel out, int flags) {
        LABEL (L0)
          ALOAD (1)
          LDC (out)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (1)
          ALOAD (0)
          GETFIELD (Base, x, Ljava/lang/String;)
          INVOKEVIRTUAL (android/os/Parcel, writeString, (Ljava/lang/String;)V)
          RETURN
        LABEL (L1)
    }
}

public final class Derive1$Creator : java/lang/Object, android/os/Parcelable$Creator {
    public void <init>() {
        LABEL (L0)
          ALOAD (0)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          RETURN
        LABEL (L1)
    }

    public final Derive1 createFromParcel(android.os.Parcel parcel) {
        LABEL (L0)
          ALOAD (1)
          LDC (parcel)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          NEW (Derive1)
          DUP
          ALOAD (1)
          INVOKEVIRTUAL (android/os/Parcel, readString, ()Ljava/lang/String;)
          ALOAD (1)
          INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
          GETSTATIC (kotlinx/parcelize/DirectInitializerMarker, INSTANCE, Lkotlinx/parcelize/DirectInitializerMarker;)
          INVOKESPECIAL (Derive1, <init>, (Ljava/lang/String;ILkotlinx/parcelize/DirectInitializerMarker;)V)
          ARETURN
        LABEL (L1)
    }

    public java.lang.Object createFromParcel(android.os.Parcel source) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          INVOKEVIRTUAL (Derive1$Creator, createFromParcel, (Landroid/os/Parcel;)LDerive1;)
          ARETURN
        LABEL (L1)
    }

    public final Derive1[] newArray(int size)

    public java.lang.Object[] newArray(int size)
}

public class Derive1 : Base {
    public final static android.os.Parcelable$Creator CREATOR

    private final int y

    static void <clinit>()

    public void <init>(int y, java.lang.String x) {
        LABEL (L0)
          ALOAD (2)
          LDC (x)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (12)
          ALOAD (0)
          ALOAD (2)
          INVOKESPECIAL (Base, <init>, (Ljava/lang/String;)V)
          ALOAD (0)
          ILOAD (1)
          PUTFIELD (Derive1, y, I)
          RETURN
        LABEL (L2)
    }

    public void <init>(java.lang.String x, int y, kotlinx.parcelize.DirectInitializerMarker $marker) {
        LABEL (L0)
          ALOAD (1)
          LDC (x)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (3)
          LDC ($marker)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (0)
          ALOAD (1)
          INVOKESPECIAL (Base, <init>, (Ljava/lang/String;)V)
          ALOAD (0)
          ILOAD (2)
          PUTFIELD (Derive1, y, I)
          RETURN
        LABEL (L1)
    }

    public final int getY()

    public void writeToParcel(android.os.Parcel out, int flags) {
        LABEL (L0)
          ALOAD (1)
          LDC (out)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (0)
          ALOAD (1)
          ILOAD (2)
          INVOKESPECIAL (Base, writeToParcel, (Landroid/os/Parcel;I)V)
          ALOAD (1)
          ALOAD (0)
          GETFIELD (Derive1, y, I)
          INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
          RETURN
        LABEL (L1)
    }
}

public final class Derive2$Creator : java/lang/Object, android/os/Parcelable$Creator {
    public void <init>() {
        LABEL (L0)
          ALOAD (0)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          RETURN
        LABEL (L1)
    }

    public final Derive2 createFromParcel(android.os.Parcel parcel) {
        LABEL (L0)
          ALOAD (1)
          LDC (parcel)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          NEW (Derive2)
          DUP
          ALOAD (1)
          INVOKEVIRTUAL (android/os/Parcel, readString, ()Ljava/lang/String;)
          ALOAD (1)
          INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
          ALOAD (1)
          INVOKEVIRTUAL (android/os/Parcel, readDouble, ()D)
          GETSTATIC (kotlinx/parcelize/DirectInitializerMarker, INSTANCE, Lkotlinx/parcelize/DirectInitializerMarker;)
          INVOKESPECIAL (Derive2, <init>, (Ljava/lang/String;IDLkotlinx/parcelize/DirectInitializerMarker;)V)
          ARETURN
        LABEL (L1)
    }

    public java.lang.Object createFromParcel(android.os.Parcel source) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          INVOKEVIRTUAL (Derive2$Creator, createFromParcel, (Landroid/os/Parcel;)LDerive2;)
          ARETURN
        LABEL (L1)
    }

    public final Derive2[] newArray(int size)

    public java.lang.Object[] newArray(int size)
}

public final class Derive2 : Derive1 {
    public final static android.os.Parcelable$Creator CREATOR

    private final double z

    static void <clinit>()

    public void <init>(double z, int p1, java.lang.String y) {
        LABEL (L0)
          ALOAD (4)
          LDC (x)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (15)
          ALOAD (0)
          ILOAD (3)
          ALOAD (4)
          INVOKESPECIAL (Derive1, <init>, (ILjava/lang/String;)V)
          ALOAD (0)
          DLOAD (1)
          PUTFIELD (Derive2, z, D)
          RETURN
        LABEL (L2)
    }

    public void <init>(java.lang.String x, int y, double z, kotlinx.parcelize.DirectInitializerMarker p3) {
        LABEL (L0)
          ALOAD (1)
          LDC (x)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (5)
          LDC ($marker)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (0)
          ALOAD (1)
          ILOAD (2)
          ALOAD (5)
          INVOKESPECIAL (Derive1, <init>, (Ljava/lang/String;ILkotlinx/parcelize/DirectInitializerMarker;)V)
          ALOAD (0)
          DLOAD (3)
          PUTFIELD (Derive2, z, D)
          RETURN
        LABEL (L1)
    }

    public int describeContents()

    public final double getZ()

    public void writeToParcel(android.os.Parcel out, int flags) {
        LABEL (L0)
          ALOAD (1)
          LDC (out)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (0)
          ALOAD (1)
          ILOAD (2)
          INVOKESPECIAL (Derive1, writeToParcel, (Landroid/os/Parcel;I)V)
          ALOAD (1)
          ALOAD (0)
          GETFIELD (Derive2, z, D)
          INVOKEVIRTUAL (android/os/Parcel, writeDouble, (D)V)
          RETURN
        LABEL (L1)
    }
}
