package Ġcom . x 2 5 6 n . desktop . cr put il Ċ Ċ import Ġandroidx . compose . runtime . Mutable State Ċ import Ġandroidx . compose . runtime . State Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġcom . x 2 5 6 n . desktop . cr put il . common . is Digit Ċ import Ġkotlinx . coroutines .* Ċ import Ġjava . awt . Toolkit Ċ import Ġjava . awt . datat rans fer . String Selection Ċ import Ġjava . net . Inet Address ĊĊ Ċ class ĠMain ViewModel Ġ{ ĊĠĠĠ Ġprivate Ġval Ġ_ state : ĠMutable State < Main State > Ġ= Ġmutable State Of ( Main State ()) ĊĠĠĠ Ġval Ġstate : ĠState < Main State > Ġ= Ġ_ state ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠScreen Logger ( ĊĠĠĠĠĠĠĠ Ġon LogError Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogs Ġ= Ġ_ state . value . logs . apply Ġ{ Ġadd ( Log Message . ErrorMessage ( it )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Log Warn Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogs Ġ= Ġ_ state . value . logs . apply Ġ{ Ġadd ( Log Message . Warning Message ( it )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Log Info Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogs Ġ= Ġ_ state . value . logs . apply Ġ{ Ġadd ( Log Message . Info Message ( it )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Log Success Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogs Ġ= Ġ_ state . value . logs . apply Ġ{ Ġadd ( Log Message . Success Message ( it )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Clear Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogs Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġon Resolve Host ( ip : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . IO ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġstate . value . result . map Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDisplay Result Item . Answer Up Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . ip Ġ== Ġip ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġresolve Host ( item . ip ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( host Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . copy ( host Ġ= Ġ"- ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . copy ( host Ġ= Ġhost ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDisplay Result Item . Answer Down Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . ip Ġ== Ġip ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġresolve Host ( item . ip ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( host Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . copy ( host Ġ= Ġ"- ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . copy ( host Ġ= Ġhost ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġresolve Host ( ip : ĠString ): ĠString ? Ġ= ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaddr Ġ= ĠInet Address . get ByName ( ip ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ip Ġ== Ġaddr . host Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddr . host Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġon Source Changed ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon An al ize Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= ĠMain State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġ= Ġstate . value . source , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= Ġstate . value . timeout , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( state . value . source . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġ" ÐĿ ÐµÐ¼ Ð° ÑĶ ĠÐ² Ñħ Ñĸ Ð´ Ð½Ð¸ Ñħ ĠÐ´Ð°Ð½ Ð½Ð¸ Ñħ !" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġp inger Ġ= ĠPort P inger ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= Ġlogger , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonStart Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠScreen Mode . PROGRESS ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Progress Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Finish Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠScreen Mode . MAIN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . IO ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp inger . anal ize ( state . value . source , Ġstate . value . timeout )?. let Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Panel Ġ= ĠActive Panel . RESULT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġ" ÐĿ Ð°ÑĤ Ð¸Ñģ Ð½Ñĸ ÑĤÑĮ ĠÐ½Ð° Ġip ĠÐ° Ð± Ð¾ ĠÐ¿ Ð¾ÑĢ ÑĤ ĠÑ ī Ð¾Ð± ĠÑģÐº Ð¾Ð¿ Ñĸ Ñİ Ð² Ð°ÑĤ Ð¸ ĠÑ Ĺ Ñħ . ĠÐĿ Ð°ÑĤ Ð¸Ñģ Ð½Ñĸ ÑĤÑĮ ĠÐ½Ð° ĠÐ· Ð¾Ð±ÑĢÐ°Ð¶ ÐµÐ½ Ð½Ñı ĠÐ¼ÐµÐ½ Ñİ Ġ( Ð± Ñĸ Ð»Ñı ĠIP ) ĠÑ ī Ð¾Ð± ĠÑģÐº Ð¾Ð¿ Ñĸ Ñİ Ð² Ð°ÑĤ Ð¸ ĠÐ²Ñģ Ñĸ ĠÐ´Ð°Ð½ Ñĸ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Timeout Change ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value . is Digit ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= Ġvalue . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Active Panel Change () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactive Panel Ġ= Ġif Ġ(_ state . value . active Panel Ġ== ĠActive Panel . SOURCE ) ĠActive Panel . RESULT Ġelse ĠActive Panel . SOURCE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon CopyTo Clipboard ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcopy To Clipboard ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy Green () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġstate . value . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < Display Result Item . Answer Up >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . ip Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ") ĊĠĠĠĠĠĠĠ Ġcopy To Clipboard ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy Green With Ports () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġstate . value . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < Display Result Item . Answer Up >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ it . ip }:${ it . port }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ") ĊĠĠĠĠĠĠĠ Ġcopy To Clipboard ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy Green Custom () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠScreen Mode . CUSTOM _ GREEN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġf om at Custom () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy Yellow () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġstate . value . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < Display Result Item . Answer Down >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . ip Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ") ĊĠĠĠĠĠĠĠ Ġcopy To Clipboard ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy Yellow With Ports () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġstate . value . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < Display Result Item . Answer Down >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ it . ip }:${ it . port }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ") ĊĠĠĠĠĠĠĠ Ġcopy To Clipboard ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy Yellow Custom () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠScreen Mode . CUSTOM _ YELLOW ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġf om at Custom () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy All () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġstate . value . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġis ĠDisplay Result Item . Answer Up Ġ|| Ġit Ġis ĠDisplay Result Item . Answer Down Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠDisplay Result Item . Answer Up ) Ġit . ip ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( it Ġis ĠDisplay Result Item . Answer Down ) Ġit . ip ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ") ĊĠĠĠĠĠĠĠ Ġcopy To Clipboard ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy All With Ports () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġstate . value . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠDisplay Result Item . Answer Up ) Ġ"${ it . ip }:${ it . port }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( it Ġis ĠDisplay Result Item . Answer Down ) Ġ"${ it . ip }:${ it . port }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ") ĊĠĠĠĠĠĠĠ Ġcopy To Clipboard ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Copy All Custom () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠScreen Mode . CUSTOM _ ALL ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġf om at Custom () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcopy To Clipboard ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToolkit . getDefault Toolkit (). system Clipboard ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Contents ( String Selection ( value ), Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Template Change ( template : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Template Ġ= Ġtemplate ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġf om at Custom () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġf om at Custom () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemplate Ġ= Ġstate . value . custom Template ĊĠĠĠĠĠĠĠ Ġval Ġcustom Value Ġ= Ġwhen Ġ( state . value . mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScreen Mode . CUSTOM _ GREEN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . value . result . filter Is Instance < Display Result Item . Answer Up >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġformat With Template ( it . ip , Ġit . port , Ġtemplate ) Ġ}. join ToString ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScreen Mode . CUSTOM _ YELLOW Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . value . result . filter Is Instance < Display Result Item . Answer Down >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġformat With Template ( it . ip , Ġit . port , Ġtemplate ) Ġ}. join ToString ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScreen Mode . CUSTOM _ ALL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . value . result . filter Ġ{ Ġit Ġis ĠDisplay Result Item . Answer Up Ġ|| Ġit Ġis ĠDisplay Result Item . Answer Down Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ("") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDisplay Result Item . Answer Up Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat With Template ( it . ip , Ġit . port , Ġtemplate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDisplay Result Item . Answer Down Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat With Template ( it . ip , Ġit . port , Ġtemplate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġ" ÐĿ ÐµÐ² Ñĸ Ð´ Ð¾Ð¼ Ð¸Ð¹ ĠÑĢ ÐµÐ¶ Ð¸Ð¼ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Template Ġ= Ġtemplate , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Value Ġ= Ġcustom Value ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformat With Template ( ip : ĠString , Ġport : ĠInt , Ġtemplate : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġtemplate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("# IP ", Ġip ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("# PORT ", Ġport . toString ()) ĊĊĠĠĠ Ġfun Ġon Cancel Custom () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= Ġ_ state . value . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠScreen Mode . MAIN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }