package Ġbit shares kit . models Ċ Ċ import Ġbit shares kit . extensions . build JsonObject Ċ import Ġbit shares kit . extensions . opt Graph ene Time Ċ import Ġbit shares kit . extensions . opt UInt Ċ import Ġbit shares kit . objects . Graph ene Serializable Ċ import Ġkotlinx . io . core . build Packet Ċ import Ġkotlinx . io . core . read Bytes Ċ import Ġorg . java _ json . JSONObject Ċ import Ġjava . util .* Ċ Ċ data Ġclass ĠLinear V esting Policy Initializer ( ĊĠĠĠ Ġval Ġbegin Timestamp : ĠDate , ĊĠĠĠ Ġval Ġv esting Cl iff Seconds : ĠUInt , ĊĠĠĠ Ġval Ġv esting Duration Seconds : ĠUInt ĊĠĠĠ Ġ): ĠGraph ene Serializable Ġ{ Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġbegin _ timestamp : Ġtime _ point _ sec , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġv esting _ cl iff _ seconds : Ġuint 3 2 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġv esting _ duration _ seconds : Ġuint 3 2 ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ BEGIN _ TIMESTAMP Ġ= Ġ" begin _ timestamp " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ VE ST ING _ CLI FF _ SECONDS Ġ= Ġ" v esting _ cl iff _ seconds " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ VE ST ING _ DURATION _ SECONDS Ġ= Ġ" v esting _ duration _ seconds " ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( raw Json : ĠJSONObject ): ĠLinear V esting Policy Initializer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLinear V esting Policy Initializer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw Json . opt Graph ene Time ( KEY _ BEGIN _ TIMESTAMP ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw Json . opt UInt ( KEY _ VE ST ING _ CLI FF _ SECONDS ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw Json . opt UInt ( KEY _ VE ST ING _ DURATION _ SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġto ByteArray (): ĠByteArray Ġ= Ġbuild Packet Ġ{ ĊĊĠĠĠ Ġ}. read Bytes () ĊĊĠĠĠ Ġoverride Ġfun ĠtoJson Element (): ĠJSONObject Ġ= Ġbuild JsonObject Ġ{ ĊĊĊĠĠĠ Ġ} Ċ Ċ }