code: def find_all_best_thresh(
      main_eval, preds, exact_raw, f1_raw, na_probs, qid_to_has_ans
  ):
      """
      Find best threshholds to maximize all evaluation metrics.
      """
      best_exact, exact_thresh = _find_best_thresh(
          preds, exact_raw, na_probs, qid_to_has_ans
      )
      best_f1, f1_thresh = _find_best_thresh(
          preds, f1_raw, na_probs, qid_to_has_ans
      )
  
      main_eval["best_exact"] = best_exact
      main_eval["best_exact_thresh"] = exact_thresh
      main_eval["best_f1"] = best_f1
      main_eval["best_f1_thresh"] = f1_thresh
  
imports: import collections
  from typing import List
  import ijson
  import numpy
  from transformers.models.bert.tokenization_bert import BasicTokenizer
  from nemo.collections.nlp.data.data_utils import DataProcessor, check_chinese_char, normalize_answer, normalize_chinese_answer
  from nemo.utils import logging
label_desc: Use image node_id 9 for calling a global function with example usage: find_all_best_thresh(main_eval, preds, exact_raw, f1_raw, na_probs, qid_to_has_ans) without return types