code: def test_clsd017_clientside_serverside_shared_input_with_promise(
      dash_duo,
  ):
      lock = Lock()
      lock.acquire()
  
      app = Dash(__name__, assets_folder="assets")
  
      app.layout = html.Div(
          [
              html.Div(id="input", children=["initial"]),
              html.Div(id="clientside-div"),
              html.Div(id="serverside-div"),
          ]
      )
  
      app.clientside_callback(
          ClientsideFunction(
              namespace="clientside",
              function_name="non_delayed_promise",
          ),
          Output("clientside-div", "children"),
          Input("input", "children"),
      )
  
      @app.callback(
          Output("serverside-div", "children"),
          Input("input", "children"),
      )
      def callback(value):
          with lock:
              return "serverside-" + value[0] + "-deferred"
  
      dash_duo.start_server(app)
  
      dash_duo.wait_for_text_to_equal(
          "#clientside-div", "clientside-initial"
      )
      lock.release()
      dash_duo.wait_for_text_to_equal(
          "#serverside-div", "serverside-initial-deferred"
      )
  
imports: from multiprocessing import Value, Lock
  from dash import Dash, Input, Output, State, ClientsideFunction, ALL, html, dcc
  from selenium.webdriver.common.keys import Keys
label_desc: Use image node_id 16 for calling a global function with example usage: test_clsd017_clientside_serverside_shared_input_with_promise(dash_duo) and returns: unknown