(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} {[LIT_CHARS -u]}) (= scope= flags=0 words=[] bindings=[('ME', {[DQ [ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub 0]]})]]})]) (= scope= flags=2 words=[{[LIT_CHARS ME]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('KSADMIN', {[LIT_CHARS /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin]})]) (= scope= flags=0 words=[] bindings=[('KSPID', {[LIT_CHARS com.google.chrome_remote_desktop]})]) (FunctionDef usage [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub ME][LIT_CHARS " "]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "where is 'beta' or 'stable'"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) ) (FunctionDef log [] (List (= scope= flags=0 words=[] bindings=[('message', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub message]]}) (Com {[LIT_CHARS logger]} {[DQ [VarSub message]]}) ) ) (FunctionDef checkroot [] (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -u]})]]} {[DQ [LIT_CHARS 0]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "This script requires root permissions"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (FunctionDef main [] (List (= scope= flags=0 words=[] bindings=[('channel', {[DQ [VarSub 1]]})]) (If (DBracket {B? LOGICAL_BINARY_AND {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub channel]]} {[DQ [LIT_CHARS beta]]}} {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub channel]]} {[DQ [LIT_CHARS stable]]}}}) (List (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('channeltag', {[DQ [VarSub channel]]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub channel]]} {[DQ [LIT_CHARS stable]]}}) (= scope= flags=0 words=[] bindings=[('channeltag', {[DQ ]})]) ) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "Switching Chrome Remote Desktop channel to "][VarSub channel]]}) (Com {[VarSub KSADMIN]} {[LIT_CHARS --productid]} {[DQ [VarSub KSPID]]} {[LIT_CHARS --tag]} {[DQ [VarSub channeltag]]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub channel]]} {[DQ [LIT_CHARS stable]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "You're not done yet!"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "You must now UNINSTALL and RE-INSTALL the latest version of Chrome"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Remote Desktop to get your machine back on the stable channel."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Thank you!"]]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Switch to "][VarSub channel][LIT_CHARS " channel complete."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "You will download "][VarSub channel][LIT_CHARS " binaries during the next update check."]]}) ) ) ) ) (Com {[LIT_CHARS checkroot]}) (If (DBracket {B2 BINARY_STRING_LESS {[VarSub #]} {[LIT_CHARS 1]}}) (List (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS main]} {[DQ [VarSub @]]}) )