package Ġcom . fab iant arr ach . break inout . game . meta . under Ċ Ċ import Ġcom . fab iant arr ach . break inout . game . component . Shape Ċ import Ġcom . fab iant arr ach . break inout . game . component . circle . Circle Ċ import Ġcom . fab iant arr ach . break inout . game . component . rectangle . Rectangle Ċ import Ġcom . fab iant arr ach . break inout . game . meta . chain . Link Ċ Ċ class ĠCircle Rectangle Ġ: ĠLink < Shape > Ġ{ Ċ ĉ override Ġfun Ġresolve ( one : ĠShape , Ġanother : ĠShape , Ġthen : Ġ() Ġ-> ĠUnit , Ġor Else : Ġ() Ġ-> ĠUnit , Ġnext : Ġ() Ġ-> ĠLink < Shape >) Ġ{ Ċĉ ĉ if Ġ( one Ġis ĠRectangle Ġ&& Ġanother Ġis ĠCircle ) Ċĉĉ ĉ return Ġanother . if Under ( one , Ġthen , Ġor Else ) Ċĉ ĉ if Ġ( one Ġis ĠCircle Ġ&& Ġanother Ġis ĠRectangle ) Ċĉĉ ĉ return Ġone . if Under ( another , Ġthen , Ġor Else ) Ċĉ ĉ next (). resolve ( one , Ġanother , Ġthen , Ġor Else , Ġnext ) Ċ ĉ } Ċ Ċ }