package Ġde . paul wo itas che k . chapter reader . misc Ċ Ċ import Ġjava . io . EOF Exception Ċ import Ġjava . io . InputStream Ċ Ċ internal Ġfun ĠInputStream . skip Bytes ( number : ĠInt ) Ġ= ĠIO Utils . skip Fully ( this , Ġnumber . to Long ()) Ċ Ċ internal Ġfun ĠInputStream . read Amount Of Bytes ( number : ĠInt ): ĠByteArray Ġ{ ĊĠ Ġval Ġbuf Ġ= ĠByteArray ( number ) ĊĠ Ġvar Ġindex Ġ= Ġ 0 ĊĠ Ġwhile Ġ( index Ġ< Ġnumber ) Ġ{ ĊĠĠĠ Ġval Ġread Ġ= Ġread ( buf , Ġindex , Ġnumber Ġ- Ġindex ) ĊĠĠĠ Ġif Ġ( read Ġ== Ġ- 1 ) Ġthrow ĠEOF Exception () ĊĠĠĠ Ġindex Ġ+= Ġread ĊĠ Ġ} ĊĠ Ġreturn Ġbuf Ċ } Ċ Ċ internal Ġfun ĠInputStream . read UInt 8 (): ĠInt Ġ{ ĊĠ Ġval Ġres Ġ= Ġread () ĊĠ Ġif Ġ( res Ġ== Ġ- 1 ) Ġthrow ĠEOF Exception () ĊĠ Ġreturn Ġres Ċ } Ċ Ċ internal Ġfun ĠInputStream . read Le UInt 3 2 (): ĠLong Ġ{ ĊĠ Ġval Ġbuf Ġ= Ġread Amount Of Bytes ( 4 ) ĊĠ Ġreturn Ġbuf [ 0 ]. to UL ong () Ġor ĊĠĠĠĠĠ Ġ( buf [ 1 ]. to UL ong () Ġshl Ġ 8 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 2 ]. to UL ong () Ġshl Ġ 1 6 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 3 ]. to UL ong () Ġshl Ġ 2 4 ) Ċ } Ċ Ċ internal Ġfun ĠInputStream . read Le Int 3 2 (): ĠInt Ġ{ ĊĠ Ġval Ġbuf Ġ= Ġread Amount Of Bytes ( 4 ) ĊĠ Ġreturn Ġbuf [ 0 ]. to UInt () Ġor ĊĠĠĠĠĠ Ġ( buf [ 1 ]. to UInt () Ġshl Ġ 8 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 2 ]. to UInt () Ġshl Ġ 1 6 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 3 ]. to UInt () Ġshl Ġ 2 4 ) Ċ } Ċ Ċ internal Ġfun ĠInputStream . read Le Int 6 4 (): ĠLong Ġ{ ĊĠ Ġval Ġbuf Ġ= Ġread Amount Of Bytes ( 8 ) ĊĠ Ġreturn Ġbuf [ 0 ]. to UL ong () Ġor ĊĠĠĠĠĠ Ġ( buf [ 1 ]. to UL ong () Ġshl Ġ 8 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 2 ]. to UL ong () Ġshl Ġ 1 6 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 3 ]. to UL ong () Ġshl Ġ 2 4 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 4 ]. to UL ong () Ġshl Ġ 3 2 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 5 ]. to UL ong () Ġshl Ġ 4 0 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 6 ]. to UL ong () Ġshl Ġ 4 8 ) Ġor ĊĠĠĠĠĠ Ġ( buf [ 7 ]. to UL ong () Ġshl Ġ 5 6 ) Ċ } Ċ Ċ internal Ġfun ĠByteArray . startsWith ( prefix : ĠByteArray ): ĠBoolean Ġ{ ĊĠ Ġif Ġ( this . size Ġ< Ġprefix . size ) Ġreturn Ġfalse ĊĠ Ġreturn Ġprefix . with Index (). all Ġ{ Ġ( i , Ġv ) Ġ-> Ġv Ġ== Ġthis [ i ] Ġ} Ċ } Ċ Ċ internal Ġfun ĠByte . to UInt (): ĠInt Ġ= Ġto Int () Ġand Ġ 0 xFF Ċ internal Ġfun ĠByte . to UL ong () Ġ= Ġto Long () Ġand Ġ 0 xFF L ĊĊ