    if next(azureutil.list_all_blobs(service, "openpilotci", prefix=key_prefix), None) is not None:
      return True
  
    print(f"Uploading {route}")
    for (source_account, source_bucket), source_key in zip(SOURCES, source_keys):
      print(f"Trying {source_account}/{source_bucket}")
      cmd = [
        "azcopy",
        "copy",
        f"https://{source_account}.blob.core.windows.net/{source_bucket}/{key_prefix}?{source_key}",
 
</s> remove     self.buckets_min_points = dict(zip(x_bounds, min_points))
 </s> add     self.buckets_min_points = dict(zip(x_bounds, min_points, strict=True)) </s> remove         for _, f in zip(range(1000), d):
 </s> add         for _, f in zip(range(1000), d, strict=False): </s> remove ignore = ["W292", "E741", "E402", "C408", "ISC003", "B027", "B024", "B905"]
 </s> add ignore = ["W292", "E741", "E402", "C408", "ISC003", "B027", "B024"] </s> remove   chunk_sizes = {t.sha: sz for (t, sz) in zip(to, szs)}
 </s> add   chunk_sizes = {t.sha: sz for (t, sz) in zip(to, szs, strict=True)} </s> remove   for edge, std in zip(m.roadEdges, m.roadEdgeStds):
 </s> add   for edge, std in zip(m.roadEdges, m.roadEdgeStds, strict=True):
  for (source_account, source_bucket), source_key in zip(SOURCES, source_keys, strict=True):
    if next(azureutil.list_all_blobs(service, "openpilotci", prefix=key_prefix), None) is not None:
      return True
  
    print(f"Uploading {route}")
  for (source_account, source_bucket), source_key in zip(SOURCES, source_keys, strict=True):
      print(f"Trying {source_account}/{source_bucket}")
      cmd = [
        "azcopy",
        "copy",
        f"https://{source_account}.blob.core.windows.net/{source_bucket}/{key_prefix}?{source_key}",
keep keep keep keep replace keep keep keep keep keep
 Ruff: b905 (strict zip) (#29336)

* added mutable default args

* most of the Bs

* add comment about lrucache

* b905 
selfdrive/test/update_ci_routes.py