package

public val </*0*/ K> K?.vfoo0: Foo<Bar<K>>
public val </*0*/ K> K?.vfoo1: OutBar<Bar<out OutBar<K>>>
public val </*0*/ K> K?.vfoo2: OutBar<Bar<in OutBar<K>>>
public fun </*0*/ K> foo0(/*0*/ x: K?): Bar<K>
public fun </*0*/ K> foo1(/*0*/ x: K?): Foo<Bar<K>>
public fun </*0*/ T : J, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S, /*4*/ J : L, /*5*/ L> foo10(/*0*/ x: L?, /*1*/ y: Foo<Bar<T>>): Bar<M>
public fun </*0*/ T : J, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S, /*4*/ J : L, /*5*/ L> foo11(/*0*/ x: M?, /*1*/ y: Foo<Bar<T>>): Bar<L>
public fun </*0*/ K : kotlin.Any> foo12(/*0*/ x: K?): Bar<K>
public fun </*0*/ K : kotlin.Comparable<K>> foo14(/*0*/ x: K?): Bar<K> where K : kotlin.CharSequence
public fun </*0*/ K : T?, /*1*/ T> foo15(/*0*/ x: T): Bar<K>
public fun </*0*/ K : T?, /*1*/ T> foo16(/*0*/ x: K): Bar<T>
public fun </*0*/ K : T?, /*1*/ T> foo17(/*0*/ x: K): Bar<T>
public fun </*0*/ K> foo19(/*0*/ x: Bar<K>): K
public fun </*0*/ K, /*1*/ T : K> foo2(/*0*/ x: K?): Foo<Bar<T>>
public fun </*0*/ K> foo21(/*0*/ x: K?): Foo<Foo<OutBar<K>>>
public fun </*0*/ K> foo22(/*0*/ x: K?): Foo<Foo<InBar<K>>>
public fun </*0*/ K> foo23(/*0*/ x: K?): Foo<Foo<Bar<out K>>>
public fun </*0*/ K> foo24(/*0*/ x: K?): Foo<Foo<Bar<in K>>>
public fun </*0*/ K> foo25(/*0*/ x: K?): Bar<out K>
public fun </*0*/ K> foo26(/*0*/ x: K?): Foo<out Foo<out Bar<out K>>>
public fun </*0*/ K> foo27(/*0*/ x: K?): Foo<out Foo<Bar<out K>>>
public fun </*0*/ K> foo28(/*0*/ x: K?): OutBar<OutBar<OutBar<K>>>
public fun </*0*/ K> foo29(/*0*/ x: K?): OutBar<Bar<OutBar<K>>>
public fun </*0*/ T, /*1*/ K : T> foo3(/*0*/ x: K?): Foo<Bar<T>>
public fun </*0*/ K> foo30(/*0*/ x: K?): OutBar<Bar<out OutBar<K>>>
public fun </*0*/ K> foo31(/*0*/ x: K?): OutBarAliasUseSite<K> /* = Bar<out K> */
public fun </*0*/ K> foo32(/*0*/ x: K?): OutBarAliasDecSite<K> /* = OutBar<K> */
public fun </*0*/ K> foo33(/*0*/ x: K?): OutBar<InBar<OutBar<K>>>
public fun </*0*/ K> foo34(/*0*/ x: K?): OutBar<Bar<in OutBar<K>>>
public fun </*0*/ K> foo35(/*0*/ x: K?): InBar<K>
public fun </*0*/ K> foo36(/*0*/ x: K?): Bar<in K>
public fun </*0*/ K, /*1*/ T : Bar<K>> foo37(/*0*/ x: K?): T
public fun </*0*/ K, /*1*/ T : Bar<S>, /*2*/ S : Bar<K>> foo38(/*0*/ x: K?): T
public fun </*0*/ K, /*1*/ T : Bar<S>, /*2*/ S : Bar<K>> foo39(/*0*/ x: K?): Bar<T>
public fun </*0*/ K> foo4(/*0*/ x: K?): Foo<Bar<out K>>
public fun </*0*/ K, /*1*/ T : Bar<K>> foo40(/*0*/ x: K?): Bar<T>
public fun </*0*/ K, /*1*/ T : Bar<K>> foo41(/*0*/ x: K?): T
public fun </*0*/ K, /*1*/ S : K, /*2*/ T : IFoo<S>> foo42(/*0*/ x: K?): T
public fun </*0*/ K, /*1*/ S : K, /*2*/ T : IBar<S>> foo43(/*0*/ x: K?): T where T : IFoo<S>
public fun </*0*/ K, /*1*/ S : IFoo<kotlin.String>, /*2*/ T : S> foo44(/*0*/ x: K?): T where S : IBar<K>
public fun </*0*/ K, /*1*/ T : OutBar<S>, /*2*/ S : Bar<K>> foo45(/*0*/ x: K?): OutBar<T>
public fun </*0*/ K, /*1*/ T : OutBar<S>, /*2*/ S : OutBar<K>> foo46(/*0*/ x: K?): Bar<T>
public fun </*0*/ K, /*1*/ T : OutBar<S>, /*2*/ S : OutBar<K>> foo47(/*0*/ x: K?): OutBar<T>
public fun </*0*/ U : kotlin.Any> foo48(/*0*/ fn: () -> U?): Bar<U>
public fun </*0*/ K> foo5(/*0*/ x: K?): Bar<in K>
public fun </*0*/ K> foo6(/*0*/ x: K?): OutBar<K>
public fun </*0*/ K> foo7(/*0*/ x: K?): InBar<K>
public fun </*0*/ T, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S> foo8(/*0*/ x: T?): Foo<Bar<M>>
public fun </*0*/ T, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S> foo9(/*0*/ x: M?): Foo<Bar<T>>
public fun </*0*/ T> materialize(): T
public fun </*0*/ T : kotlin.Comparable<T>> nullsLast(): Foo<T?>
public fun </*0*/ K> take(/*0*/ x: Foo<K>, /*1*/ comparator: Foo<K>): Foo<K>
public fun </*0*/ L> test(): kotlin.Unit
public fun </*0*/ K : kotlin.Comparable<K>> Inv1<K>.assertStableSorted(): kotlin.Unit
public fun </*0*/ K : kotlin.Comparable<K>> Inv2<K>.assertStableSorted(): kotlin.Unit
public fun </*0*/ K> Bar<K>.foo20(): K

