package Ġcom . s der col in . har mo lo id . core . model Ċ Ċ enum Ġclass ĠSol fe ge ( val ĠdisplayName : ĠString ) Ġ{ ĊĠĠĠ ĠDo (" Do "), ĊĠĠĠ ĠDo S (" Do âĻ ¯ "), ĊĠĠĠ ĠRe (" Re "), ĊĠĠĠ ĠRe S (" Re âĻ ¯ "), ĊĠĠĠ ĠMi (" Mi "), ĊĠĠĠ ĠFa (" Fa "), ĊĠĠĠ ĠFa S (" Fa âĻ ¯ "), ĊĠĠĠ ĠSol (" Sol "), ĊĠĠĠ ĠSol S (" Sol âĻ ¯ "), ĊĠĠĠ ĠLa (" La "), ĊĠĠĠ ĠLa S (" La âĻ ¯ "), ĊĠĠĠ ĠSi (" Si "); ĊĊĠĠĠ Ġfun Ġshift ( delta : ĠInt ): ĠSol fe ge Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġvalues (). size ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ordinal Ġ= Ġ( ordinal Ġ+ Ġdelta Ġ+ Ġsize ) Ġ% Ġsize ĊĠĠĠĠĠĠĠ Ġreturn Ġvalues ()[ target Ordinal ] ĊĠĠĠ Ġ} Ċ } Ċ