(List
  (Com {[LIT_CHARS set]} {[LIT_CHARS -eu]}  )
  (= scope=<EAssignScope.GLOBAL 1> flags=2 words=[] bindings=[('CHROME_SNAPSHOTS', {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //storage.googleapis.com/chromium-browser-snapshots]})])
  (= scope=<EAssignScope.LOCAL 0> flags=0 words=[{[LIT_CHARS CHROME_URL]}] bindings=[])
  (= scope=<EAssignScope.LOCAL 0> flags=0 words=[{[LIT_CHARS CHROME_NAME]}] bindings=[])
  (= scope=<EAssignScope.LOCAL 0> flags=0 words=[{[LIT_CHARS CHROME_RELATIVE_BIN]}] bindings=[])
  (If
    (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub OSTYPE]]} {[DQ [LIT_CHARS linux]] [LIT_OTHER "*"]}})
    (List
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_URL', {[VarSub CHROME_SNAPSHOTS] [LIT_CHARS /Linux_x64]})])
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_NAME', {[LIT_CHARS chrome-linux]})])
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_RELATIVE_BIN', {[LIT_CHARS chrome]})])
    )
    (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub OSTYPE]]} {[DQ [LIT_CHARS darwin]] [LIT_OTHER "*"]}})
    (List
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_URL', {[VarSub CHROME_SNAPSHOTS] [LIT_CHARS /Mac]})])
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_NAME', {[LIT_CHARS chrome-mac]})])
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_RELATIVE_BIN', {[LIT_CHARS Chromium.app/Contents/MacOS/Chromium]})])
    )
    (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub OSTYPE]]} {[DQ [LIT_CHARS cygwin]]}})
    (List
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_URL', {[VarSub CHROME_SNAPSHOTS] [LIT_CHARS /Win]})])
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_NAME', {[LIT_CHARS chrome-win32]})])
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CHROME_RELATIVE_BIN', {[LIT_CHARS chrome.exe]})])
    )
    (ElseTrue)
    (List
      (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unknown platform: "][VarSub OSTYPE]]}
        <
        (DescriptorRedirectNode target={[LIT_CHARS 2]} <REDIR_GREATAND ">&"> 1),
        >
      )
      (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}      )
    )
  )
  (= scope=<EAssignScope.GLOBAL 1> flags=2 words=[] bindings=[('CHROME_CANARY_DIR', {[VarSub HOME] [LIT_CHARS /.chrome/canary]})])
  (= scope=<EAssignScope.GLOBAL 1> flags=2 words=[] bindings=[('CHROME_CANARY_BIN', {[VarSub CHROME_CANARY_DIR] [LIT_CHARS /] [VarSub CHROME_NAME] [LIT_CHARS /] [VarSub CHROME_RELATIVE_BIN]})])
  (= scope=<EAssignScope.GLOBAL 1> flags=2 words=[] bindings=[('CHROME_CANARY_REV_FILE', {[VarSub CHROME_CANARY_DIR] [LIT_CHARS /VERSION]})])
  (= scope=<EAssignScope.GLOBAL 1> flags=2 words=[] bindings=[('CHROME_REV', {[ComSub (Com {[LIT_CHARS curl]} {[LIT_CHARS -s]} {[VarSub CHROME_URL] [LIT_CHARS /LAST_CHANGE]})]})])
  (FunctionDef getCanary []
    (List
      (= scope=<EAssignScope.LOCAL 0> flags=0 words=[] bindings=[('existing_version', {[DQ ]})])
      (If
        (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_FILE_f {[VarSub CHROME_CANARY_REV_FILE]}} {B1 UNARY_FILE_x {[VarSub CHROME_CANARY_BIN]}}})
        (List
          (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('existing_version', {[ComSub (Com {[LIT_CHARS cat]} {[VarSub CHROME_CANARY_REV_FILE]})]})])
          (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Found cached Chrome Canary version: "][VarSub existing_version]]}          )
        )
      )
      (If
        (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub existing_version]]} {[DQ [VarSub CHROME_REV]]}})
        (List
          (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Downloading Chrome Canary version: "][VarSub CHROME_REV]]}          )
          (Com {[LIT_CHARS rm]} {[LIT_CHARS -fR]} {[VarSub CHROME_CANARY_DIR]}          )
          (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub CHROME_CANARY_DIR]}          )
          (= scope=<EAssignScope.LOCAL 0> flags=0 words=[] bindings=[('file', {[VarSub CHROME_NAME] [LIT_CHARS .zip]})])
          (Com {[LIT_CHARS curl]} {[VarSub CHROME_URL] [LIT_CHARS /] [VarSub CHROME_REV] [LIT_CHARS /] [VarSub file]} {[LIT_CHARS -o]} {[VarSub file]}          )
          (Com {[LIT_CHARS unzip]} {[VarSub file]} {[LIT_CHARS -d]} {[VarSub CHROME_CANARY_DIR]}          )
          (Com {[LIT_CHARS rm]} {[VarSub file]}          )
          (Com {[LIT_CHARS echo]} {[VarSub CHROME_REV]}
            <
            (FilenameRedirectNode filename={[VarSub CHROME_CANARY_REV_FILE]} <REDIR_GREAT ">"> 1),
            >
          )
        )
      )
    )
  )
  (Com {[LIT_CHARS getCanary]}
    <
    (DescriptorRedirectNode target={[LIT_CHARS 2]} <REDIR_GREATAND ">&"> 1),
    >
  )
  (Com {[LIT_CHARS echo]} {[VarSub CHROME_CANARY_BIN]}  )
)