package Ġxyz . v ae lot . du pe fl att ener Ċ Ċ import Ġxyz . v ae lot . du pe fl att ener . ds . HashTable DS Ċ import Ġxyz . v ae lot . du pe fl att ener . ds . IDS Ċ import Ġxyz . v ae lot . du pe fl att ener . hash . CRC 3 2 Hash Ċ import Ġxyz . v ae lot . du pe fl att ener . hash . I Hash Ċ import Ġxyz . v ae lot . du pe fl att ener . node . IN ode Ċ import Ġxyz . v ae lot . du pe fl att ener . node . Node Ċ import Ġxyz . v ae lot . du pe fl att ener . scan . ArrayList Scan Ċ import Ġxyz . v ae lot . du pe fl att ener . scan . IS can Ċ import Ġjava . io . File Ċ import Ġjava . io . Serializable Ċ import Ġkotlin . reflect . K Class Ċ import Ġkotlin . reflect . full . create Instance Ċ Ċ object ĠManager Ġ: ĠSerializable Ġ{ ĊĠĠĠ Ġ@ Jvm Static Ġprivate Ġval ĠserialVersionUID : ĠLong Ġ= Ġ 1 L ĊĊĠĠĠ Ġvar Ġds : ĠIDS Ġ= ĠHash Table DS () ĊĠĠĠ Ġ@ Transient Ġvar Ġscan Class : ĠK Class < out ĠI Scan > Ġ= ĠArrayList Scan :: class ĊĠĠĠ Ġ@ Transient Ġvar Ġnode Class : ĠK Class < out ĠI Node > Ġ= ĠNode :: class ĊĠĠĠ Ġ@ Transient Ġvar Ġhash Class : ĠK Class < out ĠI Hash > Ġ= ĠCRC 3 2 Hash :: class ĊĊĠĠĠ Ġfun Ġhash FromFile ( d : ĠAny ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= Ġhash Class . create Instance () ĊĠĠĠĠĠĠĠ Ġh . flush () ĊĠĠĠĠĠĠĠ Ġwhen Ġ( d ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFile Ġ-> Ġd ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> ĠFile ( d ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠ Ġ}. inputStream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. buffered ( 4 0 9 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( buf Ġin Ġit ) Ġh . update ( ByteArray ( 0 ) Ġ+ Ġbuf ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġh . bin Digest () ĊĠĠĠ Ġ} Ċ }