code: def get_missing_annotations(
      typed_signature: inspect.Signature, required: List[str]
  ) -> Tuple[Set[str], Set[str]]:
      """Get the missing annotations of a function
  
      Ignores the parameters with default values as they are not required to be annotated, but logs a warning.
      Args:
          typed_signature: The signature of the function with type annotations
          required: The required parameters of the function
  
      Returns:
          A set of the missing annotations of the function
      """
      all_missing = {
          k
          for k, v in typed_signature.parameters.items()
          if v.annotation is inspect.Signature.empty
      }
      missing = all_missing.intersection(set(required))
      unannotated_with_default = all_missing.difference(missing)
      return missing, unannotated_with_default
  
imports: import functools
  import inspect
  import json
  from logging import getLogger
  from typing import Any, Callable, Dict, ForwardRef, List, Optional, Set, Tuple, Type, TypeVar, Union
  from pydantic import BaseModel, Field
  from typing_extensions import Annotated, Literal, get_args, get_origin
  from ._pydantic import JsonSchemaValue, evaluate_forwardref, model_dump, model_dump_json, type2schema
label_desc: Use image node_id 9 for calling a global function with example usage: get_missing_annotations(typed_signature, required) and returns: missing,  unannotated_with_default