anchor.diff:  
       final currentTimeMs = DateTime.now().millisecondsSinceEpoch;
       final activeSurveyRange = Range(
  -      _cachedSurvey.startDate.millisecondsSinceEpoch,
  -      _cachedSurvey.endDate.millisecondsSinceEpoch,
  +      _cachedSurvey!.startDate!.millisecondsSinceEpoch,
  +      _cachedSurvey!.endDate!.millisecondsSinceEpoch,
       );
       return activeSurveyRange.contains(currentTimeMs);
     }
   
  -  Future<DevToolsSurvey> _fetchSurveyContent() async {
  +  Future<DevToolsSurvey?> _fetchSurveyContent() async {
       try {
         final response = await get(_metadataUrl);
         if (response.statusCode == 200) {
  
positive.code:   }
  
    void _noThanksPressed({
      @required String message,
      @required BuildContext context,
    }) async {
      await server.setSurveyActionTaken();
      Notifications.of(context).dismiss(message);
    }
  
    void _takeSurveyPressed({
      @required String surveyUrl,
      @required String message,
      @required BuildContext context,
    }) async {
      await launchUrl(surveyUrl, context);
      await server.setSurveyActionTaken();
      Notifications.of(context).dismiss(message);
    }
  }
  
  
negative.code: // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  // ignore_for_file: import_of_legacy_library_into_null_safe
  
  import 'dart:convert';
  
  