package Ġco . touch lab . crash k ios Ċ Ċ fun Ġtransform Exception ( t : ĠThrowable , Ġblock : Ġ( String , ĠString , Ġaddresses : ĠList < Long >) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġfun Ġthrowable Bo ilerplate ( frame String : ĠString , Ġlook For : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġ! frame String . contains (" kotlin .${ look For }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! frame String . contains ("${ look For }. < init >") ĊĊĠĠĠ Ġval Ġaddresses : ĠList < Long > Ġ= Ġt . get StackTrace Addresses () ĊĊĠĠĠ Ġvar Ġindex Ġ= Ġ 0 ĊĊĠĠĠ Ġval Ġstack Trace Ġ= Ġt . get StackTrace () ĊĠĠĠ Ġfor Ġ( element Ġin Ġstack Trace ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrowable Bo ilerplate ( element , Ġ" Exception ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrowable Bo ilerplate ( element , Ġ" Throwable ") ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġindex ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġtrimmed Addresses Ġ= Ġaddresses . sub List ( index , Ġaddresses . size ) ĊĊĠĠĠ Ġblock ( ĊĠĠĠĠĠĠĠ Ġt :: class . simple Name Ġ?: Ġ"( Unknown ĠType )", ĊĠĠĠĠĠĠĠ Ġt . message Ġ?: Ġ"", ĊĠĠĠĠĠĠĠ Ġtrimmed Addresses ĊĠĠĠ Ġ) Ċ }