package Ġdev . d res . data . serializers Ċ Ċ import Ġdev . d res . data . model . comp etition . Team Ċ import Ġdev . d res . data . model . comp etition . Team Group Ċ import Ġdev . d res . data . model . comp etition . Team Group Aggregation Ċ import Ġdev . d res . utilities . extensions . read UID Ċ import Ġdev . d res . utilities . extensions . write UID Ċ import Ġorg . map db . Data Input 2 Ċ import Ġorg . map db . Data Output 2 Ċ import Ġorg . map db . Serializer Ċ Ċ object ĠTeam Group Serializer Ġ{ ĊĠĠĠ Ġfun Ġserialize ( out : ĠData Output 2 , Ġvalue : ĠTeam Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout . write UID ( value . uid ) ĊĠĠĠĠĠĠĠ Ġout . write UTF ( value . name ) ĊĠĠĠĠĠĠĠ Ġout . pack Int ( value . teams . size ) ĊĠĠĠĠĠĠĠ Ġvalue . teams . forEach Ġ{ Ġout . write UID ( it . uid ) Ġ} ĊĠĠĠĠĠĠĠ Ġout . write UTF ( value . aggregation . name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdeserialize ( input : ĠData Input 2 , Ġall Teams : ĠList < Team >): ĠTeam Group Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuid Ġ= Ġinput . read UID () ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġinput . read UTF () ĊĠĠĠĠĠĠĠ Ġval Ġteams Ġ= Ġ( 0 Ġuntil Ġinput . unpack Int ()). map NotNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġteam Id Ġ= Ġinput . read UID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Teams . find Ġ{ Ġit . uid Ġ== Ġteam Id Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġaggregation Ġ= ĠTeam Group Aggregation . valueOf ( input . read UTF ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠTeam Group ( uid , Ġname , Ġteams , Ġaggregation ) ĊĠĠĠ Ġ} Ċ }