code: def _micros_to_datetime(
      micros: int, orig_tz: Optional[tzinfo]
  ) -> datetime:
      """Restore times/datetimes to original timezone (dates are always naive)"""
      utc_dt = UTC_EPOCH + timedelta(microseconds=micros)
      # Add the original timezone. No conversion is required here,
      # since in the serialization, we also just replace the timestamp with UTC.
      return utc_dt.replace(tzinfo=orig_tz)
  
imports: from dataclasses import dataclass
  from datetime import date, datetime, time, timedelta, timezone, tzinfo
  from numbers import Integral, Real
  from textwrap import dedent
  from typing import TYPE_CHECKING, Any, List, Optional, Sequence, Tuple, TypeVar, Union, cast
  from typing_extensions import Final, TypeAlias
  from streamlit.elements.form import current_form_id
  from streamlit.elements.utils import check_callback_rules, check_session_state_rules, get_label_visibility_proto_value
  from streamlit.errors import StreamlitAPIException
  from streamlit.js_number import JSNumber, JSNumberBoundsException
  from streamlit.proto.Slider_pb2 import Slider
  from streamlit.runtime.metrics_util import gather_metrics
  from streamlit.runtime.scriptrunner import ScriptRunContext, get_script_run_ctx
  from streamlit.runtime.state import WidgetArgs, WidgetCallback, WidgetKwargs, get_session_state, register_widget
  from streamlit.runtime.state.common import compute_widget_id
  from streamlit.type_util import Key, LabelVisibility, maybe_raise_label_warnings, to_key
label_desc: Use image node_id 5 for calling a global function with example usage: _micros_to_datetime(micros, orig_tz) and returns: utc_dt