code: def _bestmove_get_info(text):
          
          result_dict = Engine._get_info_pv(text)
          result_dict.update(Engine._get_info_score(text))
  
          single_value_fields = ['depth', 'seldepth', 'multipv', 'nodes', 'nps', 'tbhits', 'time']
          for field in single_value_fields:
              result_dict.update(Engine._get_info_singlevalue_subfield(text, field))
  
          return result_dict
docs: Parse stockfish evaluation output as dictionary.
  
          Examples of input:
  
          "info depth 2 seldepth 3 multipv 1 score cp -656 nodes 43 nps 43000 tbhits 0 \
          time 1 pv g7g6 h3g3 g6f7"
  
          "info depth 10 seldepth 12 multipv 1 score mate 5 nodes 2378 nps 1189000 tbhits 0 \
          time 2 pv h3g3 g6f7 g3c7 b5d7 d1d7 f7g6 c7g3 g6h5 e6f4"