package

internal final class Internal {
    public constructor Internal()
    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 final class Outer {
    public constructor Outer()
    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

    internal final class Internal {
        public constructor Internal()
        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
    }

    private final class Private {
        public constructor Private()
        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
    }

    protected final class Protected {
        public constructor Protected()
        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 typealias TestInternal1 = Outer.Internal
    protected typealias TestInternal2 = Outer.Internal
    internal typealias TestInternal3 = Outer.Internal
    private typealias TestInternal4 = Outer.Internal
    public typealias TestInternal5 = L<Outer.Internal>
    public typealias TestInternal6 = L<Outer.TestInternal1>
    public typealias TestPrivate1 = Outer.Private
    protected typealias TestPrivate2 = Outer.Private
    internal typealias TestPrivate3 = Outer.Private
    private typealias TestPrivate4 = Outer.Private
    public typealias TestPrivate5 = L<Outer.Private>
    public typealias TestPrivate6 = L<Outer.TestPrivate1>
    public typealias TestProtected1 = Outer.Protected
    protected typealias TestProtected2 = Outer.Protected
    internal typealias TestProtected3 = Outer.Protected
    private typealias TestProtected4 = Outer.Protected
    public typealias TestProtected5 = L<Outer.Protected>
    public typealias TestProtected6 = L<Outer.TestProtected1>
}

private final class Private {
    public constructor Private()
    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 typealias L</*0*/ T>  = kotlin.collections.List<T>
public typealias TestInternal1 = Internal
internal typealias TestInternal2 = Internal
private typealias TestInternal3 = Internal
public typealias TestInternal4 = L<Internal>
public typealias TestInternal5 = L<TestInternal1>
public typealias TestPrivate1 = Private
internal typealias TestPrivate2 = Private
private typealias TestPrivate3 = Private
public typealias TestPrivate4 = L<Private>
public typealias TestPrivate5 = L<TestPrivate1>
