<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def gdbgui():
 """Render the main gdbgui interface"""

    interpreter = "lldb" if app.config["LLDB"] else "gdb"
    gdbpid = request.args.get("gdbpid", 0)
    initial_gdb_user_command = request.args.get("initial_gdb_user_command", "")

    add_csrf_token_to_session()

    THEMES = ["monokai", "light"]
    # fmt: off
    initial_data = {
        "csrf_token": session["csrf_token"],
        "gdbgui_version": __version__,
        "gdbpid": gdbpid,
        "initial_gdb_user_command": initial_gdb_user_command,
        "interpreter": interpreter,
        "initial_binary_and_args": app.config["initial_binary_and_args"],
        "p": pbkdf2_hex(str(app.config.get("l")), "Feo8CJol")
        if app.config.get("l")
        else "",
        "project_home": app.config["project_home"],
        "remap_sources": app.config["remap_sources"],
        "rr": app.config["rr"],
        "show_gdbgui_upgrades": app.config["show_gdbgui_upgrades"],
        "themes": THEMES,
        "signals": SIGNAL_NAME_TO_OBJ,
        "using_windows": USING_WINDOWS,
    }
    # fmt: on

    return render_template(
        "gdbgui.html",
        version=__version__,
        debug=app.debug,
        interpreter=interpreter,
        initial_data=initial_data,
        themes=THEMES,
    )