anchor.diff:  
     static const MALFORMED_SPEC = const _Unresolved._(
         'unrecognized dependency specification; replace with a supported one');
  -  static const STAR_PATH = const _Unresolved._(
  -      'replace "*" path with an explicit one');
  +  static const STAR_PATH_FOR_UNKNOWN_PACKAGE = const _Unresolved._(
  +      '"*" path unresolved using Bower registry: package not found');
  +  static const MALFORMED_BOWER_REGISTRY_INFO = const _Unresolved._(
  +      'Bower registry returned a malformed info for the package');
     static const VERSION_RANGE_UNRESOLVED = const _Unresolved._(
         'replace the version range with a pinned version in "dependencies" key '
         'or override it in "resolutions" key in top-level "bower.json"');
  
positive.code:       return _resolveWith(_Ignored.PER_CONFIG_DIRECTIVE);
      }
  
      if (fullPath == '*') {
        // Handle "*" in the dependency path.
        return _resolveWith(_Unresolved.STAR_PATH);
      }
  
      if (hash == 'master') {
        _resolvedDirectTag = 'master';
        return _resolveWith(_Resolved.USED_AS_IS);
      }
  
      semver.VersionConstraint constraint;
  
      if (hash == null || hash == 'latest') {
  
negative.code:     });
    }
  
    Future<List<Map<String, dynamic>>> _fetchTags() {
      return util.downloadFileViaXhr(getTagsUrl()).then((String tagsStr) {
        return JSON.decode(tagsStr);
      });
    }
  
    Future<_Resolution> _resolveWith(_Resolution resolution) {
      _resolution = resolution;
      _resolutionCompleter.complete(resolution);
      return _resolutionCompleter.future;
    }
  
    bool operator ==(_Package another) =>
        path == another.path && hash == another.hash;
  
    String getCloneUrl() => '$_GITHUB_ROOT_URL/$path/$resolvedTag';
  
    String getZipUrl() => '$_GITHUB_ROOT_URL/$path/archive/$resolvedTag.zip';
  
    String getRegistryInfoUrl() => '$_BOWER_REGISTRY_URL/$name';
  
    String getTagsUrl() => '$_GITHUB_API_ROOT_URL/$path/tags';
  
    String getSingleFileUrl(String remoteFilePath) =>
        '$_GITHUB_USER_CONTENT_URL/$path/$resolvedTag/$remoteFilePath';
  