class_docstr: LatestBlessedModelStrategy resolves the latest blessed Model artifact.
  
  Note that this ResolverStrategy is experimental and is subject to change in
  terms of both interface and implementation.
  
  Don't construct LatestBlessedModelStrategy directly, example usage:
  ```
    model_resolver = Resolver(
        strategy_class=LatestBlessedModelStrategy,
        model=Channel(type=Model),
        model_blessing=Channel(type=ModelBlessing),
    ).with_id('latest_blessed_model_resolver')
    model_resolver.outputs['model']
  ```
code: def _resolve(
      self,
      input_dict: Dict[str, List[types.Artifact]],
      model_channel_key: str,
      model_blessing_channel_key: str,
  ):
      all_models = input_dict[model_channel_key]
      all_models.sort(key=lambda a: a.id, reverse=True)
      all_model_blessings = input_dict[model_blessing_channel_key]
  
      # Makes a dict of {model_id : ModelBlessing artifact} for blessed models.
      all_blessed_model_ids = {
          a.get_int_custom_property(_CURRENT_MODEL_ID): a
          for a in all_model_blessings
          if a.get_int_custom_property(_BLESSED) == 1
      }
  
      result = {model_channel_key: [], model_blessing_channel_key: []}
      # Iterates all models, if blessed, set as result. As the model list was
      # sorted, it is guaranteed to get the latest blessed model.
      for model in all_models:
          if model.id in all_blessed_model_ids:
              result[model_channel_key] = [model]
              model_blessing = all_blessed_model_ids[model.id]
              result[model_blessing_channel_key] = [model_blessing]
              break
  
      return result
  
file_path: tfx/tfx/dsl/input_resolution/strategies/latest_blessed_model_strategy.py
imports: from typing import Dict, List, Optional
  from tfx import types
  from tfx.dsl.components.common import resolver
  from tfx.types import standard_artifacts
  from tfx.utils import doc_controls
  import ml_metadata
label_desc: Use image node_id 1 for calling the LatestBlessedModelStrategy obj's underlying member method code with example usage: obj._resolve(input_dict, model_channel_key, model_blessing_channel_key) and returns: result