package Ġcom . bos w el ja . ep hemer is . core . datetime Ċ Ċ import Ġkotlinx . datetime . DayOfWeek Ċ import Ġkotlinx . datetime . Month Ċ import Ġkotlinx . datetime . iso Day Number Ċ import Ġkotlinx . datetime . number Ċ Ċ private Ġval Ġmonth Count Ġ= ĠMonth . values (). size Ċ private Ġval Ġday OfWeek Count Ġ= ĠDay OfWeek . values (). size Ċ Ċ internal Ġfun ĠMonth . plus Months ( months : ĠInt ): ĠMonth Ġ{ ĊĠĠĠ Ġval Ġnew Number Ġ= Ġ( this . number Ġ+ Ġmonths ) Ġ% Ġmonth Count ĊĠĠĠ Ġreturn Ġif Ġ( new Number Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ ĠMonth ( new Number ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠMonth ( new Number Ġ+ Ġmonth Count ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠDay OfWeek . minus Days ( days : ĠLong ): ĠDay OfWeek Ġ{ ĊĠĠĠ Ġval Ġnew Number Ġ= Ġ( this . iso Day Number Ġ- Ġdays ) Ġ% Ġday OfWeek Count ĊĠĠĠ Ġreturn Ġif Ġ( new Number Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDay OfWeek ( new Number . toInt ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠDay OfWeek ( new Number . toInt () Ġ+ Ġday OfWeek Count ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġval ĠDay OfWeek . value : ĠInt ĊĠĠĠ Ġget () Ġ= Ġordinal Ġ+ Ġ 1 Ċ