package Ġcom . github . ot tx 9 6 . ivy . ext . github . config Ċ Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . google . gson . annotations . SerializedName Ċ import Ġjava . io . File Ċ import Ġjava . nio . charset . Charset Ċ Ċ data Ġclass ĠCredentials ( val Ġuser : ĠString , Ġval Ġo AuthToken : ĠString ){ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( json : ĠString ): ĠCredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGson Builder (). set Pretty Print ing (). create (). fromJson ( json , ĠCredentials :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( json : ĠFile ): ĠCredentials ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! json . exists ()) Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGson Builder (). set Pretty Print ing (). create (). fromJson ( json . inputStream (). reader ( charset Ġ= ĠCharset . forName (" UTF - 8 ")), ĠCredentials :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠtoJson (): ĠString Ġ= ĊĠĠĠĠĠĠĠ ĠGson Builder (). set Pretty Print ing (). create (). toJson ( this ) ĊĊĠĠĠ Ġfun ĠtoJson ( json : ĠFile ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġjson . output Stream (). writer ( charset (" UTF - 8 ")). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . write ( Gson Builder (). set Pretty Print ing (). create (). toJson ( this )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠ Ġ} Ċ }