package test

public interface DeeplySubstitutedClassParameter {

    public interface Middle</*0*/ E> : test.DeeplySubstitutedClassParameter.Super<E> {
        public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
        public abstract override /*1*/ fun foo(/*0*/ t: E): kotlin.Unit
    }

    public interface Sub : test.DeeplySubstitutedClassParameter.Middle<kotlin.String> {
        public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
        public abstract override /*1*/ fun foo(/*0*/ t: kotlin.String): kotlin.Unit
    }

    public interface Super</*0*/ T> {
        public abstract fun dummy(): kotlin.Unit
        public abstract fun foo(/*0*/ t: T): kotlin.Unit
    }
}
