input: Write a function to create a machine learning model using Support Vector Classifier (SVC) to categorize a dataset of records based on their features. The function should take a list of records where each record has a 'label' and 'features', train the model, and then return the predicted label for a given set of features. If the input dataset is empty, the function should return 'None'.
  assert categorize_records([ 
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [1, 0, 1]) == "banana"
  assert categorize_records([], [1, 0, 1]) == None
  assert categorize_records([ 
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
  ], [0, 1, 0]) == "banana"
  assert categorize_records([ 
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [0, 0, 1]) == "lemon"
  assert categorize_records([ 
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [1, 1, 0]) == "apple"
output: if not records:
      return None
  
  from sklearn.svm import SVC
  
  labels = [record['label'] for record in records]
  features = [record['features'] for record in records]
  
  model = SVC()
  model.fit(features, labels)
  
  return model.predict([new_features])[0]