package

package a {

    public open class a {
        public constructor a()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final val I: kotlin.Int
        public const final val I2: kotlin.Int = 168
    }

    public open class x {
        public constructor x()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final val I: kotlin.Int = 42
    }

    public interface y {
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final val I: kotlin.Int = 84
    }

    public open class y2 : a.y {
        public constructor y2()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final val I: kotlin.Int = 168
    }

    public open class z : a.x, a.y {
        public constructor z()
        public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
        public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
    }

    public open class z1 : a.y2, a.y {
        public constructor z1()
        public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 168
        public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 84
    }
}
