anchor.diff:  import 'dart:io';
   
   import 'package:path/path.dart';
  +import 'package:process_run/shell.dart';
   import 'package:tekartik_io_utils/io_utils_import.dart';
   import 'package:process_run/cmd_run.dart';
  -
  -String get _gsUtilBinName => 'gsutil${Platform.isWindows ? '.cmd' : ''}';
  -void rawGsUtilVersionSync() {
  -  Process.runSync(_gsUtilBinName, ['--version']);
  -}
   
   String? _gsUtilExecutable;
   
   void findGsUtilSync() {
     if (_gsUtilExecutable == null) {
  -    String gsUtilExecutable;
  -    if (findRawGsUtilSync()) {
  -      gsUtilExecutable = _gsUtilBinName;
  -    } else {
  +    var gsUtilExecutable = whichSync('gsutil');
  +    if (gsUtilExecutable == null) {
         final gloudSdkDir = Platform.environment['TEKARTIK_GOOGLE_CLOUD_SDK_DIR'];
         if (gloudSdkDir != null) {
           gsUtilExecutable = join(gloudSdkDir, 'bin', 'gsutil');
  
positive.code:   findGsUtilSync();
    return _gsUtilExecutable;
  }
  
  bool findRawGsUtilSync() {
    try {
      rawGsUtilVersionSync();
      return true;
    } catch (_) {}
    return false;
  }
  
negative.code:         throw 'gsutil not found';
        }
      }
      _gsUtilExecutable = gsUtilExecutable;
    }
  }
  