package Ġtech . k zen . auto . client . objects . ribbon Ċ Ċ import Ġkotlinx . css .* Ċ import Ġkotlinx . css . properties . Text Decoration Line Ċ import Ġkotlinx . css . properties . text Decoration Ċ import Ġorg . w 3 c . dom . HTMLElement Ċ import Ġreact .* Ċ import Ġreact . dom . attrs Ċ import Ġreact . dom . hr Ċ import Ġstyled . css Ċ import Ġstyled . styled A Ċ import Ġstyled . styled Div Ċ import Ġtech . k zen . auto . client . service . ClientContext Ċ import Ġtech . k zen . auto . client . service . global . Session Global Ċ import Ġtech . k zen . auto . client . service . global . Session State Ċ import Ġtech . k zen . auto . client . util . Navigation Route Ċ import Ġtech . k zen . auto . client . wrap . material . Material IconButton Ċ import Ġtech . k zen . auto . client . wrap . material . Material Menu Ċ import Ġtech . k zen . auto . client . wrap . material . Material MenuItem Ċ import Ġtech . k zen . auto . client . wrap . material . Play Arrow Icon Ċ import Ġtech . k zen . auto . client . wrap . react Style Ċ import Ġtech . k zen . auto . common . objects . document . script . Script Document Ċ import Ġtech . k zen . auto . common . util . Request Params Ċ import Ġtech . k zen . lib . common . model . document . Document Path Ċ import Ġtech . k zen . lib . common . model . structure . notation . Graph Not ation ĊĊ Ċ class ĠR ibbon Run Ġ( ĊĠĠĠĠĠĠĠ Ġprops : ĠProps Ċ ): ĊĠĠĠĠĠĠĠ ĠRP ure Component < R ibbon Run . Props , ĠR ibbon Run . State >( props ), ĊĠĠĠĠĠĠĠ ĠSession Global . Observer Ċ { ĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġrunning Key Ġ= Ġ" running " ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġclass ĠProps ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġaction Types : ĠList < Object Location >, Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġri bb on Groups : ĠList < R ibbon Group >, Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġnav Path : ĠDocument Path ?, Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġparameters : ĠRequest Params , Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġnotation : ĠGraph Not ation ĊĠĠĠ Ġ): Ġreact . Props ĊĊĊĠĠĠ Ġclass ĠState ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġactive : ĠSet < Document Path >, Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġselected Frame Paths : ĠList < Document Path >, Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġexecution Model : ĠImp er ative Model ?, ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġclient State : ĠSession State ?, ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdropdown Open : ĠBoolean ĊĠĠĠ Ġ): Ġreact . State ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġprivate Ġvar Ġdropdown Anchor Ref : ĠRef Object < HTMLElement > Ġ= Ġcreate Ref () ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġoverride Ġfun ĠState . init ( props : ĠProps ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġactive Ġ= Ġset Of () Ċ // ĠĠĠĠĠĠĠ Ġselected Frame Paths Ġ= ĠlistOf () Ċ // ĠĠĠĠĠĠĠ Ġexecution Model Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġclient State Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġdropdown Open Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġoverride Ġfun ĠcomponentDidMount () Ġ{ ĊĠĠĠĠĠĠĠ ĠClient Context . session Global . observe ( this ) Ċ Ċ // ĠĠĠĠĠĠĠ Ġasync Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Repository . observe ( this ) Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinitial Active Scripts Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . rest Client . running Hosts () Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Active Ġ= Ġstate . active Ġ+ Ġinitial Active Scripts Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠsetState Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Ġ= Ġnext Active Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠcomponentWill Unmount () Ġ{ Ċ // ĠĠĠĠĠĠĠ ĠClient Context . execution Repository . un observe ( this ) ĊĠĠĠĠĠĠĠ ĠClient Context . session Global . un observe ( this ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġoverride Ġfun Ġon Client State ( client State : ĠSession State ) Ġ{ ĊĠĠĠĠĠĠĠ ĠsetState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . client State Ġ= Ġclient State Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġactive Ġ= Ġclient State . running Hosts Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġselected Frame Paths Ġ= Ġclient State . imp er ative Model ?. frames ?. map Ġ{ Ġit . path Ġ} Ġ?: ĠlistOf () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( client State . active Host Ġ== Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient State . imp er ative Model ?. isActive () Ġ== Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Initial Running ( client State . imp er ative Model . frames [ 0 ]. path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( client State . active Host Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient State . imp er ative Model ?. isActive () Ġ!= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Stopped Running () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ // ĠĠĠ Ġoverride Ġsuspend Ġfun Ġbefore Execution ( host : ĠDocument Path , Ġobject Location : ĠObject Location ) Ġ{ Ċ // Ċ // ĠĠĠ Ġ} ĊĊ Ċ // ĠĠĠ Ġoverride Ġsuspend Ġfun Ġon Execution Model ( host : ĠDocument Path , Ġexecution Model : ĠImp er ative Model ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġactive Ġ= Ġstate . active Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġmodified Active Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( execution Model . isActive ()) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Ġ+ Ġhost Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Ġ- Ġhost Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ //// ĠĠĠĠĠĠĠ Ġconsole . log (" ^^^ Ġon Execution Model : Ġ" Ġ+ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ active Ġ/ Ġ$ modified Active Ġ- Ġ$ host Ġ- Ġ${ execution Model . isActive ()} Ġ- Ġ$ execution Model ") Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġprops . parameters . get ( running Key )?. let Ġ{ ĠDocument Path . parse ( it ) Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġselected Frame Paths Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( execution Model . frames . first OrNull ()?. path Ġ== Ġselected ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model . frames . map Ġ{ Ġit . path Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . selected Frame Paths Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( active Ġ!= Ġmodified Active Ġ|| Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . selected Frame Paths Ġ!= Ġselected Frame Paths ) Ċ // ĠĠĠĠĠĠĠ Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠsetState Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . active Ġ= Ġmodified Active Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selected Frame Paths Ġ= Ġselected Frame Paths Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( props . parameters . values . isEmpty ()) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Initial Running ( host ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġprivate Ġfun Ġon Initial Running ( host : ĠDocument Path ) Ġ{ ĊĠĠĠĠĠĠĠ ĠClient Context . navigation Global . parameter ize ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Params ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( running Key Ġto ĠlistOf ( host . asString ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Stopped Running () Ġ{ ĊĠĠĠĠĠĠĠ ĠClient Context . navigation Global . parameter ize ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Params ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Options Open () Ġ{ ĊĠĠĠĠĠĠĠ ĠsetState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdropdown Open Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Options Close () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġconsole . log (" ^^^^ ^^ Ġon Options Close ") ĊĠĠĠĠĠĠĠ ĠsetState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdropdown Open Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġhover Item Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġhover Options Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġoverride Ġfun ĠR Builder . render () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclient State Ġ= Ġstate . client State ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġactive Ġ= Ġclient State . running Hosts Ċ Ċ // ĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġprops . parameters . get ( running Key )?. let Ġ{ ĠDocument Path . parse ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġclient State . active Host ĊĠĠĠĠĠĠĠ Ġval Ġselected Frame Paths Ġ= Ġclient State . imp er ative Model ?. frames ?. map Ġ{ Ġit . path Ġ} Ġ?: ĠlistOf () ĊĊĠĠĠĠĠĠĠ Ġstyled Div Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġref Ġ= Ġdropdown Anchor Ref Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġref Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdropdown Anchor Ref Ġ= Ġit Ġas ? ĠHTMLElement Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ+" [ Run ]" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild ( Material IconButton :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( active . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" No Ġscripts Ġrunning " Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ:: on Options Open ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Running " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ:: on Options Open ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . black ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchild ( Play Arrow Icon :: class ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġchild ( Material Menu :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Ġ= Ġstate . dropdown Open Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClose Ġ= Ġ:: on Options Cancel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClose Ġ= Ġ:: on Options Close ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanchor El Ġ= Ġdropdown Anchor Ref . current ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyled Div Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcss Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 1 6 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender Selected ( selected , Ġselected Frame Paths ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhr Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender Active Selection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient State . graph Definition Attempt . graph Structure . graph Not ation , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient State . navigation Route ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠR Builder . render Selected ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected : ĠDocument Path ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Frame Paths : ĠList < Document Path > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( selected Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Please Ġselect Ġa Ġrunning Ġscript Ġ( below )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ+" Selected : Ġ${ selected . name }" ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( frame Path Ġin Ġselected Frame Paths ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyled Div Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġframe Path . asString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ frame Path . name . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠR Builder . render Active Selection ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected : ĠDocument Path ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Not ation : ĠGraph Not ation , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactive : ĠSet < Document Path >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Route : ĠNavigation Route ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscript Documents Ġ= Ġgraph Not ation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. documents ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. values ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĠScript Document . is Script (/* it . key , */ Ġit . value ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( script Ġin Ġscript Documents ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Ġactive . contains ( script . key ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ== Ġscript . key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Value Ġ= Ġscript . key . asString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyled A Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcss Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . inherit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Decoration ( Text Decoration Line . initial ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 1 0 0 . pct ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 1 0 0 . pct ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġpath Value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhref Ġ= ĠNavigation Route ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Route . document Path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Route . request Params . set ( running Key , Ġpath Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchild ( Material MenuItem :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ script . key . name . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }