package Ġcom . github . al . m fs . io Ċ Ċ import Ġjava . io . InputStream Ċ Ċ class ĠDelegate InputStream ( ĊĠĠĠ Ġprivate Ġval Ġdelegate : ĠInputStream , ĊĠĠĠ Ġinitializer : Ġ( InputStream ) Ġ-> ĠUnit Ċ ) Ġ: ĠInputStream () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinitializer . invoke ( delegate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate . read () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread ( b : ĠByteArray ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate . read ( b ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread ( b : ĠByteArray , Ġoff : ĠInt , Ġlen : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate . read ( b , Ġoff , Ġlen ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġskip ( n : ĠLong ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate . skip ( n ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġavailable (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate . available () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmark ( read limit : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . mark ( read limit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . reset () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmark Supported (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate . mark Supported () ĊĠĠĠ Ġ} Ċ } Ċ