package Ġnet . dbl sa iko . h ct m . common . util Ċ Ċ import Ġkotlin . properties . ReadOnly Property Ċ Ċ inline Ġfun Ġ< T Ġ: ĠAny > Ġdeleg ated NotNull ( cross inline Ġgetter : Ġ() Ġ-> ĠT ?) Ġ= ĠReadOnly Property < Any ?, ĠT > Ġ{ Ġthis Ref , Ġproperty Ġ-> Ġgetter () Ġ?: Ġerror (" Can 't Ġretrieve Ġvalue Ġfrom Ġ${ property . name }; Ġnot Ġinitialized !") Ġ} Ċ Ċ fun Ġ< K , ĠR , ĠT > ĠMap < K , ĠReadOnly Property < R , ĠT >> . flatten () Ġ= ĠReadOnly Property < R , ĠMap < K , ĠT >> Ġ{ Ġthis Ref , Ġproperty Ġ-> Ġthis @ flatten . map Values Ġ{ Ġ(_, Ġit ) Ġ-> Ġit . getValue ( this Ref , Ġproperty ) Ġ} Ġ} Ċ Ċ fun Ġ< R , ĠT > ĠIterable < ReadOnly Property < R , ĠT >> . flatten () Ġ= ĠReadOnly Property < R , ĠList < T >> Ġ{ Ġthis Ref , Ġproperty Ġ-> Ġthis @ flatten . map Ġ{ Ġit . getValue ( this Ref , Ġproperty ) Ġ} Ġ}