input: def classify_emails(df, test_size: float, random_state: int) -> float:
      """
      Classifies emails from a given dataset as spam or non-spam using an SVM classifier.
      The function takes a dataframe containing 'EmailText' and 'Label' as columns,
      performs a train-test split, vectorizes the text data, trains an SVM classifier,
      and returns the precision score of the model.
      
      >>> df = pd.DataFrame({
      ...     'EmailText': ['Free money!!!', 'Meeting at 3pm', 'Free entry in 2 a wkly comp to win FA Cup final tkts 21st May 2005'],
      ...     'Label': ['spam', 'non-spam', 'spam']
      ... })
      >>> classify_emails(df, 0.20, 42)
      1.0
      """
output:     from sklearn.model_selection import train_test_split
      from sklearn.feature_extraction.text import TfidfVectorizer
      from sklearn.svm import SVC
      from sklearn.metrics import precision_score
  
      X = df['EmailText']
      y = df['Label']
  
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state)
  
      vectorizer = TfidfVectorizer()
      X_train_vec = vectorizer.fit_transform(X_train)
      X_test_vec = vectorizer.transform(X_test)
  
      classifier = SVC(kernel='linear')
      classifier.fit(X_train_vec, y_train)
  
      y_pred = classifier.predict(X_test_vec)
  
      return precision_score(y_test, y_pred, pos_label='spam')