package Ġio . github . binary foo . de coders Ċ Ċ import Ġio . github . binary foo . Decoded Data Ċ import Ġio . github . binary foo . Decoder Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠE MV ĠBook Ġ 3 Ġ( v 4 . 3 ) Ġ 1 0 . 2 ĠRead ĠApplication ĠData Ċ Ġ*/ Ċ class ĠApplication File Locator Decoder Ġ: ĠDecoder Ġ{ ĊĊĠ Ġoverride Ġfun Ġdecode ( input : ĠString , ĠstartIndex InBytes : ĠInt , Ġsession : ĠDecode Session ): ĠList < Decoded Data > Ġ{ ĊĠĠĠ Ġval Ġdecoded Ġ= ĠArrayList < Decoded Data >() ĊĠĠĠ Ġfor Ġ( offset Ġin Ġ 0 .. input . length Ġ- Ġ 1 Ġstep Ġ 8 ) Ġ{ ĊĠĠĠĠĠ Ġval Ġelement Ġ= Ġinput . substring ( offset , Ġoffset Ġ+ Ġ 8 ) ĊĠĠĠĠĠ Ġval Ġs fi Ġ= ĠInteger . parseInt ( element . substring ( 0 , Ġ 2 ), Ġ 1 6 ) Ġshr Ġ 3 ĊĠĠĠĠĠ Ġval Ġfirst Record Ġ= ĠInteger . parseInt ( element . substring ( 2 , Ġ 4 )) ĊĠĠĠĠĠ Ġval Ġlast Record Ġ= ĠInteger . parseInt ( element . substring ( 4 , Ġ 6 )) ĊĠĠĠĠĠ Ġval Ġdecoding Ġ= Ġ" S FI Ġ$ s fi Ġ" Ġ+ Ġ( if Ġ( last Record Ġ== Ġfirst Record ) Ġ" record Ġ$ first Record " Ġelse Ġ" records Ġ$ first Record -$ last Record ") ĊĠĠĠĠĠ Ġdecoded . add ( Decoded Data . primitive ("", Ġdecoding , ĠstartIndex InBytes Ġ+ Ġ( offset Ġ/ Ġ 2 ), ĠstartIndex InBytes Ġ+ Ġ( offset Ġ/ Ġ 2 ) Ġ+ Ġ 4 )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġdecoded ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġvalidate ( input : ĠString ?): ĠString ? Ġ{ ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget MaxLength (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ 0 ĊĠ Ġ} Ċ } Ċ