code: def vcr(vcr):
      def range_header_matcher(r1, r2):
          return r1.headers.get("Range", "") == r2.headers.get(
              "Range", ""
          )
  
      vcr.cassette_library_dir = CASSETTE_DIR
      vcr.path_transformer = VCR.ensure_suffix(".yaml")
      vcr.filter_headers = ["Set-Cookie"]
      vcr.before_record_request = scrub_request
      vcr.before_record_response = chain(
          scrub_response,
          scrub_string(
              rb"Request done in \S+ seconds.",
              b"Request done in ... seconds.",
          ),
          scrub_string(rb'"updated":"[^"]+"', b'"updated":"..."'),
          scrub_string(
              rb'totalResults":"\d{4,}"', b'totalResults":"10000"'
          ),
          scrub_string(
              rb"of \d{4,} total results", b"of 10000 total results"
          ),
          scrub_string(
              rb"&start=\d{4,}&rows=0", b"&start=10000&rows=0"
          ),
      )
      vcr.decode_compressed_response = True
      vcr.register_serializer(
          "custom", BinaryContentSerializer(CASSETTE_DIR)
      )
      vcr.serializer = "custom"
      vcr.register_matcher("range_header", range_header_matcher)
      vcr.match_on = [
          "method",
          "range_header",
          "host",
          "port",
          "path",
          "query",
          "body",
      ]
      return vcr
  
imports: import re
  import threading
  from datetime import datetime
  from functools import reduce
  from os import environ
  from os.path import abspath, dirname, exists, isfile, join
  import pytest
  import yaml
  from pytest_socket import disable_socket
  from vcr import VCR
  import sentinelsat
  from sentinelsat import SentinelAPI, geojson_to_wkt, read_geojson
  from .custom_serializer import BinaryContentSerializer
label_desc: Use image node_id 6 for calling a global function with example usage: vcr(vcr) and returns: vcr, unknown