package Ġorg . jetbrains . sk ia Ċ Ċ import Ġkotlin . jvm . Jvm Static Ċ Ċ class ĠI Size Ġinternal Ġconstructor ( val Ġwidth : ĠInt , Ġval Ġheight : ĠInt ) Ġ{ ĊĠĠĠ Ġfun Ġis Zero (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( width Ġ== Ġ 0 ) Ġ&& Ġ( height Ġ== Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠisEmpty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( width Ġ<= Ġ 0 ) Ġ|| Ġ( height Ġ<= Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġarea (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwidth Ġ* Ġheight ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( o : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( o Ġ=== Ġthis ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( o Ġ! is ĠI Size ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġother Ġ= Ġo ĊĠĠĠĠĠĠĠ Ġif Ġ(! other . can Equal ( this Ġas ĠAny )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( width Ġ!= Ġother . width ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġheight Ġ== Ġother . height ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġcan Equal ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġother Ġis ĠI Size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠPR IME Ġ= Ġ 5 9 ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ* ĠPR IME Ġ+ Ġwidth ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġ* ĠPR IME Ġ+ Ġheight ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" I Size (_ width =$ width , Ġ_ height =$ height )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmake ( w : ĠInt , Ġh : ĠInt ): ĠI Size Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠI Size ( w , Ġh ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmake Empty (): ĠI Size Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠI Size ( 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }