import Ġjava . lang . Class CastException Ċ Ċ fun ĠString . suffix ( startIndex : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġthis . substring ( startIndex , Ġthis . length ) Ċ } Ċ Ċ fun Ġ< T > ĠMutable List < T >. remove Last () Ġ{ ĊĠĠĠ Ġthis . remove At ( this . size Ġ- Ġ 1 ) Ċ } Ċ Ċ fun ĠString . index OrNull ( character : ĠChar ): ĠInt ? Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= Ġthis . indexOf ( character ) ĊĠĠĠ Ġif Ġ( result Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠT > ĠList <* >. cast OrNull (): ĠList < T >? Ġ{ ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit Ġis ĠT Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis Ġas ĠList < T > ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠT > ĠList <* >. cast Mutable OrNull (): ĠMutable List < T >? Ġ{ ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit Ġis ĠT Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( this Ġas ĠList < T >). to Mutable List () ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠK , Ġre ified ĠV > ĠMap < *, Ġ* >. cast OrNull () ĊĠĠĠ Ġ: ĠMap < K , ĠV >? Ċ { ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit . key Ġis ĠK Ġ&& Ġit . value Ġis ĠV Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis Ġas ĠMap < K , ĠV > ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠK , Ġre ified ĠV > ĠMap < *, Ġ* >. cast Mutable OrNull () ĊĠĠĠ Ġ: ĠMutable Map < K , ĠV >? Ċ { ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit . key Ġis ĠK Ġ&& Ġit . value Ġis ĠV Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( this Ġas ĠMap < K , ĠV >). to Mutable Map () ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠT > ĠList <* >. cast (): ĠList < T > Ġ{ ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit Ġis ĠT Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis Ġas ĠList < T > ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠClass CastException () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠT > ĠList <* >. cast Mutable (): ĠMutable List < T > Ġ{ ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit Ġis ĠT Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( this Ġas ĠList < T >). to Mutable List () ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠClass CastException () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠK , Ġre ified ĠV > ĠMap < *, Ġ* >. cast () ĊĠĠĠ Ġ: ĠMap < K , ĠV > Ċ { ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit . key Ġis ĠK Ġ&& Ġit . value Ġis ĠV Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis Ġas ĠMap < K , ĠV > ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠClass CastException () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ", Ġ" UNUSED _ PARAMETER ") Ċ inline Ġfun Ġ< re ified ĠK , Ġre ified ĠV > ĠMap < *, Ġ* >. cast Mutable () ĊĠĠĠ Ġ: ĠMutable Map < K , ĠV > Ċ { ĊĠĠĠ Ġif Ġ( this . all Ġ{ Ġit . key Ġis ĠK Ġ&& Ġit . value Ġis ĠV Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( this Ġas ĠMap < K , ĠV >). to Mutable Map () ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠClass CastException () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< Element > ĠList < Element >. sorted ( ĊĠĠĠ Ġis Ascending : Ġ( Element , ĠElement ) Ġ-> ĠBoolean ) ĊĠĠĠ Ġ: ĠMutable List < Element > Ċ { ĊĠĠĠ Ġval Ġcopy List Ġ= Ġthis . to Mutable List () ĊĠĠĠ Ġcopy List . quick sort ( 0 , Ġthis . size Ġ- Ġ 1 , Ġis Ascending ) ĊĠĠĠ Ġreturn Ġcopy List Ċ } Ċ Ċ fun Ġ< Element > ĠMutable List < Element >. quick sort ( ĊĠĠĠ Ġleft : ĠInt , ĊĠĠĠ Ġright : ĠInt , ĊĠĠĠ Ġis Ascending : Ġ( Element , ĠElement ) Ġ-> ĠBoolean ) Ċ { ĊĠĠĠ Ġif Ġ( left Ġ< Ġright ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpivot Ġ= Ġthis . partition ( left , Ġright , Ġis Ascending ) ĊĠĠĠĠĠĠĠ Ġthis . quick sort ( left , Ġpivot Ġ- Ġ 1 , Ġis Ascending ) ĊĠĠĠĠĠĠĠ Ġthis . quick sort ( pivot Ġ+ Ġ 1 , Ġright , Ġis Ascending ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< Element > ĠMutable List < Element >. partition ( ĊĠĠĠ Ġleft : ĠInt , ĊĠĠĠ Ġright : ĠInt , ĊĠĠĠ Ġis Ascending : Ġ( Element , ĠElement ) Ġ-> ĠBoolean ) ĊĠĠĠ Ġ: ĠInt Ċ { ĊĠĠĠ Ġval Ġpivot Ġ= Ġthis [ right ] ĊĊĠĠĠ Ġvar Ġi Ġ= Ġleft Ġ- Ġ 1 ĊĊĠĠĠ Ġvar Ġj Ġ= Ġleft ĊĠĠĠ Ġwhile Ġ( j Ġ<= Ġright Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Ascending ( this [ j ], Ġpivot )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ+= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaux Ġ= Ġthis [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ i ] Ġ= Ġthis [ j ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ j ] Ġ= Ġaux ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġj Ġ+= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġaux Ġ= Ġthis [ i Ġ+ Ġ 1 ] ĊĠĠĠ Ġthis [ i Ġ+ Ġ 1 ] Ġ= Ġthis [ right ] ĊĠĠĠ Ġthis [ right ] Ġ= Ġaux ĊĊĠĠĠ Ġreturn Ġi Ġ+ Ġ 1 Ċ } Ċ