package test

public open class BaseClassTypeArguments</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.A2<B!, kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!>, test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>)>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, B!, @org.jetbrains.annotations.NotNull B> {
    public constructor BaseClassTypeArguments</*0*/ B : kotlin.Any!>()

    public/*package*/ open class BaseClassTypeArguments2</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.A2<B!, kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!> {
        public/*package*/ constructor BaseClassTypeArguments2</*0*/ B : kotlin.Any!>()
    }

    public/*package*/ open inner class Basic1 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.I1<@org.jetbrains.annotations.NotNull kotlin.String> {
        public/*package*/ constructor Basic1()
    }

    public/*package*/ open inner class Basic2 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.A1<@org.jetbrains.annotations.NotNull kotlin.String> {
        public/*package*/ constructor Basic2()
    }

    public/*package*/ open inner class ImplementedInterfacesTypeArguments</*0*/ B : kotlin.Any!> /*captured type parameters: /*1*/ B : kotlin.Any!*/ : test.I1<test.I2<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>)>!, test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.I2<B!, kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!> {
        public/*package*/ constructor ImplementedInterfacesTypeArguments</*0*/ B : kotlin.Any!>()

        public open inner class BaseClassTypeArguments1</*0*/ B : kotlin.Any!> /*captured type parameters: /*1*/ B : kotlin.Any!, /*2*/ B : kotlin.Any!*/ : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!, test.A2<B!, kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!> {
            public constructor BaseClassTypeArguments1</*0*/ B : kotlin.Any!>()
        }
    }
}