public final class Bar</*0*/ S> {
    public constructor Bar</*0*/ S>()
    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 Foo</*0*/ T> {
    public constructor Foo</*0*/ T>(/*0*/ x: 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 final class Foo13</*0*/ T> {
    public constructor Foo13</*0*/ T>(/*0*/ x: T)
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public final fun </*0*/ K : T> foo1(/*0*/ x: K?): Bar<T>
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface IBar</*0*/ S> {
    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 interface IFoo</*0*/ S> {
    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 InBar</*0*/ in S> {
    public constructor InBar</*0*/ in S>()
    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 Inv1</*0*/ T> {
    public constructor Inv1</*0*/ 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 final class Inv2</*0*/ T> {
    public constructor Inv2</*0*/ 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 final class Main</*0*/ L> {
    public constructor Main</*0*/ L>(/*0*/ x: L?, /*1*/ y: L)
    public final val vx01: Foo<Bar<L>>
    public final val vx02: Foo<Bar<L>>
    public final val vx11: OutBar<Bar<out OutBar<L & Any>>>
    public final val vx12: OutBar<Bar<out OutBar<L & Any>>>
    public final val vx21: OutBar<Bar<in OutBar<L>>>
    public final val vx22: OutBar<Bar<in OutBar<L>>>
    public final val x00: Bar<L>
    public final val x01: Bar<L>
    public final val x10: Foo<Bar<L>>
    public final val x100: Bar<L>
    public final val x101: Bar<L>
    public final val x11: Foo<Bar<L>>
    public final val x110: Bar<L>
    public final val x111: Bar<L>
    public final val x12: Foo<Bar<L & Any>>
    public final val x120: Bar<L & Any>
    public final val x121: Bar<L & Any>
    public final val x122: Bar<L>
    public final val x123: Bar<L>
    public final val x13: Foo<Bar<L & Any>>
    public final val x133: Bar<L?>
    public final val x135: Bar<L>
    public final val x137: Bar<L>
    public final val x138: Bar<L?>
    public final val x140: Bar<kotlin.String>
    public final val x141: Bar<kotlin.String>
    public final val x151: Bar<L?>
    public final val x152: Bar<L?>
    public final val x153: Bar<L?>
    public final val x154: Bar<L?>
    public final val x161: Bar<L>
    public final val x162: Bar<L>
    public final val x163: Bar<L & Any>
    public final val x164: Bar<L & Any>
    public final val x170: Bar<L>
    public final val x171: Bar<L>
    public final val x180: [Error type: Return type for function cannot be resolved]
    public final val x181: [Error type: Return type for function cannot be resolved]
    public final val x20: Foo<Bar<L>>
    public final val x200: L
    public final val x201: L
    public final val x21: Foo<Bar<L>>
    public final val x210: Foo<Foo<OutBar<L>>>
    public final val x211: Foo<Foo<OutBar<L>>>
    public final val x220: Foo<Foo<InBar<L>>>
    public final val x221: Foo<Foo<InBar<L>>>
    public final val x230: Foo<Foo<Bar<out L>>>
    public final val x231: Foo<Foo<Bar<out L>>>
    public final val x240: Foo<Foo<Bar<in L>>>
    public final val x241: Foo<Foo<Bar<in L>>>
    public final val x250: Bar<out L & Any>
    public final val x251: Bar<out L & Any>
    public final val x260: Foo<out Foo<out Bar<out L & Any>>>
    public final val x261: Foo<out Foo<out Bar<out L & Any>>>
    public final val x270: Foo<out Foo<Bar<out L>>>
    public final val x271: Foo<out Foo<Bar<out L>>>
    public final val x280: OutBar<OutBar<OutBar<L & Any>>>
    public final val x281: OutBar<OutBar<OutBar<L & Any>>>
    public final val x290: OutBar<Bar<OutBar<L>>>
    public final val x291: OutBar<Bar<OutBar<L>>>
    public final val x30: Foo<Bar<L>>
    public final val x300: OutBar<Bar<out OutBar<L & Any>>>
    public final val x301: OutBar<Bar<out OutBar<L & Any>>>
    public final val x31: Foo<Bar<L>>
    public final val x310: OutBarAliasUseSite<L & Any> /* = Bar<out L & Any> */
    public final val x311: OutBarAliasUseSite<L & Any> /* = Bar<out L & Any> */
    public final val x320: OutBarAliasDecSite<L & Any> /* = OutBar<L & Any> */
    public final val x321: OutBarAliasDecSite<L & Any> /* = OutBar<L & Any> */
    public final val x330: OutBar<InBar<OutBar<L>>>
    public final val x331: OutBar<InBar<OutBar<L>>>
    public final val x340: OutBar<Bar<in OutBar<L>>>
    public final val x341: OutBar<Bar<in OutBar<L>>>
    public final val x350: InBar<L>
    public final val x351: InBar<L>
    public final val x360: Bar<in L>
    public final val x361: Bar<in L>
    public final val x370: Bar<L>
    public final val x371: Bar<L>
    public final val x380: Bar<Bar<L>>
    public final val x381: Bar<Bar<L>>
    public final val x390: Bar<Bar<Bar<L>>>
    public final val x391: Bar<Bar<Bar<L>>>
    public final val x40: Foo<Bar<out L>>
    public final val x400: Bar<Bar<L>>
    public final val x401: Bar<Bar<L>>
    public final val x41: Foo<Bar<out L>>
    public final val x410: Bar<L>
    public final val x411: Bar<L>
    public final val x420: IFoo<L>
    public final val x421: IFoo<L>
    public final val x430: kotlin.Any
    public final val x431: kotlin.Any
    public final val x440: kotlin.Any
    public final val x441: kotlin.Any
    public final val x450: OutBar<OutBar<Bar<L>>>
    public final val x451: OutBar<OutBar<Bar<L>>>
    public final val x460: Bar<OutBar<OutBar<L>>>
    public final val x461: Bar<OutBar<OutBar<L>>>
    public final val x470: OutBar<OutBar<OutBar<L & Any>>>
    public final val x471: OutBar<OutBar<OutBar<L & Any>>>
    public final val x480: Bar<L>
    public final val x481: Bar<L>
    public final val x482: Bar<kotlin.Nothing>
    public final val x50: Bar<in L>
    public final val x51: Bar<in L>
    public final val x60: OutBar<L & Any>
    public final val x61: OutBar<L & Any>
    public final val x70: InBar<L>
    public final val x71: InBar<L>
    public final val x80: Foo<Bar<L>>
    public final val x81: Foo<Bar<L>>
    public final val x90: Foo<Bar<L>>
    public final val x91: Foo<Bar<L>>
    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 final fun </*0*/ R> takeLambda(/*0*/ block: () -> R): R
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class OutBar</*0*/ out S> {
    public constructor OutBar</*0*/ out S>()
    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 OutBarAliasDecSite</*0*/ T> = OutBar<T>
public typealias OutBarAliasUseSite</*0*/ T> = Bar<out T>
