package Ġpw . bin om . db . tar an tool . protocol Ċ Ċ import Ġpw . bin om . db . tar an tool . T aran tool Exception Ċ Ċ internal Ġdata Ġclass ĠPackage ( val Ġheader : ĠMap < Int , ĠAny ? >, Ġval Ġbody : ĠMap < Int , ĠAny ?> ) Ġ{ ĊĊĠĠĠ Ġfun Ġassert Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġheader [ Key . CODE . id ] Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( code Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġbody [ Key . ERROR . id ] Ġas ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġif Ġ( message Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT aran tool Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT aran tool Exception ( message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġdata ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbody [ Key . DATA . id ] Ċ }