package Ġcom . rar ible . protocol . nft . api . e 2 e . data Ċ Ċ import Ġcom . rar ible . core . common . now Millis Ċ import Ġcom . rar ible . ethereum . domain . Eth UInt 2 5 6 Ċ import Ġcom . rar ible . protocol . nft . core . model . Item Ċ import Ġscale ther . domain . Address Ċ import Ġjava . time . Instant Ċ import Ġjava . util . concurrent . Thread Local Random Ċ Ċ fun Ġcreate Item (): ĠItem Ġ{ ĊĠĠĠ Ġval Ġtoken Ġ= Ġcreate Address () ĊĠĠĠ Ġval Ġtoken Id Ġ= ĠE th UInt 2 5 6 . of ( Thread Local Random . current (). next Long ( 1 , Ġ 1 0 0 0 0 )) ĊĠĠĠ Ġreturn ĠItem ( ĊĠĠĠĠĠĠĠ Ġtoken Ġ= Ġtoken , ĊĠĠĠĠĠĠĠ Ġtoken Id Ġ= Ġtoken Id , ĊĠĠĠĠĠĠĠ Ġcre ators Ġ= ĠlistOf ( create Part (), Ġcreate Part ()), ĊĠĠĠĠĠĠĠ Ġsupply Ġ= ĠE th UInt 2 5 6 . of ( Thread Local Random . current (). next Long ( 1 , Ġ 1 0 0 0 0 )), ĊĠĠĠĠĠĠĠ Ġlazy Supply Ġ= ĠE th UInt 2 5 6 . of ( Thread Local Random . current (). next Long ( 1 , Ġ 1 0 0 0 0 )), ĊĠĠĠĠĠĠĠ Ġro y alt ies Ġ= Ġ( 1 .. Thread Local Random . current (). nextInt ( 1 , Ġ 2 0 )). map Ġ{ Ġcreate Part () Ġ}, ĊĠĠĠĠĠĠĠ Ġowners Ġ= Ġ( 1 .. Thread Local Random . current (). nextInt ( 1 , Ġ 2 0 )). map Ġ{ Ġcreate Address () Ġ}, ĊĠĠĠĠĠĠĠ Ġdate Ġ= Ġnow Millis () ĊĠĠĠ Ġ) Ċ } Ċ Ċ fun Ġcreate Item ( ĊĠĠĠ Ġtoken : ĠAddress , ĊĠĠĠ Ġcreator : ĠAddress ?, ĊĠĠĠ Ġowners : ĠList < Address >, ĊĠĠĠ Ġdeleted : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġdate : ĠInstant Ġ= Ġnow Millis () Ċ ) Ġ= ĠItem ( ĊĠĠĠ Ġtoken Ġ= Ġtoken , ĊĠĠĠ Ġtoken Id Ġ= ĠE th UInt 2 5 6 . of (( 1 L .. 1 0 0 0 L ). random ()), ĊĠĠĠ Ġcre ators Ġ= Ġcreator ?. let Ġ{ ĠlistOf ( create Part (). copy ( account Ġ= Ġit )) Ġ} Ġ?: ĠlistOf ( create Part (), Ġcreate Part ()), ĊĠĠĠ Ġsupply Ġ= ĠE th UInt 2 5 6 . ONE , ĊĠĠĠ Ġlazy Supply Ġ= ĠE th UInt 2 5 6 . ZERO , ĊĠĠĠ Ġro y alt ies Ġ= Ġempty List (), ĊĠĠĠ Ġowners Ġ= Ġowners , ĊĠĠĠ Ġdate Ġ= Ġdate , ĊĠĠĠ Ġdeleted Ġ= Ġdeleted Ċ ) Ċ