package

public fun box(/*0*/ foo: Foo<*>): kotlin.Unit

public abstract class Bar</*0*/ T : Foo<out Bar<T!>!>!> {
    public constructor Bar</*0*/ T : Foo<out Bar<T!>!>!>()
    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
}

public abstract class Foo</*0*/ K : Bar<out Foo<K!>!>!> {
    public constructor Foo</*0*/ K : Bar<out Foo<K!>!>!>()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public/*package*/ abstract fun getTest(): kotlin.String!
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
