package Ġdev . mar cel log al hard o . ret ained . core . internal Ċ Ċ import Ġandroidx . lifecycle . ViewModel Store Owner Ċ import Ġandroidx . saved state . Saved State Registry Owner Ċ import Ġdev . mar cel log al hard o . ret ained . core . Find Default Args Ċ import Ġdev . mar cel log al hard o . ret ained . core . Ret ained Ċ import Ġdev . mar cel log al hard o . ret ained . core . Ret ained Entry Ċ import Ġkotlin . reflect . K Class Ċ import Ġkotlin . reflect . K Property Ċ Ċ @ Published Api Ċ internal Ġclass ĠLazy Ret ained < out ĠT Ġ: ĠAny >( ĊĠĠĠ Ġkey : ĠString , ĊĠĠĠ Ġretained Class : ĠK Class < T >, ĊĠĠĠ Ġfind ViewModel Store Owner : Ġ() Ġ-> ĠViewModel Store Owner , ĊĠĠĠ Ġfind Saved State Registry Owner : Ġ() Ġ-> ĠSaved State Registry Owner , ĊĠĠĠ Ġfind Default Args : ĠFind Default Args ? Ġ= Ġnull , ĊĠĠĠ Ġinstantiate : Ġ( Ret ained Entry ) Ġ-> ĠT , Ċ ) Ġ: ĠRet ained < T > Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġvalue : ĠT Ġby Ġlazy ( Lazy Thread Safety Mode . NONE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġretained Ġ= ĠE ager Ret ained ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretained Class Ġ= Ġretained Class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Store Owner Ġ= Ġfind ViewModel Store Owner (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsaved State Registry Owner Ġ= Ġfind Saved State Registry Owner (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Args Ġ= Ġfind Default Args ?. invoke (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstantiate Ġ= Ġinstantiate ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn @ lazy Ġretained . value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠAny ?, Ġproperty : ĠK Property < *> ): ĠT Ġ= Ġvalue Ċ } Ċ