package Ġpro . bi lo us . dif hub . load Ċ Ċ import Ġpro . bi lo us . dif hub . config . Config Ċ import Ġpro . bi lo us . dif hub . config . Config Reader Ċ Ċ class ĠSystems Loader Ġ{ ĊĊ ĉ var Ġmodel Loader : ĠI Model Loader Ġ= ĠModel Loader ( Def Loader ()) Ċ ĉ var Ġconfig Ġ= ĠConfig Reader . load Config () ĊĊ ĉ fun Ġload Systems (): ĠList < String > Ġ{ Ċĉ ĉ val Ġdif hub Ġ= Ġconfig (). dif hub ĊĊĉ ĉ val Ġmodels Ġ= Ġloader (). load Models ( dif hub . get Systems Url ()) Ċĉ ĉ val Ġsystems Ġ= Ġmutable ListOf < String >() ĊĊĉ ĉ models ?. forEach Ġ{ Ċĉĉ ĉ val Ġname Ġ= Ġit . identity . name Ċĉĉ ĉ if Ġ( name . isNotEmpty ()) Ġ{ Ċĉĉĉ ĉ systems . add ( name ) Ċĉĉ ĉ } Ċĉ ĉ } ĊĊĉ ĉ return Ġsystems Ċ ĉ } ĊĊ ĉ private Ġfun Ġconfig (): ĠConfig Ġ{ Ċĉ ĉ return Ġconfig Ċ ĉ } ĊĊ ĉ private Ġfun Ġloader (): ĠI Model Loader Ġ{ Ċĉ ĉ return Ġmodel Loader Ċ ĉ } Ċ } Ċ